@media (max-width: 860px) {
  .site-header .head-inner { gap: 12px; }
  .site-header .logo { flex: 1 1 0; min-width: 0; }
  .site-header .logo img { width: 100%; max-width: 270px; object-position: left center; }
  .site-header .menu-toggle { flex: 0 0 44px; width: 44px; height: 44px; padding: 0; }
  .site-header .nav {
    max-height: calc(100vh - 60px);
    max-height: calc(100dvh - 60px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
}
