/* ===== PREMIUM TYPOGRAPHY & GLOBAL ===== */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700;800&display=swap');

h1, h2, h3, h4 { font-family: 'Space Grotesk', 'Poppins', sans-serif !important; }

::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #EC1E24, #F59E0B); border-radius: 3px; }

/* ===== PREMIUM ANIMATIONS & EFFECTS ===== */

/* Scroll Reveal */
.reveal { opacity: 0; transform: translateY(40px); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal.active { opacity: 1; transform: translateY(0); }
.reveal-left { opacity: 0; transform: translateX(-60px); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal-left.active { opacity: 1; transform: translateX(0); }
.reveal-right { opacity: 0; transform: translateX(60px); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal-right.active { opacity: 1; transform: translateX(0); }
.reveal-scale { opacity: 0; transform: scale(0.85); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal-scale.active { opacity: 1; transform: scale(1); }

/* Stagger children */
.stagger-children > *:nth-child(1) { transition-delay: 0.05s; }
.stagger-children > *:nth-child(2) { transition-delay: 0.12s; }
.stagger-children > *:nth-child(3) { transition-delay: 0.19s; }
.stagger-children > *:nth-child(4) { transition-delay: 0.26s; }
.stagger-children > *:nth-child(5) { transition-delay: 0.33s; }
.stagger-children > *:nth-child(6) { transition-delay: 0.40s; }

/* Animated gradient text */
.gradient-text {
    background: linear-gradient(135deg, #ef4444, #f97316, #ef4444, #dc2626);
    background-size: 300% 300%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: gradientShift 4s ease infinite;
}
@keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Floating particles background */
.particles-container { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.particle {
    position: absolute; border-radius: 50%; opacity: 0;
    animation: floatParticle linear infinite;
}
@keyframes floatParticle {
    0% { opacity: 0; transform: translateY(100vh) scale(0); }
    10% { opacity: 1; }
    90% { opacity: 1; }
    100% { opacity: 0; transform: translateY(-10vh) scale(1); }
}

/* Glowing border pulse */
.glow-border {
    position: relative;
    overflow: hidden;
}
.glow-border::before {
    content: '';
    position: absolute; inset: -2px;
    background: conic-gradient(from 0deg, #ef4444, #f97316, #22c55e, #3b82f6, #ef4444);
    border-radius: inherit;
    animation: rotateBorder 4s linear infinite;
    z-index: -1;
}
.glow-border::after {
    content: '';
    position: absolute; inset: 2px;
    background: #111827;
    border-radius: inherit;
    z-index: -1;
}
@keyframes rotateBorder {
    100% { transform: rotate(360deg); }
}

/* Magnetic hover effect on cards */
.magnetic-card {
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
}
.magnetic-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 20px 60px rgba(239, 68, 68, 0.15), 0 0 40px rgba(239, 68, 68, 0.08);
}

/* Counter animation */
.counter-value { display: inline-block; min-width: 2ch; }

/* Typing cursor */
.typing-cursor::after {
    content: '|';
    animation: blink 1s step-end infinite;
    color: #ef4444;
    font-weight: 100;
}
@keyframes blink { 50% { opacity: 0; } }

/* Testimonial carousel */
.testimonial-track {
    display: flex;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.testimonial-slide { min-width: 100%; padding: 0 1rem; box-sizing: border-box; }

/* Marquee trust bar */
.marquee-container { overflow: hidden; white-space: nowrap; }
.marquee-content {
    display: inline-flex; gap: 3rem; align-items: center;
    animation: marqueeScroll 25s linear infinite;
}
.marquee-content:hover { animation-play-state: paused; }
@keyframes marqueeScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* Pulse ring on hero image */
.pulse-ring {
    position: relative;
}
.pulse-ring::before, .pulse-ring::after {
    content: ''; position: absolute; inset: -20px;
    border: 2px solid rgba(239, 68, 68, 0.3);
    border-radius: 50%;
    animation: pulseRing 2.5s ease-out infinite;
}
.pulse-ring::after { animation-delay: 1.25s; }
@keyframes pulseRing {
    0% { transform: scale(0.8); opacity: 1; }
    100% { transform: scale(1.4); opacity: 0; }
}

/* Smooth navbar transition */
.nav-scrolled {
    background: rgba(3, 7, 18, 0.95) !important;
    backdrop-filter: blur(20px) !important;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5) !important;
}

/* Progress bar at top */
.scroll-progress {
    position: fixed; top: 0; left: 0; height: 3px; z-index: 9999;
    background: linear-gradient(90deg, #ef4444, #f97316, #22c55e);
    transition: width 0.1s linear;
}

/* Video-style play button */
.play-btn {
    width: 80px; height: 80px;
    background: rgba(239, 68, 68, 0.9);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4);
    animation: playPulse 2s infinite;
    transition: transform 0.3s;
}
.play-btn:hover { transform: scale(1.1); }
@keyframes playPulse {
    0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.6); }
    70% { box-shadow: 0 0 0 25px rgba(239, 68, 68, 0); }
    100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
}

/* Stats section animated underline */
.stat-item::after {
    content: ''; display: block;
    width: 0; height: 2px; margin-top: 8px;
    background: linear-gradient(90deg, #ef4444, #f97316);
    transition: width 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    margin-left: auto; margin-right: auto;
}
.stat-item:hover::after { width: 60%; }

/* Shine sweep on pricing cards */
.shine-card { position: relative; overflow: hidden; }
.shine-card::before {
    content: ''; position: absolute;
    top: 0; left: -100%; width: 60%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.05), transparent);
    transition: left 0.7s ease;
}
.shine-card:hover::before { left: 150%; }

/* Badge shimmer */
.badge-shimmer {
    position: relative; overflow: hidden;
}
.badge-shimmer::after {
    content: ''; position: absolute;
    top: 0; left: -100%; width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
    animation: shimmer 3s infinite;
}
@keyframes shimmer {
    0% { left: -100%; }
    100% { left: 200%; }
}

/* Smooth section transitions */
section { position: relative; }

/* Mobile bottom bar glow */
@media (max-width: 767px) {
    .mobile-buy-bar {
        box-shadow: 0 -10px 40px rgba(239, 68, 68, 0.2) !important;
    }
}
