/* Shared front-end header. Olivero owns navigation, search and sticky behavior. */
body .site-header {
  --site-header-height-wide: 96px;
  --header-height-wide-when-fixed: 96px;
  --odin-header-ink: #edf6ff;
  font-family: "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;
}
body .site-header .site-header__inner {
  background: linear-gradient(110deg, #003D7B 0%, #242477 52%, #3d0577 100%);
  border-bottom: 1px solid #386482;
  box-shadow: 0 8px 28px #081c321a;
}
body .site-header .site-header__inner::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px;
  height: 2px;
  background: linear-gradient(90deg, transparent 8%, #38b7d4 45%, #81b5ff 75%, transparent);
  pointer-events: none;
}
body .site-header .site-header__initial,
body .site-header .sticky-header-toggle { background: #003D7B; }
body .site-header .site-branding {
  background: transparent;
  align-items: center;
  min-height: 80px;
  min-width: 0;
  padding-block: 12px;
}
body .site-header .site-branding__inner { gap: 14px; }
body .site-header .site-branding__logo img { max-height: 48px; }
body .site-header .site-branding__name {
  color: var(--odin-header-ink);
  font-size: clamp(1rem, 1.6vw, 1.3rem);
  line-height: 1.45;
  font-weight: 650;
  letter-spacing: -.015em;
}
body .site-header .site-branding__name a { color: inherit; }
body .site-header .site-branding__slogan { color: #b6cfe3; }
body .site-header :where(a, button, input):focus-visible { outline: 2px solid #38a9d5; outline-offset: 4px; }
body .site-header .mobile-nav-button { color: #eff8ff; }
body .site-header .mobile-nav-button__icon,
body .site-header .mobile-nav-button__icon::before,
body .site-header .mobile-nav-button__icon::after { border-top-color: #b8e8ff; }
body .site-header .mobile-nav-button[aria-expanded="true"] { color: #102c46; }
body .site-header .mobile-nav-button[aria-expanded="true"] .mobile-nav-button__icon { border-top-color: transparent; }
body .site-header .mobile-nav-button[aria-expanded="true"] .mobile-nav-button__icon::before,
body .site-header .mobile-nav-button[aria-expanded="true"] .mobile-nav-button__icon::after { border-top-color: #102c46; }
@media (min-width: 75rem) {
  body:not(.is-always-mobile-nav) .site-header .primary-nav__button-toggle .icon--menu-toggle {
    background-color: transparent;
    color: #edf6ff;
  }
  body:not(.is-always-mobile-nav) .site-header .site-branding { min-height: 96px; padding-block: 0; }
  body:not(.is-always-mobile-nav) .site-header .sticky-header-toggle { height: 96px; }
  body:not(.is-always-mobile-nav) .site-header .site-header__fixable.is-fixed { inset-block-start: var(--drupal-displace-offset-top, 0px); }
  body:not(.is-always-mobile-nav) .site-header .header-nav { background: transparent; }
  body:not(.is-always-mobile-nav) .site-header .primary-nav__menu-link--level-1,
  body:not(.is-always-mobile-nav) .site-header .primary-nav__button-toggle,
  body:not(.is-always-mobile-nav) .site-header .block-search-wide__button { color: #edf6ff; }
  body:not(.is-always-mobile-nav) .site-header .primary-nav__menu-link-inner--level-1 { padding-block: 34px; font-weight: 500; letter-spacing: .08em; }
  body:not(.is-always-mobile-nav) .site-header .primary-nav__menu-link--level-1:hover,
  body:not(.is-always-mobile-nav) .site-header .primary-nav__menu-link--active-trail { color: #8bdef5; }
  body:not(.is-always-mobile-nav) .site-header .primary-nav__menu-link-inner::after { border-color: #63cee8; border-top-width: 2px; }
  body:not(.is-always-mobile-nav) .site-header .primary-nav__menu--level-2 {
    border-top: 2px solid #51b7d4;
    border-radius: 10px;
    padding: 18px 24px;
    background: #fff;
    box-shadow: 0 16px 40px #071c3430;
  }
  body:not(.is-always-mobile-nav) .site-header .primary-nav__menu-link--level-2 { color: #17364f; }
  body:not(.is-always-mobile-nav) .site-header .block-search-wide__button { height: 64px; border-radius: 10px; }
  body:not(.is-always-mobile-nav) .site-header .block-search-wide__button:hover { background: #ffffff0d; }
  body:not(.is-always-mobile-nav) .site-header .secondary-nav::before { height: 24px; width: 1px; background: #ffffff2e; }
  body:not(.is-always-mobile-nav) .site-header .secondary-nav__menu-link { color: #edf6ff; }
  body:not(.is-always-mobile-nav) .site-header .secondary-nav__menu-link[href$="/user/login"] {
    min-height: 42px;
    padding: 8px 22px;
    border: 1px solid #72bedb;
    border-radius: 8px;
    background: #163e59;
    color: #f5fbff;
  }
  body:not(.is-always-mobile-nav) .site-header .secondary-nav__menu-link[href$="/user/login"]:hover { background: #205371; }
  body:not(.is-always-mobile-nav) .site-header .secondary-nav__menu-link[href$="/user/login"]::after { content: none; }
}
@media (max-width: 31.24rem) {
  body .site-header .site-branding { min-height: 72px; padding-inline-end: 12px; margin-inline-end: 10px; }
  body .site-header .site-branding__inner { gap: 10px; }
  body .site-header .site-branding__logo img { max-height: 36px; }
  body .site-header .site-branding__name { font-size: .95rem; max-width: 195px; }
}
@media (prefers-reduced-motion: reduce) {
  body .site-header .site-header__inner { transition: none; }
}

