@media (prefers-reduced-motion: reduce) {
  .is-style-par-y-slow,
  .is-style-par-y-med,
  .is-style-par-y-fast,
  .is-style-par-y-med-rev,
  .is-style-par-children > *,
  .is-style-par-children-stagger > *,
  .wp-block-cover.is-style-par-cover-bg-slow .wp-block-cover__image-background,
  .wp-block-cover.is-style-par-cover-bg-med .wp-block-cover__image-background,
  .wp-block-cover.is-style-par-cover-bg-fast .wp-block-cover__image-background,
  .wp-block-cover.is-style-par-cover-bg-slow .wp-block-cover__video-background,
  .wp-block-cover.is-style-par-cover-bg-med .wp-block-cover__video-background,
  .wp-block-cover.is-style-par-cover-bg-fast .wp-block-cover__video-background {
    animation: none !important;
    transform: none !important;
  }
}

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    @keyframes parallax-y {
      from { transform: translateY(var(--par-start, -40px)); }
      to   { transform: translateY(var(--par-end, 40px)); }
    }

    .is-style-par-y-slow,
    .is-style-par-y-med,
    .is-style-par-y-fast,
    .is-style-par-y-med-rev {
      will-change: transform;
      animation: parallax-y auto linear both;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
    }

    .is-style-par-y-slow {
      --par-start: clamp(-38px, -5vw, -84px);
      --par-end: clamp(38px, 5vw, 84px);
    }

    .is-style-par-y-med {
      --par-start: clamp(-64px, -8vw, -148px);
      --par-end: clamp(64px, 8vw, 148px);
    }

    .is-style-par-y-fast {
      --par-start: clamp(-98px, -12vw, -228px);
      --par-end: clamp(98px, 12vw, 228px);
    }

    .is-style-par-y-med-rev {
      --par-start: clamp(-76px, -10vw, -176px);
      --par-end: clamp(76px, 10vw, 176px);
      animation-direction: reverse;
    }

    .is-style-par-children > *,
    .is-style-par-children-stagger > * {
      will-change: transform;
      animation: parallax-y auto linear both;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
    }

    .is-style-par-children > * {
      --par-start: clamp(-48px, -6vw, -112px);
      --par-end: clamp(48px, 6vw, 112px);
    }

    .is-style-par-children-stagger > *:nth-child(odd) {
      --par-start: clamp(-34px, -4vw, -78px);
      --par-end: clamp(34px, 4vw, 78px);
    }

    .is-style-par-children-stagger > *:nth-child(even) {
      --par-start: clamp(-72px, -9vw, -168px);
      --par-end: clamp(72px, 9vw, 168px);
    }
  }
}

@media (prefers-reduced-motion: no-preference) {
  html.bestchild-parallax-fallback .is-style-par-y-slow,
  html.bestchild-parallax-fallback .is-style-par-y-med,
  html.bestchild-parallax-fallback .is-style-par-y-fast,
  html.bestchild-parallax-fallback .is-style-par-y-med-rev,
  html.bestchild-parallax-fallback .is-style-par-children > *,
  html.bestchild-parallax-fallback .is-style-par-children-stagger > * {
    transform: translate3d(0, var(--bestchild-parallax-offset, 0px), 0);
    will-change: transform;
  }

  html.bestchild-parallax-cover-js .wp-block-cover.is-style-par-cover-bg-slow,
  html.bestchild-parallax-cover-js .wp-block-cover.is-style-par-cover-bg-med,
  html.bestchild-parallax-cover-js .wp-block-cover.is-style-par-cover-bg-fast {
    overflow: hidden;
  }

  html.bestchild-parallax-cover-js .wp-block-cover.is-style-par-cover-bg-slow .wp-block-cover__image-background,
  html.bestchild-parallax-cover-js .wp-block-cover.is-style-par-cover-bg-med .wp-block-cover__image-background,
  html.bestchild-parallax-cover-js .wp-block-cover.is-style-par-cover-bg-fast .wp-block-cover__image-background,
  html.bestchild-parallax-cover-js .wp-block-cover.is-style-par-cover-bg-slow .wp-block-cover__video-background,
  html.bestchild-parallax-cover-js .wp-block-cover.is-style-par-cover-bg-med .wp-block-cover__video-background,
  html.bestchild-parallax-cover-js .wp-block-cover.is-style-par-cover-bg-fast .wp-block-cover__video-background {
    transform: translate3d(0, var(--bestchild-parallax-offset, 0px), 0) scale(var(--bestchild-parallax-scale, 1.18));
    will-change: transform;
    transform-origin: center center;
  }
}
