/* =========================================================================
   Animations utilitaires Clapasson & Fils (cf. assets/scripts/animations.js).
   États initiaux posés en CSS pour éviter le flash avant que GSAP démarre.
   Les animations sont ensuite jouées par GSAP au scroll-trigger.
   prefers-reduced-motion : on neutralise l'état initial → contenu visible
   immédiatement même sans JS.
   ========================================================================= */

.cf-anim-fade-up,
.cf-anim-fade-in,
.cf-anim-fade-left,
.cf-anim-fade-right {
  opacity: 0;
  will-change: opacity, transform;
}
.cf-anim-fade-up    { transform: translateY(40px); }
.cf-anim-fade-left  { transform: translateX(-40px); }
.cf-anim-fade-right { transform: translateX(40px); }

.cf-anim-stagger > * {
  opacity: 0;
  transform: translateY(30px);
  will-change: opacity, transform;
}

@media (prefers-reduced-motion: reduce) {
  .cf-anim-fade-up,
  .cf-anim-fade-in,
  .cf-anim-fade-left,
  .cf-anim-fade-right,
  .cf-anim-stagger > * {
    opacity: 1 !important;
    transform: none !important;
  }
}
