.site-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; padding: 12px 28px; border-bottom: 1px solid var(--border); background: var(--surface); flex-shrink: 0; }
.site-header a { color: var(--accent-strong, #0f5d52); text-decoration: none; }
.site-brand { font-weight: 750; font-size: 1.1rem; white-space: nowrap; display: inline-flex; align-items: center; min-height: 44px; }
.site-nav { display: flex; flex-wrap: wrap; gap: 4px; }
.site-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; border-radius: 8px; font-size: 1rem; }
.site-nav a:hover, .site-nav a[aria-current] { background: var(--surface-soft); }
.site-nav a[aria-current] { font-weight: 750; box-shadow: inset 0 -3px var(--accent-strong); }
.site-header a:focus-visible, .section-card:focus-visible { outline: 3px solid var(--accent-strong); outline-offset: 3px; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 10; padding: 10px; background: var(--surface); color: var(--accent-strong); clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; }
.skip-link:focus { clip-path: none; width: auto; height: auto; overflow: visible; outline: 3px solid var(--accent-strong); }
@media (max-width: 600px) { .site-header { padding: 8px 16px; gap: 0 16px; } .site-nav a { padding: 8px 10px; } }
/* Long source hashes must wrap within the existing local Buildings panel. */
body[data-section="buildings"] .source-note { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  body[data-section="buildings"] .detail-header { grid-template-columns: minmax(0, 1fr); }
  body[data-section="buildings"] .detail-header > div { min-width: 0; overflow-wrap: anywhere; }
  body[data-section="buildings"] .badge { white-space: normal; max-width: 100%; }
}
