/* Shared navigation: clear hierarchy, generous targets, compact mobile header. */
.announcement { min-height:28px; height:auto; padding:6px 16px; font-size:10px; letter-spacing:1.5px; text-align:center; }
.site-header { background:rgba(255,255,255,.97); }
.header-inner { min-height:76px; gap:24px; }
.wordmark { flex-shrink:0; font-size:32px; }
.desktop-nav { justify-content:flex-end; gap:4px; }
.desktop-nav a,.header-contact { min-height:44px; padding:11px 14px; font-size:14px; font-weight:700; letter-spacing:.25px; }
.desktop-nav a { white-space:nowrap; }
.desktop-nav a[aria-current="page"] { background:#edf0eb; }
.header-contact { flex-shrink:0; }
.menu-toggle { display:none; }
.mobile-nav { left:0; right:0; width:100%; max-height:calc(100dvh - 100px); overflow-y:auto; padding:12px var(--page-pad) 20px; border:0; border-bottom:1px solid #d9ddd6; box-shadow:0 14px 24px #17231c12; }
.mobile-nav a { min-height:52px; padding:15px 12px; border-radius:6px; border-bottom-color:#e5e8e2; font-size:16px; letter-spacing:.4px; }
.mobile-nav a:hover,.mobile-nav a:focus-visible { background:#edf0eb; }
.menu-toggle { color:#17231c; border-color:#b6beb5; background:#fff; }
.menu-toggle[aria-expanded="true"] { background:#17231c; color:#fff; border-color:#17231c; }
.menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(4.5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-4.5px) rotate(-45deg); }
.filters button[aria-pressed="true"]:hover { background:#304937; color:#fff; }
.filters button:focus-visible,.header-contact:focus-visible,.menu-toggle:focus-visible { outline:2px solid #a55554; outline-offset:3px; }
@media (max-width:1100px) {
  .desktop-nav { display:none; }
  .menu-toggle { display:flex; order:-1; }
  .header-inner { min-height:68px; gap:14px; }
  .wordmark { margin-right:auto; font-size:29px; }
  .menu-toggle { width:44px; height:44px; }
}
@media (max-width:600px) {
  .header-inner { gap:10px; }
  .wordmark { font-size:clamp(24px,6.8vw,29px); letter-spacing:-1.5px; }
  .header-contact { font-size:13px; padding:10px; letter-spacing:0; }
  .collection-toolbar { display:block; padding-bottom:12px; }
  .filters { flex-wrap:nowrap; gap:7px; max-width:100%; overflow-x:auto; padding:5px 3px 10px; scrollbar-width:thin; }
  .filters button { flex:0 0 auto; min-height:44px; padding:10px 13px; font-size:11px; }
  .collection-toolbar > span { display:block; padding-top:2px; font-size:11px; }
}
@media (max-width:360px) {
  .header-inner { width:calc(100% - 28px); gap:8px; }
  .header-contact { padding-inline:8px; font-size:12px; }
}
