/* Mobile menu rebuild 2026-11-11. Fixes iOS/Chrome bug: header backdrop-filter made the fixed panel collapse to ~49px. */
@media (max-width:1139px){
  .gx-hdr{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff!important}
}
.gx-mnav:not([open]) .gx-mpanel{display:none!important}
.gx-mnav summary{min-height:44px;padding:.55rem .9rem;gap:.55rem;background:#fff;-webkit-tap-highlight-color:transparent;user-select:none}
.gx-mnav[open] summary{border-color:var(--gx-teal-d);color:var(--gx-p)}
.gx-burger,.gx-burger:before,.gx-burger:after{transition:transform .18s ease,background-color .18s ease}
.gx-mnav[open] .gx-burger{background:transparent}
.gx-mnav[open] .gx-burger:before{transform:translateY(6px) rotate(45deg)}
.gx-mnav[open] .gx-burger:after{transform:translateY(-6px) rotate(-45deg)}
.gx-mnav .gx-mpanel{position:fixed;left:0;right:0;top:4.5rem;bottom:0;height:calc(100vh - 4.5rem);height:calc(100dvh - 4.5rem);display:flex;flex-direction:column;padding:0;overflow:hidden;background:#fff;border-top:1px solid var(--gx-line);z-index:49;animation:gxm-in .16s ease-out}
@keyframes gxm-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.gx-mscroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:.5rem 1.25rem 1.25rem}
.gx-mpanel .gx-mh{margin:1.1rem 0 .45rem;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gx-mut)}
.gx-mpanel ul{list-style:none;margin:0;padding:0}
.gx-mpanel a{-webkit-tap-highlight-color:rgba(20,184,166,.15)}
.gx-mfeat{display:flex!important;align-items:center;gap:.85rem;padding:.9rem 1rem!important;border:1px solid rgba(15,118,110,.25)!important;border-radius:16px;background:linear-gradient(135deg,#f0fbf9,#fff);text-decoration:none}
.gx-mfeat img{width:40px;height:40px;flex:none;border-radius:10px;background:#fff;border:1px solid var(--gx-line);padding:7px}
.gx-mfeat b{display:block;color:var(--gx-navy);font-size:1.05rem}
.gx-mfeat small{display:block;color:var(--gx-mut);font-size:.84rem;font-weight:500;line-height:1.35}
.gx-mfeat:after,.gx-mlist a:after{content:"";margin-left:auto;flex:none;width:8px;height:8px;border-right:2px solid #9fb0bc;border-top:2px solid #9fb0bc;transform:rotate(45deg)}
.gx-mchips{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.6rem!important}
.gx-mchips a{display:flex!important;align-items:center;min-height:46px;padding:.55rem .8rem!important;border:1px solid var(--gx-line)!important;border-radius:12px;font-size:.92rem;font-weight:600!important;color:var(--gx-ink)!important;background:#fff;line-height:1.25}
.gx-mchips .gx-mfree{font-size:.68rem;font-weight:800;color:var(--gx-p);background:#e6faf7;border-radius:999px;padding:.1rem .4rem;margin-left:.35rem}
.gx-mlist a{display:flex!important;align-items:center;min-height:48px;padding:.6rem .1rem!important;font-size:1rem;font-weight:550!important;color:var(--gx-ink)!important;border-bottom:1px solid #eef3f5!important}
.gx-mlist li:last-child a{border-bottom:0!important}
.gx-mflat{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem!important;padding-top:1rem!important;border-top:1px solid var(--gx-line)!important}
.gx-mflat a{display:inline-flex!important;align-items:center;min-height:44px;padding:.5rem .95rem!important;border:1px solid var(--gx-line)!important;border-radius:999px;font-size:.92rem;font-weight:600!important;color:var(--gx-ink)!important}
.gx-mpanel .gx-mcta{flex:none;display:grid;gap:.55rem;margin:0;padding:.85rem 1.25rem calc(.85rem + env(safe-area-inset-bottom));border-top:1px solid var(--gx-line);background:#fff;box-shadow:0 -10px 24px -18px rgba(11,27,58,.35)}
.gx-mpanel .gx-mcta .gx-btn{min-height:3.1rem;width:100%;font-size:1rem}
.gx-mpanel .gx-mcta p{margin:0;text-align:center;font-size:.78rem;color:var(--gx-mut)}
html.gx-menu-open,html.gx-menu-open body{overflow:hidden}
html.gx-menu-open .hp-sticky{display:none!important}
@media (prefers-reduced-motion:reduce){.gx-mnav .gx-mpanel{animation:none}.gx-burger,.gx-burger:before,.gx-burger:after{transition:none}}
.gx-mpanel .gx-mcta a.gx-btn{border-bottom-width:1px!important;padding:.75rem 1.1rem!important;font-weight:650!important;display:inline-flex!important}
.gx-mpanel .gx-mcta a.gx-btn-p{color:#fff!important;background:var(--gx-p)}
.gx-mpanel .gx-mcta a.gx-btn-o{color:var(--gx-p)!important}
/* v2 (iPhone fix): opened menu is a solid full-viewport overlay; header pinned on top. */
.gx-mnav summary{touch-action:manipulation}
html.gx-menu-open .gx-hdr{position:fixed!important;top:0;left:0;right:0;z-index:2147483000;background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:1px solid var(--gx-line)}
html.gx-menu-open .gx-hrow{position:relative;z-index:2;background:#fff}
.gx-mnav .gx-mpanel{top:0!important;left:0;right:0;bottom:0;height:100vh;height:100dvh;padding-top:calc(4.5rem + env(safe-area-inset-top))!important;z-index:1!important;background:#fff!important;border-top:0}
.gx-mscroll{border-top:1px solid var(--gx-line)}
html.gx-menu-open body{position:fixed;left:0;right:0;width:100%;overflow:hidden}
html.gx-menu-open .hp-sticky{display:none!important}
html.gx-menu-open .gx-logo,html.gx-menu-open .gx-mnav summary{position:relative;z-index:3}
html.gx-menu-open .gx-mnav summary{background:#fff}
