@font-face{font-family:"Fraktur";src:url(/fonts/unifrakturmaguntia-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Old Standard";src:url(/fonts/old-standard-tt-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Old Standard";src:url(/fonts/old-standard-tt-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Old Standard";src:url(/fonts/old-standard-tt-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Fell";src:url(/fonts/im-fell-english-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Fell";src:url(/fonts/im-fell-english-latin-400-italic.woff2) format("woff2");font-style:italic;font-display:swap}

:root{
  --paper:#ece2cb;
  --paper-edge:#d9cba9;
  --ink:#1e1a14;
  --ink-soft:#4a4236;
  --rule:#2a241b;
  --accent:#7a1f12;
  --serif:"Old Standard","Iowan Old Style","Georgia",serif;
  --fell:"Fell","Old Standard","Georgia",serif;
  --black:"Fraktur","Old English Text MT",serif;
  --measure:36rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;color:var(--ink);font-family:var(--serif);font-size:1.0625rem;line-height:1.55;
  background-color:var(--paper-edge);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .2 0 0 0 0 .15 0 0 0 0 .08 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.sheet{
  max-width:76rem;margin:0 auto;padding:1.5rem clamp(1rem,4vw,3rem) 2rem;
  background-color:var(--paper);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .25 0 0 0 0 .2 0 0 0 0 .1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
    radial-gradient(ellipse at center, transparent 55%, rgba(120,90,40,.13) 100%);
  box-shadow:0 0 0 1px rgba(60,45,20,.15), 0 10px 40px rgba(60,45,20,.18);
  min-height:100vh;
}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.15em}
a:hover{color:var(--accent)}
.skip{position:absolute;left:-999px}
.skip:focus{left:1rem;top:1rem;background:var(--paper);padding:.5rem;z-index:10}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.sc{font-variant:small-caps;letter-spacing:.06em}
.center{text-align:center}

/* ---------- Masthead ---------- */
.masthead{text-align:center}
.ears{display:grid;grid-template-columns:10.5rem minmax(0,1fr) 10.5rem;align-items:center;gap:1.25rem}
.ear{border:1px solid var(--rule);padding:.5rem .7rem;font-size:.8rem;line-height:1.3;width:100%;font-family:var(--fell)}
.ear-left{justify-self:start}.ear-right{justify-self:end}
.ear-label{display:block;font-family:var(--serif);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;border-bottom:1px solid var(--rule);margin-bottom:.3rem;padding-bottom:.2rem}
.nameplate{font-family:var(--black);font-weight:400;font-size:clamp(2.4rem,calc((100vw - 31rem) / 11),4.1rem);line-height:1.05;margin:.25rem 0 0;letter-spacing:.01em;white-space:nowrap}
.nameplate a{text-decoration:none}
.nameplate a:hover{color:inherit}
.tagline{font-family:var(--fell);font-style:italic;font-size:1.05rem;margin:.6rem 0 .8rem}
.dateline{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  border-top:3px solid var(--rule);border-bottom:1px solid var(--rule);
  box-shadow:0 -6px 0 -5px var(--rule);
  padding:.35rem .25rem;margin-top:4px;
  font-size:.74rem;text-transform:uppercase;letter-spacing:.14em}
.sections{display:flex;justify-content:center;flex-wrap:wrap;gap:0;border-bottom:3px double var(--rule);padding:.35rem 0;margin-bottom:1.75rem}
.sections a{text-decoration:none;font-size:.82rem;text-transform:uppercase;letter-spacing:.16em;padding:.1rem 1rem;border-right:1px solid var(--ink-soft)}
.sections a:last-child{border-right:0}
.masthead.compact .nameplate{font-size:clamp(2rem,5vw,3.25rem);padding-bottom:.5rem;border-bottom:3px solid var(--rule);box-shadow:0 5px 0 -4px var(--rule);margin-bottom:6px}

/* ---------- Shared headline furniture ---------- */
.kicker{margin:0 0 .4rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.22em;text-align:center}
.kicker a{text-decoration:none;border-bottom:1px solid currentColor}
.story-rule,.brief-rule{height:7px;width:7rem;margin:.75rem auto;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.brief-rule{width:3.5rem;height:0;border-bottom:0;margin:.55rem auto}
.story-byline{text-align:center;font-size:.85rem;color:var(--ink-soft);margin:0 0 1.25rem}
.banner-rule{display:flex;align-items:center;gap:1rem;margin:2.25rem 0 1.25rem;font-weight:400}
.banner-rule::before,.banner-rule::after{content:"";flex:1;border-top:3px double var(--rule)}
.banner-rule span{font-size:.8rem;text-transform:uppercase;letter-spacing:.24em}
.fleuron{text-align:center;font-size:1.6rem;line-height:1}

/* ---------- Front page ---------- */
.front{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:0}
.lead{padding-right:1.75rem;border-right:1px solid var(--rule)}
.lead-head{font-weight:700;text-transform:uppercase;text-align:center;letter-spacing:.01em;
  font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.04;margin:0}
.lead-head a{text-decoration:none}
.lead-deck{font-family:var(--fell);font-style:italic;text-align:center;font-size:1.2rem;line-height:1.4;max-width:40rem;margin:0 auto .75rem}
.lead-body{columns:2;column-gap:1.75rem;column-rule:1px solid var(--rule);text-align:justify;hyphens:auto}
.lead-body p{margin:0 0 .7em;text-indent:1.25em}
.lead-body p:first-child{text-indent:0}
.lead-body p:first-child::first-letter,.story-body > p:first-of-type::first-letter{
  float:left;font-family:var(--serif);font-weight:700;font-size:4.1em;line-height:.82;
  padding:.06em .08em 0 0;margin-right:.04em}
.continued{text-align:right;font-style:italic;margin:.25rem 0 0}
.index-col{padding-left:1.5rem}
.box-head{font-size:.8rem;text-transform:uppercase;letter-spacing:.2em;text-align:center;margin:0 0 .5rem;padding:.3rem 0;border-top:3px double var(--rule);border-bottom:1px solid var(--rule)}
.contents{list-style:none;margin:0 0 1.5rem;padding:0;counter-reset:c}
.contents li{counter-increment:c;padding:.55rem 0;border-bottom:1px dotted var(--ink-soft);font-size:.95rem;line-height:1.3}
.contents li::before{content:counter(c,upper-roman) ". ";font-weight:700}
.contents a{text-decoration:none}
.contents-sec{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-soft);margin-top:.15rem}
.notice{border:1px solid var(--rule);outline:1px solid var(--rule);outline-offset:3px;padding:.85rem;margin:.5rem 4px 0;text-align:center;font-family:var(--fell);font-size:.95rem;line-height:1.4}
.notice .box-head{border:0;padding:0;font-family:var(--serif)}
.notice p{margin:.4rem 0}
.notice-link{font-family:var(--serif);font-size:.75rem;text-transform:uppercase;letter-spacing:.16em}

.columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.brief{padding:0 1.5rem 1.5rem;border-right:1px solid var(--rule)}
.brief:nth-child(3n+1){padding-left:0}
.brief:nth-child(3n){border-right:0;padding-right:0}
.brief:nth-child(n+4){border-top:1px solid var(--rule);padding-top:1.25rem}
.brief-head{font-weight:700;text-transform:uppercase;text-align:center;font-size:1.2rem;line-height:1.15;margin:0}
.brief-head a{text-decoration:none}
.brief-text{text-align:justify;hyphens:auto;margin:0 0 .5rem}
.brief-meta{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);text-align:center;margin:0}

/* ---------- Article ---------- */
.story{max-width:46rem;margin:0 auto}
.story-head{font-weight:700;text-transform:uppercase;text-align:center;font-size:clamp(1.9rem,4.6vw,3.1rem);line-height:1.05;margin:0}
.story-body{max-width:var(--measure);margin:0 auto;font-size:1.14rem;line-height:1.65}
.story-body p{margin:0 0 1em}
.story-body strong{font-weight:700}
.endmark{text-align:center;font-size:1.5rem;margin:1.5rem 0}
.turn{display:grid;grid-template-columns:1fr 1fr;border-top:3px double var(--rule);border-bottom:1px solid var(--rule);max-width:44rem;margin:0 auto 1rem}
.turn a{display:block;padding:.85rem 0;text-decoration:none;font-weight:700;line-height:1.25}
.turn-next{text-align:right;border-left:1px solid var(--rule);padding-left:1rem!important}
.turn-prev{padding-right:1rem!important}
.turn-label{display:block;font-weight:400;font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-soft);margin-bottom:.2rem}

/* ---------- Archive ---------- */
.archive{max-width:44rem;margin:0 auto}
.archive-list{list-style:none;padding:0;margin:0}
.archive-list li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.6rem 0;border-bottom:1px dotted var(--ink-soft)}
.archive-list a{text-decoration:none;font-weight:700}
.archive-list time{font-size:.8rem;color:var(--ink-soft);white-space:nowrap;font-style:italic}

/* ---------- Subscribe ---------- */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.subscribe-page{max-width:40rem;margin:0 auto;text-align:center}
.subscribe-box{border:1px solid var(--rule);outline:1px solid var(--rule);outline-offset:3px;padding:1.25rem 1.25rem 1rem;margin:1.5rem 4px;text-align:center}
.subscribe-box .box-head{border:0;padding:0;margin-bottom:.75rem}
.subscribe-inline{max-width:36rem;margin:0 auto 2rem}
.subscribe-pitch{font-family:var(--fell);font-style:italic;font-size:1.05rem;margin:0 0 .9rem}
.subscribe-form{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.subscribe-input{flex:1 1 15rem;min-width:0;font:inherit;font-size:1rem;padding:.6rem .75rem;background:rgba(255,252,242,.55);color:var(--ink);border:1px solid var(--rule);border-radius:0}
.subscribe-input::placeholder{color:var(--ink-soft);font-style:italic}
.subscribe-input:focus{outline:2px solid var(--accent);outline-offset:1px}
.subscribe-button{font:inherit;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.18em;padding:.6rem 1.2rem;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:0;cursor:pointer}
.subscribe-button:hover{background:var(--accent);border-color:var(--accent)}
.subscribe-button:disabled{opacity:.6;cursor:wait}
.subscribe-status:empty{display:none}
.subscribe-status{flex-basis:100%;margin:.5rem 0 0;min-height:1.4em;font-style:italic}
.subscribe-form.is-done .subscribe-input,.subscribe-form.is-done .subscribe-button{display:none}
.subscribe-fine{font-size:.8rem;color:var(--ink-soft);margin:.6rem 0 0}
.subscribe-alt{margin-top:2rem}
.subscribe-alt .box-head{display:inline-block;border-left:0;border-right:0;padding:.3rem 1.5rem}
.feed-url{font-size:.95rem;word-break:break-all}

/* ---------- Footer ---------- */
.colophon{margin-top:3rem;padding-top:1rem;border-top:3px double var(--rule);text-align:center;font-size:.85rem;color:var(--ink-soft)}
.colophon p{margin:.3rem 0}
.colophon-title{font-family:var(--black);font-size:1.6rem;color:var(--ink)}
.colophon-title a{text-decoration:none}
.colophon nav{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;margin:.6rem 0}
.colophon-small{font-size:.72rem}

/* Engraved plates: the illustrations sit on the page like printed cuts */
.plate{margin:0 0 1.25rem;padding:5px;border:1px solid var(--rule);outline:1px solid var(--rule);outline-offset:-4px}
.plate a{display:block}
.plate img{display:block;width:100%;height:auto;mix-blend-mode:multiply;filter:contrast(1.04)}
.plate-story{max-width:46rem;margin:0 auto 1.75rem}
.plate-small{margin-bottom:.9rem;padding:3px;outline-offset:-3px}
.story-body img{max-width:100%;height:auto;display:block;margin:1.5rem auto;filter:grayscale(1) contrast(1.15) sepia(.25);mix-blend-mode:multiply;border:1px solid var(--rule)}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .front{grid-template-columns:1fr}
  .lead{padding-right:0;border-right:0}
  .index-col{padding-left:0;margin-top:1.5rem}
  .columns{grid-template-columns:1fr 1fr}
  .brief,.brief:nth-child(n){padding:1.25rem 1rem;border-right:0;border-top:0}
  .brief:nth-child(odd){border-right:1px solid var(--rule);padding-left:0}
  .brief:nth-child(even){padding-right:0}
  .brief:nth-child(n+3){border-top:1px solid var(--rule)}
}
@media (max-width:1100px){.ears{grid-template-columns:1fr}.ear{display:none}.nameplate{white-space:normal;font-size:clamp(2.4rem,7vw,4.1rem)}}
@media (max-width:640px){
  body{font-size:1rem}
  .sheet{padding-top:1rem}
  .ears{grid-template-columns:1fr}
  .ear{display:none}
  .dateline{justify-content:center;text-align:center;font-size:.66rem}
  .dateline span:nth-child(3){display:none}
  .sections{gap:.15rem .9rem}
  .sections a{padding:.1rem 0;font-size:.72rem;border-right:0}
  .lead-body{columns:1}
  .columns{grid-template-columns:1fr}
  .brief:nth-child(n){border-right:0;padding:1.25rem 0;border-top:1px solid var(--rule)}
  .story-body{font-size:1.06rem}
  .turn{grid-template-columns:1fr}
  .turn-next{border-left:0;border-top:1px solid var(--rule);padding-left:0!important}
  .archive-list li{flex-direction:column;gap:.1rem}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
