/* Search is a sibling of FnS, not a new visual system. Shared typography,
   navigation, image viewer and reveal behavior remain in their original files. */
.search-case-study{--case-blue:var(--portfolio-purple,#7c4dff);--case-blue-ink:#7350c5;--search-wash:#f3eeff}
.search-case-study .case-opening-grid{grid-template-columns:1fr 1.08fr;min-height:660px;gap:3%;padding-block:20px 55px}
.search-case-study .case-opening-copy{position:relative;z-index:3}
.search-case-study h1{font-size:clamp(4rem,7.9vw,7.25rem);white-space:nowrap}
.search-case-study .case-opening-copy>.case-kicker{margin-bottom:25px}
.search-case-study .case-subtitle{font-size:clamp(1.35rem,2.05vw,1.9rem)}
.search-hero-scene{aspect-ratio:.94}
.search-hero-scene .case-scene-aura{inset:6% -8% -12%;background:radial-gradient(ellipse,#e9e0fa 0,transparent 65%)}
.search-hero-scene .case-hero-preview{width:87%;left:11%;top:-3%}
.search-case-study .search-hero-scene .case-scene-note{top:3%;left:-7%;width:150px}
.search-hero-scene .case-scene-note .case-handwriting{color:var(--case-blue-ink);font-size:1.25rem}
.search-hero-scene .case-scene-note svg{stroke:var(--case-blue-ink);transform:rotate(-12deg);margin-left:25px}
.search-hero-leaf{position:absolute;width:22%;left:2%;bottom:18%;rotate:-18deg;filter:drop-shadow(0 12px 13px rgb(49 53 36 / 8%))}
.search-float-query{position:absolute;left:-5%;top:45%;display:flex;align-items:center;gap:14px;padding:17px 22px;border-radius:18px;background:#fff;box-shadow:0 15px 35px rgb(68 41 102 / 10%);rotate:-8deg;z-index:4;font-size:1.1rem}
.search-glass{display:inline-block;position:relative;flex:0 0 auto;width:19px;height:19px;border:1.8px solid currentColor;border-radius:50%;color:#8c7aaa}
.search-glass::after{content:"";position:absolute;right:-6px;bottom:-4px;width:9px;height:1.8px;background:currentColor;rotate:45deg;border-radius:2px}
.search-float-query{animation:search-float 6s ease-in-out infinite;animation-play-state:paused}
.search-hero-scene.is-motion-active .search-float-query{animation-play-state:running}
.search-case-study.case-motion-paused .search-float-query{animation-play-state:paused}
@keyframes search-float{50%{transform:translateY(-10px)}}
.search-project-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:32px 2% 50px}
.search-project-meta dt{color:var(--case-muted);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:13px}
.search-project-meta dd{font-size:1.25rem;font-weight:600;letter-spacing:-.02em}
.search-project-meta small{display:block;font-size:.8rem;line-height:1.5;font-weight:400;color:var(--case-muted);margin-top:9px;letter-spacing:0}
.search-case-study .search-ownership{max-width:960px;margin:15px auto 25px;padding:50px 25px 40px;text-align:center;background:radial-gradient(ellipse at 50% 50%,#f4effc,transparent 72%)}
.search-ownership>.case-kicker{margin:0 0 22px}
.search-case-study .search-ownership h2{font-size:clamp(2rem,3.7vw,3.3rem);line-height:1.18;letter-spacing:-.045em;margin:0}
.search-ownership h2 span{color:var(--case-blue-ink);position:relative}
.search-ownership h2 span::after{content:"";position:absolute;left:4%;right:1%;bottom:-9px;height:7px;border-top:2px solid #bca4e4;border-radius:50%;rotate:-1deg}
.search-case-study .search-ownership-scope{font-size:1rem;line-height:1.75;color:var(--case-muted);margin:30px 0 0}
.search-development-status{color:var(--case-blue-ink)}
.search-research-method{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:45px;margin:45px auto 60px;padding:0;list-style:none;max-width:940px}
.search-research-method li{min-width:0}
.search-method-number{display:block;font-size:.75rem;letter-spacing:.1em;color:var(--case-blue-ink);margin-bottom:20px}
.search-method-visual{height:112px;position:relative;margin-bottom:25px;width:180px;max-width:100%}
.search-method-visual--data{display:flex;align-items:flex-end;gap:10px;padding:0 12px 31px 0}
.search-method-visual--data i{display:block;width:27px;border-radius:7px 7px 2px 2px;background:#dacbef;height:32px}
.search-method-visual--data i:nth-child(2){height:49px;background:#bca2e4}
.search-method-visual--data i:nth-child(3){height:70px;background:#9774ce}
.search-method-visual--data span{position:absolute;bottom:0;left:0;color:var(--case-muted);font-size:.8rem}
.search-method-visual--people{width:135px;background:#f3eefb;border-radius:24px 24px 24px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.search-method-visual--people strong{font-size:2.7rem;font-weight:600;line-height:1.1;letter-spacing:0;color:var(--case-blue-ink)}
.search-method-visual--people span{font-size:.75rem;margin-top:8px;color:var(--case-muted)}
.search-method-visual--jobs{display:flex;flex-direction:column;justify-content:center;gap:12px}
.search-method-visual--jobs span{display:block;width:max-content;max-width:100%;padding:10px 13px;background:#f3eefb;border-radius:10px;font-size:.85rem;color:var(--case-blue-ink)}
.search-method-visual--jobs span:last-child{margin-left:20px;background:#f0f3f8}
.search-case-study .search-research-method h3{font-size:1.25rem;line-height:1.25;letter-spacing:-.025em;margin:0}
.search-case-study .search-research-method p{font-size:.95rem;line-height:1.6;margin:12px 0 0;max-width:255px}
.search-needs-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin:60px 5% 0}
.search-needs-grid article{position:relative;padding-top:150px}
.search-needs-grid .case-kicker{margin-bottom:20px}
.search-case-study .search-needs-grid h3{font-size:2.2rem}
.search-case-study .search-needs-grid p:not(.case-kicker){font-size:1.1rem;max-width:350px}
.search-needs-grid ul{list-style:none;padding:0;margin:26px 0;color:var(--case-muted);font-size:1rem;line-height:1.7}
.search-needs-grid li{margin:8px 0}
.search-needs-grid li::before{content:"·";color:var(--case-blue-ink);margin-right:12px}
.search-needs-grid .case-handwriting{display:block;color:var(--case-blue-ink);font-size:1.35rem;rotate:-3deg}
.search-deck-art{position:absolute;top:0;left:0;display:block;width:135px;height:135px;overflow:hidden}
.search-deck-art img{position:absolute;width:364.85%;max-width:none;height:232.73%;left:-23.99%;top:-67.5%}
.search-deck-art--compass img{left:-246.49%;top:-61.84%}
.search-architecture-map{margin:55px auto 0;max-width:880px;text-align:center}
.search-case-study .search-architecture-root{font-size:1.55rem;color:var(--portfolio-ink);font-weight:600}
.search-architecture-root span{display:block;font-size:1rem;font-weight:400;color:var(--case-muted);margin-top:8px}
.search-architecture-root::after{content:"";display:block;width:1px;height:40px;background:#cbbbdf;margin:20px auto 0}
.search-architecture-branches{display:grid;grid-template-columns:1fr 1fr;gap:60px;position:relative}
.search-architecture-branches::before{content:"";position:absolute;top:0;left:calc(25% - 15px);right:calc(25% - 15px);border-top:1px solid #cbbbdf}
.search-architecture-branches article::before{content:"";display:block;width:1px;height:35px;background:#cbbbdf;margin:0 auto 25px}
.search-case-study .search-architecture-branches h3{font-size:1.8rem;margin-top:15px}
.search-case-study .search-architecture-branches p:not(.case-kicker){font-size:1rem;line-height:1.7}
.search-architecture-branches a{display:inline-block;margin-top:22px;font-size:.95rem;color:var(--case-blue-ink);text-underline-offset:7px}
.search-phase-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:65px auto 0;padding-top:30px;border-top:1px solid #e7e0ef}
.search-phase-map a{display:block;text-decoration:none;color:var(--portfolio-ink);border-radius:8px;transition:color .2s}
.search-phase-map a:hover{color:var(--case-blue-ink)}
.search-phase-map a:focus-visible{outline:2px solid var(--case-blue-ink);outline-offset:8px}
.search-phase-map span{display:block;font-size:.85rem;color:var(--case-blue-ink);margin-bottom:12px}
.search-phase-map strong{display:block;font-size:1.12rem;font-weight:600}
.search-phase-map small{display:block;margin-top:10px;font-size:.88rem;line-height:1.6;color:var(--case-muted)}

.search-case-study .search-architecture-root{position:relative;width:max-content;margin:0 auto 30px;padding:18px 35px;background:#f5f1fc;border-radius:50px}
.search-architecture-root::after{position:absolute;top:100%;left:50%;height:30px;margin:0}
.search-architecture-branches .search-deck-art{position:relative;top:auto;left:auto;width:62px;height:62px;margin:0 auto 18px}
.search-case-study .search-architecture-branches .case-kicker{font-size:.72rem;color:var(--case-blue-ink);margin:0}
.search-case-study .search-architecture-branches h3{font-size:clamp(1.4rem,2.5vw,2.1rem);margin:12px 0 24px}
.search-architecture-branches ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;list-style:none;padding:0;margin:0 auto;max-width:340px;text-align:left}
.search-architecture-branches li{font-size:.9rem;line-height:1.45;color:var(--case-muted);padding-left:12px;position:relative}
.search-architecture-branches li::before{content:"";position:absolute;left:0;top:.6em;width:4px;height:4px;border-radius:50%;background:#baa1e7}
.search-rails-upfront{max-width:1020px;margin:65px auto 0;display:grid;gap:55px;padding-inline:15px}
.search-rail-example{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:28px;width:94%;position:relative;isolation:isolate}
.search-rail-example::before{content:"";position:absolute;inset:-35px -5%;background:radial-gradient(ellipse at 65% 50%,#f2ecfc,transparent 70%);z-index:-1;pointer-events:none}
.search-rail-example--chicken{justify-self:end}
.search-rail-example--chicken::before{background:radial-gradient(ellipse at 60% 50%,#f8f0ef,transparent 70%)}
.search-rail-example figcaption{margin:0}
.search-rail-query{display:flex;align-items:center;gap:15px;color:var(--portfolio-ink);font-size:1.45rem;letter-spacing:-.025em}
.search-case-study .search-rail-example .case-handwriting{display:block;margin-top:15px;font-size:1.05rem;color:var(--case-blue-ink);rotate:-4deg}
.search-rail-window{position:relative;aspect-ratio:310 / 82;overflow:hidden;background:white;border-radius:14px;box-shadow:0 15px 35px rgb(54 40 75 / 7%);rotate:-1deg;animation:search-rail-float 6s ease-in-out infinite;animation-play-state:paused}
.search-rail-window img{display:block;position:absolute;left:0;top:50%;width:116.129%;max-width:none;height:auto;transform:translateY(-50%)}
.search-rail-example--chicken .search-rail-window{rotate:1deg;animation-delay:-3s}
.search-rail-example--chicken .search-rail-window img{width:106.509%}
.search-rail-example.is-motion-active .search-rail-window{animation-play-state:running}
.search-case-study.case-motion-paused .search-rail-window{animation-play-state:paused}
@keyframes search-rail-float{50%{transform:translateY(-4px)}}
.search-recovery-pair.search-recovery-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.search-recovery-three figure:nth-child(2){padding-top:55px}
.search-recovery-three figure:nth-child(3){padding-top:110px}
.search-screen--no-results{aspect-ratio:360 / 570}
.search-screen--stock-final{aspect-ratio:360 / 620}
.search-case-study .search-recovery-three .case-kicker{font-size:.65rem;letter-spacing:.09em;margin:0 0 14px;color:var(--case-blue-ink)}
@media(max-width:700px){
.search-research-method{grid-template-columns:1fr;gap:25px}
.search-architecture-branches{gap:20px}
.search-architecture-branches::before{left:calc(25% - 5px);right:calc(25% - 5px)}
.search-architecture-branches ul{grid-template-columns:1fr;max-width:160px;gap:10px}
.search-case-study .search-architecture-branches h3{font-size:1.35rem;min-height:2.5em}
.search-architecture-branches .search-deck-art{width:52px;height:52px}
.search-phase-map{grid-template-columns:1fr;gap:26px;margin-top:38px}
.search-phase-map a{display:grid;grid-template-columns:105px minmax(0,1fr);column-gap:15px}
.search-phase-map small{grid-column:2;margin-top:6px}
.search-phase-map span{margin:3px 0 0}
.search-case-study .search-ownership{padding:35px 10px;margin-top:0}
.search-case-study .search-ownership-scope{font-size:.85rem}
.search-needs-grid{grid-template-columns:1fr;gap:70px}
.search-rails-upfront{gap:45px;margin-top:40px;padding:0}
.search-rail-example{width:100%;grid-template-columns:1fr;gap:20px}
.search-rail-example figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:15px}
.search-case-study .search-rail-example .case-handwriting{margin:0;font-size:.95rem}
.search-rail-query{font-size:1.15rem}
.search-rail-window{rotate:0deg}
.search-rail-example--chicken .search-rail-window{rotate:0deg}
.search-research-method{gap:38px}
.search-research-method li{display:grid;grid-template-columns:135px minmax(0,1fr);column-gap:22px;align-items:center}
.search-method-number{grid-column:1/-1;margin-bottom:15px}
.search-method-visual{grid-row:2 / span 2;margin:0}
.search-case-study .search-research-method h3{align-self:end}
.search-case-study .search-research-method p{align-self:start}
.search-method-visual--jobs span{font-size:.72rem;padding:9px}
.search-method-visual--jobs span:last-child{margin-left:8px}
.search-recovery-pair.search-recovery-three{grid-template-columns:1fr;max-width:360px;margin-inline:auto;gap:55px}
.search-recovery-three figure:nth-child(n){padding-top:0}
}
@media(prefers-reduced-motion:reduce){.search-rail-window{animation:none}}
.search-section{padding-block:105px}
.search-heading{max-width:770px;margin-inline:auto}
.search-case-study .search-heading>.case-kicker{margin-bottom:22px}
.search-heading>p:not(.case-kicker){max-width:630px}
.search-case-study h2{font-size:clamp(2.5rem,4.5vw,4rem)}
.search-case-study h3{font-size:clamp(2rem,3.4vw,3rem)}
.search-case-study .search-intents{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:70px 6% 35px}
.search-intent{position:relative}
.search-intent--need{padding-top:50px}
.search-intent-label{font-size:.73rem;text-transform:uppercase;letter-spacing:.12em;color:var(--case-muted);display:block;margin-bottom:20px}
.search-query{display:flex;align-items:center;gap:22px;padding:24px 28px;background:linear-gradient(120deg,#fff,#faf8ff);border:1px solid #eee9f4;box-shadow:0 16px 35px rgb(65 45 89 / 5%);border-radius:18px;font-size:clamp(1.1rem,2.2vw,1.8rem);letter-spacing:-.035em;white-space:nowrap}
.search-query-cursor{height:1.2em;width:1px;background:#9d80ce;opacity:.6}
.search-case-study .search-intent h3{font-size:1.6rem;letter-spacing:-.04em;margin-top:30px}
.search-case-study .search-intent p{font-size:1.05rem;margin-top:14px}
.search-intent>.case-handwriting{display:block;font-size:1.2rem;color:var(--case-blue-ink);margin-top:24px;rotate:-4deg}
.search-preview-pair{display:grid;grid-template-columns:repeat(2,minmax(0,340px));justify-content:center;gap:100px;margin:70px auto 0;position:relative;isolation:isolate}
.search-preview-pair::before{content:"";position:absolute;inset:-20px -13% 50px;background:radial-gradient(ellipse at 70% 55%,#f0e9ff,transparent 66%);z-index:-1}
.search-preview-pair figure:nth-child(2){padding-top:65px}
.search-screen{display:block;overflow:hidden;background:white;border-radius:24px;box-shadow:0 20px 45px rgb(54 40 75 / 8%);cursor:zoom-in;isolation:isolate}
.search-screen img{display:block;width:100%;height:auto;max-width:none;transition:filter .25s}
.search-screen:hover img{filter:brightness(.985)}
.search-screen--preview{aspect-ratio:360 / 740}
.search-case-study .search-preview-pair figcaption{font-size:1rem;margin-top:23px;color:var(--portfolio-ink)}
.search-case-study .search-preview-note{text-align:center;color:var(--case-blue-ink);margin-top:45px;rotate:-2deg;font-size:1.3rem}
.search-atc-chart{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:65px;margin-top:55px!important;padding:0 3%}
.search-atc-pair{margin:0}
.search-atc-pair>div{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:baseline}
.search-atc-pair>div+div{margin-top:30px}
.search-atc-pair dt{font-size:1rem;color:var(--case-muted)}
.search-atc-pair dd{font-size:1.65rem;font-weight:650;letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--case-blue-ink)}
.search-atc-pair>div:first-child dd{color:#94909c}
.search-bar{grid-column:1/-1;display:block;width:var(--bar);height:9px;border-radius:5px;background:#9a76e0}
.search-bar--broad{background:#ddd8e5}
.search-case-study .search-evidence-note{max-width:750px;margin:35px auto 0;font-size:.74rem}
.search-research-intro{display:grid;grid-template-columns:1.55fr .65fr;align-items:center;gap:8%;padding-inline:7%}
.search-research-intro .search-heading{margin:0}
.search-character{max-width:270px}
.search-character img{width:100%}
.search-case-study .search-character figcaption{text-align:center;color:var(--case-blue-ink);font-size:1.15rem;margin-top:0;rotate:-5deg}
.search-quotes{display:grid;grid-template-columns:1fr 1fr;gap:50px 10%;max-width:940px;margin:55px auto 0}
.search-quotes blockquote{margin:0;padding:18px 5px 18px 26px;border-left:2px solid #e5d9fa}
.search-case-study .search-quotes p{font-size:1.45rem;line-height:1.35;letter-spacing:-.035em;color:var(--portfolio-ink);max-width:380px}
.search-quotes span{font-size:.76rem;color:var(--case-muted);display:block;margin-top:16px}
.search-case-study .search-insight{text-align:center;font-size:clamp(1.5rem,2.8vw,2.25rem);line-height:1.4;color:var(--portfolio-ink);margin:65px auto 0}
.search-insight span{color:var(--case-blue-ink)}
.search-old{display:grid;grid-template-columns:.9fr 1fr;align-items:center;gap:12%;padding-inline:4%}
.search-screen--old{max-width:330px;aspect-ratio:360 / 610;margin-inline:auto;box-shadow:0 20px 40px rgb(50 45 30 / 6%)}
.search-old figure figcaption{text-align:center}
.search-old-copy>.case-kicker{margin-bottom:20px}
.search-friction{margin-top:32px;max-width:370px}
.search-case-study .search-friction h3{font-size:1.25rem;letter-spacing:-.02em}
.search-case-study .search-friction p{font-size:1rem;margin-top:10px}
.search-old-copy>.case-handwriting{margin-top:32px;font-size:1.4rem;color:var(--case-blue-ink);rotate:-5deg}
.search-hypothesis{text-align:center;padding-block:75px 65px;background:radial-gradient(ellipse at 50% 60%,#f6f1ff,transparent 68%)}
.search-hypothesis>.case-kicker{margin-bottom:28px}
.search-case-study .search-hypothesis h2{font-size:clamp(3rem,5.8vw,5rem);line-height:1.1}
.search-hypothesis h2 span{color:var(--case-blue-ink)}
.search-hypothesis>p:not(.case-kicker){max-width:580px;margin:30px auto 0}
.search-route{display:grid;grid-template-columns:1fr 80px 1fr;max-width:850px;margin:65px auto 0;align-items:center}
.search-route-number{font-size:.75rem;color:var(--case-blue-ink)}
.search-case-study .search-route h3{font-size:1.6rem;margin-top:15px}
.search-case-study .search-route p{font-size:1rem;margin-top:14px}
.search-case-study .search-route-join{color:#ab91d2;font-size:1.5rem;rotate:-8deg}
.search-decision{display:grid;grid-template-columns:1fr 1fr;gap:70px 12%;align-items:center;position:relative;isolation:isolate;padding:100px 8% 65px}
.search-decision::before{content:"";position:absolute;inset:10% -5%;background:radial-gradient(ellipse at 80% 42%,rgb(236 225 251 / 52%),transparent 60%);z-index:-1;pointer-events:none}
.search-decision-copy{max-width:440px}
.search-decision-copy>.case-kicker{margin-bottom:24px;font-size:.9rem;color:var(--case-blue-ink);letter-spacing:.1em}
.search-decision-copy>p:not(.case-kicker):not(.case-handwriting){font-size:1.13rem;line-height:1.65}
.search-decision-copy>.case-handwriting{font-size:1.4rem;color:var(--case-blue-ink);rotate:-5deg;margin-top:32px}
.search-decision figure{width:100%;max-width:370px;justify-self:center;min-width:0}
.search-screen--entry{aspect-ratio:360 / 530}
.search-decision--entry .search-decision-copy{grid-row:span 2}
.search-detail--cooking{grid-column:2}
.search-screen--cooking{aspect-ratio:360 / 390}
.search-screen--cooking img{transform:translateY(-42.6%)}
.search-case-study .search-detail figcaption{font-size:.95rem;margin-top:20px}
.search-decision--suggestions::before{background:radial-gradient(ellipse at 30% 50%,rgb(234 240 253 / 58%),transparent 60%)}
.search-decision--suggestions>.search-decision-copy{grid-column:2;grid-row:1/span 2}
.search-screen--suggestions{aspect-ratio:360 / 520}
.search-detail--needs{grid-column:1}
.search-screen--needs{aspect-ratio:360 / 480}
.search-screen--needs img{transform:translateY(-33.5%)}
.search-decision--results{padding-block:100px 20px}
.search-screen--results{aspect-ratio:360 / 700}
.search-recovery-pair{display:grid;grid-template-columns:repeat(2,minmax(0,420px));justify-content:center;align-items:start;gap:90px;margin-top:55px}
.search-recovery-pair figure:nth-child(2){padding-top:80px}
.search-screen--typo{aspect-ratio:360 / 500}
.search-screen--stock{aspect-ratio:360 / 440}
.search-screen--stock img{transform:translateY(-27%)}
.search-case-study .search-recovery-pair figcaption{margin-top:26px}
.search-recovery-pair figcaption strong{display:block;font-size:1.1rem;font-weight:600;color:var(--portfolio-ink)}
.search-recovery-pair figcaption span{display:block;font-size:.94rem;line-height:1.5;margin-top:10px;max-width:360px}
.search-constraints{display:grid;grid-template-columns:1.45fr .6fr;align-items:center;gap:12%;padding-inline:5%}
.search-constraints .case-kicker{margin-bottom:24px}
.search-constraints>div>p:not(.case-kicker){max-width:550px}
.search-constraints dl{display:grid;gap:35px}
.search-constraints dt{font-family:"Bradley Hand","Segoe Print",cursive;color:var(--case-blue-ink);font-size:1.25rem;rotate:-3deg;margin-bottom:10px}
.search-constraints dd{font-size:1.12rem}
.search-flow-strip{display:flex;gap:36px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:35px 25px 45px;margin:45px -25px 0;scrollbar-color:#b4a0d6 transparent;scrollbar-width:thin}
.search-flow-strip figure{flex:0 0 230px;scroll-snap-align:start}
.search-flow-strip figure:nth-child(even){padding-top:28px}
.search-flow-strip .search-screen{height:540px;border-radius:17px}
.search-case-study .search-flow-strip figcaption{font-size:.95rem;color:var(--portfolio-ink);margin-top:20px}
.search-case-study .search-flow-hint{text-align:center;font-size:.75rem}
.search-case-study .search-reflection{font-size:clamp(2rem,3.4vw,3rem);text-align:center;max-width:950px;line-height:1.3;letter-spacing:-.04em;margin:100px auto 0;color:var(--portfolio-ink)}
.search-reflection span{color:var(--case-blue-ink)}
.search-next{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:20px 0 70px}
.search-case-study .contact-chapter{margin-top:0}
@media(max-width:900px){
.search-case-study .case-opening-grid{min-height:550px}
.search-case-study h1{font-size:clamp(3.5rem,7.8vw,5rem)}
.search-case-study .search-hero-scene .case-scene-note{left:-7%;top:-5%}
.search-float-query{font-size:.88rem;padding:13px 17px;left:-10%}
.search-project-meta{gap:25px}
.search-atc-chart{gap:30px;padding:0}
.search-atc-pair dd{font-size:1.35rem}.search-atc-pair dt{font-size:.85rem}
.search-decision{padding-inline:3%;gap:45px 8%}
.search-recovery-pair{gap:50px}
.search-preview-pair{gap:60px}
}
@media(max-width:700px){
.search-case-study .case-opening-grid{grid-template-columns:1fr;gap:55px;min-height:0;padding-block:32px 10px}
.search-case-study h1{font-size:clamp(3.3rem,12vw,5rem)}
.search-hero-scene{max-width:430px;margin-inline:auto}
.search-case-study .search-hero-scene .case-scene-note{left:0;top:0}
.search-float-query{left:2%;top:48%;font-size:.95rem}
.search-project-meta{grid-template-columns:1fr;gap:26px;padding-block:25px 50px}
.search-project-meta dd{font-size:1.1rem}
.search-section{padding-block:65px}
.search-case-study h2{font-size:clamp(2.2rem,7.4vw,3.2rem)}
.search-case-study .search-intents{padding:40px 0 15px;gap:40px;grid-template-columns:1fr}
.search-intent--need{padding-top:0}
.search-query{padding:20px 24px;font-size:1.45rem}
.search-preview-pair{gap:24px;margin-top:45px}
.search-screen{border-radius:17px}
.search-preview-pair figure:nth-child(2){padding-top:30px}
.search-case-study .search-preview-pair figcaption{font-size:.85rem}
.search-atc-chart{grid-template-columns:1fr;gap:42px;max-width:440px;margin-inline:auto!important}
.search-atc-pair dd{font-size:1.55rem}.search-atc-pair dt{font-size:1rem}
.search-research-intro{grid-template-columns:1fr;padding:0;gap:25px}
.search-character{width:180px;justify-self:end}
.search-quotes{gap:28px;grid-template-columns:1fr;margin-top:30px}
.search-case-study .search-quotes p{font-size:1.3rem}
.search-old{grid-template-columns:1fr;padding-inline:0;gap:40px}
.search-old-copy{grid-row:1}
.search-screen--old{max-width:310px}
.search-case-study .search-hypothesis h2{font-size:clamp(2.5rem,9vw,4rem)}
.search-route{grid-template-columns:1fr;gap:30px;margin-top:45px}
.search-decision{grid-template-columns:1fr;padding:65px 0 30px;gap:35px}
.search-decision--entry .search-decision-copy,.search-decision--suggestions>.search-decision-copy{grid-row:auto;grid-column:auto}
.search-decision--suggestions>.search-decision-copy{grid-row:1}
.search-detail--cooking,.search-detail--needs{grid-column:auto}
.search-decision figure{max-width:340px}
.search-decision-copy{max-width:100%}
.search-recovery-pair{grid-template-columns:1fr;gap:45px;max-width:400px;margin-inline:auto}
.search-recovery-pair figure:nth-child(2){padding-top:0}
.search-constraints{grid-template-columns:1fr;gap:45px;padding-inline:0}
.search-constraints dl{gap:25px}
.search-flow-strip{gap:22px;margin-inline:-10px;padding-inline:10px}
.search-flow-strip figure{flex-basis:220px}
.search-case-study .search-reflection{font-size:1.8rem;margin-top:60px}
.search-next{align-items:flex-start;flex-direction:column;padding-bottom:35px}
}
/* Shared architecture: both routes feed the same sequence. */
.search-architecture-merge{position:relative;width:calc(50% + 30px);height:28px;margin:28px auto 0;border:1px solid #cbbbdf;border-top:0;border-radius:0 0 18px 18px}
.search-architecture-merge::after{content:"";position:absolute;top:100%;left:50%;height:24px;border-left:1px solid #cbbbdf}
.search-case-study .search-architecture-shared{font-size:.95rem;color:var(--case-blue-ink);margin:40px auto 0}
.search-phase-map--connected{position:relative;margin-top:25px;padding-top:28px;border-top:0;text-align:center}
.search-phase-map--connected::before{content:"";position:absolute;left:50%;bottom:100%;height:20px;border-left:1px solid #cbbbdf}
.search-phase-map--connected a{position:relative}
.search-phase-map--connected a::before{content:"";position:absolute;top:-31px;left:50%;transform:translateX(-50%);width:7px;height:7px;border-radius:50%;background:#ac91d8;z-index:1}
.search-phase-map--connected a:not(:last-child)::after{content:"";position:absolute;top:-28px;left:50%;width:calc(100% + 35px);height:1px;background:#cbbbdf;pointer-events:none}
.search-phase-map--connected small{margin-top:18px;font-size:.85rem;line-height:1.5}
.search-phase-map--connected small b{display:block;font-size:.67rem;font-weight:500;color:var(--case-blue-ink);letter-spacing:.06em;margin-bottom:3px}
.search-case-study #search-direction{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;column-gap:65px;text-align:left;padding-block:45px}
.search-case-study #search-direction>.case-kicker{grid-column:1 / -1;margin-bottom:20px}
.search-case-study #search-direction h2{font-size:clamp(2.1rem,3.8vw,3.2rem);margin:0}
.search-case-study #search-direction>p:not(.case-kicker){margin:0;max-width:360px;font-size:1.05rem}
.search-case-study #search-architecture{padding-top:80px;padding-bottom:80px}
.search-case-study #search-rail{padding-block:65px 80px}
.search-case-study #search-recovery>.search-heading{max-width:none;display:grid;grid-template-columns:1.35fr 1fr;column-gap:65px;align-items:end}
.search-case-study #search-recovery>.search-heading>.case-kicker{grid-column:1 / -1}
.search-case-study #search-recovery>.search-heading>p:not(.case-kicker){margin:0 0 8px;max-width:370px}
.search-case-study #search-platform{padding-block:65px}
.search-next-learning{display:block}
.search-next-learning>header{text-align:center}
.search-case-study .search-next-learning h2{font-size:clamp(2.1rem,3.5vw,3rem)}
.search-validation{padding:0;border:0;margin-top:48px;text-align:center}
.search-case-study .search-validation>.case-kicker{font-size:.65rem;margin-bottom:18px;color:var(--case-blue-ink)}
.search-case-study .search-validation h3{font-size:1.1rem;font-weight:500;letter-spacing:-.025em;margin:0 0 32px}
.search-validation dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.search-validation dt{font-weight:600;color:var(--portfolio-ink);font-size:1.25rem;margin-bottom:10px}
.search-validation dd{font-size:.88rem;color:var(--case-muted);line-height:1.6;margin:0}
.search-learning-art{display:block;width:110px;height:110px;margin:0 auto 20px;border-radius:45% 55% 48% 52%;background:radial-gradient(ellipse,#eee6fb,transparent 72%);color:#8c70ba;rotate:-5deg}
.search-learning-art svg{width:100%;height:100%;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.search-learning-art--choice{rotate:5deg;background:radial-gradient(ellipse,#e6f4ea,transparent 72%);color:#62917e}
.search-learning-art--recovery{rotate:-3deg;background:radial-gradient(ellipse,#fff0dd,transparent 72%);color:#bb9058}
.search-case-study .search-next-learning .search-reflection{margin:65px auto 0;font-size:clamp(1.8rem,3vw,2.6rem)}
@media(max-width:700px){
.search-architecture-merge{width:calc(50% + 10px)}
.search-phase-map--connected{padding-left:18px;border:0;margin-left:8px;padding-top:0;text-align:left}
.search-phase-map--connected::before{display:none}
.search-phase-map--connected a::before{left:-18px;top:6px}
.search-phase-map--connected a:not(:last-child)::after{left:-18px;top:9px;width:1px;height:calc(100% + 26px)}
.search-phase-map--connected small{margin-top:10px}
.search-case-study #search-direction{grid-template-columns:1fr;gap:18px;padding-block:30px}
.search-case-study #search-direction>.case-kicker{margin:0}
.search-case-study #search-architecture{padding-block:55px}
.search-case-study #search-rail{padding-block:45px 55px}
.search-case-study #search-recovery>.search-heading{grid-template-columns:1fr;gap:15px}
.search-case-study #search-recovery>.search-heading>.case-kicker{margin:0}
.search-case-study #search-platform{padding-block:45px}
.search-next-learning{grid-template-columns:1fr;gap:35px;padding-block:40px 60px}
.search-validation{padding:0;border:0;margin-top:32px}
.search-validation dl{grid-template-columns:1fr;gap:30px}
.search-validation dl>div{position:relative;text-align:left;padding-left:100px;min-height:80px;display:flex;flex-direction:column;justify-content:center}
.search-learning-art{position:absolute;left:0;top:0;width:80px;height:80px;margin:0}
.search-validation dt{font-size:1.2rem}
.search-validation dd{max-width:none}
}
@media(prefers-reduced-motion:reduce){
.search-case-study .search-float-query{animation:none}
.search-case-study .search-screen img,.search-phase-screen{transition:none}
.search-phase-map a:hover .search-phase-screen{transform:none}
.search-flow-strip{scroll-behavior:auto}
}
