.nav-toggle, .nav-cta { display: none; }
@media (max-width: 1040px) {
  .site-header { align-items: center; flex-direction: row; flex-wrap: wrap; gap: 0; }
  .nav-toggle { align-items: center; background: var(--forest); border: 0; border-radius: 12px; cursor: pointer; display: inline-flex; flex-direction: column; gap: 5px; height: 44px; justify-content: center; width: 44px; }
  .nav-toggle span { background: #fff; border-radius: 2px; height: 2px; transition: transform .25s, opacity .2s; width: 20px; }
  .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .nav { background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: 0 24px 40px rgba(32,59,45,.16); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0; left: 0; max-height: 0; opacity: 0; overflow: hidden; padding: 0 clamp(18px, 4vw, 56px); pointer-events: none; position: absolute; right: 0; top: 100%; transition: max-height .35s ease, opacity .25s, padding .35s; align-items: stretch; }
  .nav.open { max-height: 80vh; opacity: 1; padding-bottom: 20px; padding-top: 8px; pointer-events: auto; }
  .nav a { border-bottom: 1px solid var(--line); font-size: 1rem; padding: 15px 4px; }
  .nav a:not(.nav-cta)::after { color: var(--copper); content: "\203A"; float: right; font-size: 1.3rem; line-height: 1; }
  .nav-cta { background: var(--forest); border: 0 !important; border-radius: 999px; color: #fff !important; display: block; margin-top: 16px; padding: 14px 20px !important; text-align: center; }
}
