/* Isolated mobile navigation. A separate asset prevents stale site CSS from
   combining new menu markup with an older menu layout. */
@media (max-width:1050px){
  .site-header{
    z-index:300;
    isolation:isolate;
    background:#fff;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    box-shadow:0 1px 0 rgba(15,23,42,.06);
  }
  .nav-row{position:relative;z-index:301}
  .menu-button{
    position:relative;
    display:grid;
    width:44px;
    height:44px;
    padding:0;
    place-content:center;
    border:1px solid #e5e9f0;
    border-radius:50%;
    background:#f7f8fa;
    box-shadow:0 1px 2px rgba(15,23,42,.04);
    transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
  }
  .menu-button:hover{background:#eef2f7;border-color:#d9e0e9;box-shadow:0 4px 12px rgba(15,23,42,.08)}
  .menu-button:active{transform:scale(.95)}
  .menu-button:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}
  .menu-button span{width:18px;height:1.5px;margin:2.5px 0;background:#111827;transform-origin:center;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .18s ease}
  .menu-button.open{background:#111827;border-color:#111827;box-shadow:0 7px 18px rgba(15,23,42,.18)}
  .menu-button.open span{background:#fff}
  .menu-button.open span:first-child{transform:translateY(6.5px) rotate(45deg)}
  .menu-button.open span:nth-child(2){opacity:0;transform:scaleX(.2)}
  .menu-button.open span:last-child{transform:translateY(-6.5px) rotate(-45deg)}
  #mobile-navigation{
    display:block;
    visibility:hidden;
    position:fixed;
    inset:74px 0 0;
    z-index:290;
    padding:14px;
    overflow:hidden;
    overscroll-behavior:contain;
    background:#eef2f7!important;
    opacity:0;
    transform:translateY(-6px);
    pointer-events:none;
    transition:opacity .2s ease,transform .25s ease,visibility 0s linear .25s;
  }
  #mobile-navigation.open{
    visibility:visible;
    opacity:1;
    transform:none;
    pointer-events:auto;
    transition-delay:0s;
  }
  #mobile-navigation .mobile-nav-inner{
    display:block;
    width:min(100%,580px);
    max-height:100%;
    margin:0 auto;
    padding:28px;
    overflow-y:auto;
    overscroll-behavior:contain;
    border:1px solid #dfe5ed;
    border-radius:24px;
    background:#fff!important;
    box-shadow:0 24px 70px rgba(15,23,42,.18);
  }
  #mobile-navigation .mobile-nav-heading{
    display:block;
    padding:0 0 20px;
    border:0;
  }
  #mobile-navigation .mobile-nav-heading>span{
    display:block;
    color:#2563eb;
    font-size:10px;
    line-height:1.2;
    font-weight:750;
    letter-spacing:.13em;
    text-transform:uppercase;
  }
  #mobile-navigation .mobile-nav-heading>strong{
    display:block;
    margin:7px 0 0;
    color:#101828;
    font-size:22px;
    line-height:1.25;
    letter-spacing:-.025em;
  }
  #mobile-navigation .mobile-nav-heading>p{
    display:block;
    margin:7px 0 0;
    color:#667085;
    font-size:13px;
    line-height:1.55;
  }
  #mobile-navigation .mobile-nav-cta{
    display:flex;
    min-height:68px;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:0 0 28px;
    padding:14px 16px;
    border:0;
    border-radius:15px;
    background:#101828;
    color:#fff;
    box-shadow:0 12px 28px rgba(15,23,42,.16);
  }
  #mobile-navigation .mobile-nav-cta>span,
  #mobile-navigation .mobile-nav-items>a>span{
    display:flex;
    min-width:0;
    flex:1;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
  }
  #mobile-navigation .mobile-nav-cta strong{
    display:block;
    color:#fff;
    font-size:16px;
    line-height:1.3;
  }
  #mobile-navigation .mobile-nav-cta small{
    display:block;
    color:#bdc8d7;
    font-size:11px;
    line-height:1.4;
    font-weight:500;
  }
  #mobile-navigation .mobile-nav-cta i,
  #mobile-navigation .mobile-nav-items i{
    display:grid;
    width:30px;
    height:30px;
    flex:0 0 30px;
    place-items:center;
    border-radius:50%;
    background:#edf3ff;
    color:#2563eb;
    font-size:14px;
    font-style:normal;
  }
  #mobile-navigation .mobile-nav-cta i{background:#2563eb;color:#fff}
  #mobile-navigation .mobile-nav-groups{
    display:block;
  }
  #mobile-navigation .mobile-nav-group{
    display:block;
    margin:0 0 24px;
  }
  #mobile-navigation .mobile-nav-group-label{
    display:block;
    margin:0 0 8px;
    padding:0 2px;
    color:#667085;
    font-size:10px;
    line-height:1.3;
    font-weight:750;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  #mobile-navigation .mobile-nav-items{
    display:block;
    overflow:hidden;
    border:1px solid #dfe5ed;
    border-radius:15px;
    background:#fff;
  }
  #mobile-navigation .mobile-nav-items>a{
    display:flex;
    min-height:72px;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:13px 14px;
    border:0;
    border-bottom:1px solid #e5eaf0;
    background:#fff;
    color:#101828;
  }
  #mobile-navigation .mobile-nav-items>a:last-child{border-bottom:0}
  #mobile-navigation .mobile-nav-items strong{
    display:block;
    color:#101828;
    font-size:15px;
    line-height:1.35;
    letter-spacing:-.01em;
  }
  #mobile-navigation .mobile-nav-items small{
    display:block;
    color:#667085;
    font-size:11px;
    line-height:1.4;
    font-weight:500;
  }
  #mobile-navigation .mobile-nav-items>a:hover,
  #mobile-navigation .mobile-nav-items>a:focus-visible{
    position:relative;
    background:#f7f9fc;
    outline:2px solid #2563eb;
    outline-offset:-2px;
  }
  #mobile-navigation .mobile-nav-footer{
    display:block;
    margin:2px 0 0;
    padding:18px 0 2px;
    border-top:1px solid #e5eaf0;
  }
  #mobile-navigation .mobile-nav-footer>div{
    display:flex;
    justify-content:flex-start;
    gap:24px;
    padding:0;
  }
  #mobile-navigation .mobile-nav-footer a{
    display:block;
    padding:2px;
    border:0;
    color:#667085;
    font-size:11px;
    font-weight:650;
  }
}

@media (max-width:800px){
  #mobile-navigation{inset-block-start:64px}
}

@media (max-width:540px){
  #mobile-navigation{padding:0;background:#fff!important}
  #mobile-navigation .mobile-nav-inner{
    width:100%;
    padding:22px 20px 32px;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  #mobile-navigation .mobile-nav-heading>strong{font-size:20px}
  #mobile-navigation .mobile-nav-items>a{min-height:70px}
}

@media (min-width:1051px){
  #mobile-navigation{display:none!important}
}
