.contact-form { background: #fff; border-radius: 28px; padding: 36px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 19px; }
.form-full { grid-column: 1/-1; }
.contact-form label { display: grid; gap: 7px; font-size: .86rem; font-weight: 720; letter-spacing: 0; }
.contact-form label > span { color: var(--muted); font-weight: 600; text-transform: none; }
.form-control { width: 100%; border: 1px solid var(--line); background: var(--paper); border-radius: 13px; padding: 13px 14px; color: var(--ink); outline: none; transition: border .2s, box-shadow .2s; }
.form-control:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(17,19,21,.08); }
.errorlist { list-style: none; margin: 0; padding: 0; color: #a21a1a; font-size: .75rem; }
.form-errors { border: 1px solid #d56565; background: #fff2f2; color: #7b1111; border-radius: 14px; padding: 14px 16px; margin-bottom: 18px; }
.form-errors p { margin: 0; font-weight: 850; }
.honey-field { position: absolute; left: -100vw; width: 1px; height: 1px; overflow: hidden; }
.form-note { color: var(--muted); font-size: .76rem; margin: 20px 0; }

@media (max-width: 760px) {
  .form-grid { grid-template-columns: 1fr; }
  .form-full { grid-column: auto; }
  .contact-form { padding: 24px; }
}
@media (max-width: 430px) {
  .contact-form { border-radius: 18px; padding: 22px; }
}
