html{scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:hidden}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
@view-transition{navigation:none}
.entrance-wipe{display:none}
.route-loader{position:fixed;inset:-40px 0;z-index:200;background:var(--red);color:#000;display:grid;place-items:center;pointer-events:none;transform:translateY(110%);visibility:hidden;will-change:transform}
.route-loader.active{visibility:visible;pointer-events:all}
.route-title{text-align:center;font-size:clamp(44px,10vw,160px);font-weight:700;letter-spacing:-.065em;line-height:.87;text-transform:uppercase;max-width:90vw}
.route-title>span{display:block;overflow:hidden;padding:.06em 0}.route-title b{display:block;font:inherit;transform:translateY(130%)}
.sound-toggle{position:fixed;z-index:44;left:calc(var(--gutter) + 216px);bottom:16px;display:flex;gap:9px;align-items:center;min-height:44px;padding:10px 8px;font-size:9px;background:#000a;border-radius:3px}
.sound-bars{height:15px;display:flex;align-items:center;gap:2px}.sound-bars i{display:block;background:var(--red);height:3px;width:2px;transition:height .4s}.sound-toggle[aria-pressed=true] i:nth-child(1){height:7px}.sound-toggle[aria-pressed=true] i:nth-child(2){height:15px}.sound-toggle[aria-pressed=true] i:nth-child(3){height:11px}.sound-toggle[aria-pressed=true] i:nth-child(4){height:5px}
.site-header nav{transform-origin:bottom right;overflow:hidden}
.cursor-label{border-radius:0;width:7px;height:7px;background:var(--red);color:transparent;opacity:1;transform:translate(-50px,-50px);transition:width .3s,height .3s,border-radius .3s,color .3s;will-change:transform}
.cursor-label.visible{width:78px;height:78px;border-radius:50%;color:white;font-size:9px;text-align:center;white-space:normal;padding:12px}
.project-strip{overflow:hidden;scroll-behavior:auto;touch-action:pan-y;scroll-snap-type:none}
.strip-card .project-image{height:60vh;will-change:height}
.strip-card .project-image img{height:60vh;max-width:none;object-fit:cover;will-change:transform;transition:none}
.strip-card:hover .project-image img{transform:none}
.strip-card .project-caption{bottom:auto;top:100%;background:transparent;color:#fff;padding:13px 20px;transition:opacity .4s,transform .6s var(--ease)}
.strip-card .project-caption h2{font-size:clamp(20px,2vw,30px);line-height:.95;text-transform:uppercase;font-weight:650}
.strip-card .project-caption p{font-size:11px;text-transform:uppercase}.home-work{overflow:visible}.project-strip{overflow-y:hidden;height:66vh}.strip-toolbar{top:62vh;z-index:3}
.home-intro{bottom:28px}.is-home{min-height:720px}.home-main{overflow:hidden}
[data-reveal]{transition:opacity .8s var(--ease),transform .9s var(--ease)}
.js-motion [data-reveal]:not(.is-revealed){opacity:0;transform:translateY(44px)}
[data-title-line]{display:block}
.stage-neighbors{inset:0;pointer-events:none}.stage-neighbors button{position:absolute;left:50vw;top:calc(50vh + var(--row)*11vh);font-size:clamp(22px,2.15vw,34px);width:29vw;transform:translateX(calc(var(--distance)*-2.6vw));color:#777;pointer-events:auto;line-height:.9;max-width:420px}
.stage-neighbors .label{position:absolute;right:calc(100% + 38px);top:10px}
.stage-image{left:30.35vw;top:30.3vh;width:39.3vw;isolation:isolate}.stage-image img{aspect-ratio:1.59;object-fit:cover}
.stage-info{top:46vh;left:72.8vw}.stage-number{left:25vw;top:49vh}.stage-category{margin-top:12px;order:2}.stage-title{font-size:clamp(28px,3.15vw,48px);font-weight:700}.stage-info{display:flex;flex-direction:column;align-items:start}.stage-link{order:3;margin-top:15px}.stage-controls{order:4;margin-top:15px}.stage-info .stage-category{order:2;margin-bottom:0}.work-stage{height:100svh;min-height:650px}.is-works .compact{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000);z-index:12}
/* Project case studies: full-screen opening, shrinking title, generous editorial spacing. */
.case-page{padding:0}.case-hero{height:100svh;min-height:540px;position:relative;overflow:hidden;background:#111}.case-hero-media{position:absolute;inset:0;overflow:hidden}.case-hero-media img{width:100%;height:100%;object-fit:cover;will-change:transform}.case-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(#0003,transparent 35%,#0003);pointer-events:none}
.case-mini{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:39;text-align:center;pointer-events:none;mix-blend-mode:difference;color:#fff;max-width:65vw}.case-mini strong{font-size:28px;line-height:.9;letter-spacing:-.05em;font-weight:700;text-transform:uppercase}.case-mini>.label{display:block;font-size:9px;margin-top:6px}
.case-back,.case-scroll{position:absolute;z-index:2;color:white;mix-blend-mode:difference}.case-back{left:var(--gutter);top:32px}.case-scroll{bottom:34px;left:50%;transform:translateX(-50%)}
.case-content{position:relative;padding-top:60px}.case-title-wrap{position:sticky;top:20px;z-index:38;text-align:center;pointer-events:none;mix-blend-mode:difference;color:#fff;padding:0 8vw;transform-origin:50% 0;will-change:transform;max-width:100%;margin-bottom:160px}.case-title-wrap h1{font-size:clamp(64px,12.5vw,210px);line-height:.85;font-weight:700;letter-spacing:-.065em;text-transform:uppercase;overflow-wrap:anywhere}.case-title-wrap>.label{margin-top:20px;font-size:12px}
.case-description{margin:0 10.2vw 70px}.case-description h2{margin-bottom:26px}.case-description>p{font-size:clamp(32px,4vw,64px);letter-spacing:-.045em;line-height:1.07;max-width:1120px}
.case-details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;margin:0 10.2vw 160px}.case-details .label{margin-bottom:18px}.case-details>div>p:not(.label){font-size:20px}.case-source{display:inline-block;padding:12px 20px;background:var(--red);color:white;border-radius:2px;margin-top:0!important}
.case-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:15px;row-gap:clamp(60px,11vw,180px);padding:0 30px;align-items:start}.case-media{position:relative;background:transparent;min-width:0;overflow:visible}.case-media img{width:100%;height:auto;display:block}.case-media picture{display:block}.case-media.wide{grid-column:2/12}.case-media.full{grid-column:1/-1}.case-media.small{grid-column:2/6}.case-media.large{grid-column:7/12}.case-media.large+.case-media.small{grid-column:2/6}.case-media.small+.case-media.large{grid-column:7/12}
.case-next{display:grid;grid-template-columns:2fr 4fr 2fr;gap:3vw;align-items:center;margin:180px 14vw 0;padding:100px 0 180px}.case-next>.label{text-align:right}.case-next-image{overflow:hidden}.case-next img{aspect-ratio:1.6;object-fit:cover;transition:transform .9s var(--ease)}.case-next:hover img{transform:scale(1.04)}.case-next h2{font-size:clamp(24px,2.3vw,40px);line-height:.95;letter-spacing:-.045em;text-transform:uppercase;font-weight:650}.case-next div>.label{font-size:10px;margin-top:12px}
.is-case .site-footer,.is-about .site-footer{position:fixed;bottom:0;left:0;right:0;z-index:35;border:0;padding-top:15px;background:linear-gradient(transparent,#000c)}.is-case .footer-location,.is-about .footer-location{display:none}.is-case .menu-toggle,.is-about .menu-toggle{bottom:80px}
.media-canvas{position:fixed;inset:0;pointer-events:none;z-index:7;width:100%;height:100%}.media-canvas~.cursor-label{z-index:50}.gpu-media-ready{opacity:0!important}
/* About contains only the supplied biography, services and experience. */
.refined-about{padding:0}.about-title-scene{height:100svh;min-height:650px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.about-name{font-size:clamp(80px,16vw,270px);font-weight:700;letter-spacing:-.075em;line-height:.8;text-align:center;width:100%;padding:0 4vw}.about-name span+span{margin-top:.08em}.about-kicker{position:absolute;left:var(--gutter);top:38px;color:var(--gray)}.about-scroll{position:absolute;left:50%;transform:translateX(-50%);bottom:85px;font-size:10px}
.about-statement{margin:120px 10.2vw 180px}.about-statement h2{margin-bottom:35px}.about-statement p{font-size:clamp(30px,4.6vw,74px);line-height:1.04;letter-spacing:-.045em}.about-services,.about-experience{margin:0 10.2vw 160px}.about-services>h2,.about-experience>h2{margin-bottom:55px}.about-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px}.about-service-grid h3{font-size:clamp(24px,2.3vw,40px);text-transform:uppercase;letter-spacing:-.035em;line-height:.94;margin:24px 0;font-weight:650}.about-service-grid li{color:#aaa;font-size:16px;line-height:1.6}.about-experience{display:grid;grid-template-columns:1fr 3fr;gap:45px}.about-experience p{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding:22px 0;font-size:24px;letter-spacing:-.02em}.about-experience p span+span{color:#999;font-size:18px;align-self:center}.about-closing{margin:0 10.2vw;padding:70px 0 190px;display:flex;flex-direction:column;align-items:start;gap:25px}.about-closing>a:not(.label){font-size:clamp(62px,9vw,150px);font-weight:600;line-height:.95;letter-spacing:-.065em}.about-closing>a:hover{color:var(--red)}
@media(max-width:1000px){.case-details{margin-bottom:110px}.case-title-wrap{margin-bottom:100px}.case-next{margin:90px 8vw 0}.about-service-grid{grid-template-columns:1fr 1fr;row-gap:65px}.about-experience{grid-template-columns:1fr}.sound-toggle{left:calc(var(--gutter) + 200px)}.stage-neighbors button{width:35vw}.case-gallery{padding:0 20px}}
@media(max-width:650px){
.sound-toggle{left:14px;bottom:16px;background:#000b;font-size:8px;min-width:100px}.cursor-label{display:none}.strip-card .project-image,.strip-card .project-image img{height:50svh}.project-strip{height:57svh}.strip-toolbar{top:55svh}.strip-card .project-caption{padding:10px 13px;opacity:1;transform:none}.strip-card .project-caption h2{font-size:18px}.strip-card .project-caption p{font-size:9px}.home-intro{bottom:60px}.is-home{min-height:860px}.home-summary{width:88%}.home-signature h1{font-size:23vw}.home-intro{gap:20px}
.stage-image{inset:0;width:100%;height:100%}.stage-image img{aspect-ratio:auto;object-fit:cover}.stage-info{top:45vh;left:48vw;right:20px}.stage-title{font-size:35px}.stage-number{top:50vh;left:20px}.stage-neighbors button{left:55vw;top:calc(50vh + var(--row)*15vh);font-size:23px;width:43vw;transform:translateX(calc(var(--distance)*-2vw));color:#aaa}.stage-neighbors .label{right:calc(100% + 20px);font-size:8px}.stage-category{font-size:8px}.stage-link{font-size:8px}.stage-controls{gap:13px}.work-thumbnails{display:none}.is-works .compact{display:none}
.case-hero{min-height:550px}.case-back{top:28px;font-size:9px}.case-mini{top:25px;max-width:52vw}.case-mini strong{font-size:19px}.case-mini>.label{font-size:7px}.case-scroll{bottom:85px;font-size:9px}.case-content{padding-top:65px}.case-title-wrap{top:24px;margin-bottom:85px;padding:0 20px}.case-title-wrap h1{font-size:16vw}.case-title-wrap>.label{font-size:9px;margin-top:14px}.case-description{margin:0 20px 45px}.case-description>p{font-size:34px}.case-description h2{font-size:9px;margin-bottom:20px}.case-details{margin:0 20px 85px;grid-template-columns:1fr 1fr;gap:30px 20px}.case-details>div:last-child{grid-column:1/-1}.case-details .label{font-size:9px;margin-bottom:9px}.case-details>div>p:not(.label){font-size:17px}.case-gallery{display:flex;flex-direction:column;gap:45px;padding:0 20px}.case-media{width:100%;transform:none!important}.case-media.small{width:72%;align-self:start}.case-media.large{width:88%;align-self:end}.case-media.full{width:calc(100% + 40px);margin-left:-20px}.case-next{margin:80px 20px 0;padding:40px 0 140px;grid-template-columns:1fr 1fr;gap:20px}.case-next>.label{grid-column:1/-1;text-align:left;font-size:9px}.case-next h2{font-size:25px}.case-next-image{min-width:0}.case-next img{aspect-ratio:1.15}.case-next div>.label{font-size:8px}.is-case .compact,.is-about .compact{display:none}.is-case .menu-toggle,.is-about .menu-toggle{bottom:20px}.media-canvas{display:none}
.about-title-scene{min-height:670px}.about-name{font-size:20.5vw;line-height:.84}.about-kicker{font-size:8px;max-width:230px;top:30px}.about-scroll{bottom:90px;white-space:nowrap;font-size:9px}.about-statement{margin:30px 20px 90px}.about-statement p{font-size:36px}.about-statement h2{font-size:10px;margin-bottom:25px}.about-services,.about-experience{margin:0 20px 80px}.about-service-grid{gap:50px 25px}.about-service-grid h3{font-size:25px}.about-service-grid li{font-size:14px}.about-service-grid .label{font-size:9px}.about-services>h2,.about-experience>h2{font-size:10px;margin-bottom:30px}.about-experience{gap:0}.about-experience p{font-size:21px;flex-direction:column;gap:9px;padding:24px 0}.about-experience p span+span{font-size:15px;align-self:start}.about-closing{margin:0 20px;padding:20px 0 160px;gap:25px}.about-closing .label{font-size:9px}.about-closing>a:not(.label){font-size:16vw}
}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important;transition:none}.route-loader{display:none}.case-hero-media img,.case-title-wrap{transform:none!important}.case-title-wrap{position:relative;top:0}.case-mini{position:absolute}.media-canvas{display:none}.gpu-media-ready{opacity:1!important}.project-image img{transition:none}.cursor-label{display:none}}

:root{--ease:cubic-bezier(.19,1,.22,1)}

.stage-image{overflow:hidden}.stage-neighbors button{transform:none}

.route-loader{left:-50%;right:-50%;border-radius:50% / 40px}
@media(max-width:650px){.gpu-media-ready{opacity:1!important}}
