/* =========================================================================
   INEDIG · Tema institucional
   Azul marino institucional, blanco y amarillo de acción, como las
   universidades en línea con RVOE (IEXE, UTC, U del Prado, UVEG).
   Se carga después de portal.css y sitio.css.
   ========================================================================= */
:root{
  --marino:#0A2A5E; --marino-2:#0D3677; --marino-osc:#061C40; --azul:#1660D6; --celeste:#E9F1FC; --amarillo:#FFC72C; --amarillo-2:#F5B400;
  --primary:#0D3677; --primary-600:#0A2A5E; --primary-50:#E9F1FC;
  --accent:#1660D6; --accent-50:#E6EFFD; --gold:#F5B400; --gold-50:#FFF6DB;
  --exito:#15803D; --exito-50:#E7F6EC; --peligro:#C62828; --peligro-50:#FCE9E9; --aviso:#B45309; --aviso-50:#FEF3E2;
  --bg:#F3F6FB; --panel:#FFFFFF; --panel-2:#F7F9FC; --texto:#0F1C33; --muted:#5B6B82; --borde:#DFE6F0; --track:#E4EAF3;
  --sidebar:#0A2A5E; --sidebar-2:#0A2A5E; --sidebar-texto:#C9D7EE;
  --radio:10px; --sombra:0 1px 3px rgba(10,42,94,.06),0 6px 18px rgba(10,42,94,.06); --sombra-hover:0 12px 30px rgba(10,42,94,.14);
  --fuente:"Inter","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  --titulos:"Poppins","Inter","Segoe UI",Arial,sans-serif;
}
:root[data-tema="oscuro"]{
  --primary:#7EB2FF; --primary-600:#A3C8FF; --primary-50:#13284A; --accent:#5B9BFF; --accent-50:#13284A; --gold:#FFC72C; --gold-50:#3A2F10;
  --exito:#4ADE80; --exito-50:#0F2A1C; --peligro:#F87171; --peligro-50:#3A1717; --aviso:#FBBF24; --aviso-50:#3A2A10;
  --bg:#08111F; --panel:#0F1B2E; --panel-2:#0C1626; --texto:#E6EDF7; --muted:#93A4BD; --borde:#1E2E48; --track:#1E2E48;
  --sidebar:#061226; --sidebar-2:#061226;
}
body{font-family:var(--fuente)}
h1,h2,h3,.titulo-sec,.stat .valor{font-family:var(--titulos);letter-spacing:-.01em}
h1{font-weight:700}h2,h3{font-weight:600}

/* ---------- Botones ---------- */
.btn{border-radius:8px;background:var(--marino-2);font-family:var(--titulos);font-weight:600;letter-spacing:.01em}
:root[data-tema="oscuro"] .btn{background:var(--azul)}
.btn:hover{filter:none;background:var(--marino);transform:none;box-shadow:0 6px 16px rgba(10,42,94,.25)}
.btn.sec{background:var(--panel);color:var(--marino-2);border:1.5px solid var(--marino-2)}
.btn.sec:hover{background:var(--celeste);box-shadow:none}
:root[data-tema="oscuro"] .btn.sec{color:var(--texto);border-color:var(--borde)}
.btn.oro{background:var(--amarillo);color:var(--marino-osc)}.btn.oro:hover{background:var(--amarillo-2)}
.btn.acento{background:var(--azul)}
.btn.blanco{background:#fff;color:var(--marino)}.btn.blanco:hover{background:var(--celeste)}
.btn.contorno-blanco{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7)}.btn.contorno-blanco:hover{background:rgba(255,255,255,.1)}
.btn.chico{border-radius:7px}

/* ---------- Portal ---------- */
.app{background:linear-gradient(90deg,var(--sidebar) 268px,transparent 268px)}
.sidebar{background:var(--sidebar)}
.sidebar .marca small{color:#9DB4D9}.nav-titulo{color:#7F98C2}
.nav-item{border-radius:8px}
.nav-item.activo{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 3px 0 0 var(--amarillo)}
.sidebar .pie{color:#7F98C2}
.avatar{background:var(--azul);border-radius:50%}
.hero{background:var(--marino-2);border-radius:12px}
.hero::after{display:none}
.hero p,.hero .muted{color:#CFDCF2}
.barra>span{background:var(--azul)}.barra.oro>span{background:var(--amarillo)}
.curso .portada .clave{background:rgba(0,0,0,.25);backdrop-filter:none}
.portada-0{background:#0D3677}.portada-1{background:#1660D6}.portada-2{background:#0A6C8C}.portada-3{background:#3B4A9E}.portada-4{background:#0E7A5F}.portada-5{background:#22324F}
.card{border-radius:var(--radio)}
.doc-oficial .enc{border-bottom-color:#0A2A5E}.doc-oficial .enc h2{color:#0A2A5E}
.login-arte{background:linear-gradient(rgba(6,28,64,.82),rgba(6,28,64,.9)),var(--foto-asesor) center/cover,var(--marino)}
.login-arte h2{font-size:2.2rem;line-height:1.15}

/* =========================================================================
   Sitio público
   ========================================================================= */
.publico{background:#fff}
:root[data-tema="oscuro"] .publico{background:var(--bg)}
.seccion.gris{background:var(--bg)}
.contenedor{max-width:1240px}

/* Aviso superior */
.aviso-sup{background:var(--azul);color:#fff;text-align:center;font-size:.9rem;padding:9px 44px;position:relative}
.aviso-sup a{color:#fff;font-weight:700;text-decoration:underline}
.aviso-sup button{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:0;color:#fff;font-size:1.2rem;cursor:pointer}

/* Barra de utilidades */
.utilidades{background:var(--marino-osc);color:#C9D7EE;font-size:.86rem}
.utilidades .contenedor{display:flex;align-items:center;gap:22px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}
.utilidades .izq{display:flex;gap:22px;flex-wrap:wrap}
.utilidades a{color:#C9D7EE;display:inline-flex;align-items:center;gap:6px;text-decoration:none}.utilidades a:hover{color:#fff}
.utilidades .der{margin-left:auto;display:flex;gap:18px}
.utilidades .der a{font-weight:600;color:#fff}

/* Navegación principal */
.pub-nav{background:#fff;backdrop-filter:none;border-bottom:1px solid var(--borde);padding:12px max(6vw,calc((100vw - 1240px)/2 + 6vw))}
:root[data-tema="oscuro"] .pub-nav{background:var(--panel)}
.pub-nav.sombra{box-shadow:0 6px 20px rgba(10,42,94,.08)}
.pub-logo img{height:54px}
.pub-nav .links{gap:2px}
.pub-nav .links a{font-family:var(--titulos);font-weight:500;font-size:.95rem;color:var(--texto);border-radius:6px;padding:8px 12px}
.pub-nav .links a:hover{background:var(--celeste);color:var(--marino-2)}
.pub-nav .links a.activo{background:none;color:var(--azul);box-shadow:inset 0 -2px 0 var(--azul);border-radius:0}
:root[data-tema="oscuro"] .pub-nav .links a:hover{background:var(--primary-50);color:#fff}
.pub-nav .acciones .btn{padding:9px 14px}

.eyebrow{color:var(--azul);font-family:var(--titulos)}
.titulo-sec{font-weight:700;color:var(--marino)}
:root[data-tema="oscuro"] .titulo-sec{color:var(--texto)}

/* Portada */
.portada-sitio{position:relative;background:var(--marino);color:#fff;overflow:hidden}
.portada-sitio .foto{position:absolute;inset:0 0 0 auto;width:min(60%,940px);background:var(--foto-portada) center/cover}
.portada-sitio .foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--marino) 0%,rgba(10,42,94,.6) 28%,rgba(10,42,94,.1) 65%)}
.portada-sitio .contenedor{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-top:60px;padding-bottom:60px;min-height:600px}
.etq-rvoe{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:7px 16px;color:#DCE8FA}
.portada-sitio h1{font-size:clamp(2.3rem,4.4vw,3.6rem);line-height:1.08;color:#fff;margin:22px 0 18px;font-weight:800}
.portada-sitio h1 span{color:var(--amarillo)}
.portada-sitio .lead{font-size:1.12rem;color:#D4E0F3;max-width:560px;margin:0}
.portada-sitio .hero-ctas{margin:28px 0 22px}
.puntos{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;max-width:560px}
.puntos li{display:flex;gap:9px;align-items:center;font-weight:600;font-size:.92rem}
.puntos li::before{content:"";width:9px;height:9px;background:var(--amarillo);flex:none}
.inicio-clases{display:inline-block;margin-top:28px;background:var(--amarillo);color:var(--marino-osc);font-family:var(--titulos);font-weight:800;font-size:1.25rem;line-height:1.15;text-transform:uppercase;padding:14px 22px;border-radius:6px}
.inicio-clases small{display:block;font-size:.8rem;font-weight:600;text-transform:none;margin-top:3px}

/* Formulario de registro en la portada */
.registro{background:#fff;color:var(--texto);border-radius:12px;box-shadow:0 30px 70px rgba(0,0,0,.35);overflow:hidden;max-width:420px;justify-self:end;width:100%}
:root[data-tema="oscuro"] .registro{background:var(--panel)}
.registro .cab{background:var(--marino-osc);color:#fff;padding:18px 24px;text-align:center}
.registro .cab b{font-family:var(--titulos);font-size:1.3rem;display:block}.registro .cab span{font-size:.85rem;color:#C9D7EE}
.registro form{padding:20px 24px 24px}
.registro .campo{margin-bottom:12px}.registro .campo label{font-size:.82rem}
.registro .campo input,.registro .campo select{width:100%}
.registro .acepta{display:flex;gap:8px;align-items:flex-start;font-size:.8rem;margin:4px 0 14px;font-weight:500}.registro .acepta input{width:auto;margin-top:2px}

/* Tarjetas con foto */
.tarjetas-foto{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tf{position:relative;border-radius:10px;overflow:hidden;min-height:300px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;background:var(--marino) center/cover;text-decoration:none!important}
.tf::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,28,64,.2),rgba(6,28,64,.88))}
.tf>*{position:relative}
.tf.grande{grid-row:1/3;min-height:620px;justify-content:center}
.tf h3{font-size:clamp(1.5rem,2.3vw,2.1rem);color:#fff;line-height:1.15;margin-bottom:10px;font-weight:700}
.tf.grande h3{font-size:clamp(1.9rem,3vw,2.6rem)}
.tf p{color:#DCE6F5;margin:0 0 18px;max-width:520px}
.tf .btn{width:fit-content}
.tf-estudia{background-image:var(--foto-estudiante)}
.tf-asesor{background-image:var(--foto-asesor)}
.tf-titulo{background-image:var(--foto-titulacion)}

/* Franja de confianza */
.confianza{background:var(--celeste);padding:26px 0}
:root[data-tema="oscuro"] .confianza{background:var(--panel-2)}
.confianza .contenedor{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.confianza .item{display:flex;gap:12px;align-items:center}
.confianza .ic{width:46px;height:46px;border-radius:50%;background:var(--marino-2);color:#fff;display:grid;place-items:center;flex:none}
.confianza b{display:block;font-family:var(--titulos);color:var(--marino);font-size:1.02rem}
:root[data-tema="oscuro"] .confianza b{color:var(--texto)}
.confianza span{font-size:.86rem;color:var(--muted)}

/* Bloques reutilizados */
.cifra{border-radius:10px;box-shadow:none}
.cifra b{color:var(--marino-2);font-family:var(--titulos)}
.comparativo .col{border-radius:10px}
.comparativo .nuestro{background:var(--celeste);border:2px solid var(--marino-2);box-shadow:none}
:root[data-tema="oscuro"] .comparativo .nuestro{background:var(--primary-50)}
.barras-modulo.modular i:nth-child(1){background:var(--marino-2)}.barras-modulo.modular i:nth-child(2){background:var(--azul)}.barras-modulo.modular i:nth-child(3){background:#5B9BFF}.barras-modulo.modular i:nth-child(4){background:var(--amarillo)}
.beneficio{border-radius:10px}
.beneficio .ic{border-radius:10px}
.seccion.oscura{background:var(--marino)}
.seccion.oscura .eyebrow{color:var(--amarillo)}
.paso{border-radius:10px}.paso::before{background:var(--amarillo);color:var(--marino-osc);border-radius:8px}
.programa-card{border-radius:10px}
.programa-card .portada{background:linear-gradient(rgba(6,28,64,.45),rgba(6,28,64,.88)),var(--foto-programa,var(--foto-estudiante)) center/cover!important}
.programa-card .datos-programa{margin-top:auto}
.programa-card .portada svg.deco{display:none}
.datos-programa b{color:var(--marino-2);font-family:var(--titulos)}
:root[data-tema="oscuro"] .datos-programa b{color:var(--primary)}
.check-lista .ico{color:var(--azul)}
.faq details{border-radius:8px}
.faq summary{font-family:var(--titulos);font-weight:600}
.faq summary::after{color:var(--azul)}
.form-informes{border-radius:12px}
.cabecera-sitio{background:linear-gradient(90deg,rgba(10,42,94,.97) 40%,rgba(10,42,94,.7)),var(--foto-portada) right center/cover,var(--marino)}
.cabecera-sitio p{color:#D4E0F3}.cabecera-sitio .eyebrow{color:var(--amarillo)}.cabecera-sitio a{color:#D4E0F3!important}
.mapa-sitio .cuat{border-radius:10px}.mapa-sitio .cuat h4{color:var(--azul)}
.req{border-radius:10px}.req .ic{background:var(--celeste);color:var(--marino-2);border-radius:10px}
.valor-card{border-radius:10px}

/* RVOE */
.tabla-rvoe{width:100%;border-collapse:collapse;background:var(--panel);border-radius:10px;overflow:hidden;border:1px solid var(--borde)}
.tabla-rvoe th{background:var(--marino-2);color:#fff;text-align:left;padding:12px 16px;font-family:var(--titulos);font-weight:600;font-size:.9rem}
.tabla-rvoe td{padding:14px 16px;border-top:1px solid var(--borde)}

/* Pie */
.pie-sitio{background:var(--marino-osc);color:#B8C8E2}
.pie-sitio h4{font-family:var(--titulos)}.pie-sitio a,.pie-sitio span{color:#B8C8E2}.pie-sitio a:hover{color:var(--amarillo)}
.pie-legal{color:#7F98C2}

/* WhatsApp con etiqueta */
.whatsapp{width:auto;height:auto;border-radius:999px;padding:12px 20px 12px 14px;display:flex;gap:10px;align-items:center;color:#fff;font-weight:700;font-family:var(--titulos);text-decoration:none!important;left:22px;right:auto;box-shadow:0 10px 26px rgba(37,211,102,.4)}
.whatsapp:hover{transform:translateY(-2px)}

@media (max-width:1100px){.utilidades .ocultable{display:none}}
@media (max-width:980px){
  .portada-sitio .contenedor{grid-template-columns:1fr;min-height:0}
  .portada-sitio .foto{width:100%;opacity:.4}.portada-sitio .foto::after{background:rgba(10,42,94,.5)}
  .registro{justify-self:stretch;max-width:none}
  .tarjetas-foto{grid-template-columns:1fr}.tf.grande{grid-row:auto;min-height:380px}
  .confianza .contenedor{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .utilidades .izq a:not(:first-child){display:none}.utilidades .der{gap:12px}
  .puntos{grid-template-columns:1fr}.confianza .contenedor{grid-template-columns:1fr}
  .aviso-sup{font-size:.8rem;padding:8px 36px}
  .whatsapp span{display:none}.whatsapp{padding:14px}
  .tf{padding:22px;min-height:260px}
}
.pub-nav{gap:18px}
.pub-nav .links a{white-space:nowrap;padding:8px 10px}
.pub-nav .acciones .btn{white-space:nowrap}
@media (max-width:1280px){.pub-nav .acciones .sec span{display:none}}
.salir-lateral{margin:auto 0 0}.salir-lateral button{width:100%;background:none;border:0;font:inherit;font-weight:600;cursor:pointer;text-align:left}
.salir-lateral button:hover{background:rgba(255,255,255,.08)}
.sidebar .salir-lateral + .pie{margin-top:10px}
.boton-salir{display:inline-flex}
@media (max-width:600px){.boton-salir span{display:none}}

/* Ajustes de revisión: rejillas que no se desbordan en pantallas chicas */
.cab-programa{display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:center}
.g-main>*,.g-2>*,.g-3>*,.g-4>*{min-width:0}
@media (max-width:1100px){.g-main{grid-template-columns:minmax(0,1fr)}}
@media (max-width:980px){.cab-programa{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){.g-2,.g-3{grid-template-columns:minmax(0,1fr)}.cab-programa .g-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cifra b{overflow-wrap:anywhere}
@media (max-width:900px){
  .app{background:none}
  .g-2,.g-3{grid-template-columns:minmax(0,1fr)}.cab-programa .g-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pub-nav.abierto .links a{display:block}
}
.doc-oficial{overflow-x:auto;max-width:100%}@media (max-width:600px){.doc-oficial{padding:18px}}@media print{.doc-oficial{overflow:visible}}
.cabecera-sitio a.btn{color:inherit!important}.cabecera-sitio a.btn.oro{color:var(--marino-osc)!important}.cabecera-sitio a.btn.sec{color:var(--marino-2)!important}

/* =========================================================================
   Portada dinámica
   ========================================================================= */
.carrusel{position:relative;background:var(--marino);color:#fff;overflow:hidden;min-height:640px}
.diapos{position:absolute;inset:0}
.diapo{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s}
.diapo::before{content:"";position:absolute;inset:-2%;background:var(--img) center/cover,var(--marino);transform:scale(1.02)}
.diapo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,28,64,.94) 0%,rgba(6,28,64,.78) 38%,rgba(6,28,64,.25) 70%,rgba(6,28,64,.45) 100%)}
.diapo.activa{opacity:1;visibility:visible}
.diapo.activa::before{animation:acercar 9s ease-out forwards}
@keyframes acercar{from{transform:scale(1.02)}to{transform:scale(1.12)}}
.diapo .contenedor{position:relative;z-index:1;height:100%;display:flex;align-items:center}
.diapo .texto{max-width:600px;padding:70px 0 110px}
.diapo .texto>*{opacity:0;transform:translateY(22px)}
.diapo.activa .texto>*{animation:subir .8s cubic-bezier(.2,.8,.2,1) forwards}
.diapo.activa .texto>*:nth-child(2){animation-delay:.12s}.diapo.activa .texto>*:nth-child(3){animation-delay:.24s}.diapo.activa .texto>*:nth-child(4){animation-delay:.36s}
@keyframes subir{to{opacity:1;transform:none}}
.carrusel h1,.carrusel .h1{font-family:var(--titulos);font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1.08;color:#fff;margin:20px 0 16px;font-weight:800}
.carrusel h1 span,.carrusel .h1 span{color:var(--amarillo)}
.carrusel .lead{font-size:1.12rem;color:#D4E0F3;margin:0}
.carrusel .hero-ctas{margin:26px 0 0}
.capa-form{position:relative;z-index:2;display:flex;justify-content:flex-end;align-items:center;min-height:640px;pointer-events:none}
.capa-form .registro{pointer-events:auto}
.controles{position:absolute;left:0;right:0;bottom:26px;z-index:3;display:flex;align-items:center;gap:14px;pointer-events:none}
.controles>*{pointer-events:auto}
.flecha{width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);background:rgba(6,28,64,.35);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.2s}
.flecha:hover{background:#fff;color:var(--marino)}
.puntos-c{display:flex;gap:8px}
.puntos-c button{width:46px;height:5px;border:0;border-radius:3px;background:rgba(255,255,255,.3);padding:0;cursor:pointer;overflow:hidden}
.puntos-c button i{display:block;height:100%;width:0;background:var(--amarillo)}
.puntos-c button.activo i{animation:llenar var(--dur,7s) linear forwards}
.carrusel.pausa .puntos-c button.activo i{animation-play-state:paused}
@keyframes llenar{to{width:100%}}
.inicio-flotante{position:absolute;right:max(6vw,calc((100vw - 1240px)/2 + 6vw));bottom:26px;z-index:3;background:var(--amarillo);color:var(--marino-osc);font-family:var(--titulos);font-weight:800;text-transform:uppercase;padding:10px 16px;border-radius:6px;line-height:1.15;font-size:.95rem}
.inicio-flotante small{display:block;text-transform:none;font-weight:600;font-size:.78rem}
.registro{animation:entrar .9s .3s cubic-bezier(.2,.8,.2,1) both}
@keyframes entrar{from{opacity:0;transform:translateX(30px)}}

/* Pestañas con fotos que cambian */
.camino{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.pestanas{display:inline-flex;gap:6px;background:var(--celeste);padding:6px;border-radius:10px;margin:14px 0 22px}
:root[data-tema="oscuro"] .pestanas{background:var(--panel-2)}
.pestanas button{border:0;background:none;font:600 .95rem var(--titulos);color:var(--marino-2);padding:10px 16px;border-radius:7px;cursor:pointer;display:flex;gap:8px;align-items:center;transition:.2s}
:root[data-tema="oscuro"] .pestanas button{color:var(--texto)}
.pestanas button.activo{background:var(--marino-2);color:#fff;box-shadow:0 6px 16px rgba(13,54,119,.3)}
.panel-p{display:none}.panel-p.activo{display:block;animation:subir .5s both}
.panel-p h3{font-size:1.4rem;color:var(--marino)}
:root[data-tema="oscuro"] .panel-p h3{color:var(--texto)}
.fotos-camino{position:relative;aspect-ratio:4/3.4;border-radius:16px}
.fc{position:absolute;inset:0;border-radius:16px;background:var(--img) center/cover,var(--marino-2);opacity:0;transform:scale(.96) rotate(-1.5deg);transition:opacity .7s,transform .7s;box-shadow:0 30px 60px rgba(10,42,94,.25)}
.fc.activo{opacity:1;transform:none}
.fotos-camino::before{content:"";position:absolute;inset:24px -24px -24px 24px;border-radius:16px;background:var(--amarillo)}
.sello-flot{position:absolute;left:-26px;bottom:34px;background:#fff;color:var(--marino);border-radius:12px;padding:12px 16px;display:flex;gap:10px;align-items:center;box-shadow:0 16px 40px rgba(10,42,94,.25);animation:flotar 5s ease-in-out infinite}
.sello-flot .ico{color:var(--azul)}.sello-flot b{display:block;font-family:var(--titulos)}.sello-flot span{font-size:.8rem;color:var(--muted)}
@keyframes flotar{50%{transform:translateY(-8px)}}

/* Cifras animadas */
.cifras-anim{background:var(--marino);color:#fff;padding:40px 0;position:relative;overflow:hidden}
.cifras-anim::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 200px at 10% 0,rgba(22,96,214,.45),transparent 70%),radial-gradient(500px 200px at 90% 100%,rgba(255,199,44,.18),transparent 70%)}
.cifras-anim .contenedor{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:20px;text-align:center}
.cifras-anim b{display:block;font-family:var(--titulos);font-size:2.6rem;font-weight:800;color:var(--amarillo);line-height:1.1}
.cifras-anim span{color:#C9D7EE;font-size:.92rem}
.tf{transition:transform .3s,box-shadow .3s}.tf:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(10,42,94,.25)}

/* Galería en movimiento */
.galeria-sec{padding:84px 0 70px;overflow:hidden}
.galeria{margin-top:34px;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.galeria .pista{display:flex;gap:16px;width:max-content;animation:desliza 50s linear infinite}
.galeria:hover .pista{animation-play-state:paused}
.galeria figure{margin:0;width:300px;height:380px;border-radius:14px;background:var(--img) center/cover,var(--marino-2);flex:none;transition:transform .4s}
.galeria figure:nth-child(even){height:320px;margin-top:30px}
.galeria figure:hover{transform:scale(1.04)}
@keyframes desliza{to{transform:translateX(calc(-50% - 8px))}}

/* Simulador */
.simulador{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.sim-resultado{margin:18px 0 22px;padding:18px 20px;border-radius:12px;background:var(--celeste);border-left:5px solid var(--amarillo)}
:root[data-tema="oscuro"] .sim-resultado{background:var(--panel-2)}
.sim-resultado span{display:block;color:var(--muted);font-size:.9rem}.sim-resultado b{font-family:var(--titulos);font-size:1.8rem;color:var(--marino);display:block}
:root[data-tema="oscuro"] .sim-resultado b{color:var(--texto)}
.sim-resultado small{color:var(--muted)}
.sim-ruta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sim-c{border:1px solid var(--borde);border-radius:10px;padding:14px;background:var(--panel);opacity:0;transform:translateY(12px);animation:subir .45s forwards}
.sim-c b{font-family:var(--titulos);color:var(--marino-2);display:block}
:root[data-tema="oscuro"] .sim-c b{color:var(--primary)}
.sim-c span{font-size:.82rem;color:var(--muted)}
.sim-c .mods{display:flex;gap:3px;margin-top:8px}.sim-c .mods i{flex:1;height:6px;border-radius:2px;background:var(--azul)}
.sim-c.final{background:var(--marino-2);border-color:var(--marino-2)}.sim-c.final b,.sim-c.final span{color:#fff}.sim-c.final .mods i{background:var(--amarillo)}

@media (max-width:980px){
  .carrusel{min-height:0}.diapos{position:relative;height:560px}.capa-form{min-height:0;padding:24px 6vw 30px;justify-content:stretch}.capa-form .registro{max-width:none}
  .controles{top:500px;bottom:auto}.inicio-flotante{display:none}
  .diapo::after{background:linear-gradient(180deg,rgba(6,28,64,.55),rgba(6,28,64,.92))}
  .camino,.simulador{grid-template-columns:minmax(0,1fr)}.fotos-camino{max-width:520px;width:100%;margin:10px auto 0}
  .cifras-anim .contenedor{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:600px){
  .diapos{height:600px}.controles{top:540px}.diapo .texto{padding:40px 0 90px}
  .cifras-anim .contenedor{grid-template-columns:repeat(2,1fr)}.cifras-anim b{font-size:2rem}
  .galeria figure{width:220px;height:280px}.galeria figure:nth-child(even){height:240px}
  .sim-ruta{grid-template-columns:repeat(2,1fr)}.sello-flot{left:8px}.fotos-camino::before{inset:14px -10px -14px 14px}
  .pestanas button{padding:9px 10px;font-size:.88rem}
}
@media (prefers-reduced-motion:reduce){.diapo.activa::before,.galeria .pista,.sello-flot{animation:none}}
.cinta-inicio{background:var(--amarillo);color:var(--marino-osc);font:700 .85rem var(--titulos);padding:8px 16px;display:flex;gap:8px;align-items:center;justify-content:center}
.prog-dest{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.15fr;border:1px solid var(--borde);border-radius:14px;overflow:hidden;background:var(--panel);color:inherit;text-decoration:none!important;box-shadow:var(--sombra);transition:transform .3s,box-shadow .3s}
.prog-dest:hover{transform:translateY(-4px);box-shadow:var(--sombra-hover)}
.prog-dest .foto{position:relative;min-height:340px;background:var(--img) center/cover,var(--marino-2);overflow:hidden}
.prog-dest .foto .badge{position:absolute;left:16px;top:16px;background:var(--amarillo);color:var(--marino-osc);border:0}
.prog-dest .info{padding:30px;display:flex;flex-direction:column;gap:14px}
.prog-dest h3{font-size:1.7rem;color:var(--marino);margin:0}
:root[data-tema="oscuro"] .prog-dest h3{color:var(--texto)}
.prog-dest .datos-programa{grid-template-columns:repeat(4,1fr)}
.campo-lab{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.88rem}
.prog-dest .btn{width:fit-content;margin-top:auto}
@media (max-width:760px){.prog-dest{grid-template-columns:1fr}.prog-dest .foto{min-height:220px}.prog-dest .datos-programa{grid-template-columns:repeat(2,1fr)}}
.sidebar .marca img.logo-lateral{width:210px;height:auto;max-width:100%}
.pub-logo img{height:66px}
@media (max-width:600px){.pub-logo img{height:48px}}
.pie-sitio img[alt="INEDIG"]{height:64px!important}
/* Logotipo: a color sobre fondos claros; sobre fondos oscuros, logo-blanco.svg (mismas letras, subtítulo blanco) */
.pub-logo .logo-oscuro{display:none}
[data-tema="oscuro"] .pub-logo .logo-claro{display:none}[data-tema="oscuro"] .pub-logo .logo-oscuro{display:inline-block}

/* Encabezado del sitio: entre 981 y 1180 px los enlaces no caben y desbordaban la página; se usa el menú compacto */
@media (max-width:1180px){
  .pub-nav .links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--panel);padding:12px 6vw;border-bottom:1px solid var(--borde);box-shadow:var(--sombra-hover)}
  .pub-nav.abierto .links{display:flex}.menu-movil{display:inline-grid}.pub-nav .acciones .sec span{display:none}.pub-nav .acciones{margin-left:auto}
}

/* Menú «Oferta educativa» con submenú Licenciatura / Maestría (mismas fuentes y colores que los demás enlaces) */
.menu-oferta{position:relative;display:flex}
.pub-nav .boton-oferta{display:inline-flex;align-items:center;gap:4px;font-family:var(--titulos);font-weight:500;font-size:.95rem;color:var(--texto);background:none;border:0;padding:8px 10px;border-radius:6px;cursor:pointer;white-space:nowrap}
.pub-nav .boton-oferta:hover{background:var(--celeste);color:var(--marino-2)}
.pub-nav .boton-oferta.activo{background:none;color:var(--azul);box-shadow:inset 0 -2px 0 var(--azul);border-radius:0}
:root[data-tema="oscuro"] .pub-nav .boton-oferta:hover{background:var(--primary-50);color:#fff}
.menu-oferta .submenu a.activo{box-shadow:none;background:var(--celeste);border-radius:6px}
.menu-oferta .submenu{display:none;position:absolute;top:100%;left:0;min-width:190px;padding:8px;background:var(--panel);border:1px solid var(--borde);border-radius:12px;box-shadow:var(--sombra-hover);z-index:60;flex-direction:column;gap:2px}
.menu-oferta:hover .submenu,.menu-oferta:focus-within .submenu,.menu-oferta.abierto .submenu{display:flex}
@media (max-width:1180px){
  .menu-oferta{flex-direction:column;align-items:center;padding-bottom:8px;margin-bottom:6px;border-bottom:1px solid var(--borde)}
  .pub-nav .boton-oferta,.pub-nav .boton-oferta.activo{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);background:none!important;box-shadow:none;padding:6px 10px;cursor:default;pointer-events:none}
  .pub-nav .boton-oferta svg{display:none}
  .menu-oferta .submenu{display:flex;position:static;border:0;box-shadow:none;padding:0;min-width:0;background:none;align-items:center}
}

/* Documentos legales: aviso de privacidad y términos (lectura cómoda, mismos colores del sitio) */
.documento-legal{max-width:860px;font-size:1rem;line-height:1.75;color:var(--texto)}
.documento-legal h2{font-size:1.3rem;margin:36px 0 10px;scroll-margin-top:110px}
.documento-legal p,.documento-legal li{text-align:justify;hyphens:none;-webkit-hyphens:none}
.documento-legal ul,.documento-legal ol{padding-left:22px}.documento-legal li{margin:6px 0}
.indice-legal{background:var(--bg);border:1px solid var(--borde);border-radius:10px;padding:16px 20px;margin-bottom:10px}
.indice-legal ol{columns:2;column-gap:28px;margin:8px 0 0;padding-left:20px}.indice-legal li{margin:3px 0;text-align:left}
.nota-legal{margin-top:34px}
.aviso-simplificado{font-size:.78rem;line-height:1.45;color:var(--muted);margin:6px 0 12px}
.aviso-simplificado a{color:inherit;text-decoration:underline}
@media (max-width:640px){.indice-legal ol{columns:1}.documento-legal p,.documento-legal li{text-align:left}}
