/* Animations CSS */

/* Keyframes */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes glowPulse {
    0% {
        box-shadow: 0 0 5px rgba(255, 204, 0, 0.2);
    }

    50% {
        box-shadow: 0 0 15px rgba(255, 204, 0, 0.5);
    }

    100% {
        box-shadow: 0 0 5px rgba(255, 204, 0, 0.2);
    }
}

/* Utilities */
.animate-fade-up {
    opacity: 0;
    /* Hidden initially, JS will reveal */
    animation: fadeInUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-fade-in-right {
    opacity: 0;
    animation: fadeInRight 0.5s ease-out forwards;
}

/* Stagger delays */
.delay-100 {
    animation-delay: 100ms;
}

.delay-200 {
    animation-delay: 200ms;
}

.delay-300 {
    animation-delay: 300ms;
}

.delay-400 {
    animation-delay: 400ms;
}

.delay-500 {
    animation-delay: 500ms;
}

/* Interactive Hover Effects */
.hover-scale {
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.hover-scale:hover {
    transform: scale(1.02);
}

.hover-glow:hover {
    animation: glowPulse 2s infinite;
}

/* Scroll Trigger Class (JS adds this) */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}


/* Floating Animation */
@keyframes float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

.animate-float-slow {
    animation: float 6s ease-in-out infinite;
}