/* V18 owns the hero from first paint. Never expose an old scene/video handoff. */
html { scroll-behavior:auto; }
html[data-variant="customer-v12"] .scene-media { transform:none !important; background:#171715; }
.scene-phase-layer,.scene-fallback,.living-atmosphere { visibility:hidden !important; }
.scene-vignette::before,.scene-vignette::after { display:none !important; }
.controlled-scene { position:absolute; inset:0; z-index:20; overflow:hidden; pointer-events:none; }
.controlled-scene canvas { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.controlled-background { z-index:0; }
.controlled-atmosphere { z-index:1; }
.controlled-scene[data-atmosphere-state="fallback"] .controlled-atmosphere { visibility:hidden; }
.controlled-architecture { z-index:2; }
.controlled-reflection { z-index:2; mix-blend-mode:soft-light; }
.controlled-foreground { z-index:3; }
.construction-status { position:fixed; z-index:100; bottom:12px; left:50%; transform:translateX(-50%); max-width:calc(100vw - 30px); padding:8px 13px; background:#090908e8; color:#e6cf98; font:11px/1.5 system-ui,sans-serif; text-align:center; }
.construction-status[hidden] { display:none; }
.controlled-scene:not([data-ready]) canvas { visibility:hidden; }
/* A separate approved complete plate remains available without JavaScript or
   when any motion dependency fails. It never replaces a healthy live scene. */
.controlled-static { position:absolute; inset:0; z-index:20; width:100%; height:100%; object-fit:cover; object-position:center; }
html[data-construction-boot="pending"] .controlled-static,
html[data-construction-boot="ready"] .controlled-static { visibility:hidden; }
html[data-construction-state="failed"] .controlled-static { visibility:visible; }
/* A slow connection gets the still while downloads continue, not a terminal
   failure after 20 seconds. Ready swaps it once to the fully composed scene. */
html[data-construction-boot="slow"] .controlled-static { visibility:visible; }
html[data-construction-state="failed"] .controlled-scene { display:none; }
html[data-construction-state="failed"] .intro { height:auto !important; min-height:0 !important; }
html[data-construction-state="failed"] .scene-stage { position:relative !important; }
/* The fallback must not hide the crown/services beneath an opaque nav band.
   Keep the existing opaque header once the visitor is reading the book. */
html[data-variant="customer-v12"]:not(.is-enhanced):not(.is-reading-content) .site-header { background:linear-gradient(180deg,rgba(4,4,3,.76),transparent); }
/* The customer requested unboxed corners. Focus remains keyboard-visible. */
.corner-teaser--consulting { border:0 !important; outline:0; }
.corner-teaser--consulting:focus-visible { outline:1px solid currentColor; outline-offset:8px; }
@media(prefers-reduced-motion:reduce) { .controlled-atmosphere { display:none; } }
