/* ═══════════════════════════════════════════════════
   Animations — keyframes & utility classes
   Shared across all versions
═══════════════════════════════════════════════════ */

/* ── Keyframes ── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(14px) }
  to   { opacity: 1; transform: translateY(0) }
}

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

@keyframes pulse {
  0%, 100% { opacity: 1 }
  50%       { opacity: .4 }
}

@keyframes float {
  0%, 100% { transform: translateY(0) }
  50%       { transform: translateY(-8px) }
}

@keyframes spin {
  from { transform: rotate(0deg) }
  to   { transform: rotate(360deg) }
}

/* ── Utility classes ── */
.animate-fade-up { animation: fadeUp  .45s ease both }
.animate-fade-in { animation: fadeIn  .3s  ease both }
.animate-pulse   { animation: pulse   2s   infinite }
.animate-float   { animation: float   3s   ease-in-out infinite }
.animate-spin    { animation: spin    1s   linear infinite }

/* ── Stagger delays ── */
.delay-1 { animation-delay: .08s }
.delay-2 { animation-delay: .16s }
.delay-3 { animation-delay: .24s }
.delay-4 { animation-delay: .32s }
.delay-5 { animation-delay: .40s }
