/* Side navigation, isolated from page-specific styles. */
.h21-menu-trigger{display:grid;place-content:center;gap:4px;width:42px;height:42px;border:0;border-radius:12px;background:#eaf6ff;cursor:pointer;flex:none}
.h21-menu-trigger span{display:block;width:19px;height:2px;border-radius:3px;background:#16476f}
.h21-menu-floating{position:fixed;top:12px;right:12px;z-index:1000;box-shadow:0 2px 10px #0002}
.site-header .menu-toggle.h21-menu-trigger{display:grid}
dialog.h21-side-menu{box-sizing:border-box;position:fixed;inset:0 0 auto auto;margin:0;border:0;border-radius:0 0 0 24px;width:min(72vw,380px);max-width:none;height:auto;max-height:100vh;max-height:100dvh;padding:0;color:#243a4c;background:rgba(235,238,240,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:-12px 0 40px rgba(0,0,0,.16);overflow:auto;overscroll-behavior:contain}
dialog.h21-side-menu::backdrop{background:rgba(8,21,32,.45)}
.h21-menu-inner{padding:6px 20px 8px}
.h21-menu-logo{display:block;width:min(145px,75%);height:auto;margin:0 auto 4px}
.h21-menu-actions{display:flex;align-items:center;justify-content:space-between;gap:2px;padding:0 0 8px;border-bottom:1px solid rgba(48,69,85,.18)}
.h21-menu-actions a,.h21-menu-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;padding:5px 2px;border:0;background:none;font:600 clamp(9px,2.6vw,12px)/1.2 system-ui,sans-serif;color:#24445d;text-decoration:none;white-space:nowrap;cursor:pointer}
.h21-menu-actions svg,.h21-menu-actions img{width:34px;height:34px;display:block;flex:none;object-fit:contain}
.h21-menu-actions a,.h21-menu-actions button{min-height:44px;min-width:40px}
.h21-menu-actions span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.h21-menu-actions a:hover,.h21-menu-actions button:hover{text-decoration:underline}
.h21-menu-list{display:flex;flex-direction:column;gap:0;padding-top:6px}
dialog.h21-side-menu .h21-menu-list a{box-sizing:border-box;display:flex;align-items:center;min-height:40px;margin:0;padding:7px 11px;border-radius:10px;color:#243a4c;font:500 16px/1.35 system-ui,sans-serif;text-decoration:none}
dialog.h21-side-menu .h21-menu-list a.h21-group-start{border-top:1px solid rgba(48,69,85,.16);border-radius:0;padding-top:9px;margin-top:4px}
.h21-menu-list a:hover,.h21-menu-list a:focus-visible{background:rgba(255,255,255,.65)}
.h21-side-menu :focus-visible{outline:2px solid #196aa0;outline-offset:2px}
html.h21-menu-open,body.h21-menu-open{overflow:hidden}
@media(max-width:360px){.h21-menu-inner{padding-left:12px;padding-right:12px}}
@media(prefers-reduced-motion:no-preference){dialog.h21-side-menu[open]{animation:h21-menu-enter .2s ease-out}@keyframes h21-menu-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}}
