
        :root {
            --color-primario: #F29422;
            --color-secundario: #D93611;
            --fondo-oscuro: #0D0D0D;
            --fondo-tarjeta: #1a1a1a;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background: linear-gradient(135deg, var(--fondo-oscuro) 0%, #1a1a1a 100%);
            color: #e2e8f0;
            min-height: 100vh;
        }

        .barra-navegacion {
            background: rgba(13, 13, 13, 0.95) !important;
            backdrop-filter: blur(10px);
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
        }

        .marca-navbar {
            font-weight: 700;
            font-size: 1.5rem;
            background: linear-gradient(135deg, var(--color-primario), var(--color-secundario));
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            color: transparent;
        }

        .enlace-nav {
            color: #cbd5e1 !important;
            transition: color 0.3s;
            font-weight: 500;
        }

        .enlace-nav:hover {
            color: var(--color-primario) !important;
        }

        .seccion-hero {
            padding: 120px 0 80px;
            text-align: center;
        }

        .titulo-hero {
            font-size: 3.5rem;
            font-weight: 800;
            margin-bottom: 1rem;
            background: linear-gradient(135deg, #fff, #cbd5e1);
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            color: transparent;
        }

        .subtitulo-hero {
            font-size: 1.5rem;
            color: var(--color-primario);
            margin-bottom: 1.5rem;
        }

        .descripcion-hero {
            font-size: 1.1rem;
            color: #94a3b8;
            max-width: 700px;
            margin: 0 auto 2rem;
        }

        .boton-primario {
            background: linear-gradient(135deg, var(--color-primario), var(--color-secundario));
            border: none;
            padding: 12px 30px;
            font-weight: 600;
            transition: transform 0.3s, box-shadow 0.3s;
        }

        .boton-primario:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 25px rgba(242, 148, 34, 0.4);
        }

        .titulo-seccion {
            font-size: 2.5rem;
            font-weight: 700;
            margin-bottom: 3rem;
            text-align: center;
            position: relative;
        }

        .titulo-seccion::after {
            content: '';
            display: block;
            width: 80px;
            height: 4px;
            background: linear-gradient(135deg, var(--color-primario), var(--color-secundario));
            margin: 1rem auto;
            border-radius: 2px;
        }

        .tarjeta-proyecto {
            background: var(--fondo-tarjeta);
            border-radius: 15px;
            overflow: hidden;
            margin-bottom: 30px;
            transition: transform 0.3s, box-shadow 0.3s;
            border: 1px solid rgba(242, 148, 34, 0.1);
            cursor: pointer;
        }

        .tarjeta-proyecto:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 40px rgba(242, 148, 34, 0.3);
        }

        .descripcion-habilidad {
            color: #cbd5e1;
        }

        .modal-contenido {
            background: var(--fondo-tarjeta);
            border: 1px solid rgba(242, 148, 34, 0.3);
            border-radius: 15px;
        }

        .modal-header {
            background: linear-gradient(135deg, var(--color-primario), var(--color-secundario));
            border-bottom: none;
            border-radius: 15px 15px 0 0;
        }

        .modal-title {
            color: #fff;
            font-weight: 700;
        }

        .btn-close {
            filter: brightness(0) invert(1);
        }

        .modal-body {
            color: #e2e8f0;
        }

        .galeria-proyecto {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 15px;
            margin: 20px 0;
        }

        .galeria-proyecto img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            border-radius: 10px;
            background: linear-gradient(135deg, #F2811D, #F26A1B);
        }

        .info-proyecto {
            margin: 15px 0;
        }

        .info-proyecto h5 {
            color: var(--color-primario);
            margin-bottom: 10px;
            font-weight: 600;
        }

        .info-proyecto p {
            color: #cbd5e1;
            line-height: 1.8;
        }

        .enlace-externo {
            display: inline-block;
            margin-top: 15px;
            padding: 10px 20px;
            background: linear-gradient(135deg, var(--color-primario), var(--color-secundario));
            color: #fff;
            text-decoration: none;
            border-radius: 8px;
            transition: transform 0.3s;
        }

        .enlace-externo:hover {
            transform: translateY(-2px);
            color: #fff;
        }

        .imagen-proyecto {
            width: 100%;
            height: 250px;
            object-fit: cover;
            background: linear-gradient(135deg, #F2811D, #F26A1B);
        }

        .cuerpo-proyecto {
            padding: 1.5rem;
        }

        .titulo-proyecto {
            font-size: 1.3rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
            color: #fff;
        }

        .descripcion-proyecto {
            color: #94a3b8;
            margin-bottom: 1rem;
        }

        .etiquetas-proyecto {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
        }

        .etiqueta {
            background: rgba(242, 148, 34, 0.2);
            color: var(--color-primario);
            padding: 5px 12px;
            border-radius: 20px;
            font-size: 0.85rem;
            font-weight: 500;
        }

        .seccion-habilidades {
            padding: 80px 0;
            background: rgba(26, 26, 26, 0.5);
        }

        .item-habilidad {
            text-align: center;
            padding: 2rem;
            background: var(--fondo-tarjeta);
            border-radius: 15px;
            margin-bottom: 30px;
            transition: transform 0.3s;
            border: 1px solid rgba(242, 148, 34, 0.1);
        }

        .item-habilidad:hover {
            transform: translateY(-5px);
        }

        .icono-habilidad {
            font-size: 3rem;
            color: var(--color-primario);
            margin-bottom: 1rem;
        }

        .nombre-habilidad {
            font-size: 1.2rem;
            font-weight: 600;
            color: #fff;
        }

        .seccion-contacto {
            padding: 80px 0;
            text-align: center;
        }

        .enlaces-sociales {
            display: flex;
            justify-content: center;
            gap: 20px;
            margin-top: 2rem;
        }

        .enlace-social {
            width: 50px;
            height: 50px;
            border-radius: 50%;
            background: var(--fondo-tarjeta);
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 1.3rem;
            transition: all 0.3s;
            border: 2px solid transparent;
        }

        .enlace-social:hover {
            background: linear-gradient(135deg, var(--color-primario), var(--color-secundario));
            transform: translateY(-5px);
            box-shadow: 0 10px 25px rgba(242, 148, 34, 0.4);
        }

        .pie-pagina {
            background: rgba(13, 13, 13, 0.95);
            padding: 2rem 0;
            text-align: center;
            color: #64748b;
        }

        .form-control {
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(242, 148, 34, 0.3);
            color: #e2e8f0;
            padding: 12px;
            border-radius: 8px;
        }

        .form-control:focus {
            background: rgba(255, 255, 255, 0.08);
            border-color: var(--color-primario);
            color: #e2e8f0;
            box-shadow: 0 0 0 0.25rem rgba(242, 148, 34, 0.25);
        }

        .form-control::placeholder {
            color: #64748b;
        }

        .form-label {
            color: #cbd5e1;
            font-weight: 500;
            margin-bottom: 0.5rem;
        }

        .alert {
            border-radius: 8px;
            margin-bottom: 1rem;
        }

        .btn-primary:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }

        .boton-cv {
            border: 2px solid var(--color-primario);
            color: var(--color-primario);
            padding: 12px 30px;
            font-weight: 600;
            transition: all 0.3s;
            background: transparent;
        }

        .boton-cv:hover {
            background: linear-gradient(135deg, var(--color-primario), var(--color-secundario));
            color: #fff;
            border-color: transparent;
            transform: translateY(-2px);
            box-shadow: 0 10px 25px rgba(242, 148, 34, 0.4);
        }

        .contenedor-foto-perfil {
            margin: 2rem auto;
            width: 200px;
            height: 200px;
            position: relative;
        }

        .foto-perfil {
            width: 100%;
            height: 100%;
            border-radius: 50%;
            object-fit: cover;
            border: 4px solid transparent;
            background: linear-gradient(var(--fondo-oscuro), var(--fondo-oscuro)) padding-box,
                linear-gradient(135deg, var(--color-primario), var(--color-secundario)) border-box;
            box-shadow: 0 10px 40px rgba(242, 148, 34, 0.3);
            transition: transform 0.3s, box-shadow 0.3s;
        }

        .foto-perfil:hover {
            transform: scale(1.05);
            box-shadow: 0 15px 50px rgba(242, 148, 34, 0.5);
        }

        @media (max-width: 768px) {
            .titulo-hero {
                font-size: 2.5rem;
            }

            .subtitulo-hero {
                font-size: 1.2rem;
            }

            .contenedor-foto-perfil {
                width: 150px;
                height: 150px;
            }
        }