/* ------------------------- */
        /* --- VARIABLES DE MARCA --- */
        /* ------------------------- */
        :root {
            --color-primario: #007bff; /* Azul Eléctrico */
            --color-primario-oscuro: #0056b3;
            --color-acento-claro: #42a5f5; /* Azul más claro para detalles */
            --color-fondo-oscuro: #121212;
            --color-blanco: #ffffff;
            --color-texto-claro: #f4f4f4;
            --color-texto-oscuro: #333;
            --color-fondo-claro: #f0f4f8; /* Gris azulado suave */
        }

        /* ------------------------- */
        /* --- ESTILOS GLOBALES --- */
        /* ------------------------- */
        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body { font-family: 'Poppins', sans-serif; color: var(--color-texto-oscuro); line-height: 1.6; }
        
        h1, h2, h3 { font-weight: 700; }
        h1 { font-size: 3rem; line-height: 1.1; margin-bottom: 1.5rem; font-weight: 800; }
        h2 { font-size: 2.2rem; text-align: center; margin-bottom: 3rem; color: var(--color-primario-oscuro); border-bottom: 3px solid var(--color-acento-claro); padding-bottom: 10px; display: inline-block; }
        h3 { font-size: 1.5rem; color: var(--color-primario-oscuro); margin-bottom: 1rem; }
        p { font-size: 1.1rem; }

        .container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
        section { padding: 5rem 0; }
        .text-center { text-align: center; }
        
        /* ------------------------- */
        /* --- HEADER Y NAVEGACIÓN --- */
        /* ------------------------- */
        .header { background-color: var(--color-blanco); box-shadow: 0 2px 10px rgba(0,0,0,0.1); position: sticky; top: 0; z-index: 100; width: 100%; }
        .navbar { 
            display: flex; 
            align-items: center; 
            height: 70px; 
            justify-content: center; /* Centrado en Desktop */
        }
        
        .logo { 
            display: none; /* Oculto en Desktop */
            height: 45px; 
        }
        .logo img { height: 100%; width: auto; }

        .nav-links { 
            list-style: none; 
            display: flex; 
            align-items: center; 
        }
        .nav-links li { margin-left: 2rem; }
        .nav-links li:first-child { margin-left: 0; }
        
        .nav-links a { text-decoration: none; color: var(--color-texto-oscuro); font-weight: 500; transition: color 0.3s; }
        .nav-links a:hover { color: var(--color-primario); }
        .nav-links a.active { color: var(--color-primario); font-weight: 700; }
        .nav-links .btn { 
            display: inline-block; text-decoration: none; padding: 0.6rem 1.8rem;
            border-radius: 50px; font-weight: 700; transition: all 0.3s ease;
            cursor: pointer; background-color: var(--color-primario); 
            color: var(--color-blanco);
        }
        .nav-links .btn:hover { background-color: var(--color-primario-oscuro); }
        .hamburger { display: none; } 

        /* ------------------------- */
        /* --- SECCIÓN HERO (VIDEO) --- */
        /* ------------------------- */
        .hero {
            position: relative;
            height: 90vh; /* Altura en Desktop */
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            color: var(--color-blanco);
            overflow: hidden;
            padding: 0;
        }
        #hero-video {
            position: absolute;
            top: 50%;
            left: 50%;
            min-width: 100%;
            min-height: 100%;
            width: auto;
            height: auto;
            transform: translate(-50%, -50%);
            z-index: 0;
            object-fit: cover;
        }
        .hero-overlay {
            position: absolute;
            top: 0; left: 0;
            width: 100%; height: 100%;
            background-color: rgba(0, 50, 100, 0.7);
            z-index: 1;
        }
        .hero-content {
            position: relative;
            z-index: 2;
            max-width: 700px;
            padding: 0 20px;
        }
        .hero-content h1 {
            font-size: 3.5rem;
            color: var(--color-blanco);
            margin-bottom: 1rem;
            text-shadow: 0 4px 10px rgba(0,0,0,0.5);
        }
        .hero-content p {
            font-size: 1.3rem;
            font-weight: 300;
            margin-bottom: 2rem;
            text-shadow: 0 2px 5px rgba(0,0,0,0.5);
        }
        .hero-content .btn {
            background-color: var(--color-acento-claro);
            color: var(--color-fondo-oscuro);
            padding: 1rem 2.5rem;
            font-size: 1.1rem;
            font-weight: 700;
            border-radius: 50px;
            text-transform: uppercase;
        }
        .hero-content .btn:hover {
            background-color: var(--color-blanco);
            transform: scale(1.05);
        }

        /* ------------------------- */
        /* --- SECCIÓN SOCIO IDEAL --- */
        /* ------------------------- */
        #socio-ideal {
            background-color: var(--color-fondo-claro);
            text-align: center;
        }
        .features-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
            margin-top: 3rem;
            text-align: left;
        }
        .feature-item {
            background-color: var(--color-blanco);
            padding: 2.5rem 2rem;
            border-radius: 12px;
            box-shadow: 0 8px 15px rgba(0,0,0,0.05);
            transition: all 0.3s ease;
        }
        .feature-item:hover {
            transform: translateY(-8px);
            box-shadow: 0 12px 25px rgba(0,0,0,0.1);
        }
        .feature-icon {
            width: 50px;
            height: 50px;
            color: var(--color-primario);
            stroke-width: 2;
            margin-bottom: 1.5rem;
        }
        .feature-item h3 {
            font-size: 1.4rem;
            margin-bottom: 0.5rem;
            color: var(--color-fondo-oscuro);
        }
        .feature-item p {
            font-size: 1rem;
        }

        /* ------------------------- */
        /* --- SECCIÓN PORTAFOLIO (CARRUSEL) --- */
        /* ------------------------- */
        #portafolio {
            text-align: center;
            background-color: var(--color-blanco);
        }
        .carousel-wrapper {
            position: relative;
            max-width: 900px;
            margin: 3rem auto 0;
            overflow: hidden;
            border-radius: 12px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        }
        .carousel-track {
            display: flex;
            transition: transform 0.5s ease-in-out;
        }
        .carousel-slide {
            min-width: 100%;
            position: relative;
        }
        .carousel-slide img {
            width: 100%;
            height: 500px;
            object-fit: cover;
            display: block;
        }
        .carousel-caption {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            background: linear-gradient(0deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);
            color: var(--color-blanco);
            padding: 3rem 2rem 2rem;
            text-align: left;
        }
        .carousel-caption h3 {
            color: var(--color-blanco);
            font-size: 1.8rem;
            margin-bottom: 0.5rem;
        }
        .carousel-caption p {
            font-size: 1.1rem;
            font-weight: 300;
        }
        .carousel-buttons {
            position: absolute;
            top: 50%;
            width: 100%;
            display: flex;
            justify-content: space-between;
            transform: translateY(-50%);
            padding: 0 1rem;
        }
        .carousel-btn {
            background-color: rgba(255, 255, 255, 0.8);
            border: none;
            border-radius: 50%;
            width: 45px;
            height: 45px;
            font-size: 1.5rem;
            font-weight: bold;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        .carousel-btn:hover {
            background-color: var(--color-blanco);
            transform: scale(1.1);
        }

        /* ------------------------- */
        /* --- SECCIÓN CTA FINAL --- */
        /* ------------------------- */
        #cta-final {
            background-color: var(--color-fondo-oscuro);
            color: var(--color-blanco);
            text-align: center;
            padding: 6rem 2rem;
        }
        #cta-final h2 {
            color: var(--color-blanco);
            font-size: 2.5rem;
            border-bottom: none;
            margin-bottom: 1.5rem;
        }
        #cta-final p {
            font-size: 1.2rem;
            color: #ccc;
            max-width: 600px;
            margin: 0 auto 2.5rem;
        }
        .cta-buttons {
            display: flex;
            justify-content: center;
            gap: 1.5rem;
            flex-wrap: wrap;
        }
        .cta-buttons .btn {
            padding: 1rem 2.5rem;
            font-size: 1.1rem;
            border-radius: 50px;
            text-transform: uppercase;
            font-weight: 700;
            transition: all 0.3s ease;
        }
        .btn-cta-email {
            background-color: var(--color-acento-claro);
            color: var(--color-fondo-oscuro);
            box-shadow: 0 5px 20px rgba(66, 165, 245, 0.4);
        }
        .btn-cta-email:hover {
            background-color: var(--color-blanco);
            transform: translateY(-3px);
        }
        .btn-cta-whatsapp {
            background-color: transparent;
            color: var(--color-blanco);
            border: 2px solid var(--color-acento-claro);
        }
        .btn-cta-whatsapp:hover {
            background-color: var(--color-acento-claro);
            color: var(--color-fondo-oscuro);
            transform: translateY(-3px);
        }

        /* ------------------------- */
        /* --- WHATSAPP FLOTANTE --- */
        /* ------------------------- */
        .whatsapp-float { position: fixed; bottom: 30px; right: 30px; z-index: 1000; }
        .whatsapp-link {
            display: block; width: 60px; height: 60px; background-color: #25D366;
            border-radius: 50%; text-align: center; box-shadow: 0 4px 15px rgba(0,0,0,0.3);
            transition: transform 0.2s ease-in-out;
        }
        .whatsapp-link:hover { transform: scale(1.1); }
        .whatsapp-link svg {
            width: 35px; height: 35px; fill: var(--color-blanco); margin-top: 12px;
        }

        /* ------------------------- */
        /* --- FOOTER --- */
        /* ------------------------- */
        .footer { 
            background-color: var(--color-fondo-oscuro); 
            color: var(--color-texto-claro); 
            padding: 3rem 0; 
            text-align: center; 
            font-size: 0.9rem;
        }
        .footer .logo img { height: 40px; margin-bottom: 1rem; }
        .footer a { color: var(--color-primario); text-decoration: none; }

        /* ------------------------- */
        /* --- RESPONSIVE (MÓVIL) --- */
        /* ------------------------- */
        @media (max-width: 768px) {
            h1 { font-size: 2.2rem; }
            h2 { font-size: 1.8rem; }
            section { padding: 3rem 0; }
            
            .navbar {
                justify-content: center;
            }

            .logo {
                display: block;
                z-index: 101; 
                cursor: pointer;
            }

            .nav-links { 
                position: absolute; top: 70px; left: 0; 
                background-color: var(--color-blanco); width: 100%; 
                flex-direction: column; text-align: center; 
                max-height: 0; overflow: hidden; 
                transition: max-height 0.5s ease-out; 
                box-shadow: 0 5px 10px rgba(0,0,0,0.1); 
                align-items: stretch;
            }
            .nav-links li:first-child { margin-left: 0; }
            .nav-links.active { max-height: 400px; }
            .nav-links li { margin: 0; }
            .nav-links a { display: block; padding: 1rem; border-bottom: 1px solid var(--color-fondo-claro); }
            .nav-links .btn { margin: 1rem 2rem; width: calc(100% - 4rem); }
            .hamburger { display: none; } 

            .hero {
                height: 70vh;
            }
            .hero-content h1 { font-size: 2.5rem; }
            .hero-content p { font-size: 1.1rem; }
            .features-grid { grid-template-columns: 1fr; }
            .carousel-slide img { height: 400px; }
            .carousel-caption { padding: 2rem 1.5rem 1.5rem; }
            .carousel-caption h3 { font-size: 1.5rem; }
            .carousel-caption p { font-size: 1rem; }
            .carousel-btn { width: 40px; height: 40px; }
            #cta-final h2 { font-size: 2rem; }
            .whatsapp-link { width: 50px; height: 50px; }
            .whatsapp-link svg { width: 30px; height: 30px; margin-top: 10px; }
        }