/* Site menu: hamburger button + dropdown sheet. Shared by every page. */
.menu-btn{position:relative;width:46px;height:46px;flex:none;border-radius:14px;border:1px solid var(--line-2);background:var(--surface);color:var(--text);cursor:pointer;display:grid;place-items:center;transition:transform .1s ease-out,background .2s,border-color .2s;-webkit-tap-highlight-color:transparent}
.menu-btn:hover{background:var(--surface-2)}
.menu-btn:active{transform:scale(.94)}
.menu-btn[aria-expanded="true"]{border-color:var(--gold)}
.menu-btn i{position:absolute;left:13px;right:13px;height:2px;border-radius:2px;background:currentColor;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .2s}
.menu-btn i:nth-child(1){transform:translateY(-6px)}
.menu-btn i:nth-child(3){transform:translateY(6px)}
.menu-btn[aria-expanded="true"] i:nth-child(1){transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] i:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] i:nth-child(3){transform:rotate(-45deg)}

.menu-scrim{position:fixed;inset:0;z-index:15;background:rgba(3,6,8,.5);opacity:0;pointer-events:none;transition:opacity .25s ease}
.menu-scrim.open{opacity:1;pointer-events:auto}
.menu-panel{position:fixed;z-index:41;top:calc(env(safe-area-inset-top,0px) + 80px);right:max(16px,calc((100vw - 1120px)/2 + 16px));width:min(380px,calc(100vw - 32px));
  padding:8px;border-radius:24px;border:1px solid var(--line-2);background:rgba(14,22,26,.9);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);
  box-shadow:0 30px 80px -20px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.08);
  transform-origin:top right;opacity:0;transform:translateY(-8px) scale(.96);pointer-events:none;visibility:hidden;
  transition:opacity .2s ease,transform .45s cubic-bezier(.16,1,.3,1),visibility 0s linear .45s}
.menu-panel.open{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .2s ease,transform .45s cubic-bezier(.16,1,.3,1),visibility 0s}
.menu-item{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:14px;border-radius:16px;color:var(--text);text-decoration:none;transition:background .2s,transform .1s ease-out}
.menu-item:hover,.menu-item:focus-visible{background:var(--surface-2);color:var(--text)}
.menu-item:active{transform:scale(.98)}
.menu-item .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line)}
.menu-item .ic svg{width:22px;height:22px}
.menu-item b{display:block;font-family:var(--serif);font-weight:800;font-size:1.15rem;letter-spacing:-.025em;line-height:1.15}
.menu-item small{display:block;font-size:.84rem;color:var(--muted);margin-top:2px}
.menu-item .arrow{color:var(--faint);font-size:1.1rem}
.menu-item[aria-current="page"] .ic{background:var(--gold);border-color:transparent;color:var(--gold-ink)}
.menu-item[aria-current="page"] .arrow{color:var(--gold)}
.menu-foot{padding:12px 14px 8px;font-size:.8rem;color:var(--faint);border-top:1px solid var(--line);margin-top:6px}
@media (max-width:560px){.menu-panel{top:calc(env(safe-area-inset-top,0px) + 76px)}}
@media (prefers-reduced-motion:reduce){.menu-panel,.menu-panel.open{transform:none}.menu-btn i{transition:none}}
@media (prefers-reduced-transparency:reduce){.menu-panel{background:#0E161A;backdrop-filter:none;-webkit-backdrop-filter:none}}
