.contact-intro {
  max-width: 420px;
  margin: 25px auto 0;
  font: 400 19px/1.5 var(--serif);
}

.contact-form {
  max-width: 680px;
  margin: 38px auto 0;
  text-align: left;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.form-field { margin: 0 0 20px; }
.form-field label {
  display: block;
  margin-bottom: 8px;
  font: 500 12px var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.form-field label span { font-weight: 400; letter-spacing: 0; text-transform: none; }
.form-field input,
.form-field textarea {
  display: block;
  width: 100%;
  padding: 13px 14px;
  color: var(--ink);
  background: #fff9;
  border: 1px solid var(--line);
  border-radius: 0;
  font: 400 16px var(--sans);
  resize: vertical;
}
.form-field input:focus,
.form-field textarea:focus { outline: 2px solid var(--ink); outline-offset: 2px; }
.form-field [aria-invalid="true"] { border-color: var(--coral); }
.form-error { display: block; min-height: 18px; padding-top: 5px; color: #a82e1d; font-size: 13px; }
.form-honeypot {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}
.turnstile-wrap { min-height: 65px; margin: 4px 0 18px; }
.contact-submit { border: 0; cursor: pointer; font-family: var(--sans); }
.contact-submit:disabled { cursor: wait; opacity: .65; }
.form-status { min-height: 24px; margin: 16px 0 0; font-size: 15px; line-height: 1.45; }
.form-status.success { color: #246340; }
.form-status.error { color: #a82e1d; }
.contact-privacy,
.contact-fallback { max-width: 510px; margin: 18px auto 0; font-size: 13px; line-height: 1.5; }
.contact-fallback { margin-top: 9px; }
.contact-fallback a { color: inherit; text-underline-offset: 3px; }

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