.directory{max-width:1240px;margin-inline:auto}
.directory [hidden]{display:none!important}
.index-mast{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;padding-block:clamp(1rem,3vw,3rem) 1.5rem;border-bottom:1px solid #48453c}
.directory .index-mast h1{margin:0;font:500 clamp(3.2rem,7.4vw,7rem)/.96 Manrope,sans-serif;letter-spacing:-.07em}
.index-mast h1 em{color:#e1c59f;font-family:Georgia,serif;font-weight:400}
.index-search{display:grid;gap:5px;min-width:min(240px,100%);font-size:.8rem;color:#c9c5be}
.index-search input{width:100%;min-height:44px;border:1px solid #575650;border-radius:5px;padding:.55rem .85rem;background:#191b1b;color:#fff;font:inherit;font-size:1rem}
.directory .cabinet-filters{margin:18px 0 5px;gap:5px}
.directory .cabinet-filters button{border:0;background:transparent;color:#c6c4be;box-shadow:none;border-radius:4px;padding:8px 13px}
.directory .cabinet-filters button[aria-pressed=true]{background:#e0c499;color:#201b15}
.directory #filter-count{margin:12px 0 18px}
.directory .cabinet-card{border-top:1px solid #494843;padding-top:12px}
.directory .mini-tv{background:linear-gradient(155deg,#414139,#232625 55%,#191c1b);border-color:#585952;box-shadow:0 4px 0 #0a0b0b}
.directory .mini-tv img{background:#151717;border-color:#101212;height:auto;aspect-ratio:1.65;object-fit:contain}
.directory .cabinet-card:is(:hover,:focus-visible) .mini-tv{border-color:#c9a776;box-shadow:0 2px 15px #cfaa7633;transform:translateY(-2px)}
.directory .cabinet-label{padding:12px 1px 0}
.directory .cabinet-label>span{font-size:.75rem;color:#c6b296}
.directory .cabinet-label h2{color:#f7f4ee;margin:.1em 0 .18em}
.directory .cabinet-label p{margin:0;font-size:.91rem;line-height:1.5;color:#b5b9b5}
.directory .archive-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:0 24px}
.directory .archive-links a{border-top:1px solid #484843;min-height:48px;padding-block:12px}
.directory #reset-search{padding:10px;background:none;border:0;color:#e0c499;text-decoration:underline}
@media(max-width:600px){.index-mast{display:grid;gap:18px}.directory .cabinet-filters button{padding:6px 10px}.directory .cabinet-label p{font-size:.81rem}.directory .cabinet-grid{gap:24px 12px}.directory .cabinet-label h2{font-size:1.12rem}}
@media(prefers-reduced-motion:reduce){.directory .mini-tv{transition:none}}
