/* Final public-page header and social-bar consistency layer. */
.fus-global-social-topbar {
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 9px clamp(24px, 4.2vw, 86px) !important;
  display: grid !important;
  grid-template-columns: minmax(210px, 1fr) auto minmax(300px, 1fr) !important;
  align-items: center !important;
  gap: 20px !important;
  background: #072b2e !important;
  color: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.16) !important;
  font-family: Arial, Helvetica, sans-serif !important;
}
.fus-global-social-topbar p,.fus-global-social-topbar small { margin: 0 !important; }
.fus-global-social-topbar p { display: flex !important; align-items: center !important; gap: 9px !important; color: #fff !important; font-size: 12px !important; font-weight: 800 !important; letter-spacing: .18em !important; text-transform: uppercase !important; white-space: nowrap !important; }
.fus-global-social-topbar p span { width: 11px !important; height: 11px !important; flex: 0 0 11px !important; border-radius: 50% !important; background: #a7ed3b !important; box-shadow: 0 0 0 4px rgba(167,237,59,.12) !important; }
.fus-global-social-topbar > div { display: flex !important; align-items: center !important; justify-content: center !important; gap: 9px !important; }
.fus-global-social-topbar a { min-height: 32px !important; padding: 5px 14px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 7px !important; border: 1px solid rgba(255,255,255,.32) !important; border-radius: 999px !important; background: rgba(255,255,255,.08) !important; color: #fff !important; font-size: 13px !important; font-weight: 800 !important; line-height: 1 !important; text-decoration: none !important; white-space: nowrap !important; }
.fus-global-social-topbar a:last-child { border-color: #a7ed3b !important; background: #a7ed3b !important; color: #072b2e !important; }
.fus-global-social-topbar small { justify-self: end !important; color: rgba(255,255,255,.72) !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: .12em !important; line-height: 1.3 !important; text-align: right !important; text-transform: uppercase !important; }

header.site-header {
  position: relative !important;
  inset: auto !important;
  z-index: 40 !important;
  width: 100% !important;
  min-height: 100px !important;
  height: 100px !important;
  margin: 0 !important;
  padding: 18px clamp(24px, 5vw, 102px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 32px !important;
  background: #062629 !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
}
header.site-header .brand { min-width: 280px !important; display: flex !important; align-items: center !important; gap: 15px !important; color: #fff !important; text-decoration: none !important; }
header.site-header .brand-symbol,header.site-header .brand > img { width: 42px !important; height: 52px !important; flex: 0 0 42px !important; object-fit: contain !important; }
header.site-header .brand-copy,header.site-header .brand > span { display: grid !important; gap: 2px !important; line-height: 1.1 !important; }
header.site-header .brand strong { color: #fff !important; font-family: Georgia, 'Times New Roman', serif !important; font-size: 20px !important; font-weight: 700 !important; text-transform: none !important; }
header.site-header .brand small { color: rgba(255,255,255,.75) !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: .17em !important; text-transform: uppercase !important; }
header.site-header .brand-tagline { margin-top: 5px !important; color: #fff !important; font-size: 9px !important; font-weight: 800 !important; letter-spacing: .12em !important; text-transform: uppercase !important; }
header.site-header .main-nav { margin: 0 0 0 auto !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; flex-wrap: wrap !important; gap: clamp(18px,2.2vw,34px) !important; }
header.site-header .main-nav a { width: auto !important; padding: 8px 0 !important; color: #fff !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.15 !important; text-decoration: none !important; text-transform: none !important; white-space: nowrap !important; word-break: normal !important; }
header.site-header .main-nav a:hover,header.site-header .main-nav a:focus-visible { color: #a7ed3b !important; }

@media (max-width:980px) {
  .fus-global-social-topbar { min-height:auto !important; padding:10px 18px !important; grid-template-columns:1fr auto !important; gap:8px 12px !important; }
  .fus-global-social-topbar > div { justify-content:flex-end !important; }
  .fus-global-social-topbar small { grid-column:1/-1 !important; justify-self:stretch !important; text-align:center !important; }
  header.site-header { min-height:84px !important; height:84px !important; padding:15px 18px !important; }
  header.site-header .brand { min-width:0 !important; }
  header.site-header .fus-mobile-nav-toggle { display:inline-flex !important; position:relative !important; inset:auto !important; z-index:62 !important; }
  header.site-header .main-nav { display:none !important; position:absolute !important; top:100% !important; left:0 !important; right:0 !important; z-index:60 !important; margin:0 !important; padding:18px !important; background:#041315 !important; }
  header.site-header .main-nav.fus-mobile-nav-open,header.site-header .main-nav.is-open,header.site-header.fus-mobile-nav-open .main-nav { display:grid !important; grid-template-columns:1fr !important; gap:4px !important; }
  header.site-header .main-nav a { display:block !important; padding:12px 4px !important; border-bottom:1px solid rgba(255,255,255,.12) !important; }
}
@media (max-width:620px) {
  .fus-global-social-topbar { grid-template-columns:1fr !important; }
  .fus-global-social-topbar p,.fus-global-social-topbar > div { justify-content:center !important; }
  .fus-global-social-topbar small { display:none !important; }
  header.site-header .brand strong { font-size:17px !important; }
  header.site-header .brand small,header.site-header .brand-tagline { display:none !important; }
}

/* FUS-WHOLE-WORD-NAVIGATION-20260903-V1
   Navigation containers may wrap; individual labels must remain whole. */
:where(header.site-header .main-nav,
       .site-footer > nav,
       .site-footer .fus-policy-links,
       .portal-footer nav,
       .fus-portal-policy-links) {
  flex-wrap: wrap !important;
  min-width: 0 !important;
}

:where(header.site-header .main-nav,
       .site-footer > nav,
       .site-footer .fus-policy-links,
       .portal-footer nav,
       .fus-portal-policy-links) a {
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  -webkit-hyphens: none !important;
  hyphens: none !important;
}

/* At intermediate desktop widths, wrap complete links onto a second row. */
@media (min-width: 981px) {
  .site-footer > nav[aria-label="Footer navigation"] {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px 28px !important;
  }
}

/* Mobile menus remain single-column, with intact labels. */
@media (max-width: 980px) {
  header.site-header .main-nav a,
  header.site-header .main-nav.fus-mobile-nav-open a,
  header.site-header .main-nav.is-open a {
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
  }
}

