/* GENERATED by check/build.py from tokens.json — do not edit */
:root, [data-theme="light"] {
  --c-purple: #6746eb;
  --c-purple-dark: #472dbe;
  --c-purple-light: #9e92e8;
  --c-white: #ffffff;
  --c-beige: #f0ede6;
  --c-black: #222222;
  --c-yellow: #f6d62a;
  --c-orange: #ed7122;
  --c-red: #d52515;
  --c-pink: #d987ba;
  --c-blue: #36b7f6;
  --c-turquoise: #61e9d2;
  --c-lime: #add739;
  --c-green: #00b356;
  --bg: var(--c-white);
  --bg-alt: var(--c-beige);
  --bg-invert: var(--c-black);
  --bg-brand: var(--c-purple-dark);
  --fg: var(--c-black);
  --fg-muted: #5a5a5a;
  --fg-subtle: #767676;
  --fg-invert: var(--c-white);
  --fg-brand: var(--c-purple-dark);
  --accent: var(--c-purple-dark);
  --link: var(--c-purple-dark);
  --surface-card: var(--c-white);
  --surface-card-alt: var(--c-beige);
  --surface-input: var(--c-white);
  --btn-primary-bg: var(--c-black);
  --btn-primary-fg: var(--c-white);
  --btn-secondary-bg: var(--c-beige);
  --btn-secondary-fg: var(--c-black);
  --border: #e3e1db;
  --border-strong: #c9c6be;
  --border-invert: rgba(255,255,255,0.18);
  --track-bg: #dcd8cf;
  --success: var(--c-green);
  --warning: var(--c-yellow);
  --danger: var(--c-red);
  --info: var(--c-blue);
  --fill-brand: var(--c-purple-dark);
  --on-fill-brand: var(--c-white);
  --chart-brand-1: var(--c-purple-dark);
  --chart-brand-2: var(--c-purple);
  --chart-brand-3: var(--c-purple-light);
  --chart-cat-1: var(--c-purple-dark);
  --chart-cat-2: var(--c-orange);
  --chart-cat-3: var(--c-blue);
  --chart-cat-4: var(--c-green);
  --chart-cat-5: var(--c-pink);
  --chart-cat-6: var(--c-yellow);
  --shadow-sm: 0 1px 2px rgba(34,34,34,0.06);
  --shadow-md: 0 4px 16px rgba(34,34,34,0.08);
  --shadow-lg: 0 20px 48px rgba(34,34,34,0.12);
}
[data-theme="dark"] {
  --bg: var(--c-black);
  --bg-alt: #2c2c2c;
  --bg-invert: var(--c-purple-dark);
  --bg-brand: var(--c-purple-dark);
  --fg: var(--c-white);
  --fg-muted: #bdbdbd;
  --fg-subtle: #8f8f8f;
  --fg-invert: var(--c-white);
  --fg-brand: var(--c-purple-light);
  --accent: var(--c-purple-light);
  --link: var(--c-white);
  --surface-card: #2c2c2c;
  --surface-card-alt: #333333;
  --surface-input: #1a1a1a;
  --btn-primary-bg: var(--c-white);
  --btn-primary-fg: var(--c-black);
  --btn-secondary-bg: #2c2c2c;
  --btn-secondary-fg: var(--c-white);
  --border: rgba(255,255,255,0.16);
  --border-strong: rgba(255,255,255,0.34);
  --border-invert: rgba(255,255,255,0.18);
  --track-bg: #454545;
  --success: var(--c-green);
  --warning: var(--c-yellow);
  --danger: var(--c-red);
  --info: var(--c-blue);
  --fill-brand: var(--c-purple-light);
  --on-fill-brand: var(--c-black);
  --chart-brand-1: var(--c-purple-light);
  --chart-brand-2: var(--c-purple);
  --chart-brand-3: var(--c-white);
  --chart-cat-1: var(--c-purple-light);
  --chart-cat-2: var(--c-orange);
  --chart-cat-3: var(--c-blue);
  --chart-cat-4: var(--c-green);
  --chart-cat-5: var(--c-pink);
  --chart-cat-6: var(--c-yellow);
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.4);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.5);
  --shadow-lg: 0 20px 48px rgba(0,0,0,0.6);
}
:root {
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
  --sp-9: 96px;
  --sp-10: 128px;
  --radius-0: 0;
  --radius-sm: 2px;
  --motion-fill: 700ms;
  --motion-quick: 150ms;
  --ease-brand: cubic-bezier(0.2, 0, 0, 1);
  --fs-display: clamp(3rem, 6.5vw, 6rem);
  --fs-h1: clamp(2.2rem, 4vw, 3.75rem);
  --fs-h2: clamp(1.5rem, 2.3vw, 2rem);
  --fs-h3: 1.4375rem;
  --fs-lead: 1.625rem;
  --fs-body: 1rem;
  --fs-small: 0.8125rem;
  --fs-micro: 0.625rem;
  --angle-avancez: 34.4deg;
  --tan-avancez: 0.68471;
  --cut-k-top: 0.8967;
  --cut-k-bottom: 0.4728;
  --cut-k-corner: 0.6904;
  --cut-frac: 0.3333;
  --cut-frac-sixth: 0.1667;
  --cut-card: 34px;
  --btn-h: 2.25rem;
  --slide-margin-x: 54px;
  --slide-margin-y: 57px;
  --logo-clear-x: 0.112;
  --logo-clear-y: 0.1268;
  --logo-min: 160px;
  --identifier-line: 0.3333;
  --video-logo: 17.5%;
  --lh-tight: 1.05;
  --lh-heading: 1.12;
  --lh-body: 1.55;
  --lh-loose: 1.7;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;
  --tracking-display: -0.015em;
  --tracking-eyebrow: 0.08em;
  --tracking-micro: 0.02em;
  --font-sans: "Matter", "Arial", system-ui, -apple-system, sans-serif;
  --font-serif: "Newsreader", "Times New Roman", Georgia, serif;
  --font-mono: "JetBrains Mono", ui-monospace, Consolas, monospace;
  --font-office-sans: "Arial", sans-serif;
  --font-office-serif: "Times New Roman", Georgia, serif;
  --text-display: 500 96px/1.05 var(--font-sans);
  --text-h1: 500 60px/1.12 var(--font-sans);
  --text-h2: 500 32px/1.12 var(--font-sans);
  --text-h3: 500 23px/1.12 var(--font-sans);
  --text-h4: 500 16px/1.12 var(--font-sans);
  --text-lead: 400 26px/1.35 var(--font-serif);
  --text-body: 400 16px/1.55 var(--font-sans);
  --text-body-serif: 400 17px/1.7 var(--font-serif);
  --text-small: 400 13px/1.4 var(--font-sans);
  --text-eyebrow: 700 13px/1.55 var(--font-sans);
  --text-micro: 700 10px/1.4 var(--font-sans);
}
.display { font-family: var(--font-sans); font-size: 96px; line-height: 1.05; font-weight: 500; letter-spacing: -0.015em; }
.h1 { font-family: var(--font-sans); font-size: 60px; line-height: 1.12; font-weight: 500; letter-spacing: -0.01em; }
.h2 { font-family: var(--font-sans); font-size: 32px; line-height: 1.12; font-weight: 500; letter-spacing: 0; }
.h3 { font-family: var(--font-sans); font-size: 23px; line-height: 1.12; font-weight: 500; letter-spacing: 0; }
.h4 { font-family: var(--font-sans); font-size: 16px; line-height: 1.12; font-weight: 500; letter-spacing: 0; }
.lead { font-family: var(--font-serif); font-size: 26px; line-height: 1.35; font-weight: 400; letter-spacing: -0.005em; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 1.55; font-weight: 400; letter-spacing: 0; }
.body-serif { font-family: var(--font-serif); font-size: 17px; line-height: 1.7; font-weight: 400; letter-spacing: 0; }
.small { font-family: var(--font-sans); font-size: 13px; line-height: 1.4; font-weight: 400; letter-spacing: 0; }
.eyebrow { font-family: var(--font-sans); font-size: 13px; line-height: 1.55; font-weight: 700; letter-spacing: 0.08em; }
.micro { font-family: var(--font-sans); font-size: 10px; line-height: 1.4; font-weight: 700; letter-spacing: 0.02em; }
@font-face { font-family: "Matter"; src: url("fonts/Matter_Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Matter"; src: url("fonts/Matter_RegularItalic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Matter"; src: url("fonts/Matter_Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Matter"; src: url("fonts/Matter_MediumItalic.woff2") format("woff2"); font-weight: 500; font-style: italic; font-display: swap; }
@font-face { font-family: "Matter"; src: url("fonts/Matter_Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Matter"; src: url("fonts/Matter_BoldItalic.woff2") format("woff2"); font-weight: 700; font-style: italic; font-display: swap; }
@font-face { font-family: "Newsreader"; src: url("fonts/Newsreader-latin-opsz-normal.woff2") format("woff2-variations"); font-weight: 200 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Newsreader"; src: url("fonts/Newsreader-latin-opsz-italic.woff2") format("woff2-variations"); font-weight: 200 800; font-style: italic; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("fonts/JetBrainsMono-latin-wght-normal.woff2") format("woff2-variations"); font-weight: 100 800; font-style: normal; font-display: swap; }
