.contact-form {
  display: grid;
  gap: 1rem;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.contact-form label {
  display: grid;
  gap: .35rem;
  font-weight: 700;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: .8rem;
  border: 1px solid var(--border);
  border-radius: .65rem;
  font: inherit;
}

.contact-form textarea {
  min-height: 140px;
  resize: vertical;
}

.consent {
  display: grid !important;
  grid-template-columns: auto 1fr;
  gap: .6rem !important;
  font-weight: 400 !important;
}

.consent input {
  width: auto;
  margin-top: .3rem;
}

.small {
  font-size: .9rem;
}

.form-alert {
  margin-bottom: 1rem;
  padding: 1rem;
  border-radius: .75rem;
}

.form-alert--success {
  background: #edf9f2;
  color: #125c34;
  border: 1px solid #bfe8cf;
}

@media(max-width: 900px) {
  .form-grid {
    grid-template-columns: 1fr;
  }
}
