/* ==========================================================
   Vérif Arnaque : feuille de style (charte « La Fondation »)
   Vert profond, crème, sable, un filet doré.
   Titres Libre Baskerville, texte Lato.
   ========================================================== */

:root{
  --vert:#1E5A46;
  --vert-fonce:#154434;
  --vert-nuit:#123A2D;
  --creme:#FAF8F2;
  --blanc:#FFFFFF;
  --sable:#EEE9DC;
  --or:#B8923B;
  --or-pale:#F3EAD3;
  --texte:#26302B;
  --sourdine:#5F6B65;
  --ligne:#E2DCCB;
  --ligne-forte:#CDC5AE;
  --ok:#2F7D5B;    --ok-pale:#E1F0E8;
  --ambre:#C48A1E; --ambre-pale:#F8EDD6;
  --rouge:#A93F3F; --rouge-pale:#F5E2E2;

  --serif:"Libre Baskerville", Georgia, "Times New Roman", serif;
  --sans:"Lato", "Helvetica Neue", Arial, sans-serif;
  --mono:"IBM Plex Mono", "SF Mono", Menlo, Consolas, monospace;

  --largeur:1120px;
  --rayon:4px;
  --ombre:0 1px 2px rgba(30,90,70,.05), 0 14px 30px -16px rgba(30,90,70,.22);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} *{transition:none!important;animation:none!important} }

body{
  margin:0;
  font-family:var(--sans);
  font-size:17px;
  line-height:1.65;
  color:var(--texte);
  background:var(--creme);
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%}
a{color:var(--vert);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--vert-fonce)}
:focus-visible{outline:3px solid var(--or);outline-offset:3px;border-radius:3px}

h1,h2,h3,h4{font-family:var(--serif);color:var(--vert);line-height:1.2;margin:0 0 .5em;text-wrap:balance;font-weight:700}
h1{font-size:clamp(1.9rem,3.9vw,2.9rem);letter-spacing:-.005em}
h2{font-size:clamp(1.55rem,2.7vw,2.1rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em}
.conteneur{max-width:var(--largeur);margin:0 auto;padding:0 24px}
.prose{max-width:66ch}

.sur-titre{
  font-family:var(--sans);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--or);margin:0 0 .9rem;display:block
}
.chapeau{font-size:1.12rem;color:var(--sourdine);max-width:62ch}

/* ---------- Boutons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--vert);color:#fff;text-decoration:none;
  padding:.8rem 1.35rem;border-radius:var(--rayon);font-weight:700;font-size:.98rem;
  border:1px solid var(--vert);cursor:pointer;font-family:var(--sans);
  transition:background .15s;
}
.btn:hover{background:var(--vert-fonce);color:#fff}
.btn-secondaire{background:transparent;color:var(--vert);border-color:var(--vert)}
.btn-secondaire:hover{background:var(--sable);color:var(--vert)}
.btn-clair{background:var(--creme);color:var(--vert);border-color:var(--creme)}
.btn-clair:hover{background:#fff;color:var(--vert)}
.btn-grand{padding:1rem 1.7rem;font-size:1.02rem}

/* ---------- En-tête (fond blanc pour le logo) ---------- */
header.site{background:var(--blanc);border-bottom:1px solid var(--ligne);position:sticky;top:0;z-index:50}
.nav{max-width:var(--largeur);margin:0 auto;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;text-decoration:none}
.logo-image{height:62px;width:auto;display:block}
nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px}
nav a{color:var(--texte);text-decoration:none;padding:.5rem .65rem;border-radius:var(--rayon);font-weight:700;font-size:.92rem;white-space:nowrap}
@media (max-width:1180px){ .logo-image{height:52px} nav a{padding:.5rem .5rem;font-size:.88rem} }
nav a:hover{background:var(--sable);color:var(--vert)}
nav a.actif{color:var(--vert);box-shadow:inset 0 -2px 0 var(--or)}
nav a.btn{background:var(--vert);color:#fff;border-color:var(--vert);margin-left:10px}
nav a.btn:hover{background:var(--vert-fonce);color:#fff;box-shadow:none}
.nav-burger{display:none}
@media (max-width:860px){
  nav{display:none}
  .nav-burger{display:inline-flex;padding:.6rem 1rem}
  .logo-image{height:44px}
}
/* bandeau de confiance sous le menu */
.confiance{background:var(--sable);border-bottom:1px solid var(--ligne);font-size:.82rem;font-weight:700;color:var(--vert);letter-spacing:.02em}
.confiance .conteneur{display:flex;flex-wrap:wrap;gap:6px 28px;padding-top:7px;padding-bottom:7px}
.confiance span::before{content:"";display:inline-block;width:14px;height:14px;margin-right:7px;vertical-align:-2px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Ccircle cx='7' cy='7' r='7' fill='%231E5A46'/%3E%3Cpath d='M4 7.2l2.1 2.1L10 5.2' fill='none' stroke='%23FAF8F2' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain}
@media (max-width:600px){ .confiance span:nth-child(3){display:none} }

/* ---------- Sections ---------- */
section{padding:72px 0}
section.compacte{padding:48px 0}
section.blanche{background:var(--blanc);border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne)}
section.sombre{background:var(--vert);color:#E4EDE8}
section.sombre h2,section.sombre h3{color:#fff}
section.sombre .sur-titre{color:#D9BE7A}
section.sombre .chapeau{color:#C3D5CB}
.en-tete-section{margin-bottom:40px}
.en-tete-section h2{margin-bottom:.4em}

/* ---------- Héros ---------- */
.hero{padding:72px 0 64px;background:linear-gradient(180deg,var(--blanc) 0%,var(--creme) 100%);border-bottom:1px solid var(--ligne)}
.hero .conteneur{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hero h1{margin-bottom:.55em}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:1.6rem 0 1rem}
.hero-note{color:var(--sourdine);font-size:.95rem;margin:0}
.hero-note b{color:var(--texte);font-weight:700}
@media (max-width:900px){ .hero .conteneur{grid-template-columns:1fr;gap:40px} }

/* ---------- Rapport d'évaluation (maquette) ---------- */
.rapport{
  background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);box-shadow:var(--ombre);
  padding:22px 24px;font-size:.92rem;max-width:460px;margin-left:auto;position:relative
}
.rapport::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--vert)}
.rapport-tete{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--ligne);padding-bottom:12px;margin-bottom:14px}
.rapport-tete strong{font-family:var(--serif);font-size:1rem;color:var(--vert)}
.rapport-ref{font-family:var(--mono);font-size:.7rem;color:var(--sourdine);letter-spacing:.04em}
.rapport-objet{color:var(--sourdine);margin-bottom:12px}
.rapport-objet b{color:var(--texte);font-weight:700}
.verdict{
  display:inline-flex;align-items:center;gap:.5rem;padding:.38rem .8rem;border-radius:var(--rayon);
  font-family:var(--sans);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700
}
.verdict::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor}
.verdict-vert{background:var(--ok-pale);color:var(--ok)}
.verdict-ambre{background:var(--ambre-pale);color:var(--ambre)}
.verdict-rouge{background:var(--rouge);color:#fff}
.rapport-lignes{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:9px}
.rapport-lignes li{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;line-height:1.4}
.rapport-lignes li::before{content:"";width:12px;height:12px;border-radius:50%;margin-top:5px}
.rapport-lignes li.ok::before{background:var(--ok)}
.rapport-lignes li.risque::before{background:var(--ambre)}
.rapport-lignes li.fraude::before{background:var(--rouge)}
.rapport-lignes small{display:block;color:var(--sourdine);grid-column:2;margin-top:-4px}
.rapport-reco{margin:16px 0 0;padding:12px 14px;background:var(--sable);border-left:3px solid var(--or);border-radius:0 var(--rayon) var(--rayon) 0}
.rapport-reco b{color:var(--vert)}
@media (max-width:900px){ .rapport{margin-left:0;max-width:none} }

/* ---------- Échelle de verdict ---------- */
.echelle{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.echelle > div{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:20px 22px;border-top-width:4px}
.echelle .v-vert{border-top-color:var(--ok)}
.echelle .v-ambre{border-top-color:var(--ambre)}
.echelle .v-rouge{border-top-color:var(--rouge)}
.echelle h3{font-family:var(--sans);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.6rem}
.echelle .v-vert h3{color:var(--ok)} .echelle .v-ambre h3{color:var(--ambre)} .echelle .v-rouge h3{color:var(--rouge)}
.echelle p{margin:0;color:var(--sourdine);font-size:.97rem}
@media (max-width:760px){ .echelle{grid-template-columns:1fr} }

/* ---------- Grilles génériques ---------- */
.grille-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grille-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.grille-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:960px){ .grille-4{grid-template-columns:repeat(2,1fr)} }
@media (max-width:760px){ .grille-3,.grille-2,.grille-4{grid-template-columns:1fr} }

.carte{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:26px 26px 22px}
.carte h3{margin-bottom:.45rem}
.carte p{margin:0;color:var(--sourdine);font-size:.98rem}
.carte .icone{width:40px;height:40px;border-radius:50%;background:var(--sable);color:var(--vert);display:grid;place-items:center;margin-bottom:16px}
.carte .icone svg{width:22px;height:22px}

/* Liste des éléments vérifiables */
.liste-elements{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px 28px}
.liste-elements li{display:flex;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--ligne);font-size:.98rem}
.liste-elements li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--or);margin-top:10px}
.liste-elements li b{display:block;color:var(--vert);font-weight:700}
.liste-elements li span{color:var(--sourdine);font-size:.92rem}
@media (max-width:860px){ .liste-elements{grid-template-columns:1fr 1fr} }
@media (max-width:600px){ .liste-elements{grid-template-columns:1fr} }

/* ---------- Étapes ---------- */
.etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:etape;border:1px solid var(--ligne);border-radius:var(--rayon);background:var(--blanc);overflow:hidden}
.etapes li{counter-increment:etape;padding:26px 24px;border-right:1px solid var(--ligne)}
.etapes li:last-child{border-right:0}
.etapes li::before{content:counter(etape,decimal-leading-zero);font-family:var(--serif);font-size:1.1rem;color:var(--or);display:block;margin-bottom:12px}
.etapes h3{font-size:1.08rem;margin-bottom:.4rem}
.etapes p{margin:0;color:var(--sourdine);font-size:.95rem}
@media (max-width:960px){ .etapes{grid-template-columns:1fr 1fr} .etapes li:nth-child(2){border-right:0} .etapes li:nth-child(-n+2){border-bottom:1px solid var(--ligne)} }
@media (max-width:600px){ .etapes{grid-template-columns:1fr} .etapes li{border-right:0;border-bottom:1px solid var(--ligne)} .etapes li:last-child{border-bottom:0} }

/* ---------- Signaux d'alerte (section verte) ---------- */
.signaux{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.signal{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--rayon);padding:22px 22px 20px}
.signal h3{font-family:var(--serif);font-size:1.05rem;font-weight:700;display:flex;align-items:center;gap:10px;margin-bottom:.5rem}
.signal h3::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--or);flex:none;box-shadow:0 0 0 4px rgba(184,146,59,.25)}
.signal p{margin:0;color:#C3D5CB;font-size:.95rem}
.signal-conclusion{margin-top:36px;padding:22px 26px;background:rgba(255,255,255,.07);border-left:3px solid var(--or);border-radius:0 var(--rayon) var(--rayon) 0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}
.signal-conclusion p{margin:0;font-family:var(--serif);font-size:1.2rem;color:#fff}
@media (max-width:900px){ .signaux{grid-template-columns:1fr 1fr} }
@media (max-width:600px){ .signaux{grid-template-columns:1fr} }

/* ---------- Chiffres ---------- */
.chiffres{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--ligne);border-radius:var(--rayon);background:var(--blanc);overflow:hidden}
.chiffres > div{padding:26px 24px;border-right:1px solid var(--ligne)}
.chiffres > div:last-child{border-right:0}
.chiffres .valeur{font-family:var(--serif);font-size:2.2rem;color:var(--vert);font-variant-numeric:tabular-nums;line-height:1;margin-bottom:8px}
.chiffres .valeur small{font-size:1rem;color:var(--sourdine)}
.chiffres .libelle{font-weight:700;color:var(--vert);margin-bottom:4px}
.chiffres p{margin:0;color:var(--sourdine);font-size:.92rem}
@media (max-width:900px){ .chiffres{grid-template-columns:1fr 1fr} .chiffres > div:nth-child(2){border-right:0} .chiffres > div:nth-child(-n+2){border-bottom:1px solid var(--ligne)} }
@media (max-width:520px){ .chiffres{grid-template-columns:1fr} .chiffres > div{border-right:0;border-bottom:1px solid var(--ligne)} .chiffres > div:last-child{border-bottom:0} }

/* ---------- Témoignages ---------- */
.temoignages{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.temoignage{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:28px 30px;position:relative}
.temoignage::before{content:"\201C";font-family:var(--serif);font-size:4rem;line-height:1;color:var(--or-pale);position:absolute;top:14px;left:20px}
.temoignage blockquote{margin:0;font-size:1.02rem;position:relative}
.temoignage blockquote p{margin-bottom:.8em}
.temoignage figcaption{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sourdine);margin-top:14px}
.temoignage figcaption b{color:var(--vert);font-weight:700}
@media (max-width:800px){ .temoignages{grid-template-columns:1fr} }

/* ---------- Formules ---------- */
.formules{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.formule{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:30px 28px;display:flex;flex-direction:column}
.formule.mise-en-avant{border-color:var(--or);box-shadow:var(--ombre);position:relative}
.formule.mise-en-avant::after{content:"La plus choisie";position:absolute;top:-12px;left:24px;background:var(--or);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:var(--rayon)}
.formule .nom{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--or);margin-bottom:8px}
.formule h3{font-size:1.4rem;margin-bottom:.3rem}
.formule .pour{color:var(--sourdine);font-size:.97rem;margin-bottom:18px;min-height:3em}
.formule .prix{font-family:var(--serif);font-size:1.05rem;color:var(--vert);padding:14px 0;border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne);margin-bottom:18px}
.formule .prix small{display:block;font-family:var(--sans);font-size:.85rem;color:var(--sourdine);font-weight:400}
.formule ul{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:9px;flex:1}
.formule li{display:flex;gap:10px;align-items:start;font-size:.96rem}
.formule li::before{content:"";flex:none;width:16px;height:16px;border-radius:50%;background:var(--ok-pale);margin-top:3px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%232F7D5B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.formule .btn{justify-content:center}
@media (max-width:900px){ .formules{grid-template-columns:1fr} }

/* ---------- FAQ ---------- */
.faq{max-width:780px}
.faq details{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);margin-bottom:10px}
.faq summary{cursor:pointer;padding:18px 22px;font-weight:700;color:var(--vert);list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--serif);font-size:1.3rem;color:var(--or);flex:none;transition:transform .15s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details > p,.faq details > ul{padding:0 22px 20px;margin:0;color:var(--sourdine)}
.faq details > ul{padding-left:42px}

/* ---------- Appel final ---------- */
.appel{background:var(--vert);color:#fff;padding:72px 0}
.appel .conteneur{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.appel h2{color:#fff;margin-bottom:.4em}
.appel p{color:#C3D5CB;font-size:1.1rem;max-width:56ch}
.appel-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
@media (max-width:800px){ .appel .conteneur{grid-template-columns:1fr} .appel-actions{justify-content:flex-start} }

/* ---------- Pied de page ---------- */
footer.site{background:var(--vert-nuit);color:#B9CBC1;padding:48px 0 28px;font-size:.93rem;border-top:4px solid var(--or)}
.pied{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:36px}
.pied h4{font-family:var(--sans);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:12px}
.pied ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pied a{color:#B9CBC1;text-decoration:none}
.pied a:hover{color:#fff;text-decoration:underline}
.pied .logo-nom{color:#fff;font-family:var(--serif);font-weight:700;font-size:1.45rem}
.pied .logo-nom span{color:#D9BE7A}
.pied .logo-texte{display:flex;flex-direction:column;line-height:1.05}
.pied .logo-devise{color:#B9CBC1;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;margin-top:4px}
.pied p{margin:12px 0 0;max-width:38ch}
.pied-bas{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.85rem;color:#8FA79B}
@media (max-width:860px){ .pied{grid-template-columns:1fr 1fr} }
@media (max-width:520px){ .pied{grid-template-columns:1fr} }

/* ---------- Pages intérieures ---------- */
.entete-page{padding:64px 0 48px;background:linear-gradient(180deg,var(--blanc),var(--creme));border-bottom:1px solid var(--ligne)}
.entete-page h1{margin-bottom:.4em}
.entete-page .chapeau{font-size:1.18rem}

.situations{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.situation{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:24px 26px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
.situation .num{font-family:var(--serif);font-size:1rem;color:var(--or);padding-top:2px}
.situation h3{font-size:1.1rem;margin-bottom:.35rem}
.situation p{margin:0;color:var(--sourdine);font-size:.96rem}
.situation .verif{margin-top:10px;font-size:.9rem;color:var(--texte)}
.situation .verif b{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ok);margin-right:6px}
@media (max-width:800px){ .situations{grid-template-columns:1fr} }

.encart{background:var(--blanc);border:1px solid var(--ligne);border-left:4px solid var(--or);border-radius:0 var(--rayon) var(--rayon) 0;padding:26px 30px}
.encart.alerte{border-left-color:var(--rouge)}
.encart h3{margin-bottom:.4rem}
.encart p:last-child{margin-bottom:0}
.encart ul{margin:.5em 0 0;padding-left:20px;color:var(--sourdine)}
.encart li{margin-bottom:.35em}

.deux-colonnes{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media (max-width:860px){ .deux-colonnes{grid-template-columns:1fr} }

.liste-controles{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.liste-controles li{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:16px 20px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}
.liste-controles li b{color:var(--vert);display:block}
.liste-controles li span{color:var(--sourdine);font-size:.93rem}
.liste-controles .source{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vert);background:var(--sable);padding:4px 8px;border-radius:var(--rayon);white-space:nowrap}

/* ---------- Formulaire ---------- */
.formulaire-page{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:start}
@media (max-width:900px){ .formulaire-page{grid-template-columns:1fr} }
form.contact{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:32px}
.champs{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.champs .plein{grid-column:1 / -1}
@media (max-width:600px){ .champs{grid-template-columns:1fr} }
label{display:block;font-weight:700;font-size:.92rem;color:var(--vert);margin-bottom:6px}
label small{font-weight:400;color:var(--sourdine)}
input,select,textarea{
  width:100%;font:inherit;font-size:1rem;padding:.7rem .85rem;border:1px solid var(--ligne-forte);border-radius:var(--rayon);
  background:#fff;color:var(--texte)
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--vert);box-shadow:0 0 0 3px var(--sable)}
textarea{min-height:150px;resize:vertical}
.consent{display:flex;gap:10px;align-items:start;font-size:.9rem;color:var(--sourdine);margin:20px 0}
.consent input{width:auto;margin-top:5px}
.form-note{font-size:.88rem;color:var(--sourdine);margin-top:14px}
.aside-contact{display:grid;gap:18px}
.aside-contact .carte p{color:var(--texte)}
.aside-contact dl{margin:0;display:grid;gap:12px}
.aside-contact dt{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--or)}
.aside-contact dd{margin:2px 0 0;font-weight:400}

/* ---------- Pages légales ---------- */
.legal{max-width:760px}
.legal h2{font-size:1.5rem;margin-top:2.4em;padding-top:1em;border-top:1px solid var(--ligne)}
.legal h2:first-of-type{margin-top:0;border-top:0;padding-top:0}
.legal h3{font-size:1.1rem;margin-top:1.6em}
.legal p,.legal li{color:var(--texte)}
.legal .maj{font-size:.8rem;color:var(--sourdine);letter-spacing:.04em}
.sommaire-legal{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px;padding:0;list-style:none}
.sommaire-legal a{display:inline-block;padding:.4rem .8rem;border:1px solid var(--ligne);border-radius:var(--rayon);background:var(--blanc);text-decoration:none;color:var(--vert);font-size:.9rem}
.sommaire-legal a:hover{border-color:var(--or)}

/* ---------- Page merci ---------- */
.merci{min-height:50vh;display:grid;place-items:center;text-align:center;padding:80px 24px}
.merci .coche{width:64px;height:64px;border-radius:50%;background:var(--ok-pale);color:var(--ok);display:grid;place-items:center;margin:0 auto 20px}

/* ---------- Adhésion ---------- */
.adhesion{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.adhesion h2{margin-bottom:.4em}
.adhesion-sortie{font-size:.98rem;color:var(--texte);padding:14px 18px;background:var(--sable);border-left:3px solid var(--or);border-radius:0 var(--rayon) var(--rayon) 0;max-width:56ch}
.carte-adhesion{background:var(--blanc);border:1px solid var(--ligne);border-top:4px solid var(--or);border-radius:var(--rayon);padding:32px 30px;box-shadow:var(--ombre)}
.carte-adhesion .montant{font-family:var(--serif);font-size:3rem;color:var(--vert);line-height:1;margin-bottom:22px;font-variant-numeric:tabular-nums}
.carte-adhesion .montant small{display:block;font-family:var(--sans);font-size:.9rem;color:var(--sourdine);margin-top:8px}
.carte-adhesion ul{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:10px}
.carte-adhesion li{display:flex;gap:10px;align-items:start;font-size:.98rem}
.carte-adhesion li::before{content:"";flex:none;width:16px;height:16px;border-radius:50%;background:var(--ok-pale);margin-top:4px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%232F7D5B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.carte-adhesion .btn{width:100%;justify-content:center}
.paiement-note{font-size:.85rem;color:var(--sourdine);margin:12px 0 0;text-align:center}
@media (max-width:860px){ .adhesion{grid-template-columns:1fr;gap:32px} }

/* ---------- Demande d'examen ---------- */
.form-titre{font-size:1.05rem;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--ligne)}
.champs + .form-titre{margin-top:28px}
.label-groupe{display:block;font-weight:700;font-size:.92rem;color:var(--vert);margin-bottom:8px}
.label-groupe small{font-weight:400;color:var(--sourdine)}
.cases{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.cases label{font-weight:400;font-size:.95rem;color:var(--texte);display:flex;gap:8px;align-items:start;margin:0}
.cases input{width:auto;margin-top:4px}
@media (max-width:600px){ .cases{grid-template-columns:1fr} }
.etapes-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:960px){ .etapes-3{grid-template-columns:1fr} .etapes-3 li{border-right:0;border-bottom:1px solid var(--ligne)} .etapes-3 li:last-child{border-bottom:0} }

/* Formulaire minimal */
form.mini{background:var(--blanc);border:1px solid var(--ligne);border-top:4px solid var(--vert);border-radius:var(--rayon);padding:24px 26px;box-shadow:var(--ombre)}
form.mini h2{font-size:1.2rem;margin-bottom:2px}
form.mini .sous{color:var(--sourdine);font-size:.9rem;margin:0 0 16px}
form.mini .ligne{margin-bottom:12px}
form.mini .ligne.deux{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:480px){form.mini .ligne.deux{grid-template-columns:1fr}}
form.mini label{font-size:.85rem;margin-bottom:4px}
form.mini input,form.mini select,form.mini textarea{min-height:46px;font-size:16px}
.qsuite{display:none}.qsuite.on{display:block;animation:app .25s ease}@keyframes app{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
form.mini textarea{min-height:96px}
form.mini .btn{width:100%;justify-content:center;font-size:1.05rem;padding:1rem 1.5rem;margin-top:4px}
form.mini .legal{font-size:.78rem;color:var(--sourdine);margin:10px 0 0;text-align:center;line-height:1.45}
form.mini .legal a{color:var(--sourdine)}
.garanties{display:flex;justify-content:space-between;gap:10px;margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--ligne);font-size:.8rem;font-weight:700;color:var(--vert);text-align:center}
.garanties span{flex:1}
.garanties b{display:block;font-family:var(--serif);font-size:1.05rem;color:var(--vert)}
@media (max-width:900px){ form.mini{padding:20px 18px} }

