.hero-image{background-image:none!important;filter:none!important;animation:none!important;transform:none!important;pointer-events:none}
.hero-image-layer{position:absolute;inset:0;background-size:cover;background-position:center 42%;background-repeat:no-repeat;opacity:0;filter:saturate(1.02) contrast(1.03);transform:scale(1.035);transition:opacity var(--hero-crossfade,2.4s) ease-in-out;will-change:opacity,transform,background-position}
.hero-image-layer.is-visible{opacity:1}
.hero-image-layer.motion-slow-breathe.is-visible{animation:hero-banner-breathe 18s ease-in-out infinite alternate}
.hero-image-layer.motion-slow-pan.is-visible{animation:hero-banner-pan 22s ease-in-out infinite alternate}
@keyframes hero-banner-breathe{0%{transform:scale(1.035);background-position:48% 42%}100%{transform:scale(1.085);background-position:54% 46%}}
@keyframes hero-banner-pan{0%{transform:scale(1.045);background-position:46% 42%}100%{transform:scale(1.09);background-position:56% 46%}}
@media(max-width:700px){.hero-image-layer{background-position:60% center}.hero-image-layer.motion-slow-breathe.is-visible{animation-name:hero-banner-breathe-mobile}.hero-image-layer.motion-slow-pan.is-visible{animation-name:hero-banner-pan-mobile}}
@keyframes hero-banner-breathe-mobile{0%{transform:scale(1.05);background-position:58% 42%}100%{transform:scale(1.09);background-position:64% 46%}}
@keyframes hero-banner-pan-mobile{0%{transform:scale(1.06);background-position:58% 42%}100%{transform:scale(1.1);background-position:68% 46%}}
@media(prefers-reduced-motion:reduce){.hero-image-layer{transition:none!important;animation:none!important;transform:none!important}}
