/* ============================================================
   LA PAGE « COMING SOON » (3.69.0) - la feuille de route.
   Trois etapes, chacune NUMEROTEE et NOMMEE (Tres bientot, 2027,
   le grand objectif) : rien ne repose sur la couleur. Confine sous
   .vex-avenir ; un seul theme sombre, comme les animations.
   ============================================================ */
.vex-avenir {
  --bg: #0f1211; --panneau: #161a19; --trait: #2b3331; --texte: #ece6d8; --doux: #9aa4a0;
  --or: #d6a93f; --or-clair: #f0cf7a;
  --titre: 'Arial Narrow', 'Roboto Condensed', 'Helvetica Neue', Arial, sans-serif;
  --corps: system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  color-scheme: dark; background: var(--bg); color: var(--texte); font-family: var(--corps); font-size: 15.5px; line-height: 1.55;
  border-radius: 14px; padding: 20px 18px; margin: 18px 0 24px; display: grid; gap: 0;
}
.vex-avenir *, .vex-avenir *::before, .vex-avenir *::after { box-sizing: border-box; }
.vex-avenir .va-etape { position: relative; padding: 0 0 22px 46px; margin: 0; border: 0; background: none; }
/* le fil de la frise : un trait continu, en tirets pour l'objectif lointain */
.vex-avenir .va-etape::before { content: ''; position: absolute; left: 15px; top: 34px; bottom: 0; border-left: 3px solid var(--trait); }
.vex-avenir .va-but::before { border-left-style: dashed; }
.vex-avenir .va-etape:last-child { padding-bottom: 0; }
.vex-avenir .va-quand { font-family: var(--titre); font-weight: 800; font-size: 21px; letter-spacing: .06em; text-transform: uppercase; color: var(--or-clair); margin: 0 0 12px; padding: 0; background: none; border: 0; line-height: 34px; }
.vex-avenir .va-repere { position: absolute; left: 0; top: 0; width: 34px; height: 34px; border-radius: 50%; background: var(--or); color: #1a1405; font-size: 18px; text-align: center; line-height: 34px; letter-spacing: 0; border: 3px solid var(--or-clair); }
.vex-avenir .va-cartes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 640px) { .vex-avenir .va-cartes { grid-template-columns: 1fr; } }
.vex-avenir .va-carte { background: var(--panneau); border: 1px solid var(--trait); border-radius: 12px; padding: 14px 16px; }
.vex-avenir .va-large { grid-column: 1 / -1; }
.vex-avenir .va-but .va-carte { border: 2px dashed var(--or); }
.vex-avenir h3 { font-family: var(--titre); font-weight: 800; font-size: 20px; letter-spacing: .02em; color: var(--texte); margin: 0 0 6px; padding: 0; border: 0; background: none; }
.vex-avenir p { margin: 0 0 6px; color: var(--texte); }
.vex-avenir p:last-child { margin-bottom: 0; }
.vex-avenir ul { margin: 6px 0 10px; padding-left: 1.2em; }
.vex-avenir li { margin: 2px 0; color: var(--texte); }
.vex-avenir strong { color: var(--texte); }
@media (max-width: 560px) { .vex-avenir { padding: 16px 12px; } .vex-avenir .va-etape { padding-left: 42px; } .vex-avenir .va-quand { font-size: 18px; } }
