
  /* Timeline locale à la page À propos */
  .tl { position: relative; margin-top: 20px; }
  .tl::before { content:""; position:absolute; left:13px; top:6px; bottom:6px; width:2px; background:var(--gris); }
  .tl-item { position: relative; padding: 0 0 34px 52px; }
  .tl-item:last-child { padding-bottom: 0; }
  .tl-dot { position:absolute; left:4px; top:3px; width:20px; height:20px; border-radius:50%; background:var(--grad-thermo); box-shadow:0 0 0 5px #fff; }
  .tl-year { font-family:var(--ff-disp); font-size:.74rem; letter-spacing:.12em; color:var(--bleu); }
  .tl-item h4 { font-size:1.14rem; font-weight:650; margin:4px 0 6px; }
  .tl-item p { color:var(--gris-tx); font-size:.98rem; }
  .val-num { font-family:var(--ff-disp); font-size:.7rem; letter-spacing:.18em; color:var(--orange); }


  .contact-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:54px; align-items:start; }
  .form-card { background:#fff; border:1px solid var(--gris); border-radius:var(--radius); padding:38px; box-shadow:var(--shadow); }
  .form-ok { display:none; align-items:center; gap:12px; background:rgba(13,69,151,.08); color:var(--bleu); border-radius:var(--radius-sm); padding:16px 18px; font-weight:600; margin-bottom:6px; }
  .form-ok svg { width:22px; height:22px; flex-shrink:0; }
  @media (max-width:880px){ .contact-grid{ grid-template-columns:1fr; gap:40px; } .form-card{ padding:28px; } }
