/* Shared navigation, including page-specific styles that used to force menus open. */
.site-header[data-site-navigation] { z-index: 40; }
[data-site-navigation] .nav-shell { width: min(1400px, calc(100% - 48px)); min-height: 76px; gap: 20px; flex-wrap: nowrap; }
[data-site-navigation] .brand { flex-shrink: 0; }
[data-site-navigation] .menu-button { display: none; flex-shrink: 0; min-width: 88px; min-height: 44px; }
[data-site-navigation] .top-nav { display: flex; position: static; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 2px; margin: 0 0 0 auto; padding: 0; border: 0; background: transparent; box-shadow: none; }
[data-site-navigation] .top-nav a { padding: 11px 10px; font-size: .84rem; }
[data-site-navigation] .top-nav .public-account { margin-left: 10px; border: 1px solid #3c4a60; }
[data-site-navigation] a:focus-visible, [data-site-navigation] button:focus-visible { outline: 2px solid #68d6ff; outline-offset: 3px; }
@media (max-width: 1280px) {
  [data-site-navigation] .nav-shell { min-height: 68px; }
  [data-site-navigation] .menu-button { display: block; margin-left: auto; }
  [data-site-navigation] .top-nav { display: none; position: absolute; top: calc(100% + 4px); left: 0; right: 0; margin: 0; padding: 12px; background: #111e30; border: 1px solid #3c5270; border-radius: 12px; box-shadow: 0 20px 40px #0006; flex-direction: column; align-items: stretch; max-height: calc(100vh - 92px); max-height: calc(100dvh - 92px); overflow-y: auto; overscroll-behavior: contain; }
  [data-site-navigation] .top-nav.open { display: flex; }
  [data-site-navigation] .top-nav a { padding: 12px 15px; min-height: 44px; }
  [data-site-navigation] .top-nav .public-account { margin: 4px 0 0; }
}
@media (max-width: 480px) {
  [data-site-navigation] .nav-shell { width: calc(100% - 32px); gap: 12px; }
}
