/* 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(--cream); color: var(--ink);
  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); }
