/* One crawlable navigation, with a disclosure on compact screens. */
.site-header .menu-toggle[hidden], .site-header nav[hidden] { display: none; }
.site-header nav { align-items: center; }
.menu-backdrop { display: none; }
.menu-toggle { background: white; color: var(--ink); border: 1px solid var(--line); border-radius: 0; width: 44px; min-width: 44px; height: 44px; padding: 10px; font-size: 1rem; line-height: 1.5; }
.menu-toggle:hover { color: var(--brand); background: var(--surface); }
.menu-toggle svg { width: 22px; height: 22px; flex: none; }
.menu-toggle path { transform-origin: 12px 12px; }
.menu-toggle[aria-expanded="true"] .menu-top { transform: translateY(6px) rotate(45deg); transform-origin: 12px 6px; }
.menu-toggle[aria-expanded="true"] .menu-middle { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-bottom { transform: translateY(-6px) rotate(-45deg); transform-origin: 12px 18px; }
@media (max-width: 800px) {
  html.mobile-menu-open, html.mobile-menu-open body { overflow: hidden; }
  .site-header.menu-open { position: relative; z-index: 40; }
  .menu-backdrop { display: block; position: fixed; inset: 0; z-index: 30; background: rgb(20 24 30 / .22); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 180ms ease, visibility 180ms ease; }
  .mobile-menu-open .menu-backdrop { opacity: 1; visibility: visible; pointer-events: auto; }
  .site-header .header-inner { min-height: 76px; padding-top: 12px; padding-bottom: 12px; gap: 12px; justify-content: space-between; flex-wrap: wrap; position: relative; }
  .site-header .original-logo { width: 190px; height: 36px; }
  .site-header .original-logo img { width: 190px; top: -24px; }
  .site-header .menu-toggle { margin-left: auto; }
  .site-header nav { width: 100%; margin: 0; align-items: stretch; flex-direction: column; gap: 0; padding: 10px 0; font-size: 1rem; }
  .site-header nav a { display: flex; align-items: center; min-height: 48px; padding: 12px 20px; }
  .site-header nav a:hover { background: var(--surface); }
  .site-header .header-search { display: flex; border: 0; border-radius: 0; font-size: 1rem; }
  .site-header.nav-ready nav { position: absolute; z-index: 20; top: 100%; left: 0; right: 0; background: white; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); box-shadow: 0 12px 22px #20212412; max-height: calc(100dvh - 76px); overflow-y: auto; overscroll-behavior: contain; }
}
@media (max-width: 359px) {
  .site-header .original-logo { width: 150px; height: 29px; }
  .site-header .original-logo img { width: 150px; top: -19px; }
}
