/* Background geometry is separate from the pixel-registered image reflections. */
.scene-section{position:relative;isolation:isolate}
.ambient-field{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;overflow:hidden;color:#629bb9;opacity:.34;mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.15) 35%,rgba(0,0,0,.22) 65%,#000)}
.ambient-track,.ambient-current{fill:none;stroke:currentColor;vector-effect:non-scaling-stroke}
.ambient-track{stroke-width:1;opacity:.26}
.ambient-current{stroke-width:1.5;stroke-dasharray:60 740;opacity:.72;animation:ambient-flow 26s linear infinite;animation-delay:var(--phase,0s);animation-play-state:paused}
.ambient-grid{opacity:.12}
.scene-awake>.ambient-field .ambient-current{animation-play-state:running}
.editorial-intro{background:radial-gradient(ellipse at 100% 100%,#e7f2f7,transparent 62%),#fff}
.chapter-process{background:radial-gradient(ellipse at 85% 30%,#dceff9,transparent 55%),#eef4f8}
.chapter-expertise{background:radial-gradient(ellipse at 0 80%,#e9f0f1,transparent 65%),#fbfaf7}
.chapter-systems{background:radial-gradient(ellipse at 85% 15%,#214a63,transparent 55%),#102c45}
.chapter-systems>.ambient-field,.approach-section>.ambient-field{color:#9ecde5;opacity:.3}
.experience-section{background:radial-gradient(ellipse at 95% 10%,#dfeff6,transparent 55%),#f6f8f9}
.products-section{background:radial-gradient(ellipse at 4% 70%,#e2edf5,transparent 65%),#f2f5f7}
.approach-section{background:radial-gradient(ellipse at 85% 75%,#204964,transparent 60%),#0c2844}
.team-section{background:radial-gradient(ellipse at 100% 50%,#e4f0f7,transparent 58%),#fff}
.contact-section{background:radial-gradient(ellipse at 0 100%,#d9eaf5,transparent 65%),#eef4f8}
.scene-figure{position:relative;aspect-ratio:var(--scene-ratio);isolation:isolate}
.scene-figure>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.scene-reflections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;opacity:.75}
.scene-figure>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.scene-figure{cursor:pointer;outline:none;touch-action:pan-y}
.scene-figure:focus-visible{outline:2px solid #8ac8ec;outline-offset:6px;border-radius:12px}
.scene-ready[data-rebuilt=true]>img{opacity:0}
.scene-figure .scene-interaction{opacity:0;transition:filter .4s ease}
.scene-ready .scene-interaction{opacity:1}
.scene-interaction .model-plane,.scene-interaction .cube-face,.scene-interaction .document-glass{stroke:#c3f5ff;stroke-width:2;stroke-linejoin:round}
.scene-interaction .model-post{fill:none;stroke:#8ae0ff;stroke-width:1.5;opacity:.48}
.model-joint{fill:#e8fbff}
.scene-interaction .cube-face{stroke-width:1.6;fill-opacity:.55}
.scene-interaction .document-outline{fill:none;stroke:#dffaff;stroke-width:3;stroke-linejoin:round}
.scene-interaction .document-line{fill:none;stroke:#d4faff;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1;animation:scene-writing 2.8s ease-in-out infinite;animation-delay:var(--object-delay,0s)}
.scene-hand-document{transform-origin:137px 615px;animation:scene-document-float 4s ease-in-out infinite}
.scene-object-pulse{mix-blend-mode:screen;opacity:0;animation:scene-object-pulse 3.6s ease-in-out infinite;animation-delay:var(--object-delay,0s)}
.scene-panel-scan{mix-blend-mode:screen;opacity:0;transition:opacity .4s}
.scene-active .scene-panel-scan{opacity:.95}
.scene-figure .document-line,.scene-figure .scene-hand-document,.scene-figure .scene-object-pulse{animation-play-state:paused}
.scene-active .document-line,.scene-active .scene-hand-document,.scene-active .scene-object-pulse{animation-play-state:running}
.scene-figure:not(.scene-active) .scene-object-pulse{opacity:0!important}
.scene-active .scene-model,.scene-active .scene-cube,.scene-active .scene-hand-document{filter:drop-shadow(0 0 7px #56caff80)}
.scene-invite{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:7px;color:#66849a;font-size:10px;line-height:1.4;letter-spacing:.01em;pointer-events:none;transition:opacity .3s}
.scene-invite-symbol{font-size:23px;color:#65a9d0}
.scene-active .scene-invite{opacity:0}
.chapter-systems .scene-invite,.approach-section .scene-invite{color:#a8c5d8}
.scene-invite-touch{display:none}
.scene-interaction defs path{stroke:none}
@keyframes scene-writing{0%,12%{stroke-dashoffset:1;opacity:.25}48%,78%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:.4}}
@keyframes scene-document-float{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(5px,-14px) rotate(-3deg)}}
@keyframes scene-object-pulse{0%,100%{opacity:.08}40%,60%{opacity:.92}}
@media(hover:none){.scene-invite-touch{display:inline}.scene-invite-pointer{display:none}}
@media(prefers-reduced-motion:reduce){.scene-active .scene-hand-document{animation:scene-soft-pulse 5s ease-in-out infinite!important}.scene-active .document-line{animation:scene-writing 5.6s ease-in-out infinite!important;animation-delay:var(--object-delay,0s)!important}.scene-active .scene-object-pulse{animation:scene-object-pulse 7.2s ease-in-out infinite!important;animation-delay:var(--object-delay,0s)!important}}
@keyframes scene-soft-pulse{50%{opacity:.75}}
.systems-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.65fr);align-items:center;gap:60px}
.systems-message>p{font-size:15px;line-height:1.9;color:#a0b9cd;max-width:430px;margin-top:28px}
.systems-person{width:100%;max-width:380px;justify-self:end}
.chapter-systems .architecture-map{margin-top:0}
.team-section{display:block}
.team-inner{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.team-inner>.eyebrow{grid-column:1/-1;margin:0 0 -12px}
.team-visual .team-person{width:100%;max-width:none}
.team-visual .team-person>img{height:100%;object-fit:contain}
.product-list:after{content:"";position:absolute;pointer-events:none;left:55px;top:60px;bottom:60px;width:1px;background:linear-gradient(transparent,#5b99bf,transparent) 0 0/100% 260px repeat-y;animation:product-link-flow 16s linear infinite;animation-play-state:paused}
.scene-awake .product-list:after{animation-play-state:running}
@keyframes ambient-flow{to{stroke-dashoffset:-1600}}
@keyframes product-link-flow{to{background-position:0 780px}}
@media(max-width:1100px){.systems-top{gap:30px;grid-template-columns:1fr 260px}.team-inner{gap:36px}}
@media(max-width:800px){.systems-top{grid-template-columns:1fr;gap:0}.systems-person{width:min(85%,310px);margin-top:20px}.systems-message>p{font-size:14px;max-width:440px}.team-inner{grid-template-columns:1fr;gap:28px}.team-inner>.eyebrow{margin:0}.product-list:after{left:30px;top:50px;bottom:100px}.ambient-field{opacity:.25;mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.18) 25%,rgba(0,0,0,.18) 75%,#000)}}
@media(prefers-reduced-motion:reduce){.ambient-current{animation-duration:52s}.product-list:after{animation-duration:32s}}
html.scene-hidden .ambient-current,html.scene-hidden .product-list:after{animation-play-state:paused}
