#treatment-directory [hidden]{display:none!important}
.directory-intro{display:grid;grid-template-columns:1.12fr 1fr;background:var(--cream);padding:clamp(30px,6vw,90px) max(5vw,20px);gap:clamp(25px,6vw,90px);align-items:center}
.directory-intro h1{font-size:clamp(36px,4.1vw,62px);line-height:1.35;margin:.4em 0}.directory-intro p:not(.cn-kicker){max-width:30em;color:var(--muted)}.directory-intro a{display:inline-block;margin-top:16px;color:var(--gold-dark);border-bottom:1px solid var(--gold);padding-bottom:5px}
.directory-intro figure{margin:0}.directory-intro img{display:block;aspect-ratio:5/4;object-fit:cover;width:100%;height:auto}.directory-intro figcaption{font:10px/2 system-ui;letter-spacing:.15em;margin-top:10px;color:var(--muted)}
.directory-content{max-width:1440px;margin:auto;padding:clamp(38px,6vw,90px) max(5vw,20px)}.directory-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:36px}.directory-toolbar h2{font-size:clamp(28px,3vw,42px);margin:.3em 0 0}
.directory-search{font-size:12px;display:grid;gap:7px;width:min(100%,330px);flex-shrink:0;color:var(--muted)}.directory-search input{min-width:0;line-height:1.6;padding:13px 14px;border:1px solid var(--rule);border-radius:0;background:transparent;color:var(--ink);width:100%;font-family:inherit;font-size:16px}
.directory-filters{display:flex;flex-wrap:wrap;gap:8px}.directory-filters a{min-height:44px;display:inline-flex;align-items:center;padding:8px 17px;border:1px solid var(--rule);font-size:14px}.directory-filters a[aria-current]{background:var(--ink);border-color:var(--ink);color:white;text-decoration:none}.directory-status{display:flex;align-items:center;justify-content:space-between;min-height:65px;color:var(--muted);font-size:13px}.directory-status button{font:inherit;background:none;border:0;cursor:pointer;color:var(--gold-dark);min-height:44px;padding:8px}
.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.directory-card{display:flex;flex-direction:column;padding:0 20px 12px;background:#fffdf9;border:1px solid var(--rule);min-width:0;transition:border-color .18s}.directory-card:hover,.directory-card:focus-within{border-color:var(--gold)}.directory-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--gold-dark);font-size:11px;letter-spacing:.06em}.directory-card-top>span{font:15px Georgia,serif}.directory-card-top p{margin:0}.directory-card h2{font-size:clamp(19px,1.65vw,25px);line-height:1.4;margin:12px 0 16px;overflow-wrap:anywhere}.directory-card-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:auto;border-top:1px solid var(--rule);font-size:13px}.directory-card-links>a{min-height:44px;display:inline-flex;align-items:center;gap:14px}.directory-card-links>a:last-child{color:var(--gold-dark)}.directory-empty{background:var(--cream);padding:48px 25px;text-align:center}.directory-empty h2{font-size:25px}.directory-note{margin-top:30px;font-size:13px;color:var(--muted)}.directory-note a{color:var(--gold-dark)}
@media(max-width:720px){.directory-intro{grid-template-columns:1fr}.directory-intro figure{max-width:100%}.directory-intro img{aspect-ratio:16/9;max-height:280px}.directory-toolbar{align-items:stretch;flex-direction:column}.directory-search{width:100%}.directory-grid{grid-template-columns:1fr}.directory-filters{gap:7px}.directory-filters a{padding:8px 12px}.directory-card h2{margin:20px 0}.directory-content{padding-top:40px}}
@media(prefers-reduced-motion:reduce){.directory-card{transition:none}}

.directory-cover {
  display: block;
  position: relative;
  aspect-ratio: 3 / 2;
  margin: 0 -20px 16px;
  overflow: hidden;
  background: linear-gradient(145deg, #f8f4ed, #ebe2d5);
}
.directory-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.directory-cover[data-fit="wide"] img { object-fit: cover; }
.directory-cover[data-fit="portrait"] img { padding: 10px; }
.directory-cover:focus-visible { outline-offset: -4px; }
@media (min-width: 721px) and (max-width: 1050px) {
  .directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
