/* =========================================
   ANIMATIONS
   ========================================= */
/* ==========================================================================
   Animations
   ========================================================================== */
@keyframes spin {
    to { transform: rotate(360deg); }
}
.reveal-up, .reveal-left, .reveal-right {
    opacity: 0;
    transition: all 0.8s ease;
}

.reveal-up { transform: translateY(30px); }
.reveal-left { transform: translateX(-30px); }
.reveal-right { transform: translateX(30px); }

.reveal-up.active, .reveal-left.active, .reveal-right.active {
    opacity: 1;
    transform: translate(0);
}

@media (prefers-reduced-motion: reduce) {
    *, ::before, ::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    .reveal-up, .reveal-left, .reveal-right {
        opacity: 1;
        transform: none;
    }
}

