/* ---- Header / nav ---- */
header.site nav { display: flex; gap: 1.3rem; align-items: center; }
header.site nav a { font-size: .95rem; }
header.site nav a[aria-current="page"]:not(.nav-xh):not(.btn-cta) { color: var(--accent); }
header.site img.logo { width: 180px; height: auto; }
.nav-toggle { display: none; background: transparent; border: 1px solid var(--line); border-radius: 4px; color: var(--text-bright); width: 44px; height: 40px; cursor: pointer; align-items: center; justify-content: center; }
.nav-toggle svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; }


/* ---- Footer ---- */
footer ul { list-style: none; margin: 0; padding: 0; }
footer li { margin: 0 0 .4rem; }
footer .footer-grid { grid-template-columns: 1.2fr 1fr 1fr 1.4fr; }
@media (max-width: 900px) { footer .footer-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { footer .footer-grid { grid-template-columns: 1fr; } }


/* ---- Header: full bar on desktop, burger below 1200px ---- */
header.site .hdr-actions { display: flex; align-items: center; gap: .6rem; flex-shrink: 0; }
header.site .wrap > a:first-child { flex: 0 0 auto; }
header.site nav { gap: .9rem; }
header.site nav a { font-size: .85rem; white-space: nowrap; }
header.site nav a:not(.nav-xh) { display: inline-block !important; }
header.site nav a.nav-xh { padding: .5rem .9rem; font-size: .8rem; }
header.site .btn-cta { padding: .55rem 1rem; font-size: .8rem; white-space: nowrap; }
@media (min-width: 1400px) { header.site .nav-toggle { display: none !important; } }
@media (max-width: 1399px) {
  header.site .wrap { flex-wrap: wrap; }
  header.site .hdr-actions { margin-left: auto; }
  .js header.site .nav-toggle { display: inline-flex; }
  header.site nav { order: 3; flex: 0 0 100%; flex-direction: column; align-items: stretch; gap: 0; padding: .25rem 0 1rem; }
  .js header.site nav:not(.open) { display: none; }
  header.site nav a:not(.nav-xh) { display: block !important; padding: .85rem .25rem; border-bottom: 1px solid var(--line); font-size: .95rem; }
  header.site nav a.nav-xh { margin-top: .9rem; justify-content: center; font-size: .9rem; }
  header.site img.logo { width: 150px; }
}
@media (max-width: 480px) { header.site .btn-cta { padding: .45rem .7rem; font-size: .72rem; letter-spacing: .04em; } header.site img.logo { width: 130px; } header.site .hdr-actions { gap: .4rem; } }
@media (min-width: 1400px) { header.site img.logo { width: 150px; } header.site nav { gap: .7rem; } header.site nav a { font-size: .8rem; letter-spacing: .02em; } header.site nav a.nav-xh, header.site .btn-cta { padding: .45rem .75rem; } header.site .wrap { gap: .6rem; } }
