/* ==========================================================================
   FD Stratégies — Design tokens
   Source unique de vérité : « FD Strategies — Charte de marque », édition 2026 v1.0
   Chapitres 03 (Couleurs) et 04 (Typographie).
   ========================================================================== */

:root {
  /* --- Palette principale (charte 03) ------------------------------------ */
  --fds-orange:        #F26522;   /* Orange FD  · énergie, action  · 10 % */
  --fds-marine:        #143E74;   /* Marine FD  · confiance, expertise · 30 % */

  /* Nuances de soutien (charte 03) */
  --fds-orange-light:  #F7944D;
  --fds-peche:         #FBE9DE;
  --fds-marine-light:  #2E6DB4;
  --fds-ciel:          #D9E6F4;

  /* Dérivées d'interaction — assombrissements calculés, hors charte stricte,
     réservés aux états :hover/:active des surfaces d'action. */
  --fds-orange-deep:   #D9531A;
  --fds-orange-ink:    #C24E14;   /* orange lisible sur fond pêche (AA texte) */
  --fds-marine-deep:   #0E3060;

  /* --- Neutres (charte 03) · 60 % de la répartition ---------------------- */
  --fds-encre:         #0E1A2B;
  --fds-ardoise:       #37475C;
  --fds-acier:         #5C6B80;
  --fds-brume:         #AEB9C7;
  --fds-givre:         #E6EBF1;
  --fds-papier:        #F6F8FB;
  --fds-blanc:         #FFFFFF;

  /* Fond de page : crème chaud retenu sur la maquette v3, plus accueillant
     que le blanc pur tout en gardant un contraste AAA avec le marine. */
  --fds-canvas:        #FDFBF8;

  /* --- Rôles sémantiques -------------------------------------------------- */
  --fds-bg:            var(--fds-canvas);
  --fds-bg-alt:        var(--fds-papier);
  --fds-bg-invert:     var(--fds-marine);
  --fds-text:          #1B2B44;
  --fds-text-muted:    #54647A;
  --fds-text-invert:   var(--fds-blanc);
  --fds-heading:       var(--fds-marine);
  --fds-accent:        var(--fds-orange);
  --fds-line:          rgba(20, 62, 116, .12);
  --fds-line-strong:   rgba(20, 62, 116, .22);
  --fds-line-invert:   rgba(255, 255, 255, .18);
  --fds-success:       #3DBE7B;

  /* --- Glassmorphisme ----------------------------------------------------
     La charte proscrit dégradés et ombres portées sur le *motif graphique*.
     Le verre est donc construit par translucidité + flou + filet 1 px,
     jamais par un dégradé décoratif ni une ombre diffuse. */
  --fds-glass-bg:            rgba(255, 255, 255, .62);
  --fds-glass-bg-strong:     rgba(255, 255, 255, .82);
  --fds-glass-border:        rgba(255, 255, 255, .70);
  --fds-glass-blur:          18px;
  --fds-glass-saturate:      140%;

  --fds-glass-dark-bg:       rgba(255, 255, 255, .08);
  --fds-glass-dark-border:   rgba(255, 255, 255, .18);
  --fds-glass-dark-blur:     14px;

  /* En-tête : verre dédié, plus flouté que les cartes pour que le contenu
     qui défile dessous se lise clairement comme flouté, pas comme masqué.
     Alpha volontairement plus élevé que sur les cartes : le cadre flottant
     (.fds-framed) place un aplat marine juste à l'extérieur de l'en-tête,
     de part et d'autre — à alpha trop faible, le flou capte cette teinte
     et lave tout l'en-tête de bleu au lieu de rester crème. Le flou reste
     net sur le contenu qui défile dessous ; seule la translucidité recule. */
  --fds-header-blur:      24px;
  --fds-header-saturate:  180%;
  --fds-header-bg:        rgba(253, 251, 248, .88);
  --fds-header-bg-stuck:  rgba(253, 251, 248, .95);

  /* --- Élévation · retenue assumée --------------------------------------- */
  --fds-shadow-sm:     0 1px 2px rgba(14, 26, 43, .05);
  --fds-shadow-md:     0 10px 30px rgba(14, 26, 43, .07);
  --fds-shadow-lg:     0 24px 60px rgba(14, 26, 43, .10);
  --fds-shadow-action: 0 12px 28px rgba(242, 101, 34, .30);

  /* --- Typographie (charte 04) ------------------------------------------- */
  --fds-font-serif: 'Spectral', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
  --fds-font-body:  'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  /* Police des titres — commutable depuis le personnalisateur.
     Les deux options restent dans la charte 04 : Spectral (éditorial) ou
     Montserrat en graisse « Extra » (interface). Voir .fds-headings-*. */
  --fds-font-title:   var(--fds-font-body);
  --fds-weight-title: 800;
  --fds-ls-title:     -0.035em;

  /* Échelle fluide — bornes exactement calées sur la charte.
     Display 64–118 · H1 44–60 · H2 24–30 · Corps 16–21 · Légende 11–13 */
  --fds-fs-display:  clamp(3.25rem, 2.10rem + 5.10vw, 7.375rem);
  --fds-fs-h1:       clamp(2.25rem, 1.72rem + 2.35vw, 3.75rem);
  --fds-fs-h2:       clamp(1.75rem, 1.55rem + 0.90vw, 2.25rem);
  --fds-fs-h3:       clamp(1.25rem, 1.16rem + 0.40vw, 1.5rem);
  --fds-fs-body:     clamp(1rem,    0.96rem + 0.18vw, 1.1875rem);
  --fds-fs-body-lg:  clamp(1.0625rem, 0.99rem + 0.33vw, 1.3125rem);
  --fds-fs-small:    0.875rem;
  --fds-fs-caption:  clamp(0.6875rem, 0.66rem + 0.12vw, 0.8125rem);
  --fds-fs-eyebrow:  clamp(0.75rem, 0.73rem + 0.11vw, 0.8125rem);

  --fds-lh-tight:    1.06;
  --fds-lh-heading:  1.18;
  --fds-lh-body:     1.65;

  --fds-ls-display: var(--fds-ls-title);
  --fds-ls-eyebrow:  0.18em;

  /* --- Rythme spatial ----------------------------------------------------- */
  --fds-space-2xs:  0.5rem;
  --fds-space-xs:   0.75rem;
  --fds-space-sm:   1rem;
  --fds-space-md:   1.5rem;
  --fds-space-lg:   2.5rem;
  --fds-space-xl:   4rem;
  --fds-space-2xl:  6rem;
  --fds-section:    clamp(4.5rem, 3rem + 6vw, 8rem);

  --fds-container:      1280px;
  --fds-container-text: 68ch;
  --fds-gutter:         clamp(1.25rem, 0.65rem + 2.6vw, 2.5rem);

  /* --- Formes · « plans tranchés & angles nets » (charte 05) -------------- */
  --fds-radius-xs:  6px;
  --fds-radius-sm:  8px;
  --fds-radius-md:  12px;
  --fds-radius-lg:  16px;
  --fds-radius-xl:  24px;
  --fds-radius-pill: 100px;

  /* --- Mouvement ---------------------------------------------------------- */
  --fds-ease:        cubic-bezier(.22, .61, .36, 1);
  --fds-ease-out:    cubic-bezier(.16, 1, .3, 1);
  --fds-dur-fast:    .18s;
  --fds-dur:         .32s;
  --fds-dur-slow:    .6s;

  --fds-z-nav:     50;
  --fds-z-overlay: 80;
  --fds-z-modal:   100;
}

/* --------------------------------------------------------------------------
   Commutateur de police des titres
   « sans » reproduit la direction typographique de la référence (titres
   très gras, chasse serrée) ; « serif » revient à l'éditorial Spectral.
   -------------------------------------------------------------------------- */

.fds-headings-sans {
  --fds-font-title:   var(--fds-font-body);
  --fds-weight-title: 800;
  --fds-ls-title:     -0.035em;
}

.fds-headings-serif {
  --fds-font-title:   var(--fds-font-serif);
  --fds-weight-title: 600;
  --fds-ls-title:     -0.02em;
}

/* Sections en inversion : le marine devient le fond, les rôles suivent. */
.fds-invert {
  --fds-bg:          var(--fds-marine);
  --fds-bg-alt:      var(--fds-marine-deep);
  --fds-text:        rgba(255, 255, 255, .82);
  --fds-text-muted:  rgba(255, 255, 255, .64);
  --fds-heading:     var(--fds-blanc);
  --fds-line:        var(--fds-line-invert);
  --fds-line-strong: rgba(255, 255, 255, .28);
  --fds-glass-bg:        var(--fds-glass-dark-bg);
  --fds-glass-bg-strong: rgba(255, 255, 255, .12);
  --fds-glass-border:    var(--fds-glass-dark-border);
  color: var(--fds-text);
  background-color: var(--fds-bg);
}
