/* Legran · shared tokens for the revised v2; original site is unaffected. */
:root {
  --surface-dark: oklch(18% .003 250);
  --service-shade-strong: oklch(12% .003 250 / .88);
  --service-shade-soft: oklch(12% .003 250 / .25);
  --service-shade-clear: oklch(12% .003 250 / .08);
  --ink: var(--surface-dark);
  --ink-soft: oklch(26% .003 250);
  --paper: oklch(97% 0 0);
  --paper-deep: oklch(92% .005 95);
  --white: oklch(99% 0 0);
  --muted: oklch(44% 0 0);
  --light-muted: oklch(78% 0 0);
  --accent: oklch(66% .195 36);
  --accent-text: oklch(53% .18 36);
  --accent-ink: var(--ink);
  --line: oklch(80% .003 95);
  --line-dark: oklch(40% .003 250);
  --overlay: oklch(15% .003 250 / .78);
  --error: oklch(46% .17 28);
  --font-display: 'Bebas Neue', 'Manrope', sans-serif;
  --font-body: 'Manrope', 'Segoe UI', sans-serif;
  --space-xs: 8px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 32px;
  --space-xl: 48px;
  --space-2xl: 64px;
  --space-3xl: 96px;
  --text-small: .875rem;
  --text-body: 1rem;
  --text-lead: clamp(1.125rem, 1.4vw, 1.375rem);
  --text-heading: clamp(2rem, 3.6vw, 3.75rem);
  --text-display: clamp(2.125rem, 5.05vw, 5rem);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-in: cubic-bezier(.7, 0, .84, 0);
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);
  --dur-short: 220ms;
  --dur-long: 420ms;
  --z-nav: 10;
  --z-overlay: 20;
}
