:root{--blue:#0b5fa5;--ink:#1d2733;--muted:#5b6876;--bg:#fbfaf7;--card:#fff;--line:#e3e0d8;--sand:#f3ecdf}
*{box-sizing:border-box}
body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
.wrap{max-width:780px;margin:0 auto;padding:0 18px}
a{color:var(--blue)}
.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;flex-wrap:wrap}
.brand{font-weight:800;text-decoration:none;color:var(--ink);font-size:1.15rem}
nav a{margin-left:14px;text-decoration:none;font-weight:600;font-size:.95rem}
h1{font-size:1.9rem;line-height:1.2;margin:.6em 0 .3em}
h2{margin-top:1.8em;font-size:1.35rem;border-top:1px solid var(--line);padding-top:1em}
h3{font-size:1.1rem}
.small{font-size:.85rem;color:var(--muted)}
.hero{background:linear-gradient(135deg,#0b5fa5,#2b8fd6);color:#fff;border-radius:14px;padding:28px 22px;margin:18px 0}
.hero h1{margin-top:0}.hero p{margin:.3em 0;opacity:.95}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}
.card h3{margin:.2em 0}
table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.92rem;display:block;overflow-x:auto}
th,td{border:1px solid var(--line);padding:7px 9px;text-align:left;vertical-align:top}
th{background:var(--sand)}
.callout{background:var(--sand);border-left:4px solid var(--blue);padding:12px 14px;border-radius:6px;margin:16px 0}
.cta{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:16px 0}
a.aff::after{content:" ↗"}
.disclosure{background:#fff7e0;padding:6px 10px;border-radius:6px}
ul.check{list-style:none;padding-left:0}ul.check li::before{content:"☐ ";color:var(--blue)}
.sources{font-size:.85rem}
.foot{border-top:1px solid var(--line);margin-top:40px;padding:18px 0;background:#fff}
.planner label{display:block;margin:8px 0 2px;font-weight:600}
.planner input,.planner select{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;font-size:1rem}
.planner .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.result{font-size:1.3rem;font-weight:800;margin:14px 0}
.crumbs{margin-top:14px}
@media (max-width:520px){h1{font-size:1.55rem}nav a{margin-left:10px}.planner .row{grid-template-columns:1fr}}
