:root{--ink:#17212b;--muted:#66727e;--line:#d9e0e6;--soft:#f5f7f8;--accent:#244d61;--accent2:#eaf2f5;--warn:#fff7e8}
*{box-sizing:border-box} body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.45}
.wrap{max-width:860px;margin:auto;padding:18px}.brand{font-weight:800;letter-spacing:.02em;margin:4px 0 28px}.hero{padding:34px 0 18px}.eyebrow{text-transform:uppercase;font-size:.78rem;letter-spacing:.12em;color:var(--muted);font-weight:700}
h1{font-size:clamp(2rem,8vw,4rem);line-height:1.02;margin:.35rem 0 1rem} h2{font-size:1.45rem;margin:0 0 .5rem} h3{margin:0 0 .6rem}
.lead{font-size:1.12rem;color:#3d4852;max-width:700px}.privacy,.note{font-size:.9rem;color:var(--muted)}
.btn{display:inline-block;border:0;border-radius:10px;padding:13px 18px;margin:6px 8px 6px 0;font-weight:750;cursor:pointer;background:var(--accent);color:white;text-decoration:none}
.btn.secondary{background:white;color:var(--accent);border:1px solid var(--accent)}.btn.ghost{background:var(--soft);color:var(--ink)}
.card{border:1px solid var(--line);border-radius:16px;padding:20px;margin:16px 0;background:white}.sectiontag{font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:750}
.q{font-size:1.08rem;font-weight:750;margin:.35rem 0 12px}.choice{display:block;padding:10px 11px;border:1px solid var(--line);border-radius:10px;margin:7px 0;cursor:pointer}
.choice input{margin-right:9px} input[type=text],input[type=date],textarea{width:100%;padding:12px;border:1px solid #bcc7d0;border-radius:9px;font:inherit}textarea{min-height:95px}
.progress{height:7px;background:#edf0f2;border-radius:8px;overflow:hidden;position:sticky;top:0;z-index:2}.bar{height:100%;background:var(--accent);width:0}
.nav{display:flex;justify-content:space-between;gap:10px;margin:20px 0 40px}.hidden{display:none!important}
.results-head{padding:24px 0 8px}.doc{border:1px solid var(--line);border-radius:14px;padding:18px;margin:14px 0}.doc ul{padding-left:22px}.doc .kicker{font-size:.78rem;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.08em}
.paid{background:var(--warn);border-color:#ead7a9}.paid .kicker{color:#7a5412}.reviewbox{background:var(--accent2)}
.small{font-size:.86rem;color:var(--muted)}.pill{display:inline-block;background:var(--soft);padding:5px 9px;border-radius:999px;margin:3px;font-size:.82rem}
@media print{.no-print,.progress,.nav{display:none!important}.wrap{max-width:none}.doc{break-inside:avoid}.paid{background:white}}

/* Modular v4 additions */
.roadmap{background:#f8fafb}
.choice:has(input:focus-visible), .btn:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:3px solid rgba(36,77,97,.22);
  outline-offset:2px
}
.choice:hover{border-color:#9cabb6}
.brand a{color:inherit;text-decoration:none}
@media (max-width:560px){
  .wrap{padding:14px}
  .card,.doc{padding:16px}
  .btn{width:100%;margin-right:0}
  .nav .btn{width:auto;flex:1}
}
