/* Keep the mobile menu compact and separate from floating page controls. */
@media (max-width:1150px) {
  html.navigation-open { overflow:hidden; overscroll-behavior:none; }
  html.navigation-open body {
    position:fixed;
    top:var(--navigation-scroll-top,0px);
    left:0;
    width:100%;
    padding-top:var(--navigation-header-height,77px);
  }
  html.navigation-open .site-header { position:fixed; top:0; left:0; right:0; }
  html.navigation-open body::before {
    content:"";
    position:fixed;
    inset:0;
    z-index:49;
    background:rgb(7 26 49 / 35%);
  }
  html.navigation-open #hira-dock,
  html.navigation-open #back-to-top { display:none; }
  .primary-nav {
    gap:0;
    justify-content:flex-start;
    max-height:calc(100dvh - var(--navigation-bottom,77px) - var(--privacy-banner-space,0px));
    padding-block:6px max(20px,env(safe-area-inset-bottom,0px));
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }
  .primary-nav > *, .primary-nav .mega-toggle { flex-shrink:0; }
  .primary-nav .nav-link {
    min-height:52px;
    padding-block:14px;
    font-size:15px;
    line-height:24px;
  }
  .primary-nav .nav-demo {
    min-height:48px;
    margin-top:16px;
    padding:12px 16px;
    font-size:14px;
  }
  .primary-nav .mega-menu { margin-block:4px 10px; }
  .primary-nav .mega-heading { padding:16px; }
  .primary-nav .mega-grid { padding:12px 16px; }
  .primary-nav .group-toggle { min-height:44px; }
}
