/* menu.css: mobile menu, approved design DEC-077 (design-reference/mobile-menu-v1.html). Hand-written. */
.m-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(7,21,43,.35);color:#FFFFFF;cursor:pointer;touch-action:manipulation;transition:background .15s}
.m-btn:hover{background:rgba(255,255,255,.12)}
.m-btn:focus-visible,.m-panel a:focus-visible,.m-panel button:focus-visible{outline:2px solid #7FB6FF;outline-offset:2px}
.m-scrim{position:fixed;inset:0;z-index:20;background:rgba(2,8,20,.55);opacity:0;visibility:hidden;transition:opacity .2s, visibility .2s}
.m-panel{position:fixed;top:0;right:0;bottom:0;z-index:21;width:min(420px,100%);display:flex;flex-direction:column;background:#07152B;color:#FFFFFF;font-family:"Inter Tight",system-ui,sans-serif;box-shadow:-18px 0 40px rgba(2,8,20,.45);transform:translateX(100%);visibility:hidden;transition:transform .24s cubic-bezier(.2,.8,.2,1), visibility .24s}
.m-open .m-scrim{opacity:1;visibility:visible}
.m-open .m-panel{transform:none;visibility:visible;transition:transform .24s cubic-bezier(.2,.8,.2,1), visibility 0s}
.m-top{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:16px 16px 16px 24px;border-bottom:1px solid rgba(255,255,255,.12);box-sizing:border-box}
.m-top img{width:44px;height:46px;display:block}
.m-top .m-btn{display:inline-flex}
.m-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:8px 0 24px}
.m-list{list-style:none;margin:0;padding:0}
.m-list > li{border-bottom:1px solid rgba(255,255,255,.08)}
.m-link,.m-acc{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;padding:0 24px;box-sizing:border-box;background:none;border:0;color:#FFFFFF;font:600 17px/1.3 "Inter Tight",system-ui,sans-serif;text-align:left;text-decoration:none;cursor:pointer}
.m-link:hover,.m-acc:hover{background:rgba(255,255,255,.05);color:#FFFFFF}
.m-acc svg{flex-shrink:0;transition:transform .2s}
.m-acc[aria-expanded="true"] svg{transform:rotate(180deg)}
.m-sub{display:none;padding:0 24px 18px}
.m-acc[aria-expanded="true"] + .m-sub{display:block}
.m-sub a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:8px;color:#D6E0EE;font-size:15px;font-weight:500;text-decoration:none}
.m-sub a:hover{background:rgba(255,255,255,.07);color:#FFFFFF}
.m-mh{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#7FB6FF;padding:6px 12px 8px}
.m-sub .m-mh:not(:first-child){margin-top:14px}
.m-bgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 0 4px}
.m-sub a.m-bt{justify-content:center;height:52px;padding:0 12px;background:#FFFFFF;border-radius:8px}
.m-sub a.m-bt:hover{background:#FFFFFF;box-shadow:0 0 0 2px #7FB6FF}
.m-sub a.m-bt-text{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);color:#FFFFFF;font-weight:600;font-size:14px;box-sizing:border-box}
.m-sub a.m-bt-text:hover{background:rgba(255,255,255,.12);box-shadow:none}
.m-panel [aria-current="page"]{color:#FFFFFF !important;box-shadow:inset 3px 0 0 #7FB6FF}
.m-cta{display:flex;flex-direction:column;gap:12px;padding:20px 24px calc(20px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.12)}
.m-cta a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;font-size:15px;font-weight:600;text-decoration:none;box-sizing:border-box}
.m-cta .m-primary{background:#FFFFFF;color:#07152B}
.m-cta .m-primary:hover{background:#DCE8F7;color:#07152B}
.m-cta .m-ghost{border:1px solid rgba(255,255,255,.4);color:#FFFFFF}
.m-cta .m-ghost:hover{background:rgba(255,255,255,.08);color:#FFFFFF}
body.m-lock{overflow:hidden}
/* Products mega menu: where the board's left anchor would run off screen, anchor it to the nav's right edge (TASK-104) */
@media (min-width: 861px) and (max-width: 1279px){
 .h-head .h-nav{position:relative}
 .h-head .h-dd:has(.h-mega){position:static}
 .h-dd .h-ddm.h-mega{left:auto;right:0}
}
/* Esc dismisses an open desktop dropdown until the pointer or focus leaves it */
.h-head .h-dd[data-dismissed] .h-ddm{opacity:0;visibility:hidden;transform:translateY(6px)}
.h-head .h-dd[data-dismissed] .h-ddt svg{transform:none}
/* Logged-in admin bar sits above the panel */
.admin-bar .m-panel{top:32px}
@media (max-width: 782px){ .admin-bar .m-panel{top:46px} }

@media (max-width: 860px){
 .h-head .h-nav{display:none}
 .h-head{padding-left:140px !important;min-height:120px !important;gap:12px !important}
 .h-logomark{top:14px !important}
 .h-logomark img{width:96px !important;height:103px !important}
 .h-head .m-btn{display:inline-flex}
}
@media (max-width: 560px){
 .h-head .h-btnw{display:none !important}
 .m-panel{width:100%;box-shadow:none}
}
@media (min-width: 861px){
 .m-scrim,.m-panel{display:none}
}
@media (prefers-reduced-motion: reduce){
 .m-panel,.m-scrim,.m-acc svg{transition:none}
}
