/* Design tokens — Néo-brutalisme · seed OB-1107-0F56
   Généré par le Design Engine de Ouibel Dev. Toutes les couleurs, polices, rayons et ombres du site passent par ces variables.
   Modifiables dans l'onglet Design. Ne code jamais une couleur en dur ailleurs. */
@font-face { font-family: 'Big Shoulders Display'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/big-shoulders-display-400.woff2') format('woff2'); }
@font-face { font-family: 'Big Shoulders Display'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/big-shoulders-display-500.woff2') format('woff2'); }
@font-face { font-family: 'Big Shoulders Display'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/big-shoulders-display-600.woff2') format('woff2'); }
@font-face { font-family: 'Big Shoulders Display'; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/big-shoulders-display-700.woff2') format('woff2'); }
@font-face { font-family: 'Big Shoulders Display'; font-style: normal; font-weight: 800; font-display: swap; src: url('/fonts/big-shoulders-display-800.woff2') format('woff2'); }
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/bricolage-grotesque-400.woff2') format('woff2'); }
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/bricolage-grotesque-500.woff2') format('woff2'); }
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/bricolage-grotesque-600.woff2') format('woff2'); }
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/bricolage-grotesque-700.woff2') format('woff2'); }
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 800; font-display: swap; src: url('/fonts/bricolage-grotesque-800.woff2') format('woff2'); }
:root {
  --background: oklch(98.9% 0.011 140.1);
  --foreground: oklch(16.6% 0.006 140.1);
  --surface: oklch(100.0% 0.001 140.1);
  --surface-elevated: oklch(100.0% 0.001 140.1);
  --primary: oklch(49.8% 0.157 140.1);
  --primary-foreground: oklch(98.5% 0.010 140.1);
  --secondary: oklch(32.8% 0.060 172.1);
  --secondary-foreground: oklch(98.5% 0.010 172.1);
  --accent: oklch(71.5% 0.151 290.1);
  --accent-foreground: oklch(18.0% 0.030 290.1);
  --muted: oklch(95.4% 0.015 140.1);
  --muted-foreground: oklch(48.0% 0.016 140.1);
  --border: oklch(89.9% 0.017 140.1);
  --input: oklch(89.9% 0.017 140.1);
  --ring: oklch(57.8% 0.182 140.1);
  --success: oklch(50.0% 0.130 150.0);
  --warning: oklch(56.5% 0.121 70.0);
  --error: oklch(52.0% 0.150 25.0);

  --font-display: 'Big Shoulders Display', Impact, "Arial Narrow", sans-serif;
  --font-heading: 'Big Shoulders Display', Impact, "Arial Narrow", sans-serif;
  --font-body: 'Bricolage Grotesque', system-ui, sans-serif;
  --weight-heading: 400;
  --tracking-heading: 0.01em;
  --case-heading: none;
  --leading-body: 1.65;

  --text-display: clamp(4.96rem, 9vw, 8.00rem);
  --text-h1: clamp(3.53rem, 7vw, 5.69rem);
  --text-h2: clamp(2.52rem, 5vw, 4.06rem);
  --text-h3: clamp(1.28rem, 2.6vw, 2.06rem);
  --text-body-lg: 1.254rem;
  --text-body: 1.063rem;
  --text-small: 0.930rem;
  --text-caption: 0.797rem;

  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 18px;
  --radius-button: 8px;

  --space-section: clamp(4rem, 9vw, 7.5rem);
  --space-container: 1200px;
  --space-gutter: clamp(1.25rem, 4vw, 2.5rem);

  --shadow-sm: 2px 2px 0 var(--foreground);
  --shadow-md: 4px 4px 0 var(--foreground);
  --shadow-lg: 6px 6px 0 var(--foreground);
  --shadow-premium: 8px 8px 0 var(--foreground);

  --duration: 450ms;
  --ease: cubic-bezier(.16,1,.3,1);
  color-scheme: light;
}
