/* Shared site header. Single source of truth for every page. */
.util-bar { background:var(--surface); border-bottom:1px solid var(--border); font-size:11.5px; color:var(--muted); padding:8px 0; }
.util-inner { max-width:1160px; margin:0 auto; padding:0 40px; display:flex; gap:24px; flex-wrap:wrap; }
.util-inner a { color:var(--muted); }
.util-inner a:hover { color:var(--burgundy); }

nav { border-bottom:2px solid var(--burgundy); position:relative; z-index:40; background:#fff; }
.nav-inner { display:flex; align-items:center; justify-content:space-between; padding:18px 40px; max-width:1160px; margin:0 auto; }
.brand { display:flex; align-items:center; }
.brand-mark { display:block; flex-shrink:0; }
.nav-links { display:flex; gap:26px; }
.nav-links a { font-size:13px; font-weight:700; color:var(--ink-soft); }
.nav-links a:hover { color:var(--burgundy); }
.nav-cta { background:var(--burgundy); color:#fff; padding:11px 22px; font-size:13px; font-weight:700; border-radius:100px; }
.nav-cta:hover { background:var(--burgundy-dark); text-decoration:none; }
.nav-toggle { display:none; background:none; border:none; cursor:pointer; padding:6px; flex-direction:column; gap:5px; }
.nav-toggle span { display:block; width:22px; height:2px; background:var(--navy); border-radius:2px; }

@media (max-width:820px) {
  .nav-links { display:none; flex-direction:column; gap:0; position:absolute; top:100%; left:0; right:0; z-index:40; background:#fff; border-bottom:1px solid var(--border); box-shadow:0 12px 24px rgba(21,34,56,.10); padding:8px 24px 16px; }
  .nav-links.open { display:flex; }
  .nav-links a { padding:10px 0; }
  .nav-toggle { display:flex; }
  .nav-cta { white-space:nowrap; padding:10px 16px; font-size:12.5px; }
  .nav-inner { padding:14px 24px; }
  .util-inner { padding:0 24px; }
}
