/* Epecista design tokens — mirrors tokens/*.css from the Epecista Design System. */
:root {
  --font-display: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* Carbon */
  --carbon-950: #060908; --carbon-900: #0d1211; --carbon-800: #171d1b; --carbon-700: #262e2c;
  --carbon-600: #3d4644; --carbon-500: #626b69; --carbon-400: #8b9391; --carbon-300: #b4bbb9;
  --carbon-200: #d6dbd9; --carbon-100: #e9edeb; --carbon-50: #f4f6f5; --white: #ffffff;

  /* Volt */
  --volt-50: #f7fde8; --volt-100: #eefbc5; --volt-200: #e0f795; --volt-300: #d0f263;
  --volt-400: #c2ef3c; --volt-500: #a8d826; --volt-600: #86b015; --volt-700: #62800f;

  /* Pine */
  --pine-900: #07201a; --pine-800: #0b2c23; --pine-700: #10382c; --pine-600: #185642;
  --pine-500: #217a5d; --pine-400: #35a17b; --pine-100: #dff0e9;

  /* Signal */
  --signal-success: #217a5d; --signal-warning: #d99a2b; --signal-danger: #c93f2b; --signal-info: #2f6fb8;
  --signal-success-bg: #e6f3ee; --signal-warning-bg: #fbf1de; --signal-danger-bg: #f9e8e5; --signal-info-bg: #e7effa;

  --alpha-carbon-06: rgba(6, 9, 8, 0.06); --alpha-carbon-10: rgba(6, 9, 8, 0.1);
  --alpha-carbon-16: rgba(6, 9, 8, 0.16); --alpha-carbon-60: rgba(6, 9, 8, 0.6);
  --alpha-white-08: rgba(255, 255, 255, 0.08); --alpha-white-14: rgba(255, 255, 255, 0.14);
  --alpha-white-60: rgba(255, 255, 255, 0.6);

  /* Typography */
  --text-display-1: clamp(2.75rem, 5.4vw, 4.75rem);
  --text-display-2: clamp(2.25rem, 4.2vw, 3.5rem);
  --text-display-3: clamp(1.875rem, 3vw, 2.5rem);
  --text-title-1: 1.75rem; --text-title-2: 1.375rem; --text-title-3: 1.125rem;
  --text-body-lg: 1.125rem; --text-body: 1rem; --text-body-sm: 0.9375rem;
  --text-caption: 0.8125rem; --text-micro: 0.6875rem;
  --leading-display: 1.02; --leading-title: 1.18; --leading-body: 1.6; --leading-tight: 1.35;
  --tracking-display: -0.03em; --tracking-title: -0.015em; --tracking-body: 0em;
  --tracking-eyebrow: 0.14em; --tracking-mono: 0.04em;
  --weight-regular: 400; --weight-medium: 500; --weight-semibold: 600; --weight-bold: 700;
  --type-stat: var(--weight-medium) clamp(2.5rem, 4vw, 3.5rem) / 1 var(--font-display);

  /* Spacing */
  --space-0: 0; --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px;
  --space-6: 24px; --space-8: 32px; --space-10: 40px; --space-12: 48px; --space-16: 64px;
  --space-20: 80px; --space-24: 96px; --space-32: 128px;
  --container-max: 1280px; --container-narrow: 820px;
  --gutter: clamp(20px, 4vw, 48px);
  --section-y: clamp(64px, 8vw, 128px);
  --section-y-tight: clamp(48px, 5vw, 80px);
  --grid-gap: clamp(16px, 1.6vw, 24px);

  /* Radius */
  --radius-xs: 4px; --radius-sm: 8px; --radius-md: 14px; --radius-lg: 20px; --radius-xl: 28px; --radius-2xl: 36px;
  --radius-pill: 999px; --radius-card: var(--radius-lg); --radius-media: var(--radius-xl); --radius-section: var(--radius-2xl);

  /* Elevation */
  --border-hairline: 1px solid var(--alpha-carbon-10);
  --border-hairline-dark: 1px solid var(--alpha-white-14);
  --border-strong: 1px solid var(--carbon-900);
  --shadow-none: none;
  --shadow-sm: 0 1px 2px rgba(6, 9, 8, 0.05);
  --shadow-card: 0 1px 2px rgba(6, 9, 8, 0.04), 0 8px 24px -12px rgba(6, 9, 8, 0.14);
  --shadow-lift: 0 2px 4px rgba(6, 9, 8, 0.06), 0 20px 40px -18px rgba(6, 9, 8, 0.24);
  --shadow-overlay: 0 32px 80px -24px rgba(6, 9, 8, 0.45);
  --shadow-focus: 0 0 0 3px rgba(194, 239, 60, 0.55);
  --scrim-bottom: linear-gradient(to top, rgba(6, 9, 8, 0.82) 0%, rgba(6, 9, 8, 0.45) 42%, rgba(6, 9, 8, 0) 100%);
  --scrim-full: linear-gradient(160deg, rgba(6, 9, 8, 0.55) 0%, rgba(6, 9, 8, 0.7) 100%);

  /* Motion */
  --ease-standard: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0.05, 0.36, 1);
  --duration-instant: 90ms; --duration-fast: 160ms; --duration-base: 240ms; --duration-slow: 420ms; --duration-reveal: 640ms;
  --transition-base: all var(--duration-base) var(--ease-standard);
  --reveal-distance: 18px;

  /* Semantic */
  --surface-page: var(--white); --surface-subtle: var(--carbon-50); --surface-card: var(--white);
  --surface-card-subtle: var(--carbon-50); --surface-inverse: var(--carbon-900); --surface-inverse-deep: var(--carbon-950);
  --surface-pine: var(--pine-900); --surface-accent: var(--volt-400); --surface-accent-subtle: var(--volt-100);
  --text-primary: var(--carbon-900); --text-secondary: var(--carbon-600); --text-muted: var(--carbon-500);
  --text-on-inverse: var(--white); --text-on-inverse-muted: var(--carbon-400); --text-on-accent: var(--carbon-950);
  --text-accent: var(--volt-700); --text-link: var(--carbon-900); --text-link-hover: var(--volt-700);
  --border-subtle: var(--alpha-carbon-10); --border-default: var(--carbon-200);
  --border-strong-color: var(--carbon-900); --border-inverse: var(--alpha-white-14);
  --focus-ring: var(--shadow-focus);
  --btn-primary-bg: var(--carbon-900); --btn-primary-fg: var(--white); --btn-primary-bg-hover: var(--carbon-800);
  --btn-accent-bg: var(--volt-400); --btn-accent-fg: var(--carbon-950); --btn-accent-bg-hover: var(--volt-300);
  --btn-ghost-fg: var(--carbon-900); --btn-ghost-border: var(--alpha-carbon-16);
}
