.avm-contacts { --contacts-red: #ed1c24; --contacts-red-dark: #c9141c; --contacts-ink: #14161a; --contacts-muted: #68707c; --contacts-line: #e4e7ec; --contacts-soft: #f4f5f7; --contacts-red-soft: #fff1f2; --contacts-font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; --contacts-font-head: 'Manrope', 'Inter', system-ui, sans-serif; color: var(--contacts-ink); font-family: var(--contacts-font); padding: clamp(42px, 6vw, 86px) max(20px, calc((100vw - 1320px) / 2)) clamp(80px, 10vw, 140px); }
.avm-contacts *, .avm-contacts *::before, .avm-contacts *::after { box-sizing: border-box; }
.avm-contacts__icon-sprite { height: 0; overflow: hidden; position: absolute; width: 0; }
.avm-contacts__glyph { fill: none; height: 24px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 24px; }
.avm-contacts h1, .avm-contacts h2, .avm-contacts h3, .avm-contacts p { margin-top: 0; }
.avm-contacts h1, .avm-contacts h2, .avm-contacts h3 { font-family: var(--contacts-font-head); font-weight: 800; }
.avm-contacts__hero { align-items: end; display: grid; gap: clamp(32px, 7vw, 110px); grid-template-columns: minmax(0, 1fr) minmax(320px, .55fr); margin-bottom: clamp(48px, 7vw, 90px); }
.avm-contacts__eyebrow { color: var(--contacts-red); font-family: var(--contacts-font-head); font-size: 11px; font-weight: 700; letter-spacing: .14em; margin-bottom: 22px; text-transform: uppercase; }
.avm-contacts__hero h1 { font-size: clamp(48px, 5.2vw, 80px); letter-spacing: -.055em; line-height: .98; margin: 0; }
.avm-contacts__hero h1 span { color: var(--contacts-red); }
.avm-contacts__hero > p { color: var(--contacts-muted); font-size: clamp(16px, 1.35vw, 18px); line-height: 1.7; margin-bottom: 5px; }
.avm-contacts__details { display: grid; gap: 16px; grid-template-columns: 1.05fr .85fr 1.1fr; margin-bottom: clamp(96px, 11vw, 155px); }
.avm-contacts__detail { align-items: flex-start; background: #fff; border: 1px solid var(--contacts-line); border-radius: 22px; box-shadow: 0 18px 45px rgba(20, 22, 26, .055); display: flex; gap: 20px; min-height: 200px; overflow: hidden; padding: 30px; position: relative; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.avm-contacts__detail::before { background: var(--contacts-red); content: ''; height: 3px; left: 28px; position: absolute; top: 0; width: 34px; }
.avm-contacts__detail:hover { border-color: #f4c7ca; box-shadow: 0 22px 55px rgba(20, 22, 26, .08); transform: translateY(-2px); }
.avm-contacts__detail-icon { align-items: center; background: var(--contacts-red-soft); border: 1px solid #ffdadd; border-radius: 16px; color: var(--contacts-red); display: flex; flex: none; height: 54px; justify-content: center; width: 54px; }
.avm-contacts__detail > div { min-width: 0; padding-top: 3px; }
.avm-contacts__detail p { color: var(--contacts-muted); font-size: 11px; font-weight: 800; letter-spacing: .11em; margin-bottom: 15px; text-transform: uppercase; }
.avm-contacts__detail a { color: var(--contacts-ink); display: block; font-family: var(--contacts-font-head); font-size: 16px; font-weight: 750; line-height: 1.9; text-decoration: none; transition: color .2s ease; }
.avm-contacts__detail a:hover { color: var(--contacts-red); }
.avm-contacts__messengers { display: flex; flex-wrap: wrap; gap: 9px; }
.avm-contacts__messenger { align-items: center; background: var(--contacts-soft); border: 1px solid transparent; border-radius: 12px; color: var(--contacts-ink); display: inline-flex !important; gap: 9px; line-height: 1 !important; min-height: 44px; padding: 0 14px; transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.avm-contacts__messenger .avm-contacts__glyph { color: var(--contacts-red); height: 20px; stroke-width: 1.9; width: 20px; }
.avm-contacts__messenger:hover { background: var(--contacts-red-soft); border-color: #f4c7ca; color: var(--contacts-red-dark) !important; transform: translateY(-1px); }
.avm-contacts__section-head { margin-bottom: 44px; max-width: 780px; }
.avm-contacts__section-head h2 { font-size: clamp(38px, 5vw, 66px); letter-spacing: -.055em; line-height: 1; margin: 0; }
.avm-contacts__location-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.avm-contacts__location { background: var(--contacts-soft); border: 1px solid var(--contacts-line); border-radius: 28px; overflow: hidden; }
.avm-contacts__map { background: #ddd; height: clamp(320px, 34vw, 460px); }
.avm-contacts__map iframe { border: 0; height: 100%; width: 100%; }
.avm-contacts__location-body { display: flex; flex-direction: column; min-height: 350px; padding: clamp(28px, 4vw, 48px); position: relative; }
.avm-contacts__number { color: #c1c5cc; font-size: 12px; font-weight: 850; position: absolute; right: 34px; top: 32px; }
.avm-contacts__location-eyebrow { color: var(--contacts-red); font-family: var(--contacts-font-head); font-size: 11px; font-weight: 700; letter-spacing: .12em; margin-bottom: 16px; text-transform: uppercase; }
.avm-contacts__location h3 { font-size: clamp(27px, 3vw, 38px); letter-spacing: -.045em; margin-bottom: 24px; }
.avm-contacts__address { align-items: flex-start; color: var(--contacts-muted); display: flex; font-size: 16px; gap: 12px; line-height: 1.6; margin-bottom: 32px; max-width: 470px; }
.avm-contacts__address .avm-contacts__glyph { color: var(--contacts-red); flex: none; height: 21px; margin-top: 2px; stroke-width: 1.9; width: 21px; }
.avm-contacts__route { align-items: center; align-self: flex-start; background: var(--contacts-ink); border-radius: 13px; color: #fff !important; display: inline-flex; font-family: var(--contacts-font-head); font-size: 14px; font-weight: 700; gap: 20px; margin-top: auto; min-height: 54px; padding: 0 22px; text-decoration: none !important; transition: background .2s, transform .2s; }
.avm-contacts__route:hover { background: var(--contacts-red); transform: translateY(-2px); }
@media (max-width: 980px) { .avm-contacts__hero { grid-template-columns: 1fr; } .avm-contacts__details { grid-template-columns: 1fr; } .avm-contacts__detail { min-height: 0; } }
@media (max-width: 760px) { .avm-contacts { padding-inline: 14px; } .avm-contacts__hero h1 { font-size: clamp(40px, 13vw, 56px); } .avm-contacts__detail { border-radius: 18px; padding: 24px 20px; } .avm-contacts__detail-icon { border-radius: 14px; height: 48px; width: 48px; } .avm-contacts__location-grid { grid-template-columns: 1fr; } .avm-contacts__map { height: 330px; } .avm-contacts__location-body { min-height: 0; } }
