/* ═══════════════════════════════════════════════════
   ANIMATIONS
   ═══════════════════════════════════════════════════ */

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

@keyframes pulse {
  0%, 100% { opacity: 0.6; transform: scale(1); }
  50%       { opacity: 0; transform: scale(1.5); }
}

@keyframes blink {
  0%, 100% { opacity: 0.3; transform: translateY(0); }
  50%       { opacity: 1; transform: translateY(-3px); }
}

/* ── ANIMATION CLASSES ── */
.anim-fade-up { opacity: 0; animation: fadeUp 0.7s forwards; }
.anim-delay-1 { animation-delay: 0.1s; }
.anim-delay-2 { animation-delay: 0.25s; }
.anim-delay-3 { animation-delay: 0.4s; }
.anim-delay-4 { animation-delay: 0.55s; }
.anim-delay-5 { animation-delay: 0.7s; }

/* ── HERO ANIMATIONS ── */
.hero-tag  { opacity: 0; animation: fadeUp 0.7s 0.1s forwards; }
.hero-h1   { opacity: 0; animation: fadeUp 0.7s 0.25s forwards; }
.hero-sub  { opacity: 0; animation: fadeUp 0.7s 0.4s forwards; }
.hero-btns { opacity: 0; animation: fadeUp 0.7s 0.55s forwards; }
.hero-stats{ opacity: 0; animation: fadeUp 0.7s 0.7s forwards; }
