/* Hero zoom scroll (see part.js). Rewritten from RIPE's home hero "Visual" layer (Framer appear + scroll transform).
   The hero clips; its media layer fills it and carries two separate scales that multiply:
     transform  the load settle, 1.5 -> 1 on a 10 s bounce-0 spring (a Web Animation, gone when it ends)
     scale      the scroll zoom, 1 -> 1.2 while the next section scrolls up through the viewport, spring-smoothed
   so scrolling during the settle never fights it. */
[data-hero-zoom] { position: relative; overflow: clip; }
[data-hero-zoom] > [data-hz-media] { position: absolute; inset: 0; z-index: 0; will-change: transform; transform-origin: 50% 50%; }
[data-hz-media] > video, [data-hz-media] > img { width: 100%; height: 100%; object-fit: cover; display: block; max-width: none; }
