.contact {
  padding-block: 64px 65px;
  scroll-margin-block-start: 70px;
}

.contact__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 85px;
}

.contact__title {
  margin-block-start: 17px;
}

.contact__host {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-block-start: 32px;
}

.contact__host-photo {
  flex: none;
  width: 81px;
  height: auto;
  border-radius: 12px;
  background-color: var(--color-rule-light);
}

.contact__host-role {
  line-height: 1.9;
  color: var(--color-text-faint);
  font-size: var(--text-role);
}

.contact__text {
  margin-block-start: 20px;
}

.contact__list {
  display: grid;
  gap: 41px;
  margin: 43px 0 0;
}

.contact__row {
  display: grid;
  grid-template-columns: 95px minmax(0, 1fr);
  align-items: center;
}

.contact__label {
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-text-faint);
  font-size: var(--text-eyebrow-small);
}

.contact__value {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 10px;
  margin: 0;
  font-weight: 600;
  line-height: 1.35;
  font-size: var(--text-contact);
}

.contact__copy {
  flex: none;
  padding: 8px 12px;
  border-radius: 14px;
  background-color: #f0efee;
  font-weight: 600;
  line-height: 1;
  transition: background-color 0.2s ease, color 0.2s ease;
  font-size: var(--text-copy);
}

.contact__copy.is-copied {
  background-color: var(--color-ink);
  color: var(--color-white);
}

.lead-form {
  display: grid;
  gap: 21px;
  margin-inline: calc(-1 * var(--container-gutter));
  padding: 27px var(--container-gutter) 30px;
  border-radius: 20px;
  background-color: var(--color-white);
}

.lead-form__subtitle {
  margin-block-start: -10px;
  color: var(--color-text-faint);
}

.lead-form__field {
  display: grid;
  gap: 9px;
}

.lead-form__label {
  font-weight: 600;
  line-height: 1.4;
  font-size: var(--text-field-label);
}

.lead-form__input {
  width: 100%;
  padding: 18px 14px;
  border: 1px solid transparent;
  border-radius: 9px;
  background-color: var(--color-surface-muted);
  font: inherit;
  font-weight: 500;
  line-height: 1.4;
  color: var(--color-ink);
  transition: border-color 0.2s ease;
  font-size: var(--text-input);
}

.lead-form__input::placeholder {
  color: var(--color-placeholder);
  font-size: var(--text-placeholder);
}

.lead-form__input:focus-visible {
  border-color: var(--color-gold);
  outline: none;
}

.lead-form__input--area {
  min-height: 108px;
  resize: vertical;
}

.lead-form__consent {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text-muted);
  font-size: var(--text-consent);
}

.lead-form__checkbox {
  flex: none;
  align-self: flex-start;
  width: 17px;
  height: 17px;
  margin: 0;
  margin-block-start: 0.3em;
  accent-color: var(--color-ink);
}

.lead-form__policy {
  color: var(--color-ink);
  text-decoration: underline;
}

.lead-form__trap {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.lead-form__submit:disabled {
  cursor: wait;
  opacity: 0.65;
}

.lead-form__status {
  color: var(--color-text-muted);
}

.lead-form__status:empty {
  display: none;
}

.lead-form__status.is-error {
  color: #a32c2c;
}

@media (768px <= width) {
  .contact {
    padding-block: 151px 150px;
  }

  .contact__title {
    margin-block-start: 11px;
  }

  .contact__host {
    gap: 20px;
    margin-block-start: 30px;
  }

  .contact__host-photo {
    width: 104px;
    border-radius: 20px;
  }

  .contact__text {
    margin-block-start: 19px;
  }

  .contact__list {
    gap: 0;
    margin-block-start: 21px;
    border-top: 1px solid var(--color-border);
  }

  .contact__row {
    grid-template-columns: 126px minmax(0, 1fr);
    min-height: 57px;
    border-bottom: 1px solid var(--color-border);
  }

  .contact__row:first-child {
    min-height: 68px;
  }

  .contact__copy {
    padding: 10px 14px;
    border: 1px solid var(--color-border);
    border-radius: 18px;
    background-color: var(--color-white);
  }

  .lead-form {
    margin-inline: 0;
    padding: 44px;
    border-radius: 32px;
    box-shadow: 0 30px 60px -34px rgba(17, 18, 20, 0.32);
  }

  .lead-form__input {
    padding: 15px 19px;
    border-radius: 16px;
  }

  .lead-form__input--area {
    min-height: 112px;
  }

  .lead-form__consent {
    gap: 12px;
    align-items: flex-start;
  }

  .lead-form__checkbox {
    width: 19px;
    height: 19px;
  }
}

@media (1024px <= width) {
  .contact__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(32px, 4.1vw, 79px);
  }
}

@media (1024px <= width < 1440px) {
  .lead-form {
    padding: 32px;
  }

  .lead-form__consent {
    align-items: flex-start;
  }

}

@media (hover: hover) {
  .contact__copy:hover {
    background-color: var(--color-ink);
    color: var(--color-white);
  }

  .lead-form__policy:hover {
    color: var(--color-gold-text);
  }
}
