/* One continuous assembly story. These spatial compositions belong only to the homepage. */
.spatial-page .solutions-section{padding-block:95px 125px}
.solutions-stage{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:30px;min-height:460px}
.solutions-stage>*{min-width:0}
.spatial-page .solutions-stage .section-intro{max-width:620px;position:relative;z-index:2}
.spatial-page .solutions-stage h2{font-size:clamp(44px,4.9vw,70px);line-height:1.06}
.system-diagram{position:relative;width:112%;margin-left:-5%;aspect-ratio:600/440;perspective:900px;isolation:isolate}
.system-plane{position:absolute;width:66%;height:60%;left:19%;top:19%;border:1px solid rgba(192,200,216,.26);border-radius:16px;transform:rotateX(54deg) rotateZ(-36deg);background:rgba(192,200,216,.025)}
.system-plane-back{transform:translateY(56px) rotateX(54deg) rotateZ(-36deg);border-color:rgba(192,200,216,.14);background:none}
.system-network{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.system-path{stroke:var(--pewter);stroke-width:1.2;stroke-opacity:.6}
.system-pulse{stroke:var(--frost);stroke-width:2;stroke-linecap:round;stroke-dasharray:22 390;stroke-dashoffset:412;animation:system-flow 6s linear infinite;animation-play-state:paused}
.system-pulse:nth-of-type(5){animation-delay:-2s}.system-pulse:nth-of-type(6){animation-delay:-4s}
.system-junction{stroke:rgba(192,200,216,.7);stroke-width:1;fill:var(--indigo)}.system-junction-core{fill:var(--silver)}
.system-node{position:absolute;display:flex;align-items:center;flex-direction:column;gap:13px;transform:translate(-50%,-50%);color:var(--silver);font-size:13px;font-weight:500;line-height:1.3}
.system-node-foundation{left:19%;top:26%}.system-node-operations{left:81%;top:26%}.system-node-enterprise{left:52%;top:79%}
.system-node-shape{display:flex;align-items:center;justify-content:center;gap:4px;width:60px;height:54px;transform:rotate(-27deg);animation:system-breathe 6s ease-in-out infinite;animation-play-state:paused}
.system-node-shape i{display:block;height:41px;width:11px;border-radius:3px;background:linear-gradient(105deg,#6f7690,#e4e8f1 30%,#a1aabf 52%,#4c526c);transform:skewY(24deg);border-top:1px solid #d5dceb}
.system-node-shape i:nth-child(2){height:50px}.system-node-shape i:nth-child(3){height:32px}
.system-node-operations .system-node-shape{animation-delay:-2s}.system-node-enterprise .system-node-shape{animation-delay:-4s}
.solutions-console{position:relative;z-index:3;margin-top:20px}
.spatial-page .service-tabs{margin-top:0;gap:36px}.spatial-page .service-tab{padding-block:18px 23px;min-height:76px;position:relative}.spatial-page .service-tab small{color:var(--muted)}
.spatial-page .service-panel{padding-top:42px;gap:90px;min-height:280px}.spatial-page .service-panel h3{font-size:36px}
.spatial-page .service-panel li:before{border-color:var(--silver)}

/* The illustration becomes a framed plane within the same assembly space. */
.spatial-page .industry-section{padding-block:125px 150px}
.spatial-page .industry-layout{grid-template-columns:1.16fr .84fr;gap:110px}
.industry-scene{height:720px;perspective:1250px;position:relative;isolation:isolate;transform-style:preserve-3d}
.spatial-page .industry-scene .industry-image{height:100%;position:relative;border-radius:16px;transform:rotateY(13deg) rotateX(4deg) rotateZ(-3deg);transform-origin:center;backface-visibility:hidden;z-index:2;border:1px solid rgba(192,200,216,.45)}
.spatial-page .industry-scene .industry-image img{height:114%;object-position:45% center;transform-origin:center}
.industry-orbit{position:absolute;z-index:1;inset:19% -17%;border:1px solid rgba(192,200,216,.3);border-radius:50%;transform:rotate(-34deg);pointer-events:none}
.industry-orbit-two{inset:30% -19%;transform:rotate(37deg);border-color:rgba(192,200,216,.15)}
.industry-orbit:after{content:'';position:absolute;inset:-1px;border:1px solid transparent;border-top-color:var(--silver);border-radius:50%;animation:sequence-spin 19s linear infinite;animation-play-state:paused}
.industry-orbit-two:after{animation-duration:27s;animation-direction:reverse}
.industry-frame-edge{position:absolute;top:3%;right:-1%;height:95%;width:12px;border-radius:3px;background:linear-gradient(90deg,#a1aabc,#34394a);transform:rotate(-3deg);z-index:0}
.industry-scan{position:absolute;top:0;left:0;right:0;height:1px;background:rgba(242,242,246,.85);z-index:3;animation:industry-scan 9s linear infinite;animation-play-state:paused;pointer-events:none}
.spatial-page .industry-copy{position:relative;z-index:3}.spatial-page .industry-copy h2{font-size:clamp(40px,4vw,58px)}
.spatial-page .industry-links a{position:relative;overflow:hidden;transition:padding .35s var(--ease),color .25s}
.spatial-page .industry-links a:before{content:'';position:absolute;inset:auto 0 0;height:1px;background:var(--silver);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.spatial-page .industry-links a:hover,.spatial-page .industry-links a:focus-visible{padding-left:12px}.spatial-page .industry-links a:hover:before,.spatial-page .industry-links a:focus-visible:before{transform:scaleX(1)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.industry-scene:has(~.industry-copy .industry-links a:hover) .industry-frame-edge{filter:brightness(1.4)}}

/* The operating relationship holds while the three phases advance. */
.spatial-page .process-section{padding-block:125px;background:var(--surface);position:relative}
.process-stage{display:grid;grid-template-columns:1.05fr 1fr;gap:110px;align-items:start}
.process-anchor{position:sticky;top:calc(var(--header-height) + 55px)}
.spatial-page .process-anchor h2{font-size:clamp(42px,4.3vw,61px);line-height:1.08;max-width:590px}
.phase-orbit{position:relative;width:min(100%,360px);height:260px;margin:30px 0 15px;perspective:900px;transform-style:preserve-3d}
.phase-ring{position:absolute;inset:25px 47px;border:1px solid rgba(192,200,216,.5);border-radius:50%;transform:rotateX(64deg) rotateZ(-22deg)}
.phase-ring-one{transform:rotateX(64deg) rotateZ(-22deg)}.phase-ring-two{transform:rotateY(65deg) rotateZ(-18deg);border-color:rgba(192,200,216,.3)}.phase-ring-three{transform:rotateY(-55deg) rotateZ(22deg);border-color:rgba(192,200,216,.3)}
.phase-ring:after{content:'';position:absolute;inset:-1px;border:2px solid transparent;border-top-color:var(--silver);border-radius:50%;animation:sequence-spin 16s linear infinite;animation-play-state:paused}
.phase-ring-two:after{animation-delay:-6s;animation-duration:23s}.phase-ring-three:after{animation-delay:-12s;animation-duration:31s;animation-direction:reverse}
.phase-axis{position:absolute;height:1px;width:84%;left:8%;top:50%;background:linear-gradient(90deg,transparent,var(--silver),transparent);transform:rotate(-22deg)}
.phase-core{position:absolute;width:34px;height:34px;left:calc(50% - 17px);top:calc(50% - 17px);border-radius:50%;background:radial-gradient(circle at 29% 26%,#f2f2f6 1%,#c0c8d8 15%,#647088 62%,#252638 83%)}
.phase-satellite{position:absolute;width:8px;height:8px;background:var(--silver);border-radius:50%;left:20%;top:62%}.phase-satellite-two{left:76%;top:34%}.phase-satellite-three{left:52%;top:13%}
.spatial-page .process-statement{font-size:22px;max-width:400px;line-height:1.5}.spatial-page .process-statement .text-link{margin-top:20px}
.spatial-page .process-list{padding-top:12px}
.spatial-page .process-list li{min-height:345px;grid-template-columns:106px 1fr;gap:25px;padding-block:34px 65px;margin:0;align-items:start;position:relative}
.spatial-page .process-list li:last-child{padding-bottom:20px;min-height:285px}
.spatial-page .process-number{font-size:96px;line-height:1;letter-spacing:-.04em;font-weight:500;color:var(--silver);padding:0}
.spatial-page .process-number:after{height:50px;margin:26px 0 0 8px;background:var(--silver)}
.spatial-page .process-list li>div{padding-top:9px}.spatial-page .process-list h3{font-size:34px}.spatial-page .process-list p{font-size:17px;line-height:1.7;margin-top:20px;max-width:370px}

/* Real software enters as dimensional plates, then resolves into a usable collection. */
.spatial-page .work-section{padding-block:140px 55px;overflow:hidden}
.spatial-page .work-invitation{gap:130px;align-items:end;border:0;padding-bottom:30px;overflow:visible}
.spatial-page .work-invitation:before{display:none}.spatial-page .work-invitation h2{font-size:clamp(44px,4.9vw,70px)}
.demo-reel{position:relative;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:max(48px,calc((100vw - 1280px)/2));padding-block:90px 60px;perspective:1600px;scrollbar-width:thin;scrollbar-color:var(--pewter) var(--indigo)}
.demo-reel-track{display:flex;align-items:start;gap:66px;width:max-content;padding-inline:max(48px,calc((100vw - 1280px)/2));transform-style:preserve-3d}
.reel-card{display:block;width:min(69vw,900px);flex:0 0 auto;scroll-snap-align:center;transform-style:preserve-3d;transform-origin:center;transition:color .25s}
.reel-screen{border-radius:12px;overflow:hidden;aspect-ratio:16/9;background:var(--twilight);transform:rotateY(-7deg) rotateX(5deg);transform-origin:left center;transition:transform .6s var(--ease)}
.reel-card:nth-child(2) .reel-screen{transform:rotateY(5deg) rotateX(4deg)}.reel-card:nth-child(3) .reel-screen{transform:rotateY(-5deg) rotateX(4deg)}
.reel-screen img{width:100%;height:100%;object-fit:cover}
.reel-caption{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:26px;transform:translateZ(1px)}
.reel-caption h3{font-size:29px;letter-spacing:-.025em}.reel-caption>span{display:flex;align-items:center;gap:18px;font-size:14px;color:var(--muted)}.reel-caption .arrow{color:var(--silver)}
.reel-card:hover .reel-screen,.reel-card:focus-visible .reel-screen{transform:rotateY(0) rotateX(0)}.reel-card:hover .reel-caption .arrow{transform:translate(3px,-3px)}
.reel-access{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:20px;border-top:1px solid var(--line)}.reel-access>p{font-size:13px}

/* All channels converge for the final invitation. */
.spatial-page .closing{position:relative;isolation:isolate;padding:20px 0 0;overflow:hidden}
.closing-stage{min-height:740px;display:flex;align-items:center;justify-content:center;position:relative;perspective:1200px}
.closing-content{position:relative;z-index:2;padding-block:140px}
.spatial-page .closing h2{font-size:clamp(60px,8.5vw,120px);line-height:1.08;letter-spacing:-.04em;max-width:1040px;margin:auto}
.closing-word{display:inline-block}.spatial-page .closing p{max-width:480px;margin-top:30px;color:var(--silver)}
.closing-orbit{position:absolute;top:calc(50% - 235px);left:calc(50% - 540px);width:1080px;height:470px;border:1px solid rgba(192,200,216,.32);border-radius:50%;transform:rotate(-17deg);z-index:0;pointer-events:none}
.closing-orbit-two{transform:rotate(17deg);border-color:rgba(192,200,216,.18)}.closing-orbit-three{width:750px;left:calc(50% - 375px);height:600px;top:calc(50% - 300px);transform:rotate(63deg);border-color:rgba(192,200,216,.12)}
.closing-orbit:after{content:'';position:absolute;inset:-1px;border:1px solid transparent;border-top-color:var(--silver);border-radius:50%;animation:sequence-spin 25s linear infinite;animation-play-state:paused}
.closing-orbit-two:after{animation-duration:34s;animation-direction:reverse}.closing-orbit-three:after{animation-duration:43s}
.spatial-page .site-footer{position:relative}

@keyframes system-flow{to{stroke-dashoffset:0}}
@keyframes system-breathe{0%,100%{transform:rotate(-27deg) translateY(0)}50%{transform:rotate(-27deg) translateY(-7px)}}
@keyframes sequence-spin{to{transform:rotate(360deg)}}
@keyframes industry-scan{0%{transform:translateY(0);opacity:0}5%{opacity:.6}95%{opacity:.6}100%{transform:translateY(720px);opacity:0}}
.spatial-page section.is-inview :is(.system-pulse,.system-node-shape,.industry-scan),.spatial-page section.is-inview :is(.industry-orbit,.phase-ring,.closing-orbit):after{animation-play-state:running}
.spatial-page.motion-paused :is(.system-pulse,.system-node-shape,.industry-scan),.spatial-page.motion-paused :is(.industry-orbit,.phase-ring,.closing-orbit):after,.spatial-page.motion-suspended :is(.system-pulse,.system-node-shape,.industry-scan),.spatial-page.motion-suspended :is(.industry-orbit,.phase-ring,.closing-orbit):after{animation-play-state:paused}

@media(min-width:1600px){.solutions-stage{min-height:530px}.system-diagram{width:108%;margin-left:-2%}.industry-scene{height:810px}.spatial-page .process-list li{min-height:375px}.closing-stage{min-height:850px}}
@media(max-width:1100px){.solutions-stage{gap:8px;min-height:420px}.spatial-page .solutions-stage h2{font-size:52px}.system-diagram{width:117%;margin-left:-9%}.spatial-page .service-tabs{gap:24px}.spatial-page .service-tab{align-items:start;flex-direction:column;gap:8px}.spatial-page .service-panel{gap:65px}.spatial-page .industry-layout{gap:70px;grid-template-columns:1.05fr .95fr}.industry-scene{height:655px}.spatial-page .industry-copy h2{font-size:44px}.process-stage{gap:65px;grid-template-columns:1fr 1fr}.spatial-page .process-anchor h2{font-size:48px}.spatial-page .process-list li{grid-template-columns:80px 1fr;gap:18px}.spatial-page .process-number{font-size:76px}.spatial-page .process-list h3{font-size:30px}.spatial-page .process-list p{font-size:16px}.spatial-page .work-invitation{gap:65px}.reel-caption{align-items:start;gap:15px}.reel-caption h3{font-size:26px}.reel-caption>span{font-size:13px;gap:12px}}
@media(max-width:850px){
.spatial-page .solutions-section{padding-block:85px 90px}.solutions-stage{grid-template-columns:1fr;min-height:0;gap:20px}.spatial-page .solutions-stage .section-intro{max-width:650px}.spatial-page .solutions-stage h2{font-size:52px;max-width:620px}.system-diagram{width:min(100%,610px);margin:-10px auto 0;aspect-ratio:600/415}.solutions-console{margin-top:10px}.spatial-page .service-tabs{gap:20px}.spatial-page .service-tab{flex-direction:row;align-items:center;min-height:64px}.spatial-page .service-panel{gap:45px;min-height:280px}.spatial-page .service-panel h3{font-size:31px}
.spatial-page .industry-section{padding-block:65px 100px}.spatial-page .industry-layout{grid-template-columns:1fr;gap:75px}.industry-scene{width:min(100%,650px);height:530px;margin:auto}.spatial-page .industry-scene .industry-image{transform:rotateY(7deg) rotateX(4deg) rotateZ(-2deg)}.industry-orbit{inset:11% -6%}.industry-orbit-two{inset:25% -7%}.industry-frame-edge{right:0;transform:rotate(-2deg)}.spatial-page .industry-copy h2{font-size:48px;max-width:630px}.spatial-page .industry-copy>p{max-width:480px}
.spatial-page .process-section{padding-block:85px}.process-stage{grid-template-columns:1fr;gap:60px}.process-anchor{position:relative;top:auto;display:grid;grid-template-columns:1fr .8fr;gap:30px;align-items:center}.spatial-page .process-anchor h2{font-size:48px;grid-column:1/-1;max-width:620px}.phase-orbit{grid-row:2;grid-column:2;width:100%;height:220px;margin:0}.phase-ring{inset:20px 22px}.spatial-page .process-statement{grid-row:2;grid-column:1;max-width:370px;font-size:21px}.spatial-page .process-list{padding:0}.spatial-page .process-list li{grid-template-columns:100px 1fr;gap:35px;min-height:275px;padding-block:35px 55px}.spatial-page .process-list li:last-child{min-height:230px;padding-bottom:0}.spatial-page .process-number{font-size:90px}.spatial-page .process-list h3{font-size:34px}.spatial-page .process-list p{font-size:17px;max-width:500px}.spatial-page .process-number:after{height:35px}
.spatial-page .work-section{padding-block:95px 35px}.spatial-page .work-invitation{grid-template-columns:1fr;gap:25px;padding-bottom:15px}.spatial-page .work-invitation h2{font-size:50px;max-width:640px}.spatial-page .work-invitation p{font-size:17px}.demo-reel{padding-block:60px 40px;scroll-padding-inline:24px}.demo-reel-track{padding-inline:24px;gap:38px}.reel-card{width:82vw}.reel-caption{flex-direction:column;gap:10px;margin-top:22px}.reel-caption h3{font-size:27px}.reel-caption>span{font-size:13px}.reel-access{padding-top:18px;align-items:start;flex-direction:column;gap:3px}.closing-stage{min-height:640px}.closing-content{padding-block:130px}.spatial-page .closing h2{font-size:82px;max-width:610px}.closing-orbit{width:820px;left:calc(50% - 410px);height:400px;top:calc(50% - 200px)}.closing-orbit-three{width:520px;left:calc(50% - 260px);height:480px;top:calc(50% - 240px)}
}
@media(max-width:540px){
.spatial-page .solutions-section{padding-block:70px 80px}.spatial-page .solutions-stage h2{font-size:41px;line-height:1.08}.solutions-stage{gap:20px}.system-diagram{width:calc(100% + 12px);margin-left:-6px;margin-top:0;min-height:255px}.system-node{font-size:12px;gap:8px}.system-node-shape{transform:scale(.85) rotate(-27deg);width:46px;height:43px}.system-node-shape i{width:8px;height:29px}.system-node-shape i:nth-child(2){height:35px}.system-node-shape i:nth-child(3){height:24px}.system-node-foundation{left:18%;top:28%}.system-node-operations{left:81%;top:28%}.system-node-enterprise{left:52%;top:80%}.system-plane-back{transform:translateY(32px) rotateX(54deg) rotateZ(-36deg)}.solutions-console{margin-top:12px}.spatial-page .service-tabs{gap:15px}.spatial-page .service-tab{font-size:14px;padding-block:14px 17px;min-height:55px}.spatial-page .service-panel{grid-template-columns:1fr;gap:28px;padding-top:31px;min-height:380px}.spatial-page .service-panel h3{font-size:29px}.spatial-page .service-panel li{font-size:15px}
.spatial-page .industry-section{padding-block:35px 85px}.spatial-page .industry-layout{gap:50px}.industry-scene{height:390px;width:calc(100% - 12px)}.spatial-page .industry-scene .industry-image{transform:rotateY(6deg) rotateX(3deg) rotateZ(-2deg)}.industry-orbit{inset:13% -12%}.industry-orbit-two{inset:27% -13%}.industry-frame-edge{width:8px;right:-2px}.spatial-page .industry-copy h2{font-size:40px}.spatial-page .industry-copy>p{font-size:16px}.spatial-page .industry-links a{font-size:17px}
.spatial-page .process-section{padding-block:75px}.process-stage{gap:28px}.process-anchor{display:flex;flex-direction:column;align-items:start;gap:0}.spatial-page .process-anchor h2{font-size:41px}.phase-orbit{width:100%;max-width:330px;height:250px;margin:12px auto 0}.phase-ring{inset:25px 36px}.spatial-page .process-statement{font-size:20px;max-width:330px}.spatial-page .process-statement .text-link{margin-top:14px}.spatial-page .process-list li{grid-template-columns:71px 1fr;gap:20px;min-height:285px;padding-block:36px 42px}.spatial-page .process-list li:last-child{min-height:240px}.spatial-page .process-number{font-size:68px}.spatial-page .process-list li>div{padding-top:5px}.spatial-page .process-list h3{font-size:30px}.spatial-page .process-list p{font-size:16px;margin-top:17px;line-height:1.65}.spatial-page .process-number:after{margin-top:20px;height:35px}
.spatial-page .work-section{padding-block:80px 25px}.spatial-page .work-invitation{gap:22px}.spatial-page .work-invitation h2{font-size:41px}.spatial-page .work-invitation p{font-size:16px}.demo-reel{padding-block:40px 35px}.demo-reel-track{gap:26px}.reel-card{width:83vw}.reel-caption{margin-top:20px}.reel-caption h3{font-size:25px}.reel-caption>span{font-size:12px;gap:16px}.reel-access{gap:8px}.reel-access .text-link{font-size:14px;gap:12px}.reel-access>p{font-size:12px;max-width:260px}.closing-stage{min-height:570px}.closing-content{padding-block:110px}.spatial-page .closing h2{font-size:64px;max-width:320px;line-height:1.06}.spatial-page .closing p{max-width:290px;font-size:17px;margin-top:25px}.closing-orbit{width:640px;left:calc(50% - 320px);height:360px;top:calc(50% - 180px)}.closing-orbit-three{width:390px;left:calc(50% - 195px);height:450px;top:calc(50% - 225px)}
}
@media(max-width:370px){.spatial-page .solutions-stage h2,.spatial-page .industry-copy h2,.spatial-page .process-anchor h2,.spatial-page .work-invitation h2{font-size:35px}.system-diagram{min-height:225px}.spatial-page .service-tabs{gap:10px}.spatial-page .service-tab{font-size:13px}.industry-scene{height:350px}.spatial-page .process-list li{grid-template-columns:58px 1fr;gap:16px}.spatial-page .process-number{font-size:56px}.spatial-page .process-list h3{font-size:27px}.spatial-page .process-list p{font-size:15px}.reel-card{width:83vw}.reel-caption h3{font-size:23px}.spatial-page .closing h2{font-size:57px}}
@media(prefers-reduced-motion:reduce){
.spatial-page :is(.system-pulse,.system-node-shape,.industry-scan),.spatial-page :is(.industry-orbit,.phase-ring,.closing-orbit):after{animation:none!important}
.industry-scan{display:none}.system-pulse{stroke-dashoffset:0;stroke-opacity:.6}.process-anchor{position:relative;top:auto}.spatial-page .industry-scene .industry-image{transform:none}.industry-frame-edge{display:none}.demo-reel{scroll-behavior:auto}.reel-screen,.reel-card:nth-child(2) .reel-screen,.reel-card:nth-child(3) .reel-screen{transform:none}.spatial-page .industry-links a:hover,.spatial-page .industry-links a:focus-visible{padding-left:0}
}

/* Shared motion state and pointer material response. */
.spatial-page .system-network{transform:rotateX(var(--pointer-y,0deg)) rotateY(var(--pointer-x,0deg));transform-origin:center}
.spatial-page .industry-scene{transform:rotateX(var(--pointer-y,0deg)) rotateY(var(--pointer-x,0deg))}
.system-node{transition:color .3s,opacity .3s}.system-node.is-selected{color:var(--frost)}.system-node.is-selected .system-node-shape i{border-top-color:var(--frost);filter:brightness(1.18)}
.spatial-page .process-list li.is-current .process-number{color:var(--frost)}
.spatial-page .site-footer{padding-bottom:100px}
.spatial-page:is(.motion-paused,.motion-suspended) *,.spatial-page:is(.motion-paused,.motion-suspended) *:before,.spatial-page:is(.motion-paused,.motion-suspended) *:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.system-node{transition:none}.spatial-page .system-network,.spatial-page .industry-scene{transform:none}}

.demo-reel.reel-scroll-driven{scroll-snap-type:none}
