:focus-visible { outline: 3px solid #9b4b20; outline-offset: 4px; }
.search-descriptor { font-size: 1rem; font-weight: 650; line-height: 1.55; max-width: 65ch; }
.card-search-descriptor { color: #48534c; font-size: .92rem; font-weight: 700; margin: -.2rem 0 .7rem; }
.policy-main > .section { padding: 24px; background: #fff; border: 1px solid #d9dfd8; border-radius: 12px; margin-bottom: 24px; }
.policy-section p { max-width: 75ch; }
.catalog-card h3 a { color: inherit; }
img { height: auto; }
.resource-reference { margin: 2rem 0; padding: 1.5rem; border: 1px solid #d9dfd8; border-radius: 12px; background: #fff; }
.resource-reference p { max-width: 75ch; }
.reference-scroll { overflow-x: auto; }
.resource-reference table { border-collapse: collapse; width: 100%; line-height: 1.5; }
.resource-reference caption { text-align: left; font-weight: 700; padding: .75rem; }
.resource-reference th, .resource-reference td { border: 1px solid #c6cec8; text-align: left; vertical-align: top; padding: .75rem; min-width: 8rem; }
.resource-reference thead { background: #e9efe9; }
.resource-update, .reference-print-note { font-size: .9rem; color: #48534c; }
@media print {
  .site-header, .policy-header, .site-footer, .policy-footer, .article-sidebar, .article-cta, .reference-print-note { display: none; }
  .article-layout { display: block; }
  .reference-scroll { overflow: visible; }
  .resource-reference { border: 0; padding: 0; }
  .resource-reference tr { break-inside: avoid; }
  .resource-reference th, .resource-reference td { min-width: 0; }
}
@media (max-width: 600px) { .section > h1 { font-size: 2.3rem; line-height: 1.15; overflow-wrap: break-word; } }
@media (max-width: 900px) {
  .site-header .header-inner { flex-wrap: wrap; gap: 12px; }
  .site-header .nav { display: flex; flex-wrap: wrap; gap: 14px; font-size: .9rem; }
  .site-header .nav a:not(.nav-cta) { display: inline-block; }
}
