/* CHAPTER — tipografía larga de lectura dentro de .chapter-main */

.chapter-main .container--content { max-width: 100%; padding: 0; }

.chapter-main p, .chapter-main li { color: var(--color-ink-soft); }
.chapter-main > article > p:first-of-type::first-letter {
  font-family: var(--font-display);
}

.chapter-main h2 {
  scroll-margin-top: calc(var(--header-h) + var(--space-4));
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-line);
  margin-bottom: var(--space-5);
}
.chapter-main h3 { scroll-margin-top: calc(var(--header-h) + var(--space-4)); }

.chapter-main .subtitle-tag {
  display: inline-block; font-size: var(--fs-xs); font-weight: 700; text-transform: uppercase;
  letter-spacing: .06em; color: var(--color-ink-faint); margin-bottom: var(--space-2);
}

.key-value-list { display: grid; grid-template-columns: max-content 1fr; gap: var(--space-2) var(--space-4); font-size: var(--fs-sm); margin: var(--space-5) 0; }
.key-value-list dt { font-weight: 700; color: var(--color-ink); }
.key-value-list dd { margin: 0; color: var(--color-ink-soft); }

.figure { margin: var(--space-6) 0; text-align: center; }
.figure figcaption { font-size: var(--fs-xs); color: var(--color-ink-faint); margin-top: var(--space-3); }

blockquote {
  margin: var(--space-6) 0; padding: var(--space-4) var(--space-5);
  border-left: 3px solid var(--color-ink); font-family: var(--font-display); font-style: italic;
  font-size: var(--fs-md); color: var(--color-ink-soft);
}

.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); }
@media (max-width: 720px) { .two-col { grid-template-columns: 1fr; } }

.progress-bar-track { height: 3px; background: var(--color-line); position: sticky; top: var(--header-h); z-index: 40; }
.progress-bar-fill { height: 100%; width: 0%; background: var(--accent-primary); transition: width .1s linear; }

/* ---- Resaltado de dosis inline ---- */
.hl { background: var(--color-dose-soft); padding: 0 4px; border-radius: 4px; font-family: var(--font-mono); font-size: .92em; font-weight: 600; color: var(--color-dose-ink); }
