:root { --navy:#13294B; --teal:#0F766E; --amber:#F59E0B; --ink:#1f2937; --muted:#5b6475; --line:#e2e8f0; --bg:#f8fafc; }
* { box-sizing: border-box; }
body { margin:0; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color:var(--ink); line-height:1.65; font-size:18px; background:#fff; }
h1,h2,h3 { font-family: Georgia, "Times New Roman", serif; color:var(--navy); line-height:1.25; }
a { color:var(--teal); }
.wrap { max-width:760px; margin:0 auto; padding:0 20px; }
header.top { padding:14px 0; border-bottom:1px solid var(--line); }
header.top .wrap { max-width:1040px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.brand { font-weight:700; color:var(--navy); text-decoration:none; }
.nav { display:flex; align-items:center; gap:14px; }
.nav a.quiet { color:var(--navy); font-weight:700; text-decoration:none; font-size:15px; }
.btn { display:inline-block; background:var(--amber); color:#1b1300; font-weight:700; text-decoration:none; padding:12px 18px; border-radius:10px; font-size:16px; box-shadow:0 2px 0 #b45309; }
article { padding:36px 0 10px; }
article h1 { font-size:clamp(30px,5vw,42px); margin:0 0 10px; }
.meta { color:var(--muted); font-size:15px; margin:0 0 18px; }
.lead { font-size:20px; }
h2 { font-size:28px; margin:1.4em 0 .4em; }
h3 { font-size:22px; margin:1.2em 0 .3em; }
ul, ol { padding-left:1.2em; }
li { margin:.35em 0; }
.callout { background:#fff7ed; border-left:5px solid var(--amber); padding:16px 18px; border-radius:8px; margin:22px 0; }
.callout p { margin:.4em 0; }
.sources { font-size:15px; color:var(--muted); }
.related { background:var(--bg); border:1px solid var(--line); border-radius:12px; padding:18px 20px; margin:28px 0; }
.related h2 { margin-top:0; font-size:22px; }
.buy { border:2px solid var(--navy); border-radius:14px; padding:22px; margin:28px 0 10px; }
.buy p { margin:.4em 0 12px; }
footer { background:var(--navy); color:#cbd5e1; padding:28px 0; font-size:15px; margin-top:30px; }
footer a { color:#fff; }
footer a.unsub { display:inline-block; margin-left:8px; padding:6px 12px; border:1px solid #fff; border-radius:8px; font-weight:700; text-decoration:none; }
footer .wrap { max-width:1040px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.cards { display:grid; grid-template-columns:1fr; gap:14px; margin:22px 0 40px; }
.card { display:block; background:#fff; border:1px solid var(--line); border-radius:12px; padding:18px 18px 14px; text-decoration:none; color:inherit; }
.card h2 { font-family:inherit; font-size:20px; margin:0 0 6px; }
.card p { margin:0; color:var(--muted); font-size:16px; }
.card:hover { border-color:var(--teal); }
.index-intro { padding-top:34px; }
@media (max-width:640px) {
  header.top .wrap { flex-wrap:wrap; }
  .btn { padding:9px 12px; font-size:15px; }
}
