/* ============================================================
   GRAPHICAL BIBLE - print.css  (8.5 x 11 trim)
   Matching the Fresh Look Bible visual system at letter size:
   - Color-coded entities (people, places, pronouns, concepts, numbers)
   - Hanging-indent genealogies
   - Vertical edge tabs (rotated section labels)
   - Centered serif subheads
   - Small-caps divine speech
   - Light/thin chapter numbers

   Margins are intentionally generous to keep text width near the
   readable 5.5-6.0 inch range. Adjust outer/inner if you need a
   different gutter.
   ============================================================ */

/* ---------- 1. PAGE GEOMETRY (Letter trim, KDP-tuned) ----------
   Margins balanced so single pages don't look lopsided in screen preview
   while still giving KDP enough binding room.
     - Outer: 0.45" (KDP min 0.25" + buffer for running banner)
     - Inner gutter: 0.65" (safe for ~600-page volumes)
     - Top: 0.5", Bottom: 0.4"
     - Cream paper restored for warmer reading. */
/* Margins: tightened to KDP minimums + small buffer.
   Top/bottom: 0.40 / 0.35 (KDP min 0.25 for both)
   Outer: 0.40 (KDP min 0.25)
   Gutter: 0.75 (KDP min for 501-700pp paperback color)
   Yields a 7.35 x 10.25 in text frame -- ~5% more area than before. */
@page {
  size: 8.5in 11in;
  margin: 0.40in 0.40in 0.35in 0.40in;
  background: #fbf7ec;

  @top-left {
    content: string(book-name);
    font: 600 8pt "Inter", sans-serif;
    letter-spacing: 0.18em;
    color: var(--c-sacred, #2876a8);
    text-transform: uppercase;
    margin-top: 0.30in;
  }
  @top-right {
    content: counter(page);
    font: 700 9pt "Inter", sans-serif;
    color: var(--c-sacred, #2876a8);
    margin-top: 0.30in;
  }
}

@page :left {
  margin-left: 0.40in;
  margin-right: 0.75in;
  @top-left {
    content: counter(page);
    font: 700 9pt "Inter", sans-serif;
    color: var(--c-sacred, #2876a8);
    text-transform: none;
    letter-spacing: 0;
  }
  @top-right {
    content: string(book-name);
    font: 600 8pt "Inter", sans-serif;
    letter-spacing: 0.18em;
    color: var(--c-sacred, #2876a8);
    text-transform: uppercase;
    text-align: right;
  }
}
@page :right {
  margin-left: 0.75in;
  margin-right: 0.40in;
  @top-left {
    content: string(book-name);
    font: 600 8pt "Inter", sans-serif;
    letter-spacing: 0.18em;
    color: var(--c-sacred, #2876a8);
    text-transform: uppercase;
    text-align: left;
  }
  @top-right {
    content: counter(page);
    font: 700 9pt "Inter", sans-serif;
    color: var(--c-sacred, #2876a8);
    text-align: right;
  }
}

/* book-name string published from <body> so the running header has the
   book title on every page including the front matter (prophetic intro,
   panorama, chapter grid, contents). The .book article also publishes it
   as a fallback for any builds that don't set the body attribute. */
body[data-name] {
  string-set: book-name attr(data-name);
}
.book {
  string-set: book-name attr(data-name);
}

/* Hide screen-only navigation in print. The .site-toolbar lives in the body
   and is positioned via screen.css (media="screen") so it normally has no
   styling in print, but Chrome still renders it as block-level content
   on page 1 of every book. Force display:none in @media print and via
   the [data-no-print] attribute hook. */
@media print {
  .site-toolbar,
  [data-no-print],
  #toast {
    display: none !important;
  }
}
.site-toolbar,
[data-no-print] {
  /* Suppress for paged.js print rendering as well, since paged.js doesn't
     fully emulate @media print for all elements. */
}
.pagedjs_running .site-toolbar,
.pagedjs_running [data-no-print],
[data-pagedjs] .site-toolbar,
[data-pagedjs] [data-no-print] {
  display: none !important;
}

/* Force light-mode rendering for print regardless of any saved dark
   preference. Print PDFs must always render on cream paper with dark
   ink, never inverted. */
@media print {
  body, body.dark {
    background: #fbf7ec !important;
    color: #1a1a1a !important;
  }
  body.dark .prophetic-intro .pi-section {
    background: #fefbf2 !important;
    border-color: #d8ceae !important;
  }
  body.dark .prophetic-intro .pi-content { color: #1a1a1a !important; }
  body.dark .prophetic-intro .pi-title    { color: #1a1a1a !important; }
  body.dark .prophetic-intro .pi-subtitle { color: #5a5040 !important; }
  body.dark .prophetic-intro .pi-eyebrow  { color: #8a6b1f !important; }
  body.dark .chapter,
  body.dark .book-index,
  body.dark p,
  body.dark .gen-prose,
  body.dark .gen-intro {
    color: #1a1a1a !important;
    background: transparent !important;
  }
  body.dark .epistle-header {
    background: rgba(216,184,90,0.05) !important;
    border-color: #c7b07c !important;
  }
  body.dark .epistle-header .eh-val { color: #1a1a1a !important; }
  body.dark .chapter-panorama .cp-card {
    background: #fefbf2 !important;
    border-color: #e0d4a8 !important;
    color: #2a2620 !important;
  }
  body.dark .panorama {
    background: transparent !important;
    color: #1a1a1a !important;
  }
  body.dark .panorama h1,
  body.dark .panorama .structure-list .name,
  body.dark .panorama .theme-name,
  body.dark .panorama .person-list .person,
  body.dark .panorama .place-list .place,
  body.dark .panorama .prophecy-list .body,
  body.dark .panorama .legend-grid {
    color: #1a1a1a !important;
  }
  body.dark .panorama h3,
  body.dark .panorama .subtitle,
  body.dark .panorama .pano-meta {
    color: #8a6b1f !important;
  }
  body.dark .panorama .theme-tile {
    background: rgba(216, 184, 90, 0.05) !important;
  }
}

/* ---------- 2. BASE TYPOGRAPHY ----------
   Body 11pt with 1.32 line-height yields tight but legible setting suitable
   for serious study Bible reading. KDP paperback color renders 11pt cleanly
   at 8.5x11 trim. Most heavy-apparatus study Bibles run 9-11pt body. */
html {
  font-size: 11pt;
}

body {
  font-family: "Crimson Pro", "Crimson Text", Georgia, serif;
  color: #1a1a1a;
  line-height: 1.32;
  font-weight: 400;
  margin: 0;
  padding: 0;
  background: #fbf7ec;
  orphans: 2;
  widows: 2;
  hyphens: auto;
  -webkit-hyphens: auto;
}

p {
  margin: 0 0 0.10in 0;
  text-align: left;
  hyphens: none;
}

/* ---------- 2b. PARAGRAPH GROUPING + PER-VERSE BLOCKS ----------
   Each source paragraph becomes a .para-group containing one <p class="v">
   per verse. Verses are rendered hanging-indent: the verse number sits in
   the left margin, body text aligns to a single column. Adjacent verses
   in the same group are tight (small gap). Groups themselves get a larger
   gap so the original paragraph rhythm survives. */
.para-group {
  margin: 0 0 0.13in 0;
}
.para-group + .para-group {
  margin-top: 0.02in;
}

.para-group p.v {
  position: relative;       /* anchor for absolutely-positioned .vn */
  margin: 0;
  padding-left: 2.15em;     /* hanging verse number column + breathing room
                               (was 1.85em — bumped 2026-05-16 to give the
                               .vn marker clear separation from body text) */
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  -webkit-hyphens: auto;
  line-height: 1.36;
  orphans: 2;
  widows: 2;
}
.para-group p.v + p.v {
  margin-top: 0.02in;
}
/* Poetry keeps left-aligned ragged so parallelism reads cleanly. */
.para-group p.v.poetic {
  text-align: left;
  hyphens: manual;
  -webkit-hyphens: manual;
}

/* Direct speech: pull onto its own indented block with a soft left border.
   The speech block stays inside the para-group so the verse's narrative
   wrap (.speech-cont) still belongs to the same verse visually.
   Generic human speech reads in deep slate-blue so the page announces a
   second voice — clearly distinct from narrator black, and from the
   deity speech colors (crimson Yahusha, purple Yahuah) which override
   below. */
.para-group p.v.speech {
  margin: 0.06in 0 0.06in 1.85em;
  padding: 0.05in 0.08in 0.05in 0.18in;
  border-left: 3px solid #cbb98a;
  background: rgba(216, 184, 90, 0.06);
  font-style: normal;
  color: #2c4357;
}
/* Yahusha / Yahuah speech blocks override the slate with their dedicated
   colors so deity speech in blocked utterances reads consistently with
   inline red-letter / purple-letter verses elsewhere. */
.para-group p.v.speech.rl-yahusha { color: #a8202c; }
.para-group p.v.speech.rl-yahuah  { color: #6e2e8b; }
/* Entity color codes inside any speech block should inherit the speaker
   tint so the discourse block reads as one voice, not as a rainbow of
   tagged words. */
.para-group p.v.speech .person,
.para-group p.v.speech .king,
.para-group p.v.speech .prophet,
.para-group p.v.speech .tribe,
.para-group p.v.speech .place,
.para-group p.v.speech .mountain,
.para-group p.v.speech .nation,
.para-group p.v.speech .concept,
.para-group p.v.speech .pronoun,
.para-group p.v.speech .number,
.para-group p.v.speech .lead-in { color: inherit; }
.para-group p.v.speech-cont {
  margin-top: 0.05in;
  padding-left: 2.15em;     /* match .para-group p.v breathing room */
}

/* When a verse number prefix lives inside a .speech block (rare: speech
   that begins the verse), keep it inline rather than hanging. */
.para-group p.v.speech .vn {
  position: static;
  margin-right: 0.35em;
}

/* Verse number marker: anchored absolutely in the left padding column so
   inline content (gold marks, names) cannot overlap it. The .vn column
   is narrower than the padding-left of the parent so the body text
   doesn't sit flush against the number. */
.para-group p.v .vn {
  position: absolute;
  left: 0;
  top: 0.18em;
  width: 1.60em;
  font-family: "Inter", sans-serif;
  font-size: 0.72em;
  font-weight: 600;
  color: #b97f0f;
  text-decoration: none;
  text-align: right;
}

/* ---------- 2d. BOOK-OPENING DROP CAP ----------
   First letter of chapter 1, verse 1 of each book gets a 3-line ornamental
   drop. Only fires on the book opener, not on every chapter. The verse
   number is position:absolute and excluded from ::first-letter. */
.chapter[data-num="1"] .para-group:first-of-type p.v:first-child::first-letter {
  font-family: "Crimson Pro", "Crimson Text", Georgia, serif;
  font-weight: 300;
  font-size: 3.4em;
  float: left;
  line-height: 0.85;
  padding: 0.06em 0.10em 0 0;
  margin: 0.04em 0 0 0;
  color: #6e2e8b;
  letter-spacing: -0.02em;
}
body.dark .chapter[data-num="1"] .para-group:first-of-type p.v:first-child::first-letter {
  color: #c690e0;
}

/* ---------- 2e. CHAPTER-END ORNAMENT ----------
   Subtle centered glyph between chapters. Suppresses on the LAST chapter of
   the book (no orphan ornament before book index / next book). */
.chapter + .chapter::before {
  content: "\2766";   /* floral heart ornament */
  display: block;
  text-align: center;
  font-size: 1.2em;
  color: #b97f0f;
  margin: 0.18in 0 0.15in 0;
  letter-spacing: 0.6em;
  opacity: 0.55;
}
body.dark .chapter + .chapter::before {
  color: #d4a84a;
}

/* ---------- 2f. SPEECH BLOCK VISUAL POLISH ----------
   Make speech blocks read clearly as discourse cards (subtle background
   tint + thicker accent border) without going overboard. */

/* ---------- 2h. CHAPTER PANORAMA (FRESH-LOOK STYLE) ----------
   Compressed visual showing every chapter of the book on a single page.
   Each chapter is a small color-banded card with chapter number, verse
   count, and the opening words. Density modifier classes adjust the
   column count for short / medium / long / very-long books. */
.chapter-panorama {
  page-break-before: always;
  page-break-after: always;
  padding: 0.16in 0.05in 0.10in 0.05in;
}

.chapter-panorama .cp-eyebrow {
  font-family: "Inter", sans-serif;
  font-size: 8pt;
  font-weight: 700;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #8a6b1f;
  text-align: center;
  margin: 0;
}

.chapter-panorama .cp-title {
  font-family: "Crimson Pro", "Crimson Text", Georgia, serif;
  font-weight: 300;
  font-size: 32pt;
  line-height: 1;
  text-align: center;
  margin: 0.04in 0 0.04in 0;
  color: #1a1a1a;
}

.chapter-panorama .cp-meta {
  text-align: center;
  font-family: "Inter", sans-serif;
  font-size: 8pt;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6a5040;
  margin-bottom: 0.18in;
}

.chapter-panorama .cp-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.04in 0.10in;
  margin: 0 0.10in 0.18in 0.10in;
  font-family: "Inter", sans-serif;
  font-size: 7pt;
}
.chapter-panorama .cp-leg {
  display: inline-flex;
  align-items: center;
  gap: 0.05in;
  padding: 0.02in 0.06in;
  border-left: 3px solid;
  background: rgba(0,0,0,0.025);
}
.chapter-panorama .cp-leg-range {
  color: #6a5040;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.chapter-panorama .cp-leg-name {
  color: #1a1a1a;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* The grid - column count varies by density bucket. */
.chapter-panorama .cp-grid {
  display: grid;
  gap: 0.04in;
  margin: 0 0.05in;
}
.chapter-panorama.cp-loose  .cp-grid { grid-template-columns: repeat(3, 1fr); }
.chapter-panorama.cp-normal .cp-grid { grid-template-columns: repeat(5, 1fr); }
.chapter-panorama.cp-medium .cp-grid { grid-template-columns: repeat(7, 1fr); }
.chapter-panorama.cp-dense  .cp-grid { grid-template-columns: repeat(10, 1fr); }

/* Per-card. Top accent border is colored per section. */
.chapter-panorama .cp-card {
  position: relative;
  border: 1px solid #e0d4a8;
  border-top: 3px solid #888;
  background: #fefbf2;
  padding: 0.05in 0.06in 0.05in 0.06in;
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 6.4pt;
  line-height: 1.2;
  color: #2a2620;
  page-break-inside: avoid;
  min-height: 0.55in;
  overflow: hidden;
}
.chapter-panorama.cp-dense .cp-card {
  font-size: 5.4pt;
  min-height: 0.42in;
  padding: 0.03in 0.04in;
}
.chapter-panorama.cp-loose .cp-card {
  font-size: 8pt;
  min-height: 0.85in;
}

.chapter-panorama .cp-num {
  display: block;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 11pt;
  color: #1a1a1a;
  letter-spacing: -0.02em;
  line-height: 1;
  margin-bottom: 0.025in;
}
.chapter-panorama.cp-dense .cp-num { font-size: 8pt; }
.chapter-panorama.cp-loose .cp-num { font-size: 16pt; }

.chapter-panorama .cp-vc {
  position: absolute;
  top: 0.05in;
  right: 0.06in;
  font-family: "Inter", sans-serif;
  font-size: 5.5pt;
  color: #8a7050;
  letter-spacing: 0.05em;
  font-weight: 500;
}

.chapter-panorama .cp-first {
  display: block;
  color: #4a4030;
  font-style: italic;
  hyphens: none;
}

.chapter-panorama .cp-seam {
  position: absolute;
  top: -3px;
  left: -1px;
  right: -1px;
  height: 3px;
  /* visual marker for section start - shown via colored top border in
     the parent already, this just provides a tooltip hover anchor */
}

/* Per-section accent colors */
.chapter-panorama .cp-card.cp-warm    { border-top-color: #b9591f; }
.chapter-panorama .cp-card.cp-rose    { border-top-color: #8a3d4a; }
.chapter-panorama .cp-card.cp-plum    { border-top-color: #6e2e8b; }
.chapter-panorama .cp-card.cp-sky     { border-top-color: #2876a8; }
.chapter-panorama .cp-card.cp-cool    { border-top-color: #2c8a8a; }
.chapter-panorama .cp-card.cp-green   { border-top-color: #4d8b5f; }
.chapter-panorama .cp-card.cp-gold    { border-top-color: #8a6b1f; }
.chapter-panorama .cp-card.cp-sacred  { border-top-color: #4a6c9c; }

.chapter-panorama .cp-leg.cp-warm    { border-left-color: #b9591f; }
.chapter-panorama .cp-leg.cp-rose    { border-left-color: #8a3d4a; }
.chapter-panorama .cp-leg.cp-plum    { border-left-color: #6e2e8b; }
.chapter-panorama .cp-leg.cp-sky     { border-left-color: #2876a8; }
.chapter-panorama .cp-leg.cp-cool    { border-left-color: #2c8a8a; }
.chapter-panorama .cp-leg.cp-green   { border-left-color: #4d8b5f; }
.chapter-panorama .cp-leg.cp-gold    { border-left-color: #8a6b1f; }
.chapter-panorama .cp-leg.cp-sacred  { border-left-color: #4a6c9c; }

/* Dark mode treatment */
body.dark .chapter-panorama .cp-card {
  background: #1d2028;
  border-color: #353a48;
  color: #e2dec8;
}
body.dark .chapter-panorama .cp-num    { color: #e2dec8; }
body.dark .chapter-panorama .cp-first  { color: #b0a890; }
body.dark .chapter-panorama .cp-vc     { color: #d4a84a; }
body.dark .chapter-panorama .cp-title  { color: #e2dec8; }
body.dark .chapter-panorama .cp-meta   { color: #b0a890; }
body.dark .chapter-panorama .cp-eyebrow { color: #d4a84a; }
body.dark .chapter-panorama .cp-leg    { background: rgba(255,255,255,0.04); }
body.dark .chapter-panorama .cp-leg-range { color: #b0a890; }
body.dark .chapter-panorama .cp-leg-name  { color: #e2dec8; }

/* ---------- 2i. VOLUME FRONT MATTER ----------
   Title page + copyright + TOC for each of the 10 volumes. Sits at the
   front of the merged volume PDF. Title page is the dramatic opener;
   copyright follows; TOC closes the front matter before the books begin. */
.volume-frontmatter {
  display: block;
  page-break-after: always;
}

.volume-frontmatter .vol-titlepage {
  page-break-after: always;
  text-align: center;
  padding-top: 1.4in;
  position: relative;
  min-height: 9in;
}

.volume-frontmatter .vt-mark {
  margin: 0 auto 0.4in auto;
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 0.10in;
}
.volume-frontmatter .vt-mark img {
  height: 0.42in;
}
.volume-frontmatter .vt-mark-spacer {
  display: inline-block;
  width: 0.22in;
}

.volume-frontmatter .vt-eyebrow {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 9pt;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: #8a6b1f;
  margin-bottom: 0.20in;
}

.volume-frontmatter .vt-volnum {
  font-family: "Crimson Pro", "Crimson Text", Georgia, serif;
  font-weight: 200;
  font-size: 90pt;
  line-height: 0.9;
  color: #6e2e8b;
  letter-spacing: 0.04em;
  margin: 0.10in 0 0.20in 0;
}

.volume-frontmatter .vt-title {
  font-family: "Crimson Pro", "Crimson Text", Georgia, serif;
  font-weight: 300;
  font-size: 36pt;
  line-height: 1.05;
  color: #1a1a1a;
  letter-spacing: -0.01em;
  margin: 0 0.5in 0.20in 0.5in;
}

.volume-frontmatter .vt-books {
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-size: 12pt;
  color: #5a5040;
  margin: 0.10in 0.4in 0.50in 0.4in;
  line-height: 1.4;
}

.volume-frontmatter .vt-divider {
  width: 0.8in;
  height: 1px;
  background: #c7b07c;
  margin: 0.20in auto 0.30in auto;
}

.volume-frontmatter .vt-edition {
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 9pt;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: #4a4030;
  margin: 0.04in 0;
}

.volume-frontmatter .vt-publisher {
  margin-top: 0.50in;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 11pt;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #1a1a1a;
}

.volume-frontmatter .vt-domains {
  margin-top: 0.10in;
  font-family: "Inter", sans-serif;
  font-size: 8.5pt;
  color: #8a6b1f;
  letter-spacing: 0.06em;
}

/* Copyright page - quiet, legal-feeling typography */
.volume-frontmatter .vol-copyright {
  page-break-after: always;
  padding: 0.50in 0.40in;
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 10pt;
  line-height: 1.45;
  color: #2a2620;
  max-width: 5.5in;
  margin: 0 auto;
}
.volume-frontmatter .vol-copyright h2 {
  font-family: "Inter", sans-serif;
  font-size: 9pt;
  font-weight: 700;
  letter-spacing: 0.30em;
  text-transform: uppercase;
  color: #8a6b1f;
  margin: 0 0 0.18in 0;
  border-bottom: 1px solid #c7b07c;
  padding-bottom: 0.08in;
}
.volume-frontmatter .vol-copyright p {
  margin: 0 0 0.10in 0;
  text-indent: 0;
  text-align: left;
}
.volume-frontmatter .vol-copyright .vc-spacer {
  margin-bottom: 0.14in;
  height: 1px;
}
.volume-frontmatter .vol-copyright .vc-isbn {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  letter-spacing: 0.10em;
}

/* TOC page */
.volume-frontmatter .vol-toc {
  page-break-after: always;
  padding: 0.30in 0;
}
.volume-frontmatter .vol-toc .vc-eyebrow {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 8pt;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #8a6b1f;
  text-align: center;
  margin-bottom: 0.10in;
}
.volume-frontmatter .vol-toc h2 {
  font-family: "Crimson Pro", Georgia, serif;
  font-weight: 300;
  font-size: 32pt;
  line-height: 1;
  text-align: center;
  margin: 0 0 0.50in 0;
  color: #1a1a1a;
}
.volume-frontmatter .vol-toc-list {
  list-style: none;
  padding: 0;
  margin: 0 0.4in;
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 13pt;
  line-height: 2;
}
.volume-frontmatter .vol-toc-list li {
  display: flex;
  gap: 0.20in;
  align-items: baseline;
  border-bottom: 1px dotted #c7b07c;
  padding: 0.04in 0;
}
.volume-frontmatter .vol-toc-list .toc-num {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 10pt;
  color: #8a6b1f;
  letter-spacing: 0.04em;
  min-width: 0.50in;
  text-align: right;
}
.volume-frontmatter .vol-toc-list .toc-name {
  flex: 1;
  color: #1a1a1a;
}

.volume-frontmatter .vol-toc-note {
  margin: 0.50in 0.4in 0 0.4in;
  padding-top: 0.16in;
  border-top: 1px solid #c7b07c;
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-size: 9.5pt;
  line-height: 1.45;
  color: #4a4030;
}

/* Dark mode: keep the title page recognizable but use cream-on-deep-ink */
body.dark .volume-frontmatter .vt-title       { color: #e2dec8; }
body.dark .volume-frontmatter .vt-volnum      { color: #c690e0; }
body.dark .volume-frontmatter .vt-publisher   { color: #e2dec8; }
body.dark .volume-frontmatter .vol-copyright  { color: #c0bca0; }
body.dark .volume-frontmatter .vol-toc h2     { color: #e2dec8; }
body.dark .volume-frontmatter .vol-toc-list .toc-name { color: #e2dec8; }

/* ---------- 2g. EPISTLE HEADER (LETTER FORMAT) ----------
   Document-style header that opens each apostolic letter with From / To /
   Date / Carrier / Occasion. Sits between the panorama and the book index
   so the reader meets the letter on its own terms before the chapters
   begin. */
.epistle-header {
  margin: 0.32in 0;
  padding: 0.18in 0.22in;
  border: 1px solid #c7b07c;
  border-top: 4px solid #6e2e8b;
  background: rgba(216, 184, 90, 0.05);
  page-break-inside: avoid;
  page-break-before: always;
}
.epistle-header .eh-bar {
  font-family: "Inter", sans-serif;
  font-size: 8pt;
  font-weight: 700;
  letter-spacing: 0.32em;
  color: #6e2e8b;
  text-transform: uppercase;
  margin-bottom: 0.14in;
}
.epistle-header .eh-grid {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 0.20in;
  row-gap: 0.07in;
  font-family: "Crimson Pro", "Crimson Text", Georgia, serif;
  font-size: 11pt;
  line-height: 1.32;
}
.epistle-header .eh-row {
  display: contents;
}
.epistle-header .eh-label {
  font-family: "Inter", sans-serif;
  font-size: 7.5pt;
  font-weight: 600;
  letter-spacing: 0.22em;
  color: #8a6b1f;
  text-transform: uppercase;
  align-self: baseline;
  padding-top: 0.04em;
}
.epistle-header .eh-val {
  color: #1a1a1a;
}
.epistle-header .eh-occasion {
  margin-top: 0.16in;
  padding-top: 0.10in;
  border-top: 1px dotted #c7b07c;
  font-style: italic;
  color: #4a4030;
  font-size: 10.5pt;
  line-height: 1.42;
}

body.dark .epistle-header {
  background: rgba(216, 184, 90, 0.06);
  border-color: #4a4030;
  border-top-color: #c690e0;
}
body.dark .epistle-header .eh-bar { color: #c690e0; }
body.dark .epistle-header .eh-label { color: #d4a84a; }
body.dark .epistle-header .eh-val { color: #e0d8c4; }
body.dark .epistle-header .eh-occasion {
  color: #b0a890;
  border-top-color: #4a4030;
}

/* ---------- 2c. PROPHETIC STUDY INTRODUCTION ----------
   The 8-section book intro from Prophetic_Study_Bible_Introductions.docx.
   Each section is a stacked card with a colored header bar, in the Fresh
   Look "named-box" rhythm. Stays within the same letter trim with KDP
   margins. Forces a page break before so it always starts on a fresh page. */
.prophetic-intro {
  page-break-before: always;
  padding: 0.10in 0;
}

.prophetic-intro .pi-eyebrow {
  font-family: "Inter", sans-serif;
  font-size: 8.5pt;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #8a6b1f;
  text-align: center;
  margin: 0 0 0.05in 0;
}

.prophetic-intro .pi-title {
  font-family: "Crimson Pro", "Crimson Text", Georgia, serif;
  font-weight: 300;
  font-size: 42pt;
  line-height: 1;
  text-align: center;
  margin: 0.05in 0 0.04in 0;
  color: #1a1a1a;
  letter-spacing: 0.01em;
}

.prophetic-intro .pi-subtitle {
  font-family: "Crimson Pro", serif;
  font-style: italic;
  font-weight: 400;
  font-size: 13pt;
  text-align: center;
  color: #5a5040;
  margin-bottom: 0.30in;
}

/* Each section is a stacked card. Bar sits flush at the top, body wraps
   underneath. The bar color cycles through the palette section-by-section
   so the page reads as a deck of named cards. */
.prophetic-intro .pi-body {
  /* Plain block flow; paged.js reflows reliably without flex/gap. */
}

.prophetic-intro .pi-section {
  border: 1px solid #d8ceae;
  border-radius: 3pt;
  background: #fefbf2;
  overflow: hidden;
  margin-bottom: 0.14in;
}

.prophetic-intro .pi-bar {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 7.5pt;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 5pt 10pt 4pt 10pt;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  /* Light treatment: tinted bg + colored text + accent left border, instead
     of a heavy saturated bar with white knockout text. Reads cleanly on
     cream paper without going dark/heavy. */
}

/* Bar palette: each section tinted ~12% of its color with the section
   color used for both the text and a 3px left border accent. */
.prophetic-intro .pi-bar-sky {
  background: rgba(40, 118, 168, 0.10);
  color: #2466a0;
  border-left: 3px solid #2876a8;
}
.prophetic-intro .pi-bar-warm {
  background: rgba(185, 89, 31, 0.10);
  color: #a04e1a;
  border-left: 3px solid #b9591f;
}
.prophetic-intro .pi-bar-green {
  background: rgba(77, 139, 95, 0.10);
  color: #3e7a4f;
  border-left: 3px solid #4d8b5f;
}
.prophetic-intro .pi-bar-plum {
  background: rgba(110, 46, 139, 0.10);
  color: #5e2876;
  border-left: 3px solid #6e2e8b;
}
.prophetic-intro .pi-bar-rose {
  background: rgba(138, 61, 74, 0.10);
  color: #783440;
  border-left: 3px solid #8a3d4a;
}
.prophetic-intro .pi-bar-gold {
  background: rgba(138, 107, 31, 0.10);
  color: #7a5e1a;
  border-left: 3px solid #8a6b1f;
}
.prophetic-intro .pi-bar-cool {
  background: rgba(44, 138, 138, 0.10);
  color: #267474;
  border-left: 3px solid #2c8a8a;
}
.prophetic-intro .pi-bar-sacred {
  background: rgba(74, 108, 156, 0.10);
  color: #405e88;
  border-left: 3px solid #4a6c9c;
}

.prophetic-intro .pi-content {
  padding: 7pt 11pt 9pt 11pt;
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 10.4pt;
  line-height: 1.40;
  color: #1a1a1a;
}

.prophetic-intro .pi-content p {
  margin: 0;
  text-align: left;
  hyphens: none;
}

/* Dark mode treatment */
body.dark .prophetic-intro .pi-section {
  background: #1d2028;
  border-color: #353a48;
}
body.dark .prophetic-intro .pi-content { color: #e2dec8; }
body.dark .prophetic-intro .pi-title   { color: #e2dec8; }
body.dark .prophetic-intro .pi-subtitle { color: #b0a890; }
body.dark .prophetic-intro .pi-eyebrow { color: #d4a84a; }

/* ---------- 3. ENTITY COLOR PALETTE ---------- */
/* People (proper names) and pronouns share the blue family */
.person,
.pronoun {
  color: #2876a8;
}

/* Tribes - distinct from people, slightly cooler */
.tribe {
  color: #1f6e94;
}

/* Kings - same as people but slightly warmer */
.king {
  color: #2a7aab;
}

/* Prophets - lavender lean */
.prophet {
  color: #4a6c9c;
}

/* Places (proper) - teal */
.place {
  color: #2c8a8a;
}

/* Mountains - same as places */
.mountain {
  color: #2c8a8a;
}

/* Common geography concepts (earth, land, city, etc.) - green */
.concept {
  color: #4d8b5f;
}

/* Nations - olive/green */
.nation {
  color: #6b8b3f;
}

/* Numbers and time spans - burgundy */
.number {
  color: #8d2e3d;
}

/* Sacred names ---------------------------------------- */
.sn {
  font-variant: small-caps;
  letter-spacing: 0.04em;
  font-weight: 500;
}
.sn.yahuah,
.sn.yahusha {
  color: #6e2e8b;
}
.sn.elohim {
  color: #8a6b1f;
}
.sn.adonai {
  color: #6e2e8b;
}
.sn.messiah {
  color: #8a3d4a;
}
.sn.ruach,
.sn.set-apart {
  color: #4a6c9c;
}

/* Gold wordmark images for Elohim and Yahuah - shared treatment.
   Both PNGs have alpha-knocked-out backgrounds so they compose cleanly
   on any page color. */
.elohim-mark,
.yahuah-mark {
  display: inline-block;
  vertical-align: -0.18em;
  position: relative;
  line-height: 1;
  /* Asymmetric: the leading "Y"/"E" glyph has a calligraphic flourish
     that extends visually past the wrapper's left bound and overlaps
     the descender of any preceding word. Right side has no flourish,
     so it gets a normal kerning space. */
  margin-inline-start: 0.55em;
  margin-inline-end: 0.18em;
}
.elohim-mark > img,
.yahuah-mark > img {
  padding-inline-start: 0.10em;
  padding-inline-end: 0.04em;
  box-sizing: content-box;
}
/* Per-image size tuning. Each PNG has its own intrinsic proportions; sizing
   by src attribute means the same image renders at the same size whether it
   appears alone or inside a compound wrapper. */
img[src*="elohim-gold"]   { height: 0.96em; vertical-align: baseline; }
img[src*="yahuah-gold"]   { height: 1.15em; vertical-align: -0.18em; }
img[src*="yahusha-gold"]  { height: 1.05em; vertical-align: baseline; }
img[src*="messiah-gold"]  { height: 0.85em; vertical-align: baseline; }
img[src*="ruach-gold"]    { height: 0.95em; vertical-align: baseline; }
img[src*="hakodesh-gold"] { height: 1.00em; vertical-align: baseline; }

/* Wrapper layout (inline-block, line-height, optional spacer) is shared. */
.ruach-mark,
.yahusha-mark,
.messiah-mark,
.hakodesh-mark {
  display: inline-block;
  vertical-align: -0.18em;
  position: relative;
  line-height: 1;
  white-space: nowrap;
  /* Asymmetric kerning: see .yahuah-mark rule above. Leading flourish
     needs extra clearance; trailing edge does not. */
  margin-inline-start: 0.55em;
  margin-inline-end: 0.18em;
}
.ruach-mark > img,
.yahusha-mark > img,
.messiah-mark > img,
.hakodesh-mark > img {
  padding-inline-start: 0.10em;
  padding-inline-end: 0.04em;
  box-sizing: content-box;
}
.ruach-mark .vh-spacer,
.yahusha-mark .vh-spacer,
.messiah-mark .vh-spacer,
.vh-spacer {
  display: inline-block;
  width: 0.3em;
}

/* Visually-hidden text-layer fallback for the gold wordmark images.
   Chrome's print-to-PDF was DROPPING text inside `clip: rect(0 0 0 0)`
   from the PDF text layer, breaking copy-paste of verses (e.g. "Yahuah"
   would disappear). New approach: keep the text in normal inline flow
   but render it with zero-width letter-spacing and transparent color.
   The PDF text layer preserves it for selection / copy / search. */
.vh {
  font-size: 1pt;
  color: transparent;
  letter-spacing: -1em;
  line-height: 0;
  display: inline;
  user-select: text;
  -webkit-user-select: text;
}

/* Divine speech - small caps with letter-spacing */
.red-letter {
  font-variant: small-caps;
  letter-spacing: 0.06em;
  font-weight: 400;
  color: #1a1a1a;
}

/* Yahusha speech: the classic "red letter" treatment, distinguishing the
   Messiah's words from the Father's / Elohim's. Uses a scholarly deep
   crimson (close to Cambridge Pitt Minion red), saturated enough to read
   clearly on cream paper, dignified enough to avoid stoplight-red.
   No small-caps -- Yahusha speaks plainly. */
.rl-yahusha {
  color: #a8202c;
  font-weight: 400;
}
/* Force descendant text to inherit the red-letter tint -- entity color
   coding inside Yahusha's speech otherwise out-specifies the parent
   .rl-yahusha rule and breaks the visual block. */
.rl-yahusha .person,
.rl-yahusha .king,
.rl-yahusha .prophet,
.rl-yahusha .tribe,
.rl-yahusha .place,
.rl-yahusha .mountain,
.rl-yahusha .nation,
.rl-yahusha .concept,
.rl-yahusha .pronoun,
.rl-yahusha .number,
.rl-yahusha .lead-in { color: inherit; }

/* Yahuah speech: deep purple matching the sacred-name wordmark color.
   Distinguishes the Father's direct speech from the Son's red-letter
   treatment, so the two persons of the godhead read visually distinct
   on the page. */
.rl-yahuah {
  color: #6e2e8b;
  font-weight: 400;
}
.rl-yahuah .person,
.rl-yahuah .king,
.rl-yahuah .prophet,
.rl-yahuah .tribe,
.rl-yahuah .place,
.rl-yahuah .mountain,
.rl-yahuah .nation,
.rl-yahuah .concept,
.rl-yahuah .pronoun,
.rl-yahuah .number,
.rl-yahuah .lead-in { color: inherit; }

/* Cross-references: small italic note line below the verse listing
   parallel / fulfilled-by / quoted-from passages. Data lives in
   cross_references.json; revert by emptying that file to {}. */
.xrefs {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 7.5pt;
  font-style: italic;
  color: #8a6b1f;
  letter-spacing: 0.03em;
  margin: 0.02in 0 0.06in 1.85em;
  padding-left: 0.04in;
  border-left: 1px solid rgba(216, 184, 90, 0.40);
}
.xrefs::before {
  content: "\2192  ";
  color: #c7b07c;
  font-style: normal;
  font-weight: 600;
  margin-right: 0.04em;
}

/* ---------- 4. CHAPTER NUMBER ---------- */
.chapter {
  position: relative;
  margin-top: 0.22in;
  string-set: chap-num attr(data-num);
}

.chapter-num {
  font-family: "Inter", sans-serif;
  font-weight: 200;
  font-size: 44pt;
  color: #c4c4c4;
  line-height: 1;
  float: left;
  margin: 0.06in 0.18in 0.06in 0;
  letter-spacing: -0.02em;
}

.chapter[data-num] .genealogy {
  clear: none;
}

/* ---------- 5. VERSE NUMBERS ---------- */
.vn {
  font-family: "Inter", sans-serif;
  font-size: 7pt;
  font-weight: 500;
  color: #888;
  vertical-align: super;
  line-height: 0;
  margin-right: 0.04em;
  letter-spacing: 0.02em;
}

/* ---------- LIST-FLOW (auto-detected "of X, of Y, of Z" runs) ---------- */
.of-list {
  display: block;
  margin: 0.45em 0 0.5em 0.4em;
}
.of-list .ol-item {
  display: block;
  padding-left: 1.2em;
  text-indent: -0.5em;
  margin: 0.04em 0;
  color: #2c8a8a;
}
.of-list .ol-item::before {
  content: "\2022";
  color: #b88a2a;
  margin-right: 0.5em;
  font-weight: 700;
}
body.dark .of-list .ol-item { color: #5cc4c4; }

/* ---------- LETTER / DECREE BLOCK (auto-detected) ---------- */
.letter-block {
  display: block;
  margin: 0.5em 0.18in 0.5em 0.36in;
  padding: 0.16in 0.22in;
  background: rgba(168, 112, 42, 0.06);
  border-left: 3px solid #b88a2a;
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  color: #1a1a1a;
  break-inside: avoid;
  position: relative;
  line-height: 1.42;
}
.letter-block::before {
  content: "Letter";
  position: absolute;
  top: -0.6em;
  left: 0.16in;
  background: #b88a2a;
  color: white;
  font-family: "Inter", sans-serif;
  font-style: normal;
  font-size: 6.5pt;
  font-weight: 800;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  padding: 0.14em 0.6em;
  border-radius: 2px;
}
body.dark .letter-block {
  background: rgba(216, 184, 90, 0.10);
  color: #e0d8c4;
}

/* ---------- BOLD STRUCTURAL LEAD-INS ---------- */
.lead-in {
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #1a1a1a;
}

/* ---------- READING TIME BADGE ---------- */
.reading-time {
  display: inline-flex;
  align-items: center;
  gap: 0.06in;
  font-family: "Inter", sans-serif;
  font-size: 7pt;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #888;
  margin: -0.05in 0 0.18in 0;
}
.reading-time .rt-glyph {
  font-size: 10pt;
  letter-spacing: 0;
}

/* ---------- DARK MODE (digital theme) ---------- */
body.dark {
  background: #0e1015;
  color: #e0d8c4;
}
body.dark .chapter,
body.dark .book-index,
body.dark p,
body.dark .gen-prose,
body.dark .gen-intro {
  color: #e0d8c4;
  background: transparent !important;
}
body.dark .lead-in { color: #f0e8d0; }
body.dark .person, body.dark .pronoun { color: #6ab0d8; }
body.dark .place, body.dark .mountain { color: #5cc4c4; }
body.dark .king           { color: #6cb4d8; }
body.dark .prophet        { color: #8a9bd0; }
body.dark .nation         { color: #b8c45a; }
body.dark .tribe          { color: #4f9bb8; }
body.dark .concept        { color: #7abc8c; }
body.dark .number         { color: #d8616e; }
body.dark .sn.yahuah,
body.dark .sn.yahusha,
body.dark .sn.adonai      { color: #c690e0; }
body.dark .sn.elohim      { color: #d8b85a; }
body.dark .sn.messiah     { color: #d87a8a; }
body.dark .red-letter     { color: #e8d4a4; }
body.dark .vn             { color: #d4a84a; }
body.dark .pronounce      { color: #9ea4b0; }
body.dark .chapter-num    { color: #4a5470; }
/* Hanging-indent body verses in dark mode */
body.dark .para-group p.v        { color: #e0d8c4; }
body.dark .para-group p.v .vn    { color: #d4a84a; }
body.dark .para-group p.v.speech {
  color: #e0d8c4;
  border-left-color: #6a5a3a;
  background: rgba(216, 184, 90, 0.08);
}
body.dark .para-group p.v.speech-cont { color: #e0d8c4; }
body.dark .triple-stamp .date { color: #e0d8c4; }
body.dark .timeline-ribbon .tl-year,
body.dark .timeline-ribbon .tl-endpoint .year { color: #e0d8c4; }
body.dark .study-band {
  background: #1a1d24;
  border-color: #2e3340;
  color: #c0bca0;
}
body.dark .ix-list .ch    { color: #c690e0; }

/* ---------- VERSE PERMALINK ---------- */
.vn {
  cursor: pointer;
}
.vn:hover {
  background: rgba(40, 118, 168, 0.15);
  border-radius: 2px;
  padding: 0 0.04em;
}

/* ---------- DAY-FOR-YEAR INLINE BRACKET (historicist amplifier) ---------- */
.dy-bracket {
  font-family: "Inter", sans-serif;
  font-size: 7.5pt;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #8d2e3d;
  background: rgba(141, 46, 61, 0.06);
  padding: 0.04em 0.4em;
  border-radius: 2px;
  margin: 0 0.06em;
  white-space: nowrap;
}

/* ---------- PRONUNCIATION FOOTNOTE (first occurrence per book) ---------- */
.pronounce {
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 7.5pt;
  font-style: italic;
  color: #888;
  letter-spacing: 0.02em;
  margin-left: 0.06em;
}

/* ---------- FIG TREE CLOCK BADGE (end-times chapters) ---------- */
.fig-tree-clock {
  display: inline-flex;
  align-items: center;
  gap: 0.08in;
  background: rgba(45, 100, 65, 0.10);
  border-left: 3px solid #4d8b5f;
  padding: 0.08in 0.18in 0.06in;
  margin: 0.05in 0 0.18in 0;
  font-family: "Inter", sans-serif;
  font-size: 7.5pt;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.fig-tree-clock .ft-glyph {
  font-size: 11pt;
  letter-spacing: 0;
}
.fig-tree-clock .ft-label { color: #4d8b5f; }
.fig-tree-clock .ft-max {
  margin-left: 0.18in;
  padding-left: 0.18in;
  border-left: 1px solid #4d8b5f;
  color: #8d2e3d;
}

/* ---------- TRIPLE-STAMP (Prophetic Metadata strip) ----------
   Strip stack: eyebrow + (type pill, open-badge) on top row,
   three colored stamps on middle row, computed span on bottom row.
   Future-state ("future"/"present" or year past current) renders
   the date in italic with a dotted underline. */
.triple-stamp-strip {
  margin: 0.03in 0 0.20in 0;
  font-family: "Inter", sans-serif;
  padding: 0.08in 0 0.06in 0;
  border-top: 1px solid rgba(0, 0, 0, 0.10);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.triple-stamp-strip .ts-header {
  display: flex;
  align-items: center;
  gap: 0.14in;
  margin-bottom: 0.07in;
  flex-wrap: wrap;
}
.triple-stamp-strip .ts-eyebrow {
  font-size: 7pt;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 700;
  color: #6a6a6a;
}
.triple-stamp-strip .ts-type {
  display: inline-block;
  font-size: 7pt;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: #fdf6e5;
  background: var(--c-sacred, #8a6b1f);
  padding: 0.02in 0.08in;
  border-radius: 0.08in;
  line-height: 1.4;
}
.triple-stamp-strip .ts-open-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.04in;
  font-size: 7pt;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  color: #8d2e3d;
  margin-left: auto;
}
.triple-stamp-strip .ts-open-dot {
  display: inline-block;
  width: 0.06in;
  height: 0.06in;
  border-radius: 50%;
  background: #8d2e3d;
  box-shadow: 0 0 0 2px rgba(141, 46, 61, 0.18);
}
.triple-stamp {
  display: flex;
  gap: 0.18in;
  margin: 0;
  font-family: "Inter", sans-serif;
  flex-wrap: wrap;
}
.triple-stamp .stamp {
  display: flex;
  flex-direction: column;
  border-left: 2px solid #888;
  padding: 0 0 0 0.10in;
  min-width: 1.2in;
}
.triple-stamp .stamp.set       { border-color: #2876a8; }
.triple-stamp .stamp.written   { border-color: #4d8b5f; }
.triple-stamp .stamp.fulfilled { border-color: #8d2e3d; }
.triple-stamp .label {
  font-size: 6.5pt;
  letter-spacing: 0.28em;
  font-weight: 800;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 0.02in;
}
.triple-stamp .stamp.set       .label { color: #2876a8; }
.triple-stamp .stamp.written   .label { color: #4d8b5f; }
.triple-stamp .stamp.fulfilled .label { color: #8d2e3d; }
.triple-stamp .date {
  font-size: 9.5pt;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #1a1a1a;
}
.triple-stamp .stamp.open .date {
  font-style: italic;
  font-weight: 500;
  border-bottom: 1px dotted #8d2e3d;
  padding-bottom: 0.005in;
}
.triple-stamp-strip .ts-span {
  margin-top: 0.07in;
  font-size: 8pt;
  color: #4a4a4a;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.06in;
  letter-spacing: 0.02em;
}
.triple-stamp-strip .ts-span-from,
.triple-stamp-strip .ts-span-to {
  font-style: italic;
  color: #2a2a2a;
}
.triple-stamp-strip .ts-span-arrow {
  color: var(--c-sacred, #8a6b1f);
  font-weight: 600;
}
.triple-stamp-strip .ts-span-dot { color: #888; }
.triple-stamp-strip .ts-span-years {
  font-weight: 600;
  color: #1a1a1a;
  letter-spacing: 0.04em;
}

/* ---------- TIMELINE RIBBON (historicist span at top of prophetic ch) ---- */
.timeline-ribbon {
  margin: 0.10in 0 0.20in 0;
  font-family: "Inter", sans-serif;
}
.timeline-ribbon .tl-eyebrow {
  font-size: 6.5pt;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #8d2e3d;
  font-weight: 800;
  margin-bottom: 0.06in;
}
.timeline-ribbon .tl-track {
  position: relative;
  height: 1.4in;                         /* taller so above/below labels fit */
  padding: 0.55in 0.1in 0;                /* room above the bar for upper labels */
}
.timeline-ribbon .tl-bar {
  position: absolute;
  left: 0; right: 0; top: 0.66in;          /* bar centered */
  height: 4px;
  background: linear-gradient(to right, #8d2e3d 0%, #2876a8 60%, #4d8b5f 100%);
  border-radius: 2px;
}
.timeline-ribbon .tl-endpoint {
  position: absolute;
  top: 0.04in;
  font-size: 7pt;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #555;
  white-space: nowrap;
}
.timeline-ribbon .tl-endpoint .year {
  display: block;
  font-weight: 800;
  font-size: 8pt;
  letter-spacing: 0.06em;
  color: #1a1a1a;
}
.timeline-ribbon .tl-endpoint.start { left: 0; text-align: left; }
.timeline-ribbon .tl-endpoint.end   { right: 0; text-align: right; }

.timeline-ribbon .tl-marker {
  position: absolute;
  top: 0.66in;                              /* on the bar */
  transform: translate(-50%, 0);
}
.timeline-ribbon .tl-dot {
  width: 9px; height: 9px;
  border-radius: 50%;
  background: #8d2e3d;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px #8d2e3d;
  margin-top: -3px;
}

.timeline-ribbon .tl-label {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  white-space: nowrap;
}

.timeline-ribbon .tl-marker.tl-below .tl-label { top: 0.16in; }
.timeline-ribbon .tl-marker.tl-above .tl-label { bottom: 0.16in; }

.timeline-ribbon .tl-marker .tl-label::before {
  content: "";
  position: absolute;
  left: 50%;
  width: 1px;
  height: 0.10in;
  background: #aaa;
  transform: translateX(-50%);
}
.timeline-ribbon .tl-marker.tl-below .tl-label::before { top: -0.10in; }
.timeline-ribbon .tl-marker.tl-above .tl-label::before { bottom: -0.10in; }

/* Deep lanes: tightly-clustered marks get pushed to a deeper lane with a
   longer tick connector so their labels don't collide with shallower
   marks on the same side. Each lane adds ~0.55in for label clearance. */
.timeline-ribbon .tl-marker.tl-below.tl-lane-1 .tl-label { top: 0.70in; }
.timeline-ribbon .tl-marker.tl-below.tl-lane-1 .tl-label::before { top: -0.64in; height: 0.64in; }
.timeline-ribbon .tl-marker.tl-above.tl-lane-1 .tl-label { bottom: 0.70in; }
.timeline-ribbon .tl-marker.tl-above.tl-lane-1 .tl-label::before { bottom: -0.64in; height: 0.64in; }

.timeline-ribbon .tl-marker.tl-below.tl-lane-2 .tl-label { top: 1.20in; }
.timeline-ribbon .tl-marker.tl-below.tl-lane-2 .tl-label::before { top: -1.14in; height: 1.14in; }
.timeline-ribbon .tl-marker.tl-above.tl-lane-2 .tl-label { bottom: 1.20in; }
.timeline-ribbon .tl-marker.tl-above.tl-lane-2 .tl-label::before { bottom: -1.14in; height: 1.14in; }

.timeline-ribbon .tl-year {
  display: block;
  font-size: 7pt;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #1a1a1a;
}
.timeline-ribbon .tl-text {
  display: block;
  font-size: 6.5pt;
  letter-spacing: 0.04em;
  color: #555;
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-weight: 400;
  max-width: 1.1in;
  white-space: normal;
  margin: 0 auto;
  line-height: 1.18;
}

/* ---------- FULFILLMENT BADGES (Solar Key historicist signature) ----------
   Inline pill: glyph (✓ ◐ ○) + date + prophecy-type tag.
   Green = fulfilled, gold = partial, hollow gray = future.
   Hover/title shows the explanatory note. */
.ff {
  display: inline-block;
  font-family: "Inter", sans-serif;
  font-size: 7pt;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 0.06em 0.42em 0.06em 0.34em;
  border-radius: 3px;
  margin: 0 0.18em 0 0.04em;
  vertical-align: 0.05em;
  white-space: nowrap;
  line-height: 1.2;
}
.ff .ff-glyph {
  font-family: "Inter", sans-serif;
  font-size: 8pt;
  font-weight: 700;
  margin-right: 0.32em;
}
.ff .ff-date  { font-weight: 500; }
.ff .ff-type {
  margin-left: 0.4em;
  padding: 0 0.32em;
  font-size: 6.5pt;
  font-weight: 800;
  border-radius: 2px;
  letter-spacing: 0.08em;
  background: rgba(0, 0, 0, 0.18);
}

.ff-fulfilled {
  background: rgba(46, 125, 74, 0.14);
  color: #2e7d4a;
}
.ff-partial {
  background: rgba(184, 138, 42, 0.16);
  color: #8a5e1a;
}
.ff-future {
  background: transparent;
  color: #555;
  border: 1px solid #888;
}

/* ---------- 6. INLINE SUBHEADS ("Generations of X") ---------- */
.subhead-inline {
  display: block;
  text-align: center;
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-weight: 300;
  font-size: 18pt;
  color: #8a8a8a;
  margin: 0.32in 0 0.22in 0;
  letter-spacing: 0.01em;
  page-break-after: avoid;
  break-after: avoid;
}

/* ---------- 7. HANGING-INDENT GENEALOGY (begat-style) ---------- */
.gen-block {
  margin: 0.08in 0 0.12in 0;
  font-family: "Crimson Pro", Georgia, serif;
}

.gen-intro {
  margin: 0.04in 0 0.06in 0;
  font-weight: 500;
}

.gen-entry {
  margin: 0.02in 0 0.08in 0;
  padding-left: 0.24in;
}

.gen-subject {
  display: block;
  margin-left: -0.24in;
  font-weight: 400;
}

.gen-line {
  display: block;
  padding-left: 0.36in;
  text-indent: -0.12in;
}

.gen-line.deep {
  padding-left: 0.72in;
}

/* Right-aligned number column for genealogy / census parallels.
   Each .gen-row pairs a tabular-numeric year/age value (right-aligned
   in a fixed-width column) with the rest of the clause. Used for Gen 5,
   Gen 11, and any begat-style verse with a "<N> years/months/days" clause. */
.gen-row {
  display: grid;
  grid-template-columns: 0.5in 0.5in 1fr;
  gap: 0.06in;
  align-items: baseline;
  padding-left: 0.36in;
  margin: 0.01in 0;
}
.gen-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  color: #8d2e3d;
  font-size: 1.02em;
}
.gen-unit {
  font-size: 0.88em;
  color: #8d2e3d;
  font-style: italic;
  white-space: nowrap;
}
.gen-text {
  font-size: inherit;
}
.gen-entry.gen-post {
  margin-top: -0.02in;  /* tighten "after years" row under main entry */
}

/* Inline number emphasis for post-paternity verses where the number can't
   be extracted to a column without stranding the prose. Tabular numerals
   + bold weight keeps the year scannable inline. */
.gen-num-inline {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  color: #8d2e3d;
}
.gen-unit-inline {
  font-size: 0.9em;
  color: #8d2e3d;
  font-style: italic;
}

/* Global tabular numerals so all number-coded tokens align cleanly */
.number {
  font-variant-numeric: tabular-nums;
}

/* Semicolon-list chapters (Joshua 12 kings list, Josh 15-21 territories,
   tribal allotments, mighty men, etc.). Each semicolon-separated item is
   rendered on its own line for visual scannability. */
.sl-block {
  margin: 0;
  padding: 0;
}
.sl-entry {
  margin: 0.04in 0 0.1in 0;
}
.sl-item {
  display: block;
  padding-left: 0.36in;
  text-indent: -0.18in;
  margin: 0;
  line-height: 1.34;
}
.sl-item .vn {
  margin-right: 0.06in;
}
.sl-prose {
  margin: 0.06in 0;
  padding: 0;
}

/* ---------- 8. NOMINAL LIST (Generations of Terah style) ---------- */
.gen-nominal {
  margin: 0.04in 0 0.12in 0;
}

.gen-nominal .gen-name {
  display: block;
  padding-left: 0.48in;
}

/* ---------- 9. EDGE TABS (vertical section labels) ---------- */
.part {
  position: relative;
}

.part-banner {
  display: block;
  margin: 0.12in 0 0.12in 0;
  padding: 0.05in 0.12in;
  border-left: 4px solid var(--tab-color, #888);
  font: 500 9.5pt "Inter", sans-serif;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #555;
}
.part-banner .meta {
  display: block;
  font-weight: 400;
  font-size: 8pt;
  color: #888;
  letter-spacing: 0.06em;
  margin-top: 0.02in;
}

/* Pull the section tab out of body flow into the outer-edge margin box.
   Paged.js will display it in every page until a new .part-banner-run
   replaces it. */
.part-banner-run {
  position: running(section-tab);
  background: var(--tab-color, #888);
  color: #fff;
  padding: 0.30in 0.05in;
  font: 500 8.5pt "Inter", sans-serif;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-align: center;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  width: 0.36in;
  height: 2.4in;
  display: block;
}

/* Pull the running tab into the outer margin per page side. */
@page :left {
  @left-middle {
    content: element(section-tab);
    width: 0.4in;
    vertical-align: middle;
  }
}
@page :right {
  @right-middle {
    content: element(section-tab);
    width: 0.4in;
    vertical-align: middle;
  }
}

/* Tab color tokens */
.part[data-color="warm"]  { --tab-color: #b8623e; }
.part[data-color="rose"]  { --tab-color: #b8484f; }
.part[data-color="plum"]  { --tab-color: #6e2e8b; }
.part[data-color="sky"]   { --tab-color: #3a7daa; }
.part[data-color="cool"]  { --tab-color: #4a6c9c; }
.part[data-color="green"] { --tab-color: #4d8b5f; }
.part[data-color="gold"]  { --tab-color: #b8923e; }

.part-banner.part-warm  { border-left-color: #b8623e; }
.part-banner.part-rose  { border-left-color: #b8484f; }
.part-banner.part-plum  { border-left-color: #6e2e8b; }
.part-banner.part-sky   { border-left-color: #3a7daa; }
.part-banner.part-cool  { border-left-color: #4a6c9c; }
.part-banner.part-green { border-left-color: #4d8b5f; }
.part-banner.part-gold  { border-left-color: #b8923e; }

/* ---------- 10. OUTLINE BAR ---------- */
.outline-bar {
  display: flex;
  gap: 1px;
  margin: 0 0 0.12in 0;
  height: 4px;
}
.outline-bar .seg {
  flex: 1;
  background: #e2e2e2;
  border-radius: 1px;
}
.outline-bar .seg.filled {
  background: #2876a8;
}

/* ---------- 11. STUDY BAND ---------- */
.study-band {
  margin-top: 0.28in;
  padding: 0.16in 0 0 0;
  border-top: 1px solid #d4d4d4;
  font-size: 9.5pt;
  line-height: 1.40;
  column-count: 2;
  column-gap: 0.32in;
  column-rule: 1px solid #ececec;
}

.study-section {
  break-inside: avoid;
  margin-bottom: 0.14in;
}

.study-band h4 {
  font: 600 8pt "Inter", sans-serif;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #2876a8;
  margin: 0 0 0.05in 0;
}
.study-band h4.theology {
  color: #4d8b5f;
}
.study-band h4.xref {
  color: #8d2e3d;
}

.study-band p {
  margin: 0 0 0.08in 0;
  text-align: left;
  font-family: "Crimson Pro", Georgia, serif;
}

.study-band .ref {
  font-family: "Inter", sans-serif;
  font-size: 8pt;
  font-weight: 600;
  color: #555;
  margin-right: 0.05in;
  letter-spacing: 0.04em;
}

.xref-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.xref-list li {
  margin-bottom: 0.05in;
  padding-left: 0.12in;
  text-indent: -0.12in;
}
.xref-list .src {
  font-family: "Inter", sans-serif;
  font-size: 8pt;
  font-weight: 600;
  color: #8d2e3d;
  margin-right: 0.06in;
  letter-spacing: 0.02em;
}

/* ---------- 12. BOOK INDEX (Contents page) ---------- */
.book-intro {
  page-break-before: always;
  break-before: page;
  padding: 0.40in 0.5in 0.40in 0.5in;
  max-width: 6.5in;
  margin: 0 auto;
}

.book-intro .intro-eyebrow {
  font: 500 9pt "Inter", sans-serif;
  letter-spacing: 0.30em;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 0.18in;
  border-bottom: 1px solid #d8c894;
  padding-bottom: 0.06in;
}

.book-intro .intro-body p {
  font: 400 12pt/1.65 "Crimson Pro", Georgia, serif;
  color: #2a2a2a;
  text-indent: 0;
  margin: 0 0 0.18in 0;
  text-align: justify;
}

.book-intro .intro-body p:first-letter {
  font: 400 16pt/1 "Crimson Pro", Georgia, serif;
  color: #6e2e8b;
}

body.dark .book-intro .intro-body p { color: #ddd; }
body.dark .book-intro .intro-body p:first-letter { color: #d8c894; }
body.dark .book-intro .intro-eyebrow { color: #aaa; border-color: #6a5a3a; }

.book-index {
  page-break-before: always;
  break-before: page;
  padding: 0.30in 0 0 0;
}

.book-index .ix-eyebrow {
  font: 500 9pt "Inter", sans-serif;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 0.08in;
}

.book-index h2 {
  font: 300 36pt "Crimson Pro", Georgia, serif;
  margin: 0 0 0.06in 0;
  color: #1a1a1a;
  letter-spacing: -0.01em;
}

.book-index .ix-meta {
  font: 400 10pt "Inter", sans-serif;
  color: #666;
  margin-bottom: 0.32in;
  letter-spacing: 0.04em;
}

.book-index .ix-section {
  margin-bottom: 0.24in;
  padding-left: 0.18in;
  border-left: 3px solid var(--tab-color, #888);
  break-inside: avoid;
}
.book-index .ix-section[data-color="warm"]  { --tab-color: #b8623e; }
.book-index .ix-section[data-color="rose"]  { --tab-color: #b8484f; }
.book-index .ix-section[data-color="plum"]  { --tab-color: #6e2e8b; }
.book-index .ix-section[data-color="sky"]   { --tab-color: #3a7daa; }
.book-index .ix-section[data-color="cool"]  { --tab-color: #4a6c9c; }
.book-index .ix-section[data-color="green"] { --tab-color: #4d8b5f; }
.book-index .ix-section[data-color="gold"]  { --tab-color: #b8923e; }

.book-index .ix-section h3 {
  font: 500 12pt "Inter", sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #333;
  margin: 0 0 0.08in 0;
}

.book-index .ix-list {
  list-style: none;
  padding: 0;
  margin: 0;
  column-count: 2;
  column-gap: 0.30in;
}
.book-index .ix-list li {
  break-inside: avoid;
  margin-bottom: 0.05in;
  font-size: 10.5pt;
  padding-left: 0.36in;
  text-indent: -0.36in;
}
.book-index .ix-list .ch {
  display: inline-block;
  width: 0.28in;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 9.5pt;
  color: #2876a8;
  text-align: right;
  margin-right: 0.08in;
}
.book-index .ix-list .summary {
  color: #333;
}

/* ---------- 13. PANORAMA (book opener) ----------
   Light treatment on cream paper. The panorama used to be a black feature
   page with white text; on print this read as a heavy dark brick. Now it
   uses the cream paper with dark serif typography + gold accents, matching
   the rest of the book's voice. */
.panorama {
  page-break-after: always;
  break-after: page;
  background: transparent;
  color: #1a1a1a;
  padding: 0.10in 0;
  position: relative;
}

.panorama h1 {
  font: 200 64pt "Crimson Pro", Georgia, serif;
  margin: 0 0 0.10in 0;
  letter-spacing: -0.02em;
  color: #1a1a1a;
  line-height: 1;
}

.panorama .subtitle {
  font: 400 14pt "Crimson Pro", Georgia, serif;
  font-style: italic;
  color: #8a6b1f;
  margin-bottom: 0.30in;
}

.panorama .pano-meta {
  position: absolute;
  top: 0.10in;
  right: 0;
  font: 600 8pt "Inter", sans-serif;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: #8a6b1f;
  text-align: right;
}

.panorama .gold-mark {
  height: 0.50in;
  margin-bottom: 0.24in;
}

.panorama .accent-strips {
  display: flex;
  gap: 2px;
  height: 7px;
  margin-bottom: 0.50in;
}
.panorama .accent-strips .strip { flex: 1; }
.panorama .accent-strips .warm  { background: #b8623e; }
.panorama .accent-strips .rose  { background: #b8484f; }
.panorama .accent-strips .plum  { background: #6e2e8b; }
.panorama .accent-strips .sky   { background: #3a7daa; }
.panorama .accent-strips .cool  { background: #4a6c9c; }
.panorama .accent-strips .green { background: #4d8b5f; }
.panorama .accent-strips .gold  { background: #c4a868; }

.panorama .grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.40in;
  font-size: 10pt;
}

.panorama h3 {
  font: 600 9pt "Inter", sans-serif;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #8a6b1f;
  margin: 0 0 0.12in 0;
  border-bottom: 1px solid #c7b07c;
  padding-bottom: 0.05in;
}

.panorama .structure-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.panorama .structure-list li {
  display: grid;
  grid-template-columns: 10px 0.46in 1fr;
  gap: 0.08in;
  margin-bottom: 0.08in;
  align-items: start;
  line-height: 1.32;
}
.panorama .structure-list .swatch {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  margin-top: 0.05in;
}
.panorama .structure-list .swatch.warm  { background: #b8623e; }
.panorama .structure-list .swatch.rose  { background: #b8484f; }
.panorama .structure-list .swatch.plum  { background: #6e2e8b; }
.panorama .structure-list .swatch.sky   { background: #3a7daa; }
.panorama .structure-list .swatch.cool  { background: #4a6c9c; }
.panorama .structure-list .swatch.green { background: #4d8b5f; }
.panorama .structure-list .swatch.gold  { background: #c4a868; }
.panorama .structure-list .range {
  font: 600 9pt "Inter", sans-serif;
  color: #888;
}
.panorama .structure-list .name {
  display: block;
  font-weight: 500;
  color: #1a1a1a;
}
.panorama .structure-list .note {
  display: block;
  font-style: italic;
  color: #6a5040;
  font-size: 9pt;
  margin-top: 0.02in;
}

.panorama .theme-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.08in;
  margin-bottom: 0.24in;
}
.panorama .theme-tile {
  padding: 0.10in;
  border-left: 3px solid;
  background: rgba(216, 184, 90, 0.05);
}
.panorama .theme-tile.warm  { border-color: #b8623e; }
.panorama .theme-tile.rose  { border-color: #b8484f; }
.panorama .theme-tile.plum  { border-color: #6e2e8b; }
.panorama .theme-tile.sky   { border-color: #3a7daa; }
.panorama .theme-tile.cool  { border-color: #4a6c9c; }
.panorama .theme-tile.green { border-color: #4d8b5f; }
.panorama .theme-tile.gold  { border-color: #c4a868; }
.panorama .theme-name {
  font-weight: 500;
  color: #1a1a1a;
}
.panorama .theme-ref {
  font: 400 8pt "Inter", sans-serif;
  color: #6a5040;
  letter-spacing: 0.10em;
}

.panorama .person-list .person,
.panorama .place-list .place {
  color: #1a1a1a;
}

.panorama .prophecy-list,
.panorama .flag-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.panorama .prophecy-list li,
.panorama .flag-list li {
  margin-bottom: 0.10in;
  line-height: 1.36;
  padding-left: 0.24in;
  text-indent: -0.24in;
}
.panorama .prophecy-list .src {
  font: 600 8pt "Inter", sans-serif;
  color: #8a6b1f;
  margin-right: 0.08in;
  letter-spacing: 0.04em;
}
.panorama .prophecy-list .body {
  color: #1a1a1a;
}
.panorama .flag-list li::before {
  content: "—";
  color: #8a6b1f;
  margin-right: 0.08in;
}

/* ---------- Color legend at end of panorama ---------- */
.panorama .legend {
  margin-top: 0.4in;
  padding-top: 0.28in;
  border-top: 1px solid #c7b07c;
  grid-column: 1 / -1;
}
.panorama .legend h3 {
  font: 600 9pt "Inter", sans-serif;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #8a6b1f;
  margin: 0 0 0.16in 0;
  border: none;
  padding: 0;
}
.panorama .legend-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.10in 0.32in;
  font: 400 9.5pt "Crimson Pro", Georgia, serif;
  color: #1a1a1a;
}
.panorama .legend-item {
  display: flex;
  align-items: center;
  gap: 0.10in;
}
.panorama .legend-swatch {
  width: 0.18in;
  height: 0.18in;
  border-radius: 2px;
  flex: 0 0 auto;
}

/* ---------- 15. PER-VOLUME COLOR TINT ----------
   Each volume gets a section color carried into the running header,
   page numbers, drop caps, and chapter numerals via --c-sacred.
   Default (unset) stays blue so legacy templates don't break. */
html[data-color="warm"],   body[data-color="warm"]   { --c-sacred: #b9591f; }
html[data-color="sky"],    body[data-color="sky"]    { --c-sacred: #2876a8; }
html[data-color="plum"],   body[data-color="plum"]   { --c-sacred: #6e2e8b; }
html[data-color="rose"],   body[data-color="rose"]   { --c-sacred: #8a3d4a; }
html[data-color="cool"],   body[data-color="cool"]   { --c-sacred: #2c8a8a; }
html[data-color="green"],  body[data-color="green"]  { --c-sacred: #4d8b5f; }
html[data-color="gold"],   body[data-color="gold"]   { --c-sacred: #8a6b1f; }
html[data-color="sacred"], body[data-color="sacred"] { --c-sacred: #4a6c9c; }

/* ---------- 16. DROP CAPS (book opener) ----------
   Single 4-line illuminated cap on the first verse of every book. */
.dropcap {
  font-family: "Crimson Pro", "Crimson Text", Georgia, serif;
  font-weight: 200;
  float: left;
  font-size: 4.2em;
  line-height: 0.85;
  padding: 0.04em 0.10em 0 0;
  margin: 0.04em 0.04em 0 0;
  color: var(--c-sacred, #2876a8);
  letter-spacing: -0.02em;
}

/* ---------- 17. PERICOPE HEADINGS ----------
   Small italic centered titles above each section break within a chapter. */
.pericope-title {
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-weight: 500;
  font-size: 10.5pt;
  color: var(--c-sacred, #8a6b1f);
  letter-spacing: 0.02em;
  text-align: center;
  margin: 0.18in 0 0.06in 0;
  padding: 0.04in 0;
  border-top: 1px solid #d4c5a3;
  border-bottom: 1px solid #d4c5a3;
  break-after: avoid-page;
  page-break-after: avoid;
  break-inside: avoid;
  page-break-inside: avoid;
}

/* Pericope endmark: small ornament rendered above each pericope title.
   Gives a clean section-close signal between consecutive pericopes. */
.pericope-endmark {
  text-align: center;
  color: var(--c-sacred, #c7b07c);
  font-size: 11pt;
  letter-spacing: 0.4em;
  line-height: 1;
  margin: 0.16in 0 0 0;
  padding: 0;
  opacity: 0.7;
}

/* Selah: psalmic refrain marker. Right-floated italic small-caps so it
   does not interrupt the flow of the verse line. */
.selah {
  font-family: "Inter", sans-serif;
  font-size: 8.5pt;
  font-style: italic;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-sacred, #8a6b1f);
  margin-left: 0.5em;
}

/* Hebrew acrostic letter: marks the section boundaries of Psalm 119
   (8 verses per Hebrew letter) and Lamentations 1-4. */
.acrostic-letter {
  display: block;
  text-align: center;
  margin: 0.20in 0 0.10in 0;
  padding: 0;
  break-after: avoid-page;
  page-break-after: avoid;
  break-inside: avoid;
}
.acrostic-letter .hebrew {
  display: block;
  font-family: "SBL Hebrew", "Cardo", "Times New Roman", Georgia, serif;
  font-size: 30pt;
  font-weight: 400;
  color: var(--c-sacred, #8a6b1f);
  line-height: 1;
}
.acrostic-letter .name {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 9pt;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--c-sacred, #8a6b1f);
  margin-top: 0.05in;
}
body.dark .pericope-title {
  color: #d8b85a;
  border-color: #4a4030;
}

/* ---------- 19. SOLAR KEY EDITORIAL CALLOUTS ----------
   Chapter-level Solar Key apparatus boxes for the doctrinally load-bearing
   chapters (Lev 26, Ezek 4, Ezek 37, Daniel 2/7/8/9/11/12). Data lives in
   chapter_editorials.json; to revert the feature, empty that file to {}. */
.solar-key-editorial {
  background: linear-gradient(180deg, rgba(216, 184, 90, 0.10), rgba(216, 184, 90, 0.04));
  border-left: 4px solid var(--c-sacred, #8a6b1f);
  border-right: 1px solid rgba(216, 184, 90, 0.30);
  padding: 0.22in 0.30in 0.24in 0.30in;
  margin: 0.18in 0 0.28in 0;
  break-inside: avoid;
  page-break-inside: avoid;
}
.solar-key-editorial .ske-eyebrow {
  font-family: "Inter", sans-serif;
  font-size: 8pt;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--c-sacred, #8a6b1f);
  margin-bottom: 0.06in;
}
.solar-key-editorial .ske-title {
  font-family: "Crimson Pro", "Crimson Text", Georgia, serif;
  font-weight: 400;
  font-size: 18pt;
  line-height: 1.16;
  color: #1a1a1a;
  margin: 0 0 0.10in 0;
  padding: 0;
  border: none;
}
.solar-key-editorial .ske-lead {
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-size: 11pt;
  color: #4a4030;
  line-height: 1.40;
  margin: 0 0 0.16in 0;
}
.solar-key-editorial .ske-body {
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 10pt;
  line-height: 1.45;
  color: #1a1a1a;
}
.solar-key-editorial .ske-body p {
  margin: 0 0 0.10in 0;
  text-indent: 0;
}
.solar-key-editorial .ske-body p:last-child { margin-bottom: 0; }
.solar-key-editorial .ske-body strong {
  font-weight: 600;
  color: var(--c-sacred, #6e2e8b);
}
.solar-key-editorial .ske-diagram {
  margin: 0 0 0.18in 0;
}
.solar-key-editorial .ske-xref {
  margin: 0.18in 0 0 0;
  padding: 0.10in 0 0 0;
  border-top: 1px solid rgba(138, 107, 31, 0.22);
  font-family: "Inter", sans-serif;
  font-size: 8.5pt;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.solar-key-editorial .ske-xref-label {
  display: inline-block;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--c-sacred, #8a6b1f);
  margin-right: 0.10in;
}
.solar-key-editorial .ske-xref-list {
  color: #4a4a4a;
}
.solar-key-editorial .ske-xref-link {
  color: var(--c-sacred, #8a6b1f);
  text-decoration: none;
  border-bottom: 1px dotted rgba(138, 107, 31, 0.40);
}
html[data-mode="bw"] .solar-key-editorial .ske-xref {
  border-top-color: rgba(212, 168, 74, 0.30);
}
html[data-mode="bw"] .solar-key-editorial .ske-xref-label,
html[data-mode="bw"] .solar-key-editorial .ske-xref-link {
  color: #d4a84a;
}
html[data-mode="bw"] .solar-key-editorial .ske-xref-list { color: #b0a890; }

/* Small sun-glyph (inline SVG) emitted on verses listed in an editorial's
   `verses` array. Tells the reader the verse has a Solar Key Note at the
   head of the chapter; click jumps up to the note. Color is hard-coded
   gold (not var(--c-sacred)) so the Solar Key marker reads as a unified
   apparatus glyph regardless of the section's color theme. */
.sk-verse-marker {
  display: inline-block;
  margin-left: 0.10em;
  margin-right: 0.04em;
  vertical-align: -0.06em;
  line-height: 1;
  color: #8a6b1f;
  text-decoration: none;
}
.sk-verse-marker svg { display: inline-block; vertical-align: middle; }
.sk-verse-marker:hover { color: #6e4f10; }
html[data-mode="bw"] .sk-verse-marker { color: #d4a84a; }

/* === Master Prophetic Timeline page (_master_timeline.html) === */
.master-timeline {
  font-family: "Crimson Pro", Georgia, serif;
  color: #1a1a1a;
}
.mt-titlepage {
  text-align: center;
  padding: 0.5in 0.5in 0.4in;
  page-break-after: always;
}
.mt-titlepage .mt-eyebrow {
  font-family: "Inter", sans-serif;
  font-size: 9pt;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #8a6b1f;
  margin-bottom: 0.16in;
}
.mt-titlepage .mt-section {
  font-family: "Inter", sans-serif;
  font-size: 10pt;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6a6a6a;
  margin-bottom: 0.28in;
}
.mt-titlepage .mt-title {
  font-family: "Crimson Pro", Georgia, serif;
  font-weight: 300;
  font-size: 40pt;
  line-height: 1.05;
  margin: 0 0 0.10in 0;
  color: #1a1a1a;
  letter-spacing: 0.01em;
}
.mt-titlepage .mt-subtitle {
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-size: 14pt;
  color: #4a4a4a;
  margin-bottom: 0.35in;
}
.mt-titlepage .mt-intro {
  max-width: 4.8in;
  margin: 0 auto;
  font-size: 11pt;
  line-height: 1.55;
  text-align: left;
  color: #2a2a2a;
}
.mt-h2 {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 11pt;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: #8a6b1f;
  margin: 0.40in 0 0.20in 0;
  padding-bottom: 0.06in;
  border-bottom: 1px solid rgba(138, 107, 31, 0.30);
}
.mt-anchors,
.mt-spans,
.mt-rule {
  padding: 0 0.45in;
}
.mt-anchor {
  display: grid;
  grid-template-columns: 1.4in 1fr;
  column-gap: 0.22in;
  padding: 0.14in 0;
  border-bottom: 1px dotted rgba(0, 0, 0, 0.10);
  page-break-inside: avoid;
}
.mt-anchor:last-child { border-bottom: none; }
.mt-anchor-future .mt-date { color: #4a4a4a; font-style: italic; }
.mt-anchor-future .mt-anchor-name { color: #4a4a4a; }
.mt-date {
  font-family: "Crimson Pro", Georgia, serif;
  font-weight: 300;
  font-size: 22pt;
  line-height: 1.0;
  color: #8a6b1f;
  align-self: start;
  padding-top: 0.04in;
}
.mt-anchor-name {
  font-family: "Crimson Pro", Georgia, serif;
  font-weight: 500;
  font-size: 13pt;
  color: #1a1a1a;
  margin-bottom: 0.02in;
}
.mt-anchor-ref {
  font-family: "Inter", sans-serif;
  font-size: 8.5pt;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #8a6b1f;
  margin-bottom: 0.06in;
}
.mt-anchor-body p {
  font-size: 10pt;
  line-height: 1.50;
  color: #2a2a2a;
  margin: 0;
}

/* Span bars - horizontal pill with start / length / end markers */
.mt-span-row {
  margin: 0 0 0.16in 0;
  page-break-inside: avoid;
}
.mt-span-bar {
  display: grid;
  grid-template-columns: 0.8in 1fr 0.8in;
  align-items: center;
  height: 0.34in;
  padding: 0 0.10in;
  border-radius: 0.18in;
  background: linear-gradient(90deg, rgba(216, 184, 90, 0.22), rgba(216, 184, 90, 0.10));
  border: 1px solid rgba(138, 107, 31, 0.28);
}
.mt-bar-left,
.mt-bar-right {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 10pt;
  color: #6a4f10;
}
.mt-bar-right { text-align: right; }
.mt-bar-len {
  text-align: center;
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-size: 11pt;
  color: #4a4a4a;
}
.mt-bar-490    { background: linear-gradient(90deg, rgba(184,128,90,0.32), rgba(184,128,90,0.10)); }
.mt-bar-2300   { background: linear-gradient(90deg, rgba(40,118,168,0.28), rgba(40,118,168,0.08)); }
.mt-bar-1260   { background: linear-gradient(90deg, rgba(110,46,139,0.28), rgba(110,46,139,0.08)); }
.mt-bar-1290   { background: linear-gradient(90deg, rgba(110,46,139,0.22), rgba(110,46,139,0.06)); }
.mt-bar-1335   { background: linear-gradient(90deg, rgba(77,139,95,0.28), rgba(77,139,95,0.08)); }
.mt-bar-2520a  { background: linear-gradient(90deg, rgba(138,61,74,0.28), rgba(138,61,74,0.08)); }
.mt-bar-2520b  { background: linear-gradient(90deg, rgba(138,61,74,0.22), rgba(138,61,74,0.06)); }
.mt-span-meta {
  margin: 0.04in 0 0 0;
  padding: 0 0.10in;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.20in;
  font-family: "Inter", sans-serif;
  font-size: 9pt;
}
.mt-span-ref {
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a6b1f;
  white-space: nowrap;
}
.mt-span-target {
  color: #4a4a4a;
  text-align: right;
}

/* Master rule footer block */
.mt-rule {
  margin-top: 0.30in;
  padding-bottom: 0.40in;
  page-break-inside: avoid;
}
.mt-rule-quote {
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-size: 18pt;
  line-height: 1.30;
  color: #1a1a1a;
  margin: 0 0 0.06in 0;
  padding: 0 0 0 0.20in;
  border-left: 3px solid #8a6b1f;
}
.mt-rule-ref {
  font-family: "Inter", sans-serif;
  font-size: 9pt;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8a6b1f;
  margin: 0 0 0.16in 0.20in;
}
.mt-rule-body {
  font-size: 11pt;
  line-height: 1.55;
  color: #2a2a2a;
  margin: 0;
}

html[data-mode="bw"] .master-timeline { color: #e0d8c4; }
html[data-mode="bw"] .mt-titlepage .mt-eyebrow,
html[data-mode="bw"] .mt-h2,
html[data-mode="bw"] .mt-date,
html[data-mode="bw"] .mt-anchor-ref,
html[data-mode="bw"] .mt-span-ref,
html[data-mode="bw"] .mt-rule-ref { color: #d4a84a; }
html[data-mode="bw"] .mt-titlepage .mt-section { color: #b0a890; }
html[data-mode="bw"] .mt-titlepage .mt-title,
html[data-mode="bw"] .mt-anchor-name,
html[data-mode="bw"] .mt-rule-quote { color: #f4ecd4; }
html[data-mode="bw"] .mt-titlepage .mt-subtitle,
html[data-mode="bw"] .mt-titlepage .mt-intro,
html[data-mode="bw"] .mt-anchor-body p,
html[data-mode="bw"] .mt-bar-len,
html[data-mode="bw"] .mt-span-target,
html[data-mode="bw"] .mt-rule-body { color: #b0a890; }
html[data-mode="bw"] .mt-anchor { border-bottom-color: rgba(255, 255, 255, 0.10); }
html[data-mode="bw"] .mt-h2 { border-bottom-color: rgba(212, 168, 74, 0.30); }
html[data-mode="bw"] .mt-span-bar { background: rgba(212, 168, 74, 0.12); border-color: rgba(212, 168, 74, 0.28); }
html[data-mode="bw"] .mt-bar-left,
html[data-mode="bw"] .mt-bar-right { color: #f4ecd4; }
html[data-mode="bw"] .mt-rule-quote { border-left-color: #d4a84a; }
.sk-blockquote {
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-size: 12pt;
  color: var(--c-sacred, #6e2e8b);
  border-left: 2px solid var(--c-sacred, #8a6b1f);
  padding-left: 0.18in;
  margin: 0.10in 0 0.10in 0.10in;
}

/* === Solar Key Note Index page (_solar_key_index.html) === */
.solar-key-index {
  font-family: "Crimson Pro", Georgia, serif;
  color: #1a1a1a;
}
.ski-titlepage {
  text-align: center;
  padding: 0.5in 0.5in 0.4in;
  page-break-after: always;
}
.ski-titlepage .ski-eyebrow {
  font-family: "Inter", sans-serif;
  font-size: 9pt;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--c-sacred, #8a6b1f);
  margin-bottom: 0.16in;
}
.ski-titlepage .ski-section {
  font-family: "Inter", sans-serif;
  font-size: 10pt;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6a6a6a;
  margin-bottom: 0.28in;
}
.ski-titlepage .ski-title {
  font-family: "Crimson Pro", Georgia, serif;
  font-weight: 300;
  font-size: 42pt;
  line-height: 1.05;
  margin: 0 0 0.10in 0;
  color: #1a1a1a;
  letter-spacing: 0.01em;
}
.ski-titlepage .ski-subtitle {
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-size: 14pt;
  color: #4a4a4a;
  margin-bottom: 0.35in;
}
.ski-titlepage .ski-intro {
  max-width: 4.6in;
  margin: 0 auto;
  font-size: 11pt;
  line-height: 1.55;
  text-align: left;
  color: #2a2a2a;
}
.ski-index {
  padding: 0 0.45in;
}
.ski-book-group {
  margin: 0 0 0.38in 0;
  page-break-inside: avoid;
}
.ski-book-group:first-child { margin-top: 0; }
.ski-book {
  font-family: "Crimson Pro", Georgia, serif;
  font-weight: 400;
  font-size: 18pt;
  color: var(--c-sacred, #8a6b1f);
  margin: 0 0 0.10in 0;
  padding: 0 0 0.05in 0;
  border-bottom: 1px solid rgba(138, 107, 31, 0.30);
  letter-spacing: 0.02em;
}
.ski-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ski-item {
  margin: 0;
  padding: 0;
  page-break-inside: avoid;
}
.ski-link {
  display: grid;
  grid-template-columns: 1.2in 1fr;
  grid-template-rows: auto auto;
  column-gap: 0.18in;
  row-gap: 0.02in;
  padding: 0.10in 0;
  border-bottom: 1px dotted rgba(0, 0, 0, 0.12);
  color: inherit;
  text-decoration: none;
}
.ski-ref {
  grid-row: 1 / span 2;
  font-family: "Inter", sans-serif;
  font-size: 9pt;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--c-sacred, #8a6b1f);
  align-self: start;
  padding-top: 0.02in;
}
.ski-item-title {
  font-family: "Crimson Pro", Georgia, serif;
  font-weight: 500;
  font-size: 12pt;
  color: #1a1a1a;
}
.ski-item-lead {
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-size: 10pt;
  line-height: 1.45;
  color: #4a4a4a;
}

html[data-mode="bw"] .solar-key-index { color: #e0d8c4; }
html[data-mode="bw"] .ski-titlepage .ski-eyebrow,
html[data-mode="bw"] .ski-book,
html[data-mode="bw"] .ski-ref { color: #d4a84a; }
html[data-mode="bw"] .ski-titlepage .ski-section { color: #b0a890; }
html[data-mode="bw"] .ski-titlepage .ski-title,
html[data-mode="bw"] .ski-item-title { color: #f4ecd4; }
html[data-mode="bw"] .ski-titlepage .ski-subtitle,
html[data-mode="bw"] .ski-titlepage .ski-intro,
html[data-mode="bw"] .ski-item-lead { color: #b0a890; }
html[data-mode="bw"] .ski-book { border-bottom-color: rgba(212, 168, 74, 0.35); }
html[data-mode="bw"] .ski-link { border-bottom-color: rgba(255, 255, 255, 0.12); }

/* Math equation diagram (Lev 26, Ezek 4) */
.sk-eq {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.14in;
  padding: 0.10in;
  background: #fffdf6;
  border: 1px solid rgba(216, 184, 90, 0.40);
  border-radius: 4px;
  margin: 0;
}
.sk-eq-num,
.sk-eq-result {
  font-family: "Crimson Pro", Georgia, serif;
  font-weight: 300;
  font-size: 24pt;
  color: #1a1a1a;
  line-height: 1;
}
.sk-eq-result { color: var(--c-sacred, #8a6b1f); font-weight: 400; }
.sk-eq-op {
  font-family: "Inter", sans-serif;
  font-size: 16pt;
  color: #7a6a44;
}
.sk-eq-unit {
  font-family: "Inter", sans-serif;
  font-size: 9pt;
  font-style: italic;
  color: #5a5040;
  margin-left: 0.10in;
}
.sk-eq-sub {
  text-align: center;
  font-family: "Inter", sans-serif;
  font-size: 9pt;
  color: #5a5040;
  margin-top: 0.06in;
}

/* Four-stage diagram (Ezek 37 dry bones) */
.sk-stages {
  display: flex;
  gap: 0.10in;
  justify-content: space-between;
}
.sk-stage {
  flex: 1;
  text-align: center;
  background: #fffdf6;
  border: 1px solid rgba(216, 184, 90, 0.30);
  border-radius: 3px;
  padding: 0.10in 0.06in;
}
.sk-stage-num {
  font-family: "Crimson Pro", Georgia, serif;
  font-weight: 200;
  font-size: 24pt;
  color: var(--c-sacred, #8a6b1f);
  line-height: 1;
}
.sk-stage-label {
  font-family: "Inter", sans-serif;
  font-size: 9pt;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #1a1a1a;
  margin-top: 0.04in;
}
.sk-stage-date {
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-size: 9pt;
  color: #5a5040;
  margin-top: 0.04in;
}

/* Daniel 2 statue rows */
.sk-statue {
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(216, 184, 90, 0.40);
  border-radius: 4px;
  overflow: hidden;
}
.sk-statue-row {
  display: grid;
  grid-template-columns: 1.8fr 1.2fr 1fr;
  gap: 0.10in;
  padding: 0.07in 0.14in;
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 10pt;
  align-items: center;
  border-top: 1px solid rgba(216, 184, 90, 0.20);
}
.sk-statue-row:first-child { border-top: 0; }
.sk-statue-part { font-weight: 500; color: #1a1a1a; }
.sk-statue-power { font-style: italic; color: #2a2620; }
.sk-statue-dates { font-family: "Inter", sans-serif; font-size: 8.5pt; color: #5a5040; text-align: right; }
.sk-statue-row.sk-gold   { background: rgba(216, 184, 90, 0.16); }
.sk-statue-row.sk-silver { background: rgba(160, 160, 160, 0.14); }
.sk-statue-row.sk-bronze { background: rgba(185, 89, 31, 0.14); }
.sk-statue-row.sk-iron   { background: rgba(70, 70, 70, 0.10); }
.sk-statue-row.sk-clay   { background: rgba(160, 100, 60, 0.10); }
.sk-statue-row.sk-stone  { background: rgba(216, 184, 90, 0.06); font-weight: 500; }
.sk-statue-row.sk-stone .sk-statue-part { color: var(--c-sacred, #8a6b1f); }

/* Daniel 7 four-beasts strip */
.sk-beasts {
  display: flex;
  gap: 0.08in;
}
.sk-beast {
  flex: 1;
  background: #fffdf6;
  border: 1px solid rgba(216, 184, 90, 0.30);
  border-radius: 3px;
  padding: 0.10in 0.06in;
  text-align: center;
}
.sk-beast-name {
  font-family: "Inter", sans-serif;
  font-size: 9pt;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #1a1a1a;
}
.sk-beast-power {
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-size: 9.5pt;
  color: #2a2620;
  margin-top: 0.04in;
}
.sk-beast-date {
  font-family: "Inter", sans-serif;
  font-size: 8pt;
  color: #5a5040;
  margin-top: 0.04in;
}
.sk-beast-iron { background: rgba(70, 70, 70, 0.10); }
.sk-beast-horn { background: rgba(185, 89, 31, 0.14); border-color: rgba(185, 89, 31, 0.40); }
.sk-beast-horn .sk-beast-name { color: #b9591f; }

/* Daniel 8 timeline (single span) */
.sk-timeline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fffdf6;
  border: 1px solid rgba(216, 184, 90, 0.30);
  border-radius: 3px;
  padding: 0.14in 0.18in;
  font-family: "Crimson Pro", Georgia, serif;
}
.sk-tl-start,
.sk-tl-end {
  font-size: 13pt;
  font-weight: 500;
  color: #1a1a1a;
  text-align: center;
}
.sk-tl-sublabel {
  font-family: "Inter", sans-serif;
  font-size: 8pt;
  color: #5a5040;
  letter-spacing: 0.04em;
}
.sk-tl-arrow {
  font-family: "Inter", sans-serif;
  font-size: 9.5pt;
  font-weight: 600;
  color: var(--c-sacred, #8a6b1f);
  letter-spacing: 0.06em;
}

/* Daniel 9 seventy weeks */
.sk-weeks {
  display: flex;
  gap: 0.06in;
}
.sk-week-block {
  flex: 1;
  background: #fffdf6;
  border: 1px solid rgba(216, 184, 90, 0.30);
  border-radius: 3px;
  padding: 0.10in;
  text-align: center;
}
.sk-week-49   { flex: 0.7; }
.sk-week-434  { flex: 3.0; background: rgba(216, 184, 90, 0.08); }
.sk-week-7    { flex: 0.6; background: rgba(185, 89, 31, 0.10); }
.sk-week-label {
  font-family: "Inter", sans-serif;
  font-size: 9pt;
  font-weight: 700;
  color: #1a1a1a;
}
.sk-week-date {
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 9pt;
  color: #5a5040;
  margin-top: 0.04in;
}
.sk-week-note {
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-size: 9pt;
  color: var(--c-sacred, #8a6b1f);
  margin-top: 0.04in;
}

/* Daniel 12 three time-spans */
.sk-three-spans {
  display: flex;
  gap: 0.08in;
}
.sk-span {
  flex: 1;
  background: #fffdf6;
  border: 1px solid rgba(216, 184, 90, 0.30);
  border-radius: 3px;
  padding: 0.10in;
  text-align: center;
}
.sk-span-len {
  font-family: "Crimson Pro", Georgia, serif;
  font-weight: 500;
  font-size: 14pt;
  color: var(--c-sacred, #8a6b1f);
}
.sk-span-range {
  font-family: "Inter", sans-serif;
  font-size: 9pt;
  color: #5a5040;
  margin-top: 0.04in;
}

/* ---------- 18. POETIC LINE FORMATTING ----------
   For Psalms / Proverbs / Job / Song / Lamentations / Ecclesiastes:
   split verses on semicolons; each .pl span gets its own line via
   the inline-line-break hint emitted by the renderer. */
.v.poetic {
  padding-left: 0.45in;
  margin-bottom: 0.08in;
}
.v.poetic .pl {
  display: inline-block;
  width: 100%;
  text-indent: -0.18in;
  padding-left: 0.18in;
}
.v.poetic .pl.indent-1 {
  padding-left: 0.36in;
  color: #2a2620;
}
.psalm-header {
  display: block;
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-size: 9.5pt;
  color: #8a6b1f;
  text-align: center;
  letter-spacing: 0.04em;
  margin: 0 0 0.10in 0;
}

/* ============================================================
   20. DARK PAGE MONOCHROME OVERRIDE
   Activated by html[data-mode="bw"]. Inverts the cream-paper
   palette to a deep dark page with warm off-white text -- a
   digital / screen reading mode. Gold wordmarks brightened so
   they remain visible against the dark page.
   ============================================================ */

html[data-mode="bw"],
html[data-mode="bw"] body {
  background: #0e1015 !important;
  color: #e0d8c4 !important;
}

html[data-mode="bw"] p,
html[data-mode="bw"] .chapter,
html[data-mode="bw"] .gen-prose,
html[data-mode="bw"] .gen-intro,
html[data-mode="bw"] .panorama,
html[data-mode="bw"] .panorama .ix-section,
html[data-mode="bw"] .person-list,
html[data-mode="bw"] .place-list { color: #e0d8c4; }

/* Dark-mode entity coloring — keeps the color-coded categorical reading
   from light mode but uses lifted, lower-saturation tones tuned for the
   warm off-white body on deep ink paper. Each light-mode hue has a
   dark-mode partner that retains its identity (blue stays blue, green
   stays green) at higher value so the eye still picks the categories
   apart against the dark background. */
html[data-mode="bw"] .person,
html[data-mode="bw"] .pronoun {
  color: #8cb8d8;   /* lifted blue family */
}
html[data-mode="bw"] .tribe {
  color: #7eaecb;   /* deep blue */
}
html[data-mode="bw"] .king {
  color: #94c0db;   /* royal blue */
}
html[data-mode="bw"] .prophet {
  color: #a0b3d4;   /* slate blue */
}
html[data-mode="bw"] .place,
html[data-mode="bw"] .mountain {
  color: #7ec8c8;   /* teal */
}
html[data-mode="bw"] .concept {
  color: #8bce9b;   /* green */
}
html[data-mode="bw"] .nation {
  color: #b8cc7c;   /* olive */
}
html[data-mode="bw"] .number {
  color: #e58a96;   /* lifted burgundy/rose */
  font-weight: 500;
}
html[data-mode="bw"] .lead-in {
  color: #f4ecd4;
  font-weight: 700;
}

html[data-mode="bw"] .elohim-mark img,
html[data-mode="bw"] .yahuah-mark img,
html[data-mode="bw"] .yahusha-mark img,
html[data-mode="bw"] .messiah-mark img,
html[data-mode="bw"] .ruach-mark img,
html[data-mode="bw"] img[src*="-gold"] {
  /* Lifted but not glowing -- previous brightness(1.55) on the saturated
     gold artwork bloomed visually against the dark page and bled into
     adjacent body text. Pull saturation way back and brighten gently. */
  filter: brightness(1.20) contrast(1.15) saturate(0.55);
}

/* Sacred names in dark mode — keep the per-name hue from light mode but
   shift to lifted, warmer tones so they read as set-apart against the
   warm off-white body. Yahuah / Yahusha / Adonai stay in the purple
   family; Elohim in the gold family; Messiah in rose; Ruach / set-apart
   in lifted blue. */
html[data-mode="bw"] .sn { color: #d4a84a; }   /* default: gold */
html[data-mode="bw"] .sn.yahuah,
html[data-mode="bw"] .sn.yahusha,
html[data-mode="bw"] .sn.adonai {
  color: #c79ce0;   /* lifted purple — Father / Son / Adonai */
}
html[data-mode="bw"] .sn.elohim {
  color: #d8b85a;   /* lifted gold — Elohim */
}
html[data-mode="bw"] .sn.messiah {
  color: #e09aa6;   /* lifted rose — Messiah */
}
html[data-mode="bw"] .sn.ruach,
html[data-mode="bw"] .sn.set-apart {
  color: #a0b3d4;   /* lifted slate blue — Spirit / set-apart */
}

html[data-mode="bw"] .vn { color: #d4a84a; }
html[data-mode="bw"] .vn:hover { background: rgba(216, 184, 90, 0.15); }

html[data-mode="bw"] .pericope-title {
  color: #d4a84a;
  border-color: #4a4030;
}

html[data-mode="bw"] .dropcap { color: #d8b85a; }
html[data-mode="bw"] .pronounce { color: #9ea4b0; }

html[data-mode="bw"] {
  --c-sacred: #d4a84a;
  --c-sacred-soft: rgba(216, 184, 90, 0.10);
}

html[data-mode="bw"] .chapter-num,
html[data-mode="bw"] .ch-numeral { color: #4a5470; }

html[data-mode="bw"] .subhead-inline { color: #e0d8c4; }

html[data-mode="bw"] .dy-bracket {
  color: #d8616e;
  background: rgba(141, 46, 61, 0.20);
  border: 1px solid rgba(216, 100, 110, 0.30);
}

html[data-mode="bw"] .triple-stamp .label { color: #b0a890; }
html[data-mode="bw"] .triple-stamp .date  { color: #e0d8c4; font-weight: 500; }
html[data-mode="bw"] .triple-stamp-strip {
  border-top-color: rgba(255, 255, 255, 0.12);
  border-bottom-color: rgba(255, 255, 255, 0.08);
}
html[data-mode="bw"] .triple-stamp-strip .ts-eyebrow { color: #b0a890; }
html[data-mode="bw"] .triple-stamp-strip .ts-type {
  color: #11141b;
  background: #d4a84a;
}
html[data-mode="bw"] .triple-stamp-strip .ts-open-badge { color: #e58a96; }
html[data-mode="bw"] .triple-stamp-strip .ts-open-dot { background: #e58a96; box-shadow: 0 0 0 2px rgba(229, 138, 150, 0.20); }
html[data-mode="bw"] .triple-stamp .stamp.open .date { border-bottom-color: #e58a96; }
html[data-mode="bw"] .triple-stamp-strip .ts-span { color: #b0a890; }
html[data-mode="bw"] .triple-stamp-strip .ts-span-from,
html[data-mode="bw"] .triple-stamp-strip .ts-span-to { color: #e0d8c4; }
html[data-mode="bw"] .triple-stamp-strip .ts-span-arrow { color: #d4a84a; }
html[data-mode="bw"] .triple-stamp-strip .ts-span-years { color: #f4ecd4; }

html[data-mode="bw"] .timeline-ribbon,
html[data-mode="bw"] .tl-eyebrow,
html[data-mode="bw"] .tl-year,
html[data-mode="bw"] .tl-text,
html[data-mode="bw"] .tl-endpoint,
html[data-mode="bw"] .tl-endpoint .year { color: #e0d8c4; }
html[data-mode="bw"] .tl-bar { background: #6a5a3a; }
html[data-mode="bw"] .tl-dot { background: #d4a84a; border-color: #d4a84a; }

html[data-mode="bw"] .ff,
html[data-mode="bw"] .ff-fulfilled,
html[data-mode="bw"] .ff-partial,
html[data-mode="bw"] .ff-future {
  color: #e0d8c4;
  background: rgba(216, 184, 90, 0.10);
  border: 1px solid rgba(216, 184, 90, 0.40);
}
html[data-mode="bw"] .ff-glyph,
html[data-mode="bw"] .ff-date,
html[data-mode="bw"] .ff-type { color: #d4a84a; }

html[data-mode="bw"] .reading-time,
html[data-mode="bw"] .reading-time .rt-glyph { color: #9ea4b0; }

html[data-mode="bw"] .part-banner,
html[data-mode="bw"] .part-banner-run {
  background: #1a1d24 !important;
  color: #d4a84a !important;
}
html[data-mode="bw"] .part[data-color] { --tab-color: #6a5a3a; }

html[data-mode="bw"] .spine-tab { background: #1a1d24; color: #d4a84a; }

html[data-mode="bw"] .fig-tree-clock {
  background: rgba(77, 139, 95, 0.12);
  border-left-color: #7abc8c;
  color: #e0d8c4;
}
html[data-mode="bw"] .fig-tree-clock .ft-glyph,
html[data-mode="bw"] .fig-tree-clock .ft-label,
html[data-mode="bw"] .fig-tree-clock .ft-max { color: #e0d8c4; }

html[data-mode="bw"] .letter-block {
  background: rgba(216, 184, 90, 0.10);
  color: #e0d8c4;
}

html[data-mode="bw"] .para-group p.v.speech {
  background: rgba(216, 184, 90, 0.08);
  border-left-color: #6a5a3a;
  color: #e0d8c4;
}
html[data-mode="bw"] .para-group p.v,
html[data-mode="bw"] .para-group p.v.speech-cont,
html[data-mode="bw"] .para-group p.v.poetic { color: #e0d8c4; }

html[data-mode="bw"] .solar-key-editorial {
  background: #1a1d24;
  border-left: 4px solid #d4a84a;
  border-right-color: rgba(216, 184, 90, 0.30);
}
html[data-mode="bw"] .solar-key-editorial .ske-eyebrow { color: #d4a84a; }
html[data-mode="bw"] .solar-key-editorial .ske-title { color: #f4ecd4; }
html[data-mode="bw"] .solar-key-editorial .ske-lead { color: #b0a890; }
html[data-mode="bw"] .solar-key-editorial .ske-body { color: #e0d8c4; }
html[data-mode="bw"] .solar-key-editorial .ske-body strong { color: #f4ecd4; }
html[data-mode="bw"] .sk-blockquote {
  color: #f4ecd4;
  border-color: #d4a84a;
}

html[data-mode="bw"] .sk-eq,
html[data-mode="bw"] .sk-stage,
html[data-mode="bw"] .sk-beast,
html[data-mode="bw"] .sk-timeline,
html[data-mode="bw"] .sk-week-block,
html[data-mode="bw"] .sk-span,
html[data-mode="bw"] .sk-statue {
  background: #0e1015;
  border-color: #4a4030;
}
html[data-mode="bw"] .sk-statue-row {
  background: #14171e !important;
  border-color: #2e3340;
}
html[data-mode="bw"] .sk-statue-row.sk-gold   { background: rgba(216, 184, 90, 0.14) !important; }
html[data-mode="bw"] .sk-statue-row.sk-silver { background: rgba(160, 160, 160, 0.10) !important; }
html[data-mode="bw"] .sk-statue-row.sk-bronze { background: rgba(185, 89, 31, 0.14) !important; }
html[data-mode="bw"] .sk-statue-row.sk-iron   { background: rgba(70, 70, 70, 0.30) !important; }
html[data-mode="bw"] .sk-statue-row.sk-clay   { background: rgba(160, 100, 60, 0.18) !important; }
html[data-mode="bw"] .sk-statue-row.sk-stone  { background: rgba(216, 184, 90, 0.18) !important; }
html[data-mode="bw"] .sk-statue-part,
html[data-mode="bw"] .sk-statue-power,
html[data-mode="bw"] .sk-statue-dates { color: #e0d8c4; }
html[data-mode="bw"] .sk-statue-row.sk-stone .sk-statue-part { color: #f4ecd4; }
html[data-mode="bw"] .sk-eq-num,
html[data-mode="bw"] .sk-eq-op,
html[data-mode="bw"] .sk-eq-unit,
html[data-mode="bw"] .sk-eq-sub,
html[data-mode="bw"] .sk-stage-num,
html[data-mode="bw"] .sk-stage-label,
html[data-mode="bw"] .sk-stage-date,
html[data-mode="bw"] .sk-beast-name,
html[data-mode="bw"] .sk-beast-power,
html[data-mode="bw"] .sk-beast-date,
html[data-mode="bw"] .sk-tl-start,
html[data-mode="bw"] .sk-tl-end,
html[data-mode="bw"] .sk-tl-sublabel,
html[data-mode="bw"] .sk-tl-arrow,
html[data-mode="bw"] .sk-week-label,
html[data-mode="bw"] .sk-week-date,
html[data-mode="bw"] .sk-week-note,
html[data-mode="bw"] .sk-span-len,
html[data-mode="bw"] .sk-span-range { color: #e0d8c4 !important; }
html[data-mode="bw"] .sk-eq-result { color: #d8b85a !important; font-weight: 500; }
html[data-mode="bw"] .sk-beast-iron { background: rgba(70, 70, 70, 0.20); }
html[data-mode="bw"] .sk-beast-horn { background: rgba(185, 89, 31, 0.20); border-color: #b9591f; }
html[data-mode="bw"] .sk-beast-horn .sk-beast-name { color: #f4a85f; }
html[data-mode="bw"] .sk-week-434 { background: rgba(216, 184, 90, 0.10); }
html[data-mode="bw"] .sk-week-7   { background: rgba(185, 89, 31, 0.18); }

html[data-mode="bw"] .prophetic-intro .pi-section {
  background: #1d2028;
  border-color: #353a48;
}
html[data-mode="bw"] .prophetic-intro .pi-eyebrow { color: #d4a84a; }
html[data-mode="bw"] .prophetic-intro .pi-title,
html[data-mode="bw"] .prophetic-intro .pi-content { color: #e2dec8; }
html[data-mode="bw"] .prophetic-intro .pi-subtitle { color: #b0a890; }

html[data-mode="bw"] .vt-volnum { color: #d8b85a; }
html[data-mode="bw"] .vt-eyebrow { color: #d4a84a; }
html[data-mode="bw"] .vt-title { color: #f4ecd4; }
html[data-mode="bw"] .vt-publisher { color: #e0d8c4; }
html[data-mode="bw"] .vt-divider { background: #6a5a3a; }
html[data-mode="bw"] .vt-books { color: #b0a890; }

/* Sprint 1 readability additions in BW mode */
html[data-mode="bw"] .pericope-endmark { color: #d4a84a; }
html[data-mode="bw"] .selah { color: #d4a84a; }
html[data-mode="bw"] .acrostic-letter .hebrew { color: #d8b85a; }
html[data-mode="bw"] .acrostic-letter .name { color: #d4a84a; }

/* Sprint 2: red-letter Yahusha in dark mode -- soft warm rose so the
   words read clearly against the deep page while staying distinct from
   the warm cream body type. */
html[data-mode="bw"] .rl-yahusha {
  color: #f0a890;
}

/* Sprint 2: red-letter Yahuah in dark mode -- light lavender, matching
   the dark-theme sacred-name color and keeping Father / Son speech
   visually distinct on the dark page. */
html[data-mode="bw"] .rl-yahuah {
  color: #c690e0;
}

/* Sprint 2: cross-references in dark mode -- subdued gold tone */
html[data-mode="bw"] .xrefs {
  color: #b0a890;
  border-left-color: rgba(216, 184, 90, 0.30);
}
html[data-mode="bw"] .xrefs::before {
  color: #d4a84a;
}

/* ============================================================
   How to Read This Bible — apparatus reference page
   Documents the color/glyph system in a single legend.
   ============================================================ */
.how-to-read {
  max-width: 6.5in;
  margin: 0 auto;
  padding: 0.6in 0.5in;
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 11.5pt;
  line-height: 1.55;
  color: #1a1a1a;
}
.how-to-read .htr-titlepage {
  text-align: center;
  padding: 1.2in 0 0.8in;
  border-bottom: 1px solid rgba(0, 0, 0, 0.10);
  margin-bottom: 0.5in;
}
.how-to-read .htr-eyebrow {
  font-family: "Inter", system-ui, sans-serif;
  font-size: 7pt;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #8a6b1f;
  font-weight: 700;
  margin-bottom: 0.20in;
}
.how-to-read .htr-section {
  font-family: "Inter", system-ui, sans-serif;
  font-size: 8.5pt;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #8d2e3d;
  font-weight: 600;
  margin-bottom: 0.18in;
}
.how-to-read .htr-title {
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 32pt;
  font-weight: 300;
  letter-spacing: 0.005em;
  margin: 0 0 0.10in;
  color: #1a1a1a;
}
.how-to-read .htr-subtitle {
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-size: 13pt;
  color: #5a5040;
  margin-bottom: 0.30in;
}
.how-to-read .htr-intro {
  font-size: 11.5pt;
  line-height: 1.55;
  color: #2a2520;
  max-width: 5.5in;
  margin: 0 auto;
  text-align: left;
}
.how-to-read .htr-section-block {
  margin: 0.45in 0;
  page-break-inside: avoid;
}
.how-to-read .htr-h2 {
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 18pt;
  font-weight: 500;
  letter-spacing: 0.005em;
  color: #1a1a1a;
  margin: 0 0 0.18in;
  padding-bottom: 0.06in;
  border-bottom: 1px solid rgba(141, 46, 61, 0.30);
}
.how-to-read .htr-body {
  font-size: 11pt;
  line-height: 1.55;
  color: #2a2520;
  margin: 0 0 0.18in;
}
.how-to-read .htr-legend-grid {
  display: grid;
  grid-template-columns: 1.6in 1.4in 1fr;
  gap: 0.10in 0.20in;
  margin: 0.15in 0 0.20in;
  padding: 0.16in 0.20in;
  background: rgba(212, 168, 74, 0.05);
  border-left: 3px solid rgba(141, 46, 61, 0.30);
  border-radius: 2px;
}
.how-to-read .htr-legend-row {
  display: contents;
}
.how-to-read .htr-sample {
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 11.5pt;
  font-weight: 500;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 0.06in;
}
.how-to-read .htr-name {
  font-family: "Inter", system-ui, sans-serif;
  font-size: 9pt;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #1a1a1a;
  align-self: center;
}
.how-to-read .htr-desc {
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-size: 10pt;
  color: #5a5040;
  line-height: 1.40;
  align-self: center;
}
.how-to-read .htr-apparatus-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.22in 0.30in;
  margin: 0.20in 0;
}
.how-to-read .htr-apparatus-item {
  padding: 0.14in 0.16in;
  background: rgba(212, 168, 74, 0.04);
  border-left: 2px solid #8a6b1f;
  border-radius: 2px;
  page-break-inside: avoid;
}
.how-to-read .htr-h3 {
  font-family: "Inter", system-ui, sans-serif;
  font-size: 9pt;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8d2e3d;
  margin: 0 0 0.06in;
}
.how-to-read .htr-apparatus-item p {
  font-size: 10pt;
  line-height: 1.45;
  color: #2a2520;
  margin: 0;
}
.how-to-read .htr-sister-list {
  margin: 0.10in 0 0.20in;
  padding-left: 0.30in;
  font-size: 10.5pt;
  line-height: 1.55;
  color: #2a2520;
}
.how-to-read .htr-sister-list li {
  margin-bottom: 0.08in;
}
.how-to-read .htr-sister-list strong {
  color: #8d2e3d;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 9.5pt;
  letter-spacing: 0.04em;
  font-weight: 700;
}

/* BW dark mode coverage */
html[data-mode="bw"] .how-to-read,
html[data-mode="bw"] .how-to-read .htr-body,
html[data-mode="bw"] .how-to-read .htr-intro,
html[data-mode="bw"] .how-to-read .htr-apparatus-item p,
html[data-mode="bw"] .how-to-read .htr-sister-list { color: #e2dec8; }
html[data-mode="bw"] .how-to-read .htr-title,
html[data-mode="bw"] .how-to-read .htr-h2,
html[data-mode="bw"] .how-to-read .htr-name { color: #f4ecd4; }
html[data-mode="bw"] .how-to-read .htr-subtitle,
html[data-mode="bw"] .how-to-read .htr-desc { color: #b0a890; }
html[data-mode="bw"] .how-to-read .htr-eyebrow,
html[data-mode="bw"] .how-to-read .htr-h3 { color: #d4a84a; }
html[data-mode="bw"] .how-to-read .htr-section { color: #e58a96; }
html[data-mode="bw"] .how-to-read .htr-titlepage {
  border-bottom-color: rgba(212, 168, 74, 0.20);
}
html[data-mode="bw"] .how-to-read .htr-h2 {
  border-bottom-color: rgba(229, 138, 150, 0.30);
}
html[data-mode="bw"] .how-to-read .htr-legend-grid {
  background: rgba(212, 168, 74, 0.06);
  border-left-color: rgba(229, 138, 150, 0.30);
}
html[data-mode="bw"] .how-to-read .htr-apparatus-item {
  background: rgba(212, 168, 74, 0.06);
  border-left-color: #d4a84a;
}
html[data-mode="bw"] .how-to-read .htr-sister-list strong {
  color: #e58a96;
}


/* =====================================================================
   APPARATUS PAGES — Editorial Position, Daniel/Revelation Parallel,
   Feast Calendar, Prophecy Chains, Hebrew/Greek Word Studies. All share
   the same scaffold as .how-to-read (titlepage + section blocks) with
   page-specific accents.
   ===================================================================== */

.editorial-position,
.drp-chart,
.fc-chart,
.pc-chart,
.hg-study {
  max-width: 6.5in;
  margin: 0 auto;
  padding: 0.6in 0.5in;
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 11.5pt;
  line-height: 1.55;
  color: #1a1a1a;
}

/* Shared titlepage scaffold */
.editorial-position .ep-titlepage,
.drp-chart .drp-titlepage,
.fc-chart .fc-titlepage,
.pc-chart .pc-titlepage,
.hg-study .hg-titlepage {
  text-align: center;
  padding: 1.2in 0 0.8in;
  border-bottom: 1px solid rgba(0, 0, 0, 0.10);
  margin-bottom: 0.5in;
}
.editorial-position .ep-eyebrow,
.drp-chart .drp-eyebrow,
.fc-chart .fc-eyebrow,
.pc-chart .pc-eyebrow,
.hg-study .hg-eyebrow {
  font-family: "Inter", system-ui, sans-serif;
  font-size: 7pt;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #8a6b1f;
  font-weight: 700;
  margin-bottom: 0.20in;
}
.editorial-position .ep-section,
.drp-chart .drp-section,
.fc-chart .fc-section,
.pc-chart .pc-section,
.hg-study .hg-section {
  font-family: "Inter", system-ui, sans-serif;
  font-size: 8.5pt;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #8d2e3d;
  font-weight: 600;
  margin-bottom: 0.18in;
}
.editorial-position .ep-title,
.drp-chart .drp-title,
.fc-chart .fc-title,
.pc-chart .pc-title,
.hg-study .hg-title {
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 32pt;
  font-weight: 300;
  letter-spacing: 0.005em;
  margin: 0 0 0.10in;
  color: #1a1a1a;
}
.editorial-position .ep-subtitle,
.drp-chart .drp-subtitle,
.fc-chart .fc-subtitle,
.pc-chart .pc-subtitle,
.hg-study .hg-subtitle {
  font-family: "Crimson Pro", Georgia, serif;
  font-style: italic;
  font-size: 13pt;
  color: #5a5040;
  margin-bottom: 0.30in;
}
.editorial-position .ep-intro,
.drp-chart .drp-intro,
.fc-chart .fc-intro,
.pc-chart .pc-intro,
.hg-study .hg-intro {
  font-size: 11.5pt;
  line-height: 1.55;
  color: #2a2520;
  max-width: 5.5in;
  margin: 0 auto;
  text-align: left;
}

/* Shared section block */
.editorial-position .ep-block,
.drp-chart .drp-section-block,
.fc-chart .fc-block,
.pc-chart .pc-block,
.hg-study .hg-block {
  margin: 0.45in 0;
  page-break-inside: avoid;
}
.editorial-position .ep-h2,
.drp-chart .drp-h2,
.fc-chart .fc-h2,
.pc-chart .pc-h2,
.hg-study .hg-h2 {
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 18pt;
  font-weight: 500;
  color: #1a1a1a;
  margin: 0 0 0.18in;
  padding-bottom: 0.06in;
  border-bottom: 1px solid rgba(141, 46, 61, 0.30);
}
.editorial-position .ep-body,
.drp-chart .drp-body,
.fc-chart .fc-body,
.pc-chart .pc-body,
.hg-study .hg-body {
  font-size: 11pt;
  line-height: 1.55;
  color: #2a2520;
  margin: 0 0 0.18in;
}
.drp-chart .drp-lead,
.fc-chart .fc-lead,
.pc-chart .pc-lead {
  font-size: 10.5pt;
  font-style: italic;
  color: #5a5040;
  margin: 0 0 0.18in;
  max-width: 5.8in;
}
.editorial-position .ep-list,
.pc-chart .pc-list {
  font-size: 10.5pt;
  line-height: 1.55;
  padding-left: 0.30in;
  margin: 0 0 0.20in;
}
.editorial-position .ep-list li,
.pc-chart .pc-list li {
  margin-bottom: 0.06in;
}

/* === DANIEL / REVELATION PARALLEL === */
.drp-chart .drp-table {
  display: grid;
  border: 1px solid rgba(141, 46, 61, 0.30);
  border-radius: 0.04in;
  overflow: hidden;
  background: rgba(255, 248, 230, 0.40);
  margin: 0.15in 0 0.25in;
}
.drp-chart .drp-row {
  display: grid;
  grid-template-columns: 1.3in 1.6in 1.6in 1.6in 0.9in;
  border-bottom: 1px solid rgba(141, 46, 61, 0.18);
}
.drp-chart .drp-row:last-child { border-bottom: 0; }
.drp-chart .drp-row.drp-header {
  background: rgba(110, 46, 139, 0.10);
  font-family: "Inter", system-ui, sans-serif;
  font-size: 7.5pt;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  color: #5a4070;
}
.drp-chart .drp-cell {
  padding: 0.07in 0.10in;
  font-size: 9.5pt;
  line-height: 1.35;
  border-right: 1px solid rgba(141, 46, 61, 0.10);
}
.drp-chart .drp-cell:last-child { border-right: 0; }
.drp-chart .drp-cell.drp-empire {
  font-weight: 600;
  color: #6e2e8b;
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 10.5pt;
}
.drp-chart .drp-cell.drp-date {
  font-variant-numeric: tabular-nums;
  color: #8d2e3d;
  font-weight: 600;
  font-size: 9pt;
}
.drp-chart .drp-row.drp-emphasize {
  background: rgba(141, 46, 61, 0.08);
  font-weight: 500;
}
.drp-chart .drp-row.drp-emphasize .drp-empire {
  color: #8d2e3d;
}
.drp-chart .drp-row.drp-emphasize-row {
  background: rgba(141, 46, 61, 0.06);
  font-weight: 600;
}
/* Three-and-a-half-times table has only 4 columns */
.drp-chart .drp-section-block:nth-of-type(2) .drp-row {
  grid-template-columns: 1.2in 1.8in 1.8in 2.2in;
}
.drp-chart .drp-section-block:nth-of-type(4) .drp-row {
  grid-template-columns: 1.0in 1.5in 1.5in 1.5in 1.5in;
}

.drp-chart .drp-twin {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.20in;
  margin: 0.15in 0;
}
.drp-chart .drp-twin-col {
  background: rgba(255, 248, 230, 0.40);
  padding: 0.15in 0.18in;
  border: 1px solid rgba(141, 46, 61, 0.20);
  border-radius: 0.04in;
}
.drp-chart .drp-h3 {
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 13pt;
  font-weight: 500;
  color: #6e2e8b;
  margin: 0 0 0.12in;
}
.drp-chart .drp-tl-row {
  display: grid;
  grid-template-columns: 0.85in 1fr;
  gap: 0.10in;
  padding: 0.04in 0;
  border-bottom: 1px dotted rgba(141, 46, 61, 0.18);
  font-size: 9.5pt;
}
.drp-chart .drp-tl-row:last-child { border-bottom: 0; }
.drp-chart .drp-tl-date {
  font-family: "Inter", system-ui, sans-serif;
  font-weight: 700;
  font-size: 9pt;
  color: #8d2e3d;
  font-variant-numeric: tabular-nums;
}
.drp-chart .drp-tl-evt { color: #2a2520; }
.drp-chart .drp-emphasize-row {
  background: rgba(141, 46, 61, 0.08);
  border-radius: 0.02in;
  padding: 0.06in 0.04in;
  font-weight: 600;
}

/* === FEAST CALENDAR === */
.fc-chart .fc-feast {
  margin: 0.18in 0 0.25in;
  padding: 0.15in 0.20in 0.15in 0.40in;
  background: rgba(255, 248, 230, 0.50);
  border-left: 4px solid #8a6b1f;
  border-radius: 0 0.04in 0.04in 0;
  position: relative;
  page-break-inside: avoid;
}
.fc-chart .fc-feast-head {
  display: grid;
  grid-template-columns: 0.5in 1fr auto;
  gap: 0.15in;
  align-items: center;
  margin-bottom: 0.10in;
  padding-bottom: 0.08in;
  border-bottom: 1px solid rgba(138, 107, 31, 0.30);
}
.fc-chart .fc-num {
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 28pt;
  font-weight: 200;
  color: #8a6b1f;
  line-height: 1;
}
.fc-chart .fc-feast-meta { line-height: 1.3; }
.fc-chart .fc-name {
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 16pt;
  font-weight: 500;
  color: #1a1a1a;
  margin: 0;
}
.fc-chart .fc-heb {
  color: #8a6b1f;
  font-style: italic;
  font-weight: 400;
}
.fc-chart .fc-date {
  font-family: "Inter", system-ui, sans-serif;
  font-size: 9pt;
  color: #5a5040;
  letter-spacing: 0.04em;
}
.fc-chart .fc-status {
  font-family: "Inter", system-ui, sans-serif;
  font-size: 8pt;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  padding: 0.04in 0.10in;
  border-radius: 0.04in;
  white-space: nowrap;
}
.fc-chart .fc-status.fc-fulfilled {
  background: rgba(77, 139, 95, 0.18);
  color: #2a6a3a;
  border: 1px solid rgba(77, 139, 95, 0.40);
}
.fc-chart .fc-status.fc-partial {
  background: rgba(212, 168, 74, 0.18);
  color: #8a6b1f;
  border: 1px solid rgba(212, 168, 74, 0.40);
}
.fc-chart .fc-status.fc-future {
  background: rgba(110, 46, 139, 0.14);
  color: #5a3e75;
  border: 1px solid rgba(110, 46, 139, 0.35);
}
.fc-chart .fc-feast-body {
  font-size: 10.5pt;
  line-height: 1.5;
  margin: 0.06in 0;
}

/* === PROPHECY CHAINS === */
.pc-chart .pc-chain {
  margin: 0.15in 0 0.25in;
}
.pc-chart .pc-link {
  display: grid;
  grid-template-columns: 1.4in 1fr;
  gap: 0.12in;
  padding: 0.08in 0.10in 0.08in 0.18in;
  border-left: 2px solid rgba(138, 107, 31, 0.40);
  margin: 0 0 0.05in;
  font-size: 10pt;
  line-height: 1.45;
  position: relative;
}
.pc-chart .pc-link::before {
  content: "";
  position: absolute;
  left: -0.06in;
  top: 0.13in;
  width: 0.10in;
  height: 0.10in;
  border-radius: 50%;
  background: #8a6b1f;
  border: 2px solid #f4ecd8;
}
.pc-chart .pc-ref {
  font-family: "Inter", system-ui, sans-serif;
  font-size: 8.5pt;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #6e2e8b;
}
.pc-chart .pc-text { color: #2a2520; }
.pc-chart .pc-link.pc-emphasize {
  background: rgba(141, 46, 61, 0.06);
  border-left-color: #8d2e3d;
  font-weight: 500;
}
.pc-chart .pc-link.pc-emphasize::before {
  background: #8d2e3d;
}
.pc-chart .pc-spans .pc-link {
  grid-template-columns: 2.2in 1fr;
}

/* === HEBREW / GREEK WORD STUDIES === */
.hg-study .hg-word {
  margin: 0.15in 0 0.20in;
  padding: 0.14in 0.18in;
  background: rgba(255, 248, 230, 0.45);
  border: 1px solid rgba(138, 107, 31, 0.25);
  border-left: 4px solid #8a6b1f;
  border-radius: 0 0.04in 0.04in 0;
  page-break-inside: avoid;
}
.hg-study .hg-head {
  display: flex;
  align-items: baseline;
  gap: 0.18in;
  flex-wrap: wrap;
  margin-bottom: 0.08in;
  padding-bottom: 0.06in;
  border-bottom: 1px dotted rgba(138, 107, 31, 0.30);
}
.hg-study .hg-orig {
  font-family: "Times New Roman", "Lucida Sans Unicode", serif;
  font-size: 22pt;
  font-weight: 400;
  color: #8a6b1f;
  letter-spacing: 0.02em;
  direction: rtl;
}
.hg-study .hg-translit {
  font-family: "Crimson Pro", Georgia, serif;
  font-size: 14pt;
  font-style: italic;
  font-weight: 500;
  color: #1a1a1a;
}
.hg-study .hg-occ {
  margin-left: auto;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 8.5pt;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #5a5040;
  font-variant-numeric: tabular-nums;
}
.hg-study .hg-body {
  font-size: 10.5pt;
  line-height: 1.5;
  margin: 0.04in 0;
}
.hg-study .hg-ref {
  font-size: 9pt;
  color: #5a5040;
  margin-top: 0.08in;
  border-top: 1px dotted rgba(138, 107, 31, 0.18);
  padding-top: 0.05in;
}

/* Dark mode coverage */
html[data-mode="bw"] .editorial-position,
html[data-mode="bw"] .drp-chart,
html[data-mode="bw"] .fc-chart,
html[data-mode="bw"] .pc-chart,
html[data-mode="bw"] .hg-study {
  color: #e8e0c4;
}
html[data-mode="bw"] .editorial-position .ep-h2,
html[data-mode="bw"] .drp-chart .drp-h2,
html[data-mode="bw"] .fc-chart .fc-h2,
html[data-mode="bw"] .pc-chart .pc-h2,
html[data-mode="bw"] .hg-study .hg-h2 {
  color: #f4ecd8;
  border-bottom-color: rgba(229, 138, 150, 0.30);
}
html[data-mode="bw"] .editorial-position .ep-body,
html[data-mode="bw"] .drp-chart .drp-body,
html[data-mode="bw"] .fc-chart .fc-body,
html[data-mode="bw"] .pc-chart .pc-body,
html[data-mode="bw"] .hg-study .hg-body {
  color: #d8cfb0;
}
html[data-mode="bw"] .drp-chart .drp-table,
html[data-mode="bw"] .drp-chart .drp-twin-col,
html[data-mode="bw"] .fc-chart .fc-feast,
html[data-mode="bw"] .hg-study .hg-word {
  background: rgba(212, 168, 74, 0.06);
  border-color: rgba(212, 168, 74, 0.30);
}
html[data-mode="bw"] .pc-chart .pc-link {
  border-left-color: rgba(212, 168, 74, 0.40);
}
html[data-mode="bw"] .pc-chart .pc-ref {
  color: #c89ad0;
}
html[data-mode="bw"] .fc-chart .fc-num,
html[data-mode="bw"] .fc-chart .fc-heb,
html[data-mode="bw"] .fc-chart .fc-feast,
html[data-mode="bw"] .hg-study .hg-orig {
  color: #d4a84a;
}


