/* Mobile Enhancements */
:root { --nav-panel-width: 300px; --tap-size: 44px; }
img, video, iframe { max-width: 100%; height: auto; }
.section, section { box-sizing: border-box; padding-left: min(4vw, 20px); padding-right: min(4vw, 20px); }
.nav-toggle{ appearance:none; border:none; background:transparent; width:var(--tap-size); height:var(--tap-size); display:none; align-items:center; justify-content:center; cursor:pointer; margin-left:auto;}
.nav-toggle svg{ width:28px; height:28px;}
@media (max-width: 900px) {
  .nav-toggle { display:inline-flex; }
  header, .site-header{ position:relative; z-index:1001; }
  header nav, .site-header nav, nav.primary, nav.main, nav[aria-label="Primary"]{ position:fixed; top:0; right:0; width:var(--nav-panel-width); height:100dvh; max-height:100vh; background:#0b1a2a; color:#fff; padding:20px; box-shadow:-6px 0 18px rgba(0,0,0,.24); transform:translateX(100%); transition:transform .25s ease; overflow-y:auto; }
  header nav ul, .site-header nav ul, nav.primary ul, nav.main ul{ display:flex !important; flex-direction:column; gap:12px; margin:0; padding:0; list-style:none; }
  header nav a, .site-header nav a, nav.primary a, nav.main a{ display:block; padding:10px 8px; }
  body.nav-open header nav, body.nav-open .site-header nav, body.nav-open nav.primary, body.nav-open nav.main, body.nav-open nav[aria-label="Primary"]{ transform:translateX(0%); }
  body.nav-open{ overflow:hidden; touch-action:none; }
  .nav-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.4); opacity:0; pointer-events:none; transition:opacity .2s ease; z-index:1000; }
  body.nav-open .nav-overlay{ opacity:1; pointer-events:auto; }
  header .brand, .site-header .brand, header .logo, .site-header .logo{ display:flex; align-items:center; gap:10px; }
  header nav ul > li{ white-space:nowrap; }
}
header a, .site-header a{ min-height:var(--tap-size); }