:root{--ink:#111629;--midnight:#12172a;--blue:#2456f0;--gold:#ffde9e;--muted:#5c6477}
html{scroll-behavior:smooth}
body{background:#fff;color:var(--ink)}
header{background:#fff}header .wrap{height:82px}header nav .btn{border-radius:100px;padding:13px 22px}
.hero{background:radial-gradient(circle at 10% 5%,#222e57 0,transparent 34%),linear-gradient(135deg,#111626 0%,#171e37 63%,#142b64 100%);color:#fff;padding:clamp(46px,6vw,82px) 0 clamp(56px,7vw,96px)}
.hero .grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(30px,5vw,84px);align-items:start}
.hero .eyebrow{color:var(--gold)}
h1.promise{font-size:clamp(37px,4.1vw,63px);line-height:1.08;letter-spacing:-.045em;text-transform:none;margin:18px 0 25px}
.hero .blue{color:#96b3ff}.hero .sub{color:#f0f2fa;font-size:clamp(17px,1.3vw,20px);max-width:610px;line-height:1.6}
.mobile-start{display:none;color:#111629;background:var(--gold);border-radius:100px;padding:13px 17px;font:700 13px/1.2 Poppins,sans-serif;width:max-content;max-width:100%;margin:0 0 25px}
#formulaire{scroll-margin-top:16px}
.editorial{margin:40px 0 26px;border-radius:24px;overflow:hidden;background:#1f2949;position:relative;box-shadow:0 24px 50px #080d1f55}
.editorial img{width:100%;aspect-ratio:1.62;object-fit:cover;display:block}.editorial:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,#0b1020c9);pointer-events:none}
.editorial div{position:absolute;z-index:1;left:25px;bottom:25px;right:20px;display:grid;gap:7px}.editorial span{font:700 11px/1.3 Poppins,sans-serif;letter-spacing:.14em;color:var(--gold)}.editorial strong{font:600 clamp(20px,2vw,28px)/1.24 Poppins,sans-serif;letter-spacing:-.03em;color:#fff}
.reassurance{color:#f4f1e9;font-size:16px;line-height:1.65;padding-left:16px;border-left:3px solid var(--gold);margin:0 0 30px}.reassurance span{color:var(--gold);margin-right:4px}
.process{border-top:1px solid #ffffff30;padding-top:16px;color:#d5dcf0;font-size:14px}.process p{display:flex;gap:14px;margin:8px 0}.process b{color:var(--gold);font-family:Poppins,sans-serif}
.form-side{min-width:0}.card{background:#fff;color:var(--ink);border:1px solid #d8e0f2;border-radius:28px;padding:clamp(24px,3.2vw,48px);box-shadow:0 30px 70px #060a1b60}
.card .eyebrow{color:var(--blue);font-size:12px}.card h2{font-size:clamp(23px,2.1vw,31px);line-height:1.22;letter-spacing:-.035em;margin:9px 0 9px;text-transform:none}.card .hint{color:var(--muted);font-size:15px;line-height:1.55;margin:0 0 24px}
.context-note,.noscript-note{margin:0 0 19px;padding:13px 15px;border-radius:12px;background:#eef3ff;color:#24418c;font-size:13px;line-height:1.5}.noscript-note a{text-decoration:underline;font-weight:700}
.stepper{display:flex;align-items:center;gap:4px;color:var(--muted);font:700 12px/1.2 Poppins,sans-serif;letter-spacing:.02em;margin:0 0 24px}.step-current{color:var(--blue);font-size:17px}.step-track{width:90px;height:5px;margin:0 10px;border-radius:9px;background:#e8edfa;overflow:hidden}.step-track i{display:block;width:50%;height:100%;background:var(--blue);border-radius:9px;transition:width .25s ease}.step-name{color:var(--blue)}
.form-step h3{font-size:20px;line-height:1.3;letter-spacing:-.02em}.step-intro{font-size:15px;color:#596173;margin:9px 0 20px;line-height:1.55}
.pain-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.pain-choice{font:600 13px/1.35 'DM Sans',sans-serif;text-align:left;min-height:58px;border:1px solid #dce2f0;border-radius:13px;padding:10px 13px;background:#f7f9fe;color:#273148;cursor:pointer;transition:background .16s,border-color .16s,transform .16s}.pain-choice:hover{border-color:#8aa7ff;transform:translateY(-1px)}.pain-choice[aria-pressed=true]{border-color:var(--blue);background:#eaf0ff;color:#1538a5;box-shadow:inset 0 0 0 1px var(--blue)}.pain-choice:focus-visible,.small-action:focus-visible,.back-action:focus-visible{outline:3px solid #e40d1a;outline-offset:3px}
.field{margin-bottom:18px}.field label,.mode-field legend{font-size:14px;letter-spacing:0;color:#1e2638}.field-help{font-size:13px;color:#566075;line-height:1.52;margin:0 0 9px}.field-error{font-size:13px;color:#a6292b;margin:6px 0 0;min-height:0}.field-error:empty{display:none}.field input,.field textarea,.writing-help input{border:1px solid #cdd5e7;border-radius:12px;background:#fff}.field input:focus,.field textarea:focus,.writing-help input:focus{outline:3px solid #cddaff;outline-offset:0;border-color:var(--blue)}.field textarea{min-height:165px;line-height:1.55}.field [aria-invalid=true],.consent input[aria-invalid=true]{border-color:#bf3030;outline-color:#ffd6d6}
.writing-help{border:1px solid #dce3f2;border-radius:14px;background:#f7f9ff;margin:-2px 0 22px}.writing-help summary{list-style:none;cursor:pointer;padding:15px 17px;font-size:14px;font-weight:700;color:#2456f0}.writing-help summary::-webkit-details-marker{display:none}.writing-help summary:after{content:"+";float:right;font-size:20px;line-height:17px}.writing-help[open] summary:after{content:"−"}.writing-help-body{padding:0 17px 18px}.writing-help-body p{font-size:13px;color:#586176;line-height:1.45}.writing-help-body label{margin-top:13px}.writing-help-body input{min-height:45px}.small-action{margin-top:15px;background:#e9efff;color:#1b45c6;border:1px solid #aac0fa;border-radius:100px;padding:11px 15px;font:700 13px/1.2 Poppins,sans-serif;cursor:pointer}
.step-actions{display:flex;align-items:center;gap:15px;margin-top:8px}.step-actions .btn{border-radius:100px;min-height:50px;font-size:14px;padding:15px 23px}.step-actions span,.submit-note{font-size:12px;color:#697284;line-height:1.5}.submit-note{margin:12px 0 0;text-align:right}.final-actions{justify-content:space-between}.back-action{border:0;background:none;color:var(--blue);font:700 13px/1.4 Poppins,sans-serif;cursor:pointer;padding:12px 4px;text-align:left}.final-actions .btn{white-space:normal}
.row{gap:12px}.row .field{min-width:0}.mode-field{border:0;padding:0;margin:0 0 22px}.mode-field legend{font-weight:700;margin:0 0 10px}.mode-field small{font-weight:400;color:#667}.mode{gap:8px}.mode label{font-size:12px;min-height:58px;border-radius:12px;line-height:1.3;padding:10px}.mode label:has(input:checked){background:#eaf0ff}.consent{font-size:12px;color:#4b5365;line-height:1.5;margin:6px 0 8px}.consent input{margin-top:2px}
html.js-ready .form-step[hidden]{display:none}html:not(.js-ready) #next-step,html:not(.js-ready) #prev-step{display:none}html:not(.js-ready) .stepper{display:none}html:not(.js-ready) .form-step[data-step="2"]{border-top:1px solid #e0e5ee;margin-top:26px;padding-top:24px}
.msg.err{border-radius:12px}.done .ok{border:0;border-radius:27px;box-shadow:0 30px 70px #060a1b60;padding:clamp(26px,3.5vw,48px);color:var(--ink)}.done h2{text-transform:none}.done .big{color:var(--blue)}.done .eyebrow{color:var(--blue)}.audit-start{background:#f3f6fe;border-left:4px solid var(--blue);padding:22px 23px;border-radius:8px;margin:25px 0}.audit-start span{font:700 11px Poppins,sans-serif;letter-spacing:.12em;color:var(--blue)}.audit-start h3{font-size:19px;margin:8px 0 12px}.audit-start p{font-size:14px;margin:0 0 9px}.audit-start ul{padding-left:21px;margin:11px 0}.audit-start li{margin:4px 0;font-size:14px}.done .btn{border-radius:100px;font-size:13px;letter-spacing:0;text-transform:none}
.band{background:#111629;border-color:var(--gold)}.band h2{font-size:clamp(24px,2.5vw,37px);line-height:1.3}.band .blue{color:#9bb5ff}
@media(max-width:960px){.hero .grid{grid-template-columns:1fr}.copy{max-width:680px}.editorial{max-width:580px}.process{margin-bottom:0}.form-side{max-width:760px;width:100%}}
@media(max-width:760px){header .wrap{height:70px}.hero{padding:35px 0 58px}.hero .grid{gap:26px}h1.promise{font-size:clamp(33px,8.5vw,44px);margin:14px 0 16px}.hero .sub{font-size:16px}.mobile-start{display:inline-block}.editorial{margin:0 0 21px;border-radius:18px}.editorial div{left:18px;bottom:17px}.reassurance{font-size:14px}.card{border-radius:21px;padding:22px 19px}.pain-choices{gap:8px}.pain-choice{font-size:12px;min-height:65px;padding:10px}.step-actions{flex-wrap:wrap}.step-actions .btn{width:100%}.step-actions span{text-align:center;width:100%}.final-actions .back-action{order:2;width:100%;text-align:center}.final-actions .btn{order:1}.mode{grid-template-columns:1fr}.mode label{min-height:48px}.submit-note{text-align:center}.done .ok{border-radius:21px}}
@media(max-width:360px){header nav{display:none}.pain-choices{grid-template-columns:1fr}.pain-choice{min-height:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pain-choice,.step-track i{transition:none}}
