/* Preserve the existing poster, image position and white fades in the opening. */
/* Keep the chosen scroll position when media becomes ready or the viewport changes. */
body.has-hero-motion{overflow-anchor:none}
.hero-scroll{position:relative;--hero-copy-opacity:1;--hero-video-opacity:0;--hero-edge-opacity:1;--hero-visual-opacity:1;--hero-closeup-scale:1}
.hero-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 35%;opacity:0;pointer-events:none}
.hero-scroll.is-motion-ready{height:var(--hero-scroll-height)}
.hero-scroll.is-motion-ready>.hero{position:sticky;top:var(--hero-pin-top);height:var(--hero-height);min-height:var(--hero-height);overflow:hidden}
.hero-scroll.is-motion-ready .hero-copy{min-height:var(--hero-natural-height);opacity:var(--hero-copy-opacity);transform:translateY(var(--hero-copy-shift));pointer-events:var(--hero-copy-events)}
.hero-scroll.is-motion-ready .hero-copy:focus-within{opacity:1;pointer-events:auto}
.hero-scroll.is-motion-ready .hero-visual{inset:auto;left:var(--hero-visual-left);top:var(--hero-visual-top);width:var(--hero-visual-width);height:var(--hero-visual-height);opacity:var(--hero-visual-opacity)}
/* Keep an opaque first frame behind the video to avoid a white alpha dip. */
.hero-scroll.is-motion-ready .hero-visual>img{opacity:1;object-position:var(--hero-object-position);transform:scale(var(--hero-closeup-scale));transform-origin:50% 50%}
.hero-scroll.is-motion-ready .hero-motion{opacity:var(--hero-video-opacity);object-position:var(--hero-object-position);transform:scale(var(--hero-closeup-scale));transform-origin:50% 50%;will-change:transform}
.hero-scroll.is-motion-ready .hero-visual:before,.hero-scroll.is-motion-ready .hero-visual:after{opacity:var(--hero-edge-opacity)}
.hero-followup{position:relative;z-index:1;background:#fff}
.hero-scroll.is-motion-ready+.hero-followup{margin-top:calc(-1 * var(--hero-handoff-overlap,0px));background:transparent;opacity:var(--hero-followup-opacity,0);transform:translateY(var(--hero-followup-shift,12px));pointer-events:var(--hero-followup-events,none)}
.hero-scroll.is-motion-ready+.hero-followup .trust-strip{border-bottom-color:rgba(222,220,216,var(--hero-followup-line-opacity,0))}
.hero-scroll.is-motion-ready+.hero-followup:focus-within{opacity:1;pointer-events:auto}
@media(max-width:600px){
  .hero-motion{object-position:57% 20%}
}
@media(prefers-reduced-motion:reduce){
  .hero-scroll.is-motion-ready{height:auto!important}
  .hero-scroll.is-motion-ready>.hero{position:relative;top:auto;height:auto;min-height:0;overflow:visible}
  .hero-motion{display:none!important}
  .hero-scroll.is-motion-ready+.hero-followup{margin-top:0;background:#fff;opacity:1;transform:none;pointer-events:auto}
  .hero-scroll.is-motion-ready+.hero-followup .trust-strip{border-bottom-color:var(--line)}
  .hero-scroll .hero-copy,.hero-scroll .hero-visual>img{opacity:1!important;transform:none!important;pointer-events:auto!important}
}
