/* TENON — jetons de design : polices, couleurs, échelle typographique, espacements. */

@font-face {
  font-family: 'General Sans';
  src: url('/assets/fonts/GeneralSans-Variable.woff2') format('woff2');
  font-weight: 200 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Geist Mono';
  src: url('/assets/fonts/GeistMono-Variable.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Couleurs : graphite, argent, papier, un seul bleu. */
  --ink: #0a0b0c;
  --graphite: #14171a;
  --steel: #2a2f34;
  --mist: #8b9399;
  --silver: #c5cace;
  --paper: #f2f2ef;
  --white: #fbfbf9;

  --blue: #2f6bff;
  --blue-on-dark: #7fa2ff; /* même teinte, éclaircie pour le texte sur fond sombre */
  --blue-on-light: #1f54e0; /* même teinte, assombrie pour le texte sur fond clair */
  --danger: #ff8a7a; /* erreurs de saisie uniquement */

  --line-dark: rgba(197, 202, 206, 0.14);
  --line-dark-strong: rgba(197, 202, 206, 0.32);
  --line-light: rgba(10, 11, 12, 0.12);
  --line-light-strong: rgba(10, 11, 12, 0.28);

  /* Typographie */
  --font-sans: 'General Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-mono: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

  --fs-display: clamp(2.75rem, min(6.4vw, 11vh), 6.5rem);
  --fs-h2: clamp(2.125rem, 4.6vw, 4.5rem);
  --fs-h3: clamp(1.375rem, 1.7vw, 1.625rem);
  --fs-lead: clamp(1.0625rem, 1.25vw, 1.25rem);
  --fs-body: 1.0625rem;
  --fs-small: 0.9375rem;
  --fs-label: 0.75rem; /* 12 px : taille minimale du site */

  /* Espacements et formes */
  --gutter: clamp(20px, 4vw, 64px);
  --section-y: clamp(72px, 10vw, 152px);
  --container: 1440px;
  --radius: 20px;
  --radius-sm: 12px;
  --pill: 999px;

  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --header-h: 3.75rem; /* en rem : suit la taille de texte du visiteur */
}
