/* ============================================================
   CFM · Chevalley Facility Management · styles du site
   Chargé APRÈS /cfm-tokens.css (fichier de la charte, jamais modifié).
   Règles : angles droits, aucune ombre, aucun dégradé, l'or ne fait que des traits,
   seule transition admise : la couleur au survol, 150 ms.
   ============================================================ */

:root {
  --logo-entete: 300px;                 /* logo horizontal, zone de protection incluse ; 300 px = maximum de la charte pour l'en-tête */
  --entete: calc(var(--logo-entete) * 356 / 748.7 + 1px);
  --mesure: 68ch;                       /* largeur de lecture d'un paragraphe */
  --filet-inverse: rgba(247, 245, 240, 0.18);
  --texte-carte: var(--cfm-small);      /* texte des cartes, étapes, piliers : 14 px, 16 px sur mobile (charte p. 5) */
  --interligne-carte: 1.5;
}
@media (max-width: 1199px) {
  :root { --logo-entete: 260px; }
}
@media (max-width: 767px) {
  :root { --logo-entete: 220px; --texte-carte: 1rem; --interligne-carte: 1.65; }
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: calc(var(--entete) + 16px); }
body { background: var(--cfm-bg); text-rendering: optimizeLegibility; font-kerning: normal; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3 { text-wrap: balance; }
p, li, dd { text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; }
address { font-style: normal; }
::selection { background: var(--cfm-bleu-nuit); color: var(--cfm-ivoire); }

a, .cfm-btn, summary {
  transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease, text-decoration-color 150ms ease;
}
/* Focus clavier : l'or sur ivoire fait 2,5 : 1, sous le seuil WCAG de 3 : 1 pour un indicateur ;
   contour bleu nuit sur les fonds clairs, or sur le bleu nuit (5,9 : 1). */
:focus-visible { outline: 2px solid var(--cfm-bleu-nuit); outline-offset: 3px; }
.cfm-section--inverse :focus-visible, .cfm-footer :focus-visible, .cartouche :focus-visible, .evitement:focus-visible { outline-color: var(--cfm-or); }

/* Lien d'évitement et texte réservé aux lecteurs d'écran */
.evitement {
  position: absolute; left: var(--cfm-s2); top: -200px; z-index: 50;
  background: var(--cfm-bleu-nuit); color: var(--cfm-ivoire); padding: 0.75rem 1.25rem;
  font-size: var(--cfm-small); font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none;
}
.evitement:focus { top: var(--cfm-s2); color: var(--cfm-ivoire); }
.lecteur-ecran {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------- Boutons (complément des jetons) ---------- */
.cfm-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.75rem;
  line-height: 1.2; text-align: center; min-height: 48px;
}
.cfm-btn:hover { color: var(--cfm-ivoire); }
.cfm-btn--courriel {
  width: 100%; justify-content: flex-start;
  font-size: 1.0625rem; letter-spacing: 0.01em; text-transform: none;
  padding: 1.1rem 1.5rem; min-height: 56px; overflow-wrap: anywhere;
}
.actions { display: flex; flex-wrap: wrap; gap: var(--cfm-s2); }

/* ---------- Surligne : texte bleu nuit, repère or (l'or sur ivoire reste un trait) ---------- */
.surligne {
  display: flex; align-items: center; gap: 0.875rem; margin: 0 0 var(--cfm-s3);
  font-size: var(--cfm-overline); font-weight: 600; line-height: 1.3;
  letter-spacing: 0.3em; text-transform: uppercase; color: var(--cfm-bleu-nuit);
}
.surligne::before { content: ""; flex: none; width: 32px; height: 2px; background: var(--cfm-or); }
.cfm-section--inverse .surligne { color: var(--cfm-or); }

/* ---------- En-tête fixe ---------- */
.site-entete { position: sticky; top: 0; z-index: 20; }
.site-entete .cfm-header__inner { min-height: 0; height: calc(var(--entete) - 1px); position: relative; }
/* Le fichier du logo inclut sa zone de protection (48 / 748,7 de sa largeur) : on la laisse déborder
   dans la gouttière pour que le dessin s'aligne sur le bord du texte. Rien n'entre dans cette zone. */
.site-entete .cfm-header__logo { flex: none; text-decoration: none; line-height: 0; margin-left: calc(var(--logo-entete) * -48 / 748.7); }
.site-entete .cfm-header__logo img { width: var(--logo-entete); height: auto; }

.site-nav { display: flex; align-items: center; gap: var(--cfm-s4); }
.site-nav .cfm-nav { list-style: none; gap: var(--cfm-s3); flex-wrap: nowrap; }
.site-nav .cfm-nav a {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0;
  line-height: 1; white-space: nowrap; color: var(--cfm-bleu-nuit);
}
.site-nav .cfm-nav a[aria-current] { border-bottom-color: var(--cfm-or); }
.site-nav .cfm-btn { padding: 0.8rem 1.4rem; white-space: nowrap; }

.bouton-menu {
  display: none; font-family: var(--cfm-font-text); font-size: var(--cfm-small); font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--cfm-bleu-nuit);
  background: transparent; border: 1px solid var(--cfm-bleu-nuit); border-radius: 0;
  min-height: 44px; min-width: 44px; padding: 0 1.1rem; cursor: pointer; align-items: center; gap: 0.75rem;
}
.bouton-menu__traits { display: inline-block; width: 18px; height: 8px; border-block: 1.5px solid currentColor; }
.bouton-menu[aria-expanded="true"] { background: var(--cfm-bleu-nuit); color: var(--cfm-ivoire); }

@media (max-width: 1139px) {
  .bouton-menu { display: inline-flex; }
  .site-nav {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: var(--cfm-s3);
    background: var(--cfm-ivoire); border-bottom: 2px solid var(--cfm-bleu-nuit);
    padding: var(--cfm-s1) var(--cfm-gutter) var(--cfm-s4);
    max-height: calc(100vh - var(--entete)); overflow-y: auto;
  }
  .menu-ouvert .site-nav { display: flex; }
  .site-nav .cfm-nav { flex-direction: column; gap: 0; }
  .site-nav .cfm-nav a {
    display: flex; min-height: 56px; border-bottom: 1px solid var(--cfm-border); font-size: 0.9375rem;
  }
  .site-nav .cfm-nav a[aria-current] { border-bottom-color: var(--cfm-border); box-shadow: none; }
  .site-nav .cfm-nav a[aria-current]::before { content: ""; width: 16px; height: 2px; background: var(--cfm-or); margin-right: 0.75rem; }
  .site-nav .cfm-btn { width: 100%; }
}

/* ---------- Héros ---------- */
.heros { padding: clamp(3rem, 7vw, 6rem) 0 clamp(3rem, 6vw, 5rem); }
.heros__grille { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--cfm-s8); align-items: center; }
.heros h1 { margin-bottom: var(--cfm-s4); }
.heros h1 .saut { display: none; }
.heros .cfm-lead { max-width: 34em; margin-bottom: var(--cfm-s6); }
.heros__rose { justify-self: center; }
.heros__rose img { width: clamp(280px, 27vw, 380px); }
/* À partir de 1200 px, le titre tient en trois lignes, une par proposition (la plus longue mesure 748 px en 64 px). */
@media (min-width: 1200px) {
  .heros__grille { grid-template-columns: minmax(0, 1fr) 320px; gap: var(--cfm-s3); }
  .heros h1 .saut { display: inline; }
  .heros__rose img { width: 320px; }
}
/* Sous 900 px, la rose du héros s'efface : le titre et les boutons restent dans le premier écran,
   la rose reste présente dans l'en-tête, le cartouche du profil et le sceau. */
@media (max-width: 899px) {
  .heros__grille { grid-template-columns: minmax(0, 1fr); }
  .heros__rose { display: none; }
}
@media (max-width: 479px) {
  .heros .actions .cfm-btn { width: 100%; }
  .heros .cfm-lead { font-size: 1.125rem; }
}

/* ---------- Trois preuves ---------- */
.preuves { border-block: 1px solid var(--cfm-border); }
.preuves__liste { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.preuves__liste li {
  padding: var(--cfm-s4) var(--cfm-s4); border-left: 1px solid var(--cfm-border);
  font-family: var(--cfm-font-display); font-weight: 700; font-size: 1.3125rem; line-height: 1.3; color: var(--cfm-bleu-nuit);
}
.preuves__liste li:first-child { border-left: 0; padding-left: 0; }
@media (max-width: 899px) {
  .preuves__liste { grid-template-columns: minmax(0, 1fr); }
  .preuves__liste li { border-left: 0; border-top: 1px solid var(--cfm-border); padding: var(--cfm-s3) 0; font-size: 1.1875rem; }
  .preuves__liste li:first-child { border-top: 0; }
}

/* ---------- Titres de section : H2, filet 2 px bleu nuit, étiquette à droite ---------- */
.titre-section {
  display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: var(--cfm-s2) var(--cfm-s4);
  padding-bottom: var(--cfm-s2); border-bottom: var(--cfm-rule-strong) solid var(--cfm-bleu-nuit); margin-bottom: var(--cfm-s4);
}
.titre-section h2 { margin: 0; flex: 1 1 0; min-width: min(100%, 14em); max-width: 22em; }
.titre-section .cfm-label { white-space: nowrap; }
/* Colonne étroite (profil) et mobile : l'étiquette passe au-dessus du titre. */
.profil__texte .titre-section { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
.profil__texte .titre-section .cfm-label { order: -1; }
@media (max-width: 767px) {
  .titre-section { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
  .titre-section .cfm-label { order: -1; }
}

/* Deux sections ivoire consécutives : un seul espacement, le filet du titre fait la séparation. */
.cfm-section:not(.cfm-section--inverse) + .cfm-section:not(.cfm-section--inverse) { padding-top: var(--cfm-s4); }

/* Chiffres alignés (Playfair compose par défaut en chiffres elzéviriens) */
.prestation__no, .etape__no { font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }
.cfm-section--inverse .titre-section { border-bottom-color: var(--cfm-ivoire); }
.chapeau-section { max-width: var(--mesure); color: var(--cfm-text-muted); margin-bottom: var(--cfm-s6); }

/* ---------- Prestations ---------- */
.prestations { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--cfm-s3); }
.prestation { display: flex; flex-direction: column; }
.prestation__no {
  font-family: var(--cfm-font-display); font-weight: 700; font-size: 1.75rem; line-height: 1; color: var(--cfm-bleu-nuit);
}
.prestation__no::after { content: ""; display: block; width: 32px; height: 2px; background: var(--cfm-or); margin: 0.875rem 0 1.25rem; }
.prestation h3 { margin-bottom: 0.75rem; }
.prestation p { margin: 0; font-size: var(--texte-carte); line-height: var(--interligne-carte); color: var(--cfm-text-muted); }
.prestation--large { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--cfm-s3) var(--cfm-s8); align-items: start; }
.prestation--large p { max-width: 36em; }
@media (max-width: 1023px) {
  .prestations { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .prestation--large { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 639px) {
  .prestations { grid-template-columns: minmax(0, 1fr); }
  .prestation { padding: var(--cfm-s3); }
}

/* Listes à puces en filets or */
.liste-filets { list-style: none; }
.liste-filets li { position: relative; padding: 0.875rem 0 0.875rem 2rem; border-bottom: 1px solid var(--cfm-border); }
.liste-filets li::before { content: ""; position: absolute; left: 0; top: calc(0.875rem + 0.8em); width: 16px; height: 2px; background: var(--cfm-or); }
.liste-filets li:first-child { border-top: 1px solid var(--cfm-border); }
.liste-filets small { display: block; font-size: var(--texte-carte); color: var(--cfm-text-muted); line-height: var(--interligne-carte); }
.prestation--large .liste-filets li { font-size: var(--texte-carte); }

/* ---------- Méthode : frise horizontale reliée par un filet or ---------- */
.frise { list-style: none; position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--cfm-s4); }
.frise::before { content: ""; position: absolute; left: 0; right: 0; top: 1.75rem; height: 1px; background: var(--cfm-or); }
.etape { position: relative; }
.etape__no {
  display: inline-block; position: relative; background: var(--cfm-bg); padding-right: var(--cfm-s2);
  font-family: var(--cfm-font-display); font-weight: 900; font-size: 3.5rem; line-height: 1; color: var(--cfm-bleu-nuit);
  margin-bottom: var(--cfm-s3);
}
.etape h3 { margin-bottom: 0.75rem; }
.etape p { margin: 0; color: var(--cfm-text-muted); font-size: var(--texte-carte); line-height: var(--interligne-carte); }
@media (max-width: 899px) {
  .frise { grid-template-columns: minmax(0, 1fr); gap: var(--cfm-s4); }
  .frise::before { top: 0; bottom: 0; left: 1.25rem; right: auto; width: 1px; height: auto; }
  .etape { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); column-gap: var(--cfm-s3); }
  .etape__no { grid-row: 1 / span 2; align-self: start; font-size: 2.5rem; padding: 0 0 var(--cfm-s1); text-align: center; margin: 0; }
  .etape h3 { padding-top: 0.25rem; }
}

/* ---------- Piliers QHSE ---------- */
.piliers { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--cfm-s4); }
.cfm-pillar h3.cfm-label { margin: 0 0 0.5rem; color: var(--cfm-bleu-nuit); }
.cfm-pillar p { margin: 0; font-size: var(--texte-carte); line-height: var(--interligne-carte); color: var(--cfm-text-muted); }
@media (max-width: 1023px) { .piliers { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--cfm-s6); } }
@media (max-width: 479px) { .piliers { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Bandeau sceau ---------- */
.sceau { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: var(--cfm-s8); align-items: center; }
.sceau img { width: 240px; height: 240px; }
.sceau h2 { max-width: 20em; }
.sceau p { color: var(--cfm-inverse-muted); max-width: var(--mesure); margin-bottom: var(--cfm-s4); }
.cfm-section--inverse .cfm-btn--inverse:hover { color: var(--cfm-bleu-nuit); }
@media (max-width: 767px) {
  .sceau { grid-template-columns: minmax(0, 1fr); gap: var(--cfm-s4); }
  .sceau img { width: 180px; height: 180px; }
}

/* ---------- Livrables ---------- */
.livrables { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--cfm-s8); align-items: start; }
.livrables .liste-filets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--cfm-s4); }
.livrables .liste-filets li:nth-child(2) { border-top: 1px solid var(--cfm-border); }
.rapport { margin: 0; }
.rapport figcaption { margin-bottom: var(--cfm-s3); }
.rapport figcaption .cfm-label { display: block; margin-bottom: 0.5rem; }
.rapport__titre { display: block; font-family: var(--cfm-font-display); font-weight: 700; font-size: 1.25rem; line-height: 1.3; }
.rapport .cfm-table td:last-child, .rapport .cfm-table th:last-child { text-align: right; white-space: nowrap; }
.rapport .cfm-table th { border-bottom-width: 1px; }
.etat { font-size: var(--cfm-label); font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cfm-text-muted); }
.etat--fait { color: var(--cfm-vert); }
.etat--decision { color: var(--cfm-bleu-nuit); }
.rapport__pied { margin: var(--cfm-s3) 0 0; font-size: var(--texte-carte); color: var(--cfm-text-muted); }
.rapport .cfm-table { font-size: var(--texte-carte); }
@media (max-width: 1023px) {
  .livrables { grid-template-columns: minmax(0, 1fr); gap: var(--cfm-s6); }
}
@media (max-width: 639px) {
  .livrables .liste-filets { grid-template-columns: minmax(0, 1fr); }
  .livrables .liste-filets li:nth-child(2) { border-top: 0; }
  .rapport.cfm-card { padding: var(--cfm-s3); }
}

/* ---------- Pour qui ---------- */
.publics { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cfm-s3); }
.public h3 { margin-bottom: 0.5rem; }
.public p { margin: 0; color: var(--cfm-text-muted); font-size: var(--texte-carte); line-height: var(--interligne-carte); }
@media (max-width: 639px) {
  .publics { grid-template-columns: minmax(0, 1fr); }
  .public { padding: var(--cfm-s3); }
}

/* ---------- Profil ---------- */
.profil { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--cfm-s8); align-items: start; }
.cartouche { order: -1; background: var(--cfm-bleu-nuit); color: var(--cfm-ivoire); padding: var(--cfm-s6) var(--cfm-s4) var(--cfm-s4); }
.cartouche img { width: 200px; height: 200px; margin: 0 auto var(--cfm-s4); }
.cartouche__nom { font-family: var(--cfm-font-display); font-weight: 700; font-size: 1.5rem; line-height: 1.25; margin: 0 0 0.5rem; }
.cartouche__role { margin: 0; font-size: var(--cfm-label); font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--cfm-or); line-height: 1.5; }
.cartouche ul { list-style: none; margin-top: var(--cfm-s4); border-top: 1px solid var(--filet-inverse); }
.cartouche li { padding: 0.75rem 0; border-bottom: 1px solid var(--filet-inverse); font-size: var(--texte-carte); line-height: var(--interligne-carte); color: var(--cfm-inverse-muted); }
.profil__texte p { max-width: var(--mesure); }
.citation {
  margin: var(--cfm-s4) 0; padding: 0.25rem 0 0.25rem var(--cfm-s3); border-left: 2px solid var(--cfm-or);
  font-family: var(--cfm-font-display); font-weight: 700; font-size: 1.375rem; line-height: 1.35; color: var(--cfm-bleu-nuit); max-width: 30em;
}
.citation p { margin: 0; }
.profil__texte .references { max-width: none; }
.references { margin: 0; padding-top: var(--cfm-s2); border-top: 1px solid var(--cfm-border); font-size: var(--texte-carte); color: var(--cfm-text-muted); }
.references strong { color: var(--cfm-bleu-nuit); font-weight: 600; }
@media (max-width: 899px) {
  .profil { grid-template-columns: minmax(0, 1fr); gap: var(--cfm-s6); }
  .cartouche { order: 0; }
}

/* ---------- Contact ---------- */
.contact { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--cfm-s8); align-items: start; }
.contact__texte p { max-width: var(--mesure); }
.contact__bloc .cfm-label { display: block; margin-bottom: 0.75rem; }
.contact__lieu { margin: var(--cfm-s4) 0 0; padding-top: var(--cfm-s3); border-top: 1px solid var(--cfm-border); }
.contact__lieu strong { display: block; font-family: var(--cfm-font-display); font-weight: 700; font-size: 1.375rem; line-height: 1.3; color: var(--cfm-bleu-nuit); }
@media (max-width: 899px) {
  .contact { grid-template-columns: minmax(0, 1fr); gap: var(--cfm-s4); }
}

/* ---------- Pied de page ---------- */
.site-pied .cfm-label { color: var(--cfm-inverse-muted); margin: 0 0 0.75rem; }
.site-pied .cfm-footer__logo img { width: 240px; height: auto; margin-left: calc(240px * -48 / 748.7); }
.pied__grille { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--cfm-s6); padding-bottom: var(--cfm-s6); }
.pied__grille ul { list-style: none; }
.pied__grille li { margin: 0; }
.pied__grille a, .pied__grille address a { display: inline-flex; align-items: center; min-height: 44px; }
.pied__grille address { line-height: 1.6; }
.pied__grille address { color: var(--cfm-ivoire); }
.pied__qhse {
  margin: 0; padding: var(--cfm-s3) 0; border-top: 1px solid var(--filet-inverse);
  font-size: var(--cfm-overline); font-weight: 600; letter-spacing: 0.3em; text-transform: uppercase; color: var(--cfm-or); line-height: 1.6;
}
.pied__mentions { border-top: 1px solid var(--filet-inverse); padding: var(--cfm-s2) 0; }
.pied__mentions summary {
  cursor: pointer; min-height: 44px; display: flex; align-items: center; gap: 0.75rem; list-style: none;
  color: var(--cfm-ivoire); font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; font-size: var(--cfm-label);
}
.pied__mentions summary::-webkit-details-marker { display: none; }
.pied__mentions summary::before { content: ""; width: 16px; height: 2px; background: var(--cfm-or); flex: none; }
.pied__mentions summary:hover { color: var(--cfm-or); }
.pied__mentions[open] summary { margin-bottom: var(--cfm-s2); }
.mentions { columns: 2 22rem; column-gap: var(--cfm-s6); }
.mentions p { margin: 0 0 var(--cfm-s2); max-width: var(--mesure); line-height: 1.6; break-inside: avoid; }
.mentions strong { color: var(--cfm-ivoire); font-weight: 600; }
.mentions a { text-decoration: underline; text-decoration-color: var(--cfm-or); text-underline-offset: 0.2em; }
.pied__bas {
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--cfm-s1) var(--cfm-s4);
  border-top: 1px solid var(--filet-inverse); padding-top: var(--cfm-s3); font-size: 0.8125rem;
}
@media (max-width: 1023px) {
  .pied__grille { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pied__grille > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 639px) {
  .pied__grille { grid-template-columns: minmax(0, 1fr); gap: var(--cfm-s4); }
}

/* ---------- Page 404 ---------- */
body:has(.page-404) { min-height: 100vh; display: flex; flex-direction: column; }
.page-404 { flex: 1 0 auto; min-height: 60vh; display: flex; align-items: center; }
.page-404 > .cfm-container { width: 100%; }
.page-404 + .site-pied .pied__qhse { border-top: 0; padding-top: 0; }
.page-404 h1 { margin-bottom: var(--cfm-s3); }
.page-404 p { max-width: 40em; color: var(--cfm-text-muted); margin-bottom: var(--cfm-s4); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; }
}
@media print {
  .site-entete { position: static; }
  .bouton-menu, .site-nav, .evitement { display: none !important; }
  .cfm-section--inverse, .cfm-footer, .cartouche { background: none; color: var(--cfm-bleu-nuit); }
}
