/* Shared reading system for all website pages and print editions. */
@media screen {
  :root {
    --font-reading: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    --font-heading: Georgia, "Times New Roman", serif;
    --type-body: clamp(1.0625rem, 1rem + .2vw, 1.125rem);
    --type-title: clamp(2.25rem, 1.5rem + 3vw, 4.25rem);
    --type-section: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
    --type-card: clamp(1.375rem, 1.15rem + .8vw, 1.75rem);
  }
  body {
    font-family: var(--font-reading);
    font-size: var(--type-body);
    line-height: 1.75;
    font-kerning: normal;
  }
  main h1, main h2, main h3 {
    font-family: var(--font-heading);
    font-weight: 400;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }
  main h1, main .page-hero h1, main .reading-article h1 {
    font-size: var(--type-title);
    line-height: 1.14;
    letter-spacing: -.025em;
  }
  main h2, main .section h2, main .paper-body h2,
  main .reading-article h2, main .feature-band h2 {
    font-size: var(--type-section);
    line-height: 1.25;
    letter-spacing: -.015em;
  }
  main h3, main .library-item h2, main .site-card h3,
  main .concept h3, main .fit-grid h3, main .faq-answer h3 {
    font-size: var(--type-card);
    line-height: 1.35;
    letter-spacing: -.01em;
  }
  main p, main li { overflow-wrap: anywhere; }
  main .intro, main .role, main .paper-body .lead {
    font-size: clamp(1.125rem, 1.05rem + .4vw, 1.3125rem);
    line-height: 1.65;
    max-width: 62ch;
  }
  main .subtitle {
    font-family: var(--font-heading);
    font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5625rem);
    line-height: 1.5;
  }
  main .paper-body { max-width: 66ch; }
  main .reading-article { max-width: 850px; }
  main .reading-article > p, main .reading-article > ul,
  main .reading-article > ol, main .body-copy p,
  main .copy p, main .faq-answer p { max-width: 66ch; }
  main .paper-body p, main .paper-body li,
  main .reading-article p, main .reading-article li { line-height: 1.8; }
  main .paper-body h2, main .reading-article h2 { margin-top: 1.6em; }
  main .eyebrow {
    font-size: .8125rem;
    line-height: 1.6;
    letter-spacing: .12em;
  }
  main .small, main .caption, main .paper-meta,
  main .sources, main .breadcrumbs, main .library-count {
    font-size: .9375rem;
    line-height: 1.65;
  }
  main .library-tools label, main .reading-tools a,
  main .reading-tools button { font-size: .9375rem; }
  main .button, main input, main select, main textarea {
    font-family: var(--font-reading);
    font-size: 1rem;
  }
  main .button { line-height: 1.5; text-align: center; }
  main .hero > *, main .split > *, main .columns > *,
  main .library-list > *, main .system-stage > * { min-width: 0; }
  .site-links a { font-size: .9375rem !important; line-height: 1.6 !important; }
  .site-brand small { font-size: .75rem; line-height: 1.6; letter-spacing: .1em; }
  .site-footer, .site-disclaimer { font-family: var(--font-reading); font-size: .9375rem; }
  .site-footer .footer-sales { font-size: .875rem; }
  @media (max-width: 700px) {
    .site-bar { gap: 12px; flex-wrap: wrap; }
    .site-buy { white-space: normal; }
    main .hero .copy p { margin-left: auto; margin-right: auto; }
    main .thesis, main .words, main .statement p {
      font-size: clamp(1.375rem, 1.15rem + 1vw, 1.75rem);
      line-height: 1.5;
    }
    main .button { max-width: 100%; white-space: normal; }
  }
}

@media screen {
 main .signal-card h3, main .system-layers summary, .footer-connect h2 {
   font-family: var(--font-heading); font-weight: 400; line-height: 1.35;
 }
 main .signal-card h3 { font-size: var(--type-card); }
 main .reading-tools button, main .reading-tools a, .site-buy { font-family: var(--font-reading); }
 main .sources li, main .sources p { font-size: .9375rem; line-height: 1.7; }
 main .reading-article .subtitle { max-width: 62ch; }
}
@media print {
 @page { margin: 18mm; }
 body, main, main p, main li { font-family: Arial, sans-serif; font-size: 11pt; line-height: 1.55; color: #182431; }
 main h1, main h2, main h3 { font-family: Georgia, serif; color: #142231; font-weight: 400; break-after: avoid; }
 main h1 { font-size: 25pt; line-height: 1.24; }
 main h2 { font-size: 17pt; line-height: 1.3; margin-top: 18pt; }
 main h3 { font-size: 13pt; line-height: 1.4; }
 main p, main li { orphans: 3; widows: 3; }
 main .paper-meta, main .byline, main .sources { font-size: 9pt; line-height: 1.55; }
 main .reading-article, main .paper-body { width: auto; max-width: none; }
}
