/* RPM Performance — generated from tokens.json */
:root, [data-theme="ink"] {
  --color-ink-950: #0b0b0a;
  --color-ink-900: #121211;
  --color-ink-850: #181816;
  --color-ink-800: #1f1e1c;
  --color-ink-700: #2c2b28;
  --color-ink-600: #3d3b37;
  --color-neutral-700: #46433e;
  --color-neutral-600: #5f5b54;
  --color-neutral-500: #87827a;
  --color-neutral-400: #a39e95;
  --color-neutral-300: #c4beb3;
  --color-ivory-200: #dcd5c8;
  --color-ivory-150: #e5dfd3;
  --color-ivory-100: #ece7dd;
  --color-ivory-50: #f3efe7;
  --color-ivory-25: #f9f7f2;
  --color-white-soft: #eeeae2;
  --color-tan-300: #d4b98f;
  --color-tan-400: #c4a67a;
  --color-tan-700: #7a5b33;
  --color-red-700: #9e2f22;
  --color-red-300: #f0a090;
  --color-teal-800: #1f5866;
  --color-teal-300: #8fc4d0;
  --color-bg-primary: var(--color-ink-950);
  --color-bg-secondary: var(--color-ink-850);
  --color-bg-inverse: var(--color-ivory-50);
  --color-surface-light: var(--color-ivory-50);
  --color-surface-dark: var(--color-ink-900);
  --color-surface-raised: var(--color-ink-800);
  --color-text-primary: var(--color-white-soft);
  --color-text-secondary: var(--color-neutral-300);
  --color-text-muted: var(--color-neutral-400);
  --color-text-inverse: var(--color-ink-950);
  --color-text-on-photo: var(--color-white-soft);
  --color-border-subtle: var(--color-ink-700);
  --color-border-default: var(--color-ink-600);
  --color-border-strong: var(--color-neutral-500);
  --color-action-primary: var(--color-white-soft);
  --color-action-primary-hover: var(--color-ivory-200);
  --color-on-action-primary: var(--color-ink-950);
  --color-action-accent: var(--color-tan-400);
  --color-action-accent-hover: var(--color-tan-300);
  --color-on-action-accent: var(--color-ink-950);
  --color-focus: var(--color-tan-300);
  --color-feedback-error: var(--color-red-300);
  --color-feedback-success: var(--color-teal-300);
  --color-scrim-strong: rgba(11, 11, 10, 0.72);
  --color-scrim-soft: rgba(11, 11, 10, 0.40);
  --color-photo-placeholder: var(--color-ink-800);
  --color-header-bg-scrolled: var(--color-ink-950);
  --color-nav-indicator: var(--color-white-soft);
  --color-ledger-rule: var(--color-ink-600);
  --color-ledger-index: var(--color-neutral-400);
  --color-input-bg: var(--color-ink-900);
  --color-input-border: var(--color-neutral-500);
  --color-input-border-hover: var(--color-neutral-300);
  --color-brand-logo: var(--color-neutral-300);
  --shadow-none: none;
  --shadow-float: 0 8px 24px rgba(11, 11, 10, 0.32);
}
[data-theme="ivory"] {
  --color-bg-primary: var(--color-ivory-50);
  --color-bg-secondary: var(--color-ivory-100);
  --color-bg-inverse: var(--color-ink-950);
  --color-surface-raised: var(--color-ivory-25);
  --color-text-primary: var(--color-ink-950);
  --color-text-secondary: var(--color-neutral-700);
  --color-text-muted: var(--color-neutral-600);
  --color-text-inverse: var(--color-white-soft);
  --color-border-subtle: var(--color-ivory-200);
  --color-border-default: var(--color-neutral-300);
  --color-action-primary: var(--color-ink-950);
  --color-action-primary-hover: var(--color-ink-800);
  --color-on-action-primary: var(--color-white-soft);
  --color-focus: var(--color-tan-700);
  --color-feedback-error: var(--color-red-700);
  --color-feedback-success: var(--color-teal-800);
  --color-header-bg-scrolled: var(--color-ivory-50);
  --color-nav-indicator: var(--color-ink-950);
  --color-ledger-rule: var(--color-neutral-300);
  --color-ledger-index: var(--color-neutral-600);
  --color-input-bg: var(--color-ivory-25);
  --color-input-border-hover: var(--color-neutral-700);
  --color-brand-logo: var(--color-neutral-700);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 40px;
  --space-8: 48px;
  --space-9: 64px;
  --space-10: 80px;
  --space-11: 96px;
  --space-12: 120px;
  --space-13: 144px;
  --space-14: 160px;
  --radius-none: 0;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --size-control-sm: 40px;
  --size-control-md: 48px;
  --size-control-lg: 56px;
  --size-touch-min: 44px;
  --size-header-desktop: 80px;
  --size-header-mobile: 64px;
  --size-ledger-row: 88px;
  --size-measure-lead: 52ch;
  --size-measure-body: 68ch;
  --size-measure-headline: 14ch;
  --size-nav-indicator: 16px;
  --size-whatsapp-fab: 56px;
  --border-hairline: 1px;
  --border-strong: 2px;
  --border-rule-vertical: 1px;
  --icon-xs: 16px;
  --icon-sm: 20px;
  --icon-md: 24px;
  --icon-lg: 32px;
  --icon-stroke: 1.25;
  --container-max: 1440px;
  --container-content: 1280px;
  --container-text: 760px;
  --container-narrow: 560px;
  --grid-columns-desktop: 12;
  --grid-columns-tablet: 8;
  --grid-columns-mobile: 4;
  --grid-gutter-desktop: 24px;
  --grid-gutter-tablet: 20px;
  --grid-gutter-mobile: 16px;
  --grid-margin-min: 20px;
  --grid-margin-max: 80px;
  --bp-sm: 480px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1280px;
  --bp-2xl: 1440px;
  --z-base: 0;
  --z-media-overlay: 1;
  --z-content-over-media: 2;
  --z-sticky: 100;
  --z-header: 200;
  --z-fab: 300;
  --z-drawer: 400;
  --z-modal: 500;
  --z-toast: 600;
  --opacity-disabled: 0.4;
  --opacity-photo-dim: 0.72;
  --font-display: "Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;
  --font-body: Archivo, "Helvetica Neue", Arial, system-ui, sans-serif;
}
.display-xl { font-family: var(--font-display); font-size: 96px; line-height: 0.98; letter-spacing: -0.025em; font-weight: 400; font-variation-settings: "opsz" 60; }
.display-l { font-family: var(--font-display); font-size: 80px; line-height: 1.0; letter-spacing: -0.02em; font-weight: 400; font-variation-settings: "opsz" 60; }
.h1 { font-family: var(--font-display); font-size: 64px; line-height: 1.04; letter-spacing: -0.018em; font-weight: 400; font-variation-settings: "opsz" 60; }
.h2 { font-family: var(--font-display); font-size: 48px; line-height: 1.08; letter-spacing: -0.015em; font-weight: 400; font-variation-settings: "opsz" 48; }
.h3 { font-family: var(--font-display); font-size: 32px; line-height: 1.15; letter-spacing: -0.01em; font-weight: 400; font-variation-settings: "opsz" 32; }
.h4 { font-family: var(--font-body); font-size: 20px; line-height: 1.3; letter-spacing: -0.005em; font-weight: 500; }
.body-l { font-family: var(--font-body); font-size: 19px; line-height: 1.55; letter-spacing: 0; font-weight: 400; }
.body { font-family: var(--font-body); font-size: 16px; line-height: 1.6; letter-spacing: 0; font-weight: 400; }
.body-s { font-family: var(--font-body); font-size: 14px; line-height: 1.55; letter-spacing: 0.005em; font-weight: 400; }
.nav { font-family: var(--font-body); font-size: 14px; line-height: 1.2; letter-spacing: 0.01em; font-weight: 500; }
.button { font-family: var(--font-body); font-size: 14px; line-height: 1.0; letter-spacing: 0.02em; font-weight: 600; }
.label { font-family: var(--font-body); font-size: 13px; line-height: 1.3; letter-spacing: 0.01em; font-weight: 500; }
.caption { font-family: var(--font-body); font-size: 13px; line-height: 1.45; letter-spacing: 0.005em; font-weight: 400; }
.eyebrow { font-family: var(--font-body); font-size: 12px; line-height: 1.2; letter-spacing: 0.18em; font-weight: 500; }
.technical { font-family: var(--font-body); font-size: 11px; line-height: 1.6; letter-spacing: 0.2em; font-weight: 500; }
.index { font-family: var(--font-body); font-size: 13px; line-height: 1.2; letter-spacing: 0.06em; font-weight: 500; }
@font-face { font-family: 'Source Serif 4'; src: url('fonts/SourceSerif4-Variable-Roman.woff2') format('woff2'); font-weight: 200 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Source Serif 4'; src: url('fonts/SourceSerif4-Variable-Italic.woff2') format('woff2'); font-weight: 200 900; font-style: italic; font-display: swap; }
@font-face { font-family: 'Archivo'; src: url('fonts/Archivo-Variable-Roman.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; }
