:root{
 --night:#1b3539;--night2:#16302f;--cream:#f7f5ee;--paper:#fff;--ink:#28352c;--muted:#66705f;
 --green:#315c45;--dark:#203b2c;--sage:#e8eddf;--lime:#dbe7b4;--mint:#bfe3cf;--rose:#e9c3dc;--peach:#f6d6c4;
 --gold:#e9d3a1;--line:#e3e6dc;--radius:24px;
 --serif:Georgia,"Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--green)}
a:focus-visible,button:focus-visible{outline:3px solid #c69047;outline-offset:3px;border-radius:8px}
h1,h2,h3{font-family:var(--serif);font-weight:normal;margin:0 0 .5em;letter-spacing:-.02em;line-height:1.15}
h1{font-size:clamp(40px,7vw,72px)}
h2{font-size:clamp(30px,4.4vw,46px)}
h3{font-size:23px;line-height:1.25}
p{margin:0 0 1em}
em{font-style:italic}
.wrap{width:min(1120px,100% - 32px);margin:0 auto}
.narrow{width:min(760px,100% - 32px);margin:0 auto}
.eyebrow{font:700 12px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--green);margin-bottom:14px}
.muted{color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* En-tête */
.top{position:sticky;top:0;z-index:20;background:rgba(27,53,57,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#f6efe0}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;color:#fbf5e8;text-decoration:none;font:22px var(--serif);white-space:nowrap}
.brand svg{width:34px;height:26px}
.nav{display:flex;gap:6px;margin-left:auto;align-items:center}
.nav a{color:#e9e1cf;text-decoration:none;font-size:15px;padding:8px 12px;border-radius:100px}
.nav a:hover,.nav a[aria-current=page]{background:#ffffff14;color:#fff}
.nav .btn{margin-left:8px}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid #ffffff40;color:#fff;border-radius:100px;padding:8px 14px;font:inherit;font-size:15px;cursor:pointer}
@media(max-width:860px){
 .menu-btn{display:block}
 .nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--night);flex-direction:column;align-items:stretch;padding:8px 16px 18px;gap:2px;box-shadow:0 20px 30px #0003}
 .nav.open{display:flex}
 .nav a{padding:12px 14px;font-size:17px}
 .nav .btn{margin:8px 0 0;text-align:center}
}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:100px;padding:15px 26px;font:650 16px/1.2 var(--sans);text-decoration:none;border:0;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn.gold{background:linear-gradient(135deg,#f5e7c4,#e2c590);color:#1d3530;box-shadow:0 10px 30px #e2c59033}
.btn.green{background:var(--green);color:#fff}
.btn.ghost{background:transparent;color:inherit;border:1px solid currentColor}
.btn.small{padding:10px 18px;font-size:14px}
.ctas{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* Héros */
.hero{background:radial-gradient(ellipse at 70% 40%,#26494a 0%,var(--night) 55%,var(--night2) 100%);color:#f7f0e2;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:30px;padding:70px 0 80px;position:relative;z-index:2}
.hero .eyebrow{color:var(--gold)}
.hero h1 em{color:var(--mint)}
.hero .lead{font:italic clamp(21px,2.5vw,27px)/1.4 var(--serif);color:#f3ead6;margin-bottom:22px}
.hero p{color:#d8d6c8;max-width:520px}
.hero .fine{font-size:14px;color:#b9bdb0;margin-top:16px}
.flower{position:relative;aspect-ratio:1;max-width:520px;margin:0 auto;width:100%}
.flower img{width:100%;height:100%;object-fit:cover;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 46%,transparent 70%);mask-image:radial-gradient(circle at 50% 50%,#000 46%,transparent 70%);animation:breathe 7s ease-in-out infinite}
@keyframes breathe{50%{transform:scale(1.025)}}
.stars{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(2px 2px at 12% 20%,#f3e3b0aa,transparent),radial-gradient(1.6px 1.6px at 30% 70%,#f3e3b088,transparent),radial-gradient(2px 2px at 48% 12%,#f3e3b099,transparent),radial-gradient(1.5px 1.5px at 62% 82%,#f3e3b077,transparent),radial-gradient(2px 2px at 88% 30%,#f3e3b0aa,transparent),radial-gradient(1.4px 1.4px at 8% 88%,#f3e3b066,transparent),radial-gradient(1.8px 1.8px at 94% 74%,#f3e3b088,transparent)}
@media(max-width:860px){
 .hero .wrap{grid-template-columns:1fr;padding:30px 0 56px;text-align:center}
 .hero .flower{order:-1;max-width:330px}
 .hero p{margin-left:auto;margin-right:auto}
 .hero .ctas{justify-content:center}
}

/* Libellules */
.df{position:absolute;width:64px;height:48px;z-index:3;pointer-events:none}
.df path.w{fill:#cfeee699;stroke:#e9fff8;stroke-width:.8}
.df .b{stroke:#bfeee0;stroke-width:2.4;stroke-linecap:round}
.df circle{fill:#d9fff3}
.df .wings{transform-origin:40px 26px;animation:flutter .18s ease-in-out infinite alternate}
@keyframes flutter{to{transform:scaleY(.72)}}
.df.fly{animation:fly 22s ease-in-out infinite}
@keyframes fly{0%{transform:translate(0,0) rotate(-8deg)}25%{transform:translate(38vw,-30px) rotate(6deg)}50%{transform:translate(62vw,40px) rotate(-4deg)}75%{transform:translate(24vw,70px) rotate(10deg)}100%{transform:translate(0,0) rotate(-8deg)}}
.df-mark{display:inline-block;width:38px;height:28px;vertical-align:middle}
.df-mark path.w{fill:#cfe6dc;stroke:#7fa995;stroke-width:1}
.df-mark .b{stroke:#5e8f78;stroke-width:2.4;stroke-linecap:round}
.df-mark circle{fill:#5e8f78}
@media(prefers-reduced-motion:reduce){.df.fly,.df .wings,.flower img{animation:none}}

/* Sections */
section.block{padding:90px 0}
section.block.tight{padding:60px 0}
.center{text-align:center}
.intro{max-width:680px;margin:0 auto 46px;text-align:center}
.intro p{color:var(--muted);font-size:18px}
.sage{background:var(--sage)}
.white{background:var(--paper)}

.promise{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:30px}
.card .ico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:25px;margin-bottom:16px;background:var(--sage)}
.card p{color:var(--muted);margin:0}
.card.rose .ico{background:#f6e3ee}.card.peach .ico{background:#fbe8dc}.card.lime .ico{background:#eef4d7}
@media(max-width:860px){.promise{grid-template-columns:1fr}}

/* Étapes */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:s}
.step{position:relative;padding:28px 26px 26px;border-radius:var(--radius);background:var(--paper)}
.step::before{counter-increment:s;content:counter(s);font:46px/1 var(--serif);color:#c9d6c0;display:block;margin-bottom:8px}
.step p{color:var(--muted);margin:0}
@media(max-width:860px){.steps{grid-template-columns:1fr}}

/* Fonctionnalités avec téléphone */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:40px 0}
.feature.rev .phone{order:2}
.feature ul{padding:0;margin:18px 0 0;list-style:none}
.feature li{padding-left:30px;position:relative;margin-bottom:10px}
.feature li::before{content:"";position:absolute;left:4px;top:.55em;width:12px;height:12px;border-radius:50%;background:var(--lime);box-shadow:inset 0 0 0 3px #a6be6c}
.feature p{color:var(--muted)}
.phone{width:min(300px,78vw);margin:0 auto;border-radius:44px;padding:11px;background:#1d2b27;box-shadow:0 40px 70px -30px #1d2b2766,0 0 0 1px #00000020;position:relative}
.phone img{border-radius:34px;width:100%;height:auto;aspect-ratio:390/844;object-fit:cover;object-position:top;background:#f7f7f2}
.phone::after{content:"";position:absolute;top:20px;left:50%;width:84px;height:22px;margin-left:-42px;border-radius:20px;background:#1d2b27}
@media(max-width:860px){.feature,.feature.rev{grid-template-columns:1fr;gap:30px;padding:26px 0}.feature.rev .phone{order:0}}

.gallery{display:flex;gap:26px;overflow-x:auto;padding:10px 4px 30px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.gallery figure{margin:0;flex:0 0 auto;scroll-snap-align:center;text-align:center}
.gallery .phone{width:240px;border-radius:38px;padding:9px}
.gallery .phone img{border-radius:30px}
.gallery figcaption{margin-top:14px;font-size:15px;color:var(--muted)}

/* Jamais */
.never{background:var(--night);color:#efe8d8;border-radius:32px;padding:56px;display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center}
.never h2{color:#fbf4e6}
.never ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.never li{display:flex;gap:14px;align-items:flex-start;color:#d9d6c8}
.never li b{color:#fff;font-weight:600}
.never li span.x{flex:0 0 28px;height:28px;border-radius:50%;background:#ffffff12;display:grid;place-items:center;color:var(--gold);font-size:14px}
@media(max-width:860px){.never{grid-template-columns:1fr;padding:34px 24px;border-radius:26px}}

/* Testeurs */
.tester{background:linear-gradient(135deg,#f9efe6,#f3e6ef);border-radius:32px;padding:56px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.tester .count{font:64px/1 var(--serif);color:var(--green)}
.tester ol{margin:0;padding-left:20px;color:var(--muted)}
.tester ol li{margin-bottom:8px}
@media(max-width:860px){.tester{grid-template-columns:1fr;padding:34px 24px;border-radius:26px}}

/* FAQ */
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:0 24px;margin-bottom:12px}
.faq summary{cursor:pointer;list-style:none;padding:20px 30px 20px 0;font:20px/1.35 var(--serif);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:16px;font:28px var(--sans);color:var(--green);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p,.faq details ul{color:var(--muted);margin:0 0 20px}
.faq h2{margin-top:50px}

/* Histoire */
.story{font:20px/1.75 var(--serif);color:#34402f}
.story p{margin-bottom:1.2em}
.story .sign{font-style:italic;color:var(--green);display:flex;align-items:center;gap:10px}
.quote{font:italic clamp(26px,3.4vw,36px)/1.35 var(--serif);color:var(--green);border-left:3px solid var(--lime);padding:6px 0 6px 26px;margin:40px 0}

/* Page interne */
.pagehero{background:radial-gradient(ellipse at 80% 20%,#26494a,var(--night) 60%);color:#f6efe0;padding:70px 0 64px;position:relative;overflow:hidden}
.pagehero h1{font-size:clamp(36px,6vw,58px)}
.pagehero p{color:#d6d4c6;font-size:19px;max-width:640px;margin:0}
.pagehero .eyebrow{color:var(--gold)}

.final{text-align:center;padding:100px 0;background:radial-gradient(ellipse at 50% 0%,#26494a,var(--night) 70%);color:#f6efe0;position:relative;overflow:hidden}
.final p{color:#d6d4c6;max-width:560px;margin:0 auto 26px}
.final .ctas{justify-content:center}

/* Pied */
footer{background:var(--night2);color:#b9bdb0;padding:50px 0 40px;font-size:15px}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
footer a{color:#e7e0cc;text-decoration:none}
footer a:hover{text-decoration:underline}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
footer .brand{margin-bottom:12px}
footer .legal{grid-column:1/-1;border-top:1px solid #ffffff14;padding-top:22px;font-size:13px;color:#8e968a}
@media(max-width:860px){footer .wrap{grid-template-columns:1fr}}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Langues */
.langs{display:flex;gap:2px;order:3;margin-left:6px}
.langs a{color:#cfc9b8;text-decoration:none;font:600 12px/1 var(--sans);letter-spacing:.06em;padding:7px 8px;border-radius:100px}
.langs a:hover{color:#fff}
.langs a[aria-current]{background:#ffffff1c;color:#fff}
@media(max-width:860px){.langs{order:0;margin-left:auto}.menu-btn{margin-left:6px}.brand{font-size:20px}}
@media(max-width:370px){.brand{font-size:0;gap:0}.brand svg{width:38px}}
.langnote{margin-top:18px;font-size:14px;line-height:1.5;color:#e9dcb8;background:#ffffff10;border:1px solid #ffffff1f;border-radius:14px;padding:12px 16px;max-width:520px}
.langnote a{color:#fff}
.langnote.light{color:#6b5a2f;background:#f6eedb;border-color:#eadcb8;margin:0 auto 24px;text-align:center}
.langnote.light a{color:var(--green)}
@media(max-width:860px){.hero .langnote{margin-left:auto;margin-right:auto}}
@media(max-width:860px){.top .wrap{gap:8px}.langs a{padding:7px 6px}.menu-btn{padding:8px 12px}}
