/* The XII Reserve | Mobile Header Repair | 2026-11-09
   Scoped to existing site-header variants. Desktop layout is untouched. */
@media (max-width:980px) {
  :root { --xii-mobile-header-height: 72px; }
  header.site-header {
    position:fixed !important;
    top:0 !important; left:0 !important; right:0 !important;
    width:100% !important;
    height:var(--xii-mobile-header-height) !important;
    min-height:0 !important;
    max-height:var(--xii-mobile-header-height) !important;
    margin:0 !important;
    padding:0 !important;
    z-index:9900 !important;
    overflow:visible !important;
    background:#050505 !important;
    background-image:none !important;
    border-bottom:1px solid rgba(201,164,92,.25) !important;
    box-sizing:border-box !important;
  }
  header.site-header .nav-wrap,
  header.site-header .wrap.nav {
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    position:relative !important;
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    height:var(--xii-mobile-header-height) !important;
    min-height:0 !important;
    margin:0 auto !important;
    padding:0 16px !important;
    overflow:visible !important;
  }
  header.site-header .nav-wrap > a.brand-mini {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    flex:0 1 205px !important;
    width:205px !important;
    min-width:0 !important;
    max-width:calc(100% - 104px) !important;
    height:60px !important;
    margin:0 !important;
  }
  header.site-header .nav-wrap > a.brand-mini img {
    display:block !important;
    width:100% !important;
    max-width:205px !important;
    height:auto !important;
    max-height:60px !important;
    object-fit:contain !important;
    object-position:left center !important;
  }
  header.site-header .wrap.nav > a.brand {
    display:flex !important;
    align-items:center !important;
    flex:0 1 210px !important;
    width:210px !important;
    min-width:0 !important;
    max-width:calc(100% - 108px) !important;
    height:62px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  header.site-header .wrap.nav > a.brand .brand-mark {
    flex:0 0 52px !important;
    width:52px !important;
    max-width:52px !important;
    height:52px !important;
    max-height:52px !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
  header.site-header .wrap.nav > a.brand .brand-copy {
    display:inline !important;
    margin-left:7px !important;
    font-family:Georgia,serif !important;
    font-size:10px !important;
    letter-spacing:.10em !important;
    white-space:nowrap !important;
    color:#d6b76e !important;
  }
  header.site-header .nav-wrap > .menu-toggle,
  header.site-header .wrap.nav > .mobile-menu-toggle {
    display:inline-flex !important;
    position:relative !important;
    flex:0 0 auto !important;
    align-items:center !important;
    justify-content:center !important;
    visibility:visible !important;
    opacity:1 !important;
    width:auto !important;
    min-width:78px !important;
    max-width:100px !important;
    height:39px !important;
    margin:0 !important;
    padding:0 13px !important;
    border:1px solid rgba(201,164,92,.6) !important;
    border-radius:0 !important;
    background:#090909 !important;
    color:#d8bb7c !important;
    box-shadow:none !important;
    font-size:10px !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-weight:500 !important;
    letter-spacing:.18em !important;
    line-height:1 !important;
    text-transform:uppercase !important;
    cursor:pointer !important;
    pointer-events:auto !important;
    touch-action:manipulation !important;
    z-index:10002 !important;
  }
  /* Hide large stacked menus until the button is explicitly activated. */
  header.site-header .nav-wrap > nav.nav:not(.open),
  header.site-header .wrap.nav > nav.menu:not(.open) {
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    height:0 !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
  }
  header.site-header .nav-wrap > nav.nav.open,
  header.site-header .wrap.nav > nav.menu.open {
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    position:fixed !important;
    top:var(--xii-mobile-header-height) !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    width:100% !important;
    max-width:100vw !important;
    height:auto !important;
    min-height:0 !important;
    max-height:calc(100vh - var(--xii-mobile-header-height)) !important;
    max-height:calc(100dvh - var(--xii-mobile-header-height)) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    margin:0 !important;
    padding:8px 18px 20px !important;
    gap:0 !important;
    transform:none !important;
    clip-path:none !important;
    box-sizing:border-box !important;
    border:0 !important;
    border-bottom:1px solid rgba(201,164,92,.4) !important;
    background:#080808 !important;
    background-image:none !important;
    box-shadow:0 20px 42px rgba(0,0,0,.75) !important;
    z-index:10001 !important;
  }
  header.site-header .nav-wrap > nav.nav.open > a,
  header.site-header .wrap.nav > nav.menu.open > a {
    display:flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    min-height:43px !important;
    margin:0 !important;
    padding:11px 7px !important;
    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.09) !important;
    color:#dedad2 !important;
    font-size:11px !important;
    font-weight:400 !important;
    letter-spacing:.13em !important;
    line-height:1.5 !important;
    text-align:left !important;
    text-transform:uppercase !important;
    box-sizing:border-box !important;
  }
  header.site-header .nav-wrap > nav.nav.open > a.active,
  header.site-header .wrap.nav > nav.menu.open > a.active { color:#d8bb7c !important; }
  header.site-header .nav-wrap > nav.nav.open > a:last-child,
  header.site-header .wrap.nav > nav.menu.open > a:last-child { border-bottom:0 !important; }
  body.xii-mobile-nav-open { overflow:hidden !important; }
}
