        :root { 
            --buo-orange: #f75e25; 
            --buo-dark: #05083d;
            --glass: rgba(255, 255, 255, 0.9);
        }
        
        body { font-family: 'Archivo Black', sans-serif; background: #ffffff; overflow-x: hidden; color: #1a1a1a; }

        /* FONDO */
        .geo-bg { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; opacity: 0.6; }
        .shape-t { position: absolute; width: 0; height: 0; border-left: 100px solid transparent; border-right: 100px solid transparent; border-bottom: 150px solid rgba(247, 94, 37, 0.15); animation: rotateShape 20s infinite linear; }
        .shape-s { position: absolute; width: 120px; height: 120px; border: 2px solid rgba(247, 94, 37, 0.3); animation: moveShape 25s infinite alternate ease-in-out; }
        
        @keyframes rotateShape { from { transform: rotate(0deg) translate(50px, 50px); } to { transform: rotate(360deg) translate(50px, 50px); } }
        @keyframes moveShape { 0% { top: 10%; left: 10%; transform: rotate(0deg); } 100% { top: 80%; left: 80%; transform: rotate(180deg); } }

        /* TIPOGRAFÍA UNIFICADA */
        .t-impact { font-family: 'Archivo Black', sans-serif; text-transform: uppercase; line-height: 0.85; letter-spacing: -2px; }
        .t-accent { font-family: 'Playfair Display', serif; font-style: italic; color: var(--buo-orange); text-transform: none; display: inline-block; transform: rotate(-0.5deg); top: -5px !important;}

        /* HERO */
        .hero-section { height: 90vh; background: var(--buo-dark); position: relative; display: flex; align-items: center; clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%); }
        .hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, #000 20%, transparent 100%); z-index: 1; }

        /* BOTONES NARANJAS */
        .btn-buo { background: var(--buo-orange); color: #fff; padding: 18px 45px; font-family: 'Archivo Black'; text-transform: uppercase; text-decoration: none; display: inline-block; clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%); transition: 0.3s; border: none; }
        .btn-buo:hover { background: #fff; color: var(--buo-orange); transform: scale(1.05); }
        /* --- UNIFICACIÓN DE TAMAÑOS --- */

        /* Títulos principales (H1, H2, y clases Display) */
        .t-impact, 
        h1.t-impact, 
        h2.t-impact, 
        .display-3 { 
            font-size: 3.5rem !important; 
            line-height: 0.85 !important; 
            letter-spacing: -2px !important; 
            font-family: 'Archivo Black', sans-serif !important;
            text-transform: uppercase !important;
        }

        /* Palabra acentuada (filosofía, médico, cursos) */
        .t-accent { 
            font-family: 'Playfair Display', serif !important; 
            font-style: italic !important; 
            font-weight: 900 !important;
            font-size: 1.5em !important; /* Crece proporcional al padre */
            text-transform: none !important; 
            display: inline-block !important; 
            transform: rotate(-1deg) !important;
            position: relative !important;
        }

        /* Subtítulos de tercer nivel (H3 como Doctorados) */
        h3.t-impact, 
        h3 .t-accent {
            font-size: 2.2rem !important;
        }
        h4.t-impact, 
        h4 .t-accent {
            font-size: 1.2rem !important;
        }

        /* Botón Institucional (Tamaño de letra y padding) */
        .btn-buo { 
            font-size: 1rem !important;
            padding: 18px 45px !important;
            font-family: 'Archivo Black', sans-serif !important;
            letter-spacing: 0px !important;
        }

        /* CARDS PLAN DE ESTUDIOS */
        .semestre-card-new {
            background: var(--glass);
            border: 1px solid rgba(247, 94, 37, 0.1);
            border-radius: 40px;
            padding: 40px;
            position: relative;
            transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            overflow: hidden;
            height: 100%;
            z-index: 1;
        }
        .semestre-card-new:hover {
            transform: translateY(-15px) scale(1.02);
            box-shadow: 0 30px 60px rgba(0,0,0,0.1);
            background: #fff;
            border-color: var(--buo-orange);
        }
        .num-watermark {
            position: absolute;
            bottom: -20px;
            right: 0;
            font-family: 'Archivo Black';
            font-size: 10rem;
            color: rgba(247, 94, 37, 0.04);
            z-index: -1;
            line-height: 1;
        }
        .materia-item {
            display: flex;
            align-items: center;
            margin-bottom: 12px;
            padding: 10px 15px;
            background: rgba(0,0,0,0.02);
            border-radius: 15px;
            font-size: 0.85rem;
            font-weight: 600;
            transition: 0.3s;
        }
        .materia-item i { color: var(--buo-orange); margin-right: 12px; font-size: 0.7rem; }
        .materia-item:hover { background: var(--buo-orange); color: #fff; padding-left: 25px; }
        .materia-item:hover i { color: #fff; }

        /* Ajustes de color para clases de bootstrap */
        .text-primary, .section-title { color: var(--buo-orange) !important; }
        .border-primary, .border-warning { border-color: var(--buo-orange) !important; }
        .bg-warning, .bg-primary { background-color: var(--buo-orange) !important; }

        .hero-img {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            object-fit: cover; opacity: 0; animation: kenBurns 12s infinite;
        }
        .hero-img:nth-child(2) { animation-delay: 6s; }
        @keyframes kenBurns {
            0% { opacity: 0; transform: scale(1); }
            15% { opacity: 0.5; }
            50% { opacity: 0.5; transform: scale(1.1); }
            85% { opacity: 0.5; }
            100% { opacity: 0; transform: scale(1.1); }
        }
        /* --- ANIMACIÓN DE FONDO --- */
        @keyframes moverTrama {
            from { background-position: 0 0; }
            to { background-position: 1500px 1500px; }
        }

        /* --- FOOTER COMPACTO --- */
        .footer-especial-mini {
            background-color: #05083d !important;
            position: relative !important; 
            overflow: hidden;
            border-top: 5px solid #f75e25; /* Naranja BUO */
            color: white !important;
            padding: 20px 0 !important; /* Más pequeño verticalmente */
            z-index: 1; 
        }

        /* Capa de los Búhos */
        .capa-trama-buo {
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            width: 100%; height: 100%;
            background-repeat: repeat;
            background-size: 1000px; /* Ajustado para que luzca en espacio pequeño */
            opacity: 0.15;
            animation: moverTrama 100s linear infinite;
            z-index: 1;
            pointer-events: none;
        }

        /* Capa de Color/Degradado */
        .capa-overlay-buo {
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
            background: linear-gradient(180deg, rgba(5,8,61,0.50) 0%, rgba(5,8,61,0.50) 100%);
            z-index: 2; 
        }

        /* Contenedor de Texto */
        .contenido-footer-mini {
            position: relative;
            z-index: 3;
        }