:root{
  --fond:#F4F1EB; --surface:#FFFFFF; --encre:#14213D; --texte2:#3D475C; --discret:#4A5468;
  --bordure:#D9D3C7; --accent:#F08A3E; --accent-fonce:#B4470F; --accent-clair:#FCE3D2;
  --bloc:#14213D; --bloc-texte:#FFFFFF; --bloc-texte2:#D5DAE5;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root{
    --fond:#10182B; --surface:#18233A; --encre:#EEF1F6; --texte2:#C3CAD8; --discret:#A3ACBD;
    --bordure:#2E3B57; --accent:#F29A55; --accent-fonce:#F6AE74; --accent-clair:#3A2C25;
    --bloc:#22304D; --bloc-texte:#FFFFFF; --bloc-texte2:#C9D1E0;
    color-scheme: dark;
  }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--fond);color:var(--encre);font-family:'Source Sans 3','Segoe UI',system-ui,sans-serif;font-size:18px;line-height:1.55}
a{color:var(--encre)} a:hover{color:var(--accent-fonce)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
h1,h2,h3,.titre{line-height:1.15;font-family:'Archivo','Arial Narrow',sans-serif;letter-spacing:-0.02em}
.conteneur{max-width:1200px;margin:0 auto;padding:0 24px}
.etroit{max-width:760px}
.entete{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding-top:24px;padding-bottom:24px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--encre)}
.logo span{font-family:'Archivo',sans-serif;font-weight:800;font-size:24px;letter-spacing:-0.02em}
.nav{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center}
.nav a{text-decoration:none;font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:999px;font-weight:600;text-decoration:none;font-size:17px;font-family:inherit;cursor:pointer;border:1.5px solid transparent}
.btn-plein{background:var(--accent);color:#14213D}
.btn-plein:hover{color:#14213D;filter:brightness(1.05)}
.btn-contour{background:var(--surface);color:var(--encre);border-color:var(--encre)}
.btn-sombre{background:var(--encre);color:var(--fond)}
.btn-sombre:hover{color:var(--fond)}
.nav .btn{min-height:44px;padding:0 20px}
.accroche{display:flex;flex-wrap:wrap;gap:56px;align-items:center;padding-top:40px;padding-bottom:80px}
.accroche-texte{flex:1 1 460px;min-width:0}
.pastille{display:inline-block;margin:0 0 20px;padding:6px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--bordure);font-size:15px;font-weight:600}
h1{margin:0 0 24px;font-weight:800;font-size:clamp(40px,5.2vw,68px);line-height:1.02;letter-spacing:-0.03em}
.chapeau{margin:0 0 32px;font-size:20px;color:var(--texte2);max-width:34em}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.trajet{flex:1 1 380px;min-width:0;background:var(--surface);border:1px solid var(--bordure);border-radius:20px;padding:28px}
.trajet-tete{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;align-items:baseline;margin-bottom:20px}
.trajet-tete p{margin:0}
.trajet-tete .titre{font-weight:800;font-size:22px}
.petit{font-size:15px;color:var(--discret)}
.ligne{display:flex;align-items:center;margin-bottom:8px}
.ligne .trait{flex:1;height:3px;background:var(--encre)}
.ligne .ext{width:14px;height:14px;border-radius:50%;background:var(--encre);flex:none}
.ligne .etape{width:12px;height:12px;border-radius:50%;background:var(--surface);border:3px solid var(--accent);flex:none}
.villes{display:flex;justify-content:space-between;font-size:14px;color:var(--discret);margin-bottom:28px}
.sous-titre{margin:0 0 8px;font-weight:600;font-size:16px}
.jauge{display:flex;height:18px;border-radius:999px;overflow:hidden;background:var(--accent-clair);margin-bottom:8px}
.jauge span{width:33%;background:var(--encre)}
.objets{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:10px}
.objets li{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--fond);border-radius:12px;font-size:16px}
.objets li span:last-child{color:var(--discret)}
.trajet .btn{width:100%;border-radius:12px;min-height:48px}
section{scroll-margin-top:16px}
.bande{background:var(--surface);padding:88px 0}
.section{padding:88px 0}
h2{margin:0 0 12px;font-weight:800;font-size:clamp(32px,3.6vw,44px)}
.intro{margin:0 0 48px;color:var(--texte2);font-size:20px}
.deux-col{display:flex;flex-wrap:wrap;gap:32px}
.parcours{flex:1 1 420px;min-width:0;border:1px solid var(--bordure);border-radius:20px;padding:32px}
.parcours .titre{margin:0 0 24px;font-weight:800;font-size:24px}
.parcours ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:20px;counter-reset:pas}
.parcours li{display:flex;gap:16px;align-items:flex-start;counter-increment:pas}
.parcours li::before{content:counter(pas);flex:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;background:var(--accent);color:#14213D}
.parcours.conducteur li::before{background:var(--encre);color:var(--fond)}
.parcours strong{display:block}
.grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}
.atout{background:var(--surface);border-radius:20px;padding:28px}
.atout svg{stroke:var(--accent-fonce)}
.atout h3{margin:16px 0 8px;font-size:20px}
.atout p{margin:0;color:var(--texte2)}
.appel{background:var(--bloc);color:var(--bloc-texte);border-radius:28px;padding:56px 48px;display:flex;flex-wrap:wrap;gap:40px;align-items:center;justify-content:space-between}
.appel h2{font-size:clamp(28px,3.2vw,40px)}
.appel p{margin:0;font-size:19px;color:var(--bloc-texte2)}
.appel-texte{flex:1 1 400px;min-width:0}
.appel-form{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:14px}
.appel-form label{font-size:15px;color:var(--bloc-texte2)}
.champ-ligne{display:flex;flex-wrap:wrap;gap:8px}
.champ-ligne input[type=email]{flex:1 1 200px;min-width:0;min-height:48px;border-radius:999px;border:0;padding:0 20px;font-size:16px;font-family:inherit;color:#14213D;background:#FFFFFF}
.btn-blanc{min-height:48px;padding:0 22px;background:transparent;color:#FFFFFF;border-color:#FFFFFF}
.consentement{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--bloc-texte2)}
.consentement input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--accent)}
.consentement a{color:#FFFFFF}
.cache{position:absolute;left:-9999px}
.pied{border-top:1px solid var(--bordure);padding:28px 0;margin-top:0}
.pied .conteneur{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;font-size:15px;color:var(--discret)}
.pied a{color:var(--discret)}
.page-texte{padding:32px 0 88px}
.page-texte h1{font-size:clamp(34px,4.4vw,48px)}
.page-texte h2{font-size:26px;margin-top:40px}
.page-texte p,.page-texte li{color:var(--texte2)}
.a-completer{background:var(--accent-clair);color:var(--encre);padding:1px 6px;border-radius:6px;font-weight:600}
.carte-merci{background:var(--surface);border-radius:24px;padding:48px 36px;text-align:center;margin-top:40px}
@media (max-width:600px){
  .appel{padding:40px 24px}
  .bande,.section{padding:64px 0}
}
