/* Light polish of the original Global Outreach design. */
:focus-visible { outline: 2px solid var(--primary); outline-offset: 4px; }
[hidden] { display: none !important; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 100; padding: 12px 20px; background: var(--paper); }
.skip-link:focus { top: 12px; }
.nav { background: var(--paper); }
.nav-inner { gap: 1.5rem; padding-block: 1rem; }
.nav-logo { flex-shrink: 0; }
.nav-logo img { width: 280px; height: auto; max-width: none; filter: brightness(.68) saturate(1.1); }
.nav-links { gap: 1.5rem; }
.nav-links a { font-size: .9rem; }
.footer-logo { display: inline-block; padding: 1rem; background: var(--paper); border-radius: 8px; margin-bottom: 1.25rem; }
.footer-brand .footer-logo img { width: 300px; height: auto; max-width: 100%; padding: 0; margin: 0; border-radius: 0; background: transparent; filter: brightness(.68) saturate(1.1); }
.footer-inner { grid-template-columns: 1.5fr .8fr 1.2fr .8fr; gap: 2rem; }
.footer-legal { color: var(--on-deep-dim); }
#stateFilter { font: inherit; font-size: .88rem; padding: .65rem .9rem; border: 1px solid var(--sage-line); border-radius: 10px; background: var(--paper); color: var(--ink); min-width: 0; }
.dir-tools { width: 100%; display: grid; grid-template-columns: 1.2fr 1fr 1fr; }
#dirSearch, #roleFilter { width: 100%; min-width: 0; min-height: 44px; }
.chip, .quiz-opts button { min-height: 42px; }
.state-note { font-size: .8rem; }
.pcard-name { line-height: 1.25; }
.practice-attribution { margin-top: 1.5rem; font-size: .85rem !important; font-family: var(--font-ui); color: var(--on-deep-dim); }
@media(max-width:960px) {
 .nav-logo img { width: 245px; }
 .footer-inner { grid-template-columns: 1fr 1fr; }
}
@media(max-width:640px) {
 .nav-inner { gap: .6rem; }
 .nav-logo img { width: 210px; }
 .nav-cta { display: none; }
 .nav-toggle { min-height: 44px; padding: .5rem .8rem; }
 .nav-links.is-open { gap: 1rem 1.5rem; }
 .dir-tools { grid-template-columns: 1fr 1fr; }
 #dirSearch { grid-column: 1/-1; }
 #stateFilter, #roleFilter { font-size: .75rem; padding: .65rem .5rem; }
 .footer-inner { grid-template-columns: 1fr; }
 .footer-brand .footer-logo img { width: 290px; }
}
@media(max-width:360px) { .nav-logo img { width: 190px; } }
/* Directory controls: readable labels, generous touch targets, no clipped state names. */
#stateFilter { min-height: 48px; }
.footer-col a { overflow-wrap: anywhere; }
@media(max-width:640px) {
 .dir-tools { grid-template-columns: minmax(0, 1fr); gap: 12px; }
 #stateFilter, #roleFilter, #dirSearch { font-size: 16px; padding: 12px 14px; min-height: 48px; }
}
