:root{
--cream:#FAF7F2;
--cream-tint:#F0EBE3;
--hairline:#E7E0D2;
--forest:#1A3A2A;
--body:#4A564E;
--muted:#7A847C;
--gold:#C4962A;
--gold-light:#D4A634;
--sage:#5E8269;
}

body{margin:0;background:var(--cream);color:var(--body);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}

.wrap{max-width:920px;margin:0 auto;padding:0 24px}

header{padding:28px 0}
header a{display:flex;align-items:center;gap:12px;text-decoration:none}
header img{width:36px;height:36px;object-fit:contain}
header span{font-family:'Peckham Press','Bricolage Grotesque',sans-serif;font-size:16px;letter-spacing:2.5px;color:var(--forest)}

h1,h2,h3{font-family:'Bricolage Grotesque',sans-serif;color:var(--forest);margin:0}
h1{font-weight:600;font-size:clamp(32px,5vw,48px);letter-spacing:-.5px;line-height:1.1}
h2{font-weight:600;font-size:clamp(22px,3vw,28px);letter-spacing:-.3px;margin-top:48px;margin-bottom:14px}
h3{font-weight:500;font-size:20px;margin-top:32px;margin-bottom:10px}

article{max-width:68ch;margin:0 auto;padding:0 24px 96px}

.articleHead{padding:48px 0 8px;border-bottom:1px solid var(--hairline);margin-bottom:36px}
.articleHead h1{margin-bottom:16px}
.articleMeta{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums;padding-bottom:24px}
.articleMeta .dot{color:var(--hairline)}

p,li{font-size:18px;line-height:1.7;color:var(--body)}
p{margin:0 0 22px}
ul,ol{margin:0 0 22px;padding-left:1.3em}
li{margin-bottom:8px}

a{color:var(--forest);text-decoration:underline;text-decoration-color:var(--hairline);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--gold);text-decoration-color:var(--gold)}

blockquote{margin:32px 0;padding:4px 0 4px 24px;border-left:2px solid var(--hairline);color:var(--forest);font-style:normal;font-size:19px}

/* Callout / note box */
.callout{background:var(--cream-tint);border-left:3px solid var(--gold);border-radius:0 12px 12px 0;padding:18px 24px;margin:32px 0;font-size:16px;color:var(--forest)}
.callout p{font-size:16px;margin:0}
.callout p+p{margin-top:12px}

/* Source-citation list at article foot */
.sources{margin-top:64px;padding-top:24px;border-top:1px solid var(--hairline)}
.sources h3{font-size:13px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:0;margin-bottom:14px}
.sources ol{color:var(--muted);font-size:15px;padding-left:1.2em}
.sources li{margin-bottom:6px;line-height:1.5;font-size:15px}
.sources a{color:var(--muted);text-decoration-color:var(--hairline)}
.sources a:hover{color:var(--gold)}

/* Footer CTA block — links to "/" and "/beta" */
.ctaBlock{background:var(--cream-tint);border:1px solid var(--hairline);border-radius:24px;padding:48px 32px;margin:72px 0 48px;text-align:center}
.ctaBlock h2{margin-top:0}
.ctaBlock p{font-size:17px;margin:0 0 28px;color:var(--body)}
.ctaBlock .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.ctaBlock a.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border-radius:999px;font-size:15px;font-weight:600;text-decoration:none;box-sizing:border-box}
.ctaBlock a.btn-primary{background:var(--forest);color:var(--cream)}
.ctaBlock a.btn-primary:hover{background:var(--sage)}
.ctaBlock a.btn-secondary{background:transparent;color:var(--forest);border:1.5px solid var(--forest)}
.ctaBlock a.btn-secondary:hover{background:rgba(26,58,42,.06)}

/* Blog index page */
.indexHead{padding:56px 0 40px;border-bottom:1px solid var(--hairline)}
.indexHead h1{margin-bottom:12px}
.standfirst{font-size:18px;color:var(--muted);margin:0;max-width:52ch}
.postList{padding:8px 0 64px}

.shadow{box-shadow:0 10px 24px rgba(15,31,23,.1)}

@media(max-width:640px){
article{padding:0 20px 64px}
.articleHead{padding-top:32px}
h2{margin-top:36px}
.ctaBlock{margin:56px 0 32px;padding:36px 24px}
.ctaBlock .btns{flex-direction:column}
.ctaBlock a.btn{width:100%}
.indexHead{padding:40px 0 28px}
}
