/* ============================================================
   CHRYS BERNARD — animations.css
   Keyframes et classes utilitaires d'animation
   ============================================================ */


/* ── Keyframes ── */

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes scrollPulse {
  0%, 100% {
    opacity: 0.25;
    transform: scaleY(1);
  }
  50% {
    opacity: 1;
    transform: scaleY(1.15);
  }
}


/* ── Animations d'entrée page (hero) ── */

.anim-fade-up {
  animation: fadeUp 1.1s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.anim-fade-up--delay-1 { animation-delay: 0.15s; }
.anim-fade-up--delay-2 { animation-delay: 0.3s;  }
.anim-fade-up--delay-3 { animation-delay: 0.45s; }


/* ── Scroll reveal ── */
/* État initial : invisible. La classe .visible est ajoutée par reveal.js */

.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition:
    opacity  var(--transition-slow),
    transform var(--transition-slow);
}

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

/* Délais optionnels pour des reveals en cascade */
.reveal--delay-1 { transition-delay: 0.1s; }
.reveal--delay-2 { transition-delay: 0.22s; }
.reveal--delay-3 { transition-delay: 0.34s; }
