/* Shared public navigation: leave room for the dedicated production package. */
.fg-header-inner { grid-template-columns: minmax(180px, 1fr) auto minmax(90px, 1fr); gap: 24px; }
.fg-header .fg-brand { width: 220px; }
.fg-nav { gap: clamp(14px, 1.7vw, 28px); }
.fg-nav a { white-space: nowrap; }
.fg-nav a[aria-current="page"] { color: var(--fg-text); }
.fg-nav a[aria-current="page"]::after { right: 0; left: 0; }
.fg-nav .fg-nav-login { display: none; }
.fg-program-actions { flex-wrap: wrap; align-items: center; gap: 24px; }
.fg-footer nav { flex-wrap: wrap; gap: 16px 24px; }
.fg-footer-inner { grid-template-columns: minmax(200px, 1fr) minmax(0, 1.6fr) minmax(160px, 1fr); }

@media (max-width: 1180px) {
  .fg-header-inner { grid-template-columns: 1fr auto auto; width: calc(100% - 34px); min-height: 82px; gap: 20px; }
  .fg-header .fg-brand { height: 66px; }
  .fg-menu-toggle { display: grid; }
  .fg-nav { position: absolute; top: calc(100% + 1px); right: 16px; left: 16px; display: none; align-items: stretch; gap: 0; padding: 12px; border: 1px solid var(--fg-line); border-radius: 16px; background: #060b13; box-shadow: var(--fg-shadow); max-height: calc(100dvh - 100px); overflow-y: auto; }
  .reference-header.menu-open .fg-nav { display: grid; }
  .fg-nav a { padding: 14px; border-radius: 10px; }
  .fg-nav a::after { display: none; }
  .fg-nav a:hover, .fg-nav a[aria-current="page"] { background: #2fa8ff14; }
  .fg-header-actions .fg-button { min-height: 44px; padding-inline: 20px; }
  /* Let the menu height follow its links instead of using fixed pixel offsets. */
  .gd-header__inner { grid-template-columns: 1fr auto; }
  .gd-menu-toggle { grid-column: 2; }
  .gd-nav, .gd-header__actions { position: static; inset: auto; grid-column: 1 / -1; width: 100%; }
  .gd-nav { grid-row: 2; }
  .gd-header__actions { grid-row: 3; margin-top: -20px; }
  .gd-header.menu-open { max-height: 100dvh; overflow-y: auto; }
  .gd-header.menu-open .gd-header__inner { padding-block: 12px; }
}
@media (max-width: 980px) {
  .fg-footer-inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 660px) {
  .fg-header-inner { grid-template-columns: 1fr auto; }
  .fg-header .fg-brand { width: 210px; height: 60px; }
  .fg-header-actions { display: none; }
  .fg-nav .fg-nav-login { display: block; color: var(--fg-teal); }
  .fg-program-actions { flex-direction: column; align-items: stretch; text-align: center; }
  .fg-footer-inner { grid-template-columns: 1fr; }
}
