/* Shared sticky navigation behavior for all project pages. */

:root {
  --sticky-global-header-height: 76px;
  --sticky-program-menu-height: 66px;
}

html {
  scroll-padding-top: 140px;
}

body {
  overflow-x: hidden;
}

.page,
.module-page {
  overflow: visible !important;
}

.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 5000 !important;
  border-bottom: 1px solid rgba(23, 27, 33, 0.075) !important;
  background: rgba(250, 251, 252, 0.84) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.72) inset !important;
  font-family: "Manrope", Arial, sans-serif;
}

.site-header-inner {
  min-height: var(--sticky-global-header-height, 76px) !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 22px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.brand {
  color: var(--blue-deep, #0b2a4f) !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.nav-links {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.nav-links::-webkit-scrollbar {
  display: none;
}

.nav-links a {
  min-height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  padding: 9px 12px !important;
  color: var(--muted-strong, #424c58) !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
  white-space: nowrap !important;
}

.nav-links a:hover,
.nav-links a.is-active {
  border-color: var(--line-strong, rgba(21, 63, 114, 0.22)) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  color: var(--blue, #153f72) !important;
}

.page-nav {
  position: sticky !important;
  top: var(--sticky-global-header-height, 76px) !important;
  z-index: 4990 !important;
}

.program-sticky-menu {
  position: sticky !important;
  top: var(--global-header-height, var(--sticky-global-header-height, 76px)) !important;
  z-index: 4990 !important;
}

.module-local-nav {
  position: sticky !important;
  top: calc(var(--global-header-height, var(--sticky-global-header-height, 76px)) + var(--sticky-program-menu-height, 66px)) !important;
  z-index: 4980 !important;
}

@media (max-width: 860px) {
  :root {
    --sticky-global-header-height: 76px;
  }
}

@media (max-width: 760px) {
  :root {
    --sticky-program-menu-height: 84px;
  }
}
