/* Mobile header: preserve actual touch targets instead of squeezing nav labels beside the brand. */
@media (max-width:760px) {
  .nav-shell {
    align-items:center;
    flex-wrap:wrap;
    gap:10px 14px;
    min-height:0;
    padding:12px 14px 14px;
  }

  .brand {
    font-size:22px;
  }

  .brand span {
    display:none;
  }

  .primary-nav {
    flex:1 0 100%;
    gap:8px;
    justify-content:stretch;
    max-width:none;
  }

  .primary-nav > a,
  .nav-menu {
    flex:1 1 0;
    min-width:0;
  }

  .primary-nav > a,
  .nav-menu summary {
    align-items:center;
    border:1px solid var(--border);
    border-radius:8px;
    display:flex;
    font-size:13px;
    font-weight:700;
    justify-content:center;
    line-height:1.15;
    min-height:44px;
    padding:8px 7px;
    text-align:center;
  }

  .nav-menu summary span { margin-left:2px; }
  .subnav {
    left:50%;
    right:auto;
    top:50px;
    transform:translateX(-50%);
    width:min(260px,calc(100vw - 28px));
  }
}
