/* Preserve the optical surface; its skin moves independently of labels. */
.site-header .glass-nav{overflow:visible;--nav-stretch-x:1;--nav-stretch-y:1}
.site-header .glass-nav::before,.site-header .glass-nav::after,.site-header .glass-nav :is(.nav-liquid-backdrop,.nav-optics){transform:scale(var(--nav-stretch-x),var(--nav-stretch-y));transform-origin:50% 50%;will-change:transform}
.nav-socials{display:none}
.site-header :is(.sound-toggle,.theme-toggle){border:0!important;border-radius:19px;background:linear-gradient(128deg,#ffffffb0,#e8e8e870 55%,#f6f6f6a0)!important;color:var(--ink);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);isolation:isolate;transition:transform 550ms cubic-bezier(.16,1,.3,1),background 180ms ease-out}
[data-theme=dark] .site-header :is(.sound-toggle,.theme-toggle){background:linear-gradient(125deg,#5353535c,#3030303a 55%,#b4c9f238)!important}
.site-header :is(.sound-toggle,.theme-toggle)::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(140deg,#ffffff45,transparent 26% 68%,#c4c4c426)}
@media(hover:hover) and (pointer:fine){.site-header :is(.sound-toggle,.theme-toggle):hover{transform:scale(1.09,1.06)}}
.ui-arrow{stroke-width:1.35}.footer-contact .ui-arrow{width:clamp(28px,3.5vw,46px)!important;height:clamp(28px,3.5vw,46px)!important}.footer-contact{gap:clamp(25px,4vw,55px)}
.cursor-light{position:fixed;left:0;top:0;width:560px;height:560px;pointer-events:none;z-index:4;border-radius:50%;opacity:0;background:radial-gradient(ellipse,#7a9bc81a,transparent 68%);mix-blend-mode:multiply;contain:strict;will-change:transform,opacity}
[data-theme=dark] .cursor-light{background:radial-gradient(ellipse,#9fbde520,transparent 68%);mix-blend-mode:screen}
.cursor-light[data-surface=dark]{background:radial-gradient(ellipse,#9fbde520,transparent 68%);mix-blend-mode:screen}.cursor-light[data-surface=light]{background:radial-gradient(ellipse,#7a9bc81a,transparent 68%);mix-blend-mode:multiply}
.cursor-light,.cursor-light[data-surface],html[data-theme] .cursor-light{width:var(--viewport-width,100vw);height:100vh;border-radius:0;background:none;overflow:clip;will-change:opacity}.cursor-light::before{content:'';position:absolute;left:0;top:0;width:560px;height:560px;border-radius:50%;background:radial-gradient(ellipse,#7a9bc81a,transparent 68%);transform:translate3d(var(--light-x,calc(50vw - 280px)),var(--light-y,calc(50vh - 280px)),0);will-change:transform}.cursor-light[data-surface=dark]::before,[data-theme=dark] .cursor-light:not([data-surface=light])::before{background:radial-gradient(ellipse,#9fbde520,transparent 68%)}
@media(hover:none),(pointer:coarse){.cursor-light{display:none}}
/* Native ranges share the owner's approved elastic glass grip. */
.agency-range,.gallery-range,.process-range{appearance:none;-webkit-appearance:none;background:transparent;min-height:52px;touch-action:pan-y}
.agency-range::-webkit-slider-runnable-track,.gallery-range::-webkit-slider-runnable-track,.process-range::-webkit-slider-runnable-track{height:3px;background:color-mix(in srgb,var(--muted) 26%,transparent);border:0;border-radius:4px}
.agency-range::-moz-range-track,.gallery-range::-moz-range-track,.process-range::-moz-range-track{height:3px;background:color-mix(in srgb,var(--muted) 26%,transparent);border:0;border-radius:4px}
.agency-range::-webkit-slider-thumb,.gallery-range::-webkit-slider-thumb,.process-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:46px;height:30px;margin-top:-13.5px;border:1px solid #b3b3b366;border-radius:12px;background:linear-gradient(#51698299,#51698299) 45% 50%/1px 11px no-repeat,linear-gradient(#51698299,#51698299) 55% 50%/1px 11px no-repeat,linear-gradient(125deg,#f1f1f1b8,#b8b8b85b);transition:width 550ms cubic-bezier(.16,1,.3,1);cursor:ew-resize}
.agency-range::-moz-range-thumb,.gallery-range::-moz-range-thumb,.process-range::-moz-range-thumb{width:46px;height:30px;border:1px solid #b3b3b366;border-radius:12px;background:linear-gradient(#51698299,#51698299) 45% 50%/1px 11px no-repeat,linear-gradient(#51698299,#51698299) 55% 50%/1px 11px no-repeat,linear-gradient(125deg,#f1f1f1b8,#b8b8b85b);transition:width 550ms cubic-bezier(.16,1,.3,1);cursor:ew-resize}
.agency-range:active::-webkit-slider-thumb,.gallery-range:active::-webkit-slider-thumb,.process-range:active::-webkit-slider-thumb{width:64px}
.agency-range:active::-moz-range-thumb,.gallery-range:active::-moz-range-thumb,.process-range:active::-moz-range-thumb{width:64px}
.agency-range::-webkit-slider-thumb,.gallery-range::-webkit-slider-thumb,.process-range::-webkit-slider-thumb{}
.agency-range::-moz-range-thumb,.gallery-range::-moz-range-thumb,.process-range::-moz-range-thumb{}
[data-theme=dark] :is(.agency-range,.gallery-range,.process-range)::-webkit-slider-thumb{background:linear-gradient(#e6e6e6b0,#e6e6e6b0) 45% 50%/1px 11px no-repeat,linear-gradient(#e6e6e6b0,#e6e6e6b0) 55% 50%/1px 11px no-repeat,linear-gradient(125deg,#cccccc60,#738ea443);border-color:#d6d6d645}
[data-theme=dark] :is(.agency-range,.gallery-range,.process-range)::-moz-range-thumb{background:linear-gradient(#e6e6e6b0,#e6e6e6b0) 45% 50%/1px 11px no-repeat,linear-gradient(#e6e6e6b0,#e6e6e6b0) 55% 50%/1px 11px no-repeat,linear-gradient(125deg,#cccccc60,#738ea443);border-color:#d6d6d645}
.agency-projects{padding:25px 0 35px;perspective:1300px;overflow-y:clip}.agency-projects>a{transform:translateY(var(--publication-lift,0px)) rotateY(var(--publication-turn,0deg)) scale(var(--publication-depth,1));transform-origin:center;backface-visibility:hidden}
.agency-projects img{aspect-ratio:1.65;border-radius:22px}.agency-projects h3{display:flex;align-items:center;justify-content:space-between;font-size:clamp(29px,3.5vw,49px);letter-spacing:-.04em;margin-top:24px}.agency-projects>a>p{font-size:15px;line-height:1.5;max-width:30em;color:var(--muted)}
/* Atmospheric transitions, rather than rectangular canvas plates. */
.scene-art{background:transparent!important}.explore-orb,.about-orb{overflow:visible!important;mask-image:radial-gradient(ellipse,#000 55%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse,#000 55%,transparent 76%)}
footer{background:transparent!important;overflow:clip}.footer-top{isolation:isolate}.footer-art{width:var(--viewport-width,100vw)!important;max-width:none!important;left:50%!important;transform:translateX(-50%)!important;mask-image:radial-gradient(ellipse at 50% 58%,#000 22%,#000d 43%,transparent 75%)!important;-webkit-mask-image:radial-gradient(ellipse at 50% 58%,#000 22%,#000d 43%,transparent 75%)!important;z-index:0}
.footer-top::before{content:'';position:absolute;left:50%;top:0;bottom:-10%;width:var(--viewport-width,100vw);transform:translateX(-50%);pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 50% 56%,#c6c6c639,transparent 70%)}
[data-theme=dark] .footer-top::before{background:radial-gradient(ellipse at 50% 56%,#3d3d3d39,transparent 70%)}.footer-top h2,.footer-contact{position:relative;z-index:2}
#design-bottom{overflow:visible}.process-scroll{margin-inline:calc(-1 * var(--gutter));width:calc(100% + 2 * var(--gutter))}.process-sticky{border:0!important;border-radius:0!important;background:transparent!important;overflow:clip}
.process-scroll{width:var(--viewport-width,100vw);margin-inline:calc(50% - var(--viewport-half-width,50vw))}
.process-sticky{color:var(--ink)}
.process-sticky .scene-art{mask-image:linear-gradient(transparent,#000 12% 85%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 12% 85%,transparent)}.process-stage-top,.process-scenes,.process-controls{margin-inline:var(--gutter)}.process-scenes{z-index:2}
.pass-feature{margin-inline:calc(-1 * var(--gutter));width:calc(100% + 2 * var(--gutter));border-radius:0!important;background:radial-gradient(ellipse at 74% 50%,#24272d,#0a0d13 58%,transparent 86%)!important;padding:100px calc(var(--gutter) + 2vw)!important;position:relative}
.pass-feature .pass-image{height:auto;min-height:340px!important;aspect-ratio:1.4;overflow:visible;background:none!important}.pass-feature .pass-image img{width:100%;height:100%;margin:0;object-fit:contain;object-position:center;mask-image:radial-gradient(ellipse,#000 32%,#000 50%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse,#000 32%,#000 50%,transparent 75%)}
.pass-feature{background:none!important;isolation:isolate;overflow:visible!important}.pass-feature::before{content:'';position:absolute;inset:-160px 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 72% 50%,#2a2d33,#0e1117 65%);mask-image:linear-gradient(transparent,#000 21% 79%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 21% 79%,transparent)}
.pass-feature{width:100%;margin-inline:0}.footer-top{position:relative}
.pass-feature .pass-image img{mask-image:linear-gradient(transparent,#000 6% 84%,transparent),linear-gradient(90deg,transparent,#000 10% 92%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 6% 84%,transparent),linear-gradient(90deg,transparent,#000 10% 92%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}
.pass-feature .pass-image{min-height:0!important;aspect-ratio:auto!important}.pass-feature .pass-image img{position:relative!important;inset:auto!important;height:auto!important;max-height:none;display:block}
.industry-panel,.industry-panel:nth-child(3){min-height:clamp(360px,55svh,570px)!important;padding-block:34px!important;gap:5vw}.chapter-cluster{min-height:280px;height:clamp(260px,31vw,400px)}.industry-copy h3{font-size:clamp(46px,5.8vw,84px)}.industry-copy p{font-size:clamp(17px,1.55vw,22px);max-width:22em}
/* The title has a clear lane above the spatial collection. */
.gallery-scene-heading{position:absolute;left:var(--gutter);right:var(--gutter);top:110px;z-index:5;pointer-events:none;display:flex;align-items:end;justify-content:space-between;gap:30px}.gallery-scene-heading h2{font-size:clamp(30px,4.4vw,64px);line-height:1.02;letter-spacing:-.05em}.gallery-scene-heading>p{font-size:14px;max-width:15em;text-align:right;line-height:1.5}
.gallery-scene-heading{width:auto;max-width:none;text-align:left;margin:0}.gallery-scene-heading h2{flex:1}.gallery-scene-heading>p{flex:0 0 15em}
.gallery-enhanced .work-card{top:57%;width:min(57vw,740px)}.gallery-enhanced .work-card .work-image{height:clamp(220px,39svh,420px)}.gallery-enhanced .work-card .work-caption{margin-top:14px}.gallery-enhanced .work-card .work-caption h3{font-size:clamp(24px,2.7vw,38px)}.gallery-enhanced .work-card>p{font-size:13px;line-height:1.4;margin-top:7px}
.explore-practice-notes{display:block;margin-top:75px}.explore-practice-notes>article{display:grid;grid-template-columns:1.2fr 1fr;gap:12vw;padding:45px 0;align-items:start}.explore-practice-notes>article:nth-child(2){margin-left:12vw}.explore-practice-notes h3{font-size:clamp(32px,4.8vw,72px);line-height:1.05;letter-spacing:-.055em;max-width:12em}.explore-practice-notes p{font-size:clamp(17px,1.6vw,23px);line-height:1.55;max-width:28em}
.career-detail .section-heading{margin-bottom:65px}.career-row{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;padding:34px 0;min-height:145px;align-items:start}.career-row h3{font-size:clamp(30px,4.3vw,67px);line-height:1.08;letter-spacing:-.045em;max-width:12em}.career-row>div{padding-top:8px}.career-row .career-role{font-size:clamp(17px,1.5vw,22px);margin-bottom:14px}.career-row>div>p:not(.career-role){font-size:clamp(16px,1.35vw,20px);line-height:1.55;max-width:27em;color:var(--muted)}.career-row:nth-child(2n){padding-left:5vw}.career-row .career-logo{width:clamp(65px,7vw,115px);height:55px;object-fit:contain}
.grant-recognition{gap:6vw;padding:50px 0 100px}.grant-recognition strong{font-size:clamp(110px,20vw,280px);letter-spacing:-.075em}.recognition-item{min-height:185px;aspect-ratio:1.65}
/* Small rounded video grows over its own opening typography. */
.battle-scroll{margin-block:0;height:210svh}.battle-stage{background:transparent!important;overflow:visible}.battle-stage .battle-heading{position:absolute;top:clamp(110px,16svh,165px);left:var(--gutter);right:var(--gutter);z-index:0;display:grid;grid-template-columns:1.4fr 1fr;gap:8vw;align-items:end}.battle-heading h2{font-size:clamp(44px,6.7vw,100px);line-height:1.02;letter-spacing:-.055em;max-width:10em}.battle-heading p{font-size:clamp(17px,1.65vw,25px);line-height:1.45;max-width:25em}.battle-stage>.battle-screen{position:relative;z-index:1;border-radius:var(--battle-radius,24px);isolation:isolate}.battle-screen video{border-radius:inherit}.battle-section>p{max-width:34em;width:auto;font-size:clamp(21px,2.6vw,36px);line-height:1.35;letter-spacing:-.025em;margin:35px 0 24px}.battle-section>a{margin:0;display:inline-flex;align-items:center;font-size:16px;min-height:48px}
.battle-controls{background:linear-gradient(125deg,#5353535c,#1b1b1ba3);backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15)}.battle-controls button:hover{background:#dedede20}
body[data-page=approach] .page-opening>p{font-size:clamp(21px,2.1vw,31px);line-height:1.45;max-width:26em;margin-top:clamp(60px,9svh,115px);margin-left:auto;position:relative;z-index:3}.cycle-tab{background:transparent!important;padding-inline:20px}.cycle-tab::after{display:none}.cycle-track{overflow:visible}.design-cycle{background:transparent!important}.cycle-tabs{z-index:5}
body[data-page=approach] .page-opening{min-height:100svh;align-items:start;padding-top:clamp(165px,22svh,240px);padding-bottom:70px}body[data-page=approach] .page-opening>h1{position:relative;z-index:3}body[data-page=approach] .page-opening>p{align-self:end}
.ui-arrow path{stroke-width:1.35}
.cycle-flight{position:fixed!important;right:auto!important;bottom:auto!important;pointer-events:none;z-index:2;max-width:none!important}.cycle-flight[hidden]{display:none!important}
body[data-page=home] .service-rows.has-service-morph{display:grid;grid-template-columns:1.1fr 1fr;column-gap:5vw;position:relative}
body[data-page=home] .has-service-morph>a{grid-column:1;width:100%;min-height:270px;padding-block:45px}
body[data-page=home] .has-service-morph>a :is(h3,p){max-width:100%!important}body[data-page=home] .has-service-morph>a h3{font-size:clamp(28px,3.6vw,52px)}
.awwards-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 6vw;padding:0 0 30px}.awwards-list .awards-item{border:0;display:block;padding:30px 0;min-width:0}.awards-icon{margin-bottom:18px}.awards-title .f-h5{font-size:clamp(25px,3.1vw,44px);line-height:1.08;letter-spacing:-.04em}.awards-title .f-small-11{font-size:15px;line-height:1.5;margin-top:16px;color:var(--muted)}
@media(max-width:640px){.awwards-list{grid-template-columns:1fr;gap:0}.awwards-list .awards-item{padding:25px 0}.gallery-scene-heading>p{flex:auto}}
.service-morph{position:sticky;grid-column:2;grid-row:1/span 4;top:110px;width:100%;height:min(58svh,560px);align-self:start;pointer-events:none;isolation:isolate}
.service-morph-canvas,.service-morph-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:none;pointer-events:none;transition:opacity 180ms ease-out}
.service-morph-canvas{opacity:0}.morph-ready .service-morph-canvas{opacity:1}.morph-ready .service-morph-poster{opacity:0}
@media(max-width:700px){body[data-page=home] .service-rows.has-service-morph{display:block}body[data-page=home] .has-service-morph>a{min-height:465px;padding:35px 0 270px}.service-morph{position:absolute;left:10%;width:80%;height:235px;top:230px}}
@media(prefers-reduced-motion:reduce){.site-header :is(.sound-toggle,.theme-toggle),.site-header .nav-links,.service-morph-canvas,.service-morph-poster{transition:none!important}.agency-range::-moz-range-thumb,.gallery-range::-moz-range-thumb,.process-range::-moz-range-thumb{transition:none!important}}
@media(max-width:640px){
 .site-header .glass-nav{--nav-stretch-x:1!important;--nav-stretch-y:1!important;max-height:calc(100svh - 30px);overflow:clip}.site-header .nav-links{display:flex!important;max-height:0;padding:0!important;gap:0;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:max-height 700ms cubic-bezier(.22,1,.36,1),opacity 220ms ease-out,transform 600ms cubic-bezier(.22,1,.36,1),visibility 0s 700ms}.site-header .menu-open .nav-links{max-height:min(600px,calc(100svh - 130px));padding:12px 8px 16px!important;overflow-y:auto;opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:max-height 800ms cubic-bezier(.22,1,.36,1),opacity 300ms ease-out 100ms,transform 650ms cubic-bezier(.22,1,.36,1),visibility 0s}.site-header .nav-links>a{font-size:clamp(29px,8vw,40px);line-height:1.2;padding:10px 12px;min-height:56px}.nav-socials{display:flex;flex-wrap:wrap;gap:0 18px;padding:16px 12px 0;margin-top:12px;align-items:center}.site-header .nav-socials>a{font-size:14px!important;letter-spacing:0;line-height:1.5;min-height:44px;display:flex;align-items:center;padding:0!important;color:var(--nav-ink)!important}.site-header :is(.sound-toggle,.theme-toggle){width:48px;height:48px;border-radius:17px}
 .footer-art{position:relative;left:50%!important;align-self:flex-start;height:clamp(390px,110vw,560px);margin:18px 0 0}.footer-top{min-height:0}.footer-contact .ui-arrow{width:31px!important;height:31px!important}.pass-feature{padding:80px var(--gutter)!important;background:radial-gradient(ellipse at 50% 60%,#1e2127,#0a0d13 62%,transparent 92%)!important}.pass-feature .pass-image{min-height:230px!important;aspect-ratio:1.3}.industry-panel,.industry-panel:nth-child(3){min-height:0!important;padding-block:28px!important}.chapter-cluster{min-height:235px;height:270px}
 .footer-top h2{font-size:clamp(36px,10.5vw,58px)!important;max-width:100%;overflow-wrap:normal;text-wrap:balance}.pass-feature{background:none!important}.pass-feature::before{inset:-140px 0;mask-image:linear-gradient(transparent,#000 16% 84%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 16% 84%,transparent)}
 .footer-art{left:0!important;transform:none!important;margin-left:calc(-1 * var(--gutter))!important}
 .gallery-scene-heading{top:108px;display:block}.gallery-scene-heading h2{font-size:32px}.gallery-scene-heading>p{margin-top:15px;text-align:left;font-size:13px;max-width:none}.gallery-enhanced .work-card{top:56%;width:77vw}.gallery-enhanced .work-card .work-image{height:clamp(200px,34svh,320px)}.gallery-enhanced .work-card .work-caption h3{font-size:25px}.explore-practice-notes{margin-top:40px}.explore-practice-notes>article{display:block;padding:30px 0}.explore-practice-notes>article:nth-child(2){margin-left:0}.explore-practice-notes h3{font-size:38px;margin-bottom:25px;max-width:10em}.explore-practice-notes p{font-size:17px;max-width:28em}
 .career-row,.career-row:nth-child(2n){display:block;min-height:0;padding:28px 0}.career-row h3{font-size:37px;max-width:none}.career-row>div{padding-top:18px}.grant-recognition strong{font-size:clamp(100px,29vw,150px)}.agency-projects{padding:15px 0 20px}.agency-projects img{aspect-ratio:1.48;border-radius:18px}.battle-scroll{height:180svh}.battle-stage .battle-heading{display:block;top:115px}.battle-heading h2{font-size:46px;max-width:8em}.battle-heading p{font-size:16px;max-width:24em;margin-top:20px}.battle-section>p{font-size:24px;margin-top:30px}body[data-page=approach] .page-opening>p{font-size:21px;margin-top:65px;max-width:22em}
 body[data-page=approach] .page-opening{display:flex;flex-direction:column;justify-content:space-between}body[data-page=approach] .page-opening>p{margin-top:220px;align-self:auto}
}
@media(prefers-reduced-motion:reduce){.site-header .glass-nav::before,.site-header .glass-nav::after,.site-header .glass-nav :is(.nav-liquid-backdrop,.nav-optics){transform:none;will-change:auto}.cursor-light{display:none}.site-header :is(.sound-toggle,.theme-toggle),.site-header .nav-links,.agency-range::-webkit-slider-thumb,.gallery-range::-webkit-slider-thumb,.process-range::-webkit-slider-thumb{transition:none!important}.agency-projects>a{transform:none}.battle-scroll{height:auto}.battle-stage .battle-heading{position:relative;inset:auto;display:block;padding:0 var(--gutter) 35px}.battle-stage{height:auto!important;display:block;aspect-ratio:auto!important}.battle-stage>.battle-screen{aspect-ratio:16/9;height:auto!important;min-height:220px;border-radius:20px}.battle-stage .battle-controls{bottom:16px}}

/* One quiet elastic control; the stage name remains in the content above. */
.process-controls{display:block;left:var(--gutter);right:var(--gutter);bottom:24px;margin-inline:0}.process-range{display:block;width:100%;height:52px;color:var(--ink);margin:0}.process-progress{display:none}.process-range:focus-visible{outline:2px solid var(--ink);outline-offset:5px;border-radius:14px}

/* Utility ink follows the surface underneath each button, including inverse heroes. */
.site-header :is(.sound-toggle,.theme-toggle)[data-surface=light]{color:#1c1f25!important;background:linear-gradient(128deg,#ffffffb0,#e8e8e870 55%,#f6f6f6a0)!important}.site-header :is(.sound-toggle,.theme-toggle)[data-surface=dark]{color:#f3f6fc!important;background:linear-gradient(125deg,#5353535c,#3030303a 55%,#b4c9f238)!important}
