.ob-directory{min-height:100vh}
/* X-UX-24000: source-owned commercial navigation — full-height touch targets. */
.ob-directory .ob-topbar .ob-wordmark{min-height:44px;justify-content:center}
.ob-directory .ob-topbar-actions>a:not(.ob-button){display:inline-flex;align-items:center;min-height:44px;justify-content:center;padding-block:10px;text-decoration:none}
.ob-directory .ob-topbar-actions>a:not(.ob-button):focus-visible{border-radius:8px}
.ob-directory .ob-footer a{display:inline-flex;align-items:center;min-height:44px}
.ob-directory .sr-skip{position:absolute;top:-90px;left:12px;z-index:30;padding:10px;background:var(--athrty-brand-primary,#506C7D);color:var(--athrty-brand-on-primary,#fff)}.ob-directory .sr-skip:focus{top:12px}
.directory-section{padding:clamp(2rem,4vw,3.5rem) 0}
.directory-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:24px}
.directory-toolbar h2{font-size:clamp(1.6rem,2.4vw,2.2rem);letter-spacing:-.05em;line-height:1.1;font-weight:600;margin:0 0 10px}
.directory-toolbar p{margin:0}.directory-filters{display:flex;align-items:flex-end;gap:12px}
.directory-filters .ob-field:first-child{min-width:min(25vw,280px)}.directory-filters .ob-field:nth-child(2){min-width:180px}
.directory-grid{padding-bottom:12px}
/* X-UX-41000: progressive discovery within the single canonical proposal directory. */
.directory-pagination{display:flex;justify-content:center;align-items:center;margin:14px 0 22px}
.directory-pagination .ob-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:min(100%,230px);padding:11px 20px;border-radius:999px}
.directory-pagination .ob-button[hidden]{display:none!important}
.directory-grid .site-item{display:flex;flex-direction:column;gap:12px;min-width:0;padding:clamp(18px,2vw,27px);min-height:225px}
.directory-grid .site-item .ob-kicker{font-size:9px;color:var(--athrty-brand-bright,#8FA8B5)}
.directory-grid .site-item h3{font-size:clamp(1.3rem,2vw,1.75rem);font-weight:600;line-height:1.2;letter-spacing:-.055em;margin:12px 0 0;overflow-wrap:anywhere}
.directory-grid .site-item p{margin:0 0 6px;color:var(--obsidian-muted);font-size:12px;line-height:1.6}
.directory-grid .site-item a{color:var(--athrty-brand-bright,#8FA8B5);font-size:12px;font-weight:700;margin-top:auto;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;border-radius:999px;text-decoration:none}
.directory-grid .site-item a.directory-action-request{margin-top:0;background:var(--athrty-brand-primary,#506C7D);border-color:var(--athrty-brand-primary,#506C7D);color:var(--athrty-brand-on-primary,#fff)}
.directory-grid .site-item a.directory-action-review{border:1px solid rgba(143,168,181,.54);background:transparent;color:var(--athrty-brand-bright,#8FA8B5)}
.directory-grid .site-item a.directory-action-review:hover,.directory-grid .site-item a.directory-action-request:hover{background:#F1F6F8;border-color:#F1F6F8;color:#14232B;text-decoration:none}
.directory-grid .site-item a:focus-visible{outline:2px solid var(--athrty-brand-bright,#8FA8B5);outline-offset:3px}
.directory-next{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:clamp(22px,3.2vw,38px);margin:18px 0 70px}
.directory-next h2{font-size:clamp(1.7rem,3vw,2.8rem);letter-spacing:-.055em;font-weight:600;margin:16px 0 8px}
.directory-next p{font-size:13px;max-width:60ch;color:var(--obsidian-muted);margin:0}
.directory-next .ob-button{flex-shrink:0}
@media(max-width:1070px){.directory-toolbar{align-items:flex-start;flex-direction:column}.directory-filters{width:100%;flex-wrap:wrap}
.directory-filters .ob-field:first-child{flex:1;min-width:200px}.directory-filters .ob-field:nth-child(2){flex:1;min-width:180px}}
@media(max-width:650px){.ob-directory .ob-topbar-actions>a:not(.ob-button){display:none}.ob-directory .ob-topbar-actions .ob-button{white-space:nowrap}.directory-filters{display:grid;grid-template-columns:1fr}.directory-filters .ob-field{min-width:0!important}
.directory-next{flex-direction:column;align-items:flex-start}.directory-next .ob-button{width:100%}}