/* The full menu is available at every screen size, on every page. */
.header { gap: 24px; }
.header > .brand-link { margin-right: auto; }
.desktop-nav { gap: clamp(16px, 2vw, 28px); }
.desktop-nav a[aria-current="page"] { border-color: var(--gold); }
.menu-toggle { display: flex; flex: 0 0 84px; flex-direction: row; gap: 8px; align-items: center; justify-content: center; width: 84px; height: 46px; padding: 0; border: 1px solid var(--line); background: transparent; color: var(--green); }
.menu-toggle-label { font: 500 .9375rem/1 var(--sans); white-space: nowrap; }
.menu-toggle-icon { display: flex; flex: 0 0 auto; flex-direction: column; gap: 7px; width: 21px; }
.menu-toggle-icon > span { display: block; width: 100%; height: 1px; background: currentColor; transition: transform .15s; }
.menu-toggle[aria-expanded="true"] .menu-toggle-icon > span:first-child { transform: translateY(4px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle-icon > span:last-child { transform: translateY(-4px) rotate(-45deg); }
.mobile-nav:not([hidden]) { display: flex; flex-direction: column; position: absolute; top: 100%; left: auto; right: 4%; width: min(430px, 92vw); max-height: calc(100vh - 150px); max-height: calc(100dvh - 150px); padding: 20px 30px 28px; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-gutter: stable; background: var(--paper); border: 1px solid var(--line); box-shadow: 0 16px 30px #073f3714; }
.mobile-nav-primary, .mobile-nav-policies { display: flex; flex-direction: column; flex-shrink: 0; min-width: 0; }
.mobile-nav a { display: block; min-height: 46px; padding: 11px 0; border-bottom: 1px solid var(--line); line-height: 1.5; overflow-wrap: anywhere; }
.mobile-nav a:hover, .mobile-nav a[aria-current="page"] { color: var(--blue); }
.mobile-nav a[aria-current="page"] { font-weight: 600; }
.mobile-nav-policies { margin-top: 24px; }
.mobile-nav-policies p { margin: 0 0 5px; color: var(--muted); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.mobile-nav-policies a { font-size: .875rem; }
@media (max-width: 1100px) { .desktop-nav { display: none; } }
@media (min-width: 651px) { .header-cta { display: inline-flex; } }
@media (max-width: 650px) {
  .header { gap: 12px; }
  .mobile-nav:not([hidden]) { left: 0; right: 0; width: 100%; padding: 16px 7% 26px; max-height: calc(100dvh - 220px); }
  .header-cta { display: none; }
}
