:root{--ink:#16151d;--muted:#5b5966;--bg:#fbfaf7;--card:#fff;--line:#e6e3dc;--accent:#4b2bd6;--accent2:#c8f169;--warn:#fff3c4;--warnline:#e2b600}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:18px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--accent)}
.wrap{max-width:760px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}
header.site{background:#fff;border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:14px 20px}
.brand{font-weight:800;color:var(--ink);text-decoration:none;font-size:1.1rem}
nav a{margin-left:16px;color:var(--muted);text-decoration:none;font-size:.95rem}nav a:hover{color:var(--accent)}
.draft{background:var(--warn);border-bottom:2px solid var(--warnline);text-align:center;padding:10px 16px;font-size:.95rem}
.draft strong{background:#16151d;color:#fff;padding:2px 8px;border-radius:4px;margin-right:6px;letter-spacing:.05em}
.site-draft{font-size:.85rem;padding:6px}
main{padding:32px 20px 48px}
h1{font-size:2.1rem;line-height:1.15;margin:.2em 0 .3em}
h2{font-size:1.35rem;line-height:1.25;margin:1.6em 0 .4em}
h3{font-size:1.1rem;margin:1.2em 0 .3em}
.kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--accent);font-weight:700;margin:0}
.meta,.small{color:var(--muted);font-size:.9rem}
.lede{font-size:1.15rem}
.ftc{background:#efeaff;border-left:4px solid var(--accent);padding:12px 16px;border-radius:6px;margin:16px 0 24px;font-size:1rem}
.paid{color:var(--muted);font-size:.85em;white-space:nowrap}
.src,.src-date{display:block;color:var(--muted);font-size:.85rem;margin-top:4px}
.cta-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;text-align:center;font-weight:600;margin-top:28px}
.callout{background:#fff;border:1px solid var(--line);border-radius:12px;padding:4px 20px 12px;margin:28px 0}
.callout.good{background:#16151d;color:#f4f2ff;border:0}.callout.good a{color:var(--accent2)}.callout.good .src,.callout.good .src-date{color:#c9c6d8}
.callout.good h2{color:var(--accent2)}
.checklist,.compare{padding-left:1.3em}.checklist li h2,.compare li h2{font-size:1.15rem;margin:1.2em 0 .2em}
ul.checks{list-style:none;padding:0}ul.checks li::before{content:"✓ ";color:var(--accent);font-weight:700}
.hero{padding:16px 0 8px}.hero p{font-size:1.15rem;color:var(--muted)}
.section-h{margin-top:1em}
.cards{list-style:none;padding:0;display:grid;gap:16px}
.card a{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px;color:var(--ink);text-decoration:none}
.card a:hover{border-color:var(--accent)}
.card h2{margin:.3em 0;font-size:1.2rem}.card p{margin:0;color:var(--muted);font-size:.95rem}
.badge{display:inline-block;background:var(--warn);border:1px solid var(--warnline);font-size:.75rem;font-weight:700;padding:1px 8px;border-radius:999px}
.printable{background:#fff;border:2px dashed var(--line);border-radius:12px;padding:4px 20px 16px;margin-top:32px}
.printable .cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
ul.boxes{list-style:none;padding:0}ul.boxes li{padding:6px 0 6px 30px;position:relative;border-bottom:1px solid var(--line)}
ul.boxes li::before{content:"";position:absolute;left:0;top:10px;width:18px;height:18px;border:2px solid var(--ink);border-radius:3px}
button{font:inherit;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:8px 16px;cursor:pointer}
footer.site{border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:.9rem;padding:16px 0}
@media (max-width:560px){h1{font-size:1.7rem}nav a{margin:0 12px 0 0}.printable .cols{grid-template-columns:1fr}}
@media print{header.site,footer.site,.draft,.no-print,.ftc,.cta-box,article>*:not(.printable){display:none!important}.printable{border:0}body{background:#fff}}
