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

        .geo-bg { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; overflow: hidden; 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(230, 57, 70, 0.15); animation: rotateShape 20s infinite linear; }
        .shape-s { position: absolute; width: 120px; height: 120px; border: 2px solid rgba(29, 53, 87, 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); } }

        .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-red); text-transform: none; display: inline-block; transform: rotate(-0.5deg); position: relative !important;top: -5px !important; }

        .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%); overflow: hidden; }
        .hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, #000 20%, transparent 100%); z-index: 1; }

        .btn-buo { background: var(--buo-red); 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: var(--buo-dark); color: #fff; transform: scale(1.05); }

        .video-capsule { position: relative; padding: 20px; background: #fff; border-radius: 50px; box-shadow: 0 50px 100px rgba(0,0,0,0.1); transform: perspective(1000px) rotateY(-5deg); transition: 0.5s; }
        .video-capsule:hover { transform: perspective(1000px) rotateY(0deg); }

        /* --- 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;
        }

        /* MODIFICACIÓN PARA TAMAÑO UNIFORME DE IMÁGENES */
        .img-grid-container { 
            overflow: hidden; 
            position: relative; 
            border-radius: 15px; 
            height: 350px; /* Altura fija para que todas sean iguales */
        }
        .img-grid-container img:not(.logo-badge) { 
            width: 100%;
            height: 100%;
            object-fit: cover; /* Recorta la imagen para llenar el contenedor sin deformarse */
            transition: 0.6s; 
            filter: grayscale(100%); 
        }
        .img-grid-container:hover img:not(.logo-badge) { 
            filter: grayscale(0%); 
            transform: scale(1.1); 
        }
        .logo-badge { position: absolute; bottom: 15px; right: 15px; width: 50px; opacity: 0.7; z-index: 2;}

        .roadmap-container { position: relative; padding: 40px 0; }
        .semestre-card-new {
            background: var(--glass);
            border: 1px solid rgba(230, 57, 70, 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-red);
        }
        .num-watermark {
            position: absolute;
            bottom: -20px;
            right: 0;
            font-family: 'Archivo Black';
            font-size: 10rem;
            color: rgba(230, 57, 70, 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-red); margin-right: 12px; font-size: 0.7rem; }
        .materia-item:hover { background: var(--buo-red); color: #fff; padding-left: 25px; }
        .materia-item:hover i { color: #fff; }

        .hero-slider { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }
        .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.6; } 
            50% { opacity: 0.6; transform: scale(1.1); }
            85% { opacity: 0.6; }
            100% { opacity: 0; transform: scale(1.1); }
        }

        .floating-icon {
            position: absolute; color: rgba(255, 255, 255, 0.25); z-index: 2;
            pointer-events: none; animation: floatIcon 8s infinite ease-in-out;
        }
        @keyframes floatIcon {
            0%, 100% { transform: translateY(0) rotate(0deg); }
            50% { transform: translateY(-30px) rotate(10deg); }
        }

       
    /* --- 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;
        }