:root { --ink:#14213d; --accent:#b3001b; --accent2:#0b6e4f; --bg:#fdfcf9; --card:#fff; --line:#ddd6c9; }
* { box-sizing:border-box; }
body { margin:0; font-family:Georgia,'Times New Roman',serif; color:var(--ink); background:var(--bg); line-height:1.55; }
.hero { padding:3rem 1.25rem 2rem; max-width:860px; margin:0 auto; }
.kicker { text-transform:uppercase; letter-spacing:.12em; font-size:.8rem; color:#6b6252; }
h1 { font-size:2.4rem; line-height:1.15; margin:.4rem 0 1rem; }
.deadline { color:var(--accent); }
.lede { font-size:1.08rem; }
main { max-width:860px; margin:0 auto; padding:0 1.25rem 3rem; }
section { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:1.5rem; margin:1.25rem 0; }
.cta { display:inline-block; background:var(--accent2); color:#fff; padding:.6rem 1.1rem; border-radius:6px; text-decoration:none; border:0; font-size:1rem; cursor:pointer; font-family:inherit; }
.cta.secondary { background:#fff; color:var(--accent2); border:1px solid var(--accent2); }
button { font-family:inherit; padding:.5rem .9rem; border-radius:6px; border:1px solid var(--line); background:#f4f1ea; cursor:pointer; }
button:disabled { opacity:.45; cursor:default; }
.grid { display:grid; gap:1rem; }
label { display:block; font-size:.98rem; }
select, input[type=email] { display:block; width:100%; margin-top:.35rem; padding:.5rem; font-family:inherit; font-size:1rem; border:1px solid var(--line); border-radius:6px; }
textarea { width:100%; padding:.6rem; font-family:ui-monospace,Menlo,monospace; font-size:.9rem; border:1px solid var(--line); border-radius:6px; }
.drop { border:2px dashed var(--line); border-radius:8px; padding:1rem; text-align:center; color:#6b6252; margin-bottom:.75rem; }
.drop.over { border-color:var(--accent2); color:var(--accent2); }
.report { border-left:4px solid var(--accent); background:#fdf6ec; padding:1rem 1.25rem; border-radius:0 8px 8px 0; }
.report table { border-collapse:collapse; width:100%; font-size:.92rem; }
.report th, .report td { border:1px solid var(--line); padding:.4rem .5rem; text-align:left; vertical-align:top; }
pre { background:#f4f1ea; padding:.75rem; border-radius:6px; overflow:auto; font-size:.82rem; white-space:pre-wrap; }
.price { font-size:1.15rem; }
.fineprint { font-size:.85rem; color:#6b6252; }
.disclaimer { border:1px solid var(--line); background:#fff; padding:1rem; border-radius:8px; font-size:.95rem; }
footer { max-width:860px; margin:0 auto; }
