/* ============================================
   Scroll-Triggered Animations
   ============================================ */

/* Base state: hidden */
[data-animate] {
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Fade Up */
[data-animate="fade-up"] {
    transform: translateY(40px);
}

[data-animate="fade-up"].animate-in {
    opacity: 1;
    transform: translateY(0);
}

/* Fade Right */
[data-animate="fade-right"] {
    transform: translateX(-40px);
}

[data-animate="fade-right"].animate-in {
    opacity: 1;
    transform: translateX(0);
}

/* Fade Left */
[data-animate="fade-left"] {
    transform: translateX(40px);
}

[data-animate="fade-left"].animate-in {
    opacity: 1;
    transform: translateX(0);
}

/* Scale In */
[data-animate="scale-in"] {
    transform: scale(0.9);
}

[data-animate="scale-in"].animate-in {
    opacity: 1;
    transform: scale(1);
}

/* Staggered Delays */
[data-delay="1"] { transition-delay: 0.1s; }
[data-delay="2"] { transition-delay: 0.2s; }
[data-delay="3"] { transition-delay: 0.3s; }
[data-delay="4"] { transition-delay: 0.4s; }
[data-delay="5"] { transition-delay: 0.5s; }
[data-delay="6"] { transition-delay: 0.6s; }
[data-delay="7"] { transition-delay: 0.7s; }
[data-delay="8"] { transition-delay: 0.8s; }

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    [data-animate] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
