    /* Police hébergée ici, plus chez Google. C'est sur CETTE page que l'écart était le
       plus voyant : elle énumère cinq sous-traitants — Supabase, Stripe, Prodigi,
       Resend, OVH — et envoyait l'IP du lecteur à un sixième, non déclaré, au moment
       même où il lisait la liste. Voir le commentaire détaillé dans index.html. */
    @font-face {
      font-family: 'Space Grotesk';
      font-style: normal;
      font-weight: 300 700;
      font-display: swap;
      src: url('/assets/fonts/space-grotesk-latin.woff2') format('woff2');
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
    }
    @font-face {
      font-family: 'Space Grotesk';
      font-style: normal;
      font-weight: 300 700;
      font-display: swap;
      src: url('/assets/fonts/space-grotesk-latin-ext.woff2') format('woff2');
      unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --bg: #080808;
      --surface: #121212;
      --border: #1f1f1f;
      --accent: #F5AB00;
      --text: #F0EDE8;
      --muted: #555;
      --radius: 16px;
    }

    body {
      background: var(--bg);
      color: var(--text);
      font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
      font-size: 15px;
      line-height: 1.7;
      min-height: 100vh;
    }

    header {
      border-bottom: 1px solid var(--border);
      padding: 20px 24px;
      display: flex;
      align-items: center;
      gap: 16px;
    }

    header a {
      display: flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
      color: var(--text);
    }

    .logo-mark {
      width: 32px;
      height: 32px;
      border-radius: 8px;
      display: block;
    }

    .logo-name {
      font-size: 0.95rem;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
    }

    .header-sep { color: var(--border); font-size: 20px; margin-left: 4px; }
    .header-title { font-size: 14px; color: var(--muted); }

    main {
      max-width: 760px;
      margin: 0 auto;
      padding: 48px 24px 80px;
    }

    .page-header { margin-bottom: 48px; }

    .page-header h1 {
      font-size: 32px;
      font-weight: 800;
      letter-spacing: -0.5px;
      margin-bottom: 8px;
    }

    .page-header .meta { color: var(--muted); font-size: 13px; }
    .page-header .meta span { color: var(--accent); }

    .divider {
      border: none;
      border-top: 1px solid var(--border);
      margin: 36px 0;
    }

    article { margin-bottom: 36px; }

    article h2 {
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 1.2px;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 16px;
    }

    article p {
      color: #c8c8c8;
      margin-bottom: 10px;
    }

    article p:last-child { margin-bottom: 0; }

    table {
      width: 100%;
      border-collapse: collapse;
      margin-top: 8px;
      font-size: 14px;
    }

    th {
      text-align: left;
      padding: 10px 14px;
      background: var(--surface);
      color: var(--muted);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.8px;
      text-transform: uppercase;
      border-bottom: 1px solid var(--border);
    }

    td {
      padding: 12px 14px;
      color: #c8c8c8;
      border-bottom: 1px solid var(--border);
      vertical-align: top;
    }

    tr:last-child td { border-bottom: none; }
    td strong { color: var(--text); font-weight: 500; }

    .callout {
      background: var(--surface);
      border: 1px solid var(--border);
      border-left: 3px solid var(--accent);
      border-radius: 0 var(--radius) var(--radius) 0;
      padding: 14px 18px;
      margin-top: 12px;
      color: #b0b0b0;
      font-size: 14px;
    }

    ul {
      list-style: none;
      margin-top: 8px;
    }

    ul li {
      color: #c8c8c8;
      padding: 4px 0 4px 18px;
      position: relative;
      font-size: 14px;
    }

    ul li::before {
      content: '→';
      position: absolute;
      left: 0;
      color: var(--accent);
      font-size: 12px;
    }

    a { color: var(--accent); text-decoration: none; }
    a:hover { text-decoration: underline; }

    footer {
      border-top: 1px solid var(--border);
      padding: 24px;
      text-align: center;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.9;
    }

    footer a { color: var(--muted); text-decoration: underline; }
    footer a:hover { color: var(--text); }

    @media (max-width: 600px) {
      .page-header h1 { font-size: 26px; }
      .header-title { display: none; }
      table { font-size: 13px; }
      th, td { padding: 10px 10px; }
    }

    .info-block {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      padding: 20px 24px;
      margin-top: 4px;
    }

    .info-block p {
      margin-bottom: 6px;
      color: #c8c8c8;
      font-size: 14px;
    }

    .info-block p:last-child { margin-bottom: 0; }

    .info-block strong { color: var(--text); font-weight: 600; }

/* ── SÉLECTEUR DE LANGUE ──
   Trois liens, pas un <select> : ce sont de vraies URL, donc elles doivent être
   des liens — indexables, ouvrables dans un nouvel onglet, annoncés comme tels. */
.language-switch {
  display: inline-flex;
  gap: 2px;
  align-items: center;
  margin-left: 16px;
  font-size: 13px;
  letter-spacing: 0.04em;
}
.language-switch a {
  padding: 4px 7px;
  border-radius: 6px;
  color: #8a8a8a;
  text-decoration: none;
  transition: color 0.15s ease, background-color 0.15s ease;
}
.language-switch a:hover {
  color: #F0EDE8;
  background-color: rgba(255, 255, 255, 0.06);
}
.language-switch a[aria-current="page"] {
  color: #080808;
  background-color: #F5AB00;
  font-weight: 600;
}

/* ── PRÉÉMINENCE DE LA VERSION FRANÇAISE ──
   Trois traductions d'un contrat qui feraient également foi transformeraient
   tout écart de traduction en ambiguïté opposable. */
.legal-prevalence {
  margin: 0 0 32px;
  padding: 12px 16px;
  border-left: 3px solid #F5AB00;
  background-color: rgba(245, 171, 0, 0.06);
  font-size: 14px;
  line-height: 1.6;
  color: #b8b8b8;
}
.legal-prevalence a {
  color: #F5AB00;
}
