@font-face{font-family:'Archivo';font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;src:url(assets/archivo-variable.woff2) format('woff2')}

/* --- base --- */
html{scroll-behavior:smooth}
body{margin:0;background:#faf4ec;color:#16131f;font-family:'Archivo',sans-serif}
a{color:inherit;text-decoration:none}
a:hover{opacity:.75}
[data-rv]{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
[data-rv].on{opacity:1;transform:none}
@keyframes ddmq{to{transform:translateX(-50%)}}
.noanim [data-rv]{opacity:1;transform:none;transition:none}
.noanim *{animation:none!important}
.dd-links{display:flex;gap:30px;font-size:14px;font-weight:500;color:rgba(22,19,31,.7);background:#fff;border-radius:12px;padding:20px 30px}
.dd-burger{display:none}
.dd-menu{display:none}
@media(max-width:1024px){.dd-links{display:none}.dd-cta{display:none}.dd-burger{display:flex}.dd-menu{display:flex}}
@media(min-width:1025px){body{overflow:visible!important}}
details summary::-webkit-details-marker{display:none}
.dd-fig{width:100%;height:100%;display:block}
.dd-fig *{transform-box:fill-box;transform-origin:center}
.dd-in{opacity:0;animation:ddin 6s cubic-bezier(.22,.61,.36,1) infinite}
@keyframes ddin{0%{opacity:0;transform:translateY(12px)}10%,70%{opacity:1;transform:none}82%,100%{opacity:0;transform:translateY(-8px)}}
.dd-sceau{stroke-dasharray:60;stroke-dashoffset:60;animation:ddsceau 6s ease-in-out 1s infinite}
@keyframes ddsceau{0%{stroke-dashoffset:60}22%,70%{stroke-dashoffset:0}84%,100%{stroke-dashoffset:60}}
.dd-fil{stroke-dasharray:300;stroke-dashoffset:300;animation:ddfil 6s ease-in-out infinite}
@keyframes ddfil{0%{stroke-dashoffset:300}35%,72%{stroke-dashoffset:0}86%,100%{stroke-dashoffset:300}}
.dd-gauche{animation:ddgauche 6s cubic-bezier(.22,.61,.36,1) infinite}
@keyframes ddgauche{0%,10%{transform:translateX(-34px)}40%,72%{transform:none}90%,100%{transform:translateX(-34px)}}
.dd-droite{animation:dddroite 6s cubic-bezier(.22,.61,.36,1) infinite}
@keyframes dddroite{0%,10%{transform:translateX(34px)}40%,72%{transform:none}90%,100%{transform:translateX(34px)}}
.dd-unique{animation:ddunique 6s cubic-bezier(.22,.61,.36,1) infinite}
@keyframes ddunique{0%,22%{transform:none}44%,72%{transform:translateY(-9px) scale(1.07)}92%,100%{transform:none}}
@media(max-width:1024px){.dd-av{grid-template-columns:70px 1fr!important}.dd-cadre{grid-column:1/-1;margin-top:10px}}
@media (prefers-reduced-motion:reduce){.dd-fig *{animation:none!important;opacity:1!important;stroke-dashoffset:0!important}}
.dd-trace1{stroke-dasharray:170;stroke-dashoffset:170;animation:ddtrace1 6s ease-in-out infinite}
@keyframes ddtrace1{0%{stroke-dashoffset:170}25%,70%{stroke-dashoffset:0}85%,100%{stroke-dashoffset:170}}
.dd-trace2{stroke-dasharray:150;stroke-dashoffset:150;animation:ddtrace2 6s ease-in-out .4s infinite}
@keyframes ddtrace2{0%{stroke-dashoffset:150}25%,70%{stroke-dashoffset:0}85%,100%{stroke-dashoffset:150}}
.dd-fleche{animation:ddfleche 6s ease-in-out infinite}
@keyframes ddfleche{0%,18%{transform:translateX(-7px);opacity:.25}34%,70%{transform:none;opacity:1}88%,100%{transform:translateX(-7px);opacity:.25}}
.dd-goutte{animation:ddgoutte 6s cubic-bezier(.22,.61,.36,1) infinite}
@keyframes ddgoutte{0%{transform:translateY(-42px);opacity:0}14%,72%{transform:none;opacity:1}86%,100%{transform:translateY(-42px);opacity:0}}
.dd-onde{animation:ddonde 3s ease-out infinite}
@keyframes ddonde{0%{opacity:.5;transform:scale(.3)}70%,100%{opacity:0;transform:scale(1.7)}}

/* --- survols --- */
.h0:hover{background: rgb(252, 184, 250) !important; color: rgb(22, 19, 31) !important}
.h1:hover{background: rgb(250, 244, 236) !important}
.h2:hover{background: rgb(252, 184, 250) !important; color: rgb(22, 19, 31) !important; border-color: rgb(252, 184, 250) !important; opacity: 1 !important}
.h3:hover{background: rgb(252, 184, 250) !important; color: rgb(22, 19, 31) !important; border-color: rgb(252, 184, 250) !important}
.h4:hover{background: rgba(250, 244, 236, 0.12) !important}
.h5:hover{background: rgb(252, 184, 250) !important; color: rgb(22, 19, 31) !important; opacity: 1 !important}
.h6:hover{background: rgb(22, 19, 31) !important; color: rgb(250, 244, 236) !important; opacity: 1 !important}
.h7:hover{transform: translateY(-8px) !important}
.h8:hover{background: rgb(232, 143, 229) !important; color: rgb(22, 19, 31) !important}
.h9:hover{background: rgba(252, 184, 250, 0.12) !important}

/* --- états pilotés par app.js (spécificité volontairement supérieure) --- */
[data-role="voile"].est-ouvert{opacity:1;visibility:visible}
[data-role="tiroir"].est-ouvert{transform:none}
.dd-menu.est-ouvert{opacity:1;visibility:visible}
.dd-burger.est-ouvert span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.dd-burger.est-ouvert span:nth-child(2){opacity:0}
.dd-burger.est-ouvert span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
[data-role="erreur"].est-visible{display:block}
[data-role="bouton-envoi"].est-occupe{opacity:.6;cursor:default}
[hidden]{display:none!important}

/* --- puces de profession --- */
.dd-chip{cursor:pointer;border:1px solid rgba(250,244,236,.3);background:transparent;color:rgba(250,244,236,.75);font-weight:600;font-size:13.5px;padding:9px 18px;border-radius:99px}
.dd-chip.est-actif{border-color:#fcb8fa;background:#fcb8fa;color:#16131f}

/* --- accusé de réception du formulaire --- */
.dd-succes{text-align:center;padding:60px 10px}
.dd-succes-icone{font-size:40px;color:#fcb8fa}
.dd-succes-titre{font-weight:900;font-size:24px;margin-top:12px}
.dd-succes-texte{font-size:15px;color:rgba(250,244,236,.6)}

/* --- styles extraits des éléments --- */
.s0{position: fixed; top: 0px; left: 0px; right: 0px; z-index: 50; display: flex; justify-content: center; padding: 16px 20px}
.s1{display: flex; justify-content: space-between; align-items: center; gap: 28px; width: 100%; max-width: 1200px}
.s2{font-weight: 900; font-size: 18px; font-stretch: 115%; letter-spacing: -0.01em}
.s3{color: rgb(232, 143, 229)}
.s4{color: rgb(22, 19, 31); font-weight: 700}
.s5{cursor: pointer; background: rgb(22, 19, 31); color: rgb(250, 244, 236); font-weight: 700; font-size: 13.5px; padding: 12px 24px; border-radius: 99px}
.s6{cursor: pointer; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: 46px; height: 46px; border-radius: 99px; background: rgb(255, 255, 255)}
.s7{width: 20px; height: 2px; background: rgb(22, 19, 31); border-radius: 2px; transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1); transform: none}
.s8{width: 20px; height: 2px; background: rgb(22, 19, 31); border-radius: 2px; transition: opacity 0.2s; opacity: 1}
.s9{position: fixed; inset: 0px; z-index: 45; background: rgb(250, 244, 236); flex-direction: column; align-items: flex-start; justify-content: center; padding: 0px 40px; transition: opacity 0.3s, visibility 0.3s; opacity: 0; visibility: hidden}
.s10{font-weight: 900; font-size: clamp(28px, 6.5vw, 42px); letter-spacing: -0.02em; font-stretch: 108%; padding: 8px 0px}
.s11{cursor: pointer; margin-top: 30px; background: rgb(22, 19, 31); color: rgb(250, 244, 236); font-weight: 700; font-size: 15px; padding: 15px 30px; border-radius: 99px}
.s12{padding: 150px 48px 56px}
.s13{display: inline-block; background: rgb(252, 184, 250); color: rgb(22, 19, 31); font-weight: 700; font-size: 12px; letter-spacing: 0.12em; padding: 8px 16px; border-radius: 99px; margin-bottom: 28px}
.s14{margin: 0px; font-weight: 900; font-size: clamp(56px, 8.5vw, 124px); line-height: 0.96; letter-spacing: -0.028em; font-stretch: 110%; text-wrap: balance; max-width: 1200px; color: rgb(22, 19, 31)}
.s15{display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; flex-wrap: wrap; margin-top: 34px}
.s16{max-width: 470px; font-size: 19px; line-height: 1.55; color: rgba(22, 19, 31, 0.62); margin: 0px}
.s17{display: flex; gap: 14px; align-items: center}
.s18{background: rgb(22, 19, 31); color: rgb(250, 244, 236); font-weight: 700; font-size: 15px; padding: 17px 30px; border-radius: 99px}
.s19{border: 1.5px solid rgb(22, 19, 31); font-weight: 600; font-size: 15px; padding: 16px 30px; border-radius: 99px}
.s20{display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; margin-top: 56px}
.s21{background: rgb(255, 255, 255); border-radius: 24px; padding: 26px 28px}
.s22{font-weight: 900; font-size: 32px}
.s23{font-size: 14px; color: rgba(22, 19, 31, 0.6); margin-top: 4px}
.s24{background: rgb(252, 184, 250); border-radius: 24px; padding: 26px 28px}
.s25{font-size: 14px; color: rgba(22, 19, 31, 0.65); margin-top: 4px}
.s26{overflow: hidden; border-top: 1px solid rgba(22, 19, 31, 0.08); border-bottom: 1px solid rgba(22, 19, 31, 0.08); padding: 18px 0px; background: rgb(250, 244, 236)}
.s27{display: flex; gap: 56px; width: max-content; animation: 28s linear 0s infinite normal none running ddmq; font-weight: 800; font-size: 15px; font-stretch: 112%; letter-spacing: 0.06em; color: rgba(22, 19, 31, 0.55)}
.s28{display: flex; gap: 56px; align-items: center}
.s29{padding: 110px 48px; max-width: 1050px}
.s30{font-size: 12px; letter-spacing: 0.2em; font-weight: 700; color: rgba(22, 19, 31, 0.45); margin-bottom: 24px}
.s31{margin: 0px; font-weight: 800; font-size: clamp(30px, 3.6vw, 46px); line-height: 1.18; letter-spacing: -0.015em; font-stretch: 106%}
.s32{background: rgb(252, 184, 250); border-radius: 8px; padding: 0px 10px}
.s33{padding: 20px 24px 60px}
.s34{position: sticky; top: 104px; background: rgb(255, 255, 255); color: rgb(22, 19, 31); border-radius: 36px; margin-bottom: 22px; padding: 64px 60px; min-height: 440px; box-sizing: border-box; display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: center; box-shadow: rgba(22, 19, 31, 0.09) 0px -16px 44px}
.s35{font-size: 12px; letter-spacing: 0.18em; font-weight: 700; color: rgba(22, 19, 31, 0.6); margin-bottom: 18px}
.s36{margin: 0px 0px 18px; font-weight: 900; font-size: clamp(32px, 4vw, 52px); letter-spacing: -0.02em; font-stretch: 108%; text-wrap: balance}
.s37{margin: 0px; font-size: 17px; line-height: 1.65; color: rgba(22, 19, 31, 0.6); max-width: 560px}
.s38{font-weight: 900; font-size: clamp(100px, 13vw, 180px); line-height: 1; font-stretch: 115%; color: rgb(252, 184, 250)}
.s39{position: sticky; top: 118px; background: rgb(252, 184, 250); color: rgb(22, 19, 31); border-radius: 36px; margin-bottom: 22px; padding: 64px 60px; min-height: 440px; box-sizing: border-box; display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: center; box-shadow: rgba(22, 19, 31, 0.09) 0px -16px 44px}
.s40{font-size: 12px; letter-spacing: 0.18em; font-weight: 700; color: rgba(22, 19, 31, 0.65); margin-bottom: 18px}
.s41{margin: 0px; font-size: 17px; line-height: 1.65; color: rgba(22, 19, 31, 0.65); max-width: 560px}
.s42{font-weight: 900; font-size: clamp(100px, 13vw, 180px); line-height: 1; font-stretch: 115%; color: rgb(250, 244, 236)}
.s43{position: sticky; top: 132px; background: rgb(22, 19, 31); color: rgb(250, 244, 236); border-radius: 36px; margin-bottom: 22px; padding: 64px 60px; min-height: 440px; box-sizing: border-box; display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: center; box-shadow: rgba(22, 19, 31, 0.09) 0px -16px 44px}
.s44{font-size: 12px; letter-spacing: 0.18em; font-weight: 700; color: rgba(250, 244, 236, 0.6); margin-bottom: 18px}
.s45{margin: 0px; font-size: 17px; line-height: 1.65; color: rgba(250, 244, 236, 0.6); max-width: 560px}
.s46{position: sticky; top: 146px; background: rgb(255, 255, 255); color: rgb(22, 19, 31); border-radius: 36px; margin-bottom: 22px; padding: 64px 60px; min-height: 440px; box-sizing: border-box; display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: center; box-shadow: rgba(22, 19, 31, 0.09) 0px -16px 44px}
.s47{position: sticky; top: 160px; background: rgb(252, 184, 250); color: rgb(22, 19, 31); border-radius: 36px; margin-bottom: 22px; padding: 64px 60px; min-height: 440px; box-sizing: border-box; display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: center; box-shadow: rgba(22, 19, 31, 0.09) 0px -16px 44px}
.s48{background: rgb(22, 19, 31); color: rgb(250, 244, 236); border-radius: 40px; margin: 40px 24px; padding: 90px 48px}
.s49{display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 24px; margin-bottom: 56px}
.s50{margin: 0px; font-weight: 900; font-size: clamp(40px, 5vw, 68px); letter-spacing: -0.025em; font-stretch: 110%}
.s51{color: rgb(252, 184, 250)}
.s52{margin: 0px; max-width: 380px; font-size: 16px; line-height: 1.6; color: rgba(250, 244, 236, 0.6)}
.s53{display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px}
.s54{background: rgba(250, 244, 236, 0.06); border: 1px solid rgba(250, 244, 236, 0.12); border-radius: 24px; padding: 28px 26px}
.s55{display: inline-block; background: rgb(252, 184, 250); color: rgb(22, 19, 31); font-weight: 800; font-size: 13px; padding: 6px 14px; border-radius: 99px; margin-bottom: 20px}
.s56{margin: 0px 0px 10px; font-weight: 800; font-size: 21px; letter-spacing: -0.01em}
.s57{margin: 0px; font-size: 14.5px; line-height: 1.6; color: rgba(250, 244, 236, 0.6)}
.s58{padding: 60px 48px 40px}
.s59{text-align: center; margin-bottom: 52px}
.s60{display: inline-block; background: rgb(252, 184, 250); font-weight: 700; font-size: 12px; letter-spacing: 0.12em; padding: 8px 16px; border-radius: 99px; margin-bottom: 22px}
.s61{display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: stretch}
.s62{background: rgb(255, 255, 255); border: 1px solid rgba(22, 19, 31, 0.08); border-radius: 28px; padding: 36px 32px; display: flex; flex-direction: column; gap: 0px}
.s63{font-size: 12px; letter-spacing: 0.16em; font-weight: 700; color: rgba(22, 19, 31, 0.5)}
.s64{margin: 14px 0px 6px; font-weight: 900; font-size: 28px; letter-spacing: -0.015em; font-stretch: 108%}
.s65{font-weight: 900; font-size: 40px; margin: 10px 0px 4px}
.s66{font-size: 13px; color: rgba(22, 19, 31, 0.5); margin-bottom: 22px}
.s67{display: flex; flex-direction: column; gap: 10px; font-size: 14.5px; line-height: 1.45; color: rgba(22, 19, 31, 0.72); flex: 1 1 0%}
.s68{display: flex; gap: 10px}
.s69{color: rgb(232, 143, 229); font-weight: 800}
.s70{cursor: pointer; margin-top: 26px; text-align: center; background: rgb(22, 19, 31); color: rgb(250, 244, 236); font-weight: 700; font-size: 15px; padding: 15px 24px; border-radius: 99px}
.s71{background: rgb(252, 184, 250); border: 1px solid rgba(22, 19, 31, 0.08); border-radius: 28px; padding: 36px 32px; display: flex; flex-direction: column; gap: 0px}
.s72{text-align: center; font-size: 13px; color: rgba(22, 19, 31, 0.45); margin-top: 24px}
.s73{padding: 80px 48px; max-width: 900px; margin: 0px auto}
.s74{text-align: center; margin-bottom: 44px}
.s75{margin: 0px; font-weight: 900; font-size: clamp(36px, 4.5vw, 58px); letter-spacing: -0.025em; font-stretch: 110%}
.s76{font-size: 16px; color: rgba(22, 19, 31, 0.6); margin: 16px auto 0px; max-width: 520px}
.s77{display: flex; flex-direction: column; gap: 12px}
.s78{background: rgb(255, 255, 255); border-radius: 20px; padding: 0px 26px}
.s79{cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 0px; font-weight: 800; font-size: 17px; letter-spacing: -0.01em}
.s80{flex: 0 0 auto; width: 30px; height: 30px; border-radius: 99px; background: rgb(252, 184, 250); display: flex; align-items: center; justify-content: center; font-weight: 800}
.s81{margin: 0px; padding: 0px 0px 24px; font-size: 15px; line-height: 1.65; color: rgba(22, 19, 31, 0.65); max-width: 640px}
.s82{background: rgb(22, 19, 31); color: rgb(250, 244, 236); border-radius: 40px 40px 0px 0px; margin: 40px 0px 0px; padding: 90px 48px 40px}
.s83{display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: center}
.s84{margin: 0px; font-weight: 900; font-size: clamp(44px, 5.5vw, 76px); line-height: 0.98; letter-spacing: -0.028em; font-stretch: 110%}
.s85{max-width: 400px; font-size: 16.5px; line-height: 1.6; color: rgba(250, 244, 236, 0.6); margin: 26px 0px 34px}
.s86{display: inline-block; border: 1.5px solid rgba(250, 244, 236, 0.35); font-weight: 600; font-size: 15px; padding: 15px 28px; border-radius: 99px}
.s87{cursor: pointer; background: rgba(250, 244, 236, 0.06); border: 1px solid rgba(250, 244, 236, 0.12); border-radius: 28px; padding: 44px 36px; text-align: center}
.s88{font-size: 36px; color: rgb(252, 184, 250)}
.s89{font-weight: 900; font-size: 26px; margin: 14px 0px 8px; font-stretch: 108%}
.s90{margin: 0px 0px 24px; font-size: 15px; color: rgba(250, 244, 236, 0.6)}
.s91{display: inline-block; background: rgb(252, 184, 250); color: rgb(22, 19, 31); font-weight: 800; font-size: 15px; padding: 15px 30px; border-radius: 99px}
.s92{display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; border-top: 1px solid rgba(250, 244, 236, 0.14); margin-top: 80px; padding-top: 24px; font-size: 13px; color: rgba(250, 244, 236, 0.5)}
.s93{font-weight: 900; font-size: 16px; color: rgb(250, 244, 236); font-stretch: 115%}
.s94{display: flex; gap: 24px}
.s95{position: fixed; inset: 0px; background: rgba(22, 19, 31, 0.45); z-index: 90; transition: opacity 0.35s; opacity: 0; visibility: hidden}
.s96{position: fixed; top: 0px; right: 0px; bottom: 0px; width: min(460px, 92vw); background: rgb(22, 19, 31); color: rgb(250, 244, 236); z-index: 100; padding: 40px 38px; box-sizing: border-box; overflow-y: auto; box-shadow: rgba(22, 19, 31, 0.35) -20px 0px 60px; transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1); transform: translateX(105%)}
.s97{display: flex; justify-content: space-between; align-items: center; margin-bottom: 34px}
.s98{font-weight: 900; font-size: 22px; font-stretch: 110%}
.s99{cursor: pointer; width: 38px; height: 38px; border-radius: 99px; border: 1px solid rgba(250, 244, 236, 0.3); display: flex; align-items: center; justify-content: center; font-size: 16px}
.s100{margin: 0px 0px 26px; font-size: 15px; line-height: 1.6; color: rgba(250, 244, 236, 0.6)}
.s101{display: flex; flex-direction: column; gap: 14px}
.s102{background: transparent; border-width: medium medium 1px; border-style: none none solid; border-color: currentcolor currentcolor rgba(250, 244, 236, 0.25); border-image: initial; color: rgb(250, 244, 236); font-family: Archivo, sans-serif; font-size: 15px; padding: 14px 2px; outline: none}
.s103{position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0}
.s104{display: flex; gap: 10px; margin: 8px 0px 4px; flex-wrap: wrap}
.s105{background: transparent; border-width: medium medium 1px; border-style: none none solid; border-color: currentcolor currentcolor rgba(250, 244, 236, 0.25); border-image: initial; color: rgb(250, 244, 236); font-family: Archivo, sans-serif; font-size: 15px; padding: 14px 2px; outline: none; resize: vertical}
.s106{display: none; font-size: 13.5px; line-height: 1.5; color: rgb(252, 184, 250); margin-top: 6px}
.s107{cursor: pointer; text-align: center; background: rgb(252, 184, 250); color: rgb(22, 19, 31); font-weight: 800; font-size: 15px; padding: 16px 24px; border-radius: 99px; margin-top: 12px; opacity: 1}
.s108{text-align: center; font-size: 13px; color: rgba(250, 244, 236, 0.45)}
.s109{color: rgb(22, 19, 31); font-weight: 700; border-bottom: 2px solid rgb(232, 143, 229)}
.s110{font-weight: 900; font-size: clamp(28px, 6.5vw, 42px); letter-spacing: -0.02em; font-stretch: 108%; padding: 8px 0px; border-bottom: 3px solid rgb(232, 143, 229)}
.s111{padding: 150px 48px 40px}
.s112{margin: 0px; font-weight: 900; font-size: clamp(52px, 7.5vw, 110px); line-height: 0.96; letter-spacing: -0.028em; font-stretch: 110%; text-wrap: balance; max-width: 1100px}
.s113{display: grid; grid-template-columns: 1fr 1.3fr; gap: 56px; align-items: center; padding: 40px 48px 80px}
.s114{height: 420px; border-radius: 28px; overflow: hidden; background: repeating-linear-gradient(-45deg, rgb(240, 230, 216), rgb(240, 230, 216) 12px, rgb(236, 224, 208) 12px, rgb(236, 224, 208) 24px)}
.s115{width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; display: block}
.s116{margin: 0px; font-weight: 800; font-size: clamp(26px, 2.8vw, 36px); line-height: 1.25; letter-spacing: -0.015em; font-stretch: 106%}
.s117{font-size: 17px; line-height: 1.65; color: rgba(22, 19, 31, 0.62); margin: 24px 0px 0px; max-width: 520px}
.s118{padding: 0px 48px 40px}
.s119{display: grid; grid-template-columns: 110px 1fr 300px; gap: 40px; align-items: center; padding: 44px 0px; border-top: 1px solid rgba(22, 19, 31, 0.1)}
.s120{font-weight: 900; font-size: 60px; font-stretch: 115%; color: rgb(232, 143, 229)}
.s121{margin: 0px 0px 14px; font-weight: 900; font-size: 34px; letter-spacing: -0.02em; font-stretch: 108%}
.s122{margin: 0px; font-size: 16px; line-height: 1.6; color: rgba(22, 19, 31, 0.62); max-width: 600px}
.s123{height: 200px; border-radius: 24px; background: rgb(252, 184, 250); overflow: hidden}
.s124{animation-delay: 0.1s}
.s125{animation-delay: 0.25s}
.s126{animation-delay: 0.35s}
.s127{animation-delay: 0.45s}
.s128{animation-delay: 0.55s}
.s129{animation-delay: 0.65s}
.s130{animation-delay: 0.78s}
.s131{height: 200px; border-radius: 24px; background: rgb(240, 230, 216); overflow: hidden}
.s132{animation-delay: 0.15s}
.s133{animation-delay: 0.5s}
.s134{animation-delay: 0.85s}
.s135{height: 200px; border-radius: 24px; background: rgb(22, 19, 31); overflow: hidden}
.s136{animation-delay: 1.5s}
.s137{animation-delay: 1.2s}
.s138{animation-delay: 1.55s}
.s139{animation-delay: 1.7s}
.s140{display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; padding: 20px 48px 80px}
.s141{background: rgb(22, 19, 31); color: rgb(250, 244, 236); border-radius: 40px 40px 0px 0px; margin: 40px 0px 0px; padding: 80px 48px 40px; text-align: center}
.s142{margin: 0px; font-weight: 900; font-size: clamp(40px, 5vw, 68px); letter-spacing: -0.028em; font-stretch: 110%}
.s143{font-size: 16.5px; line-height: 1.6; color: rgba(250, 244, 236, 0.6); margin: 20px auto 32px; max-width: 440px}
.s144{display: flex; gap: 14px; justify-content: center}
.s145{cursor: pointer; background: rgb(252, 184, 250); color: rgb(22, 19, 31); font-weight: 800; font-size: 15px; padding: 16px 30px; border-radius: 99px}
.s146{border: 1.5px solid rgba(250, 244, 236, 0.35); font-weight: 600; font-size: 15px; padding: 15px 28px; border-radius: 99px}
.s147{display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; border-top: 1px solid rgba(250, 244, 236, 0.14); margin-top: 70px; padding-top: 24px; font-size: 13px; color: rgba(250, 244, 236, 0.5)}
.s148{padding: 150px 48px 30px}
.s149{margin: 0px; font-weight: 900; font-size: clamp(52px, 7.5vw, 110px); line-height: 0.96; letter-spacing: -0.028em; font-stretch: 110%; max-width: 1000px}
.s150{max-width: 470px; font-size: 19px; line-height: 1.55; color: rgba(22, 19, 31, 0.62); margin: 28px 0px 0px}
.s151{padding: 30px 48px 40px}
.s152{display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; padding: 56px 0px; border-top: 1px solid rgba(22, 19, 31, 0.1)}
.s153{display: flex; align-items: baseline; gap: 18px; margin-bottom: 16px}
.s154{font-weight: 900; font-size: 52px; font-stretch: 115%; color: rgb(232, 143, 229)}
.s155{font-size: 12px; letter-spacing: 0.18em; font-weight: 700; color: rgba(22, 19, 31, 0.45)}
.s156{margin: 0px 0px 16px; font-weight: 900; font-size: 40px; letter-spacing: -0.02em; font-stretch: 108%}
.s157{margin: 0px 0px 22px; font-size: 16.5px; line-height: 1.65; color: rgba(22, 19, 31, 0.62); max-width: 480px}
.s158{display: flex; flex-wrap: wrap; gap: 10px}
.s159{border: 1px solid rgba(22, 19, 31, 0.2); font-weight: 600; font-size: 13px; padding: 8px 16px; border-radius: 99px}
.s160{height: 300px; border-radius: 28px; background: rgb(252, 184, 250); overflow: hidden}
.s161{animation-delay: 0.3s}
.s162{animation-delay: 0.75s}
.s163{animation-delay: 0.9s}
.s164{animation-delay: 1.05s}
.s165{height: 300px; border-radius: 28px; background: rgb(240, 230, 216); overflow: hidden}
.s166{animation-delay: 1.03s}
.s167{animation-delay: 1.16s}
.s168{animation-delay: 1.3s}
.s169{animation-delay: 1.45s}
.s170{animation-delay: 1.65s}
.s171{animation-delay: 1.8s}
.s172{animation-delay: 1.1s}
.s173{animation-delay: 0.8s}
.s174{animation-delay: 1.4s}
.s175{background: rgb(22, 19, 31); color: rgb(250, 244, 236); border-radius: 40px 40px 0px 0px; margin: 80px 0px 0px; padding: 80px 48px 40px; text-align: center}
.s176{padding: 150px 48px 30px; text-align: center}
.s177{margin: 0px auto; font-weight: 900; font-size: clamp(52px, 7vw, 104px); line-height: 0.96; letter-spacing: -0.028em; font-stretch: 110%; max-width: 900px}
.s178{max-width: 470px; font-size: 19px; line-height: 1.55; color: rgba(22, 19, 31, 0.62); margin: 28px auto 0px}
.s179{padding: 50px 48px 20px}
.s180{background: rgb(255, 255, 255); border: 1px solid rgba(22, 19, 31, 0.08); border-radius: 28px; padding: 36px 32px; display: flex; flex-direction: column}
.s181{background: rgb(252, 184, 250); border: 1px solid rgba(22, 19, 31, 0.08); border-radius: 28px; padding: 36px 32px; display: flex; flex-direction: column}
.s182{padding: 60px 48px}
.s183{margin: 0px 0px 32px; font-weight: 900; font-size: clamp(30px, 3.5vw, 44px); letter-spacing: -0.02em; font-stretch: 108%}
.s184{font-size: 26px; color: rgb(232, 143, 229)}
.s185{font-weight: 800; font-size: 18px; margin: 12px 0px 6px; letter-spacing: -0.01em}
.s186{font-size: 14px; line-height: 1.55; color: rgba(22, 19, 31, 0.6)}
.s187{padding: 40px 48px 80px; max-width: 900px; margin: 0px auto}
.s188{margin: 0px 0px 28px; font-weight: 900; font-size: clamp(30px, 3.5vw, 44px); letter-spacing: -0.02em; font-stretch: 108%; text-align: center}
.s189{margin: 0px; font-weight: 900; font-size: clamp(52px, 7.5vw, 110px); line-height: 0.96; letter-spacing: -0.028em; font-stretch: 110%; max-width: 1100px; text-wrap: balance}
.s190{max-width: 520px; font-size: 19px; line-height: 1.55; color: rgba(22, 19, 31, 0.62); margin: 28px 0px 0px}
.s191{display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 50px 48px 30px}
.s192{background: rgb(22, 19, 31); color: rgb(250, 244, 236); border-radius: 28px; padding: 40px 38px}
.s193{display: inline-block; background: rgb(252, 184, 250); color: rgb(22, 19, 31); font-weight: 700; font-size: 12px; letter-spacing: 0.12em; padding: 7px 14px; border-radius: 99px; margin-bottom: 22px}
.s194{margin: 0px 0px 16px; font-weight: 900; font-size: 30px; letter-spacing: -0.015em; font-stretch: 108%}
.s195{margin: 0px; font-size: 15.5px; line-height: 1.65; color: rgba(250, 244, 236, 0.65)}
.s196{background: rgb(252, 184, 250); color: rgb(22, 19, 31); border-radius: 28px; padding: 40px 38px}
.s197{display: inline-block; background: rgb(22, 19, 31); color: rgb(250, 244, 236); font-weight: 700; font-size: 12px; letter-spacing: 0.12em; padding: 7px 14px; border-radius: 99px; margin-bottom: 22px}
.s198{margin: 0px; font-size: 15.5px; line-height: 1.65; color: rgba(22, 19, 31, 0.7)}
.s199{padding: 60px 48px; max-width: 1050px}
.s200{margin: 0px; font-weight: 800; font-size: clamp(26px, 3vw, 40px); line-height: 1.22; letter-spacing: -0.015em; font-stretch: 106%}
.s201{padding: 20px 48px 80px; max-width: 900px; margin: 0px auto}
.s202{background: rgb(255, 255, 255); border-radius: 28px; padding: 44px 42px; max-width: 900px}
.s203{margin: 0px 0px 8px; font-weight: 900; font-size: clamp(26px, 3vw, 34px); letter-spacing: -0.02em; font-stretch: 108%}
.s204{margin: 0px 0px 30px; font-size: 15px; line-height: 1.6; color: rgba(22, 19, 31, 0.6)}
.s205{display: flex; flex-direction: column}
.s206{display: grid; grid-template-columns: 230px 1fr; gap: 20px; padding: 13px 0px; border-top: 1px solid rgba(22, 19, 31, 0.09)}
.s207{font-size: 13px; letter-spacing: 0.1em; font-weight: 700; color: rgba(22, 19, 31, 0.45); padding-top: 2px}
.s208{font-size: 16px; font-weight: 600; letter-spacing: -0.01em}
.s209{padding: 20px 48px}
.s210{padding: 30px 48px 40px; max-width: 900px}
.s211{padding: 40px 0px; border-top: 1px solid rgba(22, 19, 31, 0.12)}
.s212{margin: 0px 0px 16px; font-weight: 900; font-size: clamp(24px, 2.8vw, 32px); letter-spacing: -0.02em; font-stretch: 108%}
.s213{margin: 0px 0px 14px; font-size: 16px; line-height: 1.7; color: rgba(22, 19, 31, 0.68); max-width: 700px}

/* --- contraste élevé (bouton flottant) --- */
.contraste-fort .s3{color:rgb(140, 45, 135)}
.contraste-fort .s16{color:rgb(22,19,31)}
.contraste-fort .s23{color:rgb(22,19,31)}
.contraste-fort .s25{color:rgb(22,19,31)}
.contraste-fort .s27{color:rgb(22,19,31)}
.contraste-fort .s30{color:rgb(22,19,31)}
.contraste-fort .s35{color:rgb(22,19,31)}
.contraste-fort .s37{color:rgb(22,19,31)}
.contraste-fort .s40{color:rgb(22,19,31)}
.contraste-fort .s41{color:rgb(22,19,31)}
.contraste-fort .s44{color:rgb(250,244,236)}
.contraste-fort .s45{color:rgb(250,244,236)}
.contraste-fort .s52{color:rgb(250,244,236)}
.contraste-fort .s57{color:rgb(250,244,236)}
.contraste-fort .s63{color:rgb(22,19,31)}
.contraste-fort .s66{color:rgb(22,19,31)}
.contraste-fort .s67{color:rgb(22,19,31)}
.contraste-fort .s69{color:rgb(140, 45, 135)}
.contraste-fort .s72{color:rgb(22,19,31)}
.contraste-fort .s76{color:rgb(22,19,31)}
.contraste-fort .s81{color:rgb(22,19,31)}
.contraste-fort .s85{color:rgb(250,244,236)}
.contraste-fort .s90{color:rgb(250,244,236)}
.contraste-fort .s92{color:rgb(250,244,236)}
.contraste-fort .s100{color:rgb(250,244,236)}
.contraste-fort .s108{color:rgb(250,244,236)}
.contraste-fort .s117{color:rgb(22,19,31)}
.contraste-fort .s120{color:rgb(140, 45, 135)}
.contraste-fort .s122{color:rgb(22,19,31)}
.contraste-fort .s143{color:rgb(250,244,236)}
.contraste-fort .s147{color:rgb(250,244,236)}
.contraste-fort .s150{color:rgb(22,19,31)}
.contraste-fort .s154{color:rgb(140, 45, 135)}
.contraste-fort .s155{color:rgb(22,19,31)}
.contraste-fort .s157{color:rgb(22,19,31)}
.contraste-fort .s178{color:rgb(22,19,31)}
.contraste-fort .s184{color:rgb(140, 45, 135)}
.contraste-fort .s186{color:rgb(22,19,31)}
.contraste-fort .s190{color:rgb(22,19,31)}
.contraste-fort .s195{color:rgb(250,244,236)}
.contraste-fort .s198{color:rgb(22,19,31)}
.contraste-fort .s204{color:rgb(22,19,31)}
.contraste-fort .s207{color:rgb(22,19,31)}
.contraste-fort .s213{color:rgb(22,19,31)}
.contraste-fort a:hover{opacity:1;text-decoration:underline}
.contraste-fort [data-rv]{opacity:1;transform:none}

/* --- bouton flottant de contraste --- */
.dd-contraste{position:fixed;left:80px;bottom:15px;z-index:44;display:flex;align-items:center;gap:9px;
  background:#16131f;color:#faf4ec;border:2px solid #16131f;border-radius:99px;cursor:pointer;
  font-family:'Archivo',sans-serif;font-weight:700;font-size:13px;padding:11px 18px;line-height:1}
.dd-contraste:hover{background:#fcb8fa;color:#16131f}
.dd-contraste-pastille{width:14px;height:14px;border-radius:99px;border:2px solid currentColor;
  background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.dd-contraste[aria-pressed="true"]{background:#fcb8fa;color:#16131f}
.contraste-fort .dd-contraste{border-color:#16131f}
@media(max-width:620px){.dd-contraste span:not(.dd-contraste-pastille){position:absolute;
  width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .dd-contraste{padding:13px}}

/* --- visibilité du focus clavier --- */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,
[data-action]:focus-visible{outline:3px solid #16131f;outline-offset:3px;border-radius:4px}
.contraste-fort a:focus-visible,.contraste-fort button:focus-visible{outline-color:#8c2d87}

/* --- page de remerciement --- */
.mrc-entete{padding:150px 48px 20px;max-width:820px}
.mrc-pastille{display:inline-block;background:#fcb8fa;color:#16131f;font-weight:700;font-size:12px;
  letter-spacing:.12em;padding:8px 16px;border-radius:99px;margin:0 0 28px}
.mrc-titre{margin:0;font-weight:900;font-size:clamp(64px,10vw,140px);line-height:.92;
  letter-spacing:-.03em;font-stretch:110%}
.mrc-point{color:#e88fe5}
.mrc-intro{max-width:560px;font-size:19px;line-height:1.55;color:rgba(22,19,31,.62);margin:28px 0 0}
.mrc-intro strong{color:#16131f;font-weight:700}

.mrc-suite{padding:70px 48px 20px}
.mrc-h2{margin:0 0 32px;font-weight:900;font-size:clamp(30px,3.5vw,44px);letter-spacing:-.02em;
  font-stretch:108%}
.mrc-etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mrc-etape{background:#fff;border-radius:24px;padding:30px 30px 34px}
.mrc-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:99px;background:#fcb8fa;color:#16131f;font-weight:900;font-size:17px;margin-bottom:18px}
.mrc-etape-titre{margin:0 0 10px;font-weight:800;font-size:21px;letter-spacing:-.01em}
.mrc-etape-texte{margin:0;font-size:15px;line-height:1.6;color:rgba(22,19,31,.62)}

.mrc-liens{padding:50px 48px 60px}
.mrc-liens-intro{margin:0 0 18px;font-size:12px;letter-spacing:.18em;font-weight:700;
  color:rgba(22,19,31,.45)}
.mrc-liens-boutons{display:flex;flex-wrap:wrap;gap:14px}
.mrc-bouton{display:inline-block;background:#16131f;color:#faf4ec;font-weight:700;font-size:15px;
  padding:16px 28px;border-radius:99px}
.mrc-bouton:hover{background:#fcb8fa;color:#16131f;opacity:1}
.mrc-bouton--clair{background:transparent;color:#16131f;border:1.5px solid #16131f;padding:14.5px 26.5px}
.mrc-bouton--clair:hover{background:#16131f;color:#faf4ec;opacity:1}

@media(max-width:900px){
  .mrc-etapes{grid-template-columns:1fr}
  .mrc-entete{padding:130px 24px 20px}
  .mrc-suite,.mrc-liens{padding-left:24px;padding-right:24px}
}
