
main { max-width: 880px; margin: 0 auto; padding: 48px 24px 80px; }
main > *:not(header):not(footer) { max-width: 560px; }
main .intro {
  color: var(--prose); font-size: 19px; margin-bottom: 30px;
}
main form { display: flex; flex-direction: column; gap: 14px; }
main label { font-size: 14px; color: var(--prose); display: flex; flex-direction: column; gap: 6px; }
main label.row { flex-direction: row; align-items: baseline; gap: 10px; }
main label.row input { width: auto; }
main input, main textarea {
  font: inherit; color: var(--ink); background: var(--card);
  border: 1px solid var(--line); border-radius: 10px; padding: 10px 14px;
}
main textarea { min-height: 140px; resize: vertical; }
main input:focus, main textarea:focus { outline: none; border-color: var(--moss); }
main button {
  font: inherit; cursor: pointer; background: var(--btn); color: var(--ink);
  border: none; border-radius: 10px; padding: 12px 22px; align-self: flex-start;
}
main .note { color: var(--soft); font-size: 13px; }
main .note a { color: var(--moss); }
main .thanks {
  display: none; font-family: "Castoro", Georgia, serif; font-style: italic;
  color: var(--moss); font-size: 19px;
}
main .fail { display: none; color: var(--soft); font-size: 14px; }
