/* Restored original storytelling and the 2026-09-22 interaction revision. */
:root{--case-01:#ed9d7d;--case-02:#4968c5;--case-03:#e8cd79;--case-04:#3b5bff;--case-05:#c6c4ba}
html{scrollbar-gutter:auto}body{overflow-x:clip}.site-header{view-transition-name:site-navigation}.page-tab{view-transition-name:page-tab}
.footer-inner,.case-section,.feature-list,.feature-list>div,.process-flow,.process-flow li+li,.decision-list li+li,.privacy-note,.version-note,.document-row,.experiment-group+.experiment-group,.experiment-more{border:0}
.card{border:1px solid var(--line)}.case-section{padding-block:64px}.project-list{gap:64px}.project-row{box-shadow:none;background:transparent}.project-row-copy{align-self:center}.project-row>.cover{border-radius:var(--r-sm)}.stats{gap:40px}.stat{box-shadow:none;background:transparent;padding-inline:0}
.about-method-grid>.card{box-shadow:none;background:transparent;padding-inline:0}.about-experience figure{margin-top:-80px}.about-experience{padding-top:96px}
.btn{transition:transform 240ms var(--ease-out);position:relative}.btn:active{transform:scale(.97);transition-duration:120ms}
.status{padding:0;width:64px;height:64px;border:0;position:relative;flex-shrink:0}.status::before{display:none}.status svg{width:64px;height:64px;overflow:visible}.status text{font:600 10px var(--font);letter-spacing:1px;fill:var(--ink)}.status-wheel{transform-origin:50% 50%;animation:status-orbit 20s linear infinite}.status-dot{fill:var(--orange);transform-origin:50% 50%;animation:status-pulse 2.6s var(--ease-out) infinite}.header-inner{overflow:visible}
@keyframes status-orbit{to{transform:rotate(360deg)}}@keyframes status-pulse{50%{transform:scale(.75);opacity:.6}}
.keyword-ribbon{position:relative;z-index:3;margin:20px 0 64px;padding:16px 0;overflow:hidden;transform:rotate(-1deg);color:var(--ink-2);background:var(--paper);pointer-events:none}.keyword-track{display:flex;width:max-content;animation:ribbon-flow 75s linear infinite}.keyword-track>div{display:flex;gap:48px;padding-right:48px;white-space:nowrap;font-size:12px;letter-spacing:.04em}.keyword-track span::before{content:'✳';margin-right:36px;color:var(--orange-ink)}@keyframes ribbon-flow{to{transform:translateX(-50%)}}
.next-page{display:flex;gap:28px;align-items:center;min-height:180px;margin-block:60px 40px}.next-page>.poster{width:72px;flex-shrink:0;transform:rotate(-4deg)}.next-page img{aspect-ratio:4/5;object-fit:cover}.next-page strong{font:600 clamp(26px,4vw,50px)/1.2 var(--font)}.next-page>span:last-child{font-size:40px;margin-left:auto}.next-page .eyebrow{margin-right:auto}
.gallery-stage{position:relative;height:clamp(420px,62vh,640px);width:100%;overflow:hidden;cursor:grab;touch-action:pan-y;overflow-anchor:none;contain:layout paint}
.gallery-track{position:relative;width:100%;height:100%;transform-style:flat;pointer-events:none}.gallery-item{position:absolute;left:calc(50% - clamp(240px,26vw,380px)/2);top:50%;margin-top:calc(clamp(240px,26vw,380px)/-2 - 24px);width:clamp(240px,26vw,380px);transform-style:flat;pointer-events:auto;user-select:none;-webkit-user-select:none;touch-action:pan-y;outline-offset:10px}
.gallery-card{display:block;transform-style:flat;transition:transform 260ms var(--ease-out)}.gallery-item .poster{padding:8px;box-shadow:0 4px 6px -4px #0002,0 20px 44px -20px #0005}.gallery-item img{aspect-ratio:1;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.cap-label{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 8px 0;font-size:16px;visibility:hidden;min-height:46px}.is-center .cap-label{visibility:visible}.cap-label>span{font-size:12px;font-family:var(--font-latin)}.gallery-item.is-center{outline:none}.gallery-stage:active{cursor:grabbing}.gallery-hint{font-size:11px;letter-spacing:.03em}.stage-controls{margin-bottom:10px}.arc-outro{display:flex;justify-content:space-between;align-items:center;gap:20px}.arc-outro>div{display:flex;gap:12px}
/* Original hero: same scroll ranges, stagger thresholds and overshoot formula. */
.hero{height:270svh;position:relative;background:var(--paper)}.hero-stage{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate;background:var(--paper)}
.hero-title{position:absolute;left:50%;top:50%;width:min(94vw,1500px);z-index:1;color:#20201f;font:500 clamp(5rem,13.5vw,13rem)/.76 var(--font-latin);letter-spacing:-.085em;text-align:center;--story-scale:1;--story-y:0px;--story-opacity:1;opacity:var(--story-opacity);filter:blur(var(--story-blur,0));transform:translate3d(-50%,calc(-50% + var(--story-y)),0) scale(var(--story-scale));pointer-events:none}
.title-word{display:block;overflow:hidden;padding:.04em .08em .1em;margin:-.04em -.08em -.1em}.title-inner{display:block;animation:hero-title-in 1.02s var(--ease-out) both}.title-word:nth-child(2) .title-inner{animation-delay:.13s}@keyframes hero-title-in{from{opacity:0;transform:translateY(108%)}to{opacity:1;transform:none}}
.hero-intro-copy{position:absolute;left:50%;top:75%;z-index:24;width:min(90vw,760px);display:flex;flex-direction:column;align-items:center;gap:32px;text-align:center;transform:translateX(-50%)}.hero-identity{font-size:clamp(14px,1.55vw,21px);line-height:1.5;color:var(--ink-2)}.hero-project-link{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:999px;font-size:13px;background:var(--paper)}
.hero-subtitle{position:absolute;z-index:4;left:50%;top:34%;transform:translateX(-50%);font-size:clamp(14px,1.55vw,22px);color:var(--ink-2);white-space:nowrap}.hero-meta{position:absolute;left:var(--gutter);top:42%;z-index:12;display:grid;grid-template-columns:150px 190px;gap:20px;font-size:12px;line-height:1.5;color:var(--ink-2)}.hero-meta strong{display:block;font-weight:500;color:var(--ink)}
.project-rail{position:absolute;z-index:5;right:var(--gutter);top:78px;bottom:38px;width:190px;overflow:hidden;color:var(--ink-2);font-size:11px;line-height:1.5;pointer-events:none}.project-track{display:flex;flex-direction:column;animation:rail 52s linear infinite}.project-track>span{padding:2px 0}@keyframes rail{to{transform:translateY(-50%)}}
.collage{position:absolute;z-index:8;left:50%;bottom:7vh;width:min(80vw,980px);height:min(43vh,410px);display:flex;align-items:flex-end;justify-content:center;transform:translateX(-50%);perspective:1100px}
.tile-reveal{--rest-r:0deg;--rest-y:0px;--enter-y:-92vh;--enter-r:18deg;--enter-scale:.68;position:relative;flex:0 0 28%;width:28%;height:auto;aspect-ratio:1.12;margin-left:-4%;opacity:0;pointer-events:none;transform:translate3d(0,calc(var(--rest-y) + var(--enter-y)),0) rotate(calc(var(--rest-r) + var(--enter-r))) scale(var(--enter-scale));transform-origin:50% 100%}.tile-reveal:first-child{margin-left:0}.one-reveal{--rest-r:-10deg;--rest-y:28px;z-index:1}.two-reveal{--rest-r:-3deg;--rest-y:4px;z-index:2}.three-reveal{--rest-r:4deg;--rest-y:8px;z-index:3}.echo-reveal{--rest-r:10deg;--rest-y:30px;z-index:1}
.tile{display:block;position:relative;width:100%;height:100%;border-radius:var(--r-xs);isolation:isolate;--folder:var(--white);--folder-end:var(--white);background:linear-gradient(145deg,var(--folder),var(--folder-end));box-shadow:0 22px 45px #7773;transform-origin:center;transition:transform 320ms var(--ease-out),box-shadow 320ms var(--ease-out);user-select:none}
.tile::before{content:'';position:absolute;z-index:-1;left:7%;top:-12%;width:46%;height:24%;border-radius:var(--r-xs);background:var(--folder);border:1px solid #d5d5d0}.tile::after{content:'';position:absolute;z-index:2;left:0;right:0;bottom:0;height:47%;border-radius:var(--r-xs);background:linear-gradient(145deg,var(--folder),var(--folder-end));box-shadow:inset 0 1px 0 #fff8;pointer-events:none}.tile .poster{position:absolute;inset:0;padding:4px;box-shadow:none}.tile img{width:100%;height:100%;object-fit:cover;object-position:top}.folder-label{position:absolute;z-index:3;left:20px;right:18px;bottom:18px;color:var(--ink);font-size:12px;letter-spacing:.03em}.tile.one{--folder:#ff633a;--folder-end:#ff3f12}.tile.two{--folder:#fff1eb;--folder-end:#ffc4b2}.tile.echo{--folder:#fff7f3;--folder-end:#ffd8cc}
.hero-scroll-hint{position:absolute;left:50%;bottom:28px;z-index:24;display:flex;gap:12px;font-size:11px;transform:translateX(-50%)}.intro-trigger{position:absolute;z-index:25;left:50%;bottom:17px;transform:translateX(-50%);min-height:44px;display:flex;align-items:center;gap:9px;font-size:12px}.hero-subtitle,.hero-meta,.project-rail,.intro-trigger{opacity:0}
/* Contact HTML is emitted by one build.py function for both routes. */
.contact-section{height:230svh;padding:0 var(--gutter);position:relative;background:var(--paper)}.contact-stage{position:sticky;top:64px;min-height:calc(100svh - 64px);padding:34px 0 30px;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;overflow:hidden}.contact-top{position:relative;z-index:4;display:flex;justify-content:space-between;gap:24px;font-size:12px;line-height:1.5;color:var(--ink-2)}.contact-top-right{display:flex;gap:20px;align-items:start}.contact-back{min-height:44px;display:flex;align-items:center}
.contact-title{position:relative;z-index:2;margin:auto 0;color:var(--orange-ink);font:900 clamp(5rem,15vw,13.5rem)/.95 var(--font-latin);letter-spacing:-.065em;white-space:nowrap}.contact-line{display:block;overflow:hidden;padding:.1em .03em .16em;margin:-.1em -.03em -.16em}.contact-line:last-child{padding-left:18vw}.contact-char{display:inline-block;opacity:0;-webkit-text-stroke:.012em currentColor;paint-order:stroke fill;transform:translate3d(0,115%,0) rotate(3deg);transform-origin:50% 100%}.contact-space{display:inline-block;width:.23em}
.contact-poster{position:absolute;z-index:1;right:8%;top:24%;width:clamp(190px,25vw,390px);aspect-ratio:1;transform:translate3d(0,70px,0) rotate(8deg)}.contact-poster img{aspect-ratio:1;object-fit:cover}.contact-bottom{position:relative;z-index:4;opacity:0;transform:translateY(60px)}.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.contact-actions>a,.contact-actions>button{min-width:min(100%,320px);display:flex;align-items:center;justify-content:space-between;gap:28px;padding:6px 6px 6px 24px;border-radius:999px;background:var(--orange);color:var(--ink);font-size:15px;min-height:58px;transition:transform 240ms var(--ease-out)}.contact-actions span{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:50%;background:var(--paper);color:var(--ink);font-size:11px}.footer-note{display:flex;justify-content:space-between;gap:20px;margin-top:24px;font-size:11px;line-height:1.5;color:var(--ink-2)}.contact-standalone{height:calc(100svh - 64px);min-height:740px}.contact-standalone .contact-stage{height:100%;position:relative;top:0}
/* Ten vertical cards. The inner flip and outer ring each own their transform. */
.ring-stage{scroll-margin-top:64px;height:max(720px,calc(100svh - 64px));position:relative;contain:layout;touch-action:pan-y;cursor:grab;margin-bottom:-60px;z-index:4;overflow:clip;overflow-clip-margin:60px}.ring-stage[hidden]{display:none}.ring-stage.is-focus{overflow:hidden;overflow-clip-margin:0}.ring-world{position:absolute;left:50%;top:50%;width:0;height:0;}.ring{position:absolute;inset:0;transform-style:flat;isolation:isolate}.ring-track{position:absolute;border:1px solid var(--line);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.ring-card{position:absolute;left:0;top:0;width:144px;height:180px;transform-origin:0 0;padding:0;border:0;background:none;text-align:left;container-type:inline-size;cursor:default;perspective:1200px;isolation:isolate;user-select:none}.ring-card.is-flipped{cursor:pointer}.card-hover,.card-inner{position:absolute;inset:0;transform-style:preserve-3d;border-radius:var(--r-lg)}.card-hover{transition:transform 260ms var(--ease-out)}.card-inner{perspective:1200px}.ring-card.is-flipped .card-inner{transform:rotateY(180deg)}
.card-back,.card-front{position:absolute;inset:0;border-radius:var(--r-lg);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 1px 2px #0001,0 24px 48px -12px #0004;border:1px solid #0b0b0b1a}.card-back{background:var(--ink)}.card-back .cover{height:100%;aspect-ratio:4/5;padding:8cqw;border-radius:inherit}.card-back .cover-number{font-size:40cqw;margin-block:auto}.card-back .eyebrow{font-size:6.5cqw;line-height:1.5}.ring-spec{height:100%;padding:8cqw;display:flex;flex-direction:column;justify-content:space-between;gap:4cqw}.ring-spec>.eyebrow{color:inherit;font-size:6cqw}.ring-spec>strong{font:600 36cqw/1 var(--font-latin)}.spec-title{font-size:8cqw;font-weight:600;line-height:1.3}.spec-tags,.ring-spec>span:last-child{font-size:4.5cqw;line-height:1.4}
.card-front{transform:rotateY(180deg);background:var(--card-paper);color:var(--ink);display:flex;flex-direction:column;padding:4cqw;overflow:visible}.front-02,.front-04{background:#171818;color:var(--paper)}.product-tab{position:absolute;bottom:100%;left:8%;padding:3cqw 6cqw 1cqw;border-radius:var(--r-xs) var(--r-xs) 0 0;background:var(--orange);color:var(--ink);font:600 4cqw/1.2 var(--font-latin)}.front-02 .product-tab{background:var(--blue);color:var(--paper)}.front-03 .product-tab{background:var(--yellow)}.front-04 .product-tab{background:var(--blue-ink);color:var(--paper)}.front-05 .product-tab{background:var(--grey)}
.product-picture{display:block;position:relative;height:58%;flex-shrink:0;overflow:hidden;border-radius:var(--r-sm)}.product-picture img{width:100%;height:100%;object-fit:cover;display:block}.product-pills{position:absolute;top:4cqw;left:4cqw;right:4cqw;display:flex;gap:2cqw;flex-wrap:wrap}.product-pills>span{padding:1.8cqw 2.8cqw;border-radius:999px;background:var(--paper);color:var(--ink);font:600 3.3cqw/1.2 var(--font);box-shadow:0 1px 6px #0002}.product-copy{display:grid;grid-template-columns:auto 1fr;align-content:start;gap:2cqw 4cqw;padding:5cqw 2cqw 0}.product-number{font:600 15cqw/1 var(--font-latin);grid-row:1/3}.product-title{font:600 6.5cqw/1.35 var(--font);text-wrap:balance}.product-meta{font:500 3.8cqw/1.4 var(--font);opacity:.8}.product-open{display:none;grid-column:1/-1;justify-self:end;font:600 3.5cqw/1.4 var(--font);padding:2cqw 4cqw;border:1px solid currentColor;border-radius:999px}.ring-card.is-focus .product-open{display:block}
.ring-heading{position:absolute;left:50%;top:50%;width:350px;transform:translate(-50%,-50%);text-align:center;z-index:3;pointer-events:none;transition:opacity 260ms var(--ease-out)}.ring-heading h2{font-size:30px;line-height:1.25;margin:20px 0}.ring-heading button{pointer-events:auto;background:var(--paper);font-size:12px}.ring-heading button:disabled{pointer-events:none;border-color:transparent}.is-focus .ring-heading{opacity:0}.ring-index{position:absolute;right:var(--gutter);top:32px;display:grid;gap:2px;z-index:6;width:210px}.ring-index button{min-height:44px;background:none;text-align:left;font:500 11px/1.5 var(--font);color:var(--ink-2);padding:4px 0}.ring-index button>span{margin-right:8px;font-size:10px}.ring-index [aria-current=true]{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:6px}.is-focus .ring-index{display:none}.ring-back{position:absolute;top:28px;left:var(--gutter);z-index:6;background:var(--paper)}.ring-back[hidden]{display:none}.ring-info{position:absolute;inset:auto var(--gutter) 60px;display:flex;justify-content:space-between;align-items:end;gap:24px;z-index:6;pointer-events:none}.ring-info h3{margin-top:8px}.ring-info .eyebrow{font-size:10px}.ring-stage:not(.is-focus) .ring-info{display:none}.ring-stage.is-focus::after{content:'';position:absolute;bottom:0;left:0;right:0;height:130px;background:var(--paper);z-index:5;pointer-events:none}.ring-help{position:absolute;bottom:20px;left:var(--gutter);font-size:10px;z-index:6;pointer-events:none}.ring-list-link{position:absolute;bottom:12px;right:var(--gutter);z-index:6;background:var(--paper)}.has-ring #all-projects{padding-top:120px}.ring-stage+.keyword-ribbon{margin-top:60px;margin-bottom:0;z-index:2}
/* Project cover spread: a colored first screen with the evidence below. */
.case-hero{min-height:calc(100svh - 64px);position:relative;padding:100px 0 64px;background:var(--paper);color:var(--ink)}.case-chrome{position:absolute;right:var(--gutter);top:24px;display:flex;gap:8px;z-index:2}.case-chrome .btn{border-color:currentColor;font-size:12px}.case-hero-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(48px,7vw,110px);align-items:center}.case-hero-grid>.poster{width:min(100%,460px);justify-self:center;transform:rotate(-3deg);padding:12px;box-shadow:0 4px 8px #0001,0 30px 60px -18px #0005}.case-hero-grid>.poster img{aspect-ratio:4/5;object-fit:cover}.case-hero .eyebrow,.case-hero p,.case-hero .tags>span{color:inherit}.case-hero h1.display{font-size:clamp(36px,4.4vw,70px);line-height:1.15;max-width:12em;margin:28px 0;word-break:normal;overflow-wrap:anywhere}.case-hero p{font-size:clamp(16px,1.4vw,19px);line-height:1.8}.case-hero-meta{border-top:1px solid currentColor;margin-top:30px;padding-top:10px}.case-hero-meta>.eyebrow{display:block;margin-top:26px}.case-hero .tags>span{border-color:currentColor;font-size:10px}.case-hero-copy>*{animation:case-enter 500ms var(--ease-out) both}.case-hero-copy>:nth-child(2){animation-delay:60ms}.case-hero-copy>:nth-child(3){animation-delay:120ms}.case-hero-copy>:nth-child(4){animation-delay:180ms}@keyframes case-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* A native top-layer sheet keeps the artwork, explanation and working approach together. */
.cap-dialog{--cap-paper:var(--paper);position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--cap-paper);color:var(--ink);overscroll-behavior:contain;overflow:auto;scrollbar-gutter:stable}

.cap-dialog::backdrop{background:#0b0b0b66}.cap-dialog-bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:16px 2vw;background:var(--cap-paper)}.cap-brand{font:600 13px/1.4 var(--font);letter-spacing:.04em}.cap-dialog-bar nav{display:flex;gap:8px}.cap-dialog-bar .btn{font-size:13px;padding:0 18px;background:transparent}
.cap-dialog-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(40px,6vw,120px);align-items:end;padding:32px 3.5vw 80px;min-height:calc(100svh - 76px)}.cap-art{width:100%;align-self:center;margin:0}.cap-art img{aspect-ratio:1;object-fit:contain}.cap-dialog-copy{padding-bottom:12px;min-width:0}.cap-dialog h2{font:700 clamp(40px,6.7vw,112px)/1.15 var(--font);letter-spacing:0;white-space:nowrap;margin:20px 0 28px}.cap-dialog p{font-size:clamp(17px,1.55vw,24px);line-height:1.8}.cap-dialog .eyebrow{color:var(--ink-2);line-height:1.5}.cap-dialog .cap-detail-foot{border-top:1px solid color-mix(in srgb,var(--ink) 30%,transparent);padding-top:20px;margin-top:36px;flex-wrap:wrap}.cap-dialog .cap-detail-foot .eyebrow{font-size:11px;letter-spacing:.04em}
.cap-dialog .cap-approach{display:grid;grid-template-columns:1fr 2fr;gap:clamp(32px,5vw,100px);margin:0 3.5vw;padding:80px 5vw 100px;border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.cap-approach>.eyebrow{padding-top:12px}.cap-dialog h3{font:500 clamp(32px,4.5vw,72px)/1.2 var(--font);letter-spacing:0;text-wrap:balance;max-width:14em;margin:0 0 32px}.cap-dialog .cap-process{margin-top:24px}.cap-dialog .cap-position{display:block;margin-top:48px}
@media(max-width:900px){.cap-dialog-bar{padding:12px 20px;flex-wrap:wrap;gap:10px}.cap-brand{font-size:12px}.cap-dialog-bar nav{margin-left:auto}.cap-dialog-bar .btn{padding:0 12px}.cap-dialog-hero{grid-template-columns:1fr;gap:36px;padding:24px 24px 48px;min-height:0}.cap-art{max-width:560px;justify-self:center}.cap-dialog h2{font-size:clamp(36px,9vw,64px)}.cap-dialog .cap-approach{grid-template-columns:1fr;gap:24px;margin-inline:24px;padding:40px 0 64px}.cap-dialog h3{font-size:clamp(30px,6vw,44px)}.cap-dialog .cap-detail-foot{margin-top:28px}.cap-dialog p{font-size:17px}}
@media(hover:hover) and (pointer:fine){
 .collage:has(.tile:hover) .tile{transform:scale(.8)}.collage .tile:hover{transform:translateY(-28px) scale(1.2)!important;box-shadow:0 34px 64px #7775}
 .gallery-item:hover .gallery-card{transform:translateY(-8px)}.page-tab:hover .poster{transform:rotate(-3deg) translateY(-4px)}.poster{transition:transform 260ms var(--ease-out),box-shadow 260ms var(--ease-out)}.contact-actions>a:hover,.contact-actions>button:hover{transform:scale(1.04)}
 .cap-label strong,.next-page strong{background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size 260ms var(--ease-out)}.gallery-item:hover .cap-label strong,.next-page:hover strong{background-size:100% 1px}
 .ring-card.is-flipped:hover .card-hover{transform:translateY(-4px) rotateX(4deg) rotateY(-4deg)}.ring-card.is-flipped:hover .card-front{box-shadow:0 2px 4px #0001,0 30px 54px -12px #0006}
}
@media(max-width:1200px){.ring-index{width:170px;right:20px}.ring-index button{font-size:10px}.hero-meta{grid-template-columns:1fr;gap:14px;top:36%}.project-rail{width:155px;font-size:10px}.collage{width:74vw}.case-hero-grid{gap:40px}}
@media(max-width:1024px){.case-section{gap:32px;grid-template-columns:1fr 3fr}.project-row-copy{padding:28px}.ring-index{width:135px}.ring-heading{width:300px}.ring-heading h2{font-size:26px}}
@media(max-width:900px){
 .status{display:none}.gallery-stage{height:auto;perspective:none;overflow-x:auto;scroll-snap-type:x mandatory;touch-action:pan-x pan-y;cursor:auto;padding-block:44px 24px}.gallery-track{display:flex;gap:18px;width:max-content;height:auto;padding-inline:14vw;transform-style:flat}.gallery-item{position:relative;left:auto;top:auto;margin:0;width:72vw;flex:0 0 72vw;scroll-snap-align:center;touch-action:pan-x pan-y}.gallery-card{transform:none!important}.cap-label{visibility:visible;font-size:18px}.gallery-hint{font-size:10px}.cap-detail-foot{flex-wrap:wrap}
 .hero{height:245svh}.hero-title{top:47%;font-size:20vw}.hero-intro-copy{top:66%;width:calc(100vw - 44px)}.hero-subtitle{top:19%;font-size:14px}.hero-meta,.project-rail{display:none}.collage{left:50%;bottom:9vh;width:82vw;height:50vh;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:18px}.tile-reveal,.tile-reveal:first-child{width:100%;height:100%;margin:0;aspect-ratio:auto}.one-reveal{--rest-r:-4deg;--rest-y:6px}.two-reveal,.three-reveal{--rest-r:3deg;--rest-y:0px}.echo-reveal{--rest-r:-3deg;--rest-y:6px}.folder-label{left:14px;bottom:13px;font-size:11px}
 .ring-stage{display:none}.project-row{grid-template-columns:1fr}.project-row>.cover{height:auto;min-height:0;aspect-ratio:16/10}.case-section{grid-template-columns:1fr;gap:24px}.case-hero{padding-top:96px}.case-hero-grid{grid-template-columns:1fr;gap:48px}.case-hero-grid>.poster{width:min(62vw,360px)}.case-hero h1.display{font-size:38px}.case-hero-copy{padding-bottom:12px}.case-chrome{left:var(--gutter);right:var(--gutter);justify-content:end}.case-chrome .btn{padding:10px 13px}.case-hero-meta{margin-top:24px}
 .contact-title{font-size:clamp(3.8rem,13vw,8rem);letter-spacing:-.065em}.contact-line:last-child{padding-left:7vw}.contact-top-right>span{display:none}.contact-poster{width:28vw;right:8%;top:31%}.contact-actions{display:grid;grid-template-columns:1fr 1fr}.contact-actions>a,.contact-actions>button{min-width:0;gap:8px;font-size:13px;padding-left:16px}.footer-note{font-size:9px}.contact-standalone{min-height:700px}.next-page{gap:16px}.next-page .eyebrow{font-size:10px}.next-page>.poster{width:56px}
}
@media(max-width:600px){.hero{height:235svh}.hero-title{top:45%;font-size:19vw}.hero-intro-copy{top:62%;gap:32px}.hero-identity{font-size:12px;white-space:nowrap}.hero-subtitle{top:18%;font-size:12px}.collage{gap:14px}.folder-label{left:10px;right:8px;bottom:16px}.contact-title{font-size:15vw;line-height:.95}.contact-line:last-child{padding-left:0}.contact-poster{width:40vw;top:26%;right:4%}.contact-actions{grid-template-columns:1fr;gap:12px}.contact-top{font-size:10px;align-items:center}.contact-top-right{gap:0}.contact-stage{padding-top:18px;padding-bottom:24px}.footer-note{flex-wrap:wrap;gap:6px}.contact-standalone{min-height:calc(100svh - 64px)}.next-page{flex-wrap:wrap;margin-block:40px;min-height:150px}.next-page .eyebrow{width:100%}.next-page strong{font-size:28px}.keyword-ribbon{margin-block:12px 48px}.keyword-track>div{font-size:10px;gap:24px}.case-hero h1.display{font-size:32px;max-width:12em}.case-hero p{font-size:16px}.case-hero-grid>.poster{width:68vw}.case-hero{padding-bottom:40px}.project-pagination,.deliverable-grid{grid-template-columns:1fr}.stats{gap:12px}.stat{padding:20px 0;min-width:100%}.case-section{padding-block:40px}.about-experience figure{margin-top:0}.arc-outro{padding-block:32px 64px}.project-list{gap:48px}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero{height:100svh;min-height:760px}.hero-title{top:25%;font-size:12vw;opacity:.16!important;filter:none!important;transform:translate(-50%,-50%)!important}.hero-intro-copy{display:none}.hero-subtitle{opacity:1!important;top:17%;transform:translateX(-50%)!important}.hero-meta,.project-rail,.intro-trigger{opacity:1!important}.hero-scroll-hint{display:none}.tile-reveal{opacity:1!important;pointer-events:auto!important;transform:none!important}.tile,.poster,.gallery-card,.card-hover,.case-hero-grid>.poster{transform:none!important}.ring-stage{display:none}.contact-section{height:calc(100svh - 64px);min-height:700px}.contact-stage{height:100%;top:0;position:relative;opacity:1!important;transform:none!important;filter:none!important}.contact-char,.contact-bottom{opacity:1!important;transform:none!important}.contact-poster{transform:none!important}.keyword-track,.project-track{animation:none!important}.keyword-ribbon{transform:none}.keyword-track>div:nth-child(2){display:none}.case-hero-copy>*{opacity:1;transform:none}.toast{transition:none!important}
}
@media(prefers-reduced-motion:reduce) and (min-width:901px){.gallery-stage{height:auto;perspective:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-block:40px}.gallery-track{display:flex;gap:18px;width:max-content;height:auto;padding-inline:calc(50vw - 150px);transform-style:flat}.gallery-item{position:relative;left:auto;top:auto;margin:0;width:300px;flex:0 0 300px;scroll-snap-align:center}.cap-label{visibility:visible}}

/* Shared waterfall sections; page routes continue using these same components. */
.home-section{scroll-margin-top:64px;position:relative;padding-top:24px}.section-tab{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-right:var(--gutter);margin-bottom:16px}.section-tab .page-tab{view-transition-name:none}.standalone-link{font:500 12px/1.5 var(--font);min-height:44px;display:flex;align-items:center;white-space:nowrap;color:var(--ink-2)}.home-section h2.display{font:700 var(--fs-display)/1.1 var(--font)}.home-section #all-projects h2.display{font-size:var(--fs-h2)}.home-page .page-tab img{view-transition-name:none}.home-page .arc-outro{padding-bottom:48px}.home-page .contact-section{height:200svh}.home-page site-footer{background:var(--white)}.desktop-nav [aria-current=location]::after{content:'';position:absolute;bottom:2px;inset-inline:0;height:2px;background:var(--orange)}
.gallery-stage:not([data-ready]) .gallery-item:not(:nth-child(8)){visibility:hidden}.gallery-stage:not([data-ready]) .gallery-item:nth-child(8){transform:scale(.78)}
.poster{border-radius:var(--r-md)}.poster img,.product-picture,.product-picture img,.media-zoom img,.cover>img{border-radius:var(--r-sm)}.card,.tile,.tile::after,.cover,.project-row>.cover,.media-zoom,.prototype-shell,.placeholder,.case-hero-grid>.poster,.card-back,.card-front,.card-inner,.card-hover,.fluid-stage{border-radius:var(--r-lg)}.page-tab .poster,.page-tab img,.next-page>.poster,.next-page img{border-radius:var(--r-xs)}.media-lightbox img{border-radius:var(--r-sm)}.tile::before,.product-tab{border-radius:var(--r-xs) var(--r-xs) 0 0}.tile .poster{border-radius:var(--r-lg)}.tile img{border-radius:var(--r-sm)}.gallery-item .poster,.card-front{border:1px solid var(--line)}
.tour-mode,.tour-mode *{cursor:none!important}.tour-mode{scroll-behavior:auto!important}
@media(max-width:600px){.section-tab{gap:12px;padding-right:20px}.section-tab .page-tab{gap:12px}.section-tab .page-tab strong{font-size:12px}.section-tab .page-tab .eyebrow{font-size:9px}.standalone-link{font-size:11px}.home-section h2.display{font-size:var(--fs-display)}}

@media(min-width:901px) and (prefers-reduced-motion:no-preference){.home-page #all-projects{padding-top:120px}}
