/* Контакты (/kontakty) — артборды «Контакты · 1440» и «Контакты · телефон 390». Поля формы, ошибки и метки оболочки — в site.css. */

/* Первый экран: заголовок и вводная строка справа по нижнему краю */
.khero { background: var(--green); color: var(--on-g); }
.khero__grid { display: grid; grid-template-columns: 7fr 5fr; gap: 64px; align-items: end; padding-top: 64px; padding-bottom: 68px; }
.khero__title { font: 400 76px/1.04 var(--serif); }
.khero__lead { font-size: 18px; line-height: 1.6; color: var(--on-g-2); }
@media (max-width: 900px) {
  .khero__grid { display: block; padding-top: 32px; padding-bottom: 36px; }
  .khero__title { font-size: 44px; line-height: 1.05; }
  .khero__lead { margin-top: 14px; font-size: 16px; }
}

/* Форма слева, контакты и карта справа */
.kbody { padding: 80px 0 104px; }
.kbody__grid { display: grid; grid-template-columns: 7fr 5fr; gap: 80px; align-items: start; }
.kform { background: #fff; border: 1px solid var(--line-2); padding: 48px; }
.kform__title { font: 400 40px/1.1 var(--serif); color: var(--green); }
.kform__lead { margin-top: 12px; font-size: 17px; line-height: 1.6; color: var(--ink-2); }

.kinfo { display: flex; flex-direction: column; gap: 38px; }
.kdl { display: grid; gap: 30px; }
.kdl dt { font: 500 13px/1.3 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--brass-dk-text); }
.kdl dd { margin-top: 6px; font: 400 19px/1.5 var(--sans); color: var(--ink); }
.kdl__tel { font-family: var(--serif); font-size: 30px; text-decoration: none; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* Карта-заглушка: улицы полосами, булавка бюро */
.kmap__box { position: relative; overflow: hidden; aspect-ratio: 16 / 10; background: #e9e5d8; border: 1px solid #ddd6c2; }
.kmap__box i { position: absolute; background: #f8f6ef; }
.kmap__r1 { left: -10%; right: -10%; top: 46%; height: 14px; transform: rotate(-8deg); }
.kmap__r2 { top: -10%; bottom: -10%; left: 38%; width: 10px; transform: rotate(12deg); }
.kmap__r3 { top: -10%; bottom: -10%; left: 72%; width: 8px; transform: rotate(-4deg); }
.kmap__pin { position: absolute; width: 34px; height: 44px; left: calc(50% - 17px); top: calc(46% - 44px); }
.kmap figcaption { margin-top: 12px; }
.kmap__a { font-size: 16px; font-weight: 500; }

@media (max-width: 900px) {
  .kbody { padding: 0; }
  .kbody__grid { display: block; padding: 0; }
  .kform { padding: 32px var(--gut) 36px; border: 0; border-bottom: 1px solid var(--line-2); }
  .kform__title { font-size: 30px; line-height: normal; }
  .kform__lead { margin-top: 8px; font-size: 15px; line-height: 1.55; }
  .kinfo { padding: 36px var(--gut) 40px; gap: 24px; }
  .kdl { gap: 20px; }
  .kdl dt { font-size: 12px; }
  .kdl dd { margin-top: 4px; font-size: 17px; }
  .kdl__tel { font-size: 26px; }
  .kmap__box { aspect-ratio: 4 / 3; }
  .kmap__r1 { height: 12px; }
  .kmap__r2 { left: 36%; width: 9px; }
  .kmap__pin { width: 30px; height: 40px; left: calc(50% - 15px); top: calc(46% - 40px); }
  .kmap figcaption { margin-top: 10px; }
  .kmap__a { font-size: 15px; }
  /* цели касания 44 px без сдвига строки */
  .kdl__a { display: inline-block; padding: 12px 0; margin: -12px 0; }
  .kdl__tel { display: inline-block; padding: 5px 0; margin: -5px 0; }
}
