/* Progressive enhancement: visible par défaut, même sans JavaScript. */
.reveal, .reveal-up, .reveal-left, .reveal-right, .reveal-scale { opacity: 1; }

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  .animate-fade-in { animation: fade-in 700ms var(--ease) both; }
  .animate-fade-up { animation: fade-up var(--duration-reveal) var(--ease) both; }
  .hero-content { animation: fade-up 850ms var(--ease) both; }
  .is-open .main-navigation { animation: fade-in 260ms var(--ease) both; }
  .reveal-ready { transition: opacity var(--duration-reveal) var(--ease), transform var(--duration-reveal) var(--ease); }
  .reveal-ready:not(.is-revealed) { opacity: 0; }
  .reveal-ready.reveal-up:not(.is-revealed) { transform: translateY(var(--reveal-distance)); }
  .reveal-ready.reveal-left:not(.is-revealed) { transform: translateX(calc(-1 * var(--reveal-distance))); }
  .reveal-ready.reveal-right:not(.is-revealed) { transform: translateX(var(--reveal-distance)); }
  .reveal-ready.reveal-scale:not(.is-revealed) { transform: scale(.97); }
  .reveal-ready.is-revealed { opacity: 1; transform: none; }
  .reveal-ready:focus-within { opacity: 1; transform: none; }
  .artists-grid.is-filtering { animation: fade-in 650ms var(--ease) both; }
  @keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
  @keyframes fade-up { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .reveal-ready { opacity: 1 !important; transform: none !important; }
  .button, .festival-artists .artist-media img, .gallery-tile img, .gallery-item img { transform: none !important; }
  .partner-logo img { opacity: 1 !important; }
}
@media print {
  .reveal-ready { opacity: 1 !important; transform: none !important; }
}
