:root{
  --acier:#3B6E8F;
  --encre:#17324A;
  --texte:#2B3F50;
  --doux:#5A6E7D;
  --papier:#F6F8F9;
  --brume:#E1E9EE;
  --ligne:#CCD8E0;
  --accent:#C9653F;
  --accent-texte:#AD522D;
  --blanc:#FFFFFF;
  --serif:"Newsreader", Georgia, "Times New Roman", serif;
  --sans:"Public Sans", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --max:1120px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:90px}
body{margin:0;background:var(--blanc);color:var(--texte);font-family:var(--sans);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit}
img,svg{max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
h1,h2,h3{font-family:var(--serif);color:var(--encre);font-weight:500;margin:0;letter-spacing:-.01em;line-height:1.2}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}

/* ---------- En-tête ---------- */
.entete{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--ligne)}
.bande{height:10px;position:relative;background:transparent}
.bande::before{content:"";position:absolute;left:0;top:0;height:5px;width:48%;background:var(--encre)}
.bande::after{content:"";position:absolute;right:0;top:0;height:10px;width:52%;background:var(--encre)}
.entete .wrap{display:flex;align-items:center;gap:2rem;height:72px}
.marque{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--encre);margin-right:auto}
.marque svg{width:38px;height:38px;color:var(--acier)}
.marque span{font-family:var(--serif);font-size:1.45rem;font-weight:600;letter-spacing:.01em}
.nav{display:flex;align-items:center;gap:1.75rem;font-size:.95rem;font-weight:500}
.nav a{text-decoration:none;color:var(--texte);padding:.25rem 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--acier)}
.nav a[aria-current="page"]{color:var(--encre);border-bottom-color:var(--acier)}
.langue{font-size:.85rem;font-weight:600;color:var(--doux);letter-spacing:.04em}
.langue a{text-decoration:none}
.langue b{color:var(--encre)}
.bouton{display:inline-block;background:var(--acier);color:var(--blanc);text-decoration:none;font-weight:600;font-size:.95rem;padding:.7rem 1.2rem;border-radius:4px;border:1px solid var(--acier)}
.bouton:hover{background:var(--encre);border-color:var(--encre)}
.bouton.clair{background:var(--blanc);color:var(--encre);border-color:var(--blanc)}
.bouton.clair:hover{background:var(--brume)}
.menu-btn{display:none;background:none;border:1px solid var(--ligne);border-radius:4px;padding:.45rem .7rem;font:600 .9rem var(--sans);color:var(--encre);cursor:pointer}

/* ---------- Accueil ---------- */
.hero{position:relative;overflow:hidden;background:var(--papier);border-bottom:1px solid var(--ligne)}
.hero .wrap{position:relative;z-index:1;padding-top:clamp(4rem,9vw,7rem);padding-bottom:clamp(4rem,9vw,7rem)}
.hero h1{font-size:clamp(2.4rem,5.4vw,4.1rem);line-height:1.06;max-width:15ch}
.hero p{font-size:clamp(1.1rem,1.6vw,1.3rem);max-width:34rem;margin:1.6rem 0 2.2rem;color:var(--texte)}
.hero .actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem}
.hero .actions a.lien{font-weight:600;color:var(--encre);text-underline-offset:5px;text-decoration-color:var(--acier)}
.hero .bouton{padding:.95rem 1.6rem;font-size:1rem}
.cavalier-fond{position:absolute;right:-2%;bottom:0;width:min(50vw,620px);aspect-ratio:1;color:var(--brume);z-index:0;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 32%);mask-image:linear-gradient(90deg,transparent 0%,#000 32%)}

section.bloc{padding:clamp(3.5rem,7vw,5.5rem) 0}
.titre-section{display:flex;align-items:baseline;gap:1rem;margin-bottom:2.5rem;flex-wrap:wrap}
.titre-section h2{font-size:clamp(1.8rem,3.2vw,2.5rem);line-height:1.15}
.sur-titre{display:block;font-size:.95rem;font-weight:600;color:var(--acier);margin-bottom:.6rem}

/* Trois questions : une vraie séquence */
.questions{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--encre)}
.question{padding:1.6rem 1.8rem 1.6rem 0}
.question + .question{padding-left:1.8rem;border-left:1px solid var(--ligne)}
.question .num{font-family:var(--serif);font-size:3rem;line-height:1;color:var(--acier);display:block;margin-bottom:.9rem}
.question h3{font-size:1.3rem;line-height:1.35}
.suite{margin-top:2rem}
.suite a{font-weight:600;color:var(--encre);text-underline-offset:5px;text-decoration-color:var(--acier)}

/* Diagnostic */
.diag{background:var(--papier);border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne)}
.diag .grille{display:grid;grid-template-columns:5fr 6fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.diag h2{font-size:clamp(1.8rem,3.2vw,2.5rem);line-height:1.15}
.diag .intro{margin:1.4rem 0 2rem;max-width:32rem}
.dossier{background:var(--blanc);border:1px solid var(--ligne);border-top:4px solid var(--acier);padding:1.8rem 2rem}
.dossier h3{font-size:1.25rem;margin-bottom:1rem}
.dossier ul{list-style:none;margin:0;padding:0}
.dossier li{padding:.7rem 0 .7rem 1.6rem;border-bottom:1px solid var(--brume);position:relative}
.dossier li::before{content:"";position:absolute;left:0;top:1.25rem;width:.6rem;height:2px;background:var(--acier)}
.dossier .note{margin:1.2rem 0 0;font-size:.97rem;color:var(--doux)}

/* Principe */
.principe .grille{display:grid;grid-template-columns:5fr 6fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.principe blockquote{margin:0;font-family:var(--serif);font-size:clamp(1.6rem,2.8vw,2.2rem);line-height:1.25;color:var(--encre);border-left:3px solid var(--accent);padding-left:1.5rem}
.principe .texte p{margin:0 0 1rem}

/* À propos */
.apropos{border-top:1px solid var(--ligne)}
.apropos .grille{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem)}
.apropos h3{font-size:1.5rem;margin-bottom:.3rem}
.titres{font-weight:600;color:var(--acier);margin:0 0 1rem}
.apropos p{margin:0 0 1rem}
.a-valider{outline:2px dashed var(--accent);outline-offset:10px;position:relative}
.a-valider::after{content:"À valider";position:absolute;top:-1.9rem;right:0;font:600 .72rem var(--sans);color:var(--blanc);background:var(--accent-texte);padding:.15rem .5rem;border-radius:2px}

/* Appel final */
.final{background:var(--encre);color:#DCE6EC}
.final .wrap{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;padding-top:clamp(3rem,6vw,4.5rem);padding-bottom:clamp(3rem,6vw,4.5rem)}
.final h2{color:var(--blanc);font-size:clamp(1.8rem,3.2vw,2.5rem)}
.final p{margin:.8rem 0 0;max-width:38rem}

/* Pied de page */
.pied{background:#10263A;color:#A9BCCB;font-size:.92rem}
.pied .wrap{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;align-items:center;justify-content:space-between;padding-top:2rem;padding-bottom:2rem}
.pied .marque{color:var(--blanc);margin:0}
.pied .marque svg{color:#8FB0C6;width:30px;height:30px}
.pied .marque span{font-size:1.2rem}
.pied p{margin:0;font-style:italic;font-family:var(--serif);font-size:1.05rem;color:#C9D6E0}
.pied nav{display:flex;gap:1.2rem}
.pied a{color:#C9D6E0}

@media (max-width:900px){
  .nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--blanc);flex-direction:column;align-items:flex-start;padding:1rem clamp(1.25rem,4vw,2.5rem) 1.5rem;border-bottom:1px solid var(--ligne);gap:1rem}
  .nav.ouvert{display:flex}
  .menu-btn{display:block}
  .entete .bouton.haut{display:none}
  .questions{grid-template-columns:1fr}
  .question,.question + .question{padding:1.4rem 0;border-left:none;border-bottom:1px solid var(--ligne)}
  .diag .grille,.principe .grille,.apropos .grille{grid-template-columns:1fr}
  .final .wrap{grid-template-columns:1fr}
  .cavalier-fond{width:70vw;right:-18vw;opacity:.7}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- Pages intérieures ---------- */
.entete-page{background:var(--papier);border-bottom:1px solid var(--ligne)}
.entete-page .wrap{padding-top:clamp(3rem,7vw,5rem);padding-bottom:clamp(3rem,7vw,4.5rem)}
.entete-page h1{font-size:clamp(2.2rem,4.6vw,3.4rem);line-height:1.08;max-width:18ch}
.entete-page p.chapeau{font-size:clamp(1.1rem,1.5vw,1.25rem);max-width:36rem;margin:1.4rem 0 0}
.deux-col{display:grid;grid-template-columns:5fr 6fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.deux-col h2{font-size:clamp(1.8rem,3.2vw,2.5rem);line-height:1.15}
.deux-col .intro{margin:1.3rem 0 0;max-width:32rem}
.note-finale{margin-top:1.6rem;color:var(--doux);font-style:italic;font-family:var(--serif);font-size:1.15rem;max-width:30rem}
.liste-questions{list-style:none;margin:0;padding:0;border-top:2px solid var(--encre)}
.liste-questions li{font-family:var(--serif);font-size:1.3rem;color:var(--encre);padding:1rem 0;border-bottom:1px solid var(--ligne);line-height:1.3}
.fond-papier{background:var(--papier);border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne)}
.livrable{counter-reset:item;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:3rem;border-top:2px solid var(--encre)}
.livrable li{counter-increment:item;display:grid;grid-template-columns:2.2rem 1fr;gap:.6rem;padding:1.05rem 0;border-bottom:1px solid var(--ligne)}
.livrable li::before{content:counter(item);font-family:var(--serif);font-size:1.5rem;line-height:1.1;color:var(--acier)}
.question-cle{margin-top:2.5rem;background:var(--blanc);border:1px solid var(--ligne);border-left:3px solid var(--acier);padding:1.4rem 1.6rem;max-width:46rem}
.question-cle p{margin:0;font-family:var(--serif);font-size:1.3rem;line-height:1.35;color:var(--encre)}
.question-cle span{display:block;font-family:var(--sans);font-size:.95rem;font-weight:600;color:var(--acier);margin-bottom:.4rem}
.resultats{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--encre)}
.resultat{padding:1.4rem 1.4rem 1.4rem 0}
.resultat + .resultat{padding-left:1.4rem;border-left:1px solid var(--ligne)}
.resultat h3{font-size:1.5rem;margin-bottom:.5rem}
.resultat p{margin:0;font-size:1rem}
.resultat.arreter h3{color:var(--accent-texte)}
.rappel{margin-top:2.2rem;border-left:3px solid var(--accent);padding:.2rem 0 .2rem 1.4rem;max-width:44rem}
.rappel p{margin:0}
.rappel strong{color:var(--encre)}
.applications{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3.5rem)}
.application{background:var(--blanc);border:1px solid var(--ligne);border-top:4px solid var(--acier);padding:2rem}
.application h3{font-size:1.6rem;margin-bottom:1rem}
.application p{margin:0 0 1rem}
.engagement{background:var(--papier);padding:1rem 1.2rem;margin:1.2rem 0 0;font-size:.98rem}
.engagement strong{color:var(--encre)}
.experience{font-size:.95rem;color:var(--doux);margin-top:1.2rem!important}
.prix{font-family:var(--serif);font-size:clamp(2rem,4vw,2.8rem);color:var(--encre);line-height:1.1;margin:0 0 .6rem}
.etapes{list-style:none;margin:2.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--encre);counter-reset:e}
.etapes li::before{counter-increment:e;content:counter(e);display:block;font-family:var(--serif);font-weight:400;font-size:2.2rem;color:var(--acier);line-height:1;margin-bottom:.6rem}
.etapes li{padding:1.2rem 1.2rem 0 0;font-weight:600;color:var(--encre)}
.etapes li span{display:block;font-family:var(--serif);font-weight:400;font-size:2.2rem;color:var(--acier);line-height:1;margin-bottom:.6rem}
.declaration{text-align:center;padding:clamp(3rem,6vw,4.5rem) 0;border-top:1px solid var(--ligne)}
.declaration p{font-family:var(--serif);font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.3;color:var(--encre);max-width:40rem;margin:0 auto}
.declaration p + p{margin-top:.8rem;color:var(--texte);font-size:clamp(1.15rem,2vw,1.45rem)}
@media (max-width:900px){
  .deux-col,.applications{grid-template-columns:1fr}
  .livrable{grid-template-columns:1fr}
  .resultats{grid-template-columns:1fr 1fr}
  .resultat,.resultat + .resultat{padding:1.2rem 1rem 1.2rem 0;border-left:none;border-bottom:1px solid var(--ligne)}
  .etapes{grid-template-columns:1fr 1fr;row-gap:1.2rem}
}
@media (max-width:520px){.resultats{grid-template-columns:1fr}}

/* ---------- Méthode ---------- */
.questions-detail{list-style:none;margin:0;padding:0;border-top:2px solid var(--encre);counter-reset:q}
.questions-detail li::before{counter-increment:q;content:counter(q);font-family:var(--serif);font-size:3rem;line-height:1;color:var(--acier)}
.questions-detail li{display:grid;grid-template-columns:4rem 5fr 6fr;gap:clamp(1rem,3vw,2.5rem);padding:1.8rem 0;border-bottom:1px solid var(--ligne);align-items:start}
.questions-detail .num{font-family:var(--serif);font-size:3rem;line-height:1;color:var(--acier)}
.questions-detail h3{font-size:1.4rem;line-height:1.3}
.questions-detail p{margin:0}
.matrice{display:grid;grid-template-columns:minmax(7rem,auto) 1fr 1fr;gap:0;margin-top:1rem}
.matrice .axe{font-size:.9rem;font-weight:600;color:var(--doux);padding:.8rem 1rem}
.matrice .axe-col{border-bottom:2px solid var(--encre);display:flex;align-items:flex-end}
.matrice .axe-ligne{border-right:2px solid var(--encre);display:flex;align-items:flex-start;padding-top:1.4rem}
.matrice .axe b{color:var(--encre)}
.matrice .titre-axe{grid-column:2 / 4;font-size:.95rem;font-weight:600;color:var(--acier);padding:0 1rem .3rem}
.cellule{padding:1.4rem 1.5rem;border-right:1px solid var(--ligne);border-bottom:1px solid var(--ligne);background:var(--blanc)}
.cellule h3{font-size:1.35rem;margin-bottom:.5rem}
.cellule p{margin:0;font-size:.98rem}
.cellule.verifier{background:var(--acier);color:#EAF1F5}
.cellule.verifier h3{color:var(--blanc)}
.cellule.residuelle{background:#FBF1EC}
.cellule.residuelle h3{color:var(--accent-texte)}
.cellule.ecarter{background:var(--papier);color:var(--doux)}
.cellule.ecarter h3{color:var(--doux)}
.lecture-mobile{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.chaine{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--encre);counter-reset:c}
.chaine li::before{counter-increment:c;content:counter(c);font-family:var(--serif);font-size:2.2rem;color:var(--acier);line-height:1;display:block;margin-bottom:.6rem}
.chaine li{padding:1.5rem 1.5rem 0 0}
.chaine li + li{padding-left:1.5rem;border-left:1px solid var(--ligne)}
.chaine .num{font-family:var(--serif);font-size:2.2rem;color:var(--acier);line-height:1;display:block;margin-bottom:.6rem}
.chaine h3{font-size:1.35rem}
.chaine .sous{display:block;margin-top:.3rem;font-family:var(--sans);font-size:.95rem;font-weight:600;color:var(--acier);margin:.3rem 0 .7rem}
.chaine p{margin:0;font-size:1rem}
.issues{list-style:none;padding:0;margin-bottom:0;display:flex;flex-wrap:wrap;margin-top:2.2rem;border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne)}
.issues li{flex:1 1 8rem;text-align:center;font-family:var(--serif);font-size:1.4rem;color:var(--encre);padding:.9rem .5rem}
.issues li + li{border-left:1px solid var(--ligne)}
.issues li:last-child{color:var(--accent-texte)}
.limites{display:grid;grid-template-columns:1fr 1fr;column-gap:3rem;border-top:2px solid var(--encre)}
.limites article{padding:1.6rem 0;border-bottom:1px solid var(--ligne)}
.limites h3{font-size:1.35rem;margin-bottom:.6rem}
.limites p{margin:0}
@media (max-width:900px){
  .questions-detail li{grid-template-columns:3rem 1fr}
  .questions-detail p{grid-column:2}
  .matrice{grid-template-columns:1fr}
  .matrice .axe,.matrice .titre-axe{display:none}
  .cellule{border-right:none}
  .lecture-mobile{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;display:block;font-size:.88rem;font-weight:600;margin:0 0 .5rem;opacity:.85}
  .chaine,.limites{grid-template-columns:1fr}
  .chaine li,.chaine li + li{padding:1.4rem 0;border-left:none;border-bottom:1px solid var(--ligne)}
}

/* ---------- Contact ---------- */
.grille-contact{display:grid;grid-template-columns:7fr 4fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.grille-contact h2{font-size:clamp(1.6rem,2.6vw,2rem)}
.explication{color:var(--doux);margin:.6rem 0 2rem}
.identite{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;padding-bottom:1.6rem;margin-bottom:.4rem;border-bottom:1px solid var(--ligne)}
.identite .large{grid-column:1 / -1}
.champ{margin-bottom:1.6rem}
.champ label{display:block;font-weight:600;color:var(--encre);margin-bottom:.4rem;line-height:1.4}
.champ .num{font-family:var(--serif);font-weight:400;font-size:1.3rem;color:var(--acier);margin-right:.35rem}
.facultatif{font-weight:400;color:var(--doux);font-size:.92rem}
.aide{margin:0 0 .5rem;font-size:.93rem;color:var(--doux)}
.champ input,.champ textarea{width:100%;font:inherit;font-size:1rem;color:var(--encre);background:var(--blanc);border:1px solid #B5C5D0;border-radius:3px;padding:.7rem .8rem}
.champ textarea{min-height:7.5rem;resize:vertical;line-height:1.55}
.champ input:focus,.champ textarea:focus{outline:2px solid var(--acier);outline-offset:1px;border-color:var(--acier)}
.compteur{display:block;text-align:right;font-size:.8rem;color:var(--doux);margin-top:.25rem}
.pot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.envoi{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:.5rem}
button.bouton{font:inherit;font-weight:600;cursor:pointer;padding:.9rem 1.5rem}
button.secondaire{background:var(--blanc);color:var(--encre);border:1px solid var(--ligne)}
button.secondaire:hover{background:var(--papier)}
.note-envoi{font-size:.93rem;color:var(--doux);margin:1rem 0 0}
.message{margin:1rem 0 0;padding:0;font-weight:500;color:var(--encre)}
.message:not(:empty){padding:1rem 1.2rem;background:var(--papier);border-left:3px solid var(--acier)}
.coordonnees{background:var(--papier);border:1px solid var(--ligne);border-top:4px solid var(--acier);padding:1.8rem;position:sticky;top:100px}
.coordonnees h2{font-size:1.4rem!important;margin-bottom:1rem}
.coordonnees .nom{font-family:var(--serif);font-size:1.25rem;color:var(--encre);margin:0}
.coordonnees .fonction{margin:.2rem 0 1rem;color:var(--doux);font-size:.95rem}
.coordonnees .courriel{font-weight:600;color:var(--acier);font-size:1.05rem}
.coordonnees .encadre{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--ligne);font-size:.95rem}
.coordonnees .encadre p{margin:0}
@media (max-width:900px){
  .grille-contact{grid-template-columns:1fr}
  .coordonnees{position:static}
  .identite{grid-template-columns:1fr}
}
[hidden]{display:none!important}
.identite .champ{margin-bottom:0}

.cellule{position:relative}
.texte-manuel{width:100%;min-height:10rem;margin-top:1rem;font:inherit;font-size:.92rem;padding:.7rem;border:1px solid var(--ligne)}

/* ---------- Pages légales ---------- */
.texte-legal > *{max-width:46rem}
.texte-legal h2{font-size:1.5rem;margin:2.4rem 0 .7rem}
.texte-legal h2:first-child{margin-top:0}
.texte-legal p{margin:0 0 1rem}
.texte-legal ul{margin:0 0 1rem;padding-left:1.2rem}
.texte-legal li{margin:.4rem 0}
.texte-legal a{color:var(--acier);font-weight:500}
.texte-legal .resume{background:var(--papier);border-left:3px solid var(--acier);padding:1.1rem 1.3rem;font-size:1.05rem;color:var(--encre);margin-bottom:2.2rem}
.a-valider-ligne{outline:2px dashed var(--accent);outline-offset:6px}

/* ---------- Lien d'évitement ---------- */
.evitement{position:absolute;left:1rem;top:-4rem;z-index:50;background:var(--encre);color:var(--blanc);padding:.6rem 1rem;border-radius:3px;font-weight:600;text-decoration:none}
.evitement:focus{top:1rem}
.pied nav{flex-wrap:wrap}
.note-envoi p{margin:0 0 .5rem}
div.note-envoi{border-top:1px solid var(--ligne);padding-top:1rem;margin-top:1.2rem}
.coordonnees .telephone{display:block;margin-top:.4rem;font-weight:600;color:var(--encre);text-decoration:none}
.coordonnees .telephone:hover{color:var(--acier)}

/* ---------- Exemple ---------- */
.bloc.exemple{padding-top:clamp(2.5rem,5vw,3.5rem);padding-bottom:0}
.encadre-exemple{border:1px solid var(--ligne);border-left:4px solid var(--accent);background:var(--blanc);padding:1.8rem 2rem;max-width:52rem}
.encadre-exemple .sur-titre{color:var(--accent-texte)}
.encadre-exemple .exemple-texte{font-family:var(--serif);font-size:1.3rem;line-height:1.4;color:var(--encre);margin:.2rem 0 1rem}
.encadre-exemple p:last-child{margin:0}
:lang(en) .a-valider::after{content:"To confirm"}

/* ---------- IA et applications ---------- */
.bloc.ia{border-top:1px solid var(--ligne)}
.bloc.ia h2{font-size:clamp(1.8rem,3.2vw,2.5rem);line-height:1.15}
.ia-accroche{font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,1.6rem);line-height:1.3;color:var(--encre);margin:0 0 1rem}
.applications{grid-template-columns:repeat(auto-fit,minmax(19rem,1fr))}

/* ---------- Reconnaissance (accueil) ---------- */
.reconnaissance{border-bottom:1px solid var(--ligne)}
.reconnaissance h2{font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.15}
.reconnaissance .moment{margin:1.2rem 0 0;color:var(--doux);max-width:28rem}
.faut-il{list-style:none;margin:0;padding:0;border-top:2px solid var(--encre)}
.faut-il li{font-family:var(--serif);font-size:clamp(1.15rem,1.8vw,1.35rem);line-height:1.35;color:var(--encre);padding:.85rem 0 .85rem 1.4rem;border-bottom:1px solid var(--ligne);position:relative}
.faut-il li::before{content:"";position:absolute;left:0;top:1.45rem;width:.6rem;height:2px;background:var(--acier)}
.dossier .issues{margin:1.2rem 0 0;font-size:.97rem;color:var(--texte)}
.decision-client{margin:1.6rem 0 0;font-family:var(--serif);font-size:1.2rem;color:var(--encre)}

/* ---------- Accueil v4 ---------- */
.hero .sur-titre{margin-bottom:1rem}
.hero h1.accroche{max-width:19ch}
.hero p.confiance{margin:1.6rem 0 0;font-size:.95rem;color:var(--doux);max-width:none}
.reconnaissance .risque{margin:1.4rem 0 0;max-width:28rem}
.diag .prix{font-family:var(--serif);font-size:1.25rem;color:var(--encre);margin:0 0 1.6rem;max-width:30rem}
.parcours{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--encre);counter-reset:pc}
.parcours li{counter-increment:pc;padding:1.6rem 1.8rem 1.6rem 0}
.parcours li + li{padding-left:1.8rem;border-left:1px solid var(--ligne)}
.parcours li::before{content:counter(pc);font-family:var(--serif);font-size:3rem;line-height:1;color:var(--acier);display:block;margin-bottom:.9rem}
.parcours h3{font-size:1.25rem;line-height:1.35;margin-bottom:.6rem}
.parcours p{margin:0}
.parcours + .suite{margin-top:2.2rem}
.engagements{list-style:none;margin:0;padding:0}
.engagements li{padding:0 0 1.1rem}
.engagements strong{display:block;color:var(--encre)}
.objection{margin:3rem 0 0;padding-top:2rem;border-top:1px solid var(--ligne);max-width:46rem}
.objection p{margin:0;font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.45rem);line-height:1.4;color:var(--encre)}
.qui{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--ligne);max-width:46rem;scroll-margin-top:100px}
.qui h3{font-size:1.25rem;margin-bottom:.8rem}
.qui .nom{font-weight:600;color:var(--encre);margin:0}
.qui p{margin:0 0 1rem}
.benefice{margin:2rem 0 0;max-width:40rem}
.final .sans-frais{font-weight:600;color:var(--blanc)}
.final .contact-final{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem}
.final .tel{color:#DCE6EC;font-weight:600;text-underline-offset:4px}
@media (max-width:900px){
  .parcours{grid-template-columns:1fr}
  .parcours li + li{padding-left:0;border-left:0;border-top:1px solid var(--ligne)}
}
.suite a.bouton{color:var(--blanc);text-decoration:none}
#fonctionnement + .principe,.principe + .bloc{border-top:1px solid var(--ligne)}

/* ---------- Exemple (accueil v5) ---------- */
.bloc.exemple{padding-top:clamp(2.5rem,5vw,3.5rem);padding-bottom:0}
.encadre-exemple{border-left:3px solid var(--accent);background:var(--papier);padding:1.6rem 1.8rem;max-width:52rem}
.encadre-exemple h2{font-family:var(--sans);font-size:.95rem;font-weight:600;color:var(--accent-texte);margin:0 0 .6rem;letter-spacing:0}
.encadre-exemple p{margin:0;font-family:var(--serif);font-size:clamp(1.1rem,1.7vw,1.3rem);line-height:1.45;color:var(--encre)}
.diag .intro + .intro{margin-top:-.8rem}

/* ---------- Accueil v6 : accroche et trois portes ---------- */
.hero h1.accroche{max-width:22ch;font-size:clamp(2.2rem,4.8vw,3.7rem);line-height:1.08}
.hero h1.accroche + p{max-width:38rem}
.portes{padding-top:clamp(3rem,6vw,4.5rem);padding-bottom:clamp(3rem,6vw,4.5rem);border-bottom:1px solid var(--ligne)}
.portes h2{font-size:clamp(1.6rem,2.8vw,2.1rem);margin-bottom:1.8rem}
.grille-portes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.5vw,1.6rem)}
.porte{display:flex;flex-direction:column;text-decoration:none;color:var(--texte);background:var(--blanc);border:1px solid var(--ligne);border-top:4px solid var(--acier);padding:1.6rem 1.6rem 1.4rem;transition:border-color .15s,box-shadow .15s,transform .15s}
.porte:hover{border-color:var(--acier);box-shadow:0 6px 20px rgba(23,50,74,.10);transform:translateY(-2px)}
.porte:nth-child(2){border-top-color:var(--accent)}
.porte:nth-child(3){border-top-color:var(--encre)}
.porte-num{font-family:var(--serif);font-size:2.2rem;line-height:1;color:var(--acier);margin-bottom:.8rem}
.porte:nth-child(2) .porte-num{color:var(--accent-texte)}
.porte:nth-child(3) .porte-num{color:var(--encre)}
.porte h3{font-size:1.3rem;line-height:1.3;margin-bottom:.7rem}
.porte p{margin:0 0 1.2rem;font-size:.98rem;flex:1}
.porte-lien{font-weight:600;color:var(--encre);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--acier)}
.porte-lien::after{content:"\00a0\2192"}
.reconnaissance h2{max-width:20ch}
.liste-titre{font-weight:600;color:var(--acier);margin:0 0 .6rem;font-size:.95rem}
.diag .confidentiel{margin:2.2rem 0 1.8rem;font-size:.97rem;color:var(--doux);max-width:30rem}
.final h2{max-width:24ch;line-height:1.2}
@media (max-width:900px){.grille-portes{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.porte:hover{transform:none}}

/* ---------- Accueil v6.1 : bandeau compact et aperçu du dossier ---------- */
.hero-v61 .wrap{padding-top:clamp(2.5rem,5vw,4rem);padding-bottom:clamp(2.5rem,5vw,4rem)}
.hero-grille{display:grid;grid-template-columns:7fr 5fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero-v61 h1.accroche{font-size:clamp(2.3rem,4.6vw,3.6rem);line-height:1.06;max-width:15ch}
.hero-v61 p.hero-sous{margin:1.4rem 0 2rem;max-width:34rem}
.hero-v61 p.confiance{margin-top:1.3rem}
.apercu-dossier{margin:0;position:relative}
.apercu-dossier::before{content:"";position:absolute;inset:14px -10px -12px 12px;background:var(--brume);border:1px solid var(--ligne);transform:rotate(2deg)}
.feuille{position:relative;background:var(--blanc);border:1px solid var(--ligne);border-top:5px solid var(--encre);box-shadow:0 14px 34px rgba(23,50,74,.13);padding:1.3rem 1.4rem 1.2rem;transform:rotate(-1deg);font-size:.88rem;line-height:1.4}
.feuille-tete{display:flex;justify-content:space-between;align-items:center;padding-bottom:.7rem;border-bottom:1px solid var(--ligne)}
.feuille-marque{display:flex;align-items:center;gap:.4rem;font-family:var(--serif);font-weight:600;color:var(--encre);font-size:1rem}
.feuille-marque svg{width:20px;height:20px;color:var(--acier)}
.feuille-type{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--doux)}
.feuille-projet{margin:.8rem 0 .4rem;font-family:var(--serif);font-size:1.05rem;color:var(--encre);line-height:1.3}
.feuille-projet span{display:block;font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-texte);margin-bottom:.2rem}
.dossier-ligne{display:grid;grid-template-columns:1.6rem 1fr;gap:.5rem;padding:.55rem 0;border-bottom:1px solid var(--brume)}
.dossier-num{font-family:var(--serif);font-size:1.15rem;color:var(--acier);line-height:1.1}
.dossier-etiquette{display:block;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--acier);margin-bottom:.1rem}
.dossier-ligne p{margin:0;color:var(--encre)}
.feuille-issue{padding-top:.7rem}
.issues-choix{display:flex;gap:.4rem;margin-top:.35rem}
.issues-choix span{flex:1;text-align:center;border:1px solid var(--ligne);padding:.3rem .2rem;font-family:var(--serif);font-size:.95rem;color:var(--encre);background:var(--papier)}
.issues-choix span:last-child{color:var(--accent-texte)}
@media (max-width:900px){
  .hero-grille{grid-template-columns:1fr}
  .apercu-dossier{display:none}
}
.hero-v61 h1.accroche{max-width:none}
.hero-v61 .feuille p{font-size:.9rem;max-width:none;margin:0;line-height:1.35}
.hero-v61 .feuille p.feuille-projet{font-size:1rem;margin:.7rem 0 .3rem}
.hero-v61 .dossier-ligne{padding:.45rem 0}
.hero-v61 .feuille{padding:1.1rem 1.3rem 1rem}
.hero-v61 .issues-choix span{font-size:.88rem;padding:.25rem .2rem}
.portes{padding-top:clamp(2.2rem,4vw,3.2rem)}
.portes{padding-top:1.8rem}
section.bloc.portes{padding-top:1.8rem}

/* ---------- Accueil v6.2 : carte allégée, plus d'air ---------- */
.hero-v61 .feuille{padding:1.2rem 1.4rem 1.1rem}
.hero-v61 .feuille-projet span{color:var(--doux);font-weight:500}
.hero-v61 .dossier-ligne{padding:.6rem 0}
.hero-v61 .apercu-dossier{max-width:400px;justify-self:end;width:100%}
.hero-v61 p.hero-sous{margin:1.6rem 0 2rem;max-width:36rem}

/* ---------- Accueil v6.3 : question d'accroche isolée, orange réservé à l'indépendance ---------- */
.hero-v61 p.hero-question{margin:1.6rem 0 0;max-width:36rem;font-family:var(--serif);font-size:clamp(1.25rem,1.9vw,1.5rem);line-height:1.35;color:var(--encre)}
.hero-v61 p.hero-question + p.hero-sous{margin-top:.9rem}
/* Portes : une seule famille de bleus */
.porte:nth-child(2){border-top-color:var(--acier)}
.porte:nth-child(2) .porte-num{color:var(--acier)}
.porte:nth-child(3){border-top-color:var(--acier)}
.porte:nth-child(3) .porte-num{color:var(--acier)}
/* Exemple : bleu au lieu d'orange */
.encadre-exemple{border-left-color:var(--acier)}
.encadre-exemple h2,.encadre-exemple .sur-titre{color:var(--acier)}
.hero-v61 p.hero-question{font-size:clamp(1.15rem,1.65vw,1.32rem);max-width:none}

/* ---------- Accueil v6.4 : hiérarchie titre > question > promesse ---------- */
.hero-v61 p.hero-question{font-family:var(--serif);font-size:clamp(1.35rem,2.2vw,1.7rem);line-height:1.3;color:var(--acier);font-weight:500;border-left:3px solid var(--acier);padding-left:1rem;margin:1.7rem 0 0;max-width:none}
.hero-v61 p.hero-question + p.hero-sous{margin-top:1rem;font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.6;color:var(--texte)}

/* ---------- Accueil v6.5 : question sans barre, un seul bord gauche ---------- */
.hero-v61 p.hero-question{border-left:0;padding-left:0}

/* ---------- Accueil v6.6 : plus d'air au-dessus des boutons ---------- */
.hero-v61 p.hero-sous{margin-bottom:2.75rem}

/* ---------- Accueil v6.8 : issues imprimées, pas des boutons ---------- */
.hero-v61 .issues-choix{display:flex;gap:0;margin-top:.35rem;align-items:baseline}
.hero-v61 .issues-choix span{flex:none;border:0;background:none;padding:0;text-align:left;font-family:var(--serif);font-size:1rem;color:var(--encre);cursor:default}
.hero-v61 .issues-choix span + span::before{content:"";display:inline-block;width:1px;height:.9em;background:var(--ligne);margin:0 .75rem;vertical-align:-.1em}
.hero-v61 .issues-choix span:last-child{color:var(--accent-texte)}

/* ---------- Accueil v6.9 : « Votre décision », cases imprimées ---------- */
.hero-v61 .issues-cases{display:flex;flex-direction:column;gap:.3rem;margin-top:.45rem}
.hero-v61 .issues-cases span{display:flex;align-items:center;gap:.6rem;font-family:var(--serif);font-size:1rem;line-height:1.2;color:var(--encre);cursor:default}
.hero-v61 .issues-cases span::before{content:"";flex:none;width:.72rem;height:.72rem;border:1px solid var(--doux);border-radius:1px;background:transparent}
.hero-v61 .issues-cases span:last-child{color:var(--accent-texte)}

/* ---------- Accueil v7.0 : le titre d'abord, la carte en second plan ---------- */
.hero-v61 .hero-grille{align-items:start}
.hero-v61 .apercu-dossier{margin-top:var(--decalage-carte,2.9rem)}
.hero-v61 .feuille{border-top:3px solid var(--acier);box-shadow:0 8px 22px rgba(23,50,74,.08)}
.hero-v61 .apercu-dossier::before{opacity:.7}

/* v7.1 : lien « Voir la méthode » à côté du bouton dans la section du diagnostic */
.diag .actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem}
.diag .actions a.lien{font-weight:600;color:var(--encre);text-underline-offset:5px;text-decoration-color:var(--acier)}

/* v7.2 : encadré pointillé de la phrase de confidentialité (sans étiquette « À valider ») */
.diag .confidentiel{outline:2px dashed var(--accent);outline-offset:10px}

/* v7.5 : téléphone seulement — resserrer les espacements pour réduire le défilement.
   Rien ne change au-delà de 600 px de largeur. */
@media (max-width:600px){
  .hero-v61 .wrap{padding-top:1.8rem;padding-bottom:2rem}
  .hero-v61 p.hero-sous{margin:1rem 0 1.4rem}
  section.bloc{padding:2.25rem 0}
  .portes{padding-top:2rem;padding-bottom:2rem}
  .bloc.exemple{padding-top:2rem;padding-bottom:0}
  .final .wrap{padding-top:2.25rem;padding-bottom:2.25rem;gap:1.4rem}
  .titre-section{margin-bottom:1.4rem}
  .portes h2{margin-bottom:1.2rem}

  /* Cartes « Quelle est votre situation? » : numéro à côté du titre */
  .grille-portes{gap:.8rem}
  .porte{display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;align-items:baseline;padding:1.1rem 1.1rem 1rem}
  .porte-num{font-size:1.6rem;margin:0}
  .porte h3{font-size:1.15rem;margin:0 0 .5rem}
  .porte p,.porte-lien{grid-column:1/-1}
  .porte p{margin:0 0 .8rem}

  /* Section du problème */
  .reconnaissance .grille,.reconnaissance .wrap{row-gap:1.6rem}
  .liste-questions li{font-size:1.1rem;padding:.7rem 0}

  /* Section du diagnostic */
  .diag .grille{gap:1.8rem}
  .diag .intro{margin:1rem 0 1.2rem}
  .diag .prix{font-size:1.15rem;margin-bottom:1.2rem}
  .diag .confidentiel{margin:1.4rem 0 1.6rem}
  .dossier{padding:1.2rem 1.2rem}
  .dossier li{padding:.5rem 0 .5rem 1.4rem}
  .dossier li::before{top:1.05rem}

  /* Exemple */
  .encadre-exemple{padding:1.2rem 1.2rem}

  /* Comment ça fonctionne : numéro à gauche */
  .parcours li{display:grid;grid-template-columns:2.2rem 1fr;align-items:baseline;padding:1rem 0}
  .parcours li::before{font-size:2rem;margin:0;grid-row:1 / span 2}
  .parcours h3{grid-column:2;font-size:1.1rem;margin-bottom:.35rem}
  .parcours p{grid-column:2}
  .parcours + .suite{margin-top:1.4rem}

  /* Pourquoi RD-PREP */
  .principe .grille{gap:1.6rem}
  .principe blockquote{font-size:1.3rem;padding-left:1rem}
  .engagements li{padding-bottom:.8rem}
  .objection{margin-top:1.8rem;padding-top:1.4rem}
  .objection p{font-size:1.15rem}
  .qui{margin-top:1.8rem;padding-top:1.4rem}
}
