/* Four focused pages; line wrapping accommodates enlarged text without clipping. */
.header-inner {
  flex-wrap: wrap;
}
.site-header nav {
  max-width: 100%;
  margin-left: auto;
}
.site-header #primaryNavigation {
  flex-wrap: wrap;
  justify-content: flex-end;
}
.site-header #primaryNavigation a[aria-current="page"] {
  text-decoration: underline;
  text-decoration-color: #1b7982;
  text-underline-offset: 0.45em;
}
.capability-footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 26px;
  padding-top: 22px;
  font-size: 0.8125rem;
}
.capability-footer-nav a {
  padding-block: 6px;
}
@media (max-width: 800px) {
  .site-header #primaryNavigation.is-open {
    justify-content: flex-start;
  }
}

/* Direct navigation can wrap at enlarged text sizes. Anchors clear its real height. */
section[id],
[id="mainContent"],
[id="disciplines"] {
  scroll-margin-top: calc(var(--site-header-height, 76px) + 24px);
}

/* Light, shared navigation keeps the natural media bright across all pages. */
.site-header {
  background: #fffffff5;
  color: var(--ink);
  border-bottom: 1px solid #d4dbcf;
  backdrop-filter: blur(14px);
}
.site-header .button {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}
.site-header .button:hover {
  background: #184a4d;
}
.site-header ul {
  gap: 22px;
}
@media (min-width: 801px) {
  .site-header li > a:not(.button) {
    font-size: 0.77rem;
  }
  .header-inner {
    gap: 18px;
  }
  .site-header .button-small {
    font-size: 0.74rem;
    padding-inline: 14px;
    gap: 12px;
  }
}
@media (max-width: 800px) {
  .js .site-header .mobile-nav-toggle {
    color: var(--ink);
    border-color: #acb9a6;
  }
  .site-header #primaryNavigation {
    background: #ffffff;
    color: var(--ink);
    border-color: #d4dbcf;
  }
}

/* Native anchors stay visible when no script can measure a wrapped header. */
html:not(.js) .site-header {
  position: relative;
}
