.locations-directory h1 { max-width: 20ch; }
.locations-directory .location-hero { padding-bottom: 2rem; }
.locations-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin-top: 1.75rem; }
.locations-card { display: block; overflow: hidden; border: 1px solid #ead9ce; border-radius: 24px; background: white; color: #29221c; transition: box-shadow .2s ease, border-color .2s ease; }
.locations-card:hover { color: #29221c; border-color: #b63700; box-shadow: 0 12px 32px #95350012; }
.locations-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.locations-card__body { padding: 1.5rem; }
.locations-card__body > p:not(.section__eyebrow) { font-size: .95rem; color: #6b6560; }
.locations-card__link { display: inline-flex; gap: 1rem; align-items: center; color: #a93600; font-weight: 650; }
.locations-note { max-width: 46rem; margin-top: 2rem; color: #6b6560; }
.locations-note a { color: #a93600; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 700px) { .locations-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .locations-grid { grid-template-columns: repeat(3, 1fr); } }
