/* Global Impact — shared main navigation (client structure 2026-10-09). Layered over each page's own .nav styles. */
.nav .brand { text-transform: uppercase; }
.navlinks a, .navlinks .sub-toggle { border-bottom: 1px solid transparent; white-space: nowrap; }
.navlinks a[aria-current="page"], .navlinks .has-sub[aria-current="page"] > .sub-toggle { opacity: 1; border-bottom-color: currentColor; }

/* Expansion ▾ */
.navlinks .has-sub { position: relative; display: inline-flex; align-items: center; }
.navlinks .sub-toggle { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; font: inherit; color: inherit; opacity: .82; padding: 15px 0; margin: -15px 0; border-bottom: 1px solid transparent; }
.navlinks .sub-toggle:hover, .navlinks .has-sub:hover > .sub-toggle, .navlinks .has-sub.open > .sub-toggle { opacity: 1; }
.navlinks .sub-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.navlinks .caret { width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor; opacity: .85; transition: transform .18s ease; }
.navlinks .has-sub:hover .caret, .navlinks .has-sub.open .caret, .navlinks .has-sub:focus-within .caret { transform: rotate(180deg); }
.navlinks .has-sub::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 18px; } /* hover bridge to the panel */
.navlinks .sub { position: absolute; top: calc(100% + 18px); left: -48px; min-width: 460px; display: none; flex-direction: column; padding: 6px 48px 10px; background: #0d1620; color: #fff; z-index: 70; border: 1px solid rgba(255,255,255,.07); box-shadow: 0 28px 70px rgba(0,0,0,.4); }
.navlinks .has-sub:hover > .sub, .navlinks .has-sub.open > .sub, .navlinks .has-sub:focus-within > .sub { display: flex; }
.navlinks .sub a { display: block; margin: 0; padding: 24px 0; font-size: 19px; font-weight: 500; letter-spacing: 0; color: #fff; opacity: 1; border-bottom: 0; border-top: 1px solid rgba(255,255,255,.12); white-space: normal; }
.navlinks .sub a:first-child { border-top: 0; }
.navlinks .sub a:hover { opacity: .75; }
.navlinks .sub a[aria-current="page"] { border-bottom: 0; text-decoration: underline; text-underline-offset: 6px; }
/* the light (cream) nav on the About page keeps the dark panel readable */
.nav.solid .navlinks .sub, body.gi-about .navlinks .sub { background: #0d1620; }

/* One bar, one logo (Boss 2026-10-12): every page had its own nav geometry and brand size — pinned here.
   !important because several page sheets pin their own values with !important. */
.nav { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; width: 100% !important; height: 78px !important;
  padding: 0 clamp(20px, 4vw, 72px) !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; box-sizing: border-box !important;
  display: flex !important; align-items: center !important; }
body.admin-bar .nav { margin-top: 32px !important; }
.nav .brand { font-size: 20px !important; font-weight: 750 !important; letter-spacing: .03em !important; text-transform: uppercase !important;
  line-height: 1 !important; margin: 0 auto 0 0 !important; padding: 0 !important; min-height: 44px; display: inline-flex !important; align-items: center !important; white-space: nowrap; }
.nav .brand span { font-weight: 400 !important; opacity: .7 !important; margin-left: .22em; }
@media (max-width: 760px) {
  .nav { height: 64px !important; padding: 0 20px !important; }
  .nav .brand { font-size: 16px !important; }
  body.admin-bar .nav { margin-top: 46px !important; }
}
/* links + CTA sized identically on every page too */
.navlinks > a, .navlinks .sub-toggle { font-size: 14px !important; font-weight: 500 !important; letter-spacing: 0 !important; }
.nav-cta, .nav .cta { font-size: 13px !important; font-weight: 700 !important; padding: 14px 19px !important; min-height: 44px !important; box-sizing: border-box !important; }
.nav-cta, .nav .cta { display: inline-flex !important; align-items: center !important; gap: 14px !important; line-height: 1 !important; height: 44px !important; }
.nav-cta span, .nav .cta span { line-height: 1 !important; font-size: inherit !important; margin: 0 !important; }
