.header-tools{display:flex;align-items:flex-end;flex-direction:column;gap:8px}
.menu-toggle{display:none;align-items:center;justify-content:center;gap:8px;min-width:92px;min-height:44px;padding:8px 12px;border:1px solid #304b63;border-radius:12px;background:#11283b;color:#eef6ff;font:inherit;font-size:14px;cursor:pointer}
.menu-toggle span{font-size:21px;line-height:1}
.mobile-menu{position:fixed;inset:0 0 0 auto;box-sizing:border-box;margin:0;width:min(350px,calc(100vw - 24px));max-width:none;height:100%;height:100dvh;max-height:none;padding:calc(20px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) 18px;border:0;border-left:1px solid #29455e;background:#0c1b29;color:#f3f7fb;box-shadow:-20px 0 60px #0005;overflow-y:auto;overscroll-behavior:contain;transform:translateX(100%);transition:transform .2s ease}
.mobile-menu.is-visible{transform:translateX(0)}
.mobile-menu::backdrop{background:#02091200;transition:background .2s ease}
.mobile-menu.is-visible::backdrop{background:#020912b8}
.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.drawer-head h2{font-size:24px;margin:0;letter-spacing:-.5px}
.menu-close{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid #304b63;border-radius:12px;background:#142b3e;color:#edf6ff;font-size:30px;cursor:pointer}
.mobile-menu .siteNav{display:flex;flex-direction:column;flex-wrap:nowrap;gap:8px;margin:0}
.mobile-menu .siteNav a{box-sizing:border-box;display:flex;align-items:center;min-height:48px;padding:12px 14px;border-radius:12px;white-space:normal;overflow-wrap:anywhere;font-size:15px;line-height:1.5}
.drawer-group-title{font-size:12px;color:#8dacc7;text-transform:uppercase;letter-spacing:1.3px;margin:24px 14px 4px}
.menu-toggle:focus-visible,.menu-close:focus-visible,.mobile-menu a:focus-visible{outline:3px solid #8dc7ff;outline-offset:3px}
html.menu-open{overflow:hidden;overscroll-behavior:none}
@media(max-width:768px){.site-header{height:auto;min-height:104px;padding:18px 0;gap:12px}.site-header .brand{min-width:0;gap:10px;font-size:clamp(19px,5.1vw,27px);white-space:nowrap}.site-header .mark{flex:none;width:40px;height:40px;font-size:27px;border-radius:12px}.site-header .topnote{display:block;text-align:right;max-width:none;font-size:11px;line-height:1.5}.header-tools{flex:none;gap:6px}.menu-toggle:not([hidden]){display:inline-flex}}
@media(prefers-reduced-motion:reduce){.mobile-menu,.mobile-menu::backdrop{transition:none}}
