/* NEED4SEAT --- Thesis-era authority blog shell */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:#ffffff;color:#23211e;
  font:17px/1.62 Georgia,"Times New Roman",Times,serif;
}
img{max-width:100%;height:auto}
a{color:#8c1c13}
a:focus-visible,button:focus-visible{outline:2px solid #8c1c13;outline-offset:2px}

.skip{position:absolute;left:-9999px;top:0;background:#fff;color:#8c1c13;padding:8px 12px;z-index:9}
.skip:focus{left:8px;top:8px}

.toprule{height:8px;background:#23211e}

.shell{max-width:1010px;margin:0 auto;padding:0 24px}

/* ---- masthead ---- */
.masthead{padding:32px 0 16px}
.wordmark{
  margin:0;font-size:40px;line-height:1.05;font-weight:normal;
  font-variant:small-caps;letter-spacing:.055em;color:#23211e;
}
.wordmark a{color:inherit;text-decoration:none}
.wordmark .four{color:#8c1c13}
.tagline{
  margin:8px 0 0;font:12px/1.5 Arial,Helvetica,sans-serif;
  text-transform:uppercase;letter-spacing:.12em;color:#6b665e;
}

/* ---- ruled navigation ---- */
.pagemenu{border-top:1px solid #cfc9bd;border-bottom:1px solid #cfc9bd;margin-bottom:32px}
.pagemenu ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.pagemenu li{border-right:1px solid #cfc9bd}
.pagemenu li:last-child{border-right:0}
.pagemenu a{
  display:block;padding:10px 15px;text-decoration:none;color:#23211e;
  font:11px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.11em;
  border-bottom:3px solid transparent;
}
.pagemenu a:hover{color:#8c1c13}
.pagemenu a[aria-current="page"]{color:#8c1c13;border-bottom-color:#8c1c13}

/* ---- 66/34 split ---- */
.cols{display:flex;gap:48px;align-items:flex-start;padding-bottom:16px}
.stream{flex:1 1 auto;min-width:0}
.rail{flex:0 0 300px;width:300px;min-width:0}

/* ---- posts ---- */
.label{
  font:11px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;
  letter-spacing:.12em;color:#8c1c13;margin:0 0 10px;
}
.dateline{
  font:11px/1.4 Arial,Helvetica,sans-serif;text-transform:uppercase;
  letter-spacing:.09em;color:#6b665e;margin:6px 0 16px;
}
.lead h1{margin:0;font-size:46px;line-height:1.14;font-weight:normal;letter-spacing:-.005em}
.lead .deck{font-size:19px;color:#4a4640;margin:14px 0 0;max-width:34em}
.entry p{margin:0 0 16px;max-width:38em}
.post{border-top:1px solid #cfc9bd;padding-top:24px;margin-top:32px}
.post h2{margin:0;font-size:27px;line-height:1.2;font-weight:normal}
.post h2 a{color:#23211e;text-decoration:none}
.post h2 a:hover{color:#8c1c13}
.more{font:11px/1.4 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.11em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

blockquote.pull{
  margin:24px 0;padding:16px 20px;background:#f4f1ea;border-left:3px solid #8c1c13;
  font-size:18px;font-style:italic;color:#3a3630;
}
blockquote.pull p{margin:0 0 8px;max-width:none}
blockquote.pull cite{
  display:block;font:11px/1.4 Arial,Helvetica,sans-serif;font-style:normal;
  text-transform:uppercase;letter-spacing:.09em;color:#6b665e;
}
.note{
  margin:20px 0;padding:2px 0 2px 18px;border-left:2px solid #cfc9bd;
  font-size:15px;color:#4a4640;
}
.note p{margin:0;max-width:none}

/* ---- article body ---- */
.article h1{margin:0;font-size:34px;line-height:1.18;font-weight:normal}
.article .deck{font-size:19px;color:#4a4640;margin:12px 0 0;max-width:34em}
.body{max-width:660px}
.body h2{font-size:20px;font-weight:normal;margin:32px 0 10px;line-height:1.3}
.body h3{font-size:17px;font-weight:bold;margin:24px 0 8px;line-height:1.35}
.body p{margin:0 0 16px}
.body ul{margin:0 0 16px;padding-left:20px}
.body li{margin:0 0 8px}
.body dl{margin:0 0 16px}
.body dt{font-weight:bold;margin:16px 0 4px}
.body dd{margin:0 0 8px}

ol.stages{list-style:none;counter-reset:stage;margin:24px 0;padding:0}
ol.stages li{counter-increment:stage;border-top:1px solid #cfc9bd;padding:16px 0 4px 46px;position:relative}
ol.stages li::before{
  content:counter(stage);position:absolute;left:0;top:14px;
  font-size:26px;color:#8c1c13;line-height:1;
}
ol.stages h2{margin:0 0 6px;font-size:19px}
ol.stages p{margin:0}

.release{border-top:1px solid #cfc9bd;padding-top:16px;margin-top:24px}
.release h2{margin:0;font-size:20px}
.release ul{margin-top:10px}

.prevnext{border-top:1px solid #cfc9bd;margin-top:40px;padding-top:20px}
.prevnext p{margin:0 0 12px;max-width:none;font-size:15px;line-height:1.5}
.prevnext .k{display:block;font:11px/1.6 Arial,Helvetica,sans-serif;
  text-transform:uppercase;letter-spacing:.09em;color:#6b665e}

/* ---- rail ---- */
.rail section{margin-bottom:32px}
.rail h2{
  font:11px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.12em;
  color:#23211e;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #23211e;
}
.rail p{font-size:14px;line-height:1.6;color:#4a4640;margin:0 0 12px}
.rail ul{list-style:none;margin:0;padding:0}
.rail li{border-bottom:1px solid #cfc9bd;padding:8px 0;font-size:14px}
.rail li b{font-weight:normal;color:#23211e}
.rail li span{display:block;font-size:12.5px;color:#6b665e;line-height:1.5}
.rail a{text-decoration:none}
.rail a:hover{text-decoration:underline}

/* ---- archive utility ---- */
.archiveblock{
  border-top:1px solid #23211e;margin-top:40px;padding:24px;background:#f4f1ea;
}
.archiveblock h2{
  font:11px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.12em;
  margin:0 0 16px;color:#23211e;
}
.months{display:flex;flex-wrap:wrap;gap:32px;margin:0;padding:0}
.months > div{flex:1 1 240px;min-width:0}
.months h3{
  font:11px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.09em;
  color:#6b665e;margin:0 0 8px;
}
.months ul{list-style:none;margin:0;padding:0}
.months li{padding:5px 0;font-size:14.5px;line-height:1.45}
.archiveblock .all{margin:16px 0 0;font:11px/1 Arial,Helvetica,sans-serif;
  text-transform:uppercase;letter-spacing:.11em}

/* ---- footer ---- */
.sitefoot{border-top:1px solid #23211e;margin-top:48px;padding:24px 0 40px}
.footcols{display:flex;gap:48px;flex-wrap:wrap}
.footcols > div{flex:1 1 260px;min-width:0}
.sitefoot h2{
  font:11px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.12em;
  color:#23211e;margin:0 0 10px;
}
.sitefoot ul{list-style:none;margin:0;padding:0}
.sitefoot li{padding:4px 0;font-size:14px}
.sitefoot a{text-decoration:none}
.sitefoot a:hover{text-decoration:underline}
.colophon{
  margin:24px 0 0;padding-top:12px;border-top:1px solid #cfc9bd;
  font:11px/1.6 Arial,Helvetica,sans-serif;text-transform:uppercase;
  letter-spacing:.09em;color:#6b665e;
}

/* ---- tablet ---- */
@media (max-width:900px){
  .shell{padding:0 20px}
  .cols{gap:32px}
  .rail{flex-basis:260px;width:260px}
  .lead h1{font-size:40px}
}

/* ---- mobile ---- */
@media (max-width:760px){
  .cols{display:block}
  .rail{width:auto;flex-basis:auto;margin-top:40px;border-top:1px solid #23211e;padding-top:24px}
  .masthead{padding:24px 0 12px}
  .wordmark{font-size:28px}
  .tagline{font-size:11px}
  .pagemenu li{border-right:0}
  .pagemenu ul{gap:0 4px}
  .pagemenu a{padding:8px 8px}
  .lead h1{font-size:31px}
  .lead .deck,.article .deck{font-size:17px}
  .article h1{font-size:26px}
  .post h2{font-size:22px}
  blockquote.pull{padding:12px 14px;margin-left:0}
  .months{display:block}
  .months > div{margin-bottom:20px}
  .footcols{display:block}
  .footcols > div{margin-bottom:24px}
  .archiveblock{padding:20px}
  .entry p,.body p,.lead .deck{max-width:none}
}
