@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes slideInRight {
    from { opacity: 0; transform: translateX(30px); }
    to   { opacity: 1; transform: translateX(0); }
}
@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.05); }
}

.fade-in-up { animation: fadeInUp 0.5s ease both; }
.fade-in    { animation: fadeIn 0.4s ease both; }
.slide-in   { animation: slideInRight 0.4s ease both; }

.transicion-vista {
    animation: fadeInUp 0.4s ease both;
}

/* Transiciones suaves entre secciones */
.contenido-seccion {
    animation: fadeInUp 0.35s ease both;
}