/* v2 — jetons communs aux pages. Déclarés une seule fois. */
:root {
  --bleu-nuit: #0A2A40;
  --bleu: #0F3D5C;
  --bleu-clair: #1B5C87;
  --bleu-pale: #EAF2F8;
  /* Voiles et filets sur fond sombre : assez opaques pour séparer réellement
     (le filet des chiffres du hero dépasse 1,5:1 sur le bleu nuit). */
  --acc-voile: rgba(255, 255, 255, 0.14);
  --acc-texte-inverse: rgba(255, 255, 255, 0.88);
  --acc-filet-inverse: rgba(255, 255, 255, 0.30);
  /* Filet sur fond clair : 1,6:1 sur blanc, il sépare au lieu de suggérer. */
  --acc-filet-clair: #B9CFDF;
}

/* Bouton du bandeau : `.nav-links a` (0,1,1) posait `background:none` et battait
   `.nav-cta` (0,1,0). Le bouton était donc blanc sur blanc — invisible sur tout
   le site. On rétablit par la spécificité, pas par un !important de plus. */
.nav-links a.nav-cta { background: var(--vert-fonce); color: #fff; }
.nav-links a.nav-cta:hover,
.nav-links a.nav-cta:focus-visible { background: #0A5643; color: #fff; }

/* ── Contrastes : deux causes, mesurées au navigateur sur les onze pages ──
   Le vert de marque #1D9E75 ne porte pas de texte blanc (3,39:1) : partout où
   du blanc se pose sur du vert, c'est le vert foncé qui sert (6,20:1). Le vert
   reste la couleur de marque — aplats, filets, pastilles — mais pas un fond de
   texte. Et le gris secondaire #888780 tombait à 3,66:1 sur blanc.
   Seuil visé : 4,5:1. */
:root { --gris-muted: #667082; }          /* 4,99:1 sur blanc */

.nav-links a.active,
.nav-links a:hover,
.nav-links button.active,
.nav-links button:hover { color: var(--vert-fonce); }

/* Boutons pleins : fond vert foncé dès qu'ils portent du texte blanc. */
.btn-primary, .btn.btn-primary { background: var(--vert-fonce); color: #fff; }
.btn-primary:hover, .btn.btn-primary:hover { background: #0A5643; }

/* Reste du même défaut : du vert de marque employé comme couleur de texte sur
   fond clair. Même règle — le vert reste la marque, le vert foncé porte le texte. */
.eyebrow { color: var(--vert-fonce); }
.module-fiche-demo,
a.btn:not(.btn-primary):not(.btn-white):not(.btn-bleu):not(.btn-ghost-suite) { color: var(--vert-fonce); }
.note-sobre { color: #5F6B76; }

/* Ces deux-là portent du texte blanc sur un aplat vert : c'est le fond qui
   doit foncer, pas le texte. La règle précédente les avait rendus illisibles. */
.visite-onglet.actif, .visite-onglet.active, .tarif-badge, .cumul-badge, .tranche-badge { background: var(--vert-fonce); color: #fff; }

/* ── Titres : Spectral, auto-hebergee ───────────────────────────────────────
   Serif de labeur dessinee pour l'ecran, posee sur les seuls titres — le corps
   de texte reste la pile systeme. Elle donne au site une signature que la pile
   systeme, neutre par definition, ne peut pas porter : le titre devient
   institutionnel sans devenir daté, parce que tout autour de lui est moderne.
   15 Ko, aucun appel distant — la souverainete est un argument du site, pas
   seulement de son discours.
   Le tracking negatif d'origine etait regle pour une grotesque : une serif en
   demande nettement moins, sans quoi les lettres se touchent. */
@font-face {
  font-family: 'Spectral';
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url('/assets/fonts/spectral-600.woff2') format('woff2');
}
h1, h2 { font-family: 'Spectral', Georgia, 'Times New Roman', serif; font-weight: 600; }
h1 { letter-spacing: -0.014em; }
h2 { letter-spacing: -0.010em; }
