/* Three base colors, including text and surfaces; alpha only adds depth. */
:root{--ink:#090714;--electric:#ff2e9a;--acid:#29f2e4;--pink:#29f2e4;--orange:#ff2e9a;--bg:#090714;--text:#29f2e4;--muted:#29f2e4;--burgundy:#ff2e9a;--accent:#ff2e9a;--line:#ff2e9a}
body{background:var(--ink)}
main>section{--panel:#29f2e4;background:var(--panel)}
main>#hero,main>#visual-story,main>.process,main>#contact{--panel:#090714;background:var(--panel)}
main>#events,main>#production{--panel:#ff2e9a;background:var(--panel)}
main>#solutions,main>#expertises,main>#packages,main>#team,main>.faq{--panel:#29f2e4;background:var(--panel)}
#events :is(h2,.section-index),#production :is(h2,.section-index),#production .production-note{color:var(--acid)!important}
.hero .hero-shade{background:linear-gradient(90deg,#090714eb,#09071466),linear-gradient(0deg,#09071488,transparent)}
.hero h1,.hero .eyebrow,.hero .hero-copy{color:var(--acid)}
.header,.header.scrolled{background:#090714f2;color:var(--acid);mix-blend-mode:normal}
.header .brand,.header .nav a,.header .lang{color:var(--acid)}
#visual-story.duo-console{background:var(--ink)}
#visual-story :is(h2,h3,p,li),.process.section :is(h2,h3,p),#contact>.wrap>div :is(h2,p,h3){color:var(--acid)!important}
.service-grid .service-symbol-card{position:relative;isolation:isolate;overflow:hidden!important;background:var(--ink)!important;box-shadow:0 9px 0 var(--electric)!important;border:1px solid var(--electric)!important}
.service-loop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none;opacity:.8}
.service-grid .service-symbol-card:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(0deg,#090714fa 5%,#090714eb 34%,#09071433 76%)}
#solutions .service-symbol-card :is(b,h3,p),#solutions .service-symbol-card:is(:hover,:focus-visible,.is-slide-active) :is(b,h3,p){color:var(--acid)!important}
#solutions .service-symbol-slot{opacity:.8;mix-blend-mode:screen}
#solutions .service-symbol-card.is-slide-active{outline-color:var(--electric)}
#packages .package-card{--card-accent:#090714;--card-tint:#29f2e4;border:2px solid var(--ink)}
#packages .package-card:nth-child(2),#packages .package-card:nth-child(3),#packages .package-card:nth-child(4){--card-accent:#ff2e9a;--card-tint:#29f2e4}
#packages .package-card li{color:var(--ink)}#packages .package-card.featured li{color:var(--electric)}
#packages .package-card .choose{color:var(--acid)}
#packages .price-note,.packages-head>p{color:var(--ink)!important}
.contact-form{background:var(--acid);color:var(--ink);box-shadow:12px 16px 0 var(--electric)}
.contact-form #builder{background:var(--ink)}
.contact-form #builder :is(h2,p,.section-index){color:var(--acid)!important}
.contact-form #builder .choice-grid span{background:var(--acid);color:var(--ink)}
.contact-form #builder .choice-grid input:checked+span{background:var(--electric);color:var(--acid)}
.contact-form :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:var(--acid);color:var(--ink);border-color:var(--electric)}
.contact-form :is(.form-heading h3,.form-heading p,label>span,.form-help,.form-divider,.form-status,.form-completion output){color:var(--ink)}
.contact-form .button{background:var(--electric);color:var(--acid)}
.contact-form .contact-service label>span{border-color:var(--electric);background:var(--acid);color:var(--ink)}
.selected-package{background:var(--acid);border-color:var(--electric)}
footer{background:var(--ink)}
.section-lip{display:none}
@media(max-width:900px){
 /* Only the decorative lip overlaps. Sticky rails keep untransformed ancestors. */
 main>.section{padding-top:5.5rem;padding-bottom:12rem;margin-top:0;border-radius:0!important}
 main>#visual-story.duo-console{margin:0;width:100%;box-shadow:none}
 main>.section>.section-lip{display:block;position:absolute;left:0;right:0;top:-168px;height:170px;pointer-events:none;background:var(--panel);border-radius:var(--lip-curve,50%) var(--lip-curve,50%) 0 0 / 100% 100% 0 0;transform:scaleY(var(--lip-scale,.25));transform-origin:bottom;z-index:0;box-shadow:0 -12px 0 #ff2e9a33}
 main>.section:nth-child(even)>.section-lip{border-radius:90% 10% 0 0 / 100% 100% 0 0}
 main>.section:nth-child(odd)>.section-lip{border-radius:10% 90% 0 0 / 100% 100% 0 0}
 .section-seam{display:none}
 .hero{padding-bottom:155px;border-radius:0;min-height:94svh}
 #solutions .kinetic-line{margin-top:0;transform:none}
 /* Separate CSS channels from the legacy animations and never move a rail. */
 html.flow-enabled body main#main [data-flow]{
  opacity:var(--flow-opacity,1)!important;transform:none!important;
  translate:var(--flow-x,0px) var(--flow-y,0px)!important;
  clip-path:none!important;visibility:visible!important;transition:none!important;
 }
 html.flow-enabled body main#main [data-flow='title']{translate:var(--flow-x,0px) 0!important}
 #solutions .service-grid.mobile-rail,#packages #packageRail,.process .timeline.mobile-rail{perspective:none;overflow-x:auto;overflow-y:hidden;touch-action:pan-x pan-y pinch-zoom;transform:none!important}
 .service-loop{opacity:.9}
 .service-symbol-card>h3,.service-symbol-card>p{position:relative}
}
@media(prefers-reduced-motion:reduce){
 html.flow-enabled body main#main [data-flow]{opacity:1!important;translate:none!important}
 main>.section>.section-lip{transform:none}
}
