 /* --- ESTILOS DEL MAIN --- */
.seccion-principal {
    text-align: center;
    padding: 5rem 1rem; /* Equivalente al py-20 */
}

.titulo-hero {
    font-size: 3rem; /* Aproximadamente 5xl */
    font-weight: 800; /* extramold */
    margin-bottom: 1rem; /* mb-4 */
    color: #111827;
}

.subtitulo-hero {
    font-size: 1.25rem; /* text-xl */
    color: #4b5563; /* gray-600 */
    margin-bottom: 2rem; /* mb-8 */
}
 
 
 /* --- ESTILOS GENERALES --- */
        body {
            margin: 0;
            font-family: sans-serif;
            background-color: #f3f4f6; /* gray-100 */
            color: #111827; /* gray-900 */
            line-height: 1.5;
        }

        nav {
            padding: 1.5rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            background: white;
        }

        .logo { font-size: 1.5rem; font-weight: bold; margin: 0; }
        .naranja { color: #f97316; }
        
        .btn-contacto {
            background-color: #f97316;
            color: white;
            padding: 0.5rem 1rem;
            border-radius: 0.25rem;
            text-decoration: none;
            font-weight: bold;
        }

        /* --- SECCIÓN HERO (LA OSCURA) --- */
        .hero-container {
            background-color: #111827; /* gray-900 */
            padding: 4rem 1rem;
        }

        .hero-card {
            max-width: 1200px;
            margin: 0 auto;
            background-color: #1f2937; /* gray-800 */
            border-radius: 1.5rem;
            padding: 3rem;
            display: flex;
            flex-wrap: wrap;
            gap: 2rem;
            position: relative;
            overflow: hidden;
        }

        .hero-texto {
            flex: 1;
            min-width: 300px;
            color: white;
            text-align: left;
        }

        .hero-texto h2 { font-size: 2.25rem; margin-bottom: 1.5rem; }
        .hero-texto p { color: #d1d5db; font-size: 1.125rem; }

        /* --- LISTA DE HABILIDADES --- */
        .habilidades-lista {
            flex: 1;
            min-width: 300px;
            list-style: none;
            padding: 0;
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .card-habilidad {
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            padding: 1rem;
            border-radius: 0.75rem;
            display: flex;
            align-items: center;
            gap: 1rem;
            color: white;
            font-weight: 600;
        }

        .punto-naranja {
            width: 8px;
            height: 8px;
            background-color: #f97316;
            border-radius: 50%;
            box-shadow: 0 0 10px rgba(249, 115, 22, 0.5);
        }

        /* Botones secundarios */
        .btn-secundario {
            display: inline-block;
            margin-top: 2rem;
            background: #374151;
            color: white;
            padding: 0.75rem 1.5rem;
            border-radius: 0.5rem;
            text-decoration: none;
        }

        /* --- SECCIÓN SOBRE MÍ (FONDO CLARO) --- */
.sobre-mi {
    background-color: #ffffff;
    padding: 6rem 1rem;
    text-align: center;
}

.contenedor-chico {
    max-width: 1100px;
    margin: 0 auto;
}

.etiqueta {
    color: #f97316; /* Tu naranja */
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.875rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.titulo-seccion {
    font-size: 2.25rem;
    color: #111827;
    margin-bottom: 4rem;
    font-weight: 800;
}

.grilla-habilidades {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

.tarjeta-blanca {
    padding: 2.5rem;
    background: #f9fafb; /* Un gris casi blanco para dar volumen */
    border-radius: 1rem;
    border: 1px solid #e5e7eb;
    transition: transform 0.3s ease;
    text-align: left;
}

.tarjeta-blanca:hover {
    transform: translateY(-5px); /* Efecto sutil al pasar el mouse */
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.icono {
    font-size: 2rem;
    margin-bottom: 1.5rem;
}

.tarjeta-blanca h3 {
    font-size: 1.25rem;
    color: #111827;
    margin-bottom: 1rem;
}

.tarjeta-blanca p {
    color: #4b5563;
    line-height: 1.6;
    font-size: 1rem;
}
/* --- SECCIÓN SERVICIOS (IGUAL AL HERO) --- */
.servicios {
    background-color: #111827; /* El fondo azul/gris oscuro del Hero */
    padding: 6rem 1rem;
}

.contenedor {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

.etiqueta-naranja {
    color: #f97316;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.875rem;
    margin-bottom: 1rem;
    letter-spacing: 0.05em;
}

.titulo-servicios {
    font-size: 2.5rem;
    color: #ffffff; /* Título en blanco como pediste */
    margin-bottom: 4rem;
    font-weight: 800;
}

.grid-servicios {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
}

.tarjeta-servicio {
    background: #1f2937; /* Un tono un poquito más claro para que se vea la tarjeta */
    padding: 2.5rem;
    border-radius: 1.5rem;
    text-align: left;
    border: 1px solid rgba(255, 255, 255, 0.1); /* Borde sutil para dar dimensión */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.tarjeta-servicio h3 {
    font-size: 1.5rem;
    color: #ffffff; /* Texto de la tarjeta en blanco */
    font-weight: 700;
    margin-bottom: 1rem;
}

.descripcion {
    color: #d1d5db; /* Gris claro (gray-300) para que se lea bien sobre oscuro */
    line-height: 1.6;
    margin-bottom: 2rem;
}

.entregable {
    background-color: rgba(255, 255, 255, 0.05); /* Fondo traslúcido */
    padding: 1rem;
    border-radius: 0.75rem;
    border-left: 4px solid #f97316;
    font-size: 0.9rem;
    color: #f3f4f6;
}

.numero {
    font-size: 0.875rem;
    background: rgba(249, 115, 22, 0.15);
    color: #f97316;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-weight: bold;
    display: inline-block;
    margin-bottom: 1rem;
    width: fit-content;
}

/* --- SECCIÓN MANIFIESTO (HUMANIZANTE) --- */
.manifiesto {
    background-color: #ffffff;
    padding: 4rem 1.5rem;
    position: relative;
}

.contenedor-angosto {
    max-width: 800px; /* Más angosto para que sea fácil de leer */
    margin: 0 auto;
    text-align: center;
}

.comilla-decorativa {
    font-family: serif;
    font-size: 6rem;
    color: #f97316;
    line-height: 1;
    margin-bottom: -1rem;
    opacity: 0.3;
}

.titulo-manifiesto {
    font-size: 2.25rem;
    color: #111827;
    margin-bottom: 2.5rem;
    font-weight: 800;
}

.texto-manifiesto p {
    font-size: 1.25rem;
    color: #4b5563;
    line-height: 1.8;
    margin-bottom: 1.5rem;
}

.texto-manifiesto strong {
    color: #111827;
    font-weight: 700;
}

.firma {
    font-style: italic;
    color: #111827 !important;
    margin-top: 3rem;
    font-weight: 500;
}

.divisor-naranja {
    width: 60px;
    height: 4px;
    background-color: #f97316;
    margin: 3rem auto 0;
    border-radius: 2px;
}

/* --- FOOTER (PIE DE PÁGINA) --- */
.pie-pagina {
    background-color: #111827; /* Volvemos al azul oscuro para cerrar */
    color: #9ca3af;
    padding: 4rem 1.5rem 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.contenedor-footer {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    text-align: center;
}

.logo-footer {
    color: white;
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

.link-contacto {
    color: white;
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: 600;
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 0.75rem 1.5rem;
    border-radius: 9999px;
    transition: all 0.3s ease;
}

.link-contacto:hover {
    background-color: #f97316;
    border-color: #f97316;
}

.icono-mail {
    margin-right: 0.5rem;
}

.copyright {
    margin-top: 2rem;
    font-size: 0.875rem;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    width: 100%;
    padding-top: 2rem;
}





.polimatia {
    background-color: #f9fafb;
    padding: 5rem 1.5rem;
    border-top: 1px solid #e5e7eb;
}

.texto-polimatia {
    max-width: 750px;
    margin: 0 auto;
    text-align: left;
    font-size: 1.15rem;
    color: #4b5563;
    line-height: 1.7;
}

.texto-polimatia strong {
    color: #f97316;
}