/* ===================================
   ANIMATIONS — Flame Glows & Effects
   =================================== */
@keyframes flameGlow {
    0%,100% { box-shadow: 0 0 15px rgba(255,106,0,0.4), 0 0 30px rgba(255,60,0,0.2); }
    50% { box-shadow: 0 0 25px rgba(255,106,0,0.6), 0 0 50px rgba(255,60,0,0.3); }
}
@keyframes fireFlicker {
    0%,100% { opacity:1; } 25% { opacity:0.9; } 50% { opacity:1; } 75% { opacity:0.85; }
}
@keyframes fadeInUp {
    from { opacity:0; transform:translateY(30px); }
    to { opacity:1; transform:translateY(0); }
}
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes scaleIn {
    from { opacity:0; transform:scale(0.9); }
    to { opacity:1; transform:scale(1); }
}
@keyframes emberFloat {
    0% { transform:translateY(0) scale(1); opacity:1; }
    100% { transform:translateY(-100vh) scale(0); opacity:0; }
}
@keyframes slideInRight {
    from { opacity:0; transform:translateX(50px); }
    to { opacity:1; transform:translateX(0); }
}
@keyframes textGlow {
    0%,100% { text-shadow: 0 0 10px rgba(255,106,0,0.5), 0 0 20px rgba(255,60,0,0.3); }
    50% { text-shadow: 0 0 20px rgba(255,106,0,0.8), 0 0 40px rgba(255,60,0,0.5), 0 0 60px rgba(255,215,0,0.2); }
}
@keyframes neonPulse {
    0%,100% { border-color: rgba(255,106,0,0.25); box-shadow: 0 0 8px rgba(255,106,0,0.1), inset 0 0 8px rgba(255,106,0,0.03); }
    50% { border-color: rgba(255,106,0,0.5); box-shadow: 0 0 18px rgba(255,106,0,0.2), 0 0 40px rgba(255,60,0,0.08), inset 0 0 12px rgba(255,106,0,0.05); }
}
@keyframes neonPulseIntense {
    0%,100% { border-color: rgba(255,106,0,0.4); box-shadow: 0 0 12px rgba(255,106,0,0.25), 0 0 30px rgba(255,60,0,0.1), inset 0 0 10px rgba(255,106,0,0.05); }
    50% { border-color: rgba(255,140,0,0.7); box-shadow: 0 0 25px rgba(255,106,0,0.4), 0 0 50px rgba(255,60,0,0.15), 0 0 80px rgba(255,215,0,0.05), inset 0 0 15px rgba(255,106,0,0.08); }
}
@keyframes neonTextPulse {
    0%, 100% {
        color: #FF6A00;
        text-shadow:
            0 0 7px #FF6A00,
            0 0 15px #FF6A00,
            0 0 30px #FF3C00,
            0 0 50px #FF3C00,
            0 0 80px rgba(255,60,0,0.4),
            0 0 120px rgba(255,60,0,0.2);
    }
    30% {
        color: #FF8C00;
        text-shadow:
            0 0 4px #FF6A00,
            0 0 10px #FF6A00,
            0 0 20px rgba(255,60,0,0.5),
            0 0 40px rgba(255,60,0,0.2),
            0 0 60px rgba(255,60,0,0.1);
    }
    50% {
        color: #FFA040;
        text-shadow:
            0 0 10px #FF6A00,
            0 0 20px #FF6A00,
            0 0 40px #FF3C00,
            0 0 70px #FF3C00,
            0 0 100px rgba(255,106,0,0.5),
            0 0 150px rgba(255,60,0,0.3),
            0 0 200px rgba(255,215,0,0.1);
    }
    70% {
        color: #FF8C00;
        text-shadow:
            0 0 4px #FF6A00,
            0 0 10px #FF6A00,
            0 0 20px rgba(255,60,0,0.5),
            0 0 40px rgba(255,60,0,0.2),
            0 0 60px rgba(255,60,0,0.1);
    }
}
@keyframes neonDividerPulse {
    0%, 100% {
        box-shadow: 0 0 8px rgba(255,106,0,0.3), 0 0 20px rgba(255,60,0,0.15);
    }
    50% {
        box-shadow: 0 0 15px rgba(255,106,0,0.5), 0 0 35px rgba(255,60,0,0.25), 0 0 60px rgba(255,215,0,0.1);
    }
}
.flame-glow { animation: flameGlow 3s ease-in-out infinite; }
.fire-flicker { animation: fireFlicker 2s ease-in-out infinite; }
.fade-in-up { animation: fadeInUp 0.6s ease forwards; }
.fade-in { animation: fadeIn 0.5s ease forwards; }
.scale-in { animation: scaleIn 0.4s ease forwards; }
.text-glow-pulse { animation: textGlow 3s ease-in-out infinite; }

.reveal { opacity:0; transform:translateY(30px); transition: opacity 0.6s ease, transform 0.6s ease; }
.reveal.revealed { opacity:1; transform:translateY(0); }

.stagger-children > * { opacity:0; transform:translateY(20px); transition: opacity 0.4s ease, transform 0.4s ease; }
.stagger-children.revealed > *:nth-child(1) { transition-delay:0.1s; opacity:1; transform:translateY(0); }
.stagger-children.revealed > *:nth-child(2) { transition-delay:0.2s; opacity:1; transform:translateY(0); }
.stagger-children.revealed > *:nth-child(3) { transition-delay:0.3s; opacity:1; transform:translateY(0); }
.stagger-children.revealed > *:nth-child(4) { transition-delay:0.4s; opacity:1; transform:translateY(0); }
.stagger-children.revealed > *:nth-child(5) { transition-delay:0.5s; opacity:1; transform:translateY(0); }
.stagger-children.revealed > *:nth-child(6) { transition-delay:0.6s; opacity:1; transform:translateY(0); }

.flame-hover { transition: all var(--transition-normal); position:relative; }
.flame-hover::before {
    content:''; position:absolute; inset:-2px;
    background: var(--gradient-flame); border-radius:inherit;
    opacity:0; z-index:-1; transition: opacity var(--transition-normal);
    filter: blur(10px);
}
.flame-hover:hover::before { opacity:0.5; }
.flame-hover:hover { transform:translateY(-5px); box-shadow: 0 10px 40px rgba(255,106,0,0.3); }

.ember-particles { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
.ember-particle {
    position:absolute; bottom:-10px; width:4px; height:4px;
    background: var(--accent); border-radius:50%;
    animation: emberFloat linear infinite;
    box-shadow: 0 0 6px var(--accent), 0 0 12px var(--fire);
}
