.progress{position:fixed;inset:0 auto auto 0;height:3px;background:#126bff;width:100%;transform-origin:left;transform:scaleX(var(--page-progress,0));z-index:25}
.brand img{background:transparent}.logo-object img{width:94%;height:94%}.object-label{font-size:9px}.canvas{animation:none!important;transform:translate3d(0,var(--logo-y,0px),0) rotate(var(--logo-rotation,-13deg));will-change:transform}.logo-object{box-shadow:12px 14px 0 var(--ink)}.hero:before{content:'';position:absolute;inset:90px 0 0;z-index:-1;background-image:radial-gradient(#17191622 .8px,transparent .8px);background-size:25px 25px;transform:translate3d(0,var(--hero-bg-y,0px),0)}.hero .headline{transform:translate3d(0,var(--headline-y,0px),0)}.hero-bottom{position:relative;z-index:7}.ribbon-track{animation:none;transform:translate3d(var(--ribbon-x,0px),0,0)}
.manifesto{position:relative;padding:100px 8vw 120px;overflow:hidden;isolation:isolate;min-height:650px}.manifesto:before{content:'';position:absolute;width:530px;height:530px;right:-140px;top:40px;border:1px solid #17191622;border-radius:50%;transform:translate3d(0,var(--section-bg-y,0px),0);z-index:-1}.manifesto:after{content:'';position:absolute;width:350px;height:350px;right:-50px;top:130px;border:1px solid #17191622;border-radius:50%;transform:translate3d(0,var(--section-bg-y,0px),0);z-index:-1}.manifesto-text{max-width:1150px;font-size:clamp(42px,6.6vw,92px);letter-spacing:-.055em;line-height:1.13;font-weight:750;margin:45px 0 0}.word{display:inline-block;opacity:1}.motion-enabled .word{opacity:var(--word-opacity,.7);transform:translate3d(0,var(--word-y,12px),0)}.manifesto .accent{background:var(--yellow);padding:0 .1em}.manifesto-note{font:11px/1.7 monospace;margin-top:35px;max-width:340px}.work{position:relative;isolation:isolate;overflow:hidden}.work:before{content:'BUILD / CONNECT / CREATE';position:absolute;top:400px;left:-60px;font-size:18vw;font-weight:900;line-height:1;letter-spacing:-.08em;color:#ffffff05;white-space:nowrap;transform:translate3d(0,var(--section-bg-y,0px),0);z-index:-1}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:35px 0 40px}.filters button{cursor:pointer;border:1px solid #f4f1e950;background:transparent;color:var(--paper);border-radius:30px;padding:12px 22px;font-size:13px}.filters button[aria-pressed=true]{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}button:focus-visible{outline:3px solid #126bff;outline-offset:5px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px 35px;align-items:start}.project-card{min-width:0}.project-card[hidden]{display:none!important}.project-card:nth-child(even){margin-top:90px}.project-card a{display:block}.project-card a:hover .project-shot img{filter:saturate(1.08)}.project-shot{position:relative;aspect-ratio:1.42;background:var(--project-color,#353a38);padding:28px;overflow:hidden;border:1px solid #ffffff15}.project-shot img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:4px;transform:translate3d(0,var(--image-y,0px),0) scale(1.07);will-change:transform;box-shadow:0 12px 28px #0003}.project-shot .index{position:absolute;z-index:2;left:12px;bottom:10px;font:10px monospace;background:var(--ink);color:var(--paper);padding:5px 9px}.project-summary{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding-top:20px}.project-summary h3{font-size:clamp(23px,2.4vw,38px);letter-spacing:-.045em;margin:0}.project-summary .visit{font-size:26px;color:var(--yellow)}.project-card p{font-size:13px;line-height:1.7;color:#c2c6b9;margin:9px 0 0;max-width:430px}.project-card .category{font:10px monospace;color:#c2c6b9;letter-spacing:.08em;margin-top:16px}.type-project{display:flex;align-items:center;justify-content:center;padding:30px;font-size:clamp(25px,4vw,60px);font-weight:800;letter-spacing:-.06em;line-height:1;text-align:center;color:var(--paper);min-height:100%;border:1px solid #ffffff20}.type-project small{display:block;font:10px monospace;letter-spacing:.15em;margin-top:18px}.project-detail{margin-top:14px;padding-top:10px;font-size:12px;color:#c2c6b9}.project-detail summary{cursor:pointer;list-style-position:inside}.project-detail p{padding-left:15px}.reveal{opacity:1;transform:none}.motion-enabled .reveal{opacity:var(--reveal-opacity,1);transform:translate3d(0,var(--reveal-y,0px),0)}.contact{position:relative;isolation:isolate;overflow:hidden}.contact:before{content:'';position:absolute;right:-100px;top:40px;width:460px;height:460px;border:1px solid #17191625;border-radius:50%;z-index:-1;transform:translate3d(0,var(--section-bg-y,0px),0)}.contact h2 .word{margin-right:.12em}.footer{position:relative}.footer .brand img{width:55px;height:37px}.filters[hidden]{display:none}.project-grid:has(.project-card:not([hidden]):only-child){grid-template-columns:1fr}.source-note{font:10px/1.7 monospace;color:#c2c6b9;max-width:650px;margin-top:55px}.work-heading .word{margin-right:.16em}
@media(max-width:850px){.project-grid{gap:50px 20px}.project-shot{padding:16px}.project-card:nth-child(even){margin-top:55px}.manifesto{padding:75px 5vw;min-height:500px}}
@media(max-width:560px){.project-grid{grid-template-columns:1fr;gap:40px}.project-card:nth-child(even){margin-top:0}.project-shot{padding:22px;aspect-ratio:1.3}.project-summary h3{font-size:29px}.type-project{font-size:45px}.manifesto{padding:60px 5vw;min-height:0}.manifesto-text{font-size:11vw;margin-top:30px}.manifesto-note{font-size:9px}.filters{gap:7px}.filters button{padding:10px 15px;font-size:12px}.object-label{font-size:6px}.hero .headline{transform:none}.logo-object{box-shadow:8px 9px 0 var(--ink)}.stamp{top:10px}.project-card p{font-size:13px}.source-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){.canvas{transform:rotate(-13deg)!important}.hero .headline,.hero:before,.manifesto:before,.manifesto:after,.work:before,.contact:before,.ribbon-track,.project-shot img,.motion-enabled .reveal,.motion-enabled .word{transform:none!important}.motion-enabled .word,.motion-enabled .reveal{opacity:1!important}.project-shot img{will-change:auto}}

/* Scroll position drives the scene; no timers or scroll interception. */
.scene-counter{display:none}
.theme-background{display:none}
.project-shot{border-radius:18px}.project-shot img{border-radius:10px;transform:none!important;will-change:auto}.type-project{border-radius:10px}
.motion-enabled .theme-background{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.depth-0{z-index:0}.depth-1{z-index:1}.depth-2{z-index:2}
.motion-enabled .project-card{perspective:1200px}
.motion-enabled .project-card .project-shot{transform:translateZ(var(--frame-z,-360px)) rotateY(var(--frame-tilt,14deg));transform-origin:center;backface-visibility:hidden}
.motion-enabled .project-card .project-summary{transform:translate3d(var(--copy-x,0),0,var(--copy-z,0));transform-origin:left center}
.motion-enabled .project-card>p{translate:var(--copy-x,0) 0}
/* Clip horizontal flight inside the sticky stage, not its ancestors. */
.motion-enabled .work{overflow:visible;isolation:auto}
.motion-enabled .work:before{display:none}
.motion-enabled .project-sequence{height:var(--sequence-height);position:relative}
.motion-enabled .project-grid{position:sticky;top:80px;height:calc(100svh - 80px);display:block;overflow:hidden;margin:0 -4vw;padding:0 4vw}
.motion-enabled .project-card{position:absolute;inset:6% 4vw 12%;margin:0;display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:1fr auto auto 1fr;column-gap:5vw;align-content:center;opacity:var(--scene-opacity,0);transform:translate3d(var(--scene-x,65vw),var(--scene-y,12vh),0) rotate(var(--scene-rotate,12deg)) scale(var(--scene-scale,.82));transform-origin:50% 65%;pointer-events:none}
.motion-enabled .project-card:not([inert]){pointer-events:auto}
.motion-enabled .project-card a{display:contents}
.motion-enabled .project-shot{grid-column:1;grid-row:1 / 5;align-self:center;aspect-ratio:1.3;max-height:65vh;width:100%;padding:24px}
.motion-enabled .project-summary{grid-column:2;grid-row:2;padding:0 0 10px;align-items:center;container-type:inline-size;clip-path:inset(0 0 var(--text-mask,100%) 0)}
.motion-enabled .project-summary h3{font-size:clamp(24px,11cqi,72px);line-height:1.1;overflow-wrap:normal;transform:translateY(var(--text-shift,105%))}
.project-summary .visit{flex-shrink:0}
.motion-enabled .project-card>p{grid-column:2;grid-row:3;font-size:clamp(15px,1.4vw,21px);line-height:1.55;clip-path:inset(0 0 var(--description-mask,100%) 0);transform:translateY(calc(var(--text-shift,105%) * .2))}
.motion-enabled .project-card>.category{grid-column:2;grid-row:4;align-self:start;clip-path:inset(0 0 var(--description-mask,100%) 0)}
.motion-enabled .project-detail{grid-column:2;grid-row:4;align-self:end;max-height:15vh;overflow:auto}
.motion-enabled .scene-counter{display:block;position:absolute;bottom:25px;left:4vw;font:11px monospace;letter-spacing:.1em;color:var(--yellow);z-index:30}
@media(max-width:700px){
 .motion-enabled .project-card{inset:5% 5vw 10%;grid-template-columns:1fr;grid-template-rows:auto auto auto auto;gap:10px;align-content:center}
 .motion-enabled .project-shot{grid-column:1;grid-row:1;max-height:42svh;aspect-ratio:1.5;padding:15px;align-self:end}
 .motion-enabled .project-summary{grid-column:1;grid-row:2;padding:5px 0 0}
 .motion-enabled .project-card>p{grid-column:1;grid-row:3;font-size:14px;margin:0}
 .motion-enabled .project-card>.category{grid-column:1;grid-row:4;margin:0;font-size:9px}
 .motion-enabled .project-detail{grid-column:1;grid-row:4;justify-self:end;font-size:10px;margin:0;max-width:55%}
 .motion-enabled .scene-counter{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.project-sequence{height:auto!important}.project-card{position:static!important;opacity:1!important;transform:none!important}.project-summary,.project-card>p,.category{clip-path:none!important}.project-summary h3{transform:none!important}}
.project-film{padding:60px 4vw;background:var(--paper);color:var(--ink)}.project-film h2{font-size:clamp(32px,5vw,64px);letter-spacing:-.05em}.project-film [data-external-slot]{max-width:960px;margin:auto}.motion-enabled .project-card a:focus-visible .project-shot,.motion-enabled .project-card a:focus-visible .project-summary{outline:3px solid var(--yellow);outline-offset:4px}
.type-project{background:var(--ink)}
.project-language-note{display:block;margin-top:8px;letter-spacing:0;line-height:1.4}
.project-thumbnails{display:flex;gap:8px;margin-top:12px;max-width:100%}.project-thumbnails[hidden]{display:none}.project-thumbnails button{flex:1 1 0;min-width:44px;max-width:88px;height:60px;padding:3px;border:2px solid #f4f1e960;border-radius:7px;background:var(--ink);cursor:pointer}.project-thumbnails button[aria-pressed=true]{border-color:var(--yellow)}.project-thumbnails button:hover{border-color:var(--paper)}.project-thumbnails button[aria-pressed=true]:hover{border-color:var(--yellow)}.project-thumbnails img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;border-radius:3px;pointer-events:none}.project-view-label{position:absolute;top:10px;left:12px;max-width:calc(100% - 24px);padding:5px 9px;background:var(--ink);color:var(--paper);font:10px/1.4 monospace;border-radius:3px;pointer-events:none}
.motion-enabled .project-card{grid-template-rows:1fr auto auto 1fr auto}.motion-enabled .project-shot{max-height:56svh}.motion-enabled .project-thumbnails{grid-column:1;grid-row:5;margin-top:8px;align-self:start}
@media(max-width:700px){.motion-enabled .project-card{grid-template-rows:auto auto auto auto auto;gap:8px}.motion-enabled .project-shot{max-height:34svh}.motion-enabled .project-thumbnails{grid-column:1;grid-row:2;margin-top:0}.motion-enabled .project-summary{grid-row:3}.motion-enabled .project-card>p{grid-row:4}.motion-enabled .project-card>.category,.motion-enabled .project-detail{grid-row:5}.project-thumbnails button{height:48px;max-width:78px}.project-view-label{font-size:9px;top:7px;left:7px}}
@media(max-width:560px){header{flex-wrap:wrap;gap:6px}.nav{width:100%;justify-content:space-between;gap:10px}.nav>a:not(.talk){display:inline-flex;align-items:center;min-height:44px}.nav a{font-size:12px}.motion-enabled .project-grid{top:105px;height:calc(100svh - 105px)}.hero{padding-top:155px}.project-film{padding:40px 5vw}}
