/* Global Scroll Animations Engine */

.scroll-animate {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
    will-change: opacity, transform;
}

.scroll-animate.show {
    opacity: 1;
    transform: translateY(0);
}

/* Optional CSS transition delays for staggered grid child elements */
.delay-100 {
    transition-delay: 40ms;
}

.delay-200 {
    transition-delay: 80ms;
}

.delay-300 {
    transition-delay: 120ms;
}

.delay-400 {
    transition-delay: 160ms;
}

.delay-500 {
    transition-delay: 200ms;
}