@media (prefers-reduced-motion: no-preference) {
  .reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 700ms ease, transform 700ms ease;
  }

  .reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  .hero-media img {
    animation: slowZoom 14s ease-out both;
  }

  .btn-primary {
    position: relative;
    overflow: hidden;
  }

  .btn-primary::after {
    content: "";
    position: absolute;
    inset: -80% auto -80% -40%;
    width: 34%;
    transform: rotate(18deg);
    background: rgba(255, 255, 255, 0.35);
    transition: left 600ms ease;
  }

  .btn-primary:hover::after {
    left: 120%;
  }

  @keyframes slowZoom {
    from {
      transform: scale(1);
    }
    to {
      transform: scale(1.035);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}
