:root{
  --ink:#17263a; --ink-soft:#43536a; --paper:#faf8f2; --card:#ffffff;
  --navy:#0f2a43; --teal:#0e7c66; --teal-dark:#0a5f4f; --gold:#e9b44c;
  --line:#ddd5c4; --warn-bg:#fdf3e0; --warn-line:#e9b44c;
  --ok-bg:#e9f5f0; --radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy);line-height:1.2;margin:0 0 .5em}
h1{font-size:2.3rem} h2{font-size:1.6rem;margin-top:1.6em} h3{font-size:1.2rem}
p{margin:0 0 1em} a{color:var(--teal-dark);text-decoration:underline}
.wrap{max-width:1020px;margin:0 auto;padding:0 20px}
header.site{background:var(--navy);color:#fff}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px;gap:16px;flex-wrap:wrap}
.logo{color:#fff;text-decoration:none;font-family:Georgia,serif;font-size:1.25rem;font-weight:bold}
.logo span{color:var(--gold)}
nav.main a{color:#dbe6f0;text-decoration:none;margin-left:18px;font-size:.95rem}
nav.main a:hover{color:#fff;text-decoration:underline}
.hero{background:var(--navy);color:#eaf1f7;padding:18px 0 44px}
.hero h1{color:#fff;max-width:20em}
.hero p.lede{font-size:1.15rem;max-width:38em;color:#cfe0ee}
.free-strip{background:var(--teal);color:#fff;text-align:center;padding:10px 16px;font-weight:600}
.btn{display:inline-block;background:var(--teal);color:#fff;text-decoration:none;padding:12px 22px;border-radius:10px;font-weight:600;border:0;cursor:pointer;font-size:1rem}
.btn:hover{background:var(--teal-dark)}
.btn.secondary{background:#fff;color:var(--navy);border:2px solid var(--navy)}
.btn.gold{background:var(--gold);color:var(--navy)}
.btn.small{padding:8px 14px;font-size:.9rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:24px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.card h3{margin-top:0}
.card .step-no{display:inline-block;background:var(--navy);color:#fff;border-radius:999px;width:30px;height:30px;line-height:30px;text-align:center;font-family:Georgia,serif;margin-bottom:10px}
.disclaimer{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:var(--radius);padding:16px 20px;font-size:.92rem;margin:26px 0}
.disclaimer strong{color:var(--navy)}
.factbox{background:var(--ok-bg);border:1px solid #bcdccf;border-radius:var(--radius);padding:16px 20px;margin:20px 0;font-size:.95rem}
.factbox h3{margin-top:0;color:var(--teal-dark)}
ol.steps,ul.plain{padding-left:1.4em} ol.steps li,ul.plain li{margin-bottom:.55em}
table{border-collapse:collapse;width:100%;margin:16px 0;background:#fff}
th,td{border:1px solid var(--line);padding:9px 12px;text-align:left;font-size:.95rem;vertical-align:top}
th{background:#f1ebdb;color:var(--navy)}
label{display:block;font-weight:600;margin:14px 0 5px;font-size:.95rem}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid #b9c2cd;border-radius:8px;font-size:1rem;font-family:inherit;background:#fff;color:var(--ink)}
textarea{min-height:90px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media(max-width:640px){.grid2{grid-template-columns:1fr}h1{font-size:1.8rem}}
pre.letter, .letter-out{white-space:pre-wrap;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;font-family:Georgia,serif;font-size:.98rem;line-height:1.55;min-height:200px}
.wizard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin:24px 0}
.issue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:14px 0}
.issue-btn{background:#f4f0e4;border:2px solid var(--line);border-radius:10px;padding:14px;text-align:left;cursor:pointer;font-size:1rem;font-family:inherit}
.issue-btn:hover{border-color:var(--teal)} .issue-btn[aria-pressed="true"]{border-color:var(--teal);background:var(--ok-bg)}
.chip{display:inline-block;background:#eef3f7;border:1px solid #c8d5df;color:var(--navy);border-radius:999px;padding:3px 12px;font-size:.85rem;margin:2px 4px 2px 0}
.chip.clock{background:var(--warn-bg);border-color:var(--warn-line)}
.result{border-top:3px solid var(--teal);margin-top:20px;padding-top:16px}
.hidden{display:none}
.status{font-weight:700}.status.ok{color:var(--teal-dark)}.status.soon{color:#9a6b12}.status.over{color:#a02c22}
footer.site{background:var(--navy);color:#cfe0ee;margin-top:56px;padding:34px 0 44px;font-size:.9rem}
footer.site a{color:#fff}
footer.site .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
footer.site h3{color:#fff;font-size:1rem}
.progress-card{background:var(--navy);color:#fff;border-radius:var(--radius);padding:24px;margin:20px 0}
.progress-card h3{color:var(--gold)}
.small{font-size:.88rem;color:var(--ink-soft)}
.faq dt{font-weight:700;color:var(--navy);margin-top:16px}
.faq dd{margin:4px 0 0}

/* comparison tables */
table.compare{width:100%;border-collapse:collapse;margin:18px 0;font-size:.97rem}
table.compare th,table.compare td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
table.compare tr:first-child th{background:var(--navy);color:#fff}
table.compare tr th:first-child{width:26%;color:var(--navy)}
@media (max-width:640px){ table.compare{display:block;overflow-x:auto} }
