.dcg-directory{position:relative;left:50%;box-sizing:border-box;width:min(calc(100vw - 2rem),82rem)!important;max-width:82rem!important;margin:2rem 0 4rem;padding:0;transform:translateX(-50%)}
.dcg-directory__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem)}
.dcg-directory-card{display:grid;gap:.85rem;min-width:0;color:#27231f;text-decoration:none}
.dcg-directory-card__cover{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:#eee9e2}
.dcg-directory-card__cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .3s ease}
.dcg-directory-card__placeholder{display:grid;width:100%;height:100%;place-items:center;color:#776e66;font:italic 1rem Georgia,serif}
.dcg-directory-card__veil{position:absolute;inset:0;display:grid;place-items:center;background:rgb(24 21 19 / 22%);opacity:0;transition:opacity .25s ease}
.dcg-directory-card__veil span{padding:.7rem 1rem;border:1px solid rgb(255 255 255 / 80%);color:#fff;font-size:.67rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;transform:translateY(.35rem);transition:transform .25s ease}
.dcg-directory-card:hover .dcg-directory-card__cover img,.dcg-directory-card:focus-visible .dcg-directory-card__cover img{transform:scale(1.025);filter:brightness(.9)}
.dcg-directory-card:hover .dcg-directory-card__veil,.dcg-directory-card:focus-visible .dcg-directory-card__veil{opacity:1}
.dcg-directory-card:hover .dcg-directory-card__veil span,.dcg-directory-card:focus-visible .dcg-directory-card__veil span{transform:none}
.dcg-directory-card__title{display:flex;align-items:center;justify-content:center;gap:.55rem;padding:0 .5rem;color:#27231f;font-size:.75rem;letter-spacing:.18em;line-height:1.45;text-align:center}
.dcg-directory-card__title svg{flex:0 0 auto;width:.8rem;height:.8rem;fill:currentColor}
.dcg-directory__empty{margin:3rem auto;padding:2rem;color:#70665d;text-align:center}
@media(max-width:900px){.dcg-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.dcg-directory{margin-top:1rem;padding-inline:1rem}.dcg-directory__grid{grid-template-columns:1fr;gap:1.35rem}.dcg-directory-card{gap:.65rem}}
@media(prefers-reduced-motion:reduce){.dcg-directory-card__cover img,.dcg-directory-card__veil,.dcg-directory-card__veil span{transition:none}}
