.mobile-menu-toggle{display:none}

@media(max-width:840px){
  :root{
    --fixed-header-height:64px!important;
    --fixed-tabs-height:0px!important;
    --fixed-header-offset:var(--fixed-header-height)!important;
  }

  html{scroll-padding-top:calc(var(--fixed-header-height) + 20px)!important}
  body{padding-top:var(--fixed-header-height)!important}

  .site-header .nav-shell{
    width:calc(100% - 28px)!important;
    height:var(--fixed-header-height)!important;
    min-height:var(--fixed-header-height)!important;
    gap:12px!important;
  }

  .site-header .brand{
    min-height:38px!important;
    margin-right:auto!important;
    font-size:1.08rem!important;
    letter-spacing:-.025em;
  }

  .site-header .global-links,
  .site-header .nav-cta{
    display:none!important;
  }

  .mobile-menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-width:88px;
    min-height:40px;
    padding:0 14px;
    border:1px solid rgba(129,140,248,.28);
    border-radius:999px;
    background:linear-gradient(135deg,rgba(129,140,248,.18),rgba(167,139,250,.10)),rgba(18,18,43,.72);
    color:#f2f3fb;
    font:inherit;
    font-size:.76rem;
    font-weight:750;
    line-height:1;
    cursor:pointer;
    box-shadow:0 8px 24px rgba(0,0,0,.22),0 0 0 1px rgba(255,255,255,.02) inset;
  }

  .mobile-menu-toggle:hover,
  .mobile-menu-toggle:focus-visible{
    border-color:rgba(129,140,248,.52);
    background:linear-gradient(135deg,rgba(129,140,248,.28),rgba(167,139,250,.16)),rgba(18,18,43,.82);
  }

  .mobile-menu-toggle:focus-visible{
    outline:2px solid #8aa8ff;
    outline-offset:3px;
  }

  .mobile-menu-icon{
    position:relative;
    display:block;
    width:16px;
    height:12px;
  }

  .mobile-menu-icon span{
    position:absolute;
    left:0;
    width:16px;
    height:1.5px;
    border-radius:999px;
    background:currentColor;
    transition:transform .2s ease,top .2s ease;
  }

  .mobile-menu-icon span:first-child{top:2px}
  .mobile-menu-icon span:last-child{top:9px}
  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon span:first-child{top:5px;transform:rotate(45deg)}
  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon span:last-child{top:5px;transform:rotate(-45deg)}

  .mobile-page-tabs.mobile-site-menu{
    position:fixed!important;
    z-index:320!important;
    top:calc(var(--fixed-header-height) + 10px)!important;
    right:12px!important;
    left:12px!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - var(--fixed-header-height) - 24px)!important;
    margin:0!important;
    padding:12px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch!important;
    gap:8px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    border:1px solid rgba(129,140,248,.24)!important;
    border-radius:18px!important;
    background:linear-gradient(145deg,rgba(95,139,255,.10),transparent 44%),rgba(13,13,33,.98)!important;
    -webkit-backdrop-filter:blur(24px) saturate(145%);
    backdrop-filter:blur(24px) saturate(145%);
    box-shadow:0 28px 80px rgba(0,0,0,.52),0 1px 0 rgba(255,255,255,.035) inset!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-10px) scale(.985);
    transform-origin:top center;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  }

  .mobile-page-tabs.mobile-site-menu.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
  }

  .mobile-page-tabs.mobile-site-menu>a{
    width:100%;
    min-height:50px!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    border:1px solid rgba(129,140,248,.13)!important;
    border-radius:13px!important;
    background:rgba(22,22,51,.76)!important;
    color:#c8cada!important;
    font-size:.76rem!important;
    font-weight:700;
    line-height:1.25!important;
    text-align:left;
  }

  .mobile-page-tabs.mobile-site-menu>a:hover,
  .mobile-page-tabs.mobile-site-menu>a:focus-visible{
    border-color:rgba(129,140,248,.34)!important;
    background:rgba(35,38,72,.92)!important;
    color:#fff!important;
  }

  .mobile-page-tabs.mobile-site-menu>a[aria-current="page"]{
    border-color:rgba(129,140,248,.42)!important;
    background:linear-gradient(135deg,rgba(129,140,248,.30),rgba(167,139,250,.16))!important;
    color:#fff!important;
    box-shadow:0 9px 22px rgba(0,0,0,.20)!important;
  }

  .mobile-page-tabs.mobile-site-menu .goal-nav{
    position:relative!important;
    grid-column:1/-1;
    width:100%;
  }

  .mobile-page-tabs.mobile-site-menu .goal-nav>summary{
    width:100%;
    min-height:50px!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    border:1px solid rgba(37,217,120,.23)!important;
    border-radius:13px!important;
    background:linear-gradient(135deg,rgba(37,217,120,.10),transparent),rgba(22,22,51,.76)!important;
    color:#dcefe7!important;
    font-size:.76rem!important;
    font-weight:800;
    line-height:1!important;
  }

  .mobile-page-tabs.mobile-site-menu .goal-nav[open]>summary,
  .mobile-page-tabs.mobile-site-menu .goal-nav.is-current>summary{
    border-color:rgba(37,217,120,.40)!important;
    background:linear-gradient(135deg,rgba(37,217,120,.18),rgba(95,139,255,.10)),rgba(22,22,51,.90)!important;
    color:#fff!important;
  }

  .mobile-page-tabs.mobile-site-menu .goal-nav-menu{
    position:static!important;
    width:100%!important;
    min-width:0!important;
    margin:8px 0 0!important;
    padding:8px!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
    border:1px solid rgba(129,140,248,.14)!important;
    border-radius:12px!important;
    background:rgba(9,9,25,.58)!important;
    box-shadow:none!important;
    transform:none!important;
  }

  .mobile-page-tabs.mobile-site-menu .goal-nav:not([open]) .goal-nav-menu{display:none!important}
  .mobile-page-tabs.mobile-site-menu .goal-nav-menu:before{display:none!important}

  .mobile-page-tabs.mobile-site-menu .goal-nav-menu a{
    min-height:44px!important;
    padding:0 8px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid rgba(129,140,248,.13)!important;
    border-radius:10px!important;
    background:rgba(29,31,59,.78)!important;
    color:#d7dced!important;
    font-size:.72rem!important;
    font-weight:750;
    text-align:center;
  }

  .mobile-page-tabs.mobile-site-menu .goal-nav-menu a:hover,
  .mobile-page-tabs.mobile-site-menu .goal-nav-menu a:focus-visible,
  .mobile-page-tabs.mobile-site-menu .goal-nav-menu a[aria-current="page"]{
    border-color:rgba(129,140,248,.36)!important;
    background:#29345e!important;
    color:#fff!important;
  }

  body.mobile-menu-open{overflow:hidden}
  body.mobile-menu-open:after{
    content:"";
    position:fixed;
    z-index:280;
    inset:var(--fixed-header-height) 0 0;
    background:rgba(3,3,13,.67);
    -webkit-backdrop-filter:blur(4px);
    backdrop-filter:blur(4px);
  }

  body.mobile-menu-open .about-flow{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  body.has-about-flow{
    padding-top:calc(var(--fixed-header-height) + var(--about-flow-height) + var(--about-flow-gap) + 8px)!important;
  }
}

@media(max-width:430px){
  .mobile-page-tabs.mobile-site-menu{right:9px!important;left:9px!important;padding:10px!important}
  .mobile-page-tabs.mobile-site-menu>a,
  .mobile-page-tabs.mobile-site-menu .goal-nav>summary{min-height:48px!important;padding-inline:12px!important;font-size:.73rem!important}
  .mobile-page-tabs.mobile-site-menu .goal-nav-menu{grid-template-columns:1fr}
  .mobile-page-tabs.mobile-site-menu .goal-nav-menu a{min-height:42px!important}
}

@media(max-width:350px){
  .mobile-page-tabs.mobile-site-menu{grid-template-columns:1fr}
  .mobile-page-tabs.mobile-site-menu .goal-nav{grid-column:auto}
  .mobile-menu-toggle{min-width:80px;padding-inline:12px}
  .site-header .brand{font-size:1rem!important}
}

@media(prefers-reduced-motion:reduce){
  .mobile-page-tabs.mobile-site-menu,
  .mobile-menu-icon span{transition:none!important}
}
