.csf-directory { max-width: none; }
.csf-directory__title { margin-top: 0; }
.csf-directory__intro { max-width: 72ch; color: var(--ink-soft); }
.csf-directory__filters { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:end; padding:0 0 24px; border-bottom:1px solid var(--line); margin:24px 0 12px; font:14px/1.4 var(--sans); }
.csf-directory__filters div { display:grid; gap:5px; }
.csf-directory__filters label { color:var(--ink-soft); font-weight:700; }
.csf-directory__filters input,.csf-directory__filters select { min-height:42px; min-width:210px; padding:8px 10px; border:1px solid var(--line); background:transparent; color:var(--ink); }
.csf-directory__filters button { min-height:42px; padding:8px 16px; border:1px solid var(--accent); background:var(--accent); color:#fff; font-weight:700; cursor:pointer; }
.csf-directory__filters a { padding:11px 0; color:var(--accent); text-decoration:underline; }
.csf-directory__count { color:var(--muted); font:13px/1.5 var(--sans); }
.csf-directory__list { list-style:none; padding:0; margin:14px 0 0; columns:2 280px; column-gap:34px; }
.csf-directory__list li { break-inside:avoid; padding:10px 0; border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent); font:17px/1.45 var(--sans); }
.csf-directory__empty { color:var(--muted); }
@media (max-width:767px) {
  .csf-directory__filters { display:grid; grid-template-columns:1fr; align-items:stretch; }
  .csf-directory__filters input,.csf-directory__filters select,.csf-directory__filters button { width:100%; }
  .csf-directory__list { columns:1; }
}
