:root{
  --ink:#141414;
  --charcoal:#2e2e2c;
  --black:#0e0e0e;
  --cream:#f4f2ed;
  --cream-deep:#ebe8e0;
  --gold:#b08d57;
  --text:#3c3c39;
  --muted:#6e6e68;
  --serif:'Libre Baskerville',Georgia,serif;
  --sans:'Inter',-apple-system,'Helvetica Neue',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:var(--sans);color:var(--text);background:var(--cream);font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:var(--serif);color:var(--ink);line-height:1.3;}
a{color:var(--ink);}
.wrap{max-width:720px;margin:0 auto;padding:0 22px;}

.topbar{background:var(--black);color:#e7e5df;font-size:13px;padding:8px 0;text-align:center;letter-spacing:.03em;}
.topbar a{color:#fff;text-decoration:none;font-weight:600;}
header{background:var(--cream);border-bottom:1px solid #ddd8cc;padding:16px 0;}
header .wrap{display:flex;align-items:center;justify-content:space-between;max-width:960px;flex-wrap:wrap;gap:8px 16px;}
.logo{font-family:var(--serif);font-size:20px;color:var(--ink);text-decoration:none;letter-spacing:.04em;font-weight:700;white-space:nowrap;}
.logo span{color:var(--gold);}
header nav{display:flex;gap:16px;align-items:center;}
header nav a{font-size:14px;color:var(--ink);text-decoration:none;font-weight:500;white-space:nowrap;}
header nav a:hover{color:var(--gold);}

.crumb{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:46px 0 16px;}
article h1{font-size:clamp(28px,4.5vw,38px);margin-bottom:16px;}
.byline{font-size:14px;color:var(--muted);margin-bottom:38px;padding-bottom:22px;border-bottom:1px solid #ddd8cc;}
.byline strong{color:var(--ink);}
article h2{font-size:24px;margin:42px 0 14px;}
article h3{font-size:19px;margin:30px 0 10px;}
article p{margin-bottom:18px;}
article ul,article ol{margin:0 0 18px 22px;}
article li{margin-bottom:8px;}
article strong{color:var(--ink);}
.callout{background:#fff;border-left:3px solid var(--gold);padding:20px 24px;margin:28px 0;font-size:16px;}
.cta{background:var(--black);color:#e7e5df;padding:34px 30px;margin:44px 0;text-align:center;}
.cta h3{color:#fff;font-size:21px;margin:0 0 8px;}
.cta p{color:#c2c0b8;font-size:15.5px;margin-bottom:20px;}
.cta a.btn{display:inline-block;background:var(--gold);color:var(--ink);text-decoration:none;padding:13px 28px;font-size:13.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin:0 6px 8px;}
.cta a.btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);}
.disclaimer{font-size:13px;color:var(--muted);border-top:1px solid #ddd8cc;padding-top:18px;margin:40px 0 20px;}
.related{margin:30px 0 60px;}
.related h3{font-size:16px;letter-spacing:.12em;text-transform:uppercase;font-family:var(--sans);color:var(--gold);margin-bottom:12px;}
.related a{display:block;padding:8px 0;font-size:15.5px;}

/* blog index cards */
.postlist{max-width:960px;margin:0 auto 70px;padding:0 22px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;}
.postcard{background:#fff;border:1px solid #e4dfd3;padding:30px 28px;display:flex;flex-direction:column;text-decoration:none;}
.postcard:hover{border-color:var(--gold);}
.postcard .tag{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:10px;}
.postcard h2{font-size:19px;margin-bottom:10px;}
.postcard p{font-size:14.5px;color:var(--muted);flex:1;}
.postcard .read{margin-top:16px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);}

footer{background:var(--black);color:#a9a7a0;padding:36px 0;font-size:13px;text-align:center;}
footer a{color:#d8d6cf;text-decoration:none;}
