/* Контакты (redesign-kit: screens/13-contact, Page-Contact, 90-states-forms). */

.sp-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.07fr); gap: 32px 72px; align-items: start; padding-top: 64px; padding-bottom: 104px; }
.sp-contact__h1 { margin: 36px 0 0; font-family: var(--font-display); font-size: clamp(40px, 4.4vw, 60px); line-height: 1.1; font-weight: 500; letter-spacing: -0.01em; }
.sp-contact__lead { margin: 22px 0 0; max-width: 480px; font-size: 20px; line-height: 1.5; color: var(--ink-2); }
.sp-contact__img { position: relative; margin-top: 44px; aspect-ratio: 4 / 3; border-radius: var(--radius-2xl); background-image: linear-gradient(0deg, rgba(18, 15, 28, 0.55) 0%, rgba(18, 15, 28, 0) 40%), url("../../img/contact-portrait.jpg"); background-position: 0 0, 50% 25%; overflow: hidden; }
.sp-contact__bot { position: absolute; left: 24px; bottom: 24px; gap: 10px; background: rgba(18, 15, 28, 0.55); backdrop-filter: blur(6px); }

.sp-contact__side { padding-top: 44px; }
.sp-contact__card { box-sizing: border-box; display: flex; flex-direction: column; gap: 22px; padding: 44px; border: 1px solid var(--line-strong); border-radius: var(--radius-3xl); background: var(--surface); }
.sp-contact__card .sp-field__control .sp-input { background: rgba(255, 255, 255, 0.04); }
.sp-contact__send { align-self: flex-start; }
.sp-contact .sp-check a { color: var(--ink); }

/* Сообщение отправлено */
.sp-contact__done { gap: 0; }
.sp-contact__ok { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: var(--success-soft); color: var(--success); }
.sp-contact__done h2 { margin: 24px 0 0; font-family: var(--font-display); font-size: 26px; line-height: 1.25; font-weight: 500; }
.sp-contact__done p { margin: 12px 0 0; font-size: 16px; line-height: 1.6; color: var(--ink-2); }
.sp-contact__done b { color: var(--ink); overflow-wrap: anywhere; }
.sp-contact__donebtns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 28px; }
.sp-contact__donebtns .sp-btn { justify-content: center; gap: 10px; }

@media (max-width: 1000px) {
  .sp-contact { grid-template-columns: minmax(0, 1fr); }
  .sp-contact__side { padding-top: 0; }
  .sp-contact__img { max-width: 640px; }
}

@media (max-width: 760px) {
  .sp-contact { padding-top: 32px; padding-bottom: 72px; }
  .sp-contact .sp-crumbs { display: flex; }
  .sp-contact__h1 { margin-top: 24px; }
  .sp-contact__lead { font-size: 18px; }
  .sp-contact__img { margin-top: 32px; }
  .sp-contact__card { padding: 32px 22px; border-radius: var(--radius-2xl); }
  .sp-contact__donebtns { grid-template-columns: minmax(0, 1fr); }
}
