/* The Barovia Gazetteer — shared stylesheet for all pages */

  :root {
    --paper: #e2d3ae;
    --paper-deep: #c4ae82;
    --paper-light: #ecdfbf;
    --ink: #1f1813;
    --ink-soft: #5a4c3d;
    --ink-faint: #8c7b63;
    --wax: #7b1d1d;
    --rule: var(--ink);

    --f-nameplate: "Pirata One", "UnifrakturCook", "Old English Text MT", serif;
    --f-head: "Playfair Display", "Bodoni MT", "Didot", Georgia, serif;
    --f-body: "Old Standard TT", "Times New Roman", Times, serif;

    --gutter: clamp(1rem, 2.5vw, 2rem);
  }

  * { box-sizing: border-box; }
  html { color-scheme: light; }

  body {
    margin: 0;
    background: #3a2f25;
    color: var(--ink);
    font-family: var(--f-body);
    font-size: 1.0625rem;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }

  /* ----- the sheet of paper ----- */
  .sheet {
    position: relative;
    max-width: 78rem;
    margin: clamp(0px, 2vw, 2rem) auto;
    padding: clamp(1rem, 3vw, 3rem) var(--gutter) 2.5rem;
    background-color: var(--paper);
    background-image:
      radial-gradient(ellipse at 12% 8%,  rgba(120, 80, 30, 0.16) 0, transparent 22%),
      radial-gradient(ellipse at 88% 92%, rgba(120, 80, 30, 0.20) 0, transparent 26%),
      radial-gradient(ellipse at 70% 15%, rgba(120, 80, 30, 0.10) 0, transparent 18%),
      radial-gradient(ellipse at 50% 50%, transparent 55%, rgba(90, 60, 20, 0.20) 100%),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.25  0 0 0 0 0.17  0 0 0 0 0.08  0 0 0 0.10 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    box-shadow:
      0 1px 0 rgba(255, 245, 220, 0.4) inset,
      0 30px 60px -20px rgba(0, 0, 0, 0.7),
      0 0 0 1px rgba(0, 0, 0, 0.35);
  }
  @media (max-width: 40rem) { .sheet { margin: 0; box-shadow: none; } }

  a { color: inherit; }
  p { margin: 0 0 0.85em; }
  figure { margin: 0; }

  /* ----- masthead ----- */
  .masthead { text-align: center; }

  .ears {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--ink-soft);
    padding: 0.35rem 0;
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
  }
  .ears span { white-space: nowrap; }
  .ears .ear-mid { display: none; }
  @media (min-width: 48rem) { .ears .ear-mid { display: inline; } }

  .nameplate {
    font-family: var(--f-nameplate);
    font-weight: 400;
    font-size: clamp(2.6rem, 9vw, 6.75rem);
    line-height: 1;
    letter-spacing: 0.01em;
    margin: 0.55em 0 0.2em;
    color: var(--ink);
    text-shadow: 0 1px 0 rgba(255, 250, 235, 0.35);
    text-wrap: balance;
  }
  .nameplate .the { font-size: 0.55em; vertical-align: 0.35em; margin-right: 0.15em; }

  .motto {
    margin: 0 0 0.9rem;
    font-style: italic;
    font-size: clamp(0.9rem, 1.6vw, 1.1rem);
    color: var(--ink-soft);
  }
  .motto::before, .motto::after { content: " ❦ "; font-style: normal; color: var(--ink-faint); }

  .dateline {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem 1rem;
    flex-wrap: wrap;
    padding: 0.45rem 0;
    border-top: 3px double var(--rule);
    border-bottom: 1px solid var(--rule);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
  }
  .dateline b { font-weight: 700; }

  .sections {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.25rem 0;
    padding: 0.4rem 0;
    border-bottom: 3px solid var(--rule);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
  }
  .sections a {
    color: var(--ink);
    text-decoration: none;
    padding: 0.15rem 0.65rem;
    border-right: 1px solid var(--ink-faint);
  }
  .sections a:last-child { border-right: 0; }
  .sections a:hover, .sections a:focus-visible { color: var(--wax); outline: none; text-decoration: underline; text-underline-offset: 0.25em; }

  /* ----- banner headline ----- */
  .banner {
    position: relative;
    text-align: center;
    padding: clamp(1.25rem, 3vw, 2.25rem) 0 clamp(1rem, 2.5vw, 1.75rem);
    border-bottom: 1px solid var(--rule);
  }
  .kicker {
    display: inline-block;
    font-size: 0.8rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--ink-soft);
    margin: 0 0 0.85rem;
  }
  .kicker::before, .kicker::after { content: "—"; margin: 0 0.6em; color: var(--ink-faint); }

  .headline {
    font-family: var(--f-head);
    font-weight: 900;
    font-size: clamp(2rem, 6.4vw, 5rem);
    line-height: 0.98;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    margin: 0 auto;
    max-width: 22ch;
    text-wrap: balance;
  }
  .deck {
    font-family: var(--f-head);
    font-style: italic;
    font-weight: 700;
    font-size: clamp(1.05rem, 2vw, 1.4rem);
    line-height: 1.3;
    max-width: 46ch;
    margin: 1.1rem auto 0;
    color: var(--ink-soft);
    text-wrap: balance;
  }

  /* the censor's stamp */
  .stamp {
    position: absolute;
    right: clamp(-0.25rem, 1vw, 1rem);
    top: 0.5rem;
    transform: rotate(-9deg);
    font-family: var(--f-body);
    font-weight: 700;
    font-size: 0.74rem;
    line-height: 1.25;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-align: center;
    color: var(--wax);
    border: 2px solid var(--wax);
    border-radius: 3px;
    padding: 0.4rem 0.55rem;
    opacity: 0.92;
    mix-blend-mode: multiply;
    pointer-events: none;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='s'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.6' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 3 -0.6'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23s)'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='s'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.6' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 3 -0.6'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23s)'/%3E%3C/svg%3E");
  }
  @media (max-width: 40rem) {
    .stamp { position: static; display: inline-block; transform: rotate(-3deg); margin: 0 0 0.75rem; }
  }

  /* the censor's pen */
  .redact {
    background: var(--ink);
    color: transparent;
    padding: 0 0.3em;
    border-radius: 1px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    transition: color 0.4s ease;
    cursor: help;
  }
  .redact:hover, .redact:focus { color: var(--paper); }

  /* ----- page body grid ----- */
  .page {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0 var(--gutter);
    padding-top: 1.25rem;
  }
  @media (min-width: 56rem) {
    .page { grid-template-columns: minmax(0, 8fr) minmax(15rem, 3fr); }
    .rail { grid-column: 2; grid-row: 1 / span 3; border-left: 1px solid var(--rule); padding-left: var(--gutter); }
    .lead, .band.beside { grid-column: 1; }
  }

  /* lead story */
  .columns {
    column-count: 1;
    column-gap: var(--gutter);
    column-rule: 1px solid var(--ink-faint);
  }
  @media (min-width: 40rem) { .columns { column-count: 2; } }
  @media (min-width: 72rem) { .columns.three { column-count: 3; } }
  .columns p { break-inside: avoid; }
  .columns:not(.qa) > p:first-of-type::first-letter, .dropcap::first-letter {
    font-family: var(--f-head);
    font-weight: 900;
    font-size: 3.6em;
    line-height: 0.8;
    float: left;
    padding: 0.08em 0.1em 0 0;
    color: var(--wax);
  }
  .subhead {
    font-family: var(--f-head);
    font-weight: 700;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-align: center;
    margin: 0.4em 0 0.6em;
    break-after: avoid;
  }
  .subhead::before, .subhead::after { content: "—"; margin: 0 0.5em; color: var(--ink-faint); }

  .byline {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--ink-soft);
    margin: 0.5rem 0 0.9rem;
    text-align: center;
  }
  .byline em { font-style: italic; text-transform: none; letter-spacing: 0.02em; }

  /* engraving placeholder */
  .plate {
    position: relative;
    border: 1px solid var(--ink);
    padding: 3px;
    margin: 0 0 1rem;
    break-inside: avoid;
  }
  .plate .art {
    aspect-ratio: 3 / 2;
    background-color: var(--paper-deep);
    background-image:
      repeating-linear-gradient(45deg,  rgba(31, 24, 19, 0.28) 0 1px, transparent 1px 5px),
      repeating-linear-gradient(-45deg, rgba(31, 24, 19, 0.18) 0 1px, transparent 1px 7px),
      radial-gradient(ellipse at 50% 60%, rgba(31, 24, 19, 0.0) 30%, rgba(31, 24, 19, 0.35) 100%);
    border: 1px solid var(--ink);
    display: grid;
    place-items: center;
  }
  .plate .art.wide { aspect-ratio: 21 / 9; }
  .plate .zoom { display: block; cursor: zoom-in; }
  .plate .zoom:focus-visible { outline: 2px solid var(--wax); outline-offset: 2px; }
  .plate .zoom:hover img { filter: sepia(0.35) contrast(1.08); }
  .plate img.art {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    background: none;
    mix-blend-mode: multiply;
    filter: sepia(0.35) contrast(1.04);
  }
  .plate .art span {
    font-family: var(--f-head);
    font-style: italic;
    font-size: 0.85rem;
    color: var(--ink-soft);
    background: var(--paper);
    padding: 0.25em 0.8em;
    border: 1px solid var(--ink-faint);
  }
  .plate figcaption {
    font-size: 0.78rem;
    font-style: italic;
    color: var(--ink-soft);
    padding: 0.35rem 0.2rem 0.1rem;
    line-height: 1.35;
  }

  /* ----- section heads ----- */
  .sechead {
    font-family: var(--f-head);
    font-weight: 900;
    font-size: 0.95rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-align: center;
    margin: 0;
    padding: 0.35rem 0;
    border-top: 3px solid var(--rule);
    border-bottom: 1px solid var(--rule);
  }

  /* ----- rail ----- */
  .rail section + section { margin-top: 1.5rem; }
  .rail p { font-size: 0.95rem; }

  .roster { list-style: none; margin: 0; padding: 0; font-size: 0.93rem; }
  .roster li { padding: 0.55rem 0; border-bottom: 1px dotted var(--ink-faint); }
  .roster li:last-child { border-bottom: 0; }
  .roster b { font-variant: small-caps; letter-spacing: 0.04em; font-weight: 700; display: block; }
  .roster i { color: var(--ink-soft); }

  .cards { list-style: none; margin: 0; padding: 0.25rem 0 0; font-size: 0.93rem; }
  .cards li { padding: 0.5rem 0; border-bottom: 1px dotted var(--ink-faint); }
  .cards li:last-child { border-bottom: 0; }
  .cards .card {
    font-family: var(--f-head);
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    display: block;
    margin-bottom: 0.15rem;
  }
  .cards q { font-style: italic; quotes: "“" "”"; }

  .notice {
    padding: 0.7rem 0;
    border-bottom: 1px dotted var(--ink-faint);
    font-size: 0.95rem;
  }
  .notice:last-child { border-bottom: 0; }
  .notice b { font-variant: small-caps; letter-spacing: 0.04em; font-weight: 700; }

  .advert {
    margin-top: 0.9rem;
    border: 3px double var(--ink);
    padding: 0.9rem 0.9rem 1rem;
    text-align: center;
  }
  .advert .big {
    font-family: var(--f-head);
    font-weight: 900;
    font-size: 1.5rem;
    line-height: 1.05;
    text-transform: uppercase;
    margin: 0 0 0.35rem;
    text-wrap: balance;
  }
  .advert .small { font-size: 0.85rem; margin: 0.35rem 0 0; }
  .advert .price {
    display: inline-block;
    margin-top: 0.6rem;
    padding: 0.1rem 0.7rem;
    border: 1px solid var(--ink);
    font-size: 0.78rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }
  .advert .ornament { font-size: 1.3rem; color: var(--ink-soft); line-height: 1; margin-bottom: 0.3rem; }
  .advert.struck { position: relative; }
  .advert.struck::after {
    content: "WITHDRAWN";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-family: var(--f-head);
    font-weight: 900;
    font-size: 2rem;
    letter-spacing: 0.2em;
    color: var(--wax);
    transform: rotate(-14deg);
    opacity: 0.8;
    mix-blend-mode: multiply;
    pointer-events: none;
  }

  /* ----- second band: two wide stories ----- */
  .band {
    grid-column: 1 / -1;
    margin-top: 2rem;
  }
  .two-up {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem var(--gutter);
    padding-top: 1.25rem;
  }
  @media (min-width: 56rem) { .two-up { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  .two-up > article + article { border-top: 1px solid var(--ink-faint); padding-top: 1.25rem; }
  @media (min-width: 56rem) {
    .two-up > article + article { border-top: 0; padding-top: 0; border-left: 1px solid var(--ink-faint); padding-left: var(--gutter); }
  }
  .h2 {
    font-family: var(--f-head);
    font-weight: 900;
    font-size: clamp(1.5rem, 2.6vw, 2.1rem);
    line-height: 1.08;
    margin: 0;
    text-wrap: balance;
  }
  .h2 + .deck-sm {
    font-family: var(--f-head);
    font-style: italic;
    font-weight: 700;
    font-size: 1.02rem;
    color: var(--ink-soft);
    margin: 0.5rem 0 0.25rem;
    line-height: 1.3;
  }

  /* ----- short stories ----- */
  .story-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem var(--gutter);
    padding-top: 1.25rem;
  }
  @media (min-width: 40rem) { .story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (min-width: 64rem) { .story-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  .story {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--ink-faint);
  }
  @media (min-width: 64rem) {
    .story { border-bottom: 0; border-right: 1px solid var(--ink-faint); padding-right: var(--gutter); }
    .story:last-child { border-right: 0; padding-right: 0; }
  }
  .story .label {
    font-size: 0.72rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--wax);
    margin: 0;
  }
  .story h4 {
    font-family: var(--f-head);
    font-weight: 900;
    font-size: 1.3rem;
    line-height: 1.12;
    margin: 0;
    text-wrap: balance;
  }
  .story p { margin: 0; font-size: 0.97rem; }
  .story .byline { text-align: left; margin: 0; }
  .story .more { font-style: italic; font-size: 0.85rem; color: var(--ink-soft); margin-top: auto; }

  /* ----- obituaries, letters, corrections ----- */
  .three-up {
    display: grid;
    gap: 1.5rem var(--gutter);
    grid-template-columns: 1fr;
    padding-top: 1.25rem;
  }
  @media (min-width: 56rem) { .three-up { grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr); } }
  .three-up > section + section { border-top: 1px solid var(--ink-faint); padding-top: 1.25rem; }
  @media (min-width: 56rem) {
    .three-up > section + section { border-top: 0; padding-top: 0; border-left: 1px solid var(--ink-faint); padding-left: var(--gutter); }
  }
  .h3 {
    font-family: var(--f-head);
    font-weight: 900;
    font-size: 1.35rem;
    line-height: 1.1;
    margin: 0 0 0.6rem;
  }
  .lede { font-style: italic; color: var(--ink-soft); margin: 0 0 0.8rem; font-size: 0.95rem; }

  .obit { margin: 0 0 0.9rem; font-size: 0.95rem; }
  .obit b { font-variant: small-caps; letter-spacing: 0.05em; font-weight: 700; font-size: 1.05rem; }
  .obit .dash { color: var(--ink-faint); }

  .letter { margin: 0 0 1rem; padding-left: 1rem; border-left: 2px solid var(--ink-faint); font-size: 0.95rem; }
  .letter p { margin: 0 0 0.35rem; }
  .letter .sig { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-soft); margin: 0; }

  .box {
    border: 1px solid var(--ink);
    padding: 0.8rem 0.9rem 0.9rem;
    font-size: 0.92rem;
    margin-bottom: 1.25rem;
  }
  .box .h3 { font-size: 1.05rem; letter-spacing: 0.1em; text-transform: uppercase; text-align: center; margin-bottom: 0.5rem; }
  .box p:last-child { margin-bottom: 0; }
  .box.next { border: 3px double var(--ink); text-align: center; }
  .box.next .q { font-style: italic; margin: 0.35rem 0; }
  .box.next .shout {
    font-family: var(--f-head);
    font-weight: 900;
    font-size: 1.05rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0.6rem 0 0.2rem;
    text-wrap: balance;
  }
  .box.next .tag { font-size: 0.78rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--wax); margin: 0.5rem 0 0; }

  /* ----- word from the street ----- */
  .street-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem var(--gutter);
    padding-top: 1.25rem;
  }
  @media (min-width: 56rem) { .street-grid { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); } }
  .street-intro .byline { text-align: left; }
  .qa p { font-size: 0.97rem; }
  .qa b { font-variant: small-caps; letter-spacing: 0.05em; font-weight: 700; }
  .qa em { color: var(--ink-soft); }
  .street-end {
    font-style: italic;
    color: var(--ink-soft);
    border-top: 1px solid var(--ink-faint);
    padding-top: 0.6rem;
    margin-top: 0.4rem;
  }

  .colophon {
    margin-top: 2.5rem;
    padding-top: 0.6rem;
    border-top: 3px solid var(--rule);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem 2rem;
    font-size: 0.74rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ink-soft);
  }
  .colophon p { margin: 0; }

  @media print {
    body { background: #fff; }
    .sheet { box-shadow: none; margin: 0; max-width: none; }
    .redact { color: transparent !important; }
  }

  /* =========================================================
     Page 2 — Advertisements & Classified Notices
     ========================================================= */

  /* folio line linking the pages */
  .turn {
    margin: 2rem 0 0;
    text-align: right;
    font-style: italic;
    font-size: 0.9rem;
    color: var(--ink-soft);
  }
  .turn a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--ink-faint); }
  .turn a:hover, .turn a:focus-visible { color: var(--wax); border-color: var(--wax); outline: none; }

  /* compact masthead and banner for inner pages */
  .masthead.small .nameplate { font-size: clamp(2rem, 6vw, 4.2rem); margin: 0.45em 0 0.35em; }
  .sections a.here { color: var(--wax); border-bottom: 2px solid var(--wax); }
  .headline.small { font-size: clamp(1.6rem, 4.6vw, 3.4rem); max-width: 26ch; }

  /* the classified flow */
  .classifieds {
    column-count: 1;
    column-gap: var(--gutter);
    column-rule: 1px solid var(--ink-faint);
    padding-top: 1.25rem;
  }
  @media (min-width: 40rem) { .classifieds { column-count: 2; } }
  @media (min-width: 56rem) { .classifieds { column-count: 3; } }
  @media (min-width: 72rem) { .classifieds { column-count: 4; } }

  .cl-head {
    font-family: var(--f-head);
    font-weight: 900;
    font-size: 0.85rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-align: center;
    margin: 0.9rem 0 0.5rem;
    padding: 0.3rem 0;
    border-top: 3px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    break-after: avoid;
    break-inside: avoid;
  }
  .classifieds > .cl-head:first-child { margin-top: 0; }
  .cl-head:first-of-type { margin-top: 0; }

  .cl {
    font-size: 0.9rem;
    line-height: 1.4;
    margin: 0 0 0.55em;
    padding-left: 1em;
    text-indent: -1em;
    break-inside: avoid;
  }
  .cl b { font-variant: small-caps; letter-spacing: 0.05em; font-weight: 700; }
  .cl .sig { font-size: 0.8rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-soft); }
  .cl.blank {
    text-indent: 0;
    padding: 0;
    text-align: center;
    font-style: italic;
    color: var(--ink-soft);
    font-size: 0.85rem;
  }

  /* boxed display adverts inside the flow */
  .advert.display { margin: 0.6rem 0 1rem; break-inside: avoid; }
  .advert .tag { font-style: italic; font-size: 0.85rem; color: var(--ink-soft); margin: 0.35rem 0 0; }
  .advert .price { margin-top: 0.55rem; }

  /* rates box */
  .rates {
    border: 1px solid var(--ink);
    padding: 0.7rem 0.8rem 0.8rem;
    margin: 0 0 1rem;
    font-size: 0.85rem;
    line-height: 1.4;
    break-inside: avoid;
  }
  .rates h4 {
    font-family: var(--f-head);
    font-weight: 900;
    font-size: 0.8rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-align: center;
    margin: 0 0 0.4rem;
  }
  .rates p { margin: 0 0 0.3rem; }
  .rates p:last-child { margin: 0; }

  /* the notice the censor struck */
  .struck-space {
    border: 1px solid var(--ink);
    height: 5.5rem;
    margin: 0.4rem 0 1rem;
    position: relative;
    break-inside: avoid;
    background:
      repeating-linear-gradient(-45deg, transparent 0 6px, rgba(31,24,19,0.06) 6px 7px);
  }
  .struck-space::after {
    content: "Struck by the Count's Censor";
    position: absolute;
    inset: auto 0 0.35rem 0;
    text-align: center;
    font-size: 0.7rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--wax);
    opacity: 0.85;
  }

  /* reprint from the Vallaki paper */
  .reprint {
    margin-top: 2rem;
    border: 3px double var(--ink);
    padding: 1rem clamp(0.9rem, 2.5vw, 1.75rem) 1.25rem;
    background: rgba(120, 80, 30, 0.07);
  }
  .reprint .rp-note {
    font-size: 0.72rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-align: center;
    color: var(--ink-soft);
    margin: 0 0 0.6rem;
  }
  .reprint .rp-name {
    font-family: var(--f-head);
    font-weight: 900;
    font-size: clamp(1.5rem, 3.4vw, 2.4rem);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: center;
    margin: 0;
    line-height: 1.05;
  }
  .reprint .rp-motto {
    text-align: center;
    font-style: italic;
    font-size: 0.9rem;
    color: var(--ink-soft);
    margin: 0.25rem 0 0.9rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid var(--ink);
  }
  .reprint .columns { column-rule: 1px solid var(--ink-faint); }
  @media (min-width: 40rem) { .reprint .columns { column-count: 2; } }
  @media (min-width: 64rem) { .reprint .columns { column-count: 3; } }
  .reprint .cl-head { font-size: 0.78rem; border-top-width: 1px; }
  .reprint .cl { font-size: 0.88rem; }
