/*
 * R² Advisors — Governed tokens (r2-tokens.css)
 * GIR-03 (2026-10-19). Generated from the GIR-02 plugin stylesheet by build_css.py; rule order preserved.
 * Custom properties only: no selectors that style any element. Canonical family: --r2-*.
 */
:root {
  --r2-navy: #1c2e45;
  --r2-navy-deep: #192a3f;
  --r2-paper: #f6f1ea;
  --r2-chalk: #f7f6f4;
  --r2-mineral: #e6e4de;
  --r2-oxblood: #6e1f2a;
  --r2-taupe: #b6a58f;
  --r2-ink: #1c2e45;
  --r2-body: #34455a;
  --r2-muted: #58616c;
  --r2-label: #4a535e;
  --r2-on-dark: #f6f1ea;
  --r2-on-dark-secondary: rgba(246, 241, 234, 0.78);   /* OD-TYPE-01 (GIR-11): was 0.86 */
  --r2-on-dark-tertiary: rgba(246, 241, 234, 0.68);
  --r2-rule: rgba(28, 46, 69, 0.14);
  --r2-rule-strong: rgba(28, 46, 69, 0.30);
  --r2-rule-dark: rgba(246, 241, 234, 0.16);
  --r2-focus: #6e1f2a;
  --r2-error: #8c2735;
  --r2-success: #365c50;
  --r2-font-display: "ivypresto-display", Georgia, "Times New Roman", serif;
  --r2-font-editorial: "ivypresto-headline", Georgia, "Times New Roman", serif;
  --r2-font-body: "sofia-pro", Arial, Helvetica, sans-serif;
  --r2-font-functional: "sofia-pro-condensed", "Arial Narrow", Arial, sans-serif;
  --r2-weight-display: 100;
  --r2-weight-heading: 300;
  --r2-weight-body: 200;   /* OD-TYPE-01 (GIR-11): Sofia Pro Extra Light; was 300 */
  --r2-weight-functional: 200;   /* OD-TYPE-01 (GIR-11): Sofia Pro Condensed Extra Light; was 400 */
  --r2-weight-functional-strong: 400;   /* OD-TYPE-01 (GIR-11, new): primary actions on light surfaces; data labels in illustrative documents */
  --r2-weight-strong: 500;
  --r2-text-xs: 0.875rem;
  --r2-text-sm: 0.9375rem;
  --r2-text-base: clamp(1.0625rem, 1.1vw, 1.1875rem);
  --r2-text-lead: clamp(1.1875rem, 1.5vw, 1.375rem);
  --r2-h4: clamp(1.25rem, 1.7vw, 1.5rem);
  --r2-h3: clamp(1.5rem, 2.2vw, 2.125rem);
  --r2-h2: clamp(2.5rem, 4.25vw, 4rem);
  --r2-h1: clamp(3.5rem, 7vw, 7rem);
  --r2-space-1: 0.25rem;
  --r2-space-2: 0.5rem;
  --r2-space-3: 0.75rem;
  --r2-space-4: 1rem;
  --r2-space-5: 1.25rem;
  --r2-space-6: 1.5rem;
  --r2-space-8: 2rem;
  --r2-space-10: 2.5rem;
  --r2-space-12: 3rem;
  --r2-space-16: 4rem;
  --r2-space-20: 5rem;
  --r2-space-24: 6rem;
  --r2-section-y: clamp(4.5rem, 8vw, 7rem);
  --r2-frame: 75rem;
  --r2-reading: 42rem;
  --r2-narrow: 34rem;
  --r2-page-pad: clamp(1.5rem, 5vw, 5rem);
  --r2-header-height: 4.5rem;
  --r2-border: 1px solid var(--r2-rule);
  --r2-border-dark: 1px solid var(--r2-rule-dark);
  --r2-radius: 1px;
  --r2-shadow: 0 16px 48px rgba(25, 42, 63, 0.08);
  --r2-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --r2-duration-fast: 160ms;
  --r2-duration: 240ms;
  --r2-duration-slow: 500ms;
  --r2-z-header: 50;
  --r2-z-menu: 80;
  --r2-z-modal: 100;

  /* Header, menu and footer values that differ from the nearest foundation token.
     Kept at their current values so the chrome does not change; reconciliation is a D-011 decision. */
  --r2-chrome-rule-dark: rgba(246, 241, 234, .14);   /* was --hair-dark; foundation: --r2-rule-dark: rgba(246, 241, 234, 0.16) */
  --r2-chrome-font-body: "sofia-pro", sans-serif;   /* was --font-body; foundation: --r2-font-body: "sofia-pro", Arial, Helvetica, sans-serif */
  --r2-chrome-font-display: "ivypresto-display", serif;   /* was --font-display; foundation: --r2-font-display: "ivypresto-display", Georgia, "Times New Roman", serif */
  --r2-chrome-font-functional: "sofia-pro-condensed", sans-serif;   /* was --font-functional; foundation: --r2-font-functional: "sofia-pro-condensed", "Arial Narrow", Arial, sans-serif */
  --r2-chrome-frame: 1200px;   /* was --frame; foundation: --r2-frame: 75rem */
  --r2-chrome-pad: clamp(24px, 5vw, 80px);   /* was --pad (20px ≤820px, 18px ≤480px); foundation: --r2-page-pad: clamp(1.5rem, 5vw, 5rem), no breakpoints */
  --r2-chrome-header-height: 72px;   /* was --hdr (64px ≤480px); foundation: --r2-header-height: 4.5rem (4rem ≤48rem) */
}
@media (max-width: 48rem) { :root { --r2-header-height: 4rem; } }
@media (max-width: 820px) { :root { --r2-chrome-pad: 20px; } }
@media (max-width: 480px) { :root { --r2-chrome-pad: 18px; --r2-chrome-header-height: 64px; } }
