/* ============================================
   KEYFRAME ANIMATIONS
   ============================================ */

/* Rotating rings around hero logo */
@keyframes spin-clockwise {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

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

/* Gradient blob pulse */
@keyframes pulse-blob {
    0%, 100% {
        transform: scale(1);
        opacity: 0.2;
    }
    50% {
        transform: scale(1.2);
        opacity: 0.35;
    }
}

/* Marquee horizontal scroll */
@keyframes marquee-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* Bounce for scroll indicator arrow */
@keyframes bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(8px); }
}

/* Scroll-triggered entrance animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-24px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(24px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Glow pulse for CTA button */
@keyframes glow-pulse {
    0%, 100% {
        box-shadow: 0 0 20px rgba(0, 255, 255, 0.25);
    }
    50% {
        box-shadow: 0 0 40px rgba(0, 255, 255, 0.4);
    }
}

/* Hero bloom breathing */
@keyframes breathe {
    0%, 100% {
        transform: scale(1);
        opacity: 0.45;
        filter: blur(0px);
    }
    50% {
        transform: scale(1.15);
        opacity: 1;
        filter: blur(4px);
    }
}
