/* Plain and minimal until the designer. Phase 1 is behaviour, not look. */
:root { --ink: #1c1c1c; --muted: #5a5a5a; --line: #d4d4d4; --bad: #8c1d18; }
* { box-sizing: border-box; }
body { margin: 0; font: 16px/1.55 system-ui, -apple-system, "Segoe UI", sans-serif;
       color: var(--ink); background: #fdfdfc; }
main { max-width: 42rem; margin: 0 auto; padding: 1.5rem 1.25rem 4rem; }
h1 { font-size: 1.6rem; line-height: 1.25; }
h2 { font-size: 1.2rem; margin-top: 2rem; }
fieldset { border: 1px solid var(--line); border-radius: 4px; padding: 1rem 1rem 0.25rem; margin: 1.5rem 0; }
legend { padding: 0 0.4rem; color: var(--muted); font-size: 0.9rem; }
.field { margin: 0 0 1.25rem; }
label { display: block; font-weight: 600; margin-bottom: 0.25rem; }
.hint { display: block; color: var(--muted); font-size: 0.9rem; margin-bottom: 0.35rem; }
input[type=text], input[type=email], input[type=tel], textarea, select {
  width: 100%; padding: 0.55rem 0.6rem; font: inherit; color: inherit;
  border: 1px solid var(--line); border-radius: 4px; background: #fff; }
textarea { resize: vertical; }
button { font: inherit; font-weight: 600; padding: 0.7rem 1.2rem; border: 0; border-radius: 4px;
         background: var(--ink); color: #fff; cursor: pointer; }
button[disabled] { opacity: 0.6; cursor: progress; }
.notice { border: 1px solid var(--line); border-left-width: 5px; border-radius: 4px;
          padding: 0.75rem 1rem; margin: 1.5rem 0; }
.notice-error, .notice-problem { border-left-color: var(--bad); }
.notice h1, .notice h2 { margin-top: 0; font-size: 1.1rem; }
.has-problem input, .has-problem textarea, .has-problem select { border-color: var(--bad); }
/* SPAM-1: off-screen rather than display:none, which some bots skip. */
.no-show { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.privacy-notice { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--line);
                  font-size: 0.92rem; color: var(--muted); }
.privacy-notice h2 { font-size: 1rem; }
.document h2 { margin-top: 1.8rem; }
