.clinic-gallery { padding: 40px 0; }
.clinic-gallery h2 { font-size: 2rem; line-height: 1.25; margin: 0 0 22px; }
.clinic-photo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.clinic-photo-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.clinic-photo-grid.one { grid-template-columns: 1fr; max-width: 850px; margin: auto; }
.clinic-photo { margin: 0; }
.clinic-photo img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.clinic-photo figcaption { padding: 12px 0; border-bottom: 1px solid #d8d0c5; font-size: .875rem; color: #625c55; }
.clinic-gallery .photo-note { font-size: .8125rem; color: #746d65; margin-top: 16px; }
.hero-visual img, .hero > img { filter: none; }
@media(max-width:620px) {
 .clinic-gallery { padding: 28px 0; }
 .clinic-gallery h2 { font-size: 1.625rem; }
 .clinic-photo-grid, .clinic-photo-grid.two { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; }
 .clinic-photo-grid .clinic-photo { flex: 0 0 86%; scroll-snap-align: start; }
 .clinic-photo-grid.one { display: grid; }
}

.clinic-photo-grid.four { grid-template-columns: repeat(2,minmax(0,1fr)); }
.clinic-photo.clinic-gym-photo img { object-fit:cover; object-position:center; background:#eeeae4; }
