        :root {
			--sun-core: #fff5e6;
            --sun-orange: #ff6a00;
            --bg-dark: #0a0a0a;
            --card-bg: #161616;
            --primary-grad: linear-gradient(90deg, #ff8a00, #e52e71, #9c27b0);
            --text-white: #ffffff;
            --text-gray: #b3b3b3;
            --grad-1: linear-gradient(135deg, #FFD700, #FF8C00);
            --grad-2: linear-gradient(135deg, #FF6B6B, #8A2BE2);
            --grad-3: linear-gradient(135deg, #E03362, #4169E1);
            --grad-4: linear-gradient(135deg, #00C6FF, #0072FF);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Poppins', sans-serif;
        }

        body {
            background-color: var(--bg-dark);
            color: var(--text-white);
            overflow-x: hidden;
            width: 100%;
        }

        /* Navegación superior sutil */
        .nav-top {
            position: absolute;
            top: 0;
            right: 0;
            padding: 30px 10%;
            z-index: 100;
            width: auto;
        }

        .nav-links {
            display: flex;
            align-items: center;
            gap: 30px;
        }

        .nav-links a {
            text-decoration: none;
            color: rgba(255, 255, 255, 0.7); /* Blanco sutil */
            font-size: 0.85rem;
            font-weight: 500;
            letter-spacing: 1px;
            text-transform: uppercase;
            transition: all 0.3s ease;
        }

        .nav-links a:hover {
            color: #ffffff;
        }

        /* Botón destacado en blanco */
        .nav-btn-white {
            background: #ffffff;
            color: #000000 !important; /* Texto negro para contraste */
            padding: 8px 20px;
            border-radius: 50px;
            font-weight: 700 !important;
            box-shadow: 0 4px 15px rgba(255, 255, 255, 0.1);
        }

        .nav-btn-white:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(255, 255, 255, 0.2);
            background: #f0f0f0;
        }

        /* Ajuste para móviles */
        @media (max-width: 768px) {
            .nav-top {
                padding: 20px;
                width: 100%;
                display: flex;
                justify-content: center;
                position: relative; /* Para que no flote sobre el logo en móviles */
            }
            .nav-links {
                gap: 15px;
            }
            .nav-links a {
                font-size: 0.7rem;
            }
        }
        /* 1. NUBES FIJAS EN EL HERO (Suben con la página) */
        .hero {
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 100vh;
            padding: 0 10%;
            position: relative; 
            z-index: 1;
            gap: 20px;
            overflow: hidden; 
			clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%);
			margin-bottom: -80px;
        }

        .glow-universe {
            position: absolute; /* Cambiado de fixed a absolute */
            top: 0;
            right: 0;
            width: 100%;
            height: 100%;
            z-index: -1;
            pointer-events: none;
        }

        .ambient-blue, .ambient-orange, .ambient-pink .giant-sun {
            position: absolute;
            border-radius: 50%;
            top: -10%; 
            right: -10%; 
            transform: translate(20%, -40%);
        }
		
		.giant-sun {
            position: absolute;
            border-radius: 100%;
            top: 0%; 
            right: -5%; 
            transform: translate(20%, -40%);
			
			width: 20vw; 
			height: 20vw;
            background: radial-gradient(
                circle, 
                var(--sun-core) 0%, 
                var(--sun-orange) 30%, 
                rgba(255, 235, 10, 1) 60%, 
                transparent 0%
            );
			filter: blur(80px);
        }

        .ambient-blue {
            width: 100vw; 
			height: 100vw;
            background: radial-gradient(circle, rgba(0, 102, 255, 0.4) 0%, transparent 70%);
            filter: blur(100px);
        }

        .ambient-pink {
            width: 80vw; 
			height: 80vw;
            background: radial-gradient(circle, rgba(214, 41, 118, 0.5) 0%, transparent 70%);
            filter: blur(80px);
            top: 10%;
        }

        .ambient-orange {
            width: 60vw; 
			height: 60vw;
            background: radial-gradient(circle, rgba(255, 42, 0, 0.5) 0%, transparent 70%);
            filter: blur(100px);
            top: 5%;
        }

        .hero-content {
            max-width: 550px; /* Cambiado de 55% a px para mejor control */
            width: 100%;
            flex-shrink: 1; /* Permitir que se encoja */
            z-index: 2;
        }

        .hero h1 {
            font-size: 3.5vw; /* Reducido ligeramente de 10vw para evitar cortes */
            word-break: keep-all; /* Evita que rompa palabras a la mitad */
            overflow-wrap: normal;
            hyphens: none; /* Prohíbe guiones de corte */
            line-height: 1.1;
            max-width: 100%;
        }

        .hero h1 span {
            background: var(--primary-grad);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .hero p {
            color: var(--text-gray);
            margin-bottom: 2rem;
            font-size: 1.1rem;
        }

        .form-group {
            display: flex;
            gap: 12px;
            align-items: center;
            flex-wrap: wrap;
        }

        input[type="email"] {
            background: #222;
            border: 1px solid #444;
            padding: 15px;
            border-radius: 5px;
            color: white;
            flex-grow: 1;
        }

        .btn-main {
            background: var(--primary-grad);
            border: none;
            padding: 15px 30px;
            color: white;
            font-weight: bold;
            border-radius: 5px;
            cursor: pointer;
            text-transform: uppercase;

        }

        .hero-image {
            flex-shrink: 0;
            margin-right: -10%;
			
        }

        .hero-image img {
            max-width: 450px;
            display: block;
            filter: drop-shadow(0 0 20px rgba(229, 46, 113, 0.2));
        }

		.marquee {
			background: var(--primary-grad);
			padding: 10px 0;
			transform: rotate(-3deg); 
			width: 120vw; 
			margin-left: -10vw;
			margin-top: 20px;
			white-space: nowrap;
			overflow: hidden;
			font-weight: bold;
			letter-spacing: 2px;
			position: relative;
			z-index: 10;
			display: flex; /* Para alinear el contenido duplicado */
		}

		/* El contenedor interno que se mueve */
		.marquee-content {
			display: flex;
			animation: marquee-infinite 20s linear infinite;
			min-width: 200%; /* Asegura que haya suficiente contenido para el loop */
		}

		.marquee-item {
			padding-right: 50px; /* Espacio entre repeticiones */
			display: inline-block;
		}


		@keyframes marquee-infinite {
			from { transform: translateX(0); }
			to { transform: translateX(-50%); }
		}


        .classes-section {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            min-height: 100vh; /* Misma altura mínima que el hero */
            padding: 5% 10%;    /* Padding lateral idéntico al hero */
            width: 100%;
            max-width: 1400px; /* Consistencia de ancho máximo */
            margin: 0 auto;
            text-align: center;
        }
        .section-subtitle {
            color: var(--text-gray);
            margin-bottom: 50px;
            font-size: 1.1rem;
            max-width: 80%;
            text-align: center;
        }

        .grid-classes {
            display: grid;
            /* Forzamos 4 columnas en escritorio */
            grid-template-columns: repeat(4, 1fr); 
            gap: 20px;
            width: 100%;
        }
        .grid-planes {
            display: grid;
            /* Forzamos 4 columnas en escritorio */
            grid-template-columns: repeat(3, 1fr); 
            gap: 20px;
            width: 100%;
        }

        .card {
            background: var(--card-bg);
            padding: 50px 30px;
            text-align: left;
            position: relative;
            overflow: hidden;
            border-radius: 15px; /* Suavizado para diseño moderno */
            transition: 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            border: 1px solid #222;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .card:hover {
            background: #1f1f1f;
            transform: scale(1.02);
            z-index: 5;
        }

        .bio-section {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 100px 10%; /* Mismo padding lateral que el hero */
            gap: 60px;
            max-width: 1400px; /* Opcional: para que no se estire infinito en monitores ultra wide */
            margin: 0 auto;
        }

        .bio-image-container {
            flex: 1;
            display: flex;
            justify-content: center;
        }

        .bio-image-container img {
            width: 100%;
            max-width: 400px; /* Tamaño en escritorio */
            border-radius: 30px;
            
            /* Efecto de borde degradado */
            padding: 6px; /* Este grosor define el ancho del borde */
            background: var(--primary-grad);
            
            /* Para que la imagen mantenga sus bordes redondeados dentro del padding */
            display: block;
            object-fit: cover;
            
            /* Sombra de neón para que resalte sobre el fondo negro */
            box-shadow: 0 10px 30px rgba(229, 46, 113, 0.2);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        /* Efecto hover opcional para darle vida */
        .bio-image-container img:hover {
            transform: scale(1.02);
            box-shadow: 0 15px 40px rgba(229, 46, 113, 0.4);
        }

        .bio-content {
            flex: 1.2;
        }

        .insta-gradient {
            background: var(--primary-grad);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 30px 10%;
        }
        .insta-gradient h2 {
            font-size: 2.2rem; 
            font-weight: 900; 
            color: white;  
            margin-bottom: 30px; 
            text-shadow: 0 2px 10px rgba(0,0,0,0.2);
        }

        .btn-cta-highlight {
            background-color: #0a0a0a;
            color: white;
            font-weight: 700;
            padding: 20px 40px;
            border-radius: 50px;
            border: 2px solid transparent;
            cursor: pointer;
            text-transform: uppercase;
            letter-spacing: 1px;
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            box-shadow: 0 10px 20px rgba(0,0,0,0.3);
            position: relative;
            overflow: hidden;
        }

        /* Efecto de Brillo y Elevación en Hover */
        .btn-cta-highlight:hover {
            transform: translateY(-5px) scale(1.05);
            background-color: #ffffff;
            color: #0a0a0a;
            box-shadow: 0 15px 30px rgba(229, 46, 113, 0.4);
        }

        .btn-cta-highlight:active {
            transform: translateY(-2px);
        }

        .instagram-gradient-icon {
            width: 40px; 
            height: 40px;
            background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
            -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect> <path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"></line></svg>')  no-repeat center;
            mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect> <path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"></line></svg>') no-repeat center;
            -webkit-mask-size: contain;
            mask-size: contain;
            display: inline-block;
        }

        .tiktok-gradient-icon {
            width: 40px; 
            height: 40px;
            background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
            -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 448 512"><path d="M448 209.91a210.06 210.06 0 0 1-122.77-39.25V349.38A162.55 162.55 0 1 1 185 188.31V278.2a74.62 74.62 0 1 0 52.23 71.18V0l88 0a121.18 121.18 0 0 0 1.86 22.17A122.18 122.18 0 0 0 381 102.39a121.43 121.43 0 0 0 67 20.14z"/></svg>')  no-repeat center;
            mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 448 512"><path d="M448 209.91a210.06 210.06 0 0 1-122.77-39.25V349.38A162.55 162.55 0 1 1 185 188.31V278.2a74.62 74.62 0 1 0 52.23 71.18V0l88 0a121.18 121.18 0 0 0 1.86 22.17A122.18 122.18 0 0 0 381 102.39a121.43 121.43 0 0 0 67 20.14z"/></svg>') no-repeat center;
            -webkit-mask-size: contain;
            mask-size: contain;
            display: inline-block;
        }
        .facebook-gradient-icon {
            width: 40px; 
            height: 40px;

            background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
            

            -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">  <path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>')  no-repeat center;
            mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">  <path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>') no-repeat center;
            

            -webkit-mask-size: contain;
            mask-size: contain;

            display: inline-block;
        }

        .whatsapp-gradient-icon {
            width: 40px; 
            height: 40px;

            background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
            

            -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 1 1-7.6-11.7 8.38 8.38 0 0 1 3.8.9L21 3z"></path><path d="M16 14.5c-.5-1-1.4-1.1-2-1-1 .2-2.1.2-3-.7s-.9-2-.7-3c.1-.6 0-1.5-1-2-.8-.4-1.4-.3-1.8.1-.5.5-.7 1.3-.4 2.1.3.8 1.1 2.2 2.6 3.7s2.9 2.3 3.7 2.6c.8.3 1.6.1 2.1-.4.4-.4.5-1 .1-1.8z"></path></svg>')  no-repeat center;
            mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 1 1-7.6-11.7 8.38 8.38 0 0 1 3.8.9L21 3z"></path><path d="M16 14.5c-.5-1-1.4-1.1-2-1-1 .2-2.1.2-3-.7s-.9-2-.7-3c.1-.6 0-1.5-1-2-.8-.4-1.4-.3-1.8.1-.5.5-.7 1.3-.4 2.1.3.8 1.1 2.2 2.6 3.7s2.9 2.3 3.7 2.6c.8.3 1.6.1 2.1-.4.4-.4.5-1 .1-1.8z"></path></svg>') no-repeat center;
            

            -webkit-mask-size: contain;
            mask-size: contain;

            display: inline-block;
            }


        .linkedin-gradient-icon {
            width: 40px; 
            height: 40px;
            background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
            -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>')  no-repeat center;
            mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>') no-repeat center;
            -webkit-mask-size: contain;
            mask-size: contain;
            display: inline-block;
        }

        .h1-bio {
            font-size: 3.5vw; /* Reducido ligeramente de 10vw para evitar cortes */
            word-break: keep-all; /* Evita que rompa palabras a la mitad */
            overflow-wrap: normal;
            hyphens: none; /* Prohíbe guiones de corte */
            line-height: 1.1;
            max-width: 100%;
        }
            /* Contenedor unificado para que tenga el mismo ancho que la bio */
        .method-section {
            padding: 100px 10%;
            max-width: 1400px;
            margin: 0 auto;
            text-align: center;
        }

        .method-grid {
            display: grid;
            /* Cuatro columnas iguales en escritorio */
            grid-template-columns: repeat(4, 1fr); 
            gap: 15px;
            margin-top: 50px;
        }

        .method-card {
            background: var(--card-bg);
            border-radius: 20px;
            padding: 50px 25px 30px 25px;
            position: relative; /* <--- ESTO ES VITAL para que la línea se pegue aquí */
            overflow: hidden;    /* <--- Esto hace que la línea respete las esquinas redondeadas */
            border: 1px solid #222;
            transition: transform 0.3s ease;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .method-card:hover {
            transform: translateY(-8px);
            border-color: #444;
        }
        
        .card-top-line {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 60px; /* Aumentado a 6px para que sea más notable */
            background: var(--primary-grad); /* Color por defecto */
            z-index: 10; /* Asegura que esté por encima del fondo */
        }

       .icon-wrapper {
            position: relative;
            width: 40px; /* Un poco más grande para dar aire */
            height: 40px;
            margin-bottom: 25px;
            top: 15%;
            margin-left: 3%;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background-color: #0a0a0a;
            z-index: 1; /* Asegura que el contenido esté arriba */
        }
        .letter-icon-ross {
            width: 42px; 
            height: 42px;
            background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
            -webkit-mask-size: contain;
            mask-size: contain;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-position: center;
            mask-position: center;
            display: inline-block;
        }
        .icon-r {
            -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text x='50%' y='75%' text-anchor='middle' font-family='Times New Roman, serif' font-weight='900' font-size='85' fill='black'>R</text></svg>");
        }

        .icon-o {
            -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text x='50%' y='75%' text-anchor='middle' font-family='Times New Roman, serif' font-weight='900' font-size='85' fill='black'>O</text></svg>");
        }

        .icon-s1, .icon-s2 {
            -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text x='50%' y='75%' text-anchor='middle' font-family='Times New Roman, serif' font-weight='900' font-size='85' fill='black'>S</text></svg>");
        }
        .icon-img {
            width: 35px;
            height: 35px;
            object-fit: contain;
            filter: drop-shadow(0 2px 5px rgba(0,0,0,0.5)); /* Da relieve al icono sobre la luz */
        }
        .aula-tag {
            color: #555;
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 2px;
            font-weight: 700;
            margin-bottom: 10px;
        }

        .aula-title {
            font-size: 1.7rem;
            font-weight: 700;
            line-height: 1.3;
            color: white;
            text-align: center;
            margin-top: 20%;
        }

          /* Soporte para el gradiente de los iconos SVG */
        .insta-grad-svg {
            stop-color: #ff8a00;
        }
        
        .relevant {
            background: var(--primary-grad);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .instagram-gradient-icon {
            width: 40px; 
        }
        /* Nueva clase para sustituir .card */
        .solucion-card {
            background: var(--card-bg);
            padding: 40px 25px; /* Padding reducido a los lados para ganar espacio */
            text-align: left;
            position: relative;
            overflow: hidden;
            border-radius: 15px;
            transition: 0.4s ease;
            border: 1px solid #222;
            display: flex;
            flex-direction: column;
            height: 100%; /* Asegura que todas midan lo mismo */
            width: 100%;
        }

        .solucion-card:hover {
            background: #1f1f1f;
            transform: translateY(-5px);
            border-color: #333;
        }

        .solucion-card h3 {
            font-size: 1.6rem;
            line-height: 1.2;
            margin-bottom: 20px;
            margin-top: 40px; /* Espacio para la línea superior */
            color: var(--text-white);
            width: 100%;
            text-align: center;
        }

        .solucion-card p {
            font-size: 0.95rem;
            color: var(--text-gray);
            line-height: 1.5;
            margin-bottom: 15px;
            text-align: justify;
        }

        .solucion-list {
            list-style: none;
            width: 100%;
        }

        .solucion-list li {
            font-size: 0.85rem;
            margin-bottom: 8px;
            display: flex;
            align-items: flex-start;
            gap: 8px;
            color: var(--text-gray);
        }

        .solucion-footer {
            margin-top: auto; /* Empuja esto al final del card */
            padding-top: 15px;
            font-size: 0.8rem;
            font-style: italic;
            border-top: 1px solid #222;
            color: var(--text-white);
        }

        .btn-planes {
            background: var(--primary-grad);
            border: none;
            padding: 5px 10px;
            width: 80%;
            color: white;
            font-weight: bold;
            border-radius: 5px;
            cursor: pointer;
            font-size: 2rem;

            text-transform: uppercase;
        }

        .main-footer {
            background-color: #050505;
            padding: 80px 10% 30px;
            border-top: 1px solid #1a1a1a;
            position: relative;
            z-index: 20;
        }

        .footer-container {
            display: grid;
            grid-template-columns: 2fr 1fr 1.5fr;
            gap: 50px;
            max-width: 1200px;
            margin: 0 auto;
        }

        .footer-brand .footer-logo {
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 1.5rem;
            font-weight: bold;
            margin-bottom: 20px;
        }

        .footer-brand .footer-logo img {
            width: 35px;
        }

        .footer-brand p {
            color: var(--text-gray);
            line-height: 1.6;
            margin-bottom: 25px;
        }

        .footer-socials {
            display: flex;
            gap: 15px;
        }

        .social-link {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: #111;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            text-decoration: none;
            font-size: 0.8rem;
            font-weight: bold;
            transition: 0.3s;
            border: 1px solid #222;
        }

        .social-link:hover {
            background: var(--primary-grad);
            transform: translateY(-3px);
        }

        .footer-links h4, .footer-contact h4 {
            margin-bottom: 25px;
            font-size: 1.2rem;
            background: var(--primary-grad);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .footer-links ul {
            list-style: none;
        }

        .footer-links ul li {
            margin-bottom: 12px;
        }

        .footer-links ul li a {
            color: var(--text-gray);
            text-decoration: none;
            transition: 0.3s;
        }

        .footer-links ul li a:hover {
            color: white;
            padding-left: 5px;
        }

        .footer-contact p {
            color: var(--text-gray);
            margin-bottom: 15px;
        }

        .footer-whatsapp {
            display: inline-block;
            margin-top: 10px;
            color: #25d366;
            text-decoration: none;
            font-weight: bold;
        }

        .footer-bottom {
            margin-top: 60px;
            padding-top: 30px;
            border-top: 1px solid #1a1a1a;
            text-align: center;
            color: #555;
            font-size: 0.9rem;
        }

        .weight-900 { font-weight: 900; }

        .footer-plans {
            display: flex;
            flex-direction: column;
            gap: 15px;
            font-size: 22px;
            margin-bottom: 15px;
            text-align: center;
        }
        /* Responsive para el footer */
        @media (max-width: 768px) {
            .footer-container {
                grid-template-columns: 1fr;
                text-align: center;
            }
            .footer-brand .footer-logo, .footer-socials {
                justify-content: center;
            }
            .footer-plans {font-size: 18px;}
        }

        @media (max-width: 1024px) {
            .hero { flex-direction: column; text-align: center; padding-top: 100px; }
            .hero h1 {
                font-size: 9vw; /* El tamaño se adapta al ancho de la pantalla */
                word-wrap: break-word; /* Permite romper la palabra si es estrictamente necesario */
                overflow-wrap: break-word;
                line-height: 1.2;
                padding: 0 10px; /* Evita que las letras peguen al borde del cristal */
            }
            .hero-image { margin-right: 0; margin-top: 20px; }
            .hero-image img { max-width: 100%; }
            .grid-planes { grid-template-columns: 1fr; }
            .grid-classes { grid-template-columns: 1fr; }
            .bio-section {
                flex-direction: column; /* Uno sobre otro */
                padding: 60px 10%;
                text-align: center;
                gap: 40px;
            }

            .bio-image-container img {
                max-width: 250px; /* Imagen más pequeña en teléfono */
            }

            .bio-content h3 {
                font-size: 1.8rem;
            }
            .bio-content h1 {
                font-size: 2rem;
            }
            /* Opcional: alinear la lista al centro en móvil si el texto está centrado */
            .bio-content ul {
                text-align: left;
                display: inline-block;
            }
            .h1-bio {
                font-size: 8vw; /* El tamaño se adapta al ancho de la pantalla */
                word-wrap: break-word; /* Permite romper la palabra si es estrictamente necesario */
                overflow-wrap: break-word;
                line-height: 1.2;
                padding: 0 10px; /* Evita que las letras peguen al borde del cristal */
            }
             .btn-planes {

                font-size: 2rem;

            }
        }

        /* Responsivo: 2 columnas en tablets, 1 columna en móviles */
        @media (max-width: 1024px) {
            .method-grid {
                .method-grid { grid-template-columns: repeat(2, 1fr); }
            }
          
        }

        @media (max-width: 600px) {
            .method-grid { grid-template-columns: 1fr; }
            .method-section { padding: 60px 8%; }
            
             .btn-planes {
                background: var(--primary-grad);
                border: none;
                padding: 5px 10px;
                width: 80%;
                color: white;
                font-weight: bold;
                border-radius: 5px;
                cursor: pointer;
                font-size: 1.2rem;
                text-transform: uppercase;
            }
            .nav-links a {font-size: 0.5rem;}
        }

      