
/* v115.2 — final mobile navigation override.
   This intentionally has high specificity because several legacy page styles
   contain !important header/nav declarations. */
@media(max-width:760px){
  html,body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  body .site-header,
  body header.site-header{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-height:58px!important;
    height:auto!important;
    padding:8px 12px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    justify-content:stretch!important;
    gap:8px!important;
    flex-wrap:nowrap!important;
    position:sticky!important;
    top:0!important;
  }

  body .site-header .brand{
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    gap:8px!important;
    font-size:.96rem!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }

  body .site-header .brand > span:last-child{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  body .site-header .brand-mark{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    border-radius:10px!important;
    font-size:.70rem!important;
  }

  body .site-header .mobile-nav-toggle{
    display:inline-flex!important;
    grid-column:2!important;
    grid-row:1!important;
    min-width:78px!important;
    min-height:40px!important;
    width:auto!important;
    margin:0!important;
    padding:7px 10px!important;
    justify-self:end!important;
  }

  body .site-header nav,
  body header.site-header nav,
  body .site-header .site-nav,
  body header.site-header .site-nav{
    display:none!important;
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:5px 0 2px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:2px!important;
    flex-wrap:nowrap!important;
    overflow:visible!important;
  }

  body .site-header.mobile-nav-open nav,
  body header.site-header.mobile-nav-open nav,
  body .site-header.mobile-nav-open .site-nav,
  body header.site-header.mobile-nav-open .site-nav{
    display:flex!important;
  }

  body .site-header nav > a,
  body .site-header nav > button,
  body .site-header nav > .btn,
  body .site-header nav > .nav-link,
  body .site-header nav > .nav-dropdown{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:38px!important;
    margin:0!important;
  }

  body .site-header nav > a,
  body .site-header nav > button,
  body .site-header nav > .btn,
  body .site-header nav > .nav-link{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:8px 10px!important;
    white-space:normal!important;
    text-align:left!important;
  }

  body .site-header .nav-dropdown{
    position:relative!important;
    width:100%!important;
  }

  body .site-header .nav-drop-toggle{
    width:100%!important;
    min-height:38px!important;
    padding:8px 10px!important;
    text-align:left!important;
  }

  body .site-header .nav-drop-menu{
    position:static!important;
    display:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:2px 0 3px!important;
    padding:3px 0 3px 10px!important;
    border:0!important;
    border-left:2px solid var(--line,#d8e3ee)!important;
    border-radius:0!important;
    box-shadow:none!important;
  }

  body .site-header .nav-dropdown.open .nav-drop-menu{
    display:block!important;
  }

  body .site-header .nav-drop-menu a,
  body .site-header .nav-drop-menu button{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-height:36px!important;
    padding:7px 9px!important;
    white-space:normal!important;
  }

  body .site-header .nav-user-name{
    max-width:100%!important;
  }
}
