/* ============================================================================
   BearingA design tokens — typographic + layout system
   ----------------------------------------------------------------------------
   The single source of design-token truth across bearinga.com surfaces.
   Every page links this file. Every font-size and layout-token reference
   composes against this scale via var(). No inline literals; no per-page
   drift.

   Canonical: wiki/platform/bearinga-content-strategy.md § Layer 1
              (Typographic architecture)
              wiki/platform/bearinga-chrome-architecture.md § Layout tokens

   Composed 27 May 2026 (typography); extended 27 May 2026 (layout tokens
   absorbed for cross-page reconciliation per Phase 1 of the index↔record
   unification).

   Substrate-led credentialing register; BIS / IMF editorial-paper altitude.
   ============================================================================ */

:root {
  /* ---------- Typographic scale ---------------------------------------- */

  /* Display — hero ultra-display, used once or twice per surface */
  --fs-display: clamp(56px, 6vw, 88px);

  /* Heading hierarchy — four levels per content-strategy "three or four
     header levels at most" discipline */
  --fs-h1: clamp(36px, 4.8vw, 64px);
  --fs-h2: clamp(28px, 3vw, 42px);
  --fs-h3: clamp(22px, 2.2vw, 30px);
  --fs-h4: clamp(18px, 1.6vw, 22px);

  /* Body — primary reading register and secondary support */
  --fs-body: 18px;
  --fs-body-sm: 14px;

  /* Meta — mono labels, rail eyebrow, structural identifiers */
  --fs-meta: 11px;

  /* Micro — fine print, footer marginalia, ultra-small instrument labels */
  --fs-micro: 10px;

  /* ---------- Layout tokens -------------------------------------------- */
  /* Per Phase 1 unification — reconciled to record's operating values
     (index's 24px / 168px were ghost tokens from before the noRail switch).
     28px padding minimum gives 18px body proper edge whitespace at mobile.
     160px rail width matches what chrome.js actually builds. */

  --pad:  clamp(28px, 4vw, 64px);
  --rail: 160px;
}

