
/* ========================================
   SCROLL ANIMATIONS
   ======================================== */

.reveal-fade,
.reveal-zoom,
.reveal-stagger {
    opacity: 0;
}

.reveal-fade.in-view {
    animation: reveal-fade 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.reveal-zoom.in-view {
    animation: reveal-zoom 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.reveal-stagger.in-view {
    animation: reveal-fade 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation-delay: calc(var(--stagger-index, 0) * 0.15s);
}

@keyframes reveal-fade {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes reveal-zoom {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}
