:root{
  --vert:#2e9147;--vert-fonce:#22773a;--feuille:#427c25;--feuille-claire:#7fb84a;
  --ciel:#9bd4de;--ciel-clair:#d9eef2;--creme:#f4ead3;--creme-claire:#fbf7ee;
  --encre:#1c1f1b;--gris:#5f665c;--gris-clair:#e6e4dc;--blanc:#fff;
  --r:22px;--max:1040px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Inter,Arial,sans-serif;color:var(--encre);background:var(--creme-claire);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--vert-fonce)}
a:focus-visible,button:focus-visible{outline:3px solid var(--vert);outline-offset:3px}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{line-height:1.12;letter-spacing:-.015em;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,6vw,3.6rem);font-weight:800}
h2{font-size:clamp(1.6rem,4vw,2.3rem);font-weight:800}
h3{font-size:1.2rem;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

/* En-tête */
.top{position:sticky;top:0;z-index:5;background:rgba(251,247,238,.88);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid rgba(0,0,0,.05)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:1.25rem;color:var(--encre);text-decoration:none}
.logo svg{width:28px;height:28px}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--vert);color:#fff;text-decoration:none;font-weight:700;padding:14px 24px;border-radius:999px;border:0;font-size:1.02rem;box-shadow:0 6px 18px rgba(46,145,71,.25)}
.btn:hover{background:var(--vert-fonce)}
.btn svg{width:20px;height:20px;fill:currentColor}
.btn.petit{padding:9px 16px;font-size:.92rem;box-shadow:none}
.btn.grand{padding:18px 30px;font-size:1.12rem}

/* Héros — le décor de l'app */
.hero{position:relative;overflow:hidden;padding-bottom:30px;background:linear-gradient(180deg,#b9e2ea 0%,var(--ciel) 38%,#dfe9c4 70%,var(--creme) 100%);text-align:center;padding-top:64px}
.hero .decor{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero .wrap{position:relative}
.hero h1{max-width:16ch;margin:0 auto .5em}
.hero .sous{font-size:clamp(1.05rem,2.3vw,1.3rem);color:var(--encre);max-width:34ch;margin:0 auto 26px}
.hero .note{font-size:.92rem;color:var(--gris);margin:14px 0 0}
.phones{display:flex;justify-content:center;align-items:flex-end;gap:0;margin:40px auto 0;max-width:640px}
.phones img{width:52%;filter:drop-shadow(0 30px 40px rgba(20,60,30,.28))}
.phones img.arriere{width:46%;margin-right:-8%;transform:translateY(28px)}

/* Sections */
section{padding:72px 0}
.intro{max-width:52ch}
.grille3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.carte{background:var(--blanc);border-radius:var(--r);padding:28px 26px;box-shadow:0 2px 0 rgba(0,0,0,.03)}
.carte h3{margin-top:14px}
.carte p{margin:0;color:var(--gris)}
.pictos{width:46px;height:46px;border-radius:14px;background:#e3f1e6;display:flex;align-items:center;justify-content:center;color:var(--vert-fonce)}
.pictos svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.deux{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.deux img{max-width:340px;margin:0 auto;filter:drop-shadow(0 24px 34px rgba(20,60,30,.22))}
.verite{list-style:none;padding:0;margin:0}
.verite li{padding:14px 0;border-top:1px solid var(--gris-clair)}
.verite li:first-child{border-top:0}
.verite b{display:block;margin-bottom:2px}
.verite span{color:var(--gris)}
.pastille{display:inline-flex;align-items:center;gap:8px;background:#e3f1e6;color:var(--vert-fonce);font-weight:600;padding:8px 14px;border-radius:999px;font-size:.92rem}

/* Prix */
.prix{background:var(--blanc)}
.formules{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:620px;margin:28px auto}
.formule{border:2px solid var(--gris-clair);border-radius:var(--r);padding:22px 24px;text-align:left}
.formule.choisie{border-color:var(--vert);background:#f2faf4}
.formule .duree{font-weight:700}
.formule .montant{font-size:2rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:6px 0 2px}
.formule small{color:var(--gris)}
.prix .centre{text-align:center;max-width:56ch;margin:0 auto}
.apres{background:var(--creme-claire);border-radius:var(--r);padding:22px 26px;max-width:620px;margin:0 auto 28px;text-align:left}
.apres b{color:var(--vert-fonce)}
.legal{font-size:.85rem;color:var(--gris);max-width:62ch;margin:20px auto 0}

/* FAQ */
details{border-top:1px solid var(--gris-clair);padding:6px 0}
details:last-of-type{border-bottom:1px solid var(--gris-clair)}
summary{cursor:pointer;font-weight:700;font-size:1.08rem;padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--vert);font-weight:400;font-size:1.5rem;line-height:1}
details[open] summary::after{content:"–"}
details p{color:var(--gris);margin:0 0 16px;max-width:64ch}
.faq .wrap{max-width:760px}

/* Fin */
.fin{text-align:center;background:linear-gradient(180deg,var(--creme-claire),var(--creme))}
.fin h2{max-width:20ch;margin:0 auto .6em}

footer{padding:36px 0 48px;font-size:.92rem;color:var(--gris)}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between}
footer nav{display:flex;flex-wrap:wrap;gap:8px 20px}
footer a{color:var(--gris);text-decoration:none}
footer a:hover{color:var(--vert-fonce);text-decoration:underline}

/* Pages légales */
.doc{max-width:720px;margin:0 auto;padding:48px 20px 80px}
.doc h1{font-size:2.2rem}
.doc h2{font-size:1.3rem;margin-top:2em}
.doc .meta{color:var(--gris);margin-bottom:2em}
.doc ul{padding-left:1.2em}
.doc li{margin:.35em 0}
mark{background:#fff2a8;padding:0 3px;border-radius:3px}
.encadre{background:var(--blanc);border-radius:var(--r);padding:20px 24px;margin:1.2em 0}

@media (max-width:760px){
  section{padding:52px 0}
  .deux{grid-template-columns:1fr;gap:28px}
  .deux img{max-width:260px}
  .formules{grid-template-columns:1fr}
  .phones{max-width:340px}
  .hero{padding-top:44px}
  .top .btn.petit span{display:none}
}
@media (prefers-reduced-motion:no-preference){
  .phones img{animation:pose .9s cubic-bezier(.2,.7,.2,1) both}
  .phones img.arriere{animation-delay:.12s}
  @keyframes pose{from{opacity:0;transform:translateY(40px)}to{opacity:1}}
  .phones img.arriere{animation-name:pose2}
  @keyframes pose2{from{opacity:0;transform:translateY(68px)}to{opacity:1;transform:translateY(28px)}}
}
