/**
 * VIRAXIS — Animaciones
 * Keyframes usados en todo el sitio. Respetan prefers-reduced-motion
 * gracias a la regla global definida en base.css.
 */

@keyframes spin {
    to { transform: rotate(360deg); }
}

@keyframes flow-gradient {
    0% { background-position: 0% 50%; }
    100% { background-position: 200% 50%; }
}

@keyframes float-y {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

@keyframes bounce-y {
    0%, 100% { transform: translate(-50%, 0); }
    50% { transform: translate(-50%, 8px); }
}

@keyframes fade-in-up {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes blink-caret {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

@keyframes pipeline-flow {
    0% { offset-distance: 0%; opacity: 0; }
    8% { opacity: 1; }
    92% { opacity: 1; }
    100% { offset-distance: 100%; opacity: 0; }
}

/* AOS: suaviza el easing por defecto de la librería */
[data-aos] {
    transition-timing-function: var(--ease-out) !important;
}
