@media (prefers-reduced-motion: no-preference) {
  [data-parallax] {
    overflow: clip;
  }

  [data-parallax="hero"] {
    --parallax-scale: 1.18;
  }

  [data-parallax="cover"] {
    --parallax-scale: 1.08;
  }

  [data-parallax][style] > img {
    transform: translateY(var(--parallax-offset, 0px)) scale(var(--parallax-scale));
  }
}

@media (prefers-reduced-motion: no-preference) {
  html:has([data-parallax-reveal]) {
    scroll-behavior: smooth;
  }

  [data-parallax-reveal] > * {
    opacity: var(--reveal-opacity, 1);
    translate: 0 var(--reveal-offset, 0px);
  }

  [data-parallax-reveal]:focus-within > * {
    opacity: 1;
    translate: none;
  }
}
