/* ===== ANIMACIONES DE ENTRADA ===== */
.fade-in-up {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-in-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Retrasos para animaciones escalonadas */
.delay-1 {
    transition-delay: 0.1s;
}

.delay-2 {
    transition-delay: 0.2s;
}

.delay-3 {
    transition-delay: 0.3s;
}

.delay-4 {
    transition-delay: 0.4s;
}

.delay-5 {
    transition-delay: 0.5s;
}



/* ===== RESPONSIVE ===== */
@media (max-width: 1200px) {
    .hero-title {
        font-size: 58px;
    }
}

@media (max-width: 1024px) {
    .mvv-container,
    .valores-grid,
    .beneficios-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .galeria-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    section {
        padding: 80px 40px;
    }
}

@media (max-width: 768px) {
    header,
    header.scrolled {
        padding: 15px 25px;
    }

    .nav-container {
        flex-direction: column;
        gap: 15px;
    }

    .nav-menu {
        gap: 20px;
        flex-wrap: wrap;
        justify-content: center;
    }

    .nav-menu li a {
        font-size: 14px;
    }
    
    .logo-container img {
        height: 70px;
    }

    section {
        padding: 60px 25px;
    }

    .hero {
        height: 50vh;
        margin-top: 140px;
    }
    
    .hero-title {
        font-size: 42px;
    }
    
    .hero-subtitle {
        font-size: 18px;
    }

    .section-title h2 {
        font-size: 32px;
    }

    .mvv-container,
    .valores-grid,
    .beneficios-container,
    .galeria-grid {
        grid-template-columns: 1fr;
    }
    
    .carrusel-item {
        aspect-ratio: 4/3;
    }
    
    .carrusel-control {
        width: 40px;
        height: 40px;
        font-size: 18px;
    }
    
    .beneficios-section {
        padding: 40px 25px;
    }
    
    .beneficios-contenido h2 {
        font-size: 32px;
    }
    
    .precio-destacado {
        font-size: 20px;
    }
    
    .precio {
        font-size: 26px;
    }
    
    .clinicas-content {
        padding: 25px;
    }
    
    .contacto-container {
        grid-template-columns: 1fr;
    }
    
    .contacto-info {
        order: 2;
    }
    
    .contacto-mapa {
        order: 1;
        margin-bottom: 30px;
    }
}

@media (max-width: 480px) {
    .hero {
        height: 40vh;
        margin-top: 130px;
    }
    
    .hero-title {
        font-size: 32px;
    }
    
    .hero-subtitle {
        font-size: 16px;
    }
    
    .section-title h2 {
        font-size: 28px;
    }
    
    .nav-menu {
        gap: 12px;
    }
    
    .nav-menu li a {
        font-size: 13px;
    }
    
    .logo-container img {
        height: 60px;
    }
    
    .contacto-card {
        padding: 25px;
    }
    
    .contacto-telefono a {
        font-size: 24px;
        padding: 8px 20px;
    }
}