:root{--green:#087a4b;--green2:#20b464;--ink:#123a31;--muted:#647a73;--line:#dbe9e2;--soft:#f4fbf7;--white:#fff;--shadow:0 24px 70px rgba(16,62,49,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 20% 0,#e6f7ff 0,transparent 28%),linear-gradient(180deg,#eef8f2,#f9fbfa 45%,#edf7f1);min-height:100vh}button,input,textarea{font:inherit}.campaign-shell{padding:26px 14px 50px}.campaign-card{max-width:980px;margin:auto;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow);border-radius:34px;overflow:hidden}.brand-row{display:flex;justify-content:space-between;align-items:center;padding:20px 26px;background:rgba(255,255,255,.9)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.brand-mark{width:50px;height:50px;border-radius:50%;background:conic-gradient(from 18deg,#f7be32,#ffd75b 38%,#f7fbf7 39% 50%,#24a65d 51% 100%);position:relative;overflow:hidden;box-shadow:0 6px 16px rgba(15,92,60,.12)}.brand-mark:after{content:"";position:absolute;width:25px;height:34px;background:#168f50;border-radius:100% 0 100% 0;left:16px;top:14px;transform:rotate(22deg);box-shadow:inset -5px -4px 0 rgba(255,255,255,.24)}.brand-copy strong,.brand-copy small{display:block}.brand-copy strong{font-size:22px}.brand-copy small{font-size:11px;color:#6c7e78;margin-top:2px}.eco-badge{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:18px;background:#effaf1;font-size:12px;font-weight:700;max-width:190px}.eco-badge b{color:#25a95e}.hero{display:grid;grid-template-columns:1.02fr .98fr;min-height:390px;background:linear-gradient(135deg,#fbfff9 0,#eff9f4 55%,#dff4eb 100%);position:relative;overflow:hidden}.hero-copy{padding:48px 42px 38px;z-index:2;background:linear-gradient(90deg,rgba(251,255,249,.98),rgba(251,255,249,.94) 72%,rgba(251,255,249,.65))}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#269b62;margin:0 0 12px}.hero h1{font-size:clamp(40px,4.6vw,60px);line-height:1.01;letter-spacing:-.05em;margin:0 0 14px;max-width:560px}.hero-subtitle{font-size:18px;line-height:1.45;max-width:500px;margin:0;color:#3e5b52}.benefits{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.benefit{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.9);border:1px solid rgba(214,232,222,.95);padding:9px 11px;border-radius:16px;font-size:12px;font-weight:700;box-shadow:0 8px 20px rgba(20,80,59,.06)}.benefit i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e7f8ec;color:var(--green);font-style:normal}.hero-visual{display:flex;align-items:center;justify-content:center;min-width:0;background:#eaf3ec;overflow:hidden}.hero-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.form-panel{margin:-16px 20px 20px;background:rgba(255,255,255,.96);border-radius:28px;position:relative;z-index:3;padding:24px;box-shadow:0 20px 45px rgba(15,64,48,.12)}.progress-wrap{position:relative;padding:4px 4px 22px}.progress-line{position:absolute;height:3px;background:#e1ece6;left:8%;right:8%;top:20px}.progress-line span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green2),var(--green));transition:width .25s}.progress-steps{display:grid;grid-template-columns:repeat(4,1fr);position:relative}.progress-step{border:0;background:transparent;color:#83928d;display:grid;justify-items:center;gap:5px;cursor:pointer}.progress-step span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e6eeea;font-weight:800}.progress-step small{font-size:11px}.progress-step.active,.progress-step.done{color:var(--ink)}.progress-step.active span,.progress-step.done span{background:linear-gradient(135deg,#34c16a,#078048);color:#fff;box-shadow:0 5px 14px rgba(14,139,76,.25)}.form-step{display:none;background:linear-gradient(180deg,#f8fcfa,#f1f8f5);border:1px solid #e4eee9;border-radius:24px;padding:20px}.form-step.active{display:block;animation:fade .2s ease}@keyframes fade{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}.step-heading{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-bottom:18px}.step-number{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#39bf6a,#078048);color:#fff;font-size:20px;font-weight:800}.step-heading h2{font-size:22px;margin:0}.step-heading p{margin:2px 0 0;color:var(--muted);font-size:13px}.step-icon{font-size:22px;color:#21845a}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-grid label,.optional-note{display:grid;gap:7px;font-size:12px;font-weight:700;color:#4b655c}.extra-fields{margin-top:14px}.field-grid select{width:100%;border:1px solid #d7e5df;border-radius:14px;background:#fff;padding:14px 15px;color:var(--ink);outline:none;box-shadow:0 6px 18px rgba(24,65,52,.04);appearance:auto}.field-grid select:focus{border-color:#45b875;box-shadow:0 0 0 3px rgba(69,184,117,.12)}.field-grid label small{font-weight:400}.field-grid input,.optional-note textarea{width:100%;border:1px solid #d7e5df;border-radius:14px;background:#fff;padding:14px 15px;color:var(--ink);outline:none;box-shadow:0 6px 18px rgba(24,65,52,.04)}.field-grid input:focus,.optional-note textarea:focus{border-color:#45b875;box-shadow:0 0 0 3px rgba(69,184,117,.12)}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choice-grid.two{grid-template-columns:repeat(2,1fr)}.choice{border:1px solid #d8e6df;background:#fff;border-radius:18px;padding:15px;min-height:108px;text-align:left;display:grid;align-content:center;gap:5px;cursor:pointer;color:var(--ink);position:relative}.choice:hover{border-color:#8bcea6}.choice.selected{border:2px solid #28ae62;background:#f9fffb;box-shadow:0 8px 20px rgba(23,139,78,.1)}.choice.selected:after{content:"✓";position:absolute;right:9px;top:9px;width:20px;height:20px;border-radius:50%;background:#1eaa5b;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:900}.choice .choice-icon{font-size:25px}.choice strong{font-size:14px}.choice small{font-size:11px;color:#71867d}.range-card{margin-top:14px;background:#fff;border:1px solid #dce9e3;border-radius:18px;padding:20px}.range-value{text-align:center}.range-value strong{display:inline-block;background:#0c5c3e;color:#fff;border-radius:30px;padding:7px 13px}.range-card input{width:100%;accent-color:#169b59}.range-labels{display:flex;justify-content:space-between;color:#81918b;font-size:10px}.optional-note{margin-top:14px}.optional-note small{font-weight:400}.form-controls{display:flex;justify-content:space-between;gap:10px;margin-top:15px}.primary-button,.back-button{border:0;border-radius:999px;padding:15px 22px;font-weight:800;cursor:pointer}.primary-button{margin-left:auto;background:linear-gradient(90deg,#4cc964,#07884e);color:#fff;box-shadow:0 11px 24px rgba(20,146,77,.24);min-width:180px}.back-button{background:#edf4f0;color:#49655a}.final-zone{margin-top:16px}.consent{display:flex;gap:10px;align-items:flex-start;font-size:11px;color:#61766d;line-height:1.45}.consent input{width:18px;height:18px;accent-color:#0a8b50;flex:0 0 auto}.consent a{color:#08784a}.submit-button{width:100%;margin-top:10px;font-size:17px}.reassurance{text-align:center;color:#3f6153;font-size:12px}.reassurance span{padding:0 5px}.form-status{color:#a3372c;font-size:12px}.hidden-honeypot{position:absolute;left:-9999px}.success{text-align:center;padding:42px 16px}.success-mark{display:grid;place-items:center;margin:auto;width:58px;height:58px;border-radius:50%;background:#e5f7ec;color:#0b8b4f;font-size:30px}.success h2{font-size:28px}.success p{color:#647c72}.privacy{padding:24px 28px 32px;color:#667a72}.privacy h2{font-size:16px}.privacy p{font-size:11px;line-height:1.6}#turnstile-holder{min-height:0}@media(max-width:760px){.campaign-shell{padding:0}.campaign-card{border-radius:0;min-height:100vh}.brand-row{padding:14px 16px}.brand-copy strong{font-size:19px}.brand-copy small{font-size:9px}.eco-badge{font-size:10px;max-width:145px;padding:8px 10px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:28px 20px 14px;background:linear-gradient(180deg,rgba(251,255,249,.98),rgba(251,255,249,.9))}.hero h1{font-size:40px}.campaign-pv .hero-visual{min-height:260px}.campaign-pv .hero-photo{background-position:center 54%}.hero-subtitle{font-size:16px}.benefits{gap:7px;margin-top:18px}.benefit{font-size:10px;padding:7px 9px}.hero-visual{min-height:220px}.house{transform:scale(.72);transform-origin:right bottom;right:4%;bottom:12px}.sky-glow{width:180px;height:180px}.form-panel{margin:-10px 10px 12px;border-radius:24px;padding:14px}.progress-step small{font-size:9px}.form-step{padding:15px}.step-heading h2{font-size:18px}.step-heading p{font-size:11px}.field-grid{grid-template-columns:1fr}.choice-grid,.choice-grid.two{grid-template-columns:1fr 1fr}.choice{min-height:96px;padding:12px}.primary-button{width:100%}.form-controls{align-items:stretch}.back-button{flex:0 0 auto}.form-controls .primary-button{width:auto;flex:1}.privacy{padding:22px 18px}}@media(max-width:390px){.eco-badge{display:none}.choice-grid,.choice-grid.two{grid-template-columns:1fr}.progress-step small{font-size:8px}.hero h1{font-size:35px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Local, verified media. Keep complete image and logo proportions. */
.hero{grid-template-columns:1fr 1.18fr;min-height:0}
.hero-copy{padding:36px 28px;background:#f7fcf8}
.hero h1{font-size:clamp(34px,3.5vw,48px);overflow-wrap:break-word}
.hero-subtitle{font-size:16px}
.benefits{gap:8px;margin-top:22px}
.benefit{font-size:11px;padding:8px}
.brand{min-width:0}
.brand-logo-official{display:block;width:250px;max-width:100%;height:auto;aspect-ratio:584/183;object-fit:contain}
.form-panel{margin-top:16px}
@media(max-width:760px){
 .brand-row{gap:16px}
 .brand-logo-official{width:210px;max-width:55vw;height:auto}
 .eco-badge{max-width:130px;font-size:9px}
 .hero{grid-template-columns:1fr}
 .hero-copy{padding:24px 20px}
 .hero h1{font-size:36px;letter-spacing:-.04em}
 .hero-visual,.campaign-pv .hero-visual{min-height:0}
 .hero-image{width:100%;height:auto}
 .form-panel{margin-top:12px}
}
/* 2026-11-01 — conversion : offre rappelée, précision repliable, téléphone invalide visible, formulaire au premier écran sur mobile */
.hero-offer{margin:16px 0 0;display:inline-grid;gap:2px;background:#fff7e0;border:1px solid #f3d27a;border-radius:16px;padding:10px 14px;color:#5b4300}.hero-offer strong{font-size:15px}.hero-offer small{font-size:11px;color:#7a6420}
.form-step .step-heading{grid-template-columns:auto 1fr}
details.optional-note{margin-top:14px;font-size:13px;font-weight:700;color:#4b655c}details.optional-note summary{cursor:pointer;list-style:none;padding:6px 0;color:#08784a}details.optional-note summary::-webkit-details-marker{display:none}details.optional-note summary::before{content:"+ "}details.optional-note[open] summary::before{content:"− "}details.optional-note textarea{margin-top:8px}
.field-grid label small{font-weight:400;color:#81918b}.field-grid input.invalid{border-color:#c2412d;box-shadow:0 0 0 3px rgba(194,65,45,.12)}
.consent{font-size:13px;padding:12px 14px;background:#f4faf7;border:1px solid #dcebe3;border-radius:14px;cursor:pointer}.consent input{width:22px;height:22px}
.form-status:not(:empty){padding:8px 0;font-size:13px;font-weight:600}
#turnstile-holder:empty{display:none}
@media(max-width:760px){
 .brand-row{padding:10px 14px}.brand-logo-official{height:34px;width:auto}.eco-badge{display:none}
 .hero{min-height:0}.hero-visual,.benefits{display:none}
 .hero-copy{padding:12px 16px 18px}.eyebrow{font-size:10px;margin-bottom:6px}.hero h1{font-size:27px;line-height:1.08;margin-bottom:6px}.hero-subtitle{font-size:14px}
 .hero-offer{margin-top:10px;padding:8px 12px}.hero-offer strong{font-size:13px}.hero-offer small{font-size:10px}
 .form-panel{margin:0 8px 10px;padding:12px 10px}.progress-wrap{padding-bottom:12px}.progress-step span{width:28px;height:28px;font-size:13px}.progress-line{top:17px}
 .form-step{padding:12px}.step-heading{margin-bottom:10px;gap:10px}.step-number{width:34px;height:34px;font-size:16px}.step-heading h2{font-size:17px}
 .choice{min-height:78px;padding:10px}.choice .choice-icon{font-size:20px}
}
@media(max-width:390px){.choice-grid,.choice-grid.two{grid-template-columns:1fr 1fr}.hero h1{font-size:25px}}
.hero-offer[hidden]{display:none}
