/* Only the background children fade. Original hero geometry, overlay and parallax stay intact. */
.hero-image[data-hero]{background-image:none;isolation:isolate}
.hero-image .hero-frame{position:absolute;inset:0;display:block;opacity:0;transition:opacity var(--hero-transition,1.2s) ease;pointer-events:none}
.hero-image .hero-frame.is-visible{opacity:1}
.hero-image .hero-frame img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--hero-focus,50% 50%)}
.hero-image[data-hero-off]{background:none!important}
@media(prefers-reduced-motion:reduce){.hero-image .hero-frame{transition:none!important}}
