/* assets/css/public/animations.css */

/* Keyframes */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes fadeUp {
    from { 
        opacity: 0; 
        transform: translateY(20px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}

/* Utility Classes */
.animate-fade-in {
    animation: fadeIn var(--transition-slow) forwards;
}

.animate-fade-up {
    opacity: 0;
    animation: fadeUp var(--transition-slow) forwards;
}

/* Scroll Reveal Classes (Hooked via JS IntersectionObserver) */
.reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity var(--transition-slow), transform var(--transition-slow);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered delays for grids */
.reveal-delay-1 { transition-delay: 100ms; }
.reveal-delay-2 { transition-delay: 200ms; }
.reveal-delay-3 { transition-delay: 300ms; }
.reveal-delay-4 { transition-delay: 400ms; }
