/* The lead form, styled once. Rendered by assets/js/lead-form.js and used by the
   contact page, the media pack and every report gate (R6, R26). Tokens come from
   the page's own :root — this file never defines colour. */

.gate{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:26px}
.gate h3{font-size:17px;letter-spacing:-.015em;margin-bottom:6px}
.gate label{display:block;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--soft);margin:14px 0 6px}
.gate input,.gate select{width:100%;font:inherit;font-size:15px;padding:10px 12px;
  border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink)}
.gate input:focus,.gate select:focus{outline:2px solid var(--accent);outline-offset:1px}
.gate button{width:100%;margin-top:18px;font:inherit;font-size:15px;font-weight:600;
  padding:12px;border-radius:5px;cursor:pointer;background:var(--ink);color:var(--paper);
  border:1px solid var(--ink)}
.gate button:hover{background:transparent;color:var(--ink)}
.gate button[disabled]{opacity:.6;cursor:progress}
.gate .gate-note{font-size:12px;color:var(--soft);margin-top:14px;line-height:1.5}

/* Sticky alongside a long report; the contact page uses the plain .gate. */
.gate--sticky{position:sticky;top:88px}

.consent{display:flex;gap:10px;align-items:flex-start;margin-top:18px;font-size:13px;
  line-height:1.5;color:var(--soft)}
.consent input{width:auto;margin-top:3px;flex:none}

/* Per-field messages (R12) — always visible text, never a colour cue alone. */
.field-error{margin-top:6px;font-size:13px;line-height:1.45;color:var(--accent)}
.gate input[aria-invalid="true"],.gate select[aria-invalid="true"]{border-color:var(--accent)}

.said{margin-top:16px;padding:12px 14px;border-radius:5px;font-size:13.5px;line-height:1.5;
  background:var(--accent-soft);border:1px solid var(--accent);color:var(--ink)}

/* Honeypot: off the page for people, in the DOM for form-fillers. Not
   display:none, which some bots check for. */
.lf-pot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
