/* Concept : une seule phrase qui se déroule au scroll (Saisir, évoluer, durer),
   puis le site pose ses sections sur le Lin, avec un aplat de couleur de marque
   par moment fort. Palette, typo et éléments graphiques = charte 2.0. */
:root {
  /* Palette charte 2.0 ------------------------------------------------- */
  --bleu:    #2B54FF;  /* porte la marque — 25 %            */
  --corail:  #FF5A2C;  /* l'énergie — 12 %                  */
  --citron:  #D6F45B;  /* l'idée, l'étincelle IA — 8 %      */
  --encre:   #1B1B26;  /* le calme sombre — 15 %            */
  --lin:     #F7F2E8;  /* le fond par défaut — 40 %         */
  --blanc:   #FFFFFF;
  --peche:   #FFCDB8;  /* duotone Pêche (imagerie, p. 21)   */
  --lin-2:   #EDE6D7;  /* trait de quadrillage / filets     */
  --encre-2: #5B5A66;  /* texte secondaire sur Lin (7:1)    */
  --bleu-2:  #1F3FD6;  /* bleu survolé                      */
  --bleu-3:  #6F8BFF;  /* rubrique « Affirmer votre marque » */
  --encre-3: #24243A;  /* fond des lignes de service        */
  --encre-4: #2C2C3A;  /* bulle « eux » du chat             */
  --corail-2: #FFF6F2; /* fond d'un champ en erreur         */
  --corail-3: #B83A16; /* message d'erreur, lisible sur Lin */
  --nuit:    #0A1450;  /* ombres portées sur le Bleu        */

  /* Transparences : chaque couleur de marque à une opacité donnée
     (filets, ombres, textes secondaires sur fond sombre). */
  --lin-a15: rgb(247 242 232 / .15);
  --lin-a16: rgb(247 242 232 / .16);
  --lin-a18: rgb(247 242 232 / .18);
  --lin-a35: rgb(247 242 232 / .35);
  --lin-a60: rgb(247 242 232 / .6);
  --lin-a72: rgb(247 242 232 / .72);
  --lin-a75: rgb(247 242 232 / .75);
  --lin-a86: rgb(247 242 232 / .86);
  --encre-a06: rgb(27 27 38 / .06);
  --encre-a07: rgb(27 27 38 / .07);
  --encre-a10: rgb(27 27 38 / .1);
  --encre-a12: rgb(27 27 38 / .12);
  --encre-a15: rgb(27 27 38 / .15);
  --encre-a18: rgb(27 27 38 / .18);
  --encre-a25: rgb(27 27 38 / .25);
  --encre-a30: rgb(27 27 38 / .3);
  --encre-a35: rgb(27 27 38 / .35);
  --encre-a40: rgb(27 27 38 / .4);
  --encre-a50: rgb(27 27 38 / .5);
  --encre-a55: rgb(27 27 38 / .55);
  --encre-a60: rgb(27 27 38 / .6);
  --bleu-a06: rgb(43 84 255 / .06);
  --bleu-a15: rgb(43 84 255 / .15);
  --bleu-a70: rgb(43 84 255 / .7);
  --blanc-a30: rgb(255 255 255 / .3);
  --blanc-a55: rgb(255 255 255 / .55);
  --blanc-a60: rgb(255 255 255 / .6);
  --blanc-a90: rgb(255 255 255 / .9);
  --citron-a35: rgb(214 244 91 / .35);
  --nuit-a60: rgb(10 20 80 / .6);
  --nuit-a70: rgb(10 20 80 / .7);

  /* Typo : une seule famille, Poppins ---------------------------------- */
  --font: "Poppins", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --fs-xl:   clamp(3rem, 7.5vw, 7rem);     /* Titre XL  · 0,95 · -3,5 %  */
  --fs-h2:   clamp(2.25rem, 5vw, 4.25rem); /* Titre     · 1,0  · -3 %    */
  --fs-h3:   clamp(1.375rem, 2.2vw, 1.875rem);
  --fs-sub:  clamp(1.125rem, 1.6vw, 1.375rem); /* Sous-titre Medium 1,3 */
  --fs-body: 1.0625rem;                    /* Texte Regular 1,55          */
  --fs-tag:  .8125rem;                     /* Étiquette SemiBold caps +12 % */

  /* Géométrie ---------------------------------------------------------- */
  --r-card: 1.75rem;
  --r-pill: 999px;
  --shell: min(80rem, 100%);
  --gutter: max(16px, env(safe-area-inset-left, 0px));
  --gutter-r: max(16px, env(safe-area-inset-right, 0px));
  --header-h: 5rem;

  /* Mouvement ---------------------------------------------------------- */
  --ease-expo: cubic-bezier(.16, 1, .3, 1);
  --ease-back: cubic-bezier(.34, 1.56, .64, 1);

  --ground: var(--encre);
  color-scheme: light;
}

:root {
  --spring: cubic-bezier(.34, 1.56, .64, 1);
  --spring-soft: cubic-bezier(.3, 1.35, .6, 1);
}
