/* Shared institutional navigation. Links remain available without JavaScript. */
.institutional-header.site-header {
  gap: clamp(24px, 2.8vw, 48px);
  z-index: 30;
}
.institutional-header .brand { font-size: clamp(36px, 3.25vw, 44px); }
.institutional-header .institutional-navigation {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  gap: 24px;
}
.institutional-header .institutional-nav {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #c5cfe5;
  font-size: 13px;
}
.institutional-header .nav-group { position: relative; }
.institutional-header .nav-label,
.institutional-header .nav-trigger {
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 44px;
  padding: 10px 12px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: inherit;
  font-size: inherit;
  font-weight: 400;
  white-space: nowrap;
}
.institutional-header .nav-label { display: flex; color: white; font-weight: 500; }
.institutional-header .nav-trigger,
.institutional-header .nav-toggle { display: none; }
.institutional-header .nav-chevron {
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 160ms ease;
  flex: none;
}
.institutional-header .nav-panel {
  width: 296px;
  padding: 12px;
  border: 1px solid #334169;
  border-radius: 14px;
  background: #10103e;
  color: #dce4f6;
}
.institutional-header .nav-panel ul { list-style: none; margin: 0; padding: 0; }
.institutional-header .nav-panel a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 44px;
  padding: 11px 12px;
  border-radius: 7px;
  font-size: 12px;
  line-height: 1.5;
}
.institutional-header .nav-panel a:hover,
.institutional-header .nav-panel a:focus-visible,
.institutional-header .nav-panel a[aria-current="page"] {
  color: white;
  background: #223260;
}
.institutional-header .nav-panel a:focus-visible { outline-offset: -2px; }
.institutional-header .nav-trigger:hover,
.institutional-header .nav-trigger[aria-expanded="true"],
.institutional-header .nav-trigger[data-current="true"] { color: white; }
.institutional-header .nav-trigger[aria-expanded="true"] { background: #ffffff0d; }
.institutional-header .nav-trigger[aria-expanded="true"] .nav-chevron {
  transform: translateY(1px) rotate(225deg);
}
.institutional-header .nav-status {
  flex: none;
  max-width: 92px;
  color: #b4c4e3;
  font-size: 9px;
  line-height: 1.4;
  text-align: right;
  white-space: normal;
}
.institutional-header .nav-panel-note {
  margin: 10px 12px 5px;
  padding-top: 12px;
  border-top: 1px solid #334169;
  font-size: 10px;
  line-height: 1.65;
  color: #b4c4e3;
}
.institutional-header .header-actions { margin-left: auto; flex: none; }
.institutional-header .header-link { min-height: 48px; padding: 14px 22px; }
.institutional-header [hidden] { display: none !important; }

/* Enhanced disclosure navigation. */
.institutional-header.nav-enhanced .nav-label { display: none; }
.institutional-header.nav-enhanced .nav-trigger { display: flex; }
.institutional-header.nav-enhanced .nav-panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  box-shadow: 0 22px 54px #0005;
}
.institutional-header.nav-enhanced .nav-group:last-child .nav-panel { left: auto; right: 0; }
.institutional-header:not(.nav-enhanced) {
  position: relative;
  height: auto;
  align-items: flex-start;
  flex-wrap: wrap;
  padding-top: 24px;
  padding-bottom: 24px;
  background: #070735;
}
.institutional-header:not(.nav-enhanced) .institutional-navigation { align-items: flex-start; flex-wrap: wrap; }
.institutional-header:not(.nav-enhanced) .institutional-nav { flex-wrap: wrap; align-items: flex-start; gap: 16px; }
.institutional-header:not(.nav-enhanced) .header-actions { margin: 12px 0 0; }

@media (min-width: 981px) and (max-width: 1160px) {
  .institutional-header.site-header { gap: 24px; padding-inline: 4vw; }
  .institutional-header .institutional-navigation { gap: 16px; }
  .institutional-header .institutional-nav { gap: 0; font-size: 12px; }
  .institutional-header .nav-trigger { padding-inline: 10px; gap: 8px; }
  .institutional-header .header-link { padding-inline: 18px; font-size: 12px; }
}

@media (max-width: 980px) {
  .institutional-header.site-header { height: 80px; padding: 0 5vw; gap: 20px; }
  .institutional-header .brand { font-size: clamp(29px, 6.5vw, 36px); }
  .institutional-header.nav-enhanced .nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    min-height: 44px;
    min-width: 88px;
    margin-left: auto;
    padding: 10px 13px;
    border: 1px solid #4b547e;
    border-radius: 7px;
    background: #ffffff05;
    color: white;
    font-size: 12px;
  }
  .institutional-header .nav-toggle-lines { display: grid; gap: 5px; width: 16px; }
  .institutional-header .nav-toggle-lines::before,
  .institutional-header .nav-toggle-lines::after {
    content: "";
    display: block;
    width: 16px;
    height: 1.5px;
    background: currentColor;
    transition: transform 160ms ease;
  }
  .institutional-header .nav-toggle[aria-expanded="true"] .nav-toggle-lines::before { transform: translateY(3.25px) rotate(45deg); }
  .institutional-header .nav-toggle[aria-expanded="true"] .nav-toggle-lines::after { transform: translateY(-3.25px) rotate(-45deg); }
  .institutional-header .institutional-navigation,
  .institutional-header .institutional-nav { display: block; width: 100%; }
  .institutional-header.nav-enhanced .institutional-navigation {
    position: absolute;
    top: 80px;
    left: 0;
    max-height: calc(100vh - 80px);
    max-height: calc(100dvh - 80px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 16px 5vw 24px;
    border-top: 1px solid #334169;
    border-bottom: 1px solid #334169;
    background: #0b0b37;
    box-shadow: 0 20px 30px #0003;
  }
  .institutional-header .nav-group { border-bottom: 1px solid #2b345b; }
  .institutional-header .nav-trigger,
  .institutional-header .nav-label { width: 100%; min-height: 52px; padding: 14px 8px; font-size: 15px; }
  .institutional-header.nav-enhanced .nav-panel,
  .institutional-header .nav-panel {
    position: static;
    width: 100%;
    margin-bottom: 12px;
    padding: 4px;
    border: 0;
    border-radius: 8px;
    background: #131642;
    box-shadow: none;
  }
  .institutional-header .nav-panel a { min-height: 48px; padding: 12px 14px; font-size: 13px; }
  .institutional-header .nav-status { max-width: 100px; font-size: 10px; }
  .institutional-header .nav-panel-note { margin: 8px 14px; font-size: 11px; }
  .institutional-header .header-actions { margin: 22px 0 0; display: flex; }
  .institutional-header .header-link { width: 100%; min-height: 48px; padding: 15px 20px; font-size: 13px; }
  .institutional-header:not(.nav-enhanced) { height: auto; padding-block: 24px; }
  .institutional-header:not(.nav-enhanced) .institutional-navigation { flex-basis: 100%; }
  .institutional-header:not(.nav-enhanced) .header-actions { margin-top: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .institutional-header .nav-chevron,
  .institutional-header .nav-toggle-lines::before,
  .institutional-header .nav-toggle-lines::after { transition: none; }
}
