/* Entrée douce */
.fade-in {
  opacity: 0;
  animation: fadeIn 0.8s ease-out forwards;
}

/* Entrée retardée */
.fade-in-delayed {
  opacity: 0;
  animation: fadeIn 0.8s ease-out 0.3s forwards;
}

/* Cascade vers le haut */
.slide-up-card {
  opacity: 0;
  transform: translateY(20px);
  animation: slideUp 0.6s ease-out forwards;
}

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

@keyframes slideUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}