    /* === IMAGE COVER === */
    .cover.image-cover {
      position: relative;
      padding: 0;
      background: #1a1008;
    }

    .cover.image-cover .cover-img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 30%;
    }

    .cover.image-cover .cover-overlay {
      position: relative;
      z-index: 2;
      min-height: calc(100vh - 67px);
      min-height: calc(100dvh - 67px);
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      padding: 38px 28px calc(128px + var(--safe-bottom));
      background: linear-gradient(
        180deg,
        rgba(10, 6, 2, .25) 0%,
        rgba(10, 6, 2, .55) 40%,
        rgba(10, 6, 2, .80) 70%,
        rgba(10, 6, 2, .92) 100%
      );
      color: #fff0d4;
    }

    .cover.image-cover .cover-kicker {
      color: #efb359;
      letter-spacing: .22em;
      text-transform: uppercase;
      font-size: 12px;
      font-weight: 900;
      margin-bottom: 22px;
    }

    .cover.image-cover h1 {
      font-family: Georgia, "Times New Roman", serif;
      font-size: clamp(42px, 11vw, 68px);
      line-height: .94;
      letter-spacing: -.065em;
      margin: 0;
      color: #fff5e0;
      text-shadow: 0 2px 20px rgba(0,0,0,.5);
    }

    .cover.image-cover .cover-line {
      width: 128px;
      height: 1px;
      background: linear-gradient(90deg, transparent, #efb359, transparent);
      margin: 30px auto;
    }

    .cover.image-cover p {
      max-width: 330px;
      line-height: 1.7;
      color: rgba(255,240,212,.78);
      font-size: 15px;
      font-family: ui-sans-serif, system-ui, sans-serif;
      margin: 0 auto;
    }

    .cover.image-cover .author {
      margin-top: 52px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #efb359;
      font-size: 12px;
      font-weight: 900;
    }

    /* === PROFESSIONAL NOVEL TYPOGRAPHY === */

    /* Body text: justified, elegant serif */
    .page p {
      font-family: Georgia, "Times New Roman", serif;
      font-size: var(--font-size, 17px);
      line-height: 1.85;
      color: var(--ink);
      margin: 0 0 0.6em;
      text-align: justify;
      text-indent: 1.6em;
      hyphens: auto;
      -webkit-hyphens: auto;
    }

    /* First paragraph after heading: no indent (or dropcap) */
    .page p.dropcap {
      text-indent: 0;
    }

    .page .dropcap::first-letter {
      float: left;
      font-size: calc(var(--font-size, 17px) * 3.6);
      line-height: .82;
      padding: 8px 8px 0 0;
      color: var(--accent);
      font-weight: bold;
      font-family: Georgia, "Times New Roman", serif;
    }

    /* Scene break: centered ornament */
    .scene-break {
      text-align: center;
      margin: 1.8em 0;
      color: var(--accent);
      font-size: 14px;
      letter-spacing: .6em;
      opacity: .55;
    }

    /* Quote: elegant italic, indented */
    .quote {
      margin: 1.4em 1.2em;
      padding: 0;
      font-family: Georgia, "Times New Roman", serif;
      font-size: calc(var(--font-size, 17px) * .95);
      line-height: 1.75;
      color: var(--ink);
      font-style: italic;
      text-align: left;
      border-left: 2px solid color-mix(in srgb, var(--accent) 40%, transparent);
      padding-left: 16px;
    }

    .quote em { font-style: normal; }

    /* Letter / journal / message block */
    .letter {
      margin: 1.4em 0.8em;
      padding: 16px 20px;
      font-family: Georgia, "Times New Roman", serif;
      font-size: calc(var(--font-size, 17px) * .93);
      line-height: 1.78;
      color: var(--ink);
      text-align: left;
      background: color-mix(in srgb, var(--accent) 5%, transparent);
      border-radius: 4px;
      border-left: 2px solid color-mix(in srgb, var(--accent) 30%, transparent);
    }

    .letter strong { font-weight: 700; }
    .letter em { font-style: italic; }

    /* Section heading (h2) */
    .section-head {
      font-family: Georgia, "Times New Roman", serif;
      font-size: calc(var(--font-size, 17px) * 1.15);
      font-weight: 700;
      color: var(--accent);
      margin: 1.6em 0 .8em;
      text-align: center;
    }

    /* Chapter opening page */
    .chapter-open {
      min-height: 65vh;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      padding: 2em 0;
    }

    .chapter-num {
      font-family: ui-sans-serif, system-ui, sans-serif;
      font-size: 11px;
      letter-spacing: .28em;
      text-transform: uppercase;
      font-weight: 800;
      color: var(--accent);
      margin-bottom: 1.4em;
      opacity: .7;
    }

    .chapter-title {
      font-family: Georgia, "Times New Roman", serif;
      font-size: clamp(26px, 7vw, 38px);
      line-height: 1.15;
      letter-spacing: -.03em;
      color: var(--ink);
      margin: 0 0 .6em;
      max-width: 380px;
      font-weight: 700;
    }

    .chapter-rule {
      width: 48px;
      height: 1px;
      background: var(--accent);
      margin: 0 auto 1.8em;
      opacity: .45;
    }

    .chapter-epigraph {
      max-width: 320px;
      font-family: Georgia, "Times New Roman", serif;
      font-size: calc(var(--font-size, 17px) * .88);
      line-height: 1.7;
      color: var(--muted);
      font-style: italic;
      text-align: center;
    }

    /* Page number */
    .page-number {
      text-align: center;
      font-family: ui-sans-serif, system-ui, sans-serif;
      font-size: 10px;
      color: var(--muted);
      margin-top: 3em;
      letter-spacing: .12em;
      opacity: .4;
    }

    /* Remove old styles that conflict */
    .page h2 {
      margin: 0;
      font-family: inherit;
      font-size: inherit;
      line-height: inherit;
      letter-spacing: inherit;
      color: inherit;
    }

    .chapter-label { display: none; }
