/* Seamless institutional masthead shared by Education and Alliance. */
.site-header.site-header--alliance,
.education-site .site-header.site-header--education {
  --masthead-accent: #52d5dc;
  position: relative;
  z-index: 100;
  isolation: isolate;
  overflow: visible;
  color: #f7fbff;
  border: 0;
  border-bottom: 1px solid rgba(145,194,217,.25);
  background: linear-gradient(110deg,#07112b 0%,#0d1933 50%,#14233d 100%) !important;
  box-shadow: 0 10px 28px rgba(2,14,30,.16), inset 0 1px rgba(255,255,255,.055) !important;
}
.site-header.site-header--alliance::before,
.education-site .site-header.site-header--education::before {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  pointer-events: none;
  background:
    radial-gradient(circle at 84% 15%,rgba(44,102,158,.12),transparent 25%),
    linear-gradient(90deg,transparent 0 29%,rgba(36,88,126,.045) 58%,rgba(103,28,59,.045) 100%) !important;
}
.site-header.site-header--alliance::after,
.education-site .site-header.site-header--education::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: auto 0 9px 24% !important;
  height: 54px !important;
  opacity: .025;
  pointer-events: none;
  background: center / 118% 54px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80'%3E%3Cpath d='M0 43h180l28-5 24 8 22-4h100l18-4 18 7h110l20-4 26 6h86l18-5 18 5 40-2 18-28 18 53 20-27 22 4h120l20-5 26 8h150' fill='none' stroke='%2352d5dc' stroke-width='1.5'/%3E%3C/svg%3E") !important;
  animation: masthead-wave 18s ease-in-out infinite alternate;
}
.site-header.site-header--alliance .header-inner.header-inner--institutional,
.education-site .site-header.site-header--education .header-inner.education-header.header-inner--institutional {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 40px),1500px) !important;
  min-height: 112px !important;
  display: grid !important;
  grid-template-columns: minmax(310px,420px) minmax(0,1fr) !important;
  align-items: center !important;
  gap: clamp(24px,3vw,52px) !important;
}
.education-site .site-header.site-header--education .education-brand,
.site-header.site-header--alliance .allied-brand.master-brand.alliance-brand-composite {
  width: min(100%,360px) !important;
  height: 90px !important;
  min-width: 0 !important;
  display: block !important;
  overflow: hidden !important;
  margin: 0 !important;
  line-height: 0 !important;
  text-decoration: none !important;
  -webkit-mask-image: linear-gradient(90deg,#000 0 78%,rgba(0,0,0,.94) 84%,transparent 100%);
  mask-image: linear-gradient(90deg,#000 0 78%,rgba(0,0,0,.94) 84%,transparent 100%);
}
.education-site .site-header .education-brand>.education-brand-lockup,
.site-header.site-header--alliance .alliance-brand-lockup {
  position: static !important;
  display: block !important;
  width: 410px !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  object-fit: contain;
  filter: drop-shadow(0 5px 12px rgba(0,0,0,.2)) !important;
}
.site-header.site-header--alliance .alliance-brand-frame { display: block; width: 100%; overflow: hidden; }
.education-site .site-header .education-brand .education-brand-school { display: none !important; }
.site-header.site-header--alliance .allied-brand.master-brand { min-width: 0 !important; }
.site-header.site-header--alliance .header-navigation,
.education-site .site-header.site-header--education .header-navigation {
  position: relative !important;
  min-width: 0;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 1px !important;
}
.site-header .header-utility-nav,
.site-header .site-nav.site-nav--primary {
  z-index: 2;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  align-self: stretch !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.site-header .header-utility-nav {
  position: static !important;
  min-height: 34px !important;
  padding: 0 2px 2px !important;
  border-bottom: 1px solid rgba(184,214,228,.12) !important;
}
.education-site .site-header.site-header--education .header-quick-links { display: block !important; }
.education-site .site-header.site-header--education .header-utility-nav>a[href="/education/about/"],
.education-site .site-header.site-header--education .header-utility-nav>a[href="/education/catalog-and-policies/"] { display: inline-flex !important; }
.site-header .site-nav.site-nav--primary {
  position: relative !important;
  min-height: 51px;
  gap: clamp(5px,.8vw,14px) !important;
  padding: 2px 0 0 !important;
}
.site-header .header-utility-nav>a,
.site-header .header-quick-links>summary {
  min-height: 31px !important;
  padding: 0 clamp(6px,.62vw,11px) !important;
  color: rgba(224,237,245,.82) !important;
  font-size: clamp(.61rem,.66vw,.72rem) !important;
  letter-spacing: .055em !important;
}
.site-header .header-utility-nav a:hover,
.site-header .header-quick-links>summary:hover { color: #fff !important; }
.education-site .site-header .header-utility-nav .header-access-link { color: #f2d5dd !important; }
.site-header .site-nav.site-nav--primary a,
.education-site .site-header.site-header--education .site-nav.site-nav--primary a {
  min-height: 49px !important;
  padding: 0 clamp(3px,.38vw,7px) !important;
  color: rgba(247,250,255,.93) !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
  font-size: clamp(.72rem,.81vw,.88rem) !important;
  letter-spacing: .015em !important;
}
.site-header .site-nav.site-nav--primary a:hover,
.site-header .site-nav.site-nav--primary a:focus-visible,
.site-header .site-nav.site-nav--primary a[aria-current="page"] {
  color: #fff !important;
  border-bottom-color: var(--masthead-accent) !important;
  background: linear-gradient(180deg,transparent,rgba(255,255,255,.035)) !important;
}
.site-header .site-nav.site-nav--primary .nav-apply {
  min-height: 40px !important;
  margin-left: 3px;
  padding-inline: 14px !important;
  border: 1px solid rgba(220,94,126,.64) !important;
  background: rgba(112,30,57,.47) !important;
}
.site-header .header-quick-links { position: relative !important; }
.site-header .header-dropdown {
  top: calc(100% + 53px) !important;
  right: 0 !important;
  z-index: 30 !important;
  max-width: min(360px,calc(100vw - 32px)) !important;
  border: 1px solid rgba(172,206,222,.24) !important;
  background: #132640 !important;
  box-shadow: 0 20px 40px rgba(3,15,31,.25) !important;
}
.site-header .nav-submenu { background: #132640 !important; }

@keyframes masthead-wave { from { background-position: 44% center; } to { background-position: 56% center; } }

@media (max-width:1320px) {
  .site-header.site-header--alliance .header-navigation,
  .education-site .site-header.site-header--education .header-navigation { display: contents !important; }
  .site-header .header-navigation { position: static !important; }
  .site-header.site-header--alliance .header-inner.header-inner--institutional,
  .education-site .site-header.site-header--education .header-inner.education-header.header-inner--institutional {
    min-height: 94px !important;
    grid-template-columns: minmax(270px,380px) auto !important;
  }
  .site-header .header-utility-nav { display: none !important; }
  .site-header .header-inner--institutional .nav-toggle {
    display: block !important;
    justify-self: end;
    color: #fff !important;
    border: 1px solid rgba(187,216,230,.44) !important;
    background: rgba(12,40,68,.55) !important;
  }
  .education-site .site-header.site-header--education .education-brand,
  .site-header.site-header--alliance .allied-brand.master-brand.alliance-brand-composite {
    width: min(100%,350px) !important;
    height: 84px !important;
  }
  .education-site .site-header .education-brand>.education-brand-lockup,
  .site-header.site-header--alliance .alliance-brand-lockup { width: 395px !important; }
  body .site-header .site-nav.site-nav--primary {
    position: fixed !important;
    top: var(--mobile-menu-top,94px) !important;
    right: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    display: none !important;
    max-height: calc(100vh - 94px);
    overflow: auto;
    padding: 10px 16px !important;
    border-top: 1px solid rgba(141,183,204,.32) !important;
    background: #12243c !important;
    box-shadow: 0 20px 42px rgba(2,14,29,.3) !important;
  }
  body .site-header .site-nav.site-nav--primary.open { display: flex !important; flex-direction: column; align-items: stretch !important; gap: 0 !important; }
  .site-header .site-nav.site-nav--primary a { width: 100%; min-height: 45px !important; padding-inline: 12px !important; border-bottom: 1px solid rgba(197,222,235,.14) !important; }
  .site-header .site-nav.site-nav--primary .nav-group { width: 100%; display: block; }
  .site-header .site-nav.site-nav--primary .nav-submenu { display: none !important; }
}

@media (max-width:700px) {
  body .site-header .site-nav.site-nav--primary { top: var(--mobile-menu-top,76px) !important; max-height: calc(100vh - 76px); }
  .site-header.site-header--alliance .header-inner.header-inner--institutional,
  .education-site .site-header.site-header--education .header-inner.education-header.header-inner--institutional {
    width: calc(100% - 22px) !important;
    min-height: 76px !important;
    grid-template-columns: minmax(0,260px) auto !important;
    gap: 8px !important;
  }
  .education-site .site-header.site-header--education .education-brand,
  .site-header.site-header--alliance .allied-brand.master-brand.alliance-brand-composite {
    width: min(100%,230px) !important;
    height: 60px !important;
  }
  .education-site .site-header .education-brand>.education-brand-lockup,
  .site-header.site-header--alliance .alliance-brand-lockup { width: 280px !important; }
  .site-header.site-header--alliance::after,
  .education-site .site-header.site-header--education::after { left: 8% !important; opacity: .018; }
}

@media (max-width:430px) {
  .site-header.site-header--alliance .header-inner.header-inner--institutional,
  .education-site .site-header.site-header--education .header-inner.education-header.header-inner--institutional { grid-template-columns: minmax(0,225px) auto !important; }
  .education-site .site-header.site-header--education .education-brand,
  .site-header.site-header--alliance .allied-brand.master-brand.alliance-brand-composite {
    width: min(100%,205px) !important;
    height: 54px !important;
  }
  .education-site .site-header .education-brand>.education-brand-lockup,
  .site-header.site-header--alliance .alliance-brand-lockup { width: 255px !important; }
}

/* Education masthead spacing: retain the approved header and reduce only the center gap. */
@media (min-width:1101px) {
  .education-site .site-header.site-header--education .header-inner.education-header.header-inner--institutional {
    width: min(calc(100% - 120px),1420px) !important;
  }
}

/* Keep that same approved masthead on ordinary desktop widths. */
@media (min-width:1101px) and (max-width:1320px) {
  .education-site .site-header.site-header--education .header-inner.education-header.header-inner--institutional {
    min-height: 112px !important;
    grid-template-columns: minmax(310px,420px) minmax(0,1fr) !important;
    gap: clamp(24px,3vw,52px) !important;
  }
  .education-site .site-header.site-header--education .education-brand {
    width: min(100%,360px) !important;
    height: 90px !important;
  }
  .education-site .site-header.site-header--education .education-brand > .education-brand-lockup {
    width: 410px !important;
  }
  .education-site .site-header.site-header--education .header-navigation {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    width: 100% !important;
    gap: 1px !important;
  }
  .education-site .site-header.site-header--education .header-utility-nav {
    position: static !important;
    display: flex !important;
  }
  .education-site .site-header.site-header--education .header-inner--institutional .nav-toggle {
    display: none !important;
  }
  .education-site .site-header.site-header--education .site-nav.site-nav--primary {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 2px 0 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .education-site .site-header.site-header--education .site-nav.site-nav--primary > a,
  .education-site .site-header.site-header--education .site-nav.site-nav--primary > .nav-group > a {
    width: auto !important;
    min-height: 49px !important;
    padding: 0 clamp(3px,.38vw,7px) !important;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
  }
  .education-site .site-header.site-header--education .site-nav.site-nav--primary .nav-group {
    position: relative !important;
    display: flex !important;
    width: auto !important;
  }
  .education-site .site-header.site-header--education .site-nav.site-nav--primary .nav-submenu {
    position: absolute !important;
    top: calc(100% - 1px) !important;
    right: 0 !important;
    display: none !important;
    width: 230px !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .education-site .site-header.site-header--education .site-nav.site-nav--primary .nav-group:hover .nav-submenu,
  .education-site .site-header.site-header--education .site-nav.site-nav--primary .nav-group:focus-within .nav-submenu {
    display: block !important;
  }
}

/* Mobile Education navigation stays visible; no collapsed Menu control. */
@media (max-width:1100px) {
  .education-site .site-header.site-header--education .header-inner.education-header.header-inner--institutional {
    width: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 0 !important;
    padding: 8px 12px 0 !important;
  }
  .education-site .site-header.site-header--education .education-brand {
    grid-column: 1 !important;
    width: min(100%,350px) !important;
    height: 76px !important;
  }
  .education-site .site-header.site-header--education .education-brand > .education-brand-lockup {
    width: 395px !important;
  }
  .education-site .site-header.site-header--education .header-inner--institutional .nav-toggle {
    display: none !important;
  }
  .education-site .site-header.site-header--education .header-navigation {
    position: relative !important;
    min-width: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 0 !important;
  }
  .education-site .site-header.site-header--education .header-utility-nav,
  .education-site .site-header.site-header--education .site-nav.site-nav--primary {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
    background: transparent !important;
    box-shadow: none !important;
  }
  .education-site .site-header.site-header--education .header-utility-nav {
    min-height: 35px !important;
    padding: 0 0 2px !important;
    border-bottom: 1px solid rgba(184,214,228,.12) !important;
  }
  .education-site .site-header.site-header--education .header-utility-nav:has(.header-quick-links[open]) {
    z-index: 50 !important;
    overflow: visible !important;
  }
  .education-site .site-header.site-header--education .header-utility-nav:has(.header-quick-links[open]) > a {
    display: none !important;
  }
  .education-site .site-header.site-header--education .header-quick-links[open] .header-dropdown {
    position: absolute !important;
    top: 45px !important;
    right: auto !important;
    left: 0 !important;
    z-index: 1000 !important;
    width: min(280px,calc(100vw - 24px)) !important;
    max-height: calc(100vh - 145px) !important;
    overflow-y: auto !important;
  }
  .education-site .site-header.site-header--education .site-nav.site-nav--primary {
    top: auto !important;
    right: auto !important;
    left: auto !important;
    min-height: 50px !important;
    max-height: none !important;
    padding: 1px 0 0 !important;
    border: 0 !important;
    gap: 4px !important;
  }
  .education-site .site-header.site-header--education .header-utility-nav > a,
  .education-site .site-header.site-header--education .header-quick-links > summary,
  .education-site .site-header.site-header--education .site-nav.site-nav--primary > a,
  .education-site .site-header.site-header--education .site-nav.site-nav--primary > .nav-group > a {
    width: auto !important;
    min-height: 42px !important;
    flex: 0 0 auto !important;
    padding-inline: 10px !important;
    border-bottom: 2px solid transparent !important;
    white-space: nowrap !important;
  }
  .education-site .site-header.site-header--education .site-nav.site-nav--primary .nav-group {
    display: flex !important;
    width: auto !important;
    flex: 0 0 auto !important;
  }
  .education-site .site-header.site-header--education .site-nav.site-nav--primary .nav-apply {
    margin: 0 !important;
  }
  .education-site .site-header.site-header--education .site-nav.site-nav--primary .nav-submenu {
    display: none !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .site-header.site-header--alliance::after,
  .education-site .site-header.site-header--education::after { animation: none !important; }
}
