body { margin: 0; background: #f7f5ef; color: #242424; font: 1rem/1.5 system-ui, sans-serif; }
.directory-page { box-sizing: border-box; max-width: 80rem; margin: auto; padding: 1.25rem; }
.directory-nav { display: flex; flex-wrap: wrap; gap: 1rem; }
.directory-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.category-directory h1 { font-size: clamp(1.75rem, 4vw, 3rem); }
.directory-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; padding: 0; list-style: none; }
.directory-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem 1rem; padding: 1rem; border: 1px solid #777; border-radius: .5rem; overflow-wrap: anywhere; }
.directory-row a { min-height: 44px; display: flex; align-items: center; font-weight: 700; }
.directory-row small, .directory-row p { grid-column: 1 / -1; }
.directory-row p { margin: 0; }
[data-world-header], [data-world-footer] { box-sizing: border-box; max-width: 80rem; margin: auto; padding: 1.25rem; }
[data-world-header] a, [data-world-footer] a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; }
a { color: inherit; text-underline-offset: .2em; }
a:focus-visible { outline: 3px solid #b92206; outline-offset: 4px; }
.is-stale .directory-grid { color: #595959; background: #e8e8e8; }
@media (min-width: 64rem) { .directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
