

nav .nav-links{gap:1.15rem}
nav .nav-links > li{position:relative;list-style:none}
nav .sub-btn{font-family:var(--display);font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:none;border:0;padding:.25rem 0;cursor:pointer;color:var(--navy);display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}
nav .sub-btn::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
nav .has-sub.abierto .sub-btn::after{transform:rotate(-135deg) translateY(-1px)}
nav .sub-btn:hover{color:var(--gold)}
nav .sub{display:none;position:absolute;top:100%;left:-1rem;min-width:330px;background:#fff;border-top:3px solid var(--gold);box-shadow:0 18px 40px rgba(6,28,61,.18);padding:.5rem 0;margin:0;list-style:none;z-index:120}
nav .has-sub.abierto .sub{display:block}
nav .sub li{list-style:none}
nav .sub a{display:block;padding:.65rem 1.2rem;text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;color:var(--navy)!important;white-space:normal;line-height:1.35}
nav .sub a:hover,nav .sub a:focus-visible{background:#F6F8FB;color:var(--navy)!important}
nav .sub .sub-todas a{border-top:1px solid #E2E7EE;color:var(--gold-ink,#7A5C1E)!important;font-size:13px}
nav .idioma [role=group]{display:flex;align-items:center;gap:.35rem}
nav .idioma a{padding:.2rem .15rem;font-size:12.5px;color:#455166}
nav .idioma a[aria-current="true"]{color:var(--navy);font-weight:800;border-bottom:2px solid var(--gold)}
nav .idioma span[aria-hidden]{font-size:12px;color:#455166}
nav .nav-cta{background:var(--gold);color:var(--navy)!important;padding:.55rem 1.1rem;border-radius:2px}
nav .nav-cta:hover{background:var(--gold-2)}
nav .nav-campus{border:1px solid currentColor;padding:.4rem .8rem;border-radius:2px;font-size:11.5px!important;opacity:.85;color:var(--navy)}
nav .nav-campus:hover{opacity:1}
nav.home-nav:not(.solida) .sub-btn,nav.home-nav:not(.solida) .idioma a,nav.home-nav:not(.solida) .idioma span[aria-hidden],nav.home-nav:not(.solida) .nav-campus{color:#E8EDF5}
nav.home-nav:not(.solida) .sub-btn:hover{color:var(--gold-2)}
nav a:focus-visible,nav button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:1180px){
  nav .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:1.4rem 1.5rem;box-shadow:0 14px 30px rgba(6,28,61,.15);gap:1rem;flex-wrap:wrap;max-height:calc(100vh - 70px);overflow:auto}
  nav .nav-links.abierto{display:flex}
  nav .nav-links a{color:var(--navy)!important}
  nav .nav-toggle{display:block;border-color:var(--navy);color:var(--navy)}
  nav .logo-navy{display:block}
  nav .logo-blanco{display:none}
  nav .nav-links > li{width:100%}
  nav .sub-btn{width:100%;justify-content:space-between;color:var(--navy)!important;padding:.35rem 0}
  nav .sub{position:static;display:none;box-shadow:none;border-top:0;border-left:3px solid var(--gold);margin:.4rem 0 0 .2rem;padding:0;min-width:0}
  nav .has-sub.abierto .sub{display:block}
  nav .sub a{padding:.55rem 1rem}
  nav .nav-cta{display:block;text-align:center}
  nav .nav-campus{display:inline-block}
  nav .idioma a{color:var(--navy)}
}
nav .nav-logo{flex-shrink:0}
nav .nav-logo img{width:auto;max-width:none;height:38px}
nav .nav-inner{gap:1.2rem}
nav .nav-links{gap:.85rem;flex-wrap:nowrap}
nav .nav-links a,nav .sub-btn{font-size:12px;letter-spacing:.02em}
nav .nav-cta{padding:.5rem .85rem}
nav .nav-campus{padding:.35rem .6rem;font-size:11px!important}
@media(max-width:1180px){nav .nav-links a,nav .sub-btn{font-size:13px}}

nav .sub li a{display:flex;flex-direction:column;gap:2px}
nav .sub li a small{font-size:11.5px;font-weight:500;letter-spacing:0;text-transform:none;color:#5C6674}
nav .sub li.sub-todas a{flex-direction:row}
nav .nav-inner{max-width:1400px}
@media(min-width:1181px) and (max-width:1400px){nav .nav-inner{gap:.8rem;padding-left:16px;padding-right:16px}nav .nav-logo img{height:32px}nav .nav-links{gap:.5rem}nav .nav-links a,nav .sub-btn{font-size:11.5px;letter-spacing:.015em}nav .nav-cta{padding:.45rem .7rem}nav .nav-campus{padding:.35rem .5rem}}


.datos-prog a,.faq-prog a,.prof-prog a{color:var(--navy);border-bottom:1px solid var(--gold);text-decoration:none}
.perfil-grid>*{min-width:0}
.tabla-form{display:block;overflow-x:auto;max-width:100%}
.hero h1{max-width:21ch}
.tres-ejes{display:grid;grid-template-columns:1fr;gap:1.3rem;margin:1.6rem 0 0}
.eje{border-left:3px solid var(--gold);padding:.1rem 0 .1rem 1.1rem}
.eje h3{font-family:var(--display);font-size:.9rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:.3rem}
.eje p{font-size:15.5px;margin:0}
.flujo{list-style:none;margin:2.2rem 0 0;padding:0;display:grid;gap:0;counter-reset:f}
.flujo li{counter-increment:f;position:relative;padding:1.1rem 1.2rem 1.1rem 4.2rem;border:1px solid var(--line);border-top:3px solid var(--gold);background:#fff;margin-top:-1px}
.flujo li::before{content:counter(f);position:absolute;left:1.2rem;top:50%;transform:translateY(-50%);width:2.1rem;height:2.1rem;border-radius:50%;border:2px solid var(--gold);color:var(--navy);font-family:var(--display);font-weight:800;display:flex;align-items:center;justify-content:center}
.flujo strong{display:block;font-family:var(--display);color:var(--navy);font-size:.98rem;letter-spacing:.02em}
.flujo span{color:var(--gray);font-size:14.5px}
@media(min-width:960px){
  .flujo{grid-template-columns:repeat(5,1fr);gap:0}
  .flujo li{padding:3.6rem 1.1rem 1.3rem;margin:0 -1px 0 0}
  .flujo li::before{left:1.1rem;top:1.1rem;transform:none}
  .flujo li:not(:last-child)::after{content:"";position:absolute;right:-8px;top:2.15rem;width:14px;height:14px;border-top:2px solid var(--gold);border-right:2px solid var(--gold);transform:rotate(45deg);background:#fff;z-index:2}
}
.modelo-lista{margin:1.8rem 0 0;padding:0;list-style:none;display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));color:var(--gray)}
.modelo-lista li{padding-left:1.3rem;position:relative;font-size:15.5px}
.modelo-lista li::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:2px;background:var(--gold);transform:rotate(-35deg)}
.areas-ed{margin-top:1rem}
.area-ed{display:grid;gap:.6rem 3rem;padding:2.2rem 0;border-top:1px solid var(--line)}
.area-ed:last-child{border-bottom:1px solid var(--line)}
.area-ed .num{font-family:var(--display);font-weight:800;font-size:clamp(2.6rem,6vw,4.4rem);line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--gold)}
.area-ed h3{font-size:clamp(1.25rem,2.4vw,1.7rem);font-weight:700;line-height:1.2}
.area-ed p{max-width:58ch;font-size:1.05rem}
@media(min-width:900px){.area-ed{grid-template-columns:150px 1.1fr 1fr;align-items:start}}
.card .meta-prog{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.25rem;font-size:14px;color:var(--gray)}
.card .meta-prog strong{color:var(--navy)}
.card .dirigido{font-size:14.5px;margin-top:.8rem;color:var(--gray)}
.card .dirigido strong{color:var(--navy)}
.card a.btn-card{display:inline-block;margin-top:1.4rem;align-self:flex-start;background:var(--navy);color:#fff;padding:.8rem 1.4rem;border-radius:2px}
.card a.btn-card:hover{background:var(--gold);color:var(--navy)}
.facultad .prof .prof-info{padding:1.2rem 1.3rem 1.5rem}
.facultad .prof .tag-prog2{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--gold-2);margin-bottom:.5rem}
.facultad .prof .prof-nombre{font-family:var(--display);font-size:1.08rem;font-weight:700;line-height:1.25;margin:0 0 .4rem;color:#fff}
.facultad .prof .cred{font-size:13px;display:block;color:var(--gold-2);margin-bottom:.4rem;font-weight:bold}
.facultad .prof .rol,.facultad .prof .espec{font-size:13.5px;color:#C7D3E2;margin:.2rem 0}
.facultad .prof .espec strong{color:#fff}
.prof-enlace{display:inline-block;margin-top:.8rem;font-family:var(--display);font-weight:700;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold-2);text-decoration:none;border-bottom:2px solid var(--gold)}
.facultad .grid-fac{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.sede-panel{background:linear-gradient(150deg,var(--navy),var(--navy-2));color:#fff;display:flex;flex-direction:column;justify-content:center;padding:3rem 3.2rem;position:relative;overflow:hidden}
.sede-panel::before{content:"";position:absolute;top:0;bottom:0;right:-60px;width:140px;background:var(--gold);transform:skewX(-14deg);opacity:.9}
.sede-panel .grande{font-family:var(--display);font-weight:800;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05;position:relative;max-width:12ch}
.sede-panel .peq{margin-top:1.2rem;color:#C7D3E2;font-family:var(--mono);font-size:13.5px;position:relative}
.sede-reg{margin-top:1.4rem;font-size:.97rem;max-width:56ch}
.sede-reg a{color:var(--gold-2)}
.campus-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.6rem;margin-top:2rem}
.campus-items div{border-top:3px solid var(--gold);padding-top:.9rem}
.campus-items h3{font-size:1.02rem;font-weight:700;margin-bottom:.4rem}
.campus-items p{font-size:15px}
.skip-link{position:absolute;left:-9999px;top:.5rem;background:var(--navy);color:#fff;padding:.7rem 1rem;z-index:300;border-radius:3px}
.skip-link:focus{left:.5rem}
.datos-prog{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.2rem 2rem;margin:0;padding:1.6rem 0 0;border-top:2px solid var(--navy)}
.datos-prog div dt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--gold);text-transform:uppercase;font-weight:bold}
.datos-prog div dd{margin:.15rem 0 0;font-weight:600;color:var(--navy)}
.datos-prog small{display:block;font-weight:400;color:var(--gray);font-size:13.5px}
.lista-obj{margin:1.2rem 0 0;padding-left:1.2rem;display:grid;gap:.6rem}
.lista-obj li{padding-left:.3rem}
.faq-prog details{border-bottom:1px solid var(--line);padding:.2rem 0}
.faq-prog summary{cursor:pointer;font-family:var(--display);font-weight:700;color:var(--navy);padding:1rem 0}
.faq-prog details p{padding:0 0 1.1rem;font-size:15.5px;max-width:70ch}
.cta-doble{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:1.4rem}
.cta-doble .btn-sec{background:transparent;border:1.5px solid #fff;color:#fff}
.cta-doble .btn-sec:hover{background:#fff;color:var(--navy)}


.sede-foto{margin:0;position:relative;display:flex;flex-direction:column;background:var(--navy);min-height:100%}
.sede-foto img{width:100%;height:100%;min-height:340px;max-height:520px;object-fit:cover;display:block;flex:1}
.sede-foto figcaption{font-size:13px;color:#C7D3E2;padding:.7rem 1rem;border-top:3px solid var(--gold);background:var(--navy)}
.sede-aviso{position:absolute;top:12px;left:12px;background:#B8944F;color:#061C3D;font:700 11px var(--display);padding:.35rem .6rem;letter-spacing:.04em;text-transform:uppercase}
.sede-dir{font-family:var(--mono);font-size:13.5px;color:#C7D3E2;margin-top:1rem}
.sede-foto .sede-panel{min-height:340px;flex:1}
.convocatoria{background:#fff;padding:3.2rem 0}
.conv-caja{border:1px solid #D7DFEA;border-left:6px solid var(--gold);padding:2.2rem 2.4rem;display:grid;gap:1.6rem;align-items:center;grid-template-columns:1fr}
@media(min-width:900px){.conv-caja{grid-template-columns:1.8fr auto}}
.conv-caja h2{margin:.2rem 0 .8rem}
.conv-caja p{max-width:64ch}
.conv-fecha{font-weight:700;margin-top:.8rem;font-size:14.5px}
.campus-acceso{margin-top:2.2rem;display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.campus-acceso p{margin:0;font-size:14.5px;color:#455166}
.nota-passport{max-width:860px;margin:2rem auto 0;padding:1rem 1.3rem;border-left:4px solid var(--gold);background:rgba(184,148,79,.08);font-size:14.5px}

.sec-eyebrow{color:#7A5C1E}
.facultad .sec-eyebrow,.sede-texto .sec-eyebrow,.franja .sec-eyebrow{color:var(--gold-2)}
details>summary>code,.datos-prog div dt,.tabla-form th,.nodo .fase,.perfil-tag,.perfil-tag a,.card .codigo,.prof-prog .cred2,.prof-info .gancho,.prof-info .cred,.firma span,#grid-fac .prof-info>a{color:#7A5C1E!important}
.facultad .prof .prof-info .cred{color:var(--gold-2)!important}
details>summary>.sec-tag,.sec-tag{color:#5C6674!important}
.tarjeta-mv .en-orig{color:#5C6674}
.tabla-sc:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.area-ed .num{color:#8A6B2D!important;-webkit-text-stroke:0!important;opacity:.9}


.gf{display:grid;gap:1.1rem;max-width:720px;color:var(--gray,#455166)}
.gf-nota{font-size:13.5px;margin:0}
.gf-fila{display:grid;gap:1.1rem}
@media(min-width:640px){.gf-fila{grid-template-columns:1fr 1fr}}
.gf-campo label,.gf-consent label{display:block;font-family:var(--display);font-weight:700;font-size:13px;color:var(--navy);margin-bottom:.35rem}
.gf-consent label{font-family:var(--body);font-weight:400;font-size:14.5px;margin:0;line-height:1.5}
.gf-campo input,.gf-campo select,.gf-campo textarea{width:100%;font:inherit;font-size:15.5px;color:var(--navy);background:#fff;border:1.5px solid #8794A6;border-radius:3px;padding:.7rem .85rem}
.gf-campo input:focus,.gf-campo select:focus,.gf-campo textarea:focus{outline:3px solid var(--gold);outline-offset:1px;border-color:var(--navy)}
.gf [aria-invalid="true"]{border-color:#B3261E!important;background:#FFF8F7}
.gf-error{color:#B3261E;font-size:13.5px;margin:.3rem 0 0;font-weight:600}
.gf-consent{display:grid;grid-template-columns:22px 1fr;gap:.7rem;align-items:start}
.gf-consent input{width:20px;height:20px;margin-top:.15rem}
.gf-trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.gf-boton{font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.03em;text-transform:uppercase;background:var(--gold);color:var(--navy);border:0;border-radius:2px;padding:.95rem 1.9rem;cursor:pointer}
.gf-boton:hover{background:var(--gold-2)}
.gf-boton[disabled]{opacity:.65;cursor:progress}
.gf-resumen,.gf-estado{padding:.9rem 1.1rem;border-radius:3px;font-size:15px;border-left:4px solid}
.gf-resumen{background:#FFF1F0;border-color:#B3261E;color:#7A1812}
.gf-estado.ok{background:#EAF6EE;border-color:#2E6B3E;color:#1E4A2B}
.gf-estado.error{background:#FFF1F0;border-color:#B3261E;color:#7A1812}
.gf-contacto{font-size:14px;margin:0}
.gf--oscuro{color:#DCE3EE}
.gf--oscuro .gf-campo label,.gf--oscuro .gf-consent label{color:#fff}
.gf--oscuro .gf-contacto a,.gf--oscuro .gf-consent a{color:#fff}
.gf--oscuro .gf-resumen,.gf--oscuro .gf-estado.error{background:#FFF1F0}

.gf-error{min-height:1.35em;margin:.25rem 0 0}
.gf-error[hidden]{display:block!important;visibility:hidden}
.gf-consent+.gf-consent{margin-top:.2rem}
.gm{margin:auto;border:0;border-radius:4px;padding:0;width:min(640px,calc(100% - 2rem));max-height:calc(100vh - 2rem);overflow:auto;box-shadow:0 30px 80px rgba(6,28,61,.45);color:var(--navy)}
.gm::backdrop{background:rgba(6,28,61,.72)}
.gm-cab{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem 1.6rem .4rem}
.gm-cab h2{font-size:1.35rem;margin:0}
.gm-cerrar{background:none;border:1px solid #C9D3E2;border-radius:2px;font-size:22px;line-height:1;width:40px;height:40px;cursor:pointer;color:var(--navy)}
.gm-cerrar:hover{background:#eef2f8}
.gm-intro{padding:0 1.6rem;font-size:14.5px;color:#455166}
.gm .gf{padding:1rem 1.6rem 1.6rem}
.gm .gf-fila{grid-template-columns:1fr}
@media(min-width:620px){.gm .gf-fila{grid-template-columns:1fr 1fr}}
.gf-estado a{color:inherit;font-weight:700}
