.contacts-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:32px 0 0; }
.contacts-photos--single { grid-template-columns:minmax(0,1fr); max-width:740px; margin-inline:auto; }
.contacts-photo { display:block; overflow:hidden; border:1px solid #eee; border-radius:12px; background:#fff; color:#222; text-decoration:none; }
.contacts-photo img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; object-position:center; }
.contacts-photo__caption { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; font-size:20px; font-weight:600; }
.contacts-photo__caption > span { color:#c82027; font-size:26px; }
.contacts-photo:hover { color:#c82027; }
.contacts-branches { padding:64px 0; }
.contacts-branches > h2 { text-align:center; font-size:clamp(26px,3vw,36px); margin:0 0 32px; }
.contacts-branches__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; width:100%; margin:0 auto; }
.contacts-branch { display:flex; flex-direction:column; align-items:center; overflow:hidden; min-width:0; background:#fff; border:1px solid #e8e8e8; border-radius:12px; color:#222; text-decoration:none; box-shadow:0 3px 14px rgba(0,0,0,.04); transition:border-color .2s,box-shadow .2s; }
.contacts-branch img { display:block; width:100%; max-width:none; height:auto; aspect-ratio:16/9; object-fit:cover; object-position:center; }
.contacts-branch h3 { width:100%; margin:0; padding:18px 8px; text-align:center; font-size:18px; line-height:1.3; font-weight:700; color:inherit; }
.contacts-branch:hover { color:#c82027; border-color:#c82027; box-shadow:0 5px 20px rgba(0,0,0,.08); }
.contacts-photo:focus-visible,.contacts-branch:focus-visible { outline:3px solid #c82027; outline-offset:4px; }
@media(max-width:991px) { .contacts-branches__grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) { .contacts-branches__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:575px) { .contacts-photos { grid-template-columns:minmax(0,1fr); gap:20px; } .contacts-photo__caption { font-size:18px; padding:14px 16px; } .contacts-branches { padding:44px 0; } .contacts-branches__grid { gap:14px; } .contacts-branch h3 { font-size:16px; padding:16px 6px; } }
@media(prefers-reduced-motion:reduce) { .contacts-branch { transition:none; } }
@media(max-width:359px) { .contacts-branches__grid { grid-template-columns:minmax(0,1fr); } }

.contacts-photos--above-contacts { max-width:none; margin:0 0 28px; }
