@media (prefers-reduced-motion: no-preference) {
  .motion-ready [data-reveal] {
    opacity: 0;
    transform: translateY(16px);
    transition:
      opacity 620ms cubic-bezier(.22, 1, .36, 1),
      transform 620ms cubic-bezier(.22, 1, .36, 1);
    transition-delay: var(--reveal-delay, 0ms);
    will-change: opacity, transform;
  }

  .motion-ready [data-reveal="hero"] {
    transform: translateY(9px);
  }

  .motion-ready [data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  .primary-button span,
  .services-cta a b,
  .guide-teaser a span,
  .passage-cta a span,
  .guide-cta a b,
  .back-link span {
    display: inline-block;
    transition: transform 220ms ease;
  }

  .primary-button:hover span,
  .primary-button:focus-visible span,
  .services-cta a:hover b,
  .services-cta a:focus-visible b,
  .guide-teaser a:hover span,
  .guide-teaser a:focus-visible span,
  .passage-cta a:hover span,
  .passage-cta a:focus-visible span,
  .guide-cta a:hover b,
  .guide-cta a:focus-visible b {
    transform: translateX(4px);
  }

  .back-link:hover span,
  .back-link:focus-visible span {
    transform: translate(-3px, 3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
