/* The homepage's authored spatial sequence. Interior pages keep their existing language. */
.spatial-page main{overflow:clip}.spatial-story{position:relative;isolation:isolate;background:var(--indigo)}
.spatial-sticky{height:calc(100svh - var(--header-height));min-height:620px;position:sticky;top:var(--header-height);margin-bottom:calc(-100svh + var(--header-height));pointer-events:none;z-index:0;overflow:hidden}
.spatial-stage{position:absolute;inset:0;overflow:hidden;touch-action:pan-y}.spatial-stage canvas{display:block;width:100%;height:100%;outline-offset:-6px;pointer-events:auto;touch-action:pan-y}
.spatial-fallback{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0;opacity:1;transition:none}.spatial-ready .spatial-fallback{opacity:0;pointer-events:none}
.spatial-sticky:after{content:'';position:absolute;inset:auto 0 0;height:80px;background:linear-gradient(transparent,var(--indigo));pointer-events:none}
.story-step{position:relative;z-index:2;pointer-events:none}.story-step .button,.story-step .text-link,.story-step h1,.story-step h2,.story-step p{pointer-events:auto}
.spatial-page .home-hero{background:transparent;isolation:auto;min-height:calc(100svh - var(--header-height));height:auto;align-items:center}
.spatial-page .home-hero:after{display:none}.spatial-page .hero-content{padding-top:55px;padding-bottom:150px}.spatial-page .home-hero h1{font-size:clamp(72px,8.4vw,120px);line-height:1.01;max-width:650px}.spatial-page .home-hero p{max-width:355px;font-size:19px}.spatial-page .hero-actions{gap:28px;margin-top:33px}
.spatial-page .home-hero h1,.spatial-page .home-hero p,.spatial-page .hero-actions{animation:none}
.hero-foot{position:absolute;bottom:40px;left:0;right:0;display:flex;align-items:end;justify-content:space-between;gap:20px}.hero-scroll{display:inline-flex;align-items:center;gap:13px;min-height:44px;color:var(--silver);font-size:12px;letter-spacing:.01em;pointer-events:auto}.scroll-line{display:block;width:1px;height:30px;background:linear-gradient(var(--silver),rgba(192,200,216,.12));transform-origin:top;animation:scroll-cue 2.8s var(--ease) infinite}.hero-foot>p{font-size:12px;max-width:240px;color:var(--muted);text-align:right}
.stage-controls{position:fixed;bottom:37px;right:max(48px,calc((100vw - 1280px)/2));display:flex;gap:9px;z-index:25;pointer-events:auto;opacity:0;transition:opacity .3s}.stage-controls:not([hidden]){opacity:1}.stage-control{display:inline-flex;align-items:center;gap:8px;border:1px solid #494855;border-radius:999px;background:rgba(15,14,26,.85);color:var(--silver);font-size:12px;line-height:1.2;padding:10px 15px;min-height:44px;transition:background .2s,border-color .2s}.stage-control:hover{background:var(--twilight);border-color:var(--silver)}.stage-control svg{width:14px;height:14px;fill:currentColor}.stage-control[aria-pressed=true]{background:var(--silver);color:var(--indigo)}
.spatial-bridge{min-height:112svh;display:flex;align-items:center}.bridge-content{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:190px;padding-bottom:210px}.bridge-copy{grid-column:2;max-width:520px}.bridge-copy h2{font-size:clamp(50px,5.5vw,78px);max-width:550px;line-height:1.04}.bridge-copy p{margin-top:27px;max-width:390px;font-size:18px;line-height:1.7}.bridge-copy .text-link{margin-top:23px}.bridge-copy h2 span{color:var(--silver)}
.spatial-page .solutions-section{position:relative;z-index:3;background:var(--indigo);padding-top:110px}.spatial-page .section-intro{max-width:800px}.spatial-page .section-intro h2{font-size:clamp(40px,4.7vw,66px)}
.spatial-page .industry-image{position:relative}.spatial-page .industry-image img{height:112%;max-height:none;will-change:transform}.spatial-page .industry-image:after{position:absolute;inset:0;content:'';background:linear-gradient(0deg,rgba(15,14,26,.15),transparent 35%);pointer-events:none}
.spatial-page .process-list li{transition:opacity .4s,color .4s}.spatial-page .process-number{font-variant-numeric:tabular-nums}.spatial-page .process-number:after{content:'';display:block;margin-top:13px;width:1px;height:25px;background:var(--line);transform-origin:top;transform:scaleY(var(--phase-progress,0));transition:transform .12s linear}
.spatial-page .work-section{position:relative}.spatial-page .work-invitation{position:relative;overflow:hidden}.spatial-page .work-invitation:before{content:'';width:210px;height:1px;position:absolute;left:0;bottom:-1px;background:var(--silver);transform:translateX(var(--work-signal,-250px));opacity:.8}
@keyframes scroll-cue{0%,100%{transform:scaleY(.6);opacity:.35}45%{transform:scaleY(1);opacity:1}}
.motion-paused .scroll-line{animation-play-state:paused}.motion-paused .industry-image img{will-change:auto}
@media(min-width:1650px){.spatial-page .hero-content{padding-bottom:180px}.spatial-page .home-hero h1{font-size:130px}}
@media(max-width:1100px){.spatial-page .home-hero h1{font-size:92px}.bridge-content{gap:55px}.bridge-copy h2{font-size:62px}.spatial-page .hero-actions{align-items:start;flex-direction:column;gap:14px}}
@media(max-width:850px){.spatial-sticky{height:calc(100svh - 76px);min-height:680px;margin-bottom:calc(-100svh + 76px);top:76px}.spatial-page .home-hero{min-height:max(850px,calc(100svh - 76px));align-items:start}.spatial-page .hero-content{padding-top:45px;padding-bottom:450px}.spatial-page .home-hero h1{font-size:76px;max-width:580px}.spatial-page .home-hero h1 span{display:block}.spatial-page .home-hero p{max-width:340px;font-size:18px;margin-top:24px}.spatial-page .hero-actions{align-items:center;flex-direction:row;gap:27px;margin-top:28px}.hero-foot{bottom:30px}.hero-foot>p{display:none}.hero-scroll{font-size:11px}.stage-controls{right:24px;bottom:25px}.stage-control{padding-inline:13px}.bridge-content{grid-template-columns:1fr;gap:0;padding-top:110px;padding-bottom:480px}.bridge-copy{grid-column:1;max-width:520px}.bridge-copy h2{font-size:60px}.bridge-copy p{max-width:380px;font-size:17px}.spatial-bridge{min-height:950px;align-items:start}.spatial-page .solutions-section{padding-top:75px}.spatial-page .industry-image img{height:108%}}
@media(max-width:540px){.spatial-page .home-hero{min-height:max(870px,calc(100svh - 76px));}.spatial-page .home-hero h1{font-size:70px;max-width:355px}.spatial-page .home-hero p{font-size:17px;max-width:285px}.spatial-page .hero-content{padding-top:40px;padding-bottom:440px}.spatial-page .hero-actions{align-items:flex-start;flex-direction:column;gap:14px;margin-top:26px}.spatial-page .hero-actions .text-link{min-height:44px}.spatial-sticky{min-height:790px}.hero-foot{bottom:26px}.hero-scroll{gap:9px;max-width:150px;line-height:1.4}.scroll-line{height:26px}.stage-controls{right:24px;bottom:25px;gap:6px}.stage-control{font-size:12px;gap:5px;padding-inline:11px}.stage-control svg{width:12px}.bridge-copy h2{font-size:53px}.bridge-content{padding-top:55px;padding-bottom:440px}.spatial-bridge{min-height:940px}.bridge-copy p{font-size:16px}.spatial-page .section-intro h2{font-size:38px}.spatial-page .solutions-section{padding-top:65px}}
@media(max-width:370px){.spatial-page .home-hero h1{font-size:52px}.spatial-page .hero-content{padding-top:40px}.spatial-page .home-hero p{max-width:260px}.stage-controls{right:16px}.stage-control{padding-inline:9px;font-size:12px}.hero-scroll{max-width:125px}.bridge-copy h2{font-size:45px}}
@media(prefers-reduced-motion:reduce){.scroll-line{animation:none}.spatial-fallback{transition:none}.spatial-page .industry-image img{height:100%;will-change:auto}.spatial-sticky{position:absolute;top:0}.spatial-bridge{min-height:0;background:var(--indigo)}.bridge-content{padding-block:85px}.bridge-copy{grid-column:1 / -1;max-width:690px}.stage-controls{display:none}}
.motion-paused .bridge-copy{background:var(--indigo);padding:24px;border-radius:16px}.motion-paused .process-number:after{transition:none}

/* The square Layered V poster shares the live sculpture's reserved region. */
.spatial-fallback{inset:5% auto auto 39%;width:56%;height:90%;object-fit:contain;object-position:center;mask-image:none}
.spatial-story:not(.spatial-ready) .bridge-copy{background:var(--indigo)}
@media(max-width:1100px) and (min-width:851px){.spatial-fallback{left:48%;width:50%}}
@media(max-width:850px){.spatial-fallback{inset:auto 0 36px;width:100%;height:46%;object-position:center;mask-image:none}.spatial-sticky:after{height:28px}}

/* Cancel the full sticky stage height, including its minimum, in document flow. */
.spatial-sticky{margin-bottom:calc(-1 * max(620px, calc(100svh - var(--header-height))))}
@media(max-width:850px){.spatial-sticky{margin-bottom:calc(-1 * max(680px, calc(100svh - 76px)))}}
@media(max-width:540px){.spatial-sticky{margin-bottom:calc(-1 * max(790px, calc(100svh - 76px)))}}
