:root{--fg:#111;--muted:#666;--bg:#fff;--line:#e8e8e8}
*{box-sizing:border-box}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;color:var(--fg);background:var(--bg);line-height:1.55}
.wrap{max-width:980px;margin:0 auto;padding:18px}
.site-header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{font-weight:800;text-decoration:none;color:var(--fg)}
.nav a{margin-left:14px;text-decoration:none;color:var(--fg)}
.nav a:hover{text-decoration:underline}
h1{font-size:34px;line-height:1.1;margin:18px 0 12px}
h2{font-size:22px;margin:22px 0 10px}
h3{font-size:18px;margin:18px 0 8px}
.card{border:1px solid var(--line);border-radius:14px;padding:14px;margin:14px 0;background:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
a{color:inherit}
.muted{color:var(--muted)}
.primary-source{border-left:3px solid var(--line);padding-left:12px;color:var(--muted);margin:12px 0}
.kicker{color:var(--muted);margin:0 0 6px}
.site-footer{border-top:1px solid var(--line);margin-top:30px;background:#fff}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.footer-h{font-weight:700;margin-bottom:8px}
.footer-links a{color:var(--muted);text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.footer-legal{color:var(--muted);font-size:13px;padding-top:0;padding-bottom:28px}
.ul-tight{margin:8px 0 0;padding-left:18px}
.small{font-size:14px}
.hr{border-top:1px solid var(--line);margin:18px 0}
