/* HERCAR — capa autoritativa para la cabecera y navegación, v20261023-2.
   Compartida por Inicio, páginas heredadas, páginas nuevas y 404.
   No altera contenidos académicos ni configuraciones del administrador. */
:root{
  --hc-shell-max:1180px;
  --hc-shell-ink:#f8fbff;
  --hc-shell-navy:#092744;
  --hc-shell-header-left:#183f78;
  --hc-shell-header-mid:#246cb8;
  --hc-shell-header-right:#4a9dcd;
  --hc-shell-focus:#ffd47d;
}
html,body,body.hc-internal-page{margin:0!important;padding:0!important}
body,body.hc-internal-page{overflow-x:clip}
body>.utility-bar,body>.site-header{margin:0!important;clear:both}
/* Compact and flush: avoid white bars/oversized header caused by legacy CSS. */
.utility-bar,body.hc-internal-page .utility-bar{
  position:relative!important;z-index:120!important;
  min-height:40px!important;padding:0!important;margin:0!important;
  background:var(--hc-shell-navy)!important;
  border:0!important;box-shadow:none!important;
}
.utility-bar>.utility-inner,.utility-bar>.container,
body.hc-internal-page .utility-bar>.utility-inner{
  width:min(var(--hc-shell-max),calc(100% - 40px))!important;
  max-width:var(--hc-shell-max)!important;
  margin:0 auto!important;padding:0!important;
  min-height:40px!important;
  display:flex!important;align-items:center!important;
  justify-content:space-between!important;gap:20px!important;
  background:transparent!important;border:0!important;
}
.utility-bar .utility-left,.utility-bar .utility-right{
  display:flex!important;align-items:center!important;gap:17px!important;
  flex-wrap:wrap!important;margin:0!important;padding:0!important;
}
.utility-bar :is(a,span){font-family:'DM Sans',system-ui,sans-serif!important;
  font-size:.76rem!important;line-height:1.3!important;color:#e8f3fc!important}
.utility-bar a{text-decoration:none!important}
.utility-bar a:hover{text-decoration:underline!important}
.utility-bar .utility-location{opacity:.84}
.utility-bar .utility-admision,.utility-bar a.utility-admision{
  align-self:center!important;display:inline-flex!important;align-items:center!important;
  min-height:28px!important;padding:5px 14px!important;margin:0!important;
  background:#ee7959!important;color:#092744!important;
  border-radius:8px!important;font-weight:800!important;white-space:nowrap!important;
}
.utility-bar .utility-admision :is(span){color:inherit!important}
/* Header sits immediately below utility bar: no margins, spacers or offset. */
.site-header,body.hc-internal-page .site-header{
  position:sticky!important;top:0!important;z-index:110!important;
  min-height:0!important;margin:0!important;padding:0!important;
  background:linear-gradient(100deg,var(--hc-shell-header-left) 0%,var(--hc-shell-header-mid) 57%,var(--hc-shell-header-right) 100%)!important;
  color:var(--hc-shell-ink)!important;
  border-top:0!important;border-bottom:1px solid rgba(255,255,255,.15)!important;
  box-shadow:0 10px 25px rgba(7,35,68,.13)!important;
}
.site-header>.nav-inner,.site-header>.container,
body.hc-internal-page .site-header>.nav-inner{
  width:min(var(--hc-shell-max),calc(100% - 40px))!important;
  max-width:var(--hc-shell-max)!important;
  min-height:84px!important;height:auto!important;
  margin:0 auto!important;padding:5px 0!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:14px!important;flex-wrap:nowrap!important;
  background:transparent!important;border:0!important;
}
.site-header .site-brand,body.hc-internal-page .site-header .site-brand{
  display:flex!important;align-items:center!important;gap:12px!important;
  margin:0!important;padding:0!important;min-width:0!important;
  flex:0 0 auto!important;color:#fff!important;text-decoration:none!important;
}
.site-header .site-brand img,body.hc-internal-page .site-header .site-brand img{
  display:block!important;width:56px!important;height:68px!important;
  min-width:56px!important;flex:0 0 56px!important;
  box-sizing:border-box!important;margin:0!important;padding:4px!important;
  border:0!important;border-radius:10px!important;
  object-fit:contain!important;object-position:center!important;
  background:#fff!important;box-shadow:0 5px 14px rgba(3,20,41,.18)!important;
}
.site-header .site-brand>span{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important}
.site-header .site-brand strong,body.hc-internal-page .site-header .site-brand strong{
  display:block!important;margin:0!important;padding:0!important;
  color:#fff!important;font:800 .95rem/1.25 Manrope,system-ui,sans-serif!important;
  letter-spacing:0!important;white-space:normal!important;
}
.site-header .site-brand small,body.hc-internal-page .site-header .site-brand small{
  display:block!important;max-width:208px!important;margin:0!important;
  color:#e2eef9!important;font:500 .65rem/1.38 'DM Sans',system-ui,sans-serif!important;
}
.site-header .main-navigation,body.hc-internal-page .site-header .main-navigation{
  position:static!important;display:flex!important;align-items:center!important;
  justify-content:flex-end!important;gap:2px!important;flex:1 1 auto!important;
  min-width:0!important;margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
.site-header .main-navigation .nav-top-item{position:relative!important;margin:0!important;padding:0!important}
.site-header .main-navigation .nav-anchor.nav-top-item,
.site-header .main-navigation .nav-top-item>summary,
body.hc-internal-page .site-header .main-navigation .nav-anchor.nav-top-item,
body.hc-internal-page .site-header .main-navigation .nav-top-item>summary{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:auto!important;min-height:74px!important;height:auto!important;
  margin:0!important;padding:0 clamp(7px,.8vw,12px)!important;
  color:#fff!important;font:750 clamp(.76rem,.85vw,.88rem)/1.2 Manrope,system-ui,sans-serif!important;
  white-space:nowrap!important;background:transparent!important;text-decoration:none!important;
}
.site-header .main-navigation .nav-top-item>summary{cursor:pointer!important;list-style:none!important}
.site-header .main-navigation .nav-anchor.nav-top-item:hover,
.site-header .main-navigation .nav-top-item>summary:hover,
.site-header .main-navigation .nav-top-item[open]>summary{color:#fff1d2!important;background:rgba(255,255,255,.07)!important}
.site-header .nav-dropdown:not([open])>.dropdown-panel{display:none!important}
.site-header .nav-dropdown[open]>.dropdown-panel{display:block!important}
.site-header .main-navigation .dropdown-panel,
body.hc-internal-page .site-header .main-navigation .dropdown-panel{
  position:absolute!important;top:calc(100% - 2px)!important;
  left:0;right:auto;margin:0!important;padding:12px!important;
  width:max-content;min-width:min(330px,calc(100vw - 28px))!important;
  max-width:min(430px,calc(100vw - 28px))!important;
  border:1px solid rgba(255,255,255,.16)!important;border-left:3px solid #f3ca78!important;
  border-radius:15px!important;background:#092e56!important;
  box-shadow:0 20px 44px rgba(4,24,47,.3)!important;
}
.site-header .main-navigation .dropdown-panel>a{
  min-height:48px!important;display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;align-items:center!important;
  gap:10px!important;margin:0!important;padding:8px 10px!important;
  text-decoration:none!important;white-space:normal!important;
}
.site-header .main-navigation .dropdown-panel>a:hover{background:rgba(255,255,255,.1)!important}
.site-header .main-navigation .dropdown-panel>a strong{font-size:.79rem!important;line-height:1.3!important}
.site-header .main-navigation .dropdown-panel>a small{font-size:.66rem!important;line-height:1.35!important}
.site-header .menu-orb{display:grid!important;place-items:center!important;
  width:28px!important;height:28px!important;min-width:28px!important;
  border-radius:9px!important;background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.4)!important;color:#fff!important;box-shadow:none!important;
}
.site-header .menu-orb .ds-icon,.site-header .menu-orb svg{width:16px!important;height:16px!important;stroke:currentColor!important}
.site-header .mobile-nav-toggle,body.hc-internal-page .site-header .mobile-nav-toggle{display:none!important}
:where(.utility-bar a,.site-header a,.site-header summary,.site-header button):focus-visible{outline:3px solid var(--hc-shell-focus)!important;outline-offset:3px!important}
@media(max-width:1180px){
  .site-header .main-navigation .nav-anchor.nav-top-item,
  .site-header .main-navigation .nav-top-item>summary{padding:0 7px!important;font-size:.76rem!important}
  .site-header .site-brand small{max-width:170px!important}
}
@media(max-width:1080px){
  .site-header>.nav-inner,body.hc-internal-page .site-header>.nav-inner{min-height:76px!important;padding:6px 0!important}
  .site-header .site-brand img,body.hc-internal-page .site-header .site-brand img{width:51px!important;height:61px!important;min-width:51px!important;flex-basis:51px!important}
  .site-header .mobile-nav-toggle,body.hc-internal-page .site-header .mobile-nav-toggle{
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    gap:5px!important;width:46px!important;height:44px!important;margin-left:auto!important;padding:8px!important;
    border:1px solid rgba(255,255,255,.48)!important;border-radius:12px!important;
    background:rgba(255,255,255,.1)!important;cursor:pointer!important;
  }
  .site-header .mobile-nav-toggle span{display:block!important;width:24px!important;height:2px!important;margin:0!important;border-radius:2px!important;background:#fff!important}
  .site-header .main-navigation,body.hc-internal-page .site-header .main-navigation{
    position:absolute!important;top:100%!important;left:0!important;right:0!important;
    display:none!important;flex-direction:column!important;align-items:stretch!important;
    width:100%!important;max-height:calc(100dvh - 94px)!important;overflow-y:auto!important;
    padding:12px max(20px,calc((100vw - 1020px)/2)) 18px!important;
    background:#103c72!important;box-shadow:0 18px 35px rgba(2,19,39,.26)!important;
  }
  .site-header .main-navigation.is-open,body.hc-internal-page .site-header .main-navigation.is-open{display:flex!important}
  .site-header .main-navigation .nav-anchor.nav-top-item,
  .site-header .main-navigation .nav-top-item>summary{width:100%!important;min-height:46px!important;justify-content:flex-start!important;padding:10px 12px!important;font-size:.94rem!important}
  .site-header .main-navigation .dropdown-panel,
  body.hc-internal-page .site-header .main-navigation .dropdown-panel{
    position:static!important;top:auto!important;left:auto!important;right:auto!important;
    width:100%!important;min-width:0!important;max-width:none!important;
    margin:2px 0 10px!important;padding:6px!important;border-radius:10px!important;
    background:rgba(0,14,32,.3)!important;box-shadow:none!important;
  }
  .site-header .main-navigation .dropdown-panel>a{min-height:44px!important}
}
@media(max-width:700px){
  .utility-bar>.utility-inner,.utility-bar>.container{width:calc(100% - 24px)!important;min-height:34px!important;gap:6px!important}
  .utility-bar .utility-left,.utility-bar .utility-right{gap:8px!important}
  .utility-bar :is(a,span){font-size:.67rem!important}
  .utility-bar .utility-location,.utility-bar .utility-right>a:not(.utility-admision){display:none!important}
  .site-header>.nav-inner,body.hc-internal-page .site-header>.nav-inner{width:calc(100% - 24px)!important}
  .site-header .site-brand strong{font-size:.84rem!important}
  .site-header .site-brand small{display:none!important}
  .site-header .site-brand img,body.hc-internal-page .site-header .site-brand img{width:45px!important;height:55px!important;min-width:45px!important;flex-basis:45px!important}
}
@media(prefers-reduced-motion:reduce){.site-header *, .utility-bar *{animation:none!important;transition:none!important}}

/* Estados de publicación: no presentan como disponible un PDF inexistente. */
body.hc-internal-page .btn-cv-pending{display:inline-block;padding:10px 11px;background:#eef3f8;color:#46627a;border:1px solid #c8d8e7;font-size:.79rem;font-weight:750;cursor:not-allowed;opacity:.88;white-space:normal;}


/* Accessibilidad: el acceso directo no debe crear una banda visible en el diseño.
   Solo aparece al navegar mediante Tab, como exige un skip-link accesible. */
a.skip-link:not(:focus-visible) {
  position: fixed !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  left: -100vw !important;
  top: -100vh !important;
}
a.skip-link:focus-visible {
  position: fixed !important;
  top: 12px !important;
  left: 12px !important;
  width: auto !important;
  height: auto !important;
  padding: 12px 18px !important;
  margin: 0 !important;
  border: 2px solid #f1bf55 !important;
  border-radius: 10px !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  background: #082e56 !important;
  color: #fff !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.25) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  z-index: 99999 !important;
}
