/* QMI Design System — generated from tokens.json */
@font-face { font-family: "Manrope"; src: url("fonts/Manrope-Variable.woff2") format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Merriweather"; src: url("fonts/Merriweather-Italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Merriweather"; src: url("fonts/Merriweather-BoldItalic.woff2") format("woff2"); font-weight: 700; font-style: italic; font-display: swap; }
:root, [data-theme="light"] {
  --bg: #f9f9f9;
  --surface: #ffffff;
  --surface-sunken: #edf1f1;
  --surface-inverse: #003c3c;
  --brand-field: #003c3c;
  --line: #dfe4e4;
  --line-strong: #7b8685;
  --ink: #003c3c;
  --ink-muted: #5b6665;
  --ink-inverse: #f9f9f9;
  --accent: #2ae797;
  --on-accent: #003c3c;
  --accent-text: #227950;
  --primary: #003c3c;
  --primary-hover: #0c4f4f;
  --on-primary: #ffffff;
  --focus: #227950;
  --success: #146d34;
  --success-bg: #e3f6e6;
  --warning: #814d00;
  --warning-bg: #feeddb;
  --danger: #923b34;
  --danger-bg: #ffe9e5;
  --info: #006394;
  --info-bg: #def4ff;
  --chart-1: #003c3c;
  --chart-2: #2ae797;
  --chart-3: #549f9f;
  --chart-4: #cad1d1;
  --chart-grid: #dfe4e4;
  --emerald-50: #edf8f8;
  --emerald-100: #daf1f0;
  --emerald-200: #b3dedd;
  --emerald-300: #82c2c1;
  --emerald-400: #549f9f;
  --emerald-500: #327f7f;
  --emerald-600: #1b6665;
  --emerald-700: #0c4f4f;
  --emerald-800: #003c3c;
  --emerald-900: #002c2c;
  --emerald-950: #001c1c;
  --neon-50: #e7fdef;
  --neon-100: #c9fbdd;
  --neon-200: #97f8c2;
  --neon-300: #63f2ab;
  --neon-400: #2ae797;
  --neon-500: #36c081;
  --neon-600: #269c67;
  --neon-700: #227950;
  --neon-800: #1b5e3e;
  --neon-900: #15432c;
  --neutral-0: #ffffff;
  --neutral-50: #f9f9f9;
  --neutral-100: #edf1f1;
  --neutral-200: #dfe4e4;
  --neutral-300: #cad1d1;
  --neutral-400: #a4adad;
  --neutral-500: #7b8685;
  --neutral-600: #5b6665;
  --neutral-700: #404a4a;
  --neutral-800: #273030;
  --neutral-900: #111817;
  --neutral-1000: #000000;
}
[data-theme="dark"] {
  --bg: #003c3c;
  --surface: #0c4f4f;
  --surface-sunken: #002c2c;
  --surface-inverse: #f9f9f9;
  --brand-field: #002c2c;
  --line: #1b6665;
  --line-strong: #82c2c1;
  --ink: #f9f9f9;
  --ink-muted: #b3dedd;
  --ink-inverse: #003c3c;
  --accent-text: #2ae797;
  --primary: #2ae797;
  --primary-hover: #63f2ab;
  --on-primary: #003c3c;
  --focus: #2ae797;
  --success: #96e7a7;
  --success-bg: #1c3e24;
  --warning: #ffc376;
  --warning-bg: #492f0e;
  --danger: #ffb2a6;
  --danger-bg: #502824;
  --info: #7cdeff;
  --info-bg: #0f3a50;
  --chart-1: #f9f9f9;
  --chart-4: #82c2c1;
  --chart-grid: #1b6665;
}
:root {
  --space-0: 0px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --space-10: 128px;
  --radius-none: 0px;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --border-hairline: 1px;
  --border-strong: 2px;
  --grid-columns-mobile: 4;
  --grid-columns-tablet: 8;
  --grid-columns-desktop: 12;
  --grid-gutter-mobile: 16px;
  --grid-gutter: 24px;
  --grid-margin-mobile: 20px;
  --grid-margin-tablet: 40px;
  --grid-margin-desktop: 80px;
  --container-max: 1280px;
  --measure: 68ch;
  --slide-margin: 96px;
  --slide-gutter: 32px;
  --bp-sm: 480px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1280px;
  --bp-2xl: 1536px;
  --control-sm: 36px;
  --control-md: 44px;
  --control-lg: 52px;
  --logo-min-lockup: 60px;
  --logo-min-signet: 24px;
  --pattern-unit: 80px;
  --pattern-cover: 0.14;
  --pattern-texture: 0.08;
  --font-sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --font-serif: "Merriweather", Georgia, serif;
}
.display { font-family: var(--font-sans); font-size: 80px; line-height: 80px; font-weight: 800; letter-spacing: -0.04em; }
.h1 { font-family: var(--font-sans); font-size: 64px; line-height: 68px; font-weight: 800; letter-spacing: -0.035em; }
.h2 { font-family: var(--font-sans); font-size: 44px; line-height: 52px; font-weight: 700; letter-spacing: -0.025em; }
.h3 { font-family: var(--font-sans); font-size: 28px; line-height: 36px; font-weight: 600; letter-spacing: -0.015em; }
.h4 { font-family: var(--font-sans); font-size: 20px; line-height: 28px; font-weight: 600; letter-spacing: -0.01em; }
.display-sm { font-family: var(--font-sans); font-size: 48px; line-height: 52px; font-weight: 800; letter-spacing: -0.035em; }
.h1-sm { font-family: var(--font-sans); font-size: 40px; line-height: 44px; font-weight: 800; letter-spacing: -0.03em; }
.h2-sm { font-family: var(--font-sans); font-size: 32px; line-height: 38px; font-weight: 700; letter-spacing: -0.02em; }
.lead { font-family: var(--font-sans); font-size: 20px; line-height: 32px; font-weight: 400; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 26px; font-weight: 400; }
.body-sm { font-family: var(--font-sans); font-size: 14px; line-height: 22px; font-weight: 400; }
.label { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 600; }
.eyebrow { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.12em; }
.kpi-xl { font-family: var(--font-sans); font-size: 56px; line-height: 56px; font-weight: 800; letter-spacing: -0.03em; }
.kpi { font-family: var(--font-sans); font-size: 36px; line-height: 40px; font-weight: 800; letter-spacing: -0.02em; }
.data { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 500; }
.accent { font-family: var(--font-serif); font-size: 64px; line-height: 68px; font-weight: 700; letter-spacing: -0.01em; font-style: italic; }
