.contacts-hero{padding:72px 0 56px;border-bottom:1px solid var(--line)}
.contacts-hero h1{font-size:clamp(28px,3.5vw,52px);line-height:1.02;margin-bottom:16px}
.contacts-hero p{font-size:16px;color:var(--muted);max-width:520px;line-height:1.65}

.contacts-main{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin:48px 0}
.contacts-info{background:var(--bg2);padding:48px}
.contacts-info h2{font-size:20px;font-weight:700;letter-spacing:.3px;margin-bottom:32px}
.ci-row{display:flex;gap:16px;margin-bottom:24px;align-items:flex-start}
.ci-icon{width:40px;height:40px;flex-shrink:0;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.ci-icon svg{width:16px;height:16px;stroke:var(--gold);fill:none;stroke-width:1.5}
.ci-body label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted-2);display:block;margin-bottom:4px}
.ci-body a,.ci-body span{font-size:15px;color:#fff;text-decoration:none;display:block;line-height:1.5}
.ci-body a:hover{color:var(--gold-1)}
.contacts-map{background:var(--surface);min-height:400px;position:relative;overflow:hidden}
.contacts-map iframe{width:100%;height:100%;min-height:400px;border:none;filter:grayscale(.8) brightness(.7)}
.contacts-map-placeholder{display:flex;align-items:center;justify-content:center;height:100%;min-height:400px;flex-direction:column;gap:16px}
.contacts-map-placeholder svg{width:48px;height:48px;stroke:var(--muted-2);fill:none;stroke-width:1}
.contacts-map-placeholder p{font-size:14px;color:var(--muted-2)}

.all-offices{padding:64px 0 80px;border-top:1px solid var(--line)}
.all-offices h2{font-size:clamp(20px,2.5vw,32px);margin-bottom:40px}
.offices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.office-card{background:var(--surface);padding:24px 20px}
.office-card h3{font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#fff;margin-bottom:12px}
.office-card p{font-size:12px;color:var(--muted-2);line-height:1.6;margin-bottom:4px}
.office-card a{font-size:13px;color:var(--gold);text-decoration:none;display:block;margin-top:8px}
.office-card a:hover{color:var(--gold-1)}
.office-card.active{background:var(--bg2);border-left:2px solid var(--gold)}

@media(max-width:960px){.contacts-main{grid-template-columns:1fr}.offices-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.offices-grid{grid-template-columns:1fr}.contacts-info{padding:28px}}