/* forms.css — inputs, contact/signup forms, form messages */
.form { display: grid; gap: var(--s3); max-width: 520px; }
.field { display: grid; gap: var(--s1); }
.field label { font-weight: 600; font-size: var(--size-small); }
.field input, .field textarea, .field select {
  min-height: var(--tap); padding: var(--s2) var(--s3);
  font: inherit; color: var(--text); background: var(--bg);
  border: var(--border); border-radius: var(--radius);
}
.field textarea { min-height: 120px; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus { outline: none; border: 2px solid var(--accent); }
.hint { font-size: var(--size-small); color: var(--text-muted); }
.msg { padding: var(--s3) var(--s4); border-radius: var(--radius); border: 1px solid; font-size: var(--size-small); }
.msg.ok { color: var(--ok); background: var(--ok-tint); }
.msg.bad { color: var(--bad); background: var(--bad-tint); }
/* Spam honeypot: real users never see it; bots fill it in */
.hp { position: absolute; left: -9999px; }
