/* Shared mobile menu: square button + full-height panel. Each page decides at which width the button shows. */
.menu-btn{font:inherit;font-size:14px;font-weight:800;font-stretch:125%;text-transform:uppercase;letter-spacing:.06em;display:none;align-items:center;gap:10px;min-height:44px;min-width:44px;padding:0 14px;background:transparent;color:#fff;border:1.5px solid #46536B;border-radius:0;cursor:pointer;transition:background .2s,color .2s,border-color .2s;flex:none}
.menu-btn:hover{border-color:#fff}
.menu-btn[aria-expanded="true"]{background:#fff;color:#0A1221;border-color:#fff}
.menu-btn .ico{position:relative;width:18px;height:12px;display:inline-block}
.menu-btn .ico::before,.menu-btn .ico::after{content:"";position:absolute;left:0;right:0;height:2px;background:currentColor}
.menu-btn .ico::before{top:1px}.menu-btn .ico::after{bottom:1px}
.menu-btn[aria-expanded="true"] .ico::before{top:5px;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] .ico::after{bottom:5px;transform:rotate(-45deg)}
.mnav{position:fixed;left:0;right:0;top:68px;height:calc(100vh - 68px);height:calc(100dvh - 68px);z-index:30;background:#0A1221;color:#fff;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #2A3548;padding:8px 20px calc(32px + env(safe-area-inset-bottom));display:flex;flex-direction:column}
.mnav[hidden]{display:none}
.mnav ul{list-style:none;margin:0;padding:0}
.mnav li{border-bottom:1px solid #2A3548}
.mnav li a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:8px 0;color:#fff;text-decoration:none;font-size:22px;font-weight:800;font-stretch:110%;letter-spacing:-.005em}
.mnav li a svg{width:20px;height:20px;color:#8E99AD;flex:none;transition:transform .2s,color .2s}
.mnav li a:hover svg,.mnav li a:focus-visible svg{color:#FF5B1F}
.mnav li a[aria-current="page"]{color:#fff;box-shadow:inset 4px 0 0 #FF5B1F;padding-left:14px}
.mnav .mnav-cta{margin-top:24px;display:flex;flex-direction:column;gap:12px}
.mnav .mnav-cta .btn{justify-content:space-between;width:100%;min-height:56px;padding:16px 20px;font-size:15px}
.mnav .mnav-acct{margin-top:24px;padding-top:16px;border-top:2px solid #2A3548;display:grid;gap:10px;color:#C9D0DC;font-size:15px}
.mnav .mnav-acct:empty{display:none}
.mnav .mnav-acct b{color:#fff}
.mnav .mnav-acct .row{display:flex;gap:8px;flex-wrap:wrap}
.mnav .mnav-acct button{font:inherit;font-size:15px;font-weight:700;min-height:44px;padding:0 16px;background:transparent;color:#fff;border:1.5px solid #46536B;border-radius:0;cursor:pointer;transition:border-color .2s,background .2s}
.mnav .mnav-acct button:hover{border-color:#fff}
.mnav .mnav-acct button:disabled{opacity:.7;cursor:wait}
html.menu-open{overflow:hidden}
@media (prefers-reduced-motion:no-preference){
  .menu-btn .ico::before,.menu-btn .ico::after{transition:transform .2s,top .2s,bottom .2s}
  .mnav{transition:opacity .2s,transform .25s cubic-bezier(.16,1,.3,1)}
  .mnav:not(.is-open){opacity:0;transform:translateY(-8px)}
  .mnav li a:hover svg{transform:translateX(4px)}
}
