/* ==========================================================================
   SISTEMA DE ANIMACIONES SCROLL-REVEAL (OPTIMIZADO PARA ACELERACIÓN POR GPU)
   ========================================================================== */

/* --- ESTADO INICIAL: ELEMENTOS OCULTOS Y DESPLAZADOS ---
   Recorrido más largo (46px), leve escala y desenfoque de entrada:
   una revelación más lenta y cinematográfica en vez de un simple fundido. */
.reveal-fade-up {
    opacity: 0;
    transform: translateY(46px) scale(0.98);
    filter: blur(6px);
    transition: opacity 1.35s cubic-bezier(0.16, 1, 0.3, 1),
                transform 1.35s cubic-bezier(0.16, 1, 0.3, 1),
                filter 1.1s ease-out;
    will-change: transform, opacity, filter; /* Forzar el uso de la tarjeta gráfica */
}

/* --- ESTADO ACTIVADO POR JS: ELEMENTOS VISIBLES EN SU POSICIÓN --- */
.visible-reveal {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    filter: blur(0) !important;
}

/* --- RETRASOS ESCALONADOS (EFECTO CASCADA PARA CUADROS Y TARJETAS) --- */
.delay-100 { transition-delay: 180ms; }
.delay-200 { transition-delay: 360ms; }
.delay-300 { transition-delay: 540ms; }
.delay-400 { transition-delay: 720ms; }

/* Micro-ajuste de compatibilidad para las habilidades de Rodrigo */
.revealing-skills .skill-item {
    opacity: 0;
    transform: translateY(15px);
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.revealing-skills.active .skill-item {
    opacity: 1;
    transform: translateY(0);
}