:root{
  --paper:#F1F3EE;
  --paper-deep:#E7EAE3;
  --ink:#16191A;
  --verdigris:#2F6B5A;
  --muted:#6E756F;
  --rule:#D6DAD1;

  --display:"Newsreader",Georgia,serif;
  --body:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  font-size:17px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;}

.wrap{max-width:680px;margin:0 auto;padding:0 22px;}

/* ---------- masthead ---------- */
.masthead{border-bottom:1px solid var(--rule);padding:24px 0 16px;}
.masthead-inner{max-width:680px;margin:0 auto;padding:0 22px;}
.wordmark{
  font-family:var(--display);
  font-size:28px;font-weight:500;
  letter-spacing:-0.015em;text-decoration:none;line-height:1;
}

/* ---------- hero ---------- */
.hero{padding:64px 0 52px;border-bottom:1px solid var(--rule);}
.hero h1{
  font-family:var(--display);
  font-size:46px;font-weight:500;
  line-height:1.08;letter-spacing:-0.025em;
  margin:0 0 20px;
}
.hero p{
  font-family:var(--display);
  font-size:21px;font-style:italic;
  line-height:1.5;color:#3D4543;
  margin:0;max-width:30ch;
}

/* ---------- index list ---------- */
.section-label{
  font-family:var(--mono);font-size:11px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--muted);padding:38px 0 4px;
}
.entry{display:block;text-decoration:none;padding:24px 0;border-bottom:1px solid var(--rule);}
.entry-date{
  font-family:var(--mono);font-size:11px;letter-spacing:0.05em;
  color:var(--muted);margin-bottom:8px;
}
.entry h2{
  font-family:var(--display);font-size:24px;font-weight:400;
  line-height:1.3;margin:0 0 7px;letter-spacing:-0.01em;
}
.entry p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.6;}
.entry:hover h2{color:var(--verdigris);}

/* ---------- article & pages ---------- */
.article{padding:48px 0 0;}
.article-kicker{
  font-family:var(--mono);font-size:11px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--muted);margin-bottom:18px;
}
.article h1{
  font-family:var(--display);font-size:37px;font-weight:500;
  line-height:1.18;letter-spacing:-0.022em;margin:0 0 18px;
}
.standfirst{
  font-family:var(--display);font-size:20px;font-style:italic;
  line-height:1.55;color:#3D4543;margin:0 0 34px;
}
.article p{margin:0 0 21px;}
.article h3{
  font-family:var(--display);font-size:22px;font-weight:500;
  margin:38px 0 12px;letter-spacing:-0.01em;
}
.article ul,.article ol{margin:0 0 21px;padding-left:22px;}
.article li{margin-bottom:9px;}
.article a{color:var(--verdigris);}

.lead{font-size:19px;line-height:1.62;}

.pull{
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:22px 0;margin:34px 0;
  font-family:var(--display);font-size:21px;line-height:1.45;
  letter-spacing:-0.01em;color:#2A312F;
}

/* ---------- byline, at the foot where it belongs ---------- */
.byline{
  margin:46px 0 0;padding-top:22px;
  border-top:1px solid var(--rule);
  font-family:var(--mono);font-size:12px;
  letter-spacing:0.04em;color:var(--muted);line-height:1.9;
}
.byline b{color:var(--verdigris);font-weight:500;}
.byline a{color:var(--muted);}

/* ---------- footer ---------- */
footer{
  border-top:1px solid var(--rule);margin-top:60px;padding:30px 0 60px;
  font-family:var(--mono);font-size:12px;color:var(--muted);line-height:2;
}
footer a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--rule);}
footer a:hover{color:var(--verdigris);}
.foot-links{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px;}

@media (max-width:600px){
  body{font-size:16.5px;}
  .hero{padding:46px 0 38px;}
  .hero h1{font-size:34px;}
  .hero p{font-size:19px;}
  .article h1{font-size:29px;}
  .standfirst{font-size:18.5px;}
  .wordmark{font-size:25px;}
  .pull{font-size:19px;}
}

@media (prefers-reduced-motion:no-preference){
  .entry h2{transition:color .18s ease;}
}
a:focus-visible{outline:2px solid var(--verdigris);outline-offset:3px;}
