.mobile-menu-backdrop{display:none}
@media(max-width:1180px){
 html.mobile-menu-lock{overflow:hidden;overscroll-behavior:none;scrollbar-gutter:auto}
 .site-header{--mobile-nav-height:74px;--mobile-panel-top:calc(max(12px,env(safe-area-inset-top)) + var(--mobile-nav-height) + 14px);top:max(12px,env(safe-area-inset-top))}
 .nav-shell{z-index:2}
 .mobile-menu-backdrop{display:block;position:fixed;inset:0;z-index:0;height:100vh;height:100dvh;background:#2f86ea;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 400ms ease 400ms}
 .mobile-menu-active .mobile-menu-backdrop{visibility:visible;pointer-events:auto}
 .mobile-menu-open .mobile-menu-backdrop{opacity:1;transition-delay:0ms}
 .site-header .nav-links{display:flex;position:fixed;z-index:1;top:var(--mobile-panel-top);left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:auto;width:auto;height:auto;max-height:calc(100vh - var(--mobile-panel-top) - max(18px,env(safe-area-inset-bottom)));max-height:calc(100dvh - var(--mobile-panel-top) - max(18px,env(safe-area-inset-bottom)));margin:0;padding:18px 22px max(24px,env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid #fff;border-radius:24px;background:#f8fcff;box-shadow:0 20px 55px -35px #245a8e55;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(5.5em) rotate(3.5deg);transform-origin:center;transition:transform 500ms cubic-bezier(.4,0,.1,1),opacity 500ms cubic-bezier(.4,0,.1,1);animation:none!important}
 .mobile-menu-active .nav-links{visibility:visible}
 .mobile-menu-open .nav-links{opacity:1;transform:translateY(0) rotate(0);pointer-events:auto}
 .mobile-toggle{position:relative;z-index:3;display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;gap:0;border:1px solid #d7e4ee;border-radius:14px;background:#fff;box-shadow:0 1px 2px #2b465c08;color:#2b465c}
 .mobile-toggle .menu-toggle-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .mobile-menu-symbol{display:block;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
 .mobile-menu-bars,.mobile-menu-x{transition:opacity 160ms ease}
 .mobile-menu-x{opacity:0}
 .mobile-toggle[aria-expanded=true] .mobile-menu-bars{opacity:0}
 .mobile-toggle[aria-expanded=true] .mobile-menu-x{opacity:1}
 .nav-links .module-menu,.nav-links .resources-menu,.nav-links .learn-menu{animation:none!important}
}
@media(max-width:520px){.site-header{--mobile-nav-height:69px}.site-header .nav-links{left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));padding:15px 20px max(22px,env(safe-area-inset-bottom));border-radius:22px}.mobile-toggle{flex-basis:46px;width:46px;height:46px;min-width:46px;min-height:46px;padding:0}}
@media(max-width:1180px) and (prefers-reduced-motion:reduce){.site-header .nav-links,.mobile-menu-open .nav-links{transform:none;transition:opacity 120ms ease}.mobile-menu-backdrop{transition:opacity 120ms ease;transition-delay:0ms}.mobile-menu-bars,.mobile-menu-x{transition:opacity 120ms ease}}

/* Use the mobile navigation earlier so the full desktop menu never crowds. */
@media(min-width:981px) and (max-width:1180px){
 .site-header{height:74px}
 .nav-shell{width:calc(100% - 32px);height:74px;padding:12px 15px 12px 21px;justify-content:space-between;border-radius:21px}
 .brand{border:0;height:auto;padding:0}.brand img{width:148px}
 .site-header .nav-links{flex-direction:column;align-items:stretch;gap:0}
 .nav-links>a:not(.nav-cta),.modules-toggle{justify-content:space-between;padding:18px 2px;border-bottom:1px solid #e3edf6;font-size:25px;font-weight:400;line-height:1.25;letter-spacing:-.03em}
 .nav-links>a:not(.nav-cta)::before,.modules-toggle::before{inset:5px -8px;border-radius:12px}
 .nav-dropdown{width:100%}
 .module-menu{position:static;grid-template-columns:1fr;gap:9px;width:100%;padding:14px 0;border:0;border-radius:0;background:none;box-shadow:none;animation:none}
 .menu-heading{display:none}.module-menu a{flex-direction:row;align-items:center;gap:17px;padding:18px;border-radius:17px}
 .menu-preview{width:52px;height:52px}.module-menu strong{font-size:20px;margin-bottom:5px}.module-menu small{font-size:14px;line-height:1.5;max-width:400px}
 .nav-links>.nav-cta{width:100%;min-height:53px;min-width:0;margin:21px 0 0}.nav-links>.nav-cta .button-surface{font-size:16px;padding:16px}
}
