.mobile-nav-controls{display:none}
.mobile-menu:not([open]){display:none}
.mobile-menu{box-sizing:border-box;position:fixed;inset:12px 12px 12px auto;margin:0;width:min(420px,calc(100% - 24px));height:calc(100vh - 24px);height:calc(100dvh - 24px);max-width:none;max-height:none;padding:0;border:1px solid #C9BCA5;border-radius:16px;color:#1D2B3A;background:#FFFDF7;box-shadow:-12px 0 48px rgba(29,43,58,.16);font-family:var(--sans);overflow:hidden}
.mobile-menu[open]{display:flex;flex-direction:column}
.mobile-menu::backdrop{background:rgba(29,43,58,.42)}
.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;border-bottom:1px solid #D5C7AD;flex-shrink:0}
.mobile-menu-header h2{font-size:20px;margin:0;font-weight:900}
.mobile-menu .mobile-menu-close{display:flex;align-items:center;justify-content:center;gap:10px;min-width:80px;min-height:44px;padding:8px;border:0;border-radius:8px;background:transparent;color:#1D2B3A;font-size:13px;font-weight:700;cursor:pointer;width:auto;margin:0;box-shadow:none}
.mobile-menu svg,.mobile-nav-controls svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.mobile-menu-body{padding:4px 24px max(20px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#B4A48A #FFFDF7;flex:1;min-height:0}
.mobile-menu a{text-decoration:none}
.mobile-menu-main>a{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid #D5C7AD;min-height:82px}
.mobile-menu-main strong{display:block;font-size:16px;line-height:1.6;font-weight:900}
.mobile-menu-main span>span{display:block;font-size:12px;line-height:1.8;color:#3C4A58;margin-top:5px}
.mobile-menu-main>a>svg{color:#B53620;width:19px}
.mobile-menu-main a[aria-current=page] strong,.mobile-menu-guides a[aria-current=page]{color:#9E2E19;text-decoration:underline;text-underline-offset:5px}
.mobile-menu-guides{padding:24px 0}
.mobile-menu-guides h3{font-size:13px;margin:0 0 12px;color:#3C4A58;font-weight:700}
.mobile-menu-guides nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mobile-menu-guides a{font-size:13px;line-height:1.7;display:flex;align-items:center;min-height:48px;padding:10px 12px;border:1px solid #D5C7AD;border-radius:8px;background:#F5ECDA}
.mobile-menu-info{display:flex;flex-direction:column;align-items:flex-start;padding-top:12px;border-top:1px solid #D5C7AD}
.mobile-menu-info a{min-height:44px;display:flex;align-items:center;font-size:13px}
.mobile-menu-brand{font-size:18px;font-weight:900;margin:24px 0 0}
.mobile-menu-brand span{display:block;font-size:10px;letter-spacing:.04em;font-weight:500;color:#3C4A58;margin-top:4px}
.mobile-menu a:hover strong,.mobile-menu-info a:hover{text-decoration:underline;text-underline-offset:4px}
.mobile-menu-guides a:hover,.mobile-menu .mobile-menu-close:hover{background:#EFE0C4}
.mobile-menu a:focus-visible,.mobile-menu button:focus-visible,.mobile-nav-controls a:focus-visible,.mobile-nav-controls button:focus-visible{outline:3px solid #B53620;outline-offset:3px}
html.mobile-menu-open,html.mobile-menu-open body{overflow:hidden}
@media(max-width:760px){
 .bar{height:78px;padding:0 18px;gap:12px}
 .bar .logo{gap:7px;flex-shrink:1;min-width:0}
 .bar .logo-mark{width:29px;height:32px}
 .bar .logo-word{font-size:20px;white-space:nowrap;letter-spacing:.025em}
 .bar .brand-sub{font-size:9px;letter-spacing:0;white-space:nowrap}
 .mobile-menu-ready .bar .top-nav{display:none}
 .mobile-menu-ready .mobile-nav-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}
 .mobile-nav-controls .mobile-search,.mobile-nav-controls .mobile-menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;width:52px;min-height:52px;padding:6px 2px;margin:0;border:0;border-radius:8px;background:transparent;color:#1D2B3A;font:700 10px/1.3 var(--sans);text-decoration:none;box-shadow:none;cursor:pointer}
 .mobile-nav-controls .mobile-menu-toggle{background:#EFE0C4}
 .mobile-nav-controls .mobile-menu-toggle:hover,.mobile-nav-controls .mobile-search:hover{background:#E5D5B7}
 html:not(.mobile-menu-ready) .bar{height:auto;min-height:78px;flex-wrap:wrap;padding-top:14px;padding-bottom:12px}
 html:not(.mobile-menu-ready) .top-nav{display:flex;flex-wrap:wrap;width:100%;gap:6px 18px}
 html:not(.mobile-menu-ready) .top-nav a{display:block;min-height:44px;padding:10px 0;font-size:12px;border:0}
}
@media(max-width:359px){.bar{padding:0 12px;gap:6px}.bar .logo-mark{width:24px}.bar .logo-word{font-size:18px}.bar .brand-sub{font-size:8px}.mobile-nav-controls .mobile-search,.mobile-nav-controls .mobile-menu-toggle{width:46px}.mobile-menu-body{padding-left:18px;padding-right:18px}.mobile-menu-main strong{font-size:15px}}
@media(prefers-reduced-motion:no-preference){.mobile-menu[open]{animation:mobileMenuIn .18s cubic-bezier(.2,.7,.2,1)}@keyframes mobileMenuIn{from{opacity:.6;transform:translateX(16px)}to{opacity:1;transform:none}}}
@media print{.mobile-nav-controls,.mobile-menu[open]{display:none!important}}
