/* HempRoster design tokens. Generated from https://brand.hemproster.com/tokens.json */
@font-face { font-family: "Big Shoulders Display"; src: url("/fonts/big-shoulders-display-latin-800-normal.woff2") format("woff2"); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Big Shoulders Display"; src: url("/fonts/big-shoulders-display-latin-900-normal.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Archivo"; src: url("/fonts/archivo-latin-wght-normal.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Archivo"; src: url("/fonts/archivo-latin-wght-italic.woff2") format("woff2"); font-weight: 100 900; font-style: italic; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("/fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("/fonts/ibm-plex-mono-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
:root {
  --color-turf: #0f2a1a;
  --color-turf-deep: #0b2014;
  --color-field: #2e5e0e;
  --color-field-ink: #1f4a0a;
  --color-chalk: #f6f4ee;
  --color-ink: #16181a;
  --color-scoreboard: #f2c230;
  --color-scoreboard-deep: #a57f0c;
  --color-manila: #efe5cc;
  --color-bench: #4a4f4a;
  --color-chalkline: #d9d4c7;
  --color-leaf: #7dbb4f;
  --color-sky: #c7daf5;
  --color-mist: #c9d1c7;
  --color-paper: #ffffff;
  --color-paper-unclaimed: #fbfaf6;
  --color-stat-label: #5a5546;
  --color-chip-line: #cfc8b6;
  --color-unclaimed: #8a3a1f;
  --color-aware-blue: #226ce0;
  --color-footer-text: #b7c2b4;
  --position-grower: #3e7b27;
  --position-processor: #e39b2d;
  --position-manufacturer: #b8432a;
  --position-brand: #2b4fa3;
  --position-retailer: #6fc2b4;
  --position-lab: #7a5ba8;
  --position-distributor: #b03a6e;
  --position-service: #5b6770;
  --shadow-card: 3px 4px 0 rgba(22, 24, 26, 0.14);
  --shadow-lineup: 0 0 0 4px #f2c230, 0 0 0 5.5px #16181a, 4px 7px 0 5px rgba(22, 24, 26, 0.2);
  --shadow-button: 0 3px 0 #a57f0c;
  --space-gutter: 24px;
  --space-gutter-sm: 16px;
  --space-card-top: 16px;
  --space-card-x: 18px;
  --space-card-bottom: 24px;
  --space-card-gap: 10px;
  --space-btn-y: 12px;
  --space-btn-x: 20px;
  --space-tab-x: 14px;
  --space-field-y: 10px;
  --space-field-x: 12px;
  --size-wrap: 1280px;
  --size-card-w: 380px;
  --size-card-h: 262px;
  --size-tab-h: 30px;
  --size-flip: 34px;
  --size-logo-ring: 54px;
  --radius-stamp: 3px;
  --radius-chip: 4px;
  --radius-button: 6px;
  --radius-tab: 8px;
  --radius-card: 10px;
  --radius-table: 12px;
  --radius-panel: 14px;
  --radius-pill: 999px;
  --radius-round: 50%;
  --stroke-hair: 1px;
  --stroke-outline: 1.5px;
  --stroke-heavy: 2px;
  --stroke-ring: 2.5px;
  --stroke-rule: 3px;
  --font-display: "Big Shoulders Display", Impact, "Arial Narrow", sans-serif;
  --font-sans: Archivo, system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
}
.type-display-hero { font-family: var(--font-display); font-size: 128px; line-height: 0.92; font-weight: 900; }
.type-display-1 { font-family: var(--font-display); font-size: 84px; line-height: 0.92; font-weight: 900; }
.type-display-2 { font-family: var(--font-display); font-size: 64px; line-height: 0.92; font-weight: 900; }
.type-display-3 { font-family: var(--font-display); font-size: 44px; line-height: 0.92; font-weight: 900; }
.type-display-4 { font-family: var(--font-display); font-size: 34px; line-height: 0.92; font-weight: 900; }
.type-jersey { font-family: var(--font-display); font-size: 38px; line-height: 0.85; font-weight: 900; }
.type-wordmark { font-family: var(--font-display); font-size: 28px; line-height: 1; font-weight: 900; letter-spacing: 0.02em; }
.type-card-name { font-family: var(--font-display); font-size: 24px; line-height: 0.95; font-weight: 800; }
.type-button { font-family: var(--font-display); font-size: 19px; line-height: 1; font-weight: 800; letter-spacing: 0.06em; }
.type-tab { font-family: var(--font-display); font-size: 15px; line-height: 1; font-weight: 800; letter-spacing: 0.1em; }
.type-lead { font-family: var(--font-sans); font-size: 18px; line-height: 1.5; font-weight: 400; }
.type-body { font-family: var(--font-sans); font-size: 16px; line-height: 1.5; font-weight: 400; }
.type-body-sm { font-family: var(--font-sans); font-size: 15px; line-height: 1.5; font-weight: 400; }
.type-tagline { font-family: var(--font-sans); font-size: 14px; line-height: 1.4; font-weight: 400; }
.type-meta { font-family: var(--font-sans); font-size: 13px; line-height: 1.4; font-weight: 400; }
.type-label { font-family: var(--font-sans); font-size: 14px; line-height: 1.3; font-weight: 700; }
.type-eyebrow { font-family: var(--font-mono); font-size: 13px; line-height: 1.3; font-weight: 400; letter-spacing: 0.16em; }
.type-table-head { font-family: var(--font-mono); font-size: 12px; line-height: 1.3; font-weight: 400; letter-spacing: 0.1em; }
.type-chip { font-family: var(--font-mono); font-size: 10.5px; line-height: 1.2; font-weight: 400; letter-spacing: 0.06em; }
.type-stat-label { font-family: var(--font-mono); font-size: 10px; line-height: 1.3; font-weight: 400; letter-spacing: 0.08em; }
.type-jersey-label { font-family: var(--font-mono); font-size: 9.5px; line-height: 1.2; font-weight: 400; letter-spacing: 0.14em; }
