/* Right-side site menu: native <dialog> panel opened from the nav "Menu" button */
.nav-right{display:flex;align-items:center;gap:10px}
.menu-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--fg);font-size:14px;cursor:pointer}
.menu-btn:hover,nav a:hover{border-color:#3a3934}
.menu-btn .bars{display:inline-grid;grid-template-rows:repeat(3,2px);gap:3px;width:14px;height:12px}.menu-btn .bars i{display:block;width:14px;height:2px;background:currentColor}
.site-menu{position:fixed;inset:0 0 0 auto;margin:0;width:min(460px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;padding:24px 28px 28px;border:0;border-left:1px solid var(--line);background:var(--ink-2);color:var(--fg);overflow-y:auto}
.site-menu[open]{display:flex;flex-direction:column;animation:menu-in .32s cubic-bezier(.2,.8,.2,1)}
.site-menu::backdrop{background:rgba(5,5,6,.66)}
@keyframes menu-in{from{transform:translateX(24px);opacity:0}}
.site-menu a{border:0;min-height:0}
.menu-head{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.menu-head a{color:var(--ink);background:var(--glow);text-decoration:none;font-size:14px;font-weight:600;padding:10px 16px;border-radius:999px;min-height:44px;display:inline-flex;align-items:center}
.menu-close{width:44px;height:44px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--fg);font-size:20px;line-height:1;cursor:pointer}
.menu-list{list-style:none;margin:40px 0 0;padding:0;display:grid;gap:4px}
.menu-list a{display:grid;grid-template-columns:28px 1fr;align-items:baseline;gap:2px 10px;padding:14px 12px;border-radius:12px;text-decoration:none}
.menu-list a:hover,.menu-list a:focus-visible{background:#1b1b1d}
.menu-list .n{grid-row:span 2;font-family:var(--mono);font-size:11px;color:var(--mute)}
.menu-list .name{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-family:"Geist",system-ui,sans-serif;font-size:30px;font-weight:500;letter-spacing:-.035em;line-height:1.2}
.menu-list .note{font-size:14px;line-height:1.5;color:#b9b8b1}
.menu-list .first .name{color:var(--glow)}
.menu-list .soon{margin-left:0;font-family:"Geist",system-ui,sans-serif;font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--glow);border:1px solid #4a4436;border-radius:999px;padding:2px 7px;vertical-align:middle}
.menu-foot{margin-top:auto;padding-top:28px;border-top:1px solid var(--line);font-size:13px;color:var(--mute);display:flex;gap:18px;flex-wrap:wrap}
.menu-foot a{text-decoration:none}
@media (max-width:480px){.site-menu{width:100vw;border-left:0;padding:20px}.nav-right{gap:8px}.menu-list .name{font-size:28px}}
@media (prefers-reduced-motion:reduce){.site-menu[open]{animation:none}}

.site-menu{font-family:"Geist",system-ui,sans-serif;overscroll-behavior:contain}.menu-btn{font-family:inherit}.menu-close{font-family:inherit}.menu-list a{min-height:88px}.site-menu a:focus-visible,.menu-btn:focus-visible,.menu-close:focus-visible{outline:2px solid var(--glow);outline-offset:4px}
html:has(.site-menu[open]){overflow:hidden}

/* Center the contact label within the same 44px target as Menu. */
.nav-right>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;line-height:1.2}
