/* press-cover.css — Centaurus Press covers (1 Oct 2026).
   One template for every title, drawn as live text (not an image) so spiders,
   screen readers and translation read it, and it is sharp at any size.
   Designed at 400 × 616 px and written in em, 1em = 16px at that size; the frame
   sets the em from its own width (container query units), so a cover is the same
   design at any width. Markup: press-cover.js. Colour by FORM: --c on the root. */
/* Libre Caslon Text (SIL Open Font License), self-hosted so the site and the PNG renderer
   draw from the same files. Relative urls: they resolve beside this stylesheet in both. */
@font-face { font-family: 'Libre Caslon Text'; font-style: normal; font-weight: 400; font-display: swap;
  src: url(fonts/libre-caslon/lct-400-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Libre Caslon Text'; font-style: normal; font-weight: 400; font-display: swap;
  src: url(fonts/libre-caslon/lct-400-latinext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Libre Caslon Text'; font-style: italic; font-weight: 400; font-display: swap;
  src: url(fonts/libre-caslon/lct-400i-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Libre Caslon Text'; font-style: italic; font-weight: 400; font-display: swap;
  src: url(fonts/libre-caslon/lct-400i-latinext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Libre Caslon Text'; font-style: normal; font-weight: 700; font-display: swap;
  src: url(fonts/libre-caslon/lct-700-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Libre Caslon Text'; font-style: normal; font-weight: 700; font-display: swap;
  src: url(fonts/libre-caslon/lct-700-latinext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

.cpc-frame { container-type: inline-size; width: 100%; aspect-ratio: 400 / 616; }
.cpc {
  --cream: #f3ead6; --ink: #23180f; --ink2: #4d3c2d;
  font-size: 9px;                       /* fallback without container queries */
  font-size: calc(100cqw / 25);         /* 25em = the frame's width */
  width: 25em; height: 38.5em; box-sizing: border-box; padding: .875em;
  background: var(--c, #3d3a36); color: var(--cream);
  font-family: 'Libre Caslon Text', Georgia, 'Times New Roman', serif;
  -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
  line-height: 1.2; text-align: center; overflow: hidden; position: relative;
}
.cpc * { box-sizing: border-box; margin: 0; padding: 0; }
/* parchment.css sets DM Sans with !important on bare div / span / a; a class-scoped
   !important outranks it, which keeps the cover's face the same on every page. */
.cpc, .cpc div, .cpc span { font-family: 'Libre Caslon Text', Georgia, 'Times New Roman', serif !important; }
.cpc-in { height: 100%; border: 1px solid rgba(243,234,214,.55); padding: 1.5em 1.5em 1.125em;
  display: flex; flex-direction: column; align-items: center; }
.cpc-press { font-size: .6875em; font-weight: 700; letter-spacing: .34em; text-indent: .34em;
  text-transform: uppercase; color: var(--cream); }
.cpc-coin { display: block; width: 6.5em; height: 6.5em; border-radius: 50%; border: .3125em solid var(--c, #3d3a36);
  margin: 1.125em 0 -3.5625em; position: relative; z-index: 2; box-sizing: content-box; object-fit: cover; background: var(--cream); }
.cpc-panel { width: 100%; flex: 1 1 auto; min-height: 0; overflow: hidden; background: var(--p, var(--cream)); color: var(--ink);   /* --p: pastel by genre / subject (19 Oct 2026) */
  padding: 4.625em 1.625em 1.5em; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1em; }
.cpc-series { font-size: .65625em; font-weight: 700; letter-spacing: .26em; text-indent: .26em; text-transform: uppercase; color: var(--c, #3d3a36); }
.cpc-title { font-weight: 700; line-height: 1.12; text-wrap: balance; overflow-wrap: break-word; hyphens: auto; color: var(--ink); }
.cpc-sub { font-size: .875em; font-style: italic; line-height: 1.3; color: var(--ink2); margin-top: -.375em; text-wrap: balance; }
.cpc-rule { width: 2.375em; height: .125em; background: var(--c, #3d3a36); flex: none; }
.cpc-by { display: flex; flex-direction: column; align-items: center; gap: .25em; }
.cpc-author { font-size: .9375em; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); text-wrap: balance; line-height: 1.25; }
.cpc-sim { font-size: .875em; font-style: italic; color: var(--ink2); }
.cpc-foot { width: 100%; margin-top: .875em; display: flex; justify-content: space-between; align-items: baseline;
  font-size: .65625em; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--cream); }
a.cpc-link { display: block; text-decoration: none; border: 0; box-shadow: 0 .4em 1.1em rgba(35,24,15,.18); transition: transform .15s, box-shadow .15s; }
a.cpc-link:hover { transform: translateY(-2px); box-shadow: 0 .6em 1.4em rgba(35,24,15,.26); }

/* ── THE LATINUM PRESS (4 Oct 2026, Evan): Mondrian covers. Markup: press-cover.js latinum().
   The root also carries .cpc (so page-level typography overrides that exempt .cpc leave it alone);
   everything .cpc sets is reset here. Same 25em × 38.5em design box as the Centaurus cover. */
.cpc.lpc { --lpR:#c8302b; --lpB:#1f4f9a; --lpY:#f0c12c; --lpG:#c9c4b8; --lpK:#111; --lpW:#f7f3ea;
  background:#111; color:#111; padding:.5em; display:grid; gap:.5em; text-align:left; line-height:1.2; }
.cpc.lpc > div { background:var(--lpW); min-width:0; min-height:0; overflow:hidden; display:flex; }
.cpc.lpc, .cpc.lpc div, .cpc.lpc span, .cpc.lpc b { font-family:'Helvetica Neue', Helvetica, Arial, sans-serif !important; }
.cpc.lpc .lpc-t { font-family:'Libre Caslon Text', Georgia, 'Times New Roman', serif !important; font-weight:700; line-height:1.1;
  color:#111; text-wrap:balance; overflow-wrap:break-word; hyphens:auto; }
.cpc.lpc .lpc-press { align-items:center; padding:0 1.1em; font-size:.8125em; font-weight:700; line-height:1; letter-spacing:.32em; text-transform:uppercase; color:#111; white-space:nowrap; }
.cpc.lpc .lpc-title { flex-direction:column; justify-content:center; align-items:flex-start; padding:1.4em 1.5em; gap:.8em; }
.cpc.lpc .lpc-title[data-rtl] { align-items:flex-end; text-align:right; }
.cpc.lpc .lpc-series { font-size:.6875em; font-weight:700; line-height:1.2; letter-spacing:.24em; text-transform:uppercase; color:#111; }
.cpc.lpc .lpc-rule { width:3em; height:.375em; background:#111; flex:none; }
.cpc.lpc .lpc-lang { flex-direction:column; justify-content:flex-end; padding:.9em 1em; gap:.25em; color:#111; }
.cpc.lpc .lpc-lang b { font-size:1.25em; line-height:1.05; font-weight:700; }
.cpc.lpc .lpc-lang span { font-size:.8125em; line-height:1.2; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.cpc.lpc .lpc-coin { align-items:center; justify-content:center; }
.cpc.lpc .lpc-coin img { width:76%; height:auto; aspect-ratio:1; border-radius:50%; object-fit:cover; display:block; }
.cpc.lpc .lpc-foot { align-items:center; justify-content:space-between; gap:1.2em; padding:0 1.1em; font-size:.625em; font-weight:700; line-height:1;
  letter-spacing:.16em; text-transform:uppercase; color:#111; white-space:nowrap; }
.cpc.lpc .lpc-dark, .cpc.lpc .lpc-dark * { color:#fff !important; }
.cpc.lpc .lpc-press{grid-area:press}.cpc.lpc .lpc-acc{grid-area:acc}.cpc.lpc .lpc-bar{grid-area:bar}.cpc.lpc .lpc-title{grid-area:title}
.cpc.lpc .lpc-blk{grid-area:blk}.cpc.lpc .lpc-lang{grid-area:lang}.cpc.lpc .lpc-coin{grid-area:coin}.cpc.lpc .lpc-sq{grid-area:sq}.cpc.lpc .lpc-foot{grid-area:foot}
/* the three compositions */
.cpc.lpc.lpc-1 { grid-template-columns:4.75em 1fr 7em; grid-template-rows:3.5em 1fr 8.25em 2.75em;
  grid-template-areas:"press press acc" "bar title title" "blk lang coin" "sq foot foot"; }
.cpc.lpc.lpc-2 { grid-template-columns:7em 1fr 4.75em; grid-template-rows:3.5em 8.25em 1fr 2.75em;
  grid-template-areas:"acc press press" "coin lang blk" "title title bar" "foot foot sq"; }
.cpc.lpc.lpc-3 { grid-template-columns:7em 1fr 4.75em; grid-template-rows:3.5em 1fr 8.25em 2.75em;
  grid-template-areas:"acc press press" "title title bar" "coin lang blk" "foot foot sq"; }
