
/* ===== RESPONSIVE HAMBURGER HEADER (2026-09-09) ===== */
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;background:var(--ink);border:none;border-radius:6px;cursor:pointer;padding:10px;flex-shrink:0;position:relative;z-index:60}
.nav-burger span{display:block;height:2.5px;width:100%;background:#fff;border-radius:2px;transition:transform .25s ease,opacity .2s ease}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

.mobile-menu{display:none}

@media (max-width:1020px){
  header nav{display:none}
  .nav-burger{display:flex}
  .mobile-menu{display:block;position:fixed;top:0;right:0;bottom:0;width:min(320px,86vw);background:#fff;box-shadow:-12px 0 40px rgba(7,22,56,.25);transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:55;overflow-y:auto;padding:84px 24px 32px}
  .mobile-menu.open{transform:translateX(0)}
  .mobile-menu[hidden]{display:block;transform:translateX(100%)}
  .mm-nav{display:flex;flex-direction:column;border-bottom:1px solid #e5e8e3}
  .mm-nav a{padding:15px 4px;font-family:var(--t-display);font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);text-decoration:none;border-bottom:1px solid #eef0ec}
  .mm-nav a:active{color:var(--red)}
  .mm-phones{display:flex;flex-direction:column;margin:18px 0}
  .mm-phones a{padding:11px 4px;font-size:14.5px;font-weight:600;color:var(--navy);text-decoration:none;border-bottom:1px solid #eef0ec}
  .mm-quote{display:block;text-align:center;background:var(--red);color:#fff;padding:14px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:6px;text-decoration:none;font-size:14px}
  .mm-backdrop{position:fixed;inset:0;background:rgba(7,22,56,.45);z-index:54;opacity:0;pointer-events:none;transition:opacity .3s}
  .mm-backdrop.show{opacity:1;pointer-events:auto}
  /* logo scales down gracefully on mobile */
  .logo-img{height:40px !important}
  .header-wrap{padding:10px 16px;gap:12px}
}

@media (max-width:640px){
  .logo-img{height:34px !important}
  .header-wrap{padding:9px 12px}
  .mobile-menu{width:min(300px,88vw)}
}
