/* fpripas — generated from tokens.json */
@font-face { font-family: "Barlow Condensed"; src: url("fonts/barlow-condensed-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Barlow Condensed"; src: url("fonts/barlow-condensed-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Barlow"; src: url("fonts/barlow-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Barlow"; src: url("fonts/barlow-latin-400-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Barlow"; src: url("fonts/barlow-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Barlow"; src: url("fonts/barlow-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Barlow"; src: url("fonts/barlow-latin-800-normal.woff2") format("woff2"); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Barlow"; src: url("fonts/barlow-latin-900-normal.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; }
:root, [data-theme="light"] {
  --surface: #f4f0e8;
  --surface-raised: rgba(255, 255, 255, 0.92);
  --panel: rgba(255, 252, 245, 0.62);
  --card-edge: #ffffff;
  --ink: #102f36;
  --ink-muted: rgba(16, 47, 54, 0.72);
  --line: rgba(16, 47, 54, 0.28);
  --on-ink: #ffffff;
  --accent: #ef7d1a;
  --accent-text: #a8530a;
  --focus-ring: #102f36;
  --stage-green: #3c946a;
  --stage-teal: #2bb86b;
  --stage-amber: #f4b547;
  --stage-orange: #de6f3f;
  --stage-blue: #2f86b9;
  --stage-navy: #2e4052;
  --stage-red: #c7352b;
  --stage-graphite: #333333;
  --stage-ink: #000000;
  --stage-paper: #ffffff;
  --canvas-cream: #f4f0e8;
  --canvas-ink: #102f36;
  --canvas-muted: rgba(16, 47, 54, 0.72);
  --status-ok: #2c7352;
  --status-ok-bg: #ecf4f0;
  --status-warn: #8a5a00;
  --status-warn-bg: #fdefd7;
  --status-error: #b02e25;
  --status-error-bg: #fbefee;
  --shadow-soft: 0 24px 80px rgba(16, 47, 54, 0.12);
}
[data-theme="dark"] {
  --surface: #0b2127;
  --surface-raised: #102f36;
  --panel: rgba(16, 47, 54, 0.72);
  --card-edge: #2f5a63;
  --ink: #f4f0e8;
  --ink-muted: rgba(244, 240, 232, 0.72);
  --line: rgba(244, 240, 232, 0.2);
  --on-ink: #102f36;
  --accent-text: #ef7d1a;
  --focus-ring: #f4f0e8;
  --status-ok: #4cc98a;
  --status-ok-bg: #1a4541;
  --status-warn: #f4b547;
  --status-warn-bg: #344439;
  --status-error: #f08a7e;
  --status-error-bg: #383034;
  --shadow-soft: 0 24px 80px rgba(0, 0, 0, 0.45);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --surface: #0b2127;
    --surface-raised: #102f36;
    --panel: rgba(16, 47, 54, 0.72);
    --card-edge: #2f5a63;
    --ink: #f4f0e8;
    --ink-muted: rgba(244, 240, 232, 0.72);
    --line: rgba(244, 240, 232, 0.2);
    --on-ink: #102f36;
    --accent-text: #ef7d1a;
    --focus-ring: #f4f0e8;
    --status-ok: #4cc98a;
    --status-ok-bg: #1a4541;
    --status-warn: #f4b547;
    --status-warn-bg: #344439;
    --status-error: #f08a7e;
    --status-error-bg: #383034;
    --shadow-soft: 0 24px 80px rgba(0, 0, 0, 0.45);
  }
}
:root {
  --space-xxs: 4px;
  --space-xs: 8px;
  --space-sm: 10px;
  --space-md: 14px;
  --space-lg: 22px;
  --space-xl: 30px;
  --space-shell: 32px;
  --space-2xl: 34px;
  --space-3xl: 64px;
  --space-4xl: 74px;
  --space-social: 96px;
  --radius-none: 0px;
  --radius-app: 16px;
  --radius-mark: 18.75%;
  --radius-full: 999px;
  --stroke-outline: 1px;
  --stroke-identity: 1.5px;
  --stroke-frame: 2px;
  --stroke-rule: 4px;
  --font-display: "Barlow Condensed", interstate-compressed, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-text: "Barlow", interstate, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.display-xl { font-family: var(--font-display); font-size: 80px; line-height: 0.9; font-weight: 700; letter-spacing: -0.045em; }
.display-lg { font-family: var(--font-display); font-size: 64px; line-height: 0.9; font-weight: 700; letter-spacing: -0.045em; }
.display-count { font-family: var(--font-display); font-size: 46px; line-height: 0.9; font-weight: 700; letter-spacing: -0.045em; }
.display-md { font-family: var(--font-display); font-size: 42px; line-height: 0.94; font-weight: 700; letter-spacing: -0.035em; }
.identity-name { font-family: var(--font-display); font-size: 30px; line-height: 0.92; font-weight: 700; letter-spacing: 0.02em; }
.metric { font-family: var(--font-display); font-size: 26px; line-height: 0.95; font-weight: 700; letter-spacing: -0.02em; }
.summary-eyebrow { font-family: var(--font-display); font-size: 25px; line-height: 1; font-weight: 700; letter-spacing: 0.015em; }
.summary-title { font-family: var(--font-display); font-size: 25px; line-height: 1; font-weight: 400; letter-spacing: 0.01em; }
.ribbon { font-family: var(--font-display); font-size: 10px; line-height: 1.7; font-weight: 700; letter-spacing: 0.04em; }
.body { font-family: var(--font-text); font-size: 16px; line-height: 1.45; font-weight: 500; }
.subtitle { font-family: var(--font-text); font-size: 16px; line-height: 1.35; font-weight: 800; }
.long-form { font-family: var(--font-text); font-size: 18px; line-height: 1.6; font-weight: 400; }
.url { font-family: var(--font-text); font-size: 15px; line-height: 1.3; font-weight: 900; }
.cta { font-family: var(--font-text); font-size: 14px; line-height: 1; font-weight: 900; letter-spacing: 0.1em; }
.label { font-family: var(--font-text); font-size: 13px; line-height: 1; font-weight: 900; letter-spacing: 0.11em; }
.eyebrow { font-family: var(--font-text); font-size: 12px; line-height: 1.2; font-weight: 900; letter-spacing: 0.14em; }
.social-headline { font-family: var(--font-display); font-size: 132px; line-height: 0.9; font-weight: 700; letter-spacing: -0.045em; }
.social-quote { font-family: var(--font-text); font-size: 64px; line-height: 1.12; font-weight: 700; letter-spacing: -0.01em; }
.social-title { font-family: var(--font-display); font-size: 88px; line-height: 0.92; font-weight: 700; letter-spacing: -0.035em; }
.social-body { font-family: var(--font-text); font-size: 44px; line-height: 1.3; font-weight: 500; }
.social-byline { font-family: var(--font-display); font-size: 36px; line-height: 1; font-weight: 700; letter-spacing: 0.02em; }
.social-count { font-family: var(--font-text); font-size: 24px; line-height: 1; font-weight: 900; letter-spacing: 0.14em; }
