/* CRUX Publication Typography R02: inherit the EXISTING crux-text-scale-v1 setting.
   Scope only to the repository and document families. Do not scale SVG geometry. */
:root { --crux-publication-scale: var(--crux-text-scale, 1); }

/* All font metrics below are derived from the one sitewide reading setting. */
body.crux-article .crux-doc-breadcrumbs { font-size: calc(10px * var(--crux-publication-scale)); }
body.crux-article .crux-doc-kicker { font-size: calc(10px * var(--crux-publication-scale)); }
body.crux-article .crux-doc-hero h1 { font-size: calc(clamp(52px, 6.4vw, 102px) * var(--crux-publication-scale)); }
body.crux-article .crux-doc-lead { font-size: calc(clamp(16px, 1.6vw, 20px) * var(--crux-publication-scale)); }
body.crux-article .crux-doc-meta { font-size: calc(10px * var(--crux-publication-scale)); }
body.crux-article figcaption { font-size: calc(10px * var(--crux-publication-scale)); }
body.crux-article .crux-doc-toc .toc-title { font-size: calc(11px * var(--crux-publication-scale)); }
body.crux-article .crux-doc-toc a,
body.crux-article .crux-doc-toc-mobile a { font-size: calc(11px * var(--crux-publication-scale)); }
body.crux-article .crux-doc-prose { font-size: calc(15px * var(--crux-publication-scale)); }
body.crux-article .crux-doc-section h2 { font-size: calc(clamp(23px, 2.5vw, 31px) * var(--crux-publication-scale)); }
body.crux-article .crux-doc-section h3 { font-size: calc(17px * var(--crux-publication-scale)); }
body.crux-article .crux-doc-section .chapter-heading { font-size: calc(10px * var(--crux-publication-scale)); }
body.crux-article .crux-doc-section pre { font-size: calc(12px * var(--crux-publication-scale)); }
body.crux-article .crux-doc-section th { font-size: calc(11px * var(--crux-publication-scale)); }
body.crux-article .crux-document-note { font-size: calc(11px * var(--crux-publication-scale)); }
body.crux-article .crux-doc-toc-mobile summary { font-size: calc(11px * var(--crux-publication-scale)); }
body.crux-article .crux-tech-thumb-label { font-size: calc(9px * var(--crux-publication-scale)); }
body.crux-article .crux-tech-thumb-label strong { font-size: calc(10px * var(--crux-publication-scale)); }
body.crux-article .crux-doc-section--references h2 {
 font-size: calc(clamp(23px, 2.5vw, 31px) * var(--crux-publication-scale)) !important;
}
body.crux-article .crux-tech-dialog-eyebrow { font-size: calc(10px * var(--crux-publication-scale)); }
body.crux-article .crux-tech-dialog-header h2 { font-size: calc(19px * var(--crux-publication-scale)); }
body.crux-article .crux-tech-dialog-header p { font-size: calc(10px * var(--crux-publication-scale)); }
body.crux-article .crux-tech-dialog-close { font-size: calc(11px * var(--crux-publication-scale)); }
/* Keep figure/image proportions invariant when changing body reading size. */
body.crux-article .crux-tech-thumb img, body.crux-article .crux-doc-hero-figure img,
body.crux-article svg { zoom: 1; }
/* A wide multi-column ledger scrolls within its document pane at increased type sizes. */
body.crux-article .crux-table-scroll { width:100%; max-width:100%; min-width:0; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; }
body.crux-article .crux-table-scroll table { min-width:560px; margin:20px 0; }
body.crux-article .crux-table-scroll:focus-visible{outline:2px solid var(--crux-orange);outline-offset:2px;}
@media(max-width:750px) {
 body.crux-article .crux-doc-hero h1 { font-size: calc(clamp(46px, 10vw, 74px) * var(--crux-publication-scale)); }
 body.crux-article .crux-doc-prose { font-size: calc(14px * var(--crux-publication-scale)); }
}
