.nav-menu-toggle { display:none; }
.nav-mobile-overlay, .nav-mobile-panel { display:none; }

@media (max-width:760px) {
  .nav-menu-toggle { width:40px; height:40px; display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:0; border:1px solid rgba(255,255,255,.3); background:transparent; color:#fff; cursor:pointer; }
  .nav-menu-toggle span { width:17px; height:1px; display:block; background:currentColor; }
  .nav-mobile-overlay { position:fixed; z-index:90; inset:0; display:block; background:rgba(0,0,0,.58); opacity:0; pointer-events:none; transition:opacity .2s ease; }
  .nav-mobile-panel { position:fixed; z-index:91; top:0; right:0; width:min(340px,88vw); height:100dvh; display:flex; flex-direction:column; padding:20px; background:#111417; border-left:1px solid rgba(255,255,255,.16); transform:translateX(100%); transition:transform .24s ease; box-shadow:-18px 0 50px rgba(0,0,0,.35); }
  .nav-mobile-panel.is-open { transform:translateX(0); }
  .nav-mobile-overlay.is-open { opacity:1; pointer-events:auto; }
  .nav-mobile-panel header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 0 24px; border-bottom:1px solid rgba(255,255,255,.14); }
  .nav-mobile-panel strong { font-size:14px; letter-spacing:.04em; }
  .nav-mobile-close { width:40px; height:40px; padding:0; border:1px solid rgba(255,255,255,.25); background:transparent; color:#fff; font-size:27px; line-height:1; cursor:pointer; }
  .nav-mobile-panel nav { display:grid; gap:0; margin:18px 0 auto; }
  .nav-mobile-panel nav a { padding:18px 0; border-bottom:1px solid rgba(255,255,255,.12); color:#fff; font-size:21px; font-weight:850; }
  .nav-mobile-panel .nav-drawer-quote { width:100%; min-height:48px; display:inline-flex; align-items:center; justify-content:center; background:#ff7a1a; color:#0b0d0f; font-weight:900; }
  body.nav-drawer-open { overflow:hidden; }
}