/* Forms */
.form { display: grid; gap: var(--space-5); }
.form__row { display: grid; gap: var(--space-5); }
@media (min-width: 640px) { .form__row--2 { grid-template-columns: 1fr 1fr; } }

.field { display: grid; gap: var(--space-2); }
.field label {
  font-family: var(--font-display);
  font-size: var(--fs-sm);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-800);
}
.field label .optional { font-family: var(--font-body); font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--color-text-muted); }

.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 50px;
  padding: 0.75rem 0.95rem;
  background: var(--white);
  border: 1px solid var(--ink-300);
  border-radius: var(--radius-sm);
  font-size: var(--fs-base);
  transition: border-color var(--dur), box-shadow var(--dur);
}
.field textarea { min-height: 150px; resize: vertical; }
.field input:hover,
.field select:hover,
.field textarea:hover { border-color: var(--ink-500); }
.field input:focus,
.field select:focus,
.field textarea:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px var(--red-100);
}
.field input:user-invalid,
.field textarea:user-invalid { border-color: var(--red-700); }
.field__hint { font-size: var(--fs-xs); color: var(--color-text-muted); }

.form__status {
  padding: var(--space-4);
  border-radius: var(--radius);
  font-size: var(--fs-sm);
}
.form__status[hidden] { display: none; }
.form__status--success { background: #e7f5ec; color: var(--color-success); }
.form__status--error { background: var(--red-50); color: var(--red-700); }

/* Honeypot */
.form__hp { position: absolute; left: -9999px; }
