.directory-shell{padding:42px 0}
.directory-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}
.directory-heading p{color:var(--text-dim);max-width:650px}
.recall-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px)/3);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px;scrollbar-color:var(--blue) var(--navy-mid)}
.recall-carousel .recall-card{scroll-snap-align:start}
.carousel-controls{display:flex;gap:8px;flex:0 0 auto}
.icon-button{width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--navy-mid);color:var(--text);font-size:20px;cursor:pointer}
.icon-button:focus-visible,.filter-button:focus-visible,.recall-card a:focus-visible,#recallQuery:focus-visible{outline:3px solid #60a5fa;outline-offset:3px}
.directory-tools{position:sticky;top:60px;z-index:20;background:rgba(15,23,42,.96);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin:20px 0}
.directory-search{width:100%;min-width:0;padding:13px 15px;border:1px solid var(--border);border-radius:8px;background:var(--navy-mid);color:var(--text);font-size:16px}
.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.filter-button{border:1px solid var(--border);border-radius:999px;background:var(--navy-mid);color:var(--text-dim);padding:8px 14px;cursor:pointer}
.filter-button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}
.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.recall-card{background:var(--navy-mid);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;min-width:0}
.recall-card>a{display:block;height:100%;color:inherit;text-decoration:none}
.recall-card>a:hover h3,.recall-card>a:focus-visible h3{color:#93c5fd}
.recall-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--navy-lt)}
.recall-card-body{display:flex;flex-direction:column;padding:18px;min-height:240px}
.recall-card h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:18px;line-height:1.35;margin:9px 0}
.recall-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;color:var(--text-dim);font-size:14px;line-height:1.5}
.recall-card-meta{display:flex;justify-content:space-between;gap:8px;color:var(--text-mute);font-size:12px}
.recall-card-cta{display:inline-block;margin-top:auto;padding-top:15px;font-weight:700;color:var(--blue-lt)}
.directory-status{color:var(--text-dim);margin:12px 0 18px}
.load-more{display:block;margin:30px auto 0}
.empty-state{text-align:center;padding:48px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-dim)}
@media(max-width:900px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recall-carousel{grid-auto-columns:calc((100% - 18px)/2)}}
@media(max-width:600px){.directory-heading{align-items:start;gap:12px}.directory-grid{grid-template-columns:1fr}.recall-carousel{grid-auto-columns:88%}.directory-tools{position:static}.directory-shell{padding:28px 0}.recall-card-body{min-height:220px}}
