/* Hero "encounter" vector flipbook — replaces the scroll-scrubbed video.
   Line-art frames traced from the original footage; ~320 KB gzipped of vector
   instead of a ~3 MB video, and it plays back the real motion. */

.hero-scene-stage { inset: 0; max-width: none; }

.hero-scene-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    opacity: 0;              /* hidden until GSAP fades it in on scroll */
    pointer-events: none;
    will-change: opacity;
}

.hero-scene-svg .hs-frame { fill: #eef4ff; }
.hero-scene-svg .hs-ground { stroke: #cfe0ff; stroke-width: 1.4; opacity: 0.38; }
.hero-scene-svg .hs-core { opacity: 0.9; }
.hero-scene-svg [data-scene-touch] { will-change: transform, opacity; }

/* static fallback (no JS / reduced motion): the baked-in touch frame shows */
html.no-js .hero-scene-svg { opacity: 1; }
html.no-js .hero-scene-svg [data-scene-touch] { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
    .hero-scene-svg { opacity: 1 !important; }
    .hero-scene-svg [data-scene-touch] { opacity: 1; }
}
