/* ============================================================
   ALL GLOW NEON LIGHT — Animations
   ============================================================ */

/* ── Fade variants ─────────────────────────────────────────── */
.reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

.anim-fade-up    { opacity: 0; transform: translateY(40px); animation: fadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.anim-fade-down  { opacity: 0; transform: translateY(-30px); animation: fadeDown 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.anim-fade-right { opacity: 0; transform: translateX(40px); animation: fadeRight 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.anim-fade-left  { opacity: 0; transform: translateX(-40px); animation: fadeLeft 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.delay-1 { animation-delay: 0.15s; transition-delay: 0.15s; }
.delay-2 { animation-delay: 0.3s; transition-delay: 0.3s; }
.delay-3 { animation-delay: 0.45s; transition-delay: 0.45s; }
.delay-4 { animation-delay: 0.6s; transition-delay: 0.6s; }
.delay-5 { animation-delay: 0.75s; transition-delay: 0.75s; }

@keyframes fadeUp    { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeDown  { from { opacity: 0; transform: translateY(-30px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeRight { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: translateX(0); } }
@keyframes fadeLeft  { from { opacity: 0; transform: translateX(-40px); } to { opacity: 1; transform: translateX(0); } }

@keyframes bounceIn {
  0% { transform: scale(0.3); opacity: 0; }
  50% { transform: scale(1.08); }
  100% { transform: scale(1); opacity: 1; }
}
.anim-bounce-in { animation: bounceIn 0.35s var(--ease-out); }

/* ── Utility ───────────────────────────────────────────────── */
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
