/* Right-hand drawer, based on the reference supplied by the user. */
.menu-toggle { display:inline-flex; align-items:center; justify-content:center; gap:0; width:44px; min-height:44px; padding:10px; border:0; border-radius:0; background:transparent; color:var(--text); font-size:.75rem; font-weight:650; }
.menu-icon { position:relative; flex:none; display:block; width:24px; height:24px; }
.menu-icon i { position:absolute; top:50%; right:1px; display:block; width:20px; height:1.5px; margin-top:-.75px; background:currentColor; transform-origin:center; }
.menu-icon i:first-child { transform:translateY(-3px); }
.menu-icon i:last-child { transform:translateY(3px); }
.site-header .header-actions { margin-left:auto; gap:1rem; }
.menu-toggle:hover { color:var(--text-muted); }
.site-menu { position:fixed; top:0; right:0; bottom:0; left:auto; width:min(25rem,100%); height:100svh; max-width:none; max-height:none; margin:0; padding:0; overflow-x:hidden; overflow-y:auto; border:0; border-left:1px solid var(--line); border-radius:0; background:var(--surface); color:var(--text); }
.site-menu[open] { display:flex; flex-direction:column; }
.site-menu::backdrop { background:var(--shadow); cursor:pointer; }
html:has(.site-menu[open]) { overflow:hidden; }
html.has-custom-cursor .site-menu, html.has-custom-cursor .site-menu * { cursor:auto !important; }
html.has-custom-cursor .site-menu a, html.has-custom-cursor .site-menu button { cursor:pointer !important; }
.site-menu > .site-cursor { display:none; }
.menu-dialog-header { position:sticky; z-index:2; top:0; display:flex; flex:none; align-items:center; justify-content:space-between; min-height:88px; padding:1rem 1.75rem; background:var(--surface); }
.menu-dialog-header .brand span { display:inline; }
.drawer-close { justify-content:center; width:44px; padding:10px; }
.menu-navigation { display:flex; flex:1; flex-direction:column; min-height:calc(100svh - 88px); padding:1rem 1.75rem 1.75rem; }
.drawer-links { display:grid; gap:4px; }
.drawer-link, .drawer-disclosure { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:52px; padding:.6rem 0; border:0; background:transparent; color:var(--text); font-size:1.2rem; font-weight:400; line-height:1.4; text-align:left; transition:color 140ms ease; }
.drawer-link:hover, .drawer-disclosure:hover { color:var(--text-muted); }
.drawer-link[aria-current="page"], .drawer-submenu [aria-current="page"] { color:var(--action); }
.drawer-chevron { width:6px; height:6px; margin-right:6px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(-45deg); transition:transform 240ms var(--ease); }
.drawer-disclosure[aria-expanded="true"] .drawer-chevron { transform:rotate(45deg); }
.drawer-submenu { overflow:hidden; }
.drawer-submenu a { display:flex; align-items:center; min-height:44px; padding:.5rem .75rem; color:var(--text-muted); font-size:.88rem; font-weight:400; line-height:1.5; }
.drawer-submenu a:hover { color:var(--text); }
.drawer-links .partners-mobile { display:none; }
.menu-socials { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:3rem; }
.menu-socials .header-social { flex:none; display:grid; place-items:center; width:44px; height:44px; min-height:44px; color:var(--text); }
.menu-socials .header-social svg { width:20px; height:20px; }
.menu-socials .header-social::before { display:none; }
.menu-socials .header-social:hover { color:var(--text-muted); }
.menu-sr { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:47.99rem) {
 .site-header .header-socials { display:flex; }
 .site-header .menu-toggle { justify-content:center; width:2rem; padding:0; }
 .drawer-links .partners-mobile { display:flex; }
 .site-menu { width:min(23rem,100%); }
 .menu-dialog-header { padding-inline:1.5rem; min-height:80px; }
 .menu-navigation { min-height:calc(100svh - 80px); padding:1rem 1.5rem 1.5rem; }
}
@media(prefers-reduced-motion:reduce) { .drawer-link,.drawer-disclosure,.drawer-chevron,.menu-socials a { transition:none; } }
