/* Two visible desktop rows, one full-width, grouped mobile menu. */
.site-nav-mobile { display:none; }
.site-nav-row { display:flex; align-items:center; gap:1rem; }
.site-nav-row ul,.site-menu-group ul { list-style:none; padding:0; margin:0; }
.site-nav-row ul { display:flex; align-items:stretch; flex:1; justify-content:space-between; min-width:0; }
.site-nav-row a { display:flex; align-items:center; justify-content:center; min-height:48px; padding:.6rem .5rem; color:var(--text); font-size:.82rem; font-weight:650; line-height:1.35; text-decoration:none; white-space:nowrap; border-bottom:3px solid transparent; }
.site-nav-row a:hover,.site-nav-row a:focus-visible { color:var(--accent); background:var(--raised); }
.site-nav-row a.is-current { color:var(--accent); border-bottom-color:var(--accent); }
.site-nav-secondary { border-top:1px solid var(--line); }
.site-nav-secondary a { font-size:.76rem; min-height:44px; padding-inline:.4rem; font-weight:550; }
.site-nav-search { display:flex; align-items:stretch; gap:.4rem; margin:0; min-width:0; }
.site-nav-primary .site-nav-search { flex:0 0 278px; padding-block:.4rem; }
.site-nav-search input[type="search"] { width:100%; min-width:0; margin:0; font-size:.83rem; padding:.6rem .65rem; background:var(--page); }
.site-nav-search button { flex:0 0 auto; padding:.6rem .75rem; font-size:.83rem; cursor:pointer; }
.site-nav-search:focus-within input { border-color:var(--accent); }
.site-menu-toggle,.site-search-toggle { cursor:pointer; }
.site-menu-panel[hidden] { display:none; }
@media(max-width:1279px) {
    .site-nav-desktop { display:none; }
    .site-nav-mobile { display:block; }
    .site-nav-toolbar { display:flex; align-items:center; gap:1rem; padding-block:.55rem; }
    .site-menu-toggle { display:flex; align-items:center; gap:.7rem; padding:.55rem .7rem; min-height:44px; flex:1; color:var(--text); background:transparent; text-align:left; font-weight:750; }
    .site-menu-icon { width:1.15rem; font-size:1.2rem; text-align:center; }
    .site-menu-hint { margin-left:auto; color:var(--muted); font-size:.75rem; font-weight:400; }
    .site-search-toggle { min-height:44px; padding:.55rem .8rem; color:var(--accent); background:var(--panel); font-weight:700; }
    .site-search-toggle span { font-size:1.25rem; vertical-align:middle; margin-left:.35rem; }
    .site-menu-panel { width:100%; color:var(--text); background:var(--panel); border-top:1px solid var(--line); border-bottom:3px solid var(--accent); }
    .site-menu-content { padding-block:1.15rem 1.3rem; }
    .site-menu-title { margin:0 0 .65rem; color:var(--text); font:700 1.1rem/1.4 system-ui,sans-serif; }
    .site-menu-content > .site-nav-search { max-width:640px; }
    .site-nav-search input[type="search"] { min-height:46px; font-size:1rem; }
    .site-menu-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem 2rem; margin-top:1.4rem; }
    .site-menu-group { min-width:0; }
    .site-menu-group h2 { margin:0 0 .55rem; padding-bottom:.45rem; border-bottom:1px solid var(--line); color:var(--accent); font:750 .74rem/1.4 system-ui,sans-serif; letter-spacing:.075em; text-transform:uppercase; }
    .site-menu-group ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem .6rem; }
    .site-menu-group li { min-width:0; }
    .site-menu-group a { display:flex; align-items:center; height:100%; min-height:46px; padding:.55rem .65rem; border:1px solid #343d49; border-radius:3px; color:var(--text); background:#202731; font-size:.85rem; font-weight:600; line-height:1.4; text-decoration:none; overflow-wrap:break-word; }
    .site-menu-group a:hover,.site-menu-group a:focus-visible { border-color:var(--accent); color:var(--accent); background:#29313d; }
    .site-menu-group a.is-current { border-color:var(--accent); box-shadow:inset 3px 0 var(--accent); color:var(--accent); }
    .site-menu-home { display:inline-flex; align-items:center; min-height:44px; margin-top:1rem; color:var(--muted); font-size:.8rem; }
}
@media(max-width:730px) {
    .site-menu-groups { grid-template-columns:1fr; gap:1.15rem; }
    .site-nav-toolbar,.site-menu-content { width:calc(100% - 1.75rem); }
}
@media(max-width:359px) {
    .site-menu-hint { display:none; }
    .site-menu-group ul { grid-template-columns:1fr; }
}
