.site-header { position: sticky; z-index: 10; top: 0; border-bottom: 1px solid rgba(29,43,43,.08); background: rgba(255,254,250,.97); }
.header-inner { display: flex; width: 100%; min-height: 5.25rem; align-items: center; gap: clamp(1rem, 3vw, 3rem); padding: .7rem var(--page-gutter); }
.brand { display: inline-flex; align-items: center; gap: .65rem; flex-shrink: 0; }
.brand-mark { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--green); font-family: var(--serif); font-size: 1.35rem; font-style: italic; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.25; }
.brand-copy strong { font-family: var(--display); font-size: .94rem; font-weight: 800; letter-spacing: -.04em; }
.brand-copy small { color: var(--muted); font-size: .64rem; letter-spacing: .09em; text-transform: uppercase; }
.primary-nav { display: flex; flex: 1; justify-content: center; gap: clamp(.8rem, 2vw, 2rem); }
.primary-nav a { position: relative; padding: .5rem 0; color: #4f5d58; font-size: .77rem; font-weight: 600; white-space: nowrap; }
.primary-nav a::after { position: absolute; right: 0; bottom: .1rem; left: 0; height: 1px; background: var(--gold); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.primary-nav a:hover::after, .primary-nav a.active::after { transform: scaleX(1); }
.primary-nav a.active { color: var(--green-deep); }
.header-contact { display: inline-flex; align-items: center; gap: .55rem; color: var(--green-deep); font-size: .75rem; font-weight: 700; white-space: nowrap; }
.contact-dot { width: .5rem; height: .5rem; border-radius: 50%; background: #5a8b68; }
.menu-toggle { display: none; }

@media (max-width: 1020px) {
  .header-inner { gap: 1.2rem; }
  .primary-nav { gap: .95rem; }
  .primary-nav a { font-size: .7rem; }
  .header-contact { font-size: 0; }
  .header-contact .contact-dot { width: .65rem; height: .65rem; }
}

@media (max-width: 760px) {
  .header-inner { min-height: 4.5rem; justify-content: space-between; }
  .menu-toggle { display: grid; width: 2.65rem; height: 2.65rem; place-items: center; border: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; }
  .menu-icon, .menu-icon::before, .menu-icon::after { display: block; width: 1.1rem; height: 1px; background: currentColor; transition: transform .2s ease; }
  .menu-icon { position: relative; }
  .menu-icon::before, .menu-icon::after { position: absolute; left: 0; content: ""; }
  .menu-icon::before { top: -.35rem; }
  .menu-icon::after { top: .35rem; }
  .menu-toggle[aria-expanded="true"] .menu-icon { background: transparent; }
  .menu-toggle[aria-expanded="true"] .menu-icon::before { top: 0; transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-icon::after { top: 0; transform: rotate(-45deg); }
  .primary-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; align-items: stretch; gap: 0; padding: .5rem var(--page-gutter) 1rem; border-bottom: 1px solid var(--line); background: var(--paper); }
  .primary-nav.is-open { display: flex; flex-direction: column; }
  .primary-nav a { padding: .7rem 0; border-bottom: 1px solid #ecece6; font-size: .9rem; }
  .primary-nav a::after { display: none; }
  .header-contact { margin-left: auto; font-size: .72rem; }
}
