/* V33: aubergine night, neon coral, ice cyan. */
:root{--ink:#090714;--electric:#ff2e9a;--acid:#29f2e4;--pink:#29f2e4;--bg:#090714;--text:#29f2e4;--burgundy:#ff2e9a;--accent:#ff2e9a}
#solutions .kinetic-line{height:44px!important;min-height:0;padding:0!important;display:flex!important;align-items:center;box-shadow:0 4px 0 var(--electric);margin-bottom:4rem}
#solutions .kinetic-line .marquee-track{font-size:1rem!important;line-height:1.2;font-weight:800;letter-spacing:.08em;animation-duration:38s!important;padding:0;margin:0;flex:none}
.marquee-group{padding-right:2em}
.hero .eyebrow{background:#090714aa;border-color:var(--electric)}
.hero-stamp{background:var(--electric);box-shadow:12px 14px 0 var(--acid)}
.header .brand strong{color:var(--electric)}
#solutions .service-symbol-card{border-color:var(--electric)}
#solutions .service-grid .service-symbol-card:after{background:linear-gradient(0deg,#090714fa 5%,#090714eb 36%,#09071429 80%)}
#packages .package-visual{background:var(--electric);color:var(--ink)}
#packages .package-card .choose,.contact-form>.button{background:var(--electric);color:var(--ink);border-color:var(--electric)}
.hero-cta .button{background:var(--electric);border-color:var(--electric);color:var(--ink);box-shadow:0 6px 0 var(--acid)}
/* Scene assets are provisional stills; future video can use the same object-fit framing. */
main>.scene-banner{position:relative;isolation:isolate;height:clamp(440px,60vw,650px);margin:0;background:var(--ink);overflow:hidden;display:flex;align-items:flex-end;padding:clamp(2rem,5vw,5rem) 0}
.scene-banner .banner-image,.scene-banner .banner-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:0}
.scene-banner .banner-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#090714f5, #09071466 48%,#0907140d);pointer-events:none}
.scene-banner .banner-copy{position:relative;z-index:2}
.scene-banner .banner-label{font-size:.875rem;letter-spacing:.18em;font-weight:800;color:var(--electric);margin:0 0 .75rem;display:inline-block;padding:.4rem .8rem;border:1px solid var(--electric);background:var(--ink);border-radius:99px}
.scene-banner h2{color:var(--acid);font-family:var(--display);font-size:clamp(2.8rem,6vw,6rem);font-weight:850;letter-spacing:-.05em;line-height:1.03;max-width:950px;margin:0;text-wrap:balance}
.scene-dance .banner-image{object-position:50% 35%}
.scene-banner:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;border-top:2px solid var(--electric);border-bottom:2px solid var(--electric)}
.faq .accordions .faq-depth>details{border-color:var(--electric)!important;box-shadow:6px 8px 0 #ff2e9a33}
.faq .accordions summary:after{color:var(--electric)}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){.scene-banner .banner-image{animation:bannerBreath 16s ease-in-out infinite alternate}}
@keyframes bannerBreath{from{transform:scale(1)}to{transform:scale(1.06)}}
@media(max-width:900px){
 #solutions .kinetic-line{height:36px!important;width:100%;padding:0!important;margin-inline:0;margin-bottom:2.5rem}
 #solutions .kinetic-line .marquee-track{font-size:.875rem!important;letter-spacing:.06em}
 main>.scene-banner{height:62svh;min-height:410px;max-height:650px;padding:2.2rem 0 3rem}
 .scene-banner h2{font-size:clamp(2.5rem,9.7vw,4rem);max-width:100%}
 .scene-banner .banner-image{object-position:50% 50%}
 .scene-dance .banner-image{object-position:50% 32%}
 /* Real section stacking: long sections are read before their bottom is pinned. */
 html.stack-enabled main>section:not(.hero){position:sticky!important;top:min(76px,calc(min(45svh,320px) - var(--stack-height,100svh)));}
 html.stack-enabled main>.section{border-radius:30px 30px 0 0!important;border-top:2px solid var(--electric);box-shadow:0 -18px 40px #0907144d;padding-top:4rem;padding-bottom:5rem;background:var(--panel)!important;}
 html.stack-enabled main>section>.section-lip{display:none!important}
 html.stack-enabled main>.scene-banner{border-radius:30px 30px 0 0;box-shadow:0 -16px 32px #09071455}
 html.stack-enabled #solutions{padding-top:0}
 html.stack-enabled #solutions .kinetic-line{border-radius:28px 28px 0 0}
 .scroll-stage,.scroll-stage-pin,.package-scroll-stage,.package-scroll-pin{transform:none!important;perspective:none!important}
 #packages #packageRail,#solutions .mobile-rail,.process .mobile-rail{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom}
}
@media(prefers-reduced-motion:reduce){
 .scene-banner .banner-image{animation:none!important}
 html.stack-enabled main>section:not(.hero){position:relative!important;top:auto}
}
