/* LP Media hero wipe, adapted from ZERO Labo's production hero-motion package.
   Load after renewal-assets/style.css. Static text remains visible without JS. */
.zm-hero .zm-wipe{position:relative;isolation:isolate}
.zm-hero .zm-wipe-copy{position:relative;z-index:1}
.zm-hero__band>.zm-wipe-copy{display:inline;font-size:inherit;padding-left:0}
.zm-hero h1>.zm-wipe{display:block}
/* The existing `h1 span:last-child` targets nested spans as well. Keep the
   inherited size/color so the first line does not accidentally turn yellow. */
.zm-hero h1>.zm-wipe>.zm-wipe-copy{font-size:inherit;color:inherit;line-height:inherit}
.zm-hero .zm-wipe::after{content:"";position:absolute;z-index:2;inset:0;background:#fff;transform:scaleX(0);transform-origin:left;pointer-events:none}
.zm-hero h1>.zm-wipe:last-child::after{background:var(--zm-yellow,#f9d56c)}
.zm-hero__band.zm-wipe{box-shadow:0 5px 12px #0005}
.zm-hero__band.zm-wipe{--zm-wipe-delay:120ms}
.zm-hero h1>.zm-wipe:first-child{--zm-wipe-delay:640ms}
.zm-hero h1>.zm-wipe:last-child{--zm-wipe-delay:1120ms}
.zm-hero__sub.zm-wipe{--zm-wipe-delay:1640ms}
@keyframes zm-hero-wipe-bar{
  0%{transform:scaleX(0);transform-origin:left}
  48%{transform:scaleX(1);transform-origin:left}
  49%{transform:scaleX(1);transform-origin:right}
  100%{transform:scaleX(0);transform-origin:right}
}
@keyframes zm-hero-wipe-copy{0%,48%{opacity:0}49%,100%{opacity:1}}
@keyframes zm-hero-band-background{
  0%,48%{background-color:transparent;box-shadow:none}
  49%,100%{background-color:#fff;box-shadow:0 5px 12px #0005}
}
@media(prefers-reduced-motion:no-preference){
  .zm-hero.zm-motion-pending .zm-wipe-copy{opacity:0}
  .zm-hero.zm-motion-pending .zm-hero__band{background-color:transparent;box-shadow:none}
  .zm-hero.zm-motion-run .zm-wipe::after{animation:zm-hero-wipe-bar 860ms cubic-bezier(.65,0,.35,1) var(--zm-wipe-delay) both}
  .zm-hero.zm-motion-run .zm-wipe-copy{animation:zm-hero-wipe-copy 860ms linear var(--zm-wipe-delay) both}
  .zm-hero.zm-motion-run .zm-hero__band{animation:zm-hero-band-background 860ms linear var(--zm-wipe-delay) both}
}
@media(prefers-reduced-motion:reduce){
  .zm-hero .zm-wipe::after{display:none}
  .zm-hero .zm-wipe-copy{opacity:1!important;animation:none!important}
  .zm-hero__band.zm-wipe{background-color:#fff;box-shadow:0 5px 12px #0005;animation:none!important}
}
