:root { --purple:#2D1B4E; --accent:#7C4DFF; --ink:#1c1830; --muted:#5b5470; --bg:#f7f6fb; --line:#e4e0ef; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; line-height:1.65; }
a { color:var(--accent); }
header.site { background:var(--purple); padding:18px 20px; }
header.site a { color:#fff; text-decoration:none; font-weight:600; }
main { max-width:720px; margin:0 auto; padding:40px 20px 56px; }
h1 { font-size:1.9rem; line-height:1.25; margin:0 0 10px; }
h2 { font-size:1.3rem; margin:34px 0 8px; }
h3 { font-size:1.05rem; margin:22px 0 4px; }
p, li { font-size:1.02rem; }
.lede { color:var(--muted); font-size:1.08rem; margin-bottom:6px; }
nav.crumbs { font-size:.9rem; margin-bottom:22px; }
nav.crumbs a { color:var(--muted); }
blockquote { margin:18px 0; padding:12px 18px; border-left:3px solid var(--accent); background:#fff; color:var(--muted); }
.related { margin-top:40px; padding:20px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.related h2 { margin-top:0; font-size:1.05rem; }
.related ul { margin:0; padding-left:20px; }
.cta { display:inline-block; margin-top:28px; background:var(--accent); color:#fff; text-decoration:none; font-weight:600; padding:12px 22px; border-radius:999px; }
footer.site { border-top:1px solid var(--line); max-width:720px; margin:0 auto; padding:24px 20px 48px; color:var(--muted); font-size:.9rem; }
footer.site a { color:var(--muted); }
