
:root{
  --paper:#f7f4ec; --paper-2:#efeae0; --ink:#1c1a17; --muted:#6b6458;
  --accent:#a8431f; --accent-ink:#7d3216; --rule:#ddd6c8; --card:#fffdf8;
  --maxw:720px;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Newsreader",Georgia,"Times New Roman",serif;
  font-size:1.18rem; line-height:1.65; font-weight:400;
  text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased;
}
a{color:var(--accent-ink); text-decoration:underline; text-underline-offset:2px;
  text-decoration-thickness:1px;}
a:hover{color:var(--accent);}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 22px;}

/* masthead */
.masthead{border-bottom:2px solid var(--ink); margin-bottom:8px;}
.masthead .wrap{padding-top:30px; padding-bottom:18px;}
.brand{
  font-family:"Fraunces",Georgia,serif; font-weight:900;
  font-size:2.5rem; line-height:1; letter-spacing:-.01em;
  color:var(--ink); text-decoration:none; display:inline-block;
}
.brand:hover{color:var(--ink);}
.tagline{color:var(--muted); font-style:italic; margin:.5rem 0 0; font-size:1.02rem;}
nav.top{margin-top:16px; font-family:"Fraunces",serif; font-size:.95rem;
  text-transform:uppercase; letter-spacing:.08em;}
nav.top a{color:var(--ink); text-decoration:none; margin-right:22px; font-weight:600;}
nav.top a:hover{color:var(--accent);}

/* homepage */
.lead{padding:34px 0 10px; border-bottom:1px solid var(--rule); margin-bottom:30px;}
.kicker{font-family:"Fraunces",serif; text-transform:uppercase; letter-spacing:.12em;
  font-size:.74rem; font-weight:700; color:var(--accent); margin-bottom:10px;}
.lead h2{font-family:"Fraunces",serif; font-weight:900; font-size:2.3rem;
  line-height:1.08; margin:.1rem 0 .5rem; letter-spacing:-.015em;}
.lead h2 a{color:var(--ink); text-decoration:none;}
.lead h2 a:hover{color:var(--accent-ink);}
.lead p.dek{margin:.4rem 0 0; color:#403a31;}
.meta{color:var(--muted); font-size:.86rem; font-family:"Fraunces",serif;
  letter-spacing:.02em; margin-top:.7rem;}
.meta .dot{margin:0 .5rem;}

.grid{display:grid; grid-template-columns:1fr 1fr; gap:28px 34px;}
@media(max-width:640px){.grid{grid-template-columns:1fr;}}
.card{border-top:1px solid var(--rule); padding-top:16px;}
.card .kicker{font-size:.68rem; margin-bottom:7px;}
.card h3{font-family:"Fraunces",serif; font-weight:800; font-size:1.28rem;
  line-height:1.18; margin:.1rem 0 .4rem;}
.card h3 a{color:var(--ink); text-decoration:none;}
.card h3 a:hover{color:var(--accent-ink);}
.card p{margin:.2rem 0 0; font-size:1rem; color:#4a4338; line-height:1.5;}

/* article */
article.post{padding:38px 0 10px;}
article.post .kicker{margin-bottom:14px;}
article.post h1{font-family:"Fraunces",serif; font-weight:900; font-size:2.5rem;
  line-height:1.07; letter-spacing:-.02em; margin:0 0 .4rem;}
article.post .post-meta{color:var(--muted); font-family:"Fraunces",serif;
  font-size:.9rem; margin-bottom:26px; padding-bottom:18px;
  border-bottom:1px solid var(--rule);}
article.post h2{font-family:"Fraunces",serif; font-weight:800; font-size:1.7rem;
  margin:2.2rem 0 .7rem; line-height:1.15;}
article.post h3{font-family:"Fraunces",serif; font-weight:700; font-size:1.3rem;
  margin:1.6rem 0 .5rem;}
article.post p{margin:1rem 0;}
article.post ul,article.post ol{margin:1rem 0; padding-left:1.3rem;}
article.post li{margin:.4rem 0;}
article.post strong{font-weight:700;}

/* disclosure callout (rendered from > blockquote) */
article.post blockquote{
  background:var(--paper-2); border-left:4px solid var(--accent);
  margin:1.6rem 0; padding:1rem 1.2rem; font-size:1rem; line-height:1.5;
  color:#403a31; border-radius:2px;
}
article.post blockquote p{margin:.3rem 0;}

/* tables */
.table-scroll{overflow-x:auto; margin:1.6rem 0;}
article.post table{border-collapse:collapse; width:100%; font-size:.96rem;
  background:var(--card); font-family:"Newsreader",serif;}
article.post th,article.post td{border:1px solid var(--rule);
  padding:.6rem .7rem; text-align:left; vertical-align:top;}
article.post th{background:var(--paper-2); font-family:"Fraunces",serif;
  font-weight:700; font-size:.9rem;}
article.post tr:nth-child(even) td{background:#fbf9f3;}

/* static pages */
.page{padding:38px 0;}
.page h1{font-family:"Fraunces",serif; font-weight:900; font-size:2.2rem;
  margin:0 0 1rem; letter-spacing:-.01em;}
.page h2{font-family:"Fraunces",serif; font-weight:700; font-size:1.4rem;
  margin:1.8rem 0 .5rem;}

/* footer */
footer{border-top:2px solid var(--ink); margin-top:60px; padding:26px 0 50px;
  font-size:.92rem; color:var(--muted);}
footer .wrap{display:flex; flex-wrap:wrap; gap:14px 26px; justify-content:space-between;}
footer a{color:var(--muted); text-decoration:none; margin-right:18px;}
footer a:hover{color:var(--accent);}
footer .disc{flex-basis:100%; font-size:.85rem; line-height:1.5; max-width:none;
  padding-top:14px; border-top:1px solid var(--rule); margin-top:6px;}
