@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}
}

/* --- appel vers la démonstration (accueil) --- */
.dd-appel{background:#16131f;color:#faf4ec;border-radius:40px;margin:40px 24px;padding:70px 48px;text-align:center}
.dd-appel-sur{margin:0 0 18px;font-size:12px;letter-spacing:.18em;font-weight:700;color:#fcb8fa}
.dd-appel-titre{margin:0;font-weight:900;font-size:clamp(32px,4.4vw,60px);letter-spacing:-.025em;
  font-stretch:110%;text-wrap:balance}
.dd-appel-texte{max-width:520px;margin:22px auto 32px;font-size:16.5px;line-height:1.6;color:rgba(250,244,236,.6)}
.dd-appel-lien{display:inline-block;background:#fcb8fa;color:#16131f;font-weight:800;font-size:15px;
  padding:16px 30px;border-radius:99px}
.dd-appel-lien:hover{background:#faf4ec;opacity:1}
@media(max-width:760px){.dd-appel{margin:24px 16px;padding:48px 24px;border-radius:28px}}

/* --- réalisations (page et bloc d’accueil) --- */
.rl-masque{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
.rl-sur{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:12px;letter-spacing:.14em;
  font-weight:700;text-transform:uppercase;color:#16131f}
.rl-num{background:#fcb8fa;border-radius:99px;padding:5px 11px;letter-spacing:.06em}
.rl-bouton{display:inline-block;border:1.5px solid #16131f;font-weight:600;font-size:15px;
  padding:14px 26px;border-radius:99px;white-space:nowrap;position:relative}
.rl-bouton:hover{background:#16131f;color:#faf4ec;opacity:1}

/* navigateur et téléphone factices autour des captures */
.rl-navigateur{background:#fff;border-radius:14px 14px 0 0;overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.35)}
.rl-barre{display:flex;align-items:center;gap:7px;height:38px;padding:0 16px;background:#f4f1ec;
  border-bottom:1px solid #e6e0d6}
.rl-barre i{width:11px;height:11px;border-radius:50%;background:#dcd5ca;flex:none}
.rl-barre span{margin-left:12px;flex:0 1 300px;min-width:0;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;background:#fff;border-radius:99px;font-size:12px;color:#5e5a63;padding:5px 14px}
.rl-navigateur img,.rl-telephone img,.rl-page-cadre img{display:block;width:100%;height:auto}
.rl-page-bande,.rl-page-bande picture{display:block}
.rl-telephone{border:9px solid #0f1724;border-radius:38px;overflow:hidden;background:#0f1724;
  box-shadow:0 30px 60px rgba(0,0,0,.4)}
.rl-telephone img{border-radius:29px}

/* page : l'étude de cas */
.rl-projet{padding:40px 48px 40px}
.rl-tete{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px;
  margin-bottom:34px}
.rl-nom{margin:0;font-weight:900;font-size:clamp(44px,6vw,88px);line-height:.95;letter-spacing:-.028em;
  font-stretch:110%}
.rl-vitrine{position:relative;margin:0;background:#20314a;border-radius:32px;padding:64px 0 0 64px;
  overflow:hidden;isolation:isolate}
.rl-vitrine::before{content:"";position:absolute;z-index:-1;width:440px;height:440px;border-radius:50%;
  background:#ea8348;right:-130px;top:-170px}
.rl-vitrine .rl-navigateur{width:76%}
.rl-vitrine .rl-telephone{position:absolute;right:7%;bottom:48px;width:20%;max-width:260px}

.rl-details{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:60px;margin-top:70px;
  align-items:start}
.rl-h3{margin:0 0 12px;font-weight:800;font-size:22px;letter-spacing:-.01em}
.rl-recit p{margin:0 0 34px;font-size:17px;line-height:1.65;color:rgba(22,19,31,.72);max-width:600px}
.rl-recit p:last-child{margin-bottom:0}
.rl-fiche{margin:0;background:#fff;border-radius:24px;padding:10px 30px}
.rl-fiche>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;padding:15px 0;
  border-bottom:1px solid rgba(22,19,31,.1)}
.rl-fiche>div:last-child{border-bottom:0}
.rl-fiche dt{font-size:11.5px;letter-spacing:.12em;font-weight:700;text-transform:uppercase;
  color:rgba(22,19,31,.66);padding-top:3px}
.rl-fiche dd{margin:0;font-size:15.5px;font-weight:600;line-height:1.45}
.rl-couleurs{display:flex;flex-wrap:wrap;gap:6px 16px}
.rl-couleurs span{display:inline-flex;align-items:center;gap:7px}
.rl-couleurs i{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(22,19,31,.15)}
.rl-c1{background:#20314a}.rl-c2{background:#ea8348}.rl-c3{background:#f1f5ea}

.rl-bloc{margin-top:100px}
.rl-bloc-tete{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px 24px}
.rl-titre-bloc{margin:0 0 30px;font-weight:900;font-size:clamp(30px,3.5vw,44px);letter-spacing:-.02em;
  font-stretch:108%}
.rl-aide{margin:0 0 30px;font-size:14px;color:rgba(22,19,31,.66)}
.rl-cartes,.rl-galerie,.rl-telephones{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rl-parti{background:#fff;border-radius:24px;padding:30px 30px 34px}
.rl-parti-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:99px;background:#fcb8fa;font-weight:900;font-size:17px;margin-bottom:18px}
.rl-parti-titre{margin:0 0 10px;font-weight:800;font-size:21px;letter-spacing:-.01em}
.rl-parti-texte{margin:0;font-size:15px;line-height:1.6;color:rgba(22,19,31,.7)}

/* pages entières qui défilent au survol */
/* position:relative : sinon le texte masqué (.rl-masque) des liens sort de la
   galerie défilante mobile et élargit toute la page */
.rl-page{display:block;position:relative}
.rl-page:hover{opacity:1}
.rl-page-cadre{display:block;height:460px;overflow:hidden;border-radius:18px;background:#f1f5ea;
  box-shadow:0 0 0 1px rgba(22,19,31,.08),0 18px 40px rgba(22,19,31,.12)}
.rl-page-bande{transition:transform 1.2s cubic-bezier(.45,0,.55,1)}
.rl-page:hover .rl-page-bande,.rl-page:focus-visible .rl-page-bande{
  transform:translateY(calc(-100% + 460px));transition-duration:7s}
.rl-page-nom{display:inline-block;margin-top:16px;font-weight:800;font-size:17px;
  border-bottom:2px solid transparent;padding-bottom:2px}
.rl-page:hover .rl-page-nom{border-bottom-color:#e88fe5}

.rl-telephones{gap:40px}
.rl-tel-fig{margin:0;text-align:center}
.rl-telephone--seul{max-width:270px;margin:0 auto}
.rl-tel-fig figcaption{margin-top:18px;font-weight:700;font-size:15px}

/* accueil : une carte mise en avant */
.rl-accueil{padding:100px 48px 60px}
.rl-accueil-tete{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px;
  margin-bottom:44px}
.rl-accueil-titre{margin:0;font-weight:900;font-size:clamp(40px,5vw,68px);letter-spacing:-.025em;
  font-stretch:110%}
.rl-carte{position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
  background:#fff;border-radius:24px;overflow:hidden;transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.rl-carte:hover{transform:translateY(-8px)}
.rl-carte:focus-within{outline:3px solid #16131f;outline-offset:4px}
.rl-carte-visuel{position:relative;isolation:isolate;overflow:hidden;background:#20314a;
  padding:48px 0 0 48px;display:flex;align-items:flex-end}
.rl-carte-visuel::before{content:"";position:absolute;z-index:-1;width:300px;height:300px;border-radius:50%;
  background:#ea8348;right:-90px;top:-120px}
.rl-carte-visuel .rl-navigateur{width:100%;border-radius:12px 0 0 0}
.rl-carte-texte{padding:44px 44px 48px;display:flex;flex-direction:column;justify-content:center}
.rl-carte-nom{margin:0;font-weight:900;font-size:clamp(30px,3.2vw,46px);letter-spacing:-.02em;
  font-stretch:108%}
.rl-carte-nom a::after{content:"";position:absolute;inset:0;z-index:1}
.rl-carte-nom a:hover{opacity:1}
.rl-carte-nom a:focus-visible{outline:none}
.rl-carte-desc{margin:16px 0 26px;font-size:16px;line-height:1.6;color:rgba(22,19,31,.7)}
.rl-carte-lien{align-self:flex-start;font-weight:700;font-size:15px;border-bottom:2px solid #e88fe5;
  padding-bottom:3px}

/* contraste élevé */
.contraste-fort .rl-recit p,.contraste-fort .rl-parti-texte,.contraste-fort .rl-carte-desc,
.contraste-fort .rl-fiche dt,.contraste-fort .rl-aide,.contraste-fort .rl-barre span{color:#16131f}
.contraste-fort .rl-fiche>div{border-bottom-color:rgba(22,19,31,.45)}

@media (prefers-reduced-motion:reduce){
  .rl-carte,.rl-page-bande{transition:none!important}
  .rl-carte:hover{transform:none}
}
/* écrans tactiles : pas de survol, on montre le haut de chaque page */
@media (hover:none){
  .rl-aide{display:none}
  .rl-page-cadre{height:380px}
  .rl-page:hover .rl-page-bande{transform:none}
}
/* six liens de menu : on resserre juste au-dessus du point de bascule du burger */
@media (min-width:1025px) and (max-width:1200px){
  .dd-links{gap:22px;padding:20px 24px}
}
/* liens du pied de page (6 désormais) : retour à la ligne plutôt que débordement */
.s94{flex-wrap:wrap;justify-content:center;row-gap:10px}
@media (max-width:1024px){
  .rl-vitrine{padding:44px 0 0 44px}
  .rl-details{grid-template-columns:minmax(0,1fr);gap:40px}
  .rl-carte{grid-template-columns:minmax(0,1fr)}
  .rl-carte-visuel{padding:40px 0 0 40px}
}
@media (max-width:760px){
  .rl-projet{padding:24px 20px 20px}
  .rl-accueil{padding:70px 20px 40px}
  .rl-vitrine{border-radius:24px;padding:24px 0 0 20px}
  .rl-vitrine::before{width:220px;height:220px;right:-70px;top:-90px}
  .rl-vitrine .rl-navigateur{width:82%;border-radius:10px 10px 0 0}
  /* le téléphone doit rester moins haut que le navigateur, jusqu'à 320 px */
  .rl-vitrine .rl-telephone{width:25%;right:5%;bottom:12px;border-width:5px;border-radius:18px}
  .rl-vitrine .rl-telephone img{border-radius:13px}
  .rl-barre{height:26px;padding:0 10px;gap:5px}
  .rl-barre i{width:7px;height:7px}
  .rl-barre span{font-size:10px;padding:3px 10px;margin-left:6px}
  .rl-fiche{padding:6px 20px}
  .rl-fiche>div{grid-template-columns:minmax(0,1fr);gap:4px}
  .rl-bloc{margin-top:70px}
  .rl-cartes{grid-template-columns:minmax(0,1fr)}
  /* galeries : défilement horizontal plutôt que trois écrans empilés */
  .rl-galerie,.rl-telephones{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:76%;
    gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:4px 20px 18px;
    scrollbar-width:thin}
  .rl-telephones{grid-auto-columns:58%}
  .rl-galerie>li,.rl-telephones>li{scroll-snap-align:center}
  .rl-page-cadre{height:360px}
  .rl-page:hover .rl-page-bande,.rl-page:focus-visible .rl-page-bande{
    transform:translateY(calc(-100% + 360px))}
  .rl-telephone--seul{border-width:6px;border-radius:28px}
  .rl-telephone--seul img{border-radius:22px}
  .rl-carte-visuel{padding:28px 0 0 28px}
  .rl-carte-visuel::before{width:200px;height:200px;right:-60px;top:-80px}
  .rl-carte-texte{padding:28px 24px 32px}
}
/* --- fin réalisations --- */

/* --- adaptation mobile (généré) --- */
@media(max-width:760px){
  .s9{padding-left:20px;padding-right:20px}
  .s12{padding-left:20px;padding-right:20px}
  .s20{grid-template-columns:minmax(0,1fr)}
  .s29{padding-left:20px;padding-right:20px}
  .s34{grid-template-columns:minmax(0,1fr);padding-left:20px;padding-right:20px}
  .s39{grid-template-columns:minmax(0,1fr);padding-left:20px;padding-right:20px}
  .s43{grid-template-columns:minmax(0,1fr);padding-left:20px;padding-right:20px}
  .s46{grid-template-columns:minmax(0,1fr);padding-left:20px;padding-right:20px}
  .s47{grid-template-columns:minmax(0,1fr);padding-left:20px;padding-right:20px}
  .s48{padding-left:20px;padding-right:20px}
  .s53{grid-template-columns:minmax(0,1fr)}
  .s58{padding-left:20px;padding-right:20px}
  .s61{grid-template-columns:minmax(0,1fr)}
  .s73{padding-left:20px;padding-right:20px}
  .s82{padding-left:20px;padding-right:20px}
  .s83{grid-template-columns:minmax(0,1fr)}
  .s87{padding-left:20px;padding-right:20px}
  .s96{padding-left:20px;padding-right:20px}
  .s111{padding-left:20px;padding-right:20px}
  .s113{grid-template-columns:minmax(0,1fr);padding-left:20px;padding-right:20px}
  .s118{padding-left:20px;padding-right:20px}
  .s119{grid-template-columns:minmax(0,1fr)}
  .s140{grid-template-columns:minmax(0,1fr);padding-left:20px;padding-right:20px}
  .s141{padding-left:20px;padding-right:20px}
  .s148{padding-left:20px;padding-right:20px}
  .s151{padding-left:20px;padding-right:20px}
  .s152{grid-template-columns:minmax(0,1fr)}
  .s175{padding-left:20px;padding-right:20px}
  .s176{padding-left:20px;padding-right:20px}
  .s179{padding-left:20px;padding-right:20px}
  .s182{padding-left:20px;padding-right:20px}
  .s187{padding-left:20px;padding-right:20px}
  .s191{grid-template-columns:minmax(0,1fr);padding-left:20px;padding-right:20px}
  .s192{padding-left:20px;padding-right:20px}
  .s196{padding-left:20px;padding-right:20px}
  .s199{padding-left:20px;padding-right:20px}
  .s201{padding-left:20px;padding-right:20px}
  .s202{padding-left:20px;padding-right:20px}
  .s206{grid-template-columns:minmax(0,1fr)}
  .s209{padding-left:20px;padding-right:20px}
  .s210{padding-left:20px;padding-right:20px}

  /* Cartes « pourquoi moi » : une fois empilé, le grand numéro tombait sous le
     texte et se faisait recouvrir par la carte suivante. On le remonte en tête
     et on le ramène à une taille de repère. */
  .s38,.s42{order:-1;font-size:46px;line-height:1;margin-bottom:4px}
  /* et on abandonne l’empilement collant : sur un écran étroit les cartes sont
     bien plus hautes qu’en desktop, la suivante recouvrait le texte de la
     précédente avant qu’on ait pu le lire. */
  .s34,.s39,.s43,.s46,.s47{min-height:0;position:static}

  /* même correctif pour la grille « numéro + texte » de Pourquoi moi,
     dont la règle 1024px porte un !important */
  .dd-av{grid-template-columns:46px minmax(0,1fr)!important;gap:20px}

  /* filets de sécurité */
  img,svg,video{max-width:100%%}
  h1,h2,h3,p,li,a,div{overflow-wrap:break-word}
  /* la fiche d'identité des mentions légales : libellé au-dessus de la valeur */
  main [class*="s206"]{gap:2px}
}
