:root{--orange:#ff3b25;--cream:#e9e9e4;--black:#141414;--card:#191a1d;--line:#27292c;--container:1170px;--gutter:24px;--section-space:112px;--headline:clamp(48px,6.944vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--cream);color:var(--black);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}p{margin:0}img{display:block;max-width:100%}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid currentColor;outline-offset:7px}.container{width:min(var(--container),calc(100% - var(--gutter)*2));margin-inline:auto}h1,h2{margin:0;font-size:var(--headline);font-weight:500;line-height:.94;letter-spacing:-.05em}h3{margin:0}p{font-size:18px;line-height:1.3}strong{font-weight:700}.skip{position:fixed;top:12px;left:16px;transform:translateY(-150%);padding:12px 20px;background:#fff;color:#141414;z-index:10}.skip:focus{transform:none}.pill{display:inline-flex;align-items:center;justify-content:center;min-width:148px;min-height:55px;padding:10px 26px;border:0;border-radius:100px;background:var(--orange);color:white;font-size:24px;line-height:1.3;letter-spacing:-.07em;white-space:nowrap;transition:transform .2s,filter .2s}.pill:hover{filter:brightness(.92);transform:translateY(-2px)}.pill.dark{background:var(--black)}
.hero{position:relative;min-height:1024px;background:var(--orange);color:#fff;display:flex;flex-direction:column;isolation:isolate}.hero-art{position:absolute;inset:0;z-index:-1;background:url('assets/figma-v2/hero.svg') center/100% 100% no-repeat}.hero-content{padding-top:350px}.hero h1{white-space:nowrap}.hero-services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:80px}.hero-services p{font-size:18px;line-height:1;margin-bottom:18px}.hero-services p:last-child{margin:0}.nav{display:flex;align-items:center;justify-content:space-between;min-height:77px;padding:11px 16px 11px 32px;margin-top:auto;margin-bottom:47px;border-radius:100px;background:#d9d9d933}.logo img{width:206px;height:auto}.nav .pill{background:#000}
.intro{padding-top:var(--section-space);padding-bottom:136px}.copy-row{display:grid;grid-template-columns:220px minmax(0,572px);gap:20px;margin-top:80px;align-items:start}.copy-row>.pill{justify-self:end}.copy-row p+p{margin-top:18px}.intro-photo{margin-top:112px;border-radius:30px;overflow:hidden;aspect-ratio:1164/452}.intro-photo img{width:100%;height:100%;object-fit:cover;object-position:top}
.dark-section{position:relative;background:var(--black);color:white;border-radius:50px;margin-top:-50px;padding:96px 0 240px;z-index:1}.impact-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end}.unified{display:flex;align-items:center;gap:10px;margin-bottom:12px;white-space:nowrap;font-size:18px}.unified img{width:51.2744px;height:61.8895px;flex-shrink:0}.problems{margin-top:176px;display:grid;gap:16px;max-width:1114px}.problem{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden}.problem summary{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:24px 28px 24px 118px;list-style:none;font-size:30px;line-height:1.3;cursor:pointer}.problem summary::-webkit-details-marker{display:none}.problem summary img{flex-shrink:0;width:18px;height:18px;transition:transform .2s}.problem[open] summary img{transform:rotate(45deg)}.problem-body{padding:0 80px 40px 118px;max-width:900px}.problem-body strong{display:block;font-size:24px;font-weight:500;margin:8px 0 16px}.problem-body p{font-size:18px;line-height:1.5;color:#d8d8d5}
.divider{height:1px;max-width:1066px;margin:120px auto;background:url('assets/figma-v2/divider.svg') center/100% 1px no-repeat}.labs h2{font-size:clamp(80px,12.5vw,180px);text-align:center;line-height:.94;letter-spacing:-.05em}.labs-intro{max-width:454px;margin:32px auto 0;text-align:center}.labs-intro p{line-height:1.1;letter-spacing:-.035em}.labs-intro p+p{margin-top:18px}.labs-content{width:694px;max-width:100%;margin:96px auto 0}.stage-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.stage-tab{aspect-ratio:1;border:1px solid var(--line);border-radius:34px;background:var(--card);color:white;padding:18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;transition:background .18s,color .18s}.stage-tab>span:last-child{align-self:center;margin-bottom:6px;font-size:30px;line-height:1;letter-spacing:-.05em}.stage-tab[aria-selected=true]{background:white;color:var(--black)}.stage-tab:hover{border-color:#737478}.stage-icon{width:51px;height:51px;display:grid;place-items:center;background:var(--black);border:1px solid var(--line);border-radius:13px}.stage-icon img{width:32px;height:32px}.stage-detail{margin-top:72px;display:grid;grid-template-columns:217px minmax(0,1fr);gap:20px;align-items:start}.stage-detail>.pill{justify-self:start}.stage-panel{min-height:140px}.stage-panel h3{font-size:48px;line-height:1;letter-spacing:-.025em;font-weight:700}.stage-panel p{font-size:18px;line-height:1.25;margin-top:24px}.stage-panel[hidden]{display:none}
.closing{margin-top:-50px;padding-top:176px;background:var(--orange);color:white;overflow:hidden}.closing h2{max-width:740px}.closing .copy-row{margin-top:64px}.footer-word{margin-top:220px;width:100%;overflow:hidden}.footer-word img{width:100%;height:auto}.footer-meta{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:24px;min-height:80px;padding:20px;background:var(--cream);font-size:15px;line-height:1.2}.footer-meta span:nth-child(2){text-align:center;white-space:nowrap}
@media(min-width:1700px){.hero-content{padding-top:350px}}
@media(max-width:1100px){:root{--gutter:48px;--section-space:88px}.hero{min-height:900px}.hero-content{padding-top:280px}.hero h1{white-space:normal}.hero-services{grid-template-columns:1fr 1fr;max-width:700px}.intro{padding-bottom:120px}.copy-row{grid-template-columns:180px minmax(0,572px)}.impact-heading{align-items:flex-start;flex-direction:column;gap:40px}.unified{align-self:flex-end}.problems{margin-top:96px}.problem summary{padding-left:48px;font-size:26px}.problem-body{padding-left:48px}.dark-section{padding-bottom:160px}.divider{margin-block:96px}.footer-word{margin-top:160px}}
@media(max-width:700px){:root{--gutter:24px;--section-space:64px;--headline:clamp(40px,10.4vw,70px)}.hero{min-height:780px;min-height:max(780px,100svh)}.hero-content{padding-top:220px}.hero h1{line-height:1}.hero-services{margin-top:48px;grid-template-columns:1fr;gap:18px}.hero-services p{font-size:15px;line-height:1.2;margin-bottom:18px}.nav{min-height:64px;margin-bottom:24px;padding:10px 12px 10px 20px}.logo img{width:145px}.nav .pill{font-size:18px;min-width:110px;min-height:44px;padding:8px 18px}.pill{font-size:20px;min-height:50px;min-width:138px}.intro{padding-bottom:100px}.copy-row{grid-template-columns:1fr;gap:28px;margin-top:40px}.copy-row>.pill{justify-self:start;grid-row:2}.copy-row p{font-size:17px;line-height:1.4}.intro-photo{margin-top:48px;aspect-ratio:1.5;border-radius:20px}.dark-section{border-radius:28px;margin-top:-28px;padding:64px 0 96px}.impact-heading{gap:24px}.unified{font-size:13px;gap:6px;align-self:flex-start;margin:0}.unified img{width:36px;height:auto}.problems{margin-top:56px;gap:12px}.problem{border-radius:16px}.problem summary{font-size:20px;line-height:1.3;padding:24px;gap:20px;min-height:96px}.problem-body{padding:0 24px 28px}.problem-body strong{font-size:21px}.problem-body p{font-size:16px}.divider{margin:64px auto}.labs h2{font-size:clamp(60px,16vw,100px)}.labs-intro{margin-top:28px}.labs-intro p{font-size:17px;line-height:1.3;letter-spacing:-.02em}.labs-content{margin-top:48px}.stage-tabs{gap:10px}.stage-tab{border-radius:20px;padding:10px;min-height:128px;aspect-ratio:auto}.stage-tab>span:last-child{font-size:19px;margin-bottom:6px;letter-spacing:-.04em}.stage-icon{width:40px;height:40px;border-radius:10px}.stage-icon img{width:28px;height:28px}.stage-detail{grid-template-columns:1fr;margin-top:36px;gap:28px}.stage-detail>.pill{grid-row:2}.stage-panel{min-height:125px}.stage-panel h3{font-size:36px}.stage-panel p{font-size:17px;margin-top:18px}.closing{margin-top:-28px;padding-top:104px}.closing .copy-row{margin-top:40px}.footer-word{margin-top:112px}.footer-meta{grid-template-columns:1fr;gap:12px;padding:24px;font-size:12px}.footer-meta span:nth-child(2){text-align:left;white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* A cursor-driven, feathered blur lens. The original text stays semantic. */
.hero{overflow:hidden}
.hero-content{position:relative;z-index:1}
.hero-glass{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;filter:blur(1.5px)}
@media(prefers-reduced-motion:reduce){.hero-glass{display:none}}

.hero-blur-lens{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);--blur-x:50%;--blur-y:50%;--blur-radius:240px;mask-image:radial-gradient(ellipse var(--blur-radius) calc(var(--blur-radius)*.85) at var(--blur-x) var(--blur-y),#000 0%,#000f 12%,#000e 24%,#000b 38%,#0007 54%,#0003 72%,#0001 86%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse var(--blur-radius) calc(var(--blur-radius)*.85) at var(--blur-x) var(--blur-y),#000 0%,#000f 12%,#000e 24%,#000b 38%,#0007 54%,#0003 72%,#0001 86%,transparent 100%)}
@media (prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.hero-blur-lens{display:none!important}.hero h1{transform:none!important}}

/* Viewport-fixed glass navigation, outside the hero's clipping/stacking context. */
.nav{position:fixed;left:50%;bottom:47px;transform:translateX(-50%);z-index:100;width:min(1164px,calc(100% - var(--gutter)*2));margin:0;min-height:77px;background:linear-gradient(112deg,#ffffff28 0%,#ffffff09 35%,#ffffff05 62%,#ffffff20 100%),#22222212;border:1px solid #ffffff55;backdrop-filter:blur(9px) saturate(155%) contrast(108%);-webkit-backdrop-filter:blur(9px) saturate(155%) contrast(108%);box-shadow:inset 0 1px 0 #ffffffa6,inset 0 -1px 0 #ffffff30,inset 2px 0 3px #ffffff35,inset -2px 0 3px #ffffff25,0 8px 28px #00000014;isolation:isolate}
.nav::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,#ffffff18,transparent 48%,#00000006);box-shadow:inset 0 0 12px #ffffff12;z-index:-1}
.nav .logo img{filter:drop-shadow(0 1px 2px #0005)}
.nav .pill{box-shadow:inset 0 1px 0 #ffffff20,0 1px 3px #0002}
.footer-meta{padding-bottom:150px}
@media(max-width:700px){.nav{bottom:max(18px,env(safe-area-inset-bottom));min-height:64px;width:calc(100% - 32px);margin:0}.footer-meta{padding-bottom:112px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.nav{background:#363636eb}}

/* Clear glass center with curved specular edges and a subtle lower reflection. */
.nav{background:linear-gradient(115deg,#ffffff24,transparent 28%,transparent 72%,#ffffff18);border-color:#ffffff80;backdrop-filter:blur(3px) saturate(125%);-webkit-backdrop-filter:blur(3px) saturate(125%);box-shadow:inset 0 2px 1px #ffffffe0,inset 2px 0 2px #ffffff70,inset -2px 0 2px #ffffff55,inset 0 -2px 2px #ffffff90,0 8px 24px #00000020}
.nav::before{background:linear-gradient(180deg,#ffffff38 0%,#ffffff0a 20%,transparent 40%,transparent 72%,#ffffff16 100%);box-shadow:inset 0 6px 8px -7px #fff,inset 0 -7px 9px -8px #fff}
.nav::after{content:'';position:absolute;inset:4px;border-radius:inherit;pointer-events:none;border:1px solid #ffffff12;border-top-color:#ffffff40;border-bottom-color:#ffffff30;z-index:-1}
.footer-word{line-height:0;margin-bottom:-.55vw}.footer-word img{display:block}

/* Lift the fixed glass nav into the intended lower breathing room. */
.nav{bottom:64px}
@media(max-width:700px){.nav{bottom:max(30px,env(safe-area-inset-bottom))}}

/* Match the supplied crop: wide frame, with the subject held high/right. */
.intro-photo img{object-position:center 36%}

/* Restrained feedback for controls; no continuous decorative motion. */
.pill{transition:transform .28s cubic-bezier(.22,1,.36,1),filter .28s,box-shadow .28s}
.stage-tab{transition:background .28s,color .28s,border-color .28s,transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s}
.problem{transition:border-color .28s,background-color .28s}
.problem summary img{transition:transform .3s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.stage-tab:hover{transform:translateY(-3px);box-shadow:0 8px 22px #0002}.problem:hover{border-color:#494b50}.pill:hover{box-shadow:0 5px 16px #0002}}
.pill:active,.stage-tab:active{transform:translateY(0) scale(.985)}
@media(prefers-reduced-motion:reduce){.pill,.stage-tab,.problem,.problem summary img{transition:none!important}.pill:hover,.stage-tab:hover,.pill:active,.stage-tab:active{transform:none}}

/* A single quiet entrance, armed offscreen; no blur, replay, or layout shift. */
.copy-entrance{opacity:1;translate:0 0;transition:opacity .7s ease-out,translate .8s cubic-bezier(.2,.65,.3,1)}
.copy-entrance.copy-waiting{opacity:0;translate:0 16px}
@media(prefers-reduced-motion:reduce){.copy-entrance,.copy-entrance.copy-waiting{opacity:1;translate:none;transition:none}}
@media print{.copy-entrance.copy-waiting{opacity:1;translate:none}}

/* Leave enough hero depth for the fixed nav to sit fully over the orange field. */
.hero{min-height:1120px}
.dark-section.impact-motion{clip-path:inset(0 var(--impact-inset,0%) 0 round 50px 50px 0 0)}
.impact-motion .impact-heading{transform:translateY(var(--impact-lift,0px))}
@media(max-width:700px){.dark-section.impact-motion{clip-path:inset(0 var(--impact-inset,0%) 0 round 28px 28px 0 0)}}
@media(prefers-reduced-motion:reduce){.dark-section.impact-motion{clip-path:none}.impact-motion .impact-heading{transform:none}}
@media(max-width:1100px){.hero{min-height:1000px}}
@media(max-width:700px){.hero{min-height:850px;min-height:max(850px,100svh)}}

/* The original dot-and-ring pointer, softened for the current palette. */
.site-cursor{position:fixed;inset:0;pointer-events:none;z-index:10000;opacity:0;transition:opacity .15s;mix-blend-mode:difference}
.site-cursor.visible{opacity:1}.cursor-dot,.cursor-ring{position:absolute;left:0;top:0;display:block;border-radius:50%;pointer-events:none}
.cursor-dot{width:5px;height:5px;background:#fff;transform:translate3d(var(--cx,0px),var(--cy,0px),0) translate(-50%,-50%)}
.cursor-ring{width:28px;height:28px;border:1px solid #ffffff80;transform:translate3d(var(--rx,0px),var(--ry,0px),0) translate(-50%,-50%);transition:width .25s,height .25s,border-color .25s}
.site-cursor.interactive .cursor-ring{width:40px;height:40px;border-color:#ffffffb3}.site-cursor.pressed .cursor-ring{width:22px;height:22px}
@media(hover:hover) and (pointer:fine){html.custom-pointer,html.custom-pointer *{cursor:none!important}html.custom-pointer :is(input,textarea,[contenteditable]){cursor:text!important}html.custom-pointer select{cursor:auto!important}}
@media(prefers-reduced-motion:reduce),(pointer:coarse){.site-cursor{display:none!important}}

/* Masks clip to the element box: reserve descender space without shifting layout. */
.hero h1{padding-bottom:.3em;margin-bottom:-.3em}
.hero-melt{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0}.hero-melt-copy{position:absolute;filter:blur(7.5px);margin:0;padding-bottom:.3em;font-synthesis:none}@media(prefers-reduced-motion:reduce),(pointer:coarse){.hero-melt{display:none}}

.dark-section{border-bottom-left-radius:0;border-bottom-right-radius:0}


/* Editorial spacing and stable, overlapping Brand Labs panels. */
.intro-copy p,.closing .copy-row p{line-height:1.45;letter-spacing:-.015em;text-wrap:pretty}
.labs-intro p{line-height:1.4;letter-spacing:-.02em;text-wrap:pretty}
.stage-panel h3{line-height:1.06;letter-spacing:-.035em;text-wrap:balance}
.stage-panel p{line-height:1.4;text-wrap:pretty}
.stage-panels{display:grid;min-width:0;align-items:start}
.stage-panels>.stage-panel{grid-area:1/1;min-width:0;opacity:1;visibility:visible;transition:opacity .4s ease,visibility 0s}
.stage-panels>.stage-panel[hidden]{display:block;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility 0s .3s}
@media(max-width:1100px){.hero h1{text-wrap:balance}.intro h2,.closing h2{text-wrap:balance}}
@media(prefers-reduced-motion:reduce){.stage-panels>.stage-panel,.stage-panels>.stage-panel[hidden]{transition:none}}

html.wheel-easing{scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Three project galleries; vertical scrolling drives the desktop filmstrip. */
.selected-work{background:var(--cream);color:var(--black);position:relative;padding:88px 0 140px}
.work-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:48px}
.work-heading h2{font-size:clamp(48px,6vw,88px);line-height:1;letter-spacing:-.06em}
.work-heading p{font-size:16px}
.work-track{display:grid;gap:72px;padding:0 max(24px,calc((100vw - 1170px)/2))}
.project-caption{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:20px}
.project-caption h3{font-size:28px;letter-spacing:-.035em;font-weight:500}.project-caption p{font-size:16px}
.project-images{display:grid;grid-template-columns:1fr 1.5fr;grid-template-rows:1fr 1fr;gap:16px;height:600px}
.project-images img{width:100%;height:100%;min-height:0;object-fit:cover}
.project-1 img:first-child{grid-row:span 2}
.project-2 .project-images{grid-template-columns:1.3fr 1.3fr .9fr}
.project-2 img:first-child{grid-column:span 2}.project-2 img:last-child{grid-column:3;grid-row:1 / 3}
.project-3 img:first-child{grid-row:span 2}.work-progress{display:none}
@media(min-width:801px) and (min-height:650px) and (prefers-reduced-motion:no-preference){
.work-motion{padding:0;height:calc(100svh + var(--work-distance,2000px))}
.work-motion .work-sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.work-motion .work-heading{padding-top:40px;margin-bottom:0}
.work-motion .work-window{position:absolute;top:160px;bottom:155px;left:0;right:0;overflow:hidden}
.work-motion .work-track{display:flex;gap:7vw;width:max-content;height:100%;padding:0 7vw;will-change:transform}
.work-motion .work-project{width:86vw;height:100%;flex:none;display:flex;flex-direction:column}
.work-motion .project-images{flex:1;min-height:0;height:auto}
.work-motion .work-progress{display:block;position:absolute;bottom:130px;left:0;right:0;height:2px;background:#14141422}
.work-progress span{display:block;height:2px;background:var(--orange);transform:scaleX(var(--work-progress,0));transform-origin:left}
}
@media(max-width:800px){.selected-work{padding:64px 0 110px}.work-heading{display:block}.work-heading p{margin-top:16px}.project-caption{display:block}.project-caption p{margin-top:8px}.project-images,.project-2 .project-images{display:flex;flex-direction:column;height:auto;gap:12px}.project-images img{height:auto;object-fit:contain}.work-track{gap:64px}}

.closing h2{max-width:100%}.closing-line{white-space:nowrap}
@media(max-width:700px){.closing h2{font-size:clamp(26px,8.2vw,57px)}}

.closing .copy-row{align-items:center}

/* Open, staggered image compositions with the same rounding as the intro photo. */
.project-images img{border-radius:30px}
@media(min-width:801px){
.project-caption{justify-content:flex-start;gap:28px}
.project-images,.project-2 .project-images{display:block;position:relative;height:680px}
.project-images img{position:absolute;object-fit:cover}
.project-1 img:nth-child(1){left:0;top:3%;width:25%;height:77%}
.project-1 img:nth-child(2){left:32%;top:24%;width:39%;height:72%}
.project-1 img:nth-child(3){left:77%;top:0;width:23%;height:47%}
.project-2 img:nth-child(1){left:0;top:20%;width:31%;height:65%}
.project-2 img:nth-child(2){left:36%;top:0;width:24%;height:48%}
.project-2 img:nth-child(3){left:64%;top:40%;width:21%;height:55%}
.project-2 img:nth-child(4){left:89%;top:4%;width:11%;height:70%}
.project-3 img:nth-child(1){left:0;top:0;width:30%;height:55%}
.project-3 img:nth-child(2){left:36%;top:27%;width:37%;height:70%}
.project-3 img:nth-child(3){left:79%;top:3%;width:21%;height:46%}
}
@media(min-width:801px) and (min-height:650px) and (prefers-reduced-motion:no-preference){
.work-motion .work-track{gap:10vw}
.work-motion .work-project{width:145vw}
.work-motion .project-2{width:190vw}
.work-motion .project-images{height:auto}
}
@media(max-width:800px){
.project-images,.project-2 .project-images{gap:32px}
.project-images img{border-radius:20px;width:90%;align-self:flex-start}
.project-images img:nth-child(even){width:84%;align-self:flex-end}
}

.selected-work[hidden]{display:none!important}
