:root{--bg:#F4F3EE;--sf:#FFFFFF;--sf2:#ECEBE5;--alt:#ECEBE5;--ln:#DCDAD2;--ln2:#C4C2B8;--t1:#0A0A0A;--t2:#5A5A55;--t2b:#2E2E2B;--t3:#6B6B65;--ac:#4A22C9;--acb:#4A22C9;--vi:#7A3FB0;--lime:#D3FF24;--violet:#B16EE6}
.tone-dark{--bg:#0A0A0A;--sf:#1C1C1C;--sf2:#141414;--alt:#F5F5F5;--ln:#2A2A2A;--ln2:#3A3A3A;--t1:#F5F5F5;--t2:#A3A3A3;--t2b:#D4D4D4;--t3:#8A8A8A;--ac:#D3FF24;--acb:#D3FF24;--vi:#B16EE6;background:var(--bg);color:var(--t1)}
html{scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:#F4F3EE;color:#0A0A0A;font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--ac);text-decoration:none}a:hover{color:var(--t1)}
h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit}
img{display:block;max-width:100%}
@keyframes mp-marquee{to{transform:translateX(-50%)}}
.wrap{max-width:1240px;margin:0 auto;padding-inline:clamp(20px,4vw,40px)}
.sec{padding-block:clamp(72px,10vw,128px)}
.col{display:flex;flex-direction:column}
.g12{gap:12px}.g14{gap:14px}.g20{gap:20px}.g48{gap:48px}
.sm{scroll-margin-top:64px}.sm96{scroll-margin-top:96px}
.ac{color:var(--ac)}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(10,10,10,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--ln)}
.hdr .prog{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:#D3FF24;transform-origin:0 50%;transform:scaleX(0)}
.hdr-in{max-width:1240px;margin:0 auto;padding:12px clamp(20px,4vw,40px);display:flex;justify-content:space-between;align-items:center;gap:16px}
.logo{display:block;flex-shrink:0}.logo img{height:24px;width:auto}
.nav{display:flex;gap:clamp(14px,2.4vw,28px);align-items:center;flex-wrap:wrap;justify-content:flex-end;font-family:'Bebas Neue';font-size:18px;letter-spacing:.06em}
.nav a{color:var(--t1)}.nav a:hover,.nav a[aria-current]{color:var(--ac)}
.nav .nav-cta{white-space:nowrap;background:#D3FF24;color:#0A0A0A;border-radius:999px;padding:10px 18px;font-family:Inter;font-weight:600;font-size:14px;letter-spacing:0}
.nav .nav-cta:hover{background:var(--t1);color:var(--bg)}

/* buttons, links, tags */
.btn{display:inline-block;white-space:nowrap;border-radius:999px;font-weight:600;text-align:center;transition:background .15s,color .15s,border-color .15s}
.btn-lime{background:#D3FF24;color:#0A0A0A}.btn-lime:hover{background:var(--t1);color:var(--bg)}
.btn-ink{background:#0A0A0A;color:#D3FF24}.btn-ink:hover{background:#1C1C1C;color:#F5F5F5}
.btn-out{border:1.5px solid var(--t1);color:var(--t1)}.btn-out:hover{background:var(--t1);color:var(--bg)}
.btn-lg{padding:17px 30px;font-size:16px}.btn-md{padding:15px 20px;font-size:15px}.btn-xl{padding:19px 34px;font-size:17px}
.link-u{white-space:nowrap;color:var(--t1);padding:6px 0;font-weight:500;font-size:16px;border-bottom:1px solid var(--ln2);transition:border-color .15s}
.link-u:hover{border-color:var(--acb);color:var(--t1)}
.link-b{align-self:flex-start;color:var(--ac);font-weight:600;font-size:16px;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.link-b:hover{color:var(--t1)}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{white-space:nowrap;font-family:'Bebas Neue';font-size:17px;letter-spacing:.06em;border:1.5px solid var(--ln2);border-radius:999px;padding:5px 14px;display:flex;gap:8px;align-items:center}
.tag i{width:7px;height:7px;border-radius:50%;background:#D3FF24}
.tag-vi{border-color:var(--vi);color:var(--vi)}
.tag-s{font-size:16px;padding:4px 13px}
.tag-lime{background:#D3FF24;color:#0A0A0A;border-color:#D3FF24}
.eyebrow{display:flex;gap:12px;align-items:center;font-family:'Bebas Neue';font-size:20px;letter-spacing:.08em;color:var(--ac)}
.eyebrow img{height:13px;width:auto}
.eyebrow.vi{color:var(--vi)}
.h2{font-family:Poppins;font-weight:700;font-size:clamp(32px,4.4vw,56px);line-height:1.05;letter-spacing:-.025em;text-wrap:balance}
.h2-m{font-size:clamp(28px,3.4vw,40px);line-height:1.1;letter-spacing:-.02em}
.h1{font-family:Poppins;font-weight:700;font-size:clamp(40px,5.4vw,72px);line-height:1;letter-spacing:-.035em;text-wrap:balance}
.lead{font-size:clamp(17px,1.5vw,19px);line-height:1.6;color:var(--t2);max-width:560px;text-wrap:pretty}
.txt{font-size:17px;line-height:1.65;color:var(--t2b);text-wrap:pretty}
.mut{color:var(--t2)}
.dashl{display:flex;flex-direction:column;gap:10px;font-size:16px;color:var(--t2b)}
.dashl li{display:flex;gap:12px;align-items:baseline}.dashl li:before{content:"—";color:var(--ac);font-weight:600}
.cta-row{display:flex;gap:20px;flex-wrap:wrap;align-items:center}

/* placeholders */
.ph{width:100%;height:100%;min-height:120px;border-radius:16px;border:1.5px dashed var(--ln2);background:repeating-linear-gradient(135deg,transparent 0 14px,rgba(128,128,128,.07) 14px 15px),var(--sf);display:grid;place-items:center;text-align:center;padding:20px;font-family:'Bebas Neue';font-size:18px;letter-spacing:.06em;color:var(--t3)}
.tone-dark .ph{background:repeating-linear-gradient(135deg,transparent 0 14px,rgba(255,255,255,.04) 14px 15px),#141414}
.ph.r20{border-radius:20px}

/* hero */
.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(40px,6vw,88px);align-items:center;min-height:84vh;padding-block:clamp(48px,8vw,112px) clamp(48px,7vw,88px)}
.hero-txt{display:flex;flex-direction:column;gap:clamp(28px,3vw,40px)}
.hero h1{font-family:Poppins;font-weight:700;font-size:clamp(44px,6.4vw,84px);line-height:.98;letter-spacing:-.035em}
.hero-vis{position:relative;aspect-ratio:4/5;max-height:700px;width:100%;will-change:transform}
.hero-card{position:absolute;left:20px;bottom:20px;background:rgba(10,10,10,.72);backdrop-filter:blur(10px);border:1px solid rgba(245,245,245,.12);border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:2px;pointer-events:none}
.hero-card b{font-size:14px;font-weight:600;color:#F5F5F5}.hero-card span{font-size:13px;color:#A3A3A3}

/* reassurance bands */
.reass{position:relative;height:clamp(170px,17vw,220px);overflow:hidden}
.band{position:absolute;left:-10%;right:-10%;top:50%;overflow:hidden}
.band-b{transform:translateY(-50%) rotate(2.5deg);background:var(--sf);border-block:1px solid var(--ln);padding:16px 0}
.band-f{transform:translateY(-50%) rotate(-2deg);background:#D3FF24;color:#0A0A0A;padding:18px 0;box-shadow:0 0 0 1px #0A0A0A}
.band-t{display:flex;width:max-content;align-items:center;will-change:transform}
.band-b .band-t{gap:32px;transform:translateX(-30%)}.band-f .band-t{gap:36px;transform:translateX(-10%)}
.band-t span{white-space:nowrap;display:flex;align-items:center;font-family:'Bebas Neue'}
.band-b .band-t span{font-size:clamp(20px,2vw,26px);letter-spacing:.06em;color:var(--t3);gap:32px}.band-b img{height:12px;width:auto}
.band-f .band-t span{font-size:clamp(26px,2.8vw,38px);letter-spacing:.04em;line-height:1;gap:36px}.band-f img{height:16px;width:auto}
.sr{position:absolute;width:0;height:0;overflow:hidden}

/* cards / grids */
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.card{background:var(--sf);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:14px}
.card .n{font-family:'Bebas Neue';font-size:40px;line-height:1;color:var(--ln2)}
.card h3{font-family:Poppins;font-weight:600;font-size:21px;line-height:1.3}
.card p{font-size:16px;line-height:1.55;color:var(--t2)}
.card-vi{background:#B16EE6;justify-content:space-between;gap:24px}
.card-vi img{height:22px;width:auto;align-self:flex-start}
.card-vi p{font-family:Poppins;font-weight:700;font-size:24px;line-height:1.25;color:#0A0A0A}

/* approche */
.alt{background:var(--alt);color:#0A0A0A}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:clamp(32px,5vw,64px);align-items:center}
.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:0 32px}
.checks li{display:flex;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid #D4D4D4;font-size:17px}
.checks li:before{content:"✓";width:26px;height:26px;border-radius:50%;background:#0A0A0A;color:#D3FF24;display:grid;place-items:center;font-size:13px;flex-shrink:0}
.big{font-family:Poppins;font-weight:700;font-size:clamp(26px,3.2vw,40px);line-height:1.15;letter-spacing:-.02em;max-width:900px;text-wrap:balance;text-align:center;align-self:center}
.big mark{background:#D3FF24;color:#0A0A0A;padding:0 6px}

/* MAPRA */
.mapra{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:2px;border-radius:16px;overflow:hidden;position:relative}
.mapra li{background:var(--sf);padding:28px 24px 32px;display:flex;flex-direction:column;gap:14px;transition:background .35s;cursor:default}
.mapra .l{font-family:'Bebas Neue';font-size:96px;line-height:.85;color:var(--ac);transition:color .35s}
.mapra .t{font-family:'Bebas Neue';font-size:26px;letter-spacing:.05em;color:var(--t1)}
.mapra p{font-size:15px;line-height:1.55;color:var(--t2)}
.mapra li.on{background:#D3FF24}.mapra li.on .l,.mapra li.on .t{color:#0A0A0A}.mapra li.on p{color:#1C1C1C}
.mbars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:-32px}
.mbars div{height:3px;border-radius:2px;background:var(--ln);transition:background .35s}.mbars div.on{background:var(--acb)}
.wm{position:absolute;pointer-events:none}
.rel{position:relative}

/* photos */
.photos{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(min(78%,270px),1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.photos figure{display:flex;flex-direction:column;gap:12px;scroll-snap-align:start}
.photos .im{aspect-ratio:4/5}
.photos figcaption{font-family:'Bebas Neue';font-size:19px;letter-spacing:.06em;display:flex;gap:10px;align-items:center}
.photos figcaption:before{content:"";width:8px;height:8px;border-radius:50%;background:#B16EE6;flex-shrink:0}

/* à propos */
.about{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:clamp(32px,5vw,72px);align-items:start}
.quote{margin-top:8px;padding:28px;background:#B16EE6;color:#0A0A0A;border-radius:16px;display:flex;flex-direction:column;gap:10px}
.quote p{font-family:Poppins;font-weight:700;font-size:clamp(20px,2.2vw,26px);line-height:1.25;text-wrap:balance}
.quote span{font-family:'Bebas Neue';font-size:18px;letter-spacing:.06em}

/* bénéfices */
.benef{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:clamp(32px,5vw,72px);align-items:start}
.sticky{position:sticky;top:96px}
.rows li{display:flex;gap:20px;align-items:baseline;padding:24px 0;border-top:1px solid var(--ln)}
.rows li:last-child{border-bottom:1px solid var(--ln)}
.rows .n{font-family:'Bebas Neue';font-size:22px;color:var(--vi);flex-shrink:0}
.rows span:last-child{font-family:Poppins;font-weight:600;font-size:clamp(19px,1.8vw,22px);line-height:1.35}
.lime-band{background:#D3FF24;color:#0A0A0A;overflow:hidden;padding:18px 0}
.lime-band .tr{display:flex;width:max-content;animation:mp-marquee 32s linear infinite}
.lime-band .grp{display:flex;align-items:center;gap:clamp(20px,3vw,40px);padding-right:clamp(20px,3vw,40px)}
.lime-band span{font-family:'Bebas Neue';font-size:clamp(28px,3.4vw,44px);letter-spacing:.04em;line-height:1}
.lime-band img{height:clamp(14px,1.6vw,20px);width:auto}

/* offres */
.offsec{background:var(--sf2);border-top:1px solid var(--ln)}
.pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}
.pick a{border:1.5px solid var(--ln);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:10px;color:var(--t1);transition:border-color .15s}
.pick a:hover,.pick a.on{border-color:var(--acb);color:var(--t1)}
.pick i{font-size:16px;color:var(--t2b);line-height:1.4}
.pick b{font-family:'Bebas Neue';font-weight:400;font-size:20px;letter-spacing:.05em;color:var(--ac)}
.offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;align-items:stretch}
.offer{background:var(--sf);border:2px solid var(--ln);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:18px;transition:border-color .2s}
.offer.on{border-color:var(--acb)}
.offer .k{font-family:'Bebas Neue';font-size:18px;letter-spacing:.06em;color:var(--vi)}
.offer h3{font-family:Poppins;font-weight:700;font-size:24px;line-height:1.15}
.offer .d{font-size:15px;line-height:1.55;color:var(--t2b)}
.offer .pr{display:flex;flex-direction:column;gap:2px;padding:16px 0;border-block:1px solid var(--ln)}
.offer .pr b{font-family:Poppins;font-weight:700;font-size:40px;line-height:1}
.offer .pr b small{font-size:18px;font-weight:500;color:var(--t2)}
.offer .pr span{font-size:14px;color:var(--t2)}
.offer .who{font-size:14px;line-height:1.5;color:var(--t2)}.offer .who strong{color:var(--t1);font-weight:600}
.offer .btn{margin-top:auto}
.offer ul.det{display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.5;color:var(--t2b)}
.offer ul.det li{display:flex;gap:10px}.offer ul.det li:before{content:"—";color:var(--vi);flex-shrink:0}
.offer .no{font-size:13px;line-height:1.5;color:var(--t3)}
.offer.prem{background:#D3FF24;color:#0A0A0A;border-color:#D3FF24;position:relative}
.offer.prem.on{border-color:#0A0A0A}
.offer.prem .k{color:#0A0A0A}.offer.prem .d,.offer.prem .who{color:#1C1C1C}.offer.prem .who strong,.offer.prem .pr b small{color:#0A0A0A}
.offer.prem .pr{border-color:rgba(10,10,10,.2)}.offer.prem .pr span{color:#0A0A0A}
.offer.prem ul.det,.offer.prem .no{color:#1C1C1C}.offer.prem ul.det li:before{color:#0A0A0A}
.offer.prem .top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.badge{font-family:'Bebas Neue';font-size:15px;letter-spacing:.06em;background:#0A0A0A;color:#D3FF24;border-radius:999px;padding:4px 10px;white-space:nowrap}
.promo{border:1.5px dashed var(--vi);border-radius:14px;padding:18px 24px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.promo em{font-style:normal;font-family:'Bebas Neue';font-size:22px;letter-spacing:.05em;background:#B16EE6;color:#0A0A0A;border-radius:999px;padding:4px 14px}
.promo p{font-size:16px;line-height:1.5}.promo strong{font-weight:600}
.tbl{width:100%;border-collapse:collapse;font-size:16px}
.tbl th,.tbl td{text-align:left;padding:14px 0;border-bottom:1px solid var(--ln)}
.tbl th{font-family:'Bebas Neue';font-weight:400;font-size:18px;letter-spacing:.06em;color:var(--t3)}
.tbl td:last-child,.tbl th:last-child{text-align:right;font-weight:600}

/* parcours */
.parcours{background:#B16EE6;color:#0A0A0A;position:relative;overflow:hidden}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:32px}
.steps li{display:flex;flex-direction:column;gap:18px;border-top:3px solid #0A0A0A;padding-top:20px}
.steps .c{width:52px;height:52px;border-radius:50%;background:#0A0A0A;color:#D3FF24;display:grid;place-items:center;font-family:'Bebas Neue';font-size:28px}
.steps li:nth-child(3) .c{background:#D3FF24;color:#0A0A0A}
.steps p{font-family:Poppins;font-weight:600;font-size:20px;line-height:1.35}

/* faq */
.faqs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(24px,5vw,72px);align-items:start}
.faq{display:flex;flex-direction:column;border-top:1px solid var(--ln)}
.faq-i{border-bottom:1px solid var(--ln)}
.faq-q{width:100%;background:none;border:0;color:var(--t1);padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;text-align:left;font-family:Poppins;font-weight:600;font-size:19px}
.faq-q:hover{color:var(--ac)}
.faq-s{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--ln2);color:var(--t1);display:grid;place-items:center;font-family:Inter;font-size:18px;flex-shrink:0}
.faq-i.open .faq-s{border-color:#D3FF24;background:#D3FF24;color:#0A0A0A}
.faq-a{padding:0 48px 24px 0;font-size:16px;line-height:1.6;color:var(--t2)}
.faq-a[hidden]{display:none}

/* cta final */
.cta-s{padding:0 clamp(12px,2vw,24px) clamp(12px,2vw,24px)}
.cta-b{max-width:1400px;margin:0 auto;background:#D3FF24;color:#0A0A0A;border-radius:28px;padding:clamp(56px,9vw,120px) clamp(20px,4vw,40px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px;position:relative;overflow:hidden}
.cta-b h2{font-family:Poppins;font-weight:700;font-size:clamp(44px,7vw,96px);line-height:.98;letter-spacing:-.035em;position:relative}
.cta-b p{font-size:clamp(17px,1.6vw,20px);line-height:1.55;max-width:620px;position:relative;text-wrap:pretty}
.cta-b .rl{position:relative}
.cta-b .ul{color:#0A0A0A;font-weight:600;font-size:15px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}.cta-b .ul:hover{color:#404040}

/* footer */
.ftr{max-width:1240px;margin:0 auto;padding:clamp(56px,8vw,96px) clamp(20px,4vw,40px) 40px;display:flex;flex-direction:column;gap:56px}
.ftr-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;border-bottom:1px solid var(--ln);padding-bottom:40px}
.ftr-top img{height:40px;width:auto;max-width:100%}
.ftr-top p{font-family:'Bebas Neue';font-size:clamp(26px,3vw,36px);letter-spacing:.05em}
.ftr-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px}
.ftr-cols div{display:flex;flex-direction:column;gap:12px}
.ftr-cols h4{margin:0;font-family:'Bebas Neue';font-weight:400;font-size:18px;letter-spacing:.06em;color:var(--t3)}
.ftr-cols a,.ftr-cols span{color:var(--t2b)}.ftr-cols a:hover{color:var(--ac)}
.ftr small{font-size:13px;color:var(--t3)}
.sticky-cta{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;display:flex;justify-content:center;pointer-events:none;opacity:0;transform:translateY(20px);transition:opacity .25s,transform .25s}
.sticky-cta.show{opacity:1;transform:none}
.sticky-cta a{pointer-events:none;white-space:nowrap;box-shadow:0 0 0 6px rgba(10,10,10,.6)}
.sticky-cta.show a{pointer-events:auto}

/* pages secondaires */
.phero{padding-block:clamp(56px,8vw,104px) clamp(48px,6vw,80px)}
.phero .col{gap:24px;max-width:860px}
.note{border:1.5px dashed var(--vi);border-radius:14px;padding:20px 24px;font-size:16px;line-height:1.55;color:var(--t2b)}
.note strong{font-weight:600;color:var(--t1)}
.dstep{display:grid;grid-template-columns:minmax(110px,160px) 1fr;gap:clamp(20px,4vw,56px);padding:40px 0;border-top:1px solid var(--ln);align-items:start}
.dstep .l{font-family:'Bebas Neue';font-size:clamp(88px,10vw,140px);line-height:.85;color:var(--ac)}
.dstep h3{font-family:Poppins;font-weight:700;font-size:clamp(24px,2.6vw,32px);line-height:1.15;margin-bottom:12px}
.dstep ul{margin-top:14px;display:flex;flex-direction:column;gap:8px;font-size:16px;line-height:1.55;color:var(--t2b)}
.dstep ul li{display:flex;gap:12px}.dstep ul li:before{content:"—";color:var(--vi);flex-shrink:0}
@media(max-width:640px){.dstep{grid-template-columns:1fr;gap:8px}}
.legal{max-width:760px}
.legal p{font-size:17px;line-height:1.65;color:var(--t2b);margin-top:16px}
.cursor-d,.cursor-r{position:fixed;left:0;top:0;pointer-events:none;z-index:9999;border-radius:50%;mix-blend-mode:difference;opacity:0;transition:opacity .2s,width .25s,height .25s,margin .25s,background .25s,border-color .25s}
.cursor-d{width:8px;height:8px;margin:-4px 0 0 -4px;background:#D3FF24}
.cursor-r{width:40px;height:40px;margin:-20px 0 0 -20px;border:1.5px solid #F5F5F5}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lime-band .tr{animation:none}*{transition-duration:.01ms!important}}
.offers>.offer:only-child{max-width:560px}
@media(max-width:640px){.nav{gap:12px;font-size:17px}.hdr-in{padding-block:10px}}