/* Our Providers page (prov-*) ------------------------------------------ */
.prov-pg .banner__title { font-size: 43px; line-height: 1.3em; }
.prov-main { padding: 35px 0 100px; }
.prov-main > .cont { max-width: 1170px; }
.prov-eyebrow { margin: 0; font: 500 18px/1em var(--f-body); color: var(--c-accent); }
.prov-h2 { margin: 0; padding: 0; font: 600 32px/1.3em var(--f-head); color: var(--c-primary); }

.prov-filter { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 20px; }
.prov-filter__btn { display: flex; justify-content: center; align-items: center; max-width: calc(100% - 24px); padding: 8px; border: 0; background: none; cursor: pointer; color: #69727d; font: 600 14px/normal var(--f-body); letter-spacing: 1.3px; text-transform: uppercase; text-align: center; transition: color 0.3s; }
.prov-filter__btn:hover, .prov-filter__btn:focus-visible { color: #0c0d0e; }
.prov-filter__btn.is-active { color: #0c0d0e; }

.prov-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 5px 30px; }
.prov-card[hidden] { display: none; }
.prov-card { padding: 100px 0; }
.prov-card__in { padding: 10px; }
.prov-card__top { margin-top: 40px; margin-right: 20px; }
.prov-card__img { display: block; margin-bottom: 20px; }
.prov-card__img img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.prov-card__label { margin: 0 0 20px; font: 300 16px/16px var(--f-body); }
.prov-card__name { margin: 0; font: 600 20px/26px var(--f-head); color: var(--c-primary); }
.prov-card__name a { color: inherit; font-weight: inherit; }
.prov-card__spec { margin: 5px 0 0; font-weight: 300; line-height: 24px; }

@media (max-width: 1024px) {
	.prov-pg .banner { padding: 100px 10px; border-width: 100px 20px 40px; }
	.prov-main { padding: 80px 10px; }
	.prov-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.prov-card { padding: 80px 10px; }
	.prov-card__top { margin-top: 20px; margin-right: 0; }
}
@media (max-width: 767px) {
	.prov-pg .banner { padding: 60px 0; border-width: 90px 20px 30px; }
	.prov-pg .banner__title { font-size: 24px; }
	.prov-main { padding: 40px 10px; }
	.prov-grid { grid-template-columns: minmax(0, 1fr); }
	.prov-card { padding: 40px 10px; }
	.prov-card__label { font-size: 14px; line-height: 14px; }
}
