/* Birdwatching field guide: local, text-first directory. */
.site-header { border-top: 4px solid var(--c-accent); }
.brand { color: var(--c-accent); font-family: Georgia, serif; font-size: 1.35rem; }
.header-inner { gap: 12px 24px; padding-block: 16px; }
.site-nav ul { flex-wrap: wrap; overflow: visible; gap: 4px 16px; }
.site-nav a { white-space: normal; min-height: 44px; }
.guide-search { font-size: .95rem; }
.hero { padding: 28px 0 32px; border-bottom: 1px solid var(--c-border); text-align: start; }
.hero h1 { max-width: 24ch; font-size: clamp(2rem, 1.4rem + 2.5vw, 3.5rem); line-height: 1.12; }
.field-label { color: var(--c-accent); font-size: .75rem; font-weight: 700; letter-spacing: .12em; margin-bottom: 16px; }
.guide-intro { max-width: 48ch; color: var(--c-muted); margin-block: 16px; }
.home-search { margin-block: 4px 12px; }
.blocks, .article-grid, .entity-grid { gap: 28px; }
.card { padding: 12px; border-left: 3px solid var(--c-accent) !important; }
.card-title { font-size: 1.05rem; line-height: 1.35; }
.card-text { font-size: .9rem; line-height: 1.5; margin-bottom: 8px; }
.cards { gap: 12px; }
.cards-compact { grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
.block > h2 { font-size: 1.2rem; color: var(--c-accent); }
.page-header { padding-block: 12px 20px; border-bottom: 1px solid var(--c-border); }
.page-header h1 { max-width: 32ch; }
.prose { font-size: 1.0625rem; line-height: 1.8; }
.block-body { background: var(--c-surface); padding: 24px; border: 1px solid var(--c-border); border-radius: var(--radius); }
.prose table { width: 100%; }
.prose th { background: var(--c-bg); }
.chips a { min-height: 44px; display: inline-flex; align-items: center; color: var(--c-accent); }
.search-form { max-width: 48rem; padding: 20px; background: var(--c-surface); border: 2px solid var(--c-accent); border-radius: var(--radius); }
.search-form input { min-height: 48px; }
.search-form .product-search { width: 100%; }
.block-filters { padding: 16px; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius); }
.toc { border-left: 3px solid var(--c-accent); }
.site-footer { background: var(--c-bg); }
@media (max-width: 719px) {
  .shell { width: calc(100% - 32px); }
  .brand { max-width: 100%; }
  .guide-search { width: 100%; }
  .hero { padding-block: 20px; }
  .block-body { padding: 16px; }
  .search-form { padding: 12px; flex-direction: column; }
  .search-form .button { width: 100%; }
  .facts, .contacts { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .facts dd, .contacts dd { margin-bottom: 12px; }
}
