.site-menu-panel { display: contents; }
.site-menu-toggle[hidden], .site-menu-panel[hidden] { display: none; }
.site-menu-toggle {
  min-height: 44px; padding: 7px 12px; border: 2px solid #0b3a52;
  border-radius: 999px; background: #fff; color: #0b3a52;
  font: 700 14px var(--kaku, sans-serif); cursor: pointer;
}
.site-menu-toggle:focus-visible { outline: 3px solid #18aee2; outline-offset: 3px; }
.site-menu-toggle[aria-expanded="true"] { background: #e4f5fc; }
@media (min-width: 641px) {
  .site-header-ready .top-nav { justify-content: flex-start; }
}
@media (max-width: 640px) {
  .site-header-ready .topbar-inner {
    flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 8px;
    padding: 10px 12px;
  }
  .site-header-ready .logo { flex-shrink: 0; white-space: nowrap; font-size: 20px; gap: 6px; }
  .site-header-ready .logo .pin { width: 24px; height: 24px; flex-shrink: 0; }
  .site-header-ready .top-nav { flex-wrap: nowrap; gap: 6px; justify-content: flex-end; }
  .site-header-ready .top-nav > a { flex: none; min-height: 44px; padding: 7px 10px; font-size: 14px; }
  .site-header-ready .nav-search-long { display: none; }
  .site-header-ready .nav-search-short { display: inline; }
  .site-header-ready .site-menu-panel:not([hidden]) {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px;
    position: absolute; top: 100%; left: 0; right: 0; padding: 14px 12px;
    background: #fff; border-bottom: 3px solid #0b3a52; box-shadow: 0 6px 10px #0002;
  }
  .site-header-ready .site-menu-panel a { min-width: 0; min-height: 44px; justify-content: center; }
}
@media (max-width: 359px) {
  .site-header-ready .logo { font-size: 17px; }
  .site-header-ready .logo .pin { display: none; }
  .site-header-ready .top-nav { gap: 4px; }
  .site-header-ready .site-menu-toggle { padding-inline: 8px; }
}
