  :root {
    color-scheme: light dark;
    --fond: #ffffff;
    --texte: #16181d;
    --doux: #5b6070;
    --trait: #e2e5ec;
    --accent: #4b6b12;
    --alerte: #8a5a00;
    --alerte-fond: #fff6e5;
  }
  @media (prefers-color-scheme: dark) {
    :root {
      --fond: #0b0c0f;
      --texte: #eceef3;
      --doux: #9aa0b0;
      --trait: #232733;
      --accent: #b9f227;
      --alerte: #ffcb6b;
      --alerte-fond: #2a2113;
    }
  }
  * { box-sizing: border-box; }
  body {
    margin: 0;
    background: var(--fond);
    color: var(--texte);
    font: 17px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    -webkit-text-size-adjust: 100%;
  }
  .enveloppe { max-width: 44rem; margin: 0 auto; padding: 2.5rem 1.25rem 5rem; }
  header { border-bottom: 1px solid var(--trait); padding-bottom: 1.5rem; margin-bottom: 2rem; }
  .marque { font-weight: 800; letter-spacing: -0.02em; font-size: 1.35rem; }
  .marque span { color: var(--accent); }
  nav { margin-top: 1rem; display: flex; flex-wrap: wrap; gap: 0.35rem 1.1rem; font-size: 0.9rem; }
  nav a { color: var(--doux); text-decoration: none; }
  nav a:hover, nav a:focus { color: var(--texte); text-decoration: underline; }
  nav a[aria-current="page"] { color: var(--texte); font-weight: 600; }
  h1 { font-size: 2rem; line-height: 1.2; letter-spacing: -0.025em; margin: 0 0 0.5rem; }
  .chapeau { color: var(--doux); margin: 0 0 2.5rem; }
  h2 { font-size: 1.2rem; margin: 2.5rem 0 0.6rem; letter-spacing: -0.01em; }
  p { margin: 0 0 1rem; }
  a { color: inherit; }
  dl { margin: 0; }
  dt { font-weight: 600; margin-top: 1rem; }
  dd { margin: 0; color: var(--doux); }
  .manque {
    display: inline-block;
    background: var(--alerte-fond);
    color: var(--alerte);
    border: 1px dashed currentColor;
    border-radius: 4px;
    padding: 0 0.4em;
    font-size: 0.9em;
  }
  /* « non publié par le prestataire » n'est pas une alerte : c'est un
     constat vérifié. Il se lit en gris, comme le reste des valeurs, et non
     en jaune comme ce qu'il nous reste à faire. */
  .sobre { color: var(--doux); font-style: normal; }
  .avis {
    background: var(--alerte-fond);
    color: var(--alerte);
    border-left: 3px solid currentColor;
    padding: 0.9rem 1.1rem;
    border-radius: 0 6px 6px 0;
    margin: 2rem 0;
  }
  .avis p { margin: 0; }
  .avis p + p { margin-top: 0.6rem; }
  footer {
    margin-top: 4rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--trait);
    color: var(--doux);
    font-size: 0.85rem;
  }