/* A projected, deforming surface; the SVG remains the static fallback. */
.particle-field{animation:none!important;transform:none!important;opacity:.7;background-size:cover}
.particle-field.canvas-ready{background-image:none}.particle-canvas{display:none;position:absolute;width:100%;height:100%;inset:0}.particle-field.canvas-ready .particle-canvas{display:block}.hero-sky::before{opacity:.10}
.build-graphic-input,.build-graphic-sources,.build-graphic-review{perspective:550px;transform-style:preserve-3d}
.build-graphic-input i{top:62px;left:calc(50% - 48px);transform:rotateX(65deg);box-shadow:0 7px 0 #b6a57a55}
.build-graphic-input i:first-child{transform:translateX(-35px) rotateX(65deg);animation-name:spatial-ring-left}.build-graphic-input i:last-child{transform:translateX(35px) rotateX(65deg);animation-name:spatial-ring-right}
@keyframes spatial-ring-left{to{transform:translateX(-20px) rotateX(65deg)}}@keyframes spatial-ring-right{to{transform:translateX(20px) rotateX(65deg)}}
.build-graphic-sources{gap:2px}.build-graphic-sources i{position:relative;width:26px;transform:rotateX(55deg) rotateY(-35deg) rotateZ(-18deg);animation-name:spatial-slab}.build-graphic-sources i:after{content:"";position:absolute;right:-6px;top:4px;width:6px;height:100%;background:#405e58;transform:skewY(38deg)}@keyframes spatial-slab{to{transform:rotateX(55deg) rotateY(-35deg) rotateZ(-18deg) translateY(-12px)}}
.build-graphic-review{perspective:550px;gap:4px}.build-graphic-review i,.build-graphic-review i:nth-child(2),.build-graphic-review i:nth-child(3){position:relative;transform:rotateX(55deg) rotateZ(45deg);animation-name:spatial-cube}.build-graphic-review i:before,.build-graphic-review i:after{content:"";position:absolute;background:#607a70}.build-graphic-review i:before{height:15px;left:0;right:0;bottom:-15px;transform-origin:top;transform:skewX(-45deg)}.build-graphic-review i:after{width:15px;top:0;bottom:0;right:-15px;transform-origin:left;transform:skewY(-45deg);background:#4e685f}.build-graphic-review i:nth-child(2):before,.build-graphic-review i:nth-child(3):before{background:#96825d}.build-graphic-review i:nth-child(2):after,.build-graphic-review i:nth-child(3):after{background:#82704e}@keyframes spatial-cube{to{transform:rotateX(55deg) rotateZ(45deg) translateY(-10px)}}
@media(max-width:700px){.hero-sky::before{opacity:.10}}
@media(prefers-reduced-motion:reduce){.particle-field{animation:none!important}.particle-canvas{display:none!important}.build-graphic-input i:first-child{transform:translateX(-35px) rotateX(65deg)}.build-graphic-input i:last-child{transform:translateX(35px) rotateX(65deg)}.build-graphic-sources i{transform:rotateX(55deg) rotateY(-35deg) rotateZ(-18deg)}.build-graphic-review i,.build-graphic-review i:nth-child(2),.build-graphic-review i:nth-child(3){transform:rotateX(55deg) rotateZ(45deg)}}
.particle-field{opacity:.85}
.spatial-figure{display:block;width:min(86%,300px);height:auto;max-height:190px;overflow:visible}.build-graphic-sources,.build-graphic-review{display:flex;justify-content:center;align-items:center}.spatial-sheets g,.spatial-cubes g{animation:spatial-lift 5s ease-in-out infinite alternate;animation-play-state:paused}.build-sequence.in-view .spatial-sheets g,.build-sequence.in-view .spatial-cubes g{animation-play-state:running}.spatial-sheets g:nth-child(2n),.spatial-cubes g:nth-child(2n){animation-delay:-2s}@keyframes spatial-lift{to{translate:0 -8px}}@media(prefers-reduced-motion:reduce){.spatial-sheets g,.spatial-cubes g{animation:none!important}}
