/* css/animations.css */

/* Scroll Reveal Base */
.scroll-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform, opacity;
}

.scroll-reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger Reveal for grids/cards */
.stagger-reveal > * {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.stagger-reveal.visible > * {
    opacity: 1;
    transform: translateY(0);
}

.stagger-reveal.visible > *:nth-child(1) { transition-delay: 0.1s; }
.stagger-reveal.visible > *:nth-child(2) { transition-delay: 0.2s; }
.stagger-reveal.visible > *:nth-child(3) { transition-delay: 0.3s; }
.stagger-reveal.visible > *:nth-child(4) { transition-delay: 0.4s; }

/* Word by Word Reveal for Manifesto */
.word-reveal {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}
.word-reveal-container.visible .word-reveal {
    opacity: 1;
    transform: translateY(0);
}
.word-reveal-container.visible .word-reveal:nth-child(1) { transition-delay: 0.2s; }
.word-reveal-container.visible .word-reveal:nth-child(2) { transition-delay: 0.8s; }
.word-reveal-container.visible .word-reveal:nth-child(3) { transition-delay: 1.4s; }
.word-reveal-container.visible .word-reveal:nth-child(4) { transition-delay: 2.2s; }

/* Timeline Step Reveal (How it works) */
.scroll-reveal-step {
    opacity: 0;
    transform: translateX(-15px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.scroll-reveal-step.visible {
    opacity: 1;
    transform: translateX(0);
}

/* Clouds Animation (Parallax controlled by JS, drift controlled by CSS) */
@keyframes cloud-drift-left {
    0% { transform: translateX(0); }
    100% { transform: translateX(-5%); }
}
@keyframes cloud-drift-right {
    0% { transform: translateX(0); }
    100% { transform: translateX(5%); }
}
@keyframes cloud-float {
    0% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
    100% { transform: translateY(0); }
}

.cloud-anim-drift-left {
    animation: cloud-drift-left 60s linear infinite alternate, cloud-float 14s ease-in-out infinite;
}
.cloud-anim-drift-right {
    animation: cloud-drift-right 70s linear infinite alternate, cloud-float 16s ease-in-out infinite 2s;
}

/* Prefers Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .scroll-reveal,
    .stagger-reveal > *,
    .word-reveal,
    .scroll-reveal-step {
        transition: opacity 0.3s ease !important;
        transform: none !important;
    }
    
    .cloud-anim-drift-left,
    .cloud-anim-drift-right,
    .wa-shadow-pulse,
    .floating-wa {
        animation: none !important;
    }

    * {
        scroll-behavior: auto !important;
    }
}
