/* ==========================================================================
   ExtroMind Innovations Scroll and Keyframe Animations
   ========================================================================== */

/* 1. Scroll triggered fade reveal system */
.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.active {
    opacity: 1;
    transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.15s; }
.reveal-delay-2 { transition-delay: 0.3s; }
.reveal-delay-3 { transition-delay: 0.45s; }
.reveal-delay-4 { transition-delay: 0.6s; }

/* Left to right reveal */
.reveal-left {
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-left.active {
    opacity: 1;
    transform: translateX(0);
}

/* Right to left reveal */
.reveal-right {
    opacity: 0;
    transform: translateX(40px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-right.active {
    opacity: 1;
    transform: translateX(0);
}

/* 2. Custom Keyframe Animations */

/* Pulsing text element */
.animate-pulse-fast {
    animation: pulse-coral 1.5s infinite;
}

@keyframes pulse-coral {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 79, 109, 0.4); }
    70% { transform: scale(1.05); box-shadow: 0 0 0 10px rgba(255, 79, 109, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 79, 109, 0); }
}

/* Floating animation for illustrations */
.animate-float {
    animation: float-y 6s ease-in-out infinite alternate;
}

@keyframes float-y {
    0% { transform: translateY(0); }
    100% { transform: translateY(-15px); }
}

/* Subtle spin for decorative vectors */
.animate-spin-slow {
    animation: spin-slow 20s linear infinite;
}

@keyframes spin-slow {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Pulsing dot for trust elements */
.pulse-green {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--growth-mint, #00E5A0);
    box-shadow: 0 0 8px var(--growth-mint, #00E5A0);
    animation: pulse-green-glow 2s infinite;
}

@keyframes pulse-green-glow {
    0% { transform: scale(0.95); opacity: 0.8; }
    50% { transform: scale(1.2); opacity: 1; box-shadow: 0 0 12px var(--growth-mint, #00E5A0); }
    100% { transform: scale(0.95); opacity: 0.8; }
}

/* 3. Hero Canvas and Background Overlay animations */
.glow-drift {
    animation: drift-glow 15s ease-in-out infinite alternate;
}

@keyframes drift-glow {
    0% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(50px, -40px) scale(1.15); }
    100% { transform: translate(-30px, 30px) scale(0.95); }
}
