:root{
  --bg:#f6f4ef; --card:#fff; --ink:#1e2a2e; --muted:#6d7c82;
  --accent:#1f6f5c; --accent-soft:#e6f0ec; --line:#e3ded4;
  --red:#a8271d; --red-soft:#fbeceb; --amber:#8a5d00; --amber-soft:#fdf2df;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}
.wrap{max-width:720px;margin:0 auto;padding:26px 20px 60px}
h1{font-size:24px;margin:0 0 4px}
.lede{color:var(--muted);font-size:15px;margin:0 0 22px}
h2{font-size:17px;margin:32px 0 4px;padding-top:22px;border-top:1px solid var(--line)}
h2:first-of-type{border-top:0;padding-top:0}
h3{font-size:15px;margin:22px 0 8px;color:var(--accent)}
.q{margin:20px 0}
.q > label.t{display:block;font-weight:600;margin-bottom:7px}
.hint{color:var(--muted);font-size:14px;margin:-2px 0 8px}
input[type=text],input[type=email],input[type=tel],input[type=date],textarea{
  width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;
  font:inherit;background:#fff;color:var(--ink)}
textarea{min-height:96px;resize:vertical}
input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.opt{display:flex;align-items:flex-start;gap:10px;padding:5px 0}
.opt input{margin-top:4px;width:18px;height:18px;accent-color:var(--accent);flex:none}
.opt label{flex:1}
.req{color:var(--red);font-weight:600}
.notice{background:var(--amber-soft);border:1px solid #e8d7ae;border-radius:9px;
  padding:14px 16px;margin:22px 0;font-size:15px}
.notice b{display:block;margin-bottom:5px}
.crisis{background:var(--red-soft);border:1px solid #e8cdca;border-radius:9px;
  padding:14px 16px;margin:22px 0;font-size:15px}
.crisis b{display:block;color:var(--red);margin-bottom:6px}
.crisis ul{margin:6px 0 0;padding-left:20px}
.fees{background:#f6f4ef;border:1px solid #e2dccd;border-radius:9px;
  padding:14px 16px;margin:0 0 26px;font-size:15px}
.fees b{display:block;margin-bottom:6px}
.fees b.inline{display:inline;margin:0}
.consent{background:var(--accent-soft);border:1px solid #cfe0d8;border-radius:9px;
  padding:14px 16px;margin:22px 0}
button.send{background:var(--accent);color:#fff;border:0;border-radius:8px;
  padding:13px 22px;font-size:16px;font-weight:600;cursor:pointer;width:100%}
button.send:disabled{background:#9db9b0;cursor:not-allowed}
.err{color:var(--red);font-weight:600;margin:12px 0}
.done{background:var(--accent-soft);border:1px solid #cfe0d8;border-radius:10px;
  padding:26px;text-align:center}
.done h2{border:0;padding:0;margin:0 0 8px;color:var(--accent)}
.preview{background:#1f6f5c;color:#fff;padding:10px 20px;font-size:14px;font-weight:600}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.foot{color:#9aa39f;font-size:13px;text-align:center;padding:26px 0 0}
.reveal{margin:10px 0 0 28px;padding:12px 14px;border-left:3px solid var(--accent-soft);
  background:#fbfaf7;border-radius:0 8px 8px 0}
.reveal label.t{font-weight:600;display:block;margin-bottom:6px;font-size:15px}
