/* Authentic practice photographs, October 2026. */
.practice-impressions { background: #faf8f4; }
.practice-impressions-heading { display: grid; grid-template-columns: 1.2fr 1fr; align-items: end; gap: 48px; margin-bottom: 36px; }
.practice-impressions-heading h2 { max-width: 650px; margin-bottom: 0; }
.practice-impressions-heading > p { margin: 0; max-width: 440px; }
.practice-photo-grid { display: grid; grid-template-columns: .9fr 1.1fr; grid-template-rows: repeat(2, minmax(0, 340px)); gap: 20px; }
.practice-photo { position: relative; margin: 0; min-width: 0; overflow: hidden; border-radius: var(--radius, 18px); background: #e8e3da; }
.practice-photo--wartebereich { grid-row: span 2; }
.practice-photo a { display: block; width: 100%; height: 100%; }
.practice-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.practice-photo--wartebereich img { object-position: 50% 43%; }
.practice-photo--behandlungsraum img { object-position: 50% 48%; }
.practice-photo figcaption { position: absolute; inset: auto 0 0; padding: 65px 28px 26px; color: #fff; background: linear-gradient(transparent, rgba(13, 24, 34, .86)); pointer-events: none; }
.practice-photo figcaption span { display: block; font-size: 12px; letter-spacing: .09em; margin-bottom: 7px; }
.practice-photo figcaption strong { display: block; font-size: clamp(20px, 2vw, 27px); font-weight: 600; line-height: 1.25; }
.practice-photo-open { position: absolute; top: 18px; right: 18px; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(13, 24, 34, .65); color: white; font-size: 20px; }
.practice-photo a:hover .practice-photo-open { background: var(--navy, #152a3a); }
.practice-photo a:focus-visible { outline: 4px solid var(--gold, #bc9a61); outline-offset: -5px; }
.practice-photo-hint { margin: 16px 0 0; font-size: 13px; color: var(--muted, #596570); }
@media (max-width: 900px) { .practice-photo-grid { grid-template-rows: repeat(2, minmax(0, 280px)); } }
@media (max-width: 700px) {
 .practice-impressions-heading { grid-template-columns: 1fr; gap: 16px; margin-bottom: 26px; }
 .practice-photo-grid { grid-template-columns: 1fr; grid-template-rows: none; gap: 18px; }
 .practice-photo--wartebereich { grid-row: auto; }
 .practice-photo img { height: auto; aspect-ratio: 4 / 3; }
 .practice-photo--wartebereich img { aspect-ratio: 3 / 4; }
 .practice-photo figcaption { padding: 60px 22px 22px; }
}
