.contacts2 { padding: 36px max(20px, 4vw) 80px; }
.contacts2__title { font-family: Spectral, serif; font-size: clamp(34px, 4vw, 52px); margin: 24px 0; }
.contacts2__intro { max-width: 1050px; }
.contacts2__heading { font-family: Spectral, serif; font-size: clamp(28px, 3vw, 40px); margin: 48px 0 8px; }
.contacts2__lead { margin-bottom: 24px; color: #555; }
.contacts2__layout { display: grid; grid-template-columns: minmax(300px, .85fr) minmax(400px, 1.15fr); gap: 24px; align-items: start; }
.contacts2__list { max-height: 650px; overflow-y: auto; border: 1px solid #dfd8ca; border-radius: 15px; background: #fff; }
.contacts2__branch { padding: 16px 18px; border-bottom: 1px solid #eee8de; }
.contacts2__branch:last-child { border-bottom: 0; }
.contacts2__branch.is-active { background: #f8f2e8; }
.contacts2__select { display: flex; align-items: flex-start; gap: 12px; width: 100%; border: 0; padding: 0; background: none; color: inherit; text-align: left; cursor: pointer; }
.contacts2__select:hover strong, .contacts2__select:focus-visible strong { color: #a48454; }
.contacts2__select:focus-visible { outline: 2px solid #a48454; outline-offset: 5px; }
.contacts2__select:disabled { cursor: default; }
.contacts2__pin { color: #a48454; line-height: 1.4; }
.contacts2__branch-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.contacts2__branch-body strong { font-size: 18px; line-height: 1.35; }
.contacts2__branch-body span { font-size: 16px; line-height: 1.4; }
.contacts2__phone { display: inline-block; margin: 8px 0 0 27px; color: #a48454; }
.contacts2__map-column { min-width: 0; }
.contacts2__map-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.contacts2__map-actions button { border: 1px solid #d8cbbb; border-radius: 999px; background: #fff; color: #604e34; padding: 9px 16px; font-size: 14px; line-height: 1.2; cursor: pointer; transition: background .2s, border-color .2s, color .2s; }
.contacts2__map-actions button:hover, .contacts2__map-actions button:focus-visible { border-color: #a48454; }
.contacts2__map-actions button:focus-visible { outline: 2px solid #a48454; outline-offset: 2px; }
.contacts2__map-actions button[aria-pressed="true"] { background: #80663c; border-color: #80663c; color: #fff; }
.contacts2__map { width: 100%; height: 650px; border-radius: 15px; overflow: hidden; background: #eee9df; }
.contacts2__status { font-size: 14px; margin: 10px 0 0; color: #555; }
@media (max-width: 767px) {
    .contacts2 { padding: 20px 15px 60px; }
    .contacts2__layout { grid-template-columns: 1fr; gap: 18px; }
    .contacts2__list { max-height: none; overflow: visible; }
    .contacts2__map { height: min(75vh, 500px); min-height: 330px; }
}
