/* Use the nowcasting workshop's unmodified Latin Modern fonts for the reading body. */
@font-face { font-family: "Latin Modern Roman"; src: url("fonts/lmroman10-regular.otf") format("opentype"); font-weight: 400; font-style: normal; font-display: swap; }
/* Load the real italic face instead of synthesizing slanted glyphs. */
@font-face { font-family: "Latin Modern Roman"; src: url("fonts/lmroman10-italic.otf") format("opentype"); font-weight: 400; font-style: italic; font-display: swap; }
/* Load the matching bold face for emphasis within the serif reading body. */
@font-face { font-family: "Latin Modern Roman"; src: url("fonts/lmroman10-bold.otf") format("opentype"); font-weight: 700; font-style: normal; font-display: swap; }
/* Use a restrained line length and generous leading for technical notes. */
main.content { max-width: 46rem; font-family: "Latin Modern Roman", Georgia, serif; font-size: 1.12rem; line-height: 1.65; }
/* Keep navigation, headings, metadata, and captions in the interface font. */
h1, h2, h3, .quarto-title-meta, figcaption, .table-caption, .sidebar { font-family: "Archivo", system-ui, sans-serif; }
/* Technical tables need a slightly smaller scale than continuous prose. */
main.content table { font-size: 0.94rem; line-height: 1.4; }
/* Keep code readable while wrapping long assertions on small screens. */
pre, code { font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace; font-size: 0.8em; }
/* Figures should fit the text measure without losing their intrinsic aspect ratio. */
main.content img { max-width: 100%; height: auto; }
/* Distinguish source notes from the main empirical interpretation. */
.figure-note { font-size: 0.9rem; line-height: 1.45; color: #41464f; }
