@media (prefers-reduced-motion: no-preference) {
  .js .reveal.is-visible { animation: editorial-arrival 480ms cubic-bezier(.2, .65, .2, 1) both; }
  .hero-image img { animation: image-settle 1.25s cubic-bezier(.2, .65, .2, 1) both; }
  @keyframes editorial-arrival {
    from { opacity: .2; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
  }
  @keyframes image-settle {
    from { opacity: .78; transform: scale(1.018); }
    to { opacity: 1; transform: scale(1); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-image img { animation: none; }
  .js .reveal { opacity: 1; transform: none; }
}
