@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }

  .reveal {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .55s ease, transform .55s ease;
  }
  html:not(.js) .reveal { opacity: 1; transform: none; }
  .reveal.is-visible { opacity: 1; transform: translateY(0); }
  .gallery-item img { transition: transform .45s ease; }
  .gallery-item:hover img { transform: scale(1.025); }
  .button, .icon-button, .text-link, .social-links a, .press-item, .quick-link, .filter-button {
    transition: color .2s ease, background-color .2s ease, border-color .2s ease;
  }
}

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