/* Decorative geometry stays behind the readable content plane. */
.abstract-stage{position:relative;isolation:isolate;overflow:hidden}
.abstract-scene{position:absolute;inset:0;pointer-events:none;z-index:0;perspective:1000px;overflow:hidden;contain:layout paint}
.abstract-stage>.abstract-scene{z-index:0}.abstract-stage>.hero-content,.abstract-stage>.service-copy,.abstract-stage>.service-controls{z-index:2}
.abstract-slab{position:absolute;width:clamp(140px,24vw,340px);height:clamp(100px,17vw,230px);right:-4%;top:12%;border-radius:24px;border:1px solid rgba(68,179,229,.45);background:linear-gradient(135deg,rgba(64,189,235,.2),rgba(20,73,163,.03));box-shadow:inset 0 0 35px rgba(141,225,255,.24),15px 25px 50px rgba(15,67,132,.12);transform-style:preserve-3d;animation:slab-orbit 14s ease-in-out infinite alternate;backface-visibility:hidden}
.abstract-slab:nth-child(2){right:7%;top:38%;width:clamp(100px,18vw,240px);height:clamp(80px,13vw,170px);animation-delay:-5s;animation-duration:18s;border-radius:16px;background:linear-gradient(135deg,rgba(16,97,191,.16),rgba(45,216,235,.05))}
.abstract-slab:nth-child(3){right:18%;top:6%;width:clamp(70px,10vw,145px);height:clamp(60px,9vw,125px);animation-delay:-9s;animation-duration:12s;background:linear-gradient(135deg,rgba(52,214,238,.21),rgba(255,255,255,.02))}
@keyframes slab-orbit{0%{transform:translate3d(0,-12px,-45px) rotateX(26deg) rotateY(-32deg) rotateZ(-16deg)}50%{transform:translate3d(-30px,22px,55px) rotateX(-18deg) rotateY(25deg) rotateZ(12deg)}100%{transform:translate3d(16px,-24px,10px) rotateX(20deg) rotateY(-18deg) rotateZ(-8deg)}}
.depth-panel{position:relative;transform-style:preserve-3d;transition:transform .45s ease,box-shadow .45s ease;box-shadow:0 12px 28px rgba(18,66,118,.1),0 3px 0 rgba(97,169,210,.18)}
.depth-panel.motion-visible:hover{transform:perspective(1100px) rotateX(var(--tilt-x,2deg)) rotateY(var(--tilt-y,-3deg)) translateY(-7px);box-shadow:0 26px 48px rgba(18,66,118,.18),0 5px 0 rgba(97,169,210,.24)}
.depth-panel::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 20%,rgba(103,205,246,.12) 45%,transparent 65%);background-size:250% 100%;animation:panel-light 9s ease-in-out infinite;opacity:.8}
@keyframes panel-light{0%,100%{background-position:100% 0}50%{background-position:0% 0}}
.motion-paused .abstract-slab,.motion-paused .depth-panel::after{animation-play-state:paused!important}.motion-paused .depth-panel:hover{transform:none!important}
@media(max-width:760px){.abstract-slab{opacity:.65;right:-12%;animation-duration:20s}.depth-panel.motion-visible:hover{transform:none}.abstract-scene{max-height:650px}}
@media(prefers-reduced-motion:reduce){.abstract-slab,.depth-panel::after{animation:none}.depth-panel,.depth-panel:hover{transform:none!important;transition:none}}
