.portal-header{position:relative;z-index:20}
.portal-header #portal-nav{gap:3px;align-items:center}
.portal-header #portal-nav>a,.portal-dropdown>summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:13px 17px;border-radius:30px;color:#5b5d5b;font-size:15px;line-height:1.4;white-space:nowrap;text-decoration:none;cursor:pointer}
.portal-dropdown{position:relative}
.portal-dropdown>summary{list-style:none;margin:0;font-weight:400}
.portal-dropdown>summary::-webkit-details-marker{display:none}
.portal-dropdown>summary svg{flex-shrink:0;transition:transform .15s}
.portal-header #portal-nav>a:hover,.portal-header #portal-nav>a[aria-current=page],.portal-dropdown[open]>summary,.portal-dropdown[data-current=true]>summary{background:#005525;color:#fff}
.portal-dropdown[open]>summary svg{transform:rotate(180deg)}
.portal-submenu{position:absolute;top:100%;left:0;min-width:235px;background:#fff;padding:7px 0;box-shadow:0 12px 24px #14261b30;border:1px solid #edf0eb;z-index:30}
.portal-submenu a{display:block;font-size:14px;line-height:1.5;padding:13px 19px;color:#282e29;text-decoration:none;white-space:nowrap}
.portal-submenu a:hover,.portal-submenu a:focus-visible{background:#edf4e9;color:#07552e}
.portal-header #portal-nav .portal-login{background:#005525;color:#fff;margin-left:9px;font-size:14px}
.portal-dropdown>summary:focus-visible{outline:3px solid #95bb54;outline-offset:3px}
#institucion,#servicios{scroll-margin-top:20px}
@media(max-width:850px){
  .portal-header #portal-nav{align-items:stretch;gap:3px}
  .portal-header #portal-nav>a,.portal-dropdown>summary{min-height:46px;border-radius:6px;font-size:14px;padding:12px 14px}
  .portal-dropdown>summary{justify-content:space-between}
  .portal-submenu{position:static;min-width:0;box-shadow:none;border:0;border-left:2px solid #d4e2ce;margin:5px 12px 9px;padding:2px 0;background:#f7faf5}
  .portal-submenu a{white-space:normal;min-height:44px;padding:12px 17px;font-size:13px}
  .portal-header #portal-nav .portal-login{margin-left:0;justify-content:center;border-radius:6px}
}
@media(prefers-reduced-motion:reduce){.portal-dropdown>summary svg{transition:none}}

/* Cabecera compacta que permanece visible al desplazarse. */
.portal-header{position:sticky;top:0;z-index:50;max-width:none;min-height:80px;padding:10px 3.5vw;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(214,226,214,.65);box-shadow:0 2px 12px #143c2308}
.portal-header .portal-brand{font-size:20px;gap:10px}.portal-header .portal-brand img{width:58px;height:58px}.portal-header .portal-brand small{font-size:10px;margin-top:5px}
.portal-header #portal-nav>a,.portal-header .portal-dropdown>summary{min-height:42px;padding:10px 15px;font-size:14px}.portal-header #portal-nav .portal-login{padding:11px 18px}
#institucion,#servicios,#publicaciones{scroll-margin-top:100px}
@media(max-width:1150px) and (min-width:851px){.portal-header{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px;padding:8px 3vw}.portal-header .portal-brand{font-size:18px}.portal-header #portal-nav{flex-wrap:wrap;justify-content:center}.portal-header #portal-nav>a,.portal-header .portal-dropdown>summary{padding:9px 11px;font-size:13px}#institucion,#servicios,#publicaciones{scroll-margin-top:145px}}
@media(max-width:850px){.portal-header{min-height:70px;padding:8px 16px;gap:8px;justify-content:space-between}.portal-header .portal-brand{font-size:17px}.portal-header .portal-brand img{width:48px;height:48px}.portal-header .portal-brand small{font-size:9px}.portal-header #portal-nav.is-open{max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;background:rgba(255,255,255,.96);border-radius:6px}.portal-header #portal-nav>a,.portal-header .portal-dropdown>summary{min-height:44px}#institucion,#servicios,#publicaciones{scroll-margin-top:85px}}
@media(max-width:360px){.portal-header{padding-left:12px;padding-right:12px}.portal-header .portal-brand{font-size:14px}.portal-header .portal-brand img{width:42px;height:42px}.portal-header .portal-brand small{font-size:8px}}