:root{--nuit:#1b1640;--nuit2:#2a2160;--orange:#ee6a1f;--orange2:#f39a17;--violet:#6a2bb0;--fond:#f4f4f9;--texte:#22213a;--gris:#5c5b75;--carte:#ffffff;--ligne:#e3e2ef}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--fond);color:var(--texte);line-height:1.55;font-size:17px}
a{color:var(--orange)}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
header.top{background:var(--nuit);color:#fff}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;font-size:21px;letter-spacing:.2px}
.logo img{width:36px;height:36px;border-radius:9px}
header.top nav a{color:#d9d6f5;text-decoration:none;font-size:15px;margin-left:18px}
.hero{background:linear-gradient(160deg,var(--nuit) 0%,var(--nuit2) 55%,var(--violet) 100%);color:#fff;padding:56px 0 64px}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.hero h1{font-size:44px;line-height:1.1;margin:0 0 16px;letter-spacing:-.5px}
.hero h1 span{color:var(--orange2)}
.hero p.sous{font-size:19px;color:#e2dff7;margin:0 0 28px;max-width:34em}
.btn{display:inline-block;background:linear-gradient(90deg,var(--orange2),var(--orange));color:#fff;text-decoration:none;font-weight:700;padding:14px 24px;border-radius:12px;font-size:17px}
.petit{font-size:14px;color:#c9c5ea;margin-top:12px}
.tel{justify-self:center;width:260px;background:#0f0c26;border-radius:34px;padding:12px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.ecran{background:var(--fond);border-radius:24px;padding:18px 14px;color:var(--texte)}
.ecran .t{font-size:13px;color:var(--gris)}
.ecran .km{font-size:38px;font-weight:800;color:var(--nuit);margin:2px 0 10px}
.ecran .ligne{background:#fff;border-radius:12px;padding:10px 12px;margin-bottom:8px;font-size:13px;display:flex;justify-content:space-between;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.ecran .pro{color:#2e7d32;font-weight:700}
section{padding:56px 0}
h2{font-size:30px;margin:0 0 8px;color:var(--nuit)}
.intro{color:var(--gris);margin:0 0 28px;max-width:40em}
.grille{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.carte{background:var(--carte);border:1px solid var(--ligne);border-radius:16px;padding:22px}
.carte .ic{font-size:28px}
.carte h3{margin:8px 0 6px;font-size:18px;color:var(--nuit)}
.carte p{margin:0;color:var(--gris);font-size:15px}
.metiers{display:flex;flex-wrap:wrap;gap:10px}
.metiers span{background:#fff;border:1px solid var(--ligne);border-radius:999px;padding:9px 16px;font-size:15px}
.etapes{counter-reset:e;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.etape{background:#fff;border:1px solid var(--ligne);border-radius:16px;padding:22px;position:relative}
.etape::before{counter-increment:e;content:counter(e);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--orange);color:#fff;font-weight:800;margin-bottom:10px}
.etape h3{margin:0 0 6px;font-size:18px;color:var(--nuit)}
.etape p{margin:0;color:var(--gris);font-size:15px}
.prix{background:var(--nuit);color:#fff;border-radius:20px;padding:34px;text-align:center}
.prix h2{color:#fff}
.prix p{color:#d9d6f5}
footer{background:#120f2c;color:#bdb9e0;padding:34px 0;font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
footer a{color:#fff;text-decoration:none;margin-right:16px}
.doc{background:#fff;border:1px solid var(--ligne);border-radius:18px;padding:28px;margin:36px auto}
.doc h1{color:var(--nuit);font-size:32px;margin-top:0}
.doc h2{font-size:22px;margin-top:28px}
.doc p,.doc li{color:#33324d}
.maj{color:var(--gris);font-size:14px}
@media (max-width:820px){
 .hero .wrap{grid-template-columns:1fr}
 .hero h1{font-size:34px}
 .grille,.etapes{grid-template-columns:1fr}
 header.top nav{display:none}
 .tel{width:240px}
}
