:root{
  --noir:#060509; --noir-2:#0A0810; --noir-3:#0F0C18;
  --violet:#7C3AED; --violet-vif:#9D5CFF; --violet-clair:#C4A5FF;
  --blanc:#fff; --ink:#EDE9F7; --ink-2:#A29CB8; --ink-3:#6B6482; --gris:#5C5570;
  --trait:rgba(255,255,255,.12); --trait-doux:rgba(255,255,255,.06);
  --display:'Anton','Haettenschweiler',Impact,sans-serif;
  --sans:'Schibsted Grotesk',-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  --gout:clamp(18px,4.6vw,52px);
  --max:1400px;
  --haut-promo:30px; --haut-barre:54px;
  --haut-header:calc(var(--haut-promo) + var(--haut-barre));
  --barre-mobile:64px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--noir);color:var(--ink);font-family:var(--sans);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  padding-bottom:calc(var(--barre-mobile) + env(safe-area-inset-bottom))}
@media(min-width:900px){body{padding-bottom:0}}
img,video{max-width:100%;display:block}

.grain{position:fixed;inset:0;z-index:900;pointer-events:none;opacity:.2;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E")}

.wrap{position:relative;z-index:1;width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gout)}

.header{position:fixed;top:0;left:0;right:0;z-index:800}
.promo{background:var(--violet);overflow:hidden;height:var(--haut-promo);display:flex;align-items:center}
.promo .piste{display:flex;width:max-content;animation:glisse 26s linear infinite}
.promo:hover .piste{animation-play-state:paused}
.promo .grp{display:flex;align-items:center;gap:26px;padding-right:26px}
.promo span{font-family:var(--display);font-size:11px;letter-spacing:.10em;text-transform:uppercase;
  color:var(--blanc);white-space:nowrap;line-height:1}
.promo i{width:4px;height:4px;background:rgba(255,255,255,.55);flex-shrink:0}

.barre{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;
  height:var(--haut-barre);padding:0 var(--gout);border-bottom:1px solid var(--trait-doux);
  transition:background .35s ease,backdrop-filter .35s ease,border-color .35s ease}
.header.colle .barre{background:rgba(6,5,9,.88);backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);border-bottom-color:var(--trait)}

.marque{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;
  padding:6px 12px 6px 9px;border-radius:6px;box-shadow:0 0 0 2px var(--violet-vif);
  transition:box-shadow .25s ease,background .25s ease}
.marque:hover{background:rgba(157,92,255,.10);box-shadow:0 0 0 2px var(--violet-clair)}
.marque i{width:3px;height:15px;background:var(--violet-vif);flex-shrink:0}
.marque b{font-family:var(--display);font-size:clamp(13px,3.6vw,16px);letter-spacing:.24em;
  text-transform:uppercase;color:var(--blanc);line-height:1}
.nav{display:none}
@media(min-width:1000px){
  .nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    display:flex;align-items:center;gap:32px}
  .nav a{position:relative;font-size:12px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
    color:var(--ink-2);text-decoration:none;padding:6px 0;transition:color .25s}
  .nav a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--violet-vif);
    transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.16,1,.3,1)}
  .nav a:hover{color:var(--blanc)}
  .nav a:hover::after{transform:scaleX(1)}
}
.achat{display:inline-flex;align-items:stretch;text-decoration:none;border-radius:2px;overflow:hidden;
  flex-shrink:0;background:var(--violet);color:var(--blanc);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);transition:background .25s,transform .25s}
.achat:hover{background:#8B45F0;transform:translateY(-1px)}
.achat b{display:flex;align-items:center;gap:9px;padding:11px 15px;font-family:var(--display);
  font-size:clamp(11.5px,3vw,13px);letter-spacing:.10em;text-transform:uppercase;line-height:1;white-space:nowrap}
.achat u{display:grid;place-items:center;width:38px;text-decoration:none;background:rgba(0,0,0,.20);
  box-shadow:inset 1px 0 0 rgba(255,255,255,.16)}
.achat u svg{width:14px;height:11px;transition:transform .25s}
.achat:hover u svg{transform:translateX(3px)}
.achat .long{display:none}
@media(min-width:560px){.achat .long{display:inline}}
@media(max-width:899px){
  .achat{background:none;box-shadow:none;gap:9px;align-items:center}
  .achat:hover{background:none;transform:none}
  .achat b{padding:0;font-size:16px;letter-spacing:.03em}
  .achat u{width:auto;background:none;box-shadow:none;color:var(--violet-vif)}
  .achat u svg{width:15px;height:12px}
}

.sticky{position:fixed;left:0;right:0;bottom:0;z-index:850;display:flex;align-items:stretch;
  background:rgba(6,5,9,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  transform:translateY(105%);transition:transform .45s cubic-bezier(.16,1,.3,1);
  padding-bottom:env(safe-area-inset-bottom);min-height:calc(64px + env(safe-area-inset-bottom));
  box-shadow:0 -18px 40px -12px rgba(0,0,0,.9)}

.sticky::before{content:'';position:absolute;top:0;left:0;right:0;height:1.5px;
  background:linear-gradient(to right,rgba(157,92,255,0),var(--violet-vif) 22%,
    #C9A6FF 50%,var(--violet-vif) 78%,rgba(157,92,255,0))}
.sticky.montre{transform:translateY(0)}
@media(min-width:900px){.sticky{display:none}}

.sticky .couvm{flex-shrink:0;align-self:center;margin-left:var(--gout);
  width:32px;height:44px;border-radius:1px 3px 3px 1px;position:relative;overflow:hidden;
  background:radial-gradient(ellipse 90% 60% at 74% 8%,rgba(157,92,255,.5),rgba(0,0,0,0) 62%),
             linear-gradient(160deg,#1B1234 0%,#0C0817 58%,#120B22 100%);
  box-shadow:0 6px 16px -4px rgba(0,0,0,.9),0 0 18px -6px rgba(124,58,237,.6),
             inset 0 1px 1px rgba(255,255,255,.14)}
.sticky .couvm::after{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(to right,rgba(0,0,0,.6),rgba(255,255,255,.06))}
.sticky .couvm i{position:absolute;left:4px;right:4px;top:7px;font-style:normal;
  font-family:var(--display);font-size:5.5px;letter-spacing:.04em;line-height:1.15;
  color:rgba(255,255,255,.85)}

.sticky .info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;
  gap:4px;padding:0 14px}
.sticky .prixm{display:flex;align-items:center;gap:9px}
.sticky .prixm b{font-family:var(--display);font-size:21px;color:var(--blanc);line-height:1;
  letter-spacing:.01em}
.sticky .prixm em{font-style:normal;font-size:8.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--noir);background:var(--violet-vif);padding:4px 7px;
  border-radius:2px;white-space:nowrap}

.sticky .reste{display:flex;align-items:center;gap:8px}
.sticky .reste span{font-size:9.5px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;
  color:var(--ink-3);white-space:nowrap}
.sticky .reste span b{color:var(--violet-clair);font-weight:700}
.sticky .rail{flex:1;min-width:26px;max-width:78px;height:3px;background:rgba(255,255,255,.10);
  overflow:hidden;border-radius:2px}
.sticky .rail i{display:block;height:100%;width:0;background:var(--violet-vif);
  box-shadow:0 0 10px rgba(157,92,255,.9);transition:width 1.4s cubic-bezier(.16,1,.3,1)}

.sticky .go{position:relative;display:flex;align-items:center;gap:11px;padding:0 20px;
  background:var(--violet);color:var(--blanc);text-decoration:none;overflow:hidden;
  box-shadow:inset 1px 0 0 rgba(255,255,255,.22)}
.sticky .go b{font-family:var(--display);font-size:15.5px;letter-spacing:.06em;
  text-transform:uppercase;line-height:1;position:relative;z-index:1}
.sticky .go svg{width:15px;height:12px;position:relative;z-index:1;
  animation:pousse 2.6s cubic-bezier(.16,1,.3,1) infinite}
@keyframes pousse{0%,72%,100%{transform:translateX(0)}82%{transform:translateX(4px)}}

.sticky .go::after{content:'';position:absolute;top:0;bottom:0;width:42%;
  background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.24),rgba(255,255,255,0));
  transform:translateX(-160%);animation:reflet 4.6s ease-in-out infinite}
@keyframes reflet{0%,62%{transform:translateX(-160%)}86%,100%{transform:translateX(320%)}}
.sticky .go:active{background:#8B45F0}

.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;
  justify-content:flex-start;overflow:hidden;isolation:isolate;padding:var(--haut-header) 0 0}
.zone{position:relative;z-index:6;width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gout)}
.sp{flex-shrink:1}
.sp-haut{flex:0 0 clamp(24px,5.5vh,66px)}
.sp-bas{flex:0 0 0}

.fond{position:absolute;inset:0;z-index:0}
.aur{position:absolute;border-radius:50%;filter:blur(84px)}
.a1{width:104vw;height:104vw;max-width:920px;max-height:920px;top:-28%;left:-30%;
  background:radial-gradient(circle,rgba(157,92,255,.46),rgba(124,58,237,.20) 42%,rgba(0,0,0,0) 76%);
  animation:d1 28s ease-in-out infinite alternate}
.a2{width:92vw;height:92vw;max-width:800px;max-height:800px;bottom:-30%;right:-28%;
  background:radial-gradient(circle,rgba(124,58,237,.34),rgba(90,40,190,.14) 46%,rgba(0,0,0,0) 74%);
  animation:d2 34s ease-in-out infinite alternate}
@keyframes d1{to{transform:translate3d(6vw,4vh,0) scale(1.12)}}
@keyframes d2{to{transform:translate3d(-5vw,-5vh,0) scale(1.05)}}

.trame{position:absolute;inset:0;
  background-image:radial-gradient(circle at center,rgba(196,165,255,.30) 1.1px,transparent 1.2px);
  background-size:clamp(21px,2.6vw,26px) clamp(21px,2.6vw,26px);
  -webkit-mask-image:radial-gradient(ellipse 74% 62% at 50% 44%,#000 4%,transparent 78%);
  mask-image:radial-gradient(ellipse 74% 62% at 50% 44%,#000 4%,transparent 78%)}

.bloc{flex:1 1 auto;display:flex;flex-direction:column;align-items:flex-start}
@media(min-width:900px){
  .bloc{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(36px,5vw,96px)}
}
.titre{margin:0;line-height:.90}
.titre span{display:block;font-family:var(--display);text-transform:uppercase;letter-spacing:-.01em;
  font-size:min(11.6vw,7.2rem);opacity:0;animation:monte .95s cubic-bezier(.16,1,.3,1) both}
.titre span:nth-of-type(1){animation-delay:.22s}
.titre span:nth-of-type(2){animation-delay:.34s}
.titre span:nth-of-type(3){animation-delay:.48s}
.titre .b{color:var(--blanc)}
.titre .g{color:var(--gris)}
.titre .v{color:var(--violet-vif);text-shadow:0 0 clamp(26px,6vw,80px) rgba(157,92,255,.34)}
@media(min-width:760px){.titre{line-height:.92}.titre span{font-size:clamp(2.6rem,7.6vw,7.2rem)}}

.objet{position:relative;z-index:5;perspective:1300px;display:flex;justify-content:center;width:100%;
  margin-top:auto;margin-bottom:auto;opacity:0;animation:monte 1.1s cubic-bezier(.16,1,.3,1) .62s both}
.objet-in{position:relative;height:min(72vw,40vh,334px);width:auto;aspect-ratio:1/1.42;
  transform:rotateY(-17deg) rotateX(5deg);transform-style:preserve-3d;
  transition:transform .9s cubic-bezier(.16,1,.3,1)}
.objet:hover .objet-in{transform:rotateY(-9deg) rotateX(2deg)}
@media(min-width:900px){.objet{width:auto;margin:0}.objet-in{height:auto;width:min(24vw,290px)}}
.couv{position:absolute;inset:0;border-radius:2px 6px 6px 2px;overflow:hidden;
  background:radial-gradient(ellipse 90% 60% at 74% 8%,rgba(157,92,255,.42),rgba(0,0,0,0) 62%),
             radial-gradient(ellipse 70% 50% at 12% 96%,rgba(124,58,237,.30),rgba(0,0,0,0) 60%),
             linear-gradient(160deg,#17102B 0%,#0C0817 52%,#100A1E 100%);
  box-shadow:0 34px 70px -18px rgba(0,0,0,.85),0 0 54px -12px rgba(124,58,237,.34),
             inset 0 1px 1px rgba(255,255,255,.12);
  display:flex;flex-direction:column;justify-content:space-between;
  padding:clamp(14px,3.6vw,22px) clamp(12px,3.2vw,18px)}
.couv::after{content:'';position:absolute;left:0;top:0;bottom:0;width:9px;pointer-events:none;
  background:linear-gradient(to right,rgba(0,0,0,.62),rgba(0,0,0,.34) 34%,rgba(255,255,255,.07) 62%,rgba(0,0,0,.28))}
.couv-grille{position:absolute;inset:0;
  background-image:radial-gradient(circle at center,rgba(255,255,255,.14) .8px,transparent .9px);
  background-size:8px 8px;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 10%,transparent 76%);
  mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 10%,transparent 76%)}
.couv-h,.couv-b{position:relative;z-index:1}
.couv-eyebrow{font-size:clamp(7px,1.9vw,8.5px);font-weight:700;letter-spacing:.26em;
  text-transform:uppercase;color:var(--violet-clair);margin-bottom:8px}
.couv-t{font-family:var(--display);font-size:clamp(1.05rem,3.6vw,1.5rem);line-height:.94;
  text-transform:uppercase;color:var(--blanc);letter-spacing:.01em}
.couv-fil{height:1px;background:var(--trait);margin-bottom:9px}
.couv-m{font-size:clamp(7px,1.9vw,8.5px);font-weight:600;letter-spacing:.19em;text-transform:uppercase;
  color:var(--ink-3);line-height:1.75}

.lueur{position:absolute;left:50%;bottom:0;transform:translateX(-50%);z-index:1;pointer-events:none;
  width:130%;height:30vh;background:radial-gradient(ellipse 44% 60% at 50% 100%,rgba(157,92,255,.26),rgba(0,0,0,0) 70%)}
.ruban{position:relative;z-index:2;overflow:hidden;margin-bottom:clamp(12px,2.4vh,30px);
  opacity:0;animation:monte 1.1s cubic-bezier(.16,1,.3,1) .70s both}
.ruban .piste{display:flex;width:max-content;align-items:flex-end;animation:glisse 58s linear infinite}
.ruban:hover .piste{animation-play-state:paused}
.ruban b{display:flex;font-family:var(--display);text-transform:uppercase;white-space:nowrap;
  line-height:.84;padding-right:.34em;font-size:clamp(3.4rem,15vw,11rem);
  background:linear-gradient(180deg,rgba(157,92,255,.02) 0%,rgba(157,92,255,.14) 46%,
    rgba(196,165,255,.42) 82%,rgba(255,255,255,.60) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ruban b i{font-style:normal;display:inline-block;margin-right:.075em}

.bandeau{position:relative;z-index:6;overflow:hidden;border-top:1px solid var(--trait);
  border-bottom:1px solid var(--trait-doux);
  background:linear-gradient(to bottom,rgba(124,58,237,.09),rgba(6,5,9,0));
  padding:clamp(13px,2.2vh,20px) 0;opacity:0;animation:monte .9s cubic-bezier(.16,1,.3,1) .82s both}
.bandeau .piste-mots{display:flex;width:max-content;animation:glisse-inv 40s linear infinite}
.bandeau:hover .piste-mots{animation-play-state:paused}
.bandeau .groupe{display:flex;align-items:center;gap:clamp(18px,3.6vw,44px);padding-right:clamp(18px,3.6vw,44px)}
.bandeau .groupe b{font-family:var(--display);font-size:clamp(.95rem,4vw,1.7rem);letter-spacing:.05em;
  text-transform:uppercase;color:var(--ink);white-space:nowrap;line-height:1}
.bandeau .groupe b.on{color:var(--violet-vif)}
.bandeau .groupe i{width:1px;height:clamp(13px,2.6vw,20px);background:var(--trait);flex-shrink:0}

@keyframes glisse{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes glisse-inv{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes monte{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

.section{position:relative;overflow:hidden;padding:clamp(66px,11vw,150px) 0;
  scroll-margin-top:var(--haut-header)}
.sombre{background:var(--noir-2)}
.chapeau{display:flex;align-items:center;gap:13px;margin-bottom:clamp(16px,2.6vw,26px)}
.chapeau i{width:clamp(20px,5vw,40px);height:2px;background:var(--violet-vif);flex-shrink:0}
.chapeau b{font-size:clamp(9.5px,2.6vw,11px);font-weight:700;letter-spacing:.24em;
  text-transform:uppercase;color:var(--violet-clair)}
.chapeau b span{color:var(--blanc);font-family:var(--display);font-size:1.32em;
  letter-spacing:.06em;display:inline-block;vertical-align:-.04em;margin:0 .12em}
.etape{display:flex;align-items:baseline;gap:14px;margin-bottom:clamp(14px,2.4vw,22px)}
.etape em{font-family:var(--display);font-style:normal;font-size:clamp(2.6rem,9vw,5rem);line-height:.8;
  color:rgba(157,92,255,.24)}
.etape b{font-size:clamp(9.5px,2.6vw,11px);font-weight:700;letter-spacing:.24em;
  text-transform:uppercase;color:var(--violet-clair)}

.gros{font-family:var(--display);text-transform:uppercase;color:var(--blanc);margin:0;
  font-size:clamp(2rem,9.4vw,5.4rem);line-height:.94;letter-spacing:-.012em}
.gros .off{color:var(--gris)}
.gros .on{color:var(--violet-vif)}
.dit{font-size:clamp(1.02rem,4.2vw,1.35rem);color:var(--ink-2);max-width:46ch;
  margin:clamp(16px,2.6vw,26px) 0 0;line-height:1.5}
.dit strong{color:var(--blanc);font-weight:600}
.dit .vio{color:var(--violet-clair);font-weight:600}
.chute{margin-top:clamp(26px,4vw,44px);padding-top:clamp(20px,3vw,32px);border-top:1px solid var(--trait);
  font-family:var(--display);text-transform:uppercase;font-size:clamp(1.3rem,5.6vw,2.6rem);
  line-height:1.06;color:var(--blanc);max-width:22ch}
.chute .on{color:var(--violet-vif)}
.chute-bloc{margin-top:clamp(26px,4vw,44px);padding-top:clamp(20px,3vw,32px);
  border-top:1px solid var(--trait);display:grid;grid-template-columns:1fr;gap:clamp(24px,4vw,40px)}
@media(min-width:900px){
  .chute-bloc{grid-template-columns:minmax(0,1fr) auto;align-items:end;
    gap:clamp(40px,6vw,90px)}
}
.chute-bloc .chute{margin:0;padding:0;border:0;max-width:24ch}
.mini{display:flex;align-items:stretch;text-decoration:none;border-radius:2px;overflow:hidden;
  background:var(--violet);color:var(--blanc);flex-shrink:0;align-self:stretch;width:100%;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);transition:background .25s,transform .25s}
@media(min-width:900px){.mini{display:inline-flex;width:auto;align-self:end}}
.mini b{flex:1;justify-content:center}
@media(min-width:900px){.mini b{flex:0 0 auto;justify-content:flex-start}}
.mini:hover{background:#8B45F0;transform:translateY(-1px)}
.mini b{display:flex;align-items:center;gap:10px;padding:17px 24px;font-family:var(--display);
  font-size:clamp(13px,3.6vw,15px);letter-spacing:.06em;text-transform:uppercase;line-height:1;white-space:nowrap}
.mini u{display:grid;place-items:center;width:48px;text-decoration:none;background:rgba(0,0,0,.18);
  box-shadow:inset 1px 0 0 rgba(255,255,255,.16)}
.mini u svg{width:15px;height:12px;transition:transform .25s}
.mini:hover u svg{transform:translateX(3px)}

.reveal{opacity:0;transform:translateY(28px);
  transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.reveal.vu{opacity:1;transform:none}

.intro{display:grid;grid-template-columns:1fr;gap:clamp(16px,2.6vw,26px)}
@media(min-width:1000px){
  .intro{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:clamp(40px,6vw,110px);align-items:end}
  .intro .dit{margin-top:0;max-width:42ch;padding-bottom:.35em}
}

.rang-geant{position:absolute;z-index:0;pointer-events:none;user-select:none;
  font-family:var(--display);line-height:.72;color:rgba(255,255,255,.026);

  right:calc(var(--gout) - .06em);top:clamp(40px,7.5vh,74px);
  font-size:min(24vw,9rem);color:rgba(255,255,255,.011)}
@media(min-width:900px){

  .rang-geant{top:50%;transform:translateY(-50%);font-size:min(30vw,26rem);
    color:rgba(255,255,255,.018)}
}

.patron{position:relative;overflow:hidden}
.patron-halo{position:absolute;top:50%;left:50%;width:120%;height:160%;
  transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(ellipse 50% 40% at 50% 50%,
    rgba(124,58,237,.18) 0%,rgba(124,58,237,.09) 35%,
    rgba(124,58,237,.03) 58%,rgba(0,0,0,0) 76%)}
.patron-contenu{position:relative;z-index:1;text-align:center}
.patron .chapeau{justify-content:center}
.patron-titre{font-family:var(--display);font-size:clamp(2.3rem,8vw,7rem);
  line-height:.98;text-transform:uppercase;color:var(--blanc);
  margin:0 auto clamp(26px,4vw,42px);max-width:16ch}
@media(min-width:760px){.patron-titre{line-height:.92}}
.patron-titre .barre{position:relative;display:inline;color:var(--gris)}
.patron-titre .barre::after{content:'';position:absolute;left:-2%;right:-2%;top:.735em;
  height:clamp(3px,.55vw,7px);background:var(--violet-vif);
  transform:translateY(-50%) scaleX(0);transform-origin:left center;
  transition:transform .9s cubic-bezier(.16,1,.3,1) .25s}
.patron-contenu.vu .barre::after{transform:translateY(-50%) scaleX(1)}
.patron-phrase{font-size:clamp(1.05rem,2vw,1.35rem);color:var(--ink-2);
  max-width:52ch;margin:0 auto;line-height:1.5}
.patron-phrase strong{color:var(--blanc);font-weight:600}

.patron .compteur{text-align:left;max-width:640px;margin-left:auto;margin-right:auto}
.patron .kpi{text-align:left}

.compteur{margin-top:clamp(30px,5vw,56px);border:1px solid var(--trait);background:var(--noir-3);
  padding:clamp(22px,4vw,40px)}
.compteur .lab{font-size:clamp(9.5px,2.6vw,11px);font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--violet-clair);margin-bottom:clamp(10px,2vw,16px)}
.compteur .val{font-family:var(--display);font-size:clamp(2.4rem,11vw,5.4rem);line-height:1;
  color:var(--blanc);font-variant-numeric:tabular-nums;
  text-shadow:0 0 clamp(24px,5vw,70px) rgba(157,92,255,.30)}
.compteur .val span{color:var(--violet-vif)}
.compteur .sous{font-size:clamp(.9rem,3.6vw,1rem);color:var(--ink-2);margin-top:clamp(10px,2vw,16px);max-width:44ch}
.compteur .sous strong{color:var(--blanc);font-weight:600}

.kpis{margin-top:clamp(30px,4.5vw,56px);display:grid;grid-template-columns:1fr;gap:1px;
  background:var(--trait-doux);border:1px solid var(--trait-doux)}
@media(min-width:560px){.kpis{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.kpis{grid-template-columns:repeat(4,1fr)}}
.kpi{position:relative;overflow:hidden;background:var(--noir);
  padding:clamp(22px,3.4vw,34px) clamp(18px,2.4vw,26px);transition:background .45s ease}
.sombre .kpi{background:var(--noir-2)}
.kpi:hover{background:var(--noir-3)}
.kpi::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--violet-vif);
  transform:scaleX(0);transform-origin:left center;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.kpi:hover::after{transform:scaleX(1)}
.kpi .tag{display:block;font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:clamp(12px,2vw,18px)}
.kpi b{display:block;font-family:var(--display);font-size:clamp(2.3rem,8.4vw,3.4rem);line-height:1;
  color:var(--violet-vif);margin-bottom:10px}
.kpi span{display:block;font-size:clamp(.86rem,3.4vw,.92rem);color:var(--ink-2);line-height:1.45}
.kpi span strong{color:var(--blanc);font-weight:600}

.kpi.bon{background:rgba(157,92,255,.10)}
.sombre .kpi.bon{background:rgba(157,92,255,.10)}
.kpi.bon .tag{color:var(--violet-clair)}
.kpi.bon b{color:var(--blanc);text-shadow:0 0 clamp(20px,4vw,50px) rgba(157,92,255,.45)}
.kpi.bon::after{transform:scaleX(1);background:var(--blanc)}

.sujets{margin-top:clamp(30px,4.5vw,56px);display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--trait-doux);border:1px solid var(--trait-doux)}
@media(min-width:760px){.sujets{grid-template-columns:repeat(4,1fr)}}
.sujet{position:relative;background:var(--noir);overflow:hidden;
  padding:clamp(16px,2.6vw,26px) clamp(13px,2vw,22px) clamp(18px,2.8vw,28px);
  display:flex;flex-direction:column;min-height:clamp(146px,30vw,196px);
  transition:background .45s ease}
.sombre .sujet{background:var(--noir-2)}
.sujet::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--violet-vif);
  transform:scaleX(0);transform-origin:left center;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.sujet:hover{background:var(--noir-3)}
.sujet:hover::after{transform:scaleX(1)}

.sujet .top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
  margin-bottom:clamp(14px,2.6vw,22px)}
.sujet .rang{font-family:var(--display);font-size:11px;letter-spacing:.14em;color:rgba(157,92,255,.55);
  line-height:1;padding-top:5px}
.sujet .dr{font-size:clamp(1.7rem,6.4vw,2.3rem);line-height:1;filter:saturate(1.05);
  transition:transform .5s cubic-bezier(.16,1,.3,1)}
.sujet:hover .dr{transform:scale(1.14) rotate(-3deg)}
.sujet .ic{width:clamp(26px,5.4vw,34px);height:clamp(26px,5.4vw,34px);flex-shrink:0;
  transition:transform .5s cubic-bezier(.16,1,.3,1)}
.sujet:hover .ic{transform:scale(1.14) rotate(-3deg)}
.sujet .ic path,.sujet .ic circle,.sujet .ic rect,.sujet .ic line{stroke:var(--violet-vif);
  stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}

.sujet b{display:block;font-family:var(--display);font-size:clamp(1.02rem,4.1vw,1.28rem);line-height:1.02;
  text-transform:uppercase;color:var(--blanc);margin-bottom:8px;letter-spacing:.005em}
.sujet span{display:block;font-size:clamp(.8rem,3.1vw,.86rem);color:var(--ink-3);line-height:1.45;margin-top:auto}

.scenario{margin-top:clamp(30px,4.5vw,56px);border:1px solid var(--trait);overflow:hidden}
.sc-tete{display:none}
@media(min-width:820px){
  .sc-tete{display:grid;grid-template-columns:auto 1fr repeat(3,minmax(96px,132px));
    gap:clamp(14px,2.4vw,28px);align-items:center;
    padding:14px clamp(18px,2.6vw,30px);background:rgba(255,255,255,.022);
    border-bottom:1px solid var(--trait)}
  .sc-tete span{font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
    color:var(--ink-3);text-align:right}
  .sc-tete span:first-child,.sc-tete span:nth-child(2){text-align:left}
}
.sc{display:grid;grid-template-columns:auto 1fr;gap:6px clamp(14px,3vw,26px);align-items:start;
  padding:clamp(16px,2.6vw,24px) clamp(18px,2.6vw,30px);border-bottom:1px solid var(--trait);
  transition:background .4s ease}
.sc:hover{background:rgba(157,92,255,.04)}
@media(min-width:820px){
  .sc{grid-template-columns:auto 1fr repeat(3,minmax(96px,132px));gap:clamp(14px,2.4vw,28px);
    align-items:center}
}
.sc-n{grid-row:1;font-family:var(--display);font-size:clamp(1.4rem,4.6vw,1.8rem);line-height:1.15;
  color:rgba(157,92,255,.42);width:22px}
@media(min-width:820px){.sc-n{grid-row:auto;line-height:1;width:26px}}
.sc-t b{display:block;font-size:clamp(.98rem,4vw,1.18rem);color:var(--blanc);font-weight:700;
  line-height:1.25;letter-spacing:-.01em}
.sc-t span{display:block;font-size:clamp(.84rem,3.3vw,.9rem);color:var(--ink-3);margin-top:5px;line-height:1.4}

.sc-chiffres{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);
  gap:0;margin-top:clamp(14px,3vw,18px);padding-top:clamp(12px,2.6vw,15px);
  border-top:1px solid var(--trait-doux)}
@media(min-width:820px){.sc-chiffres{display:contents}}
.sc-v{font-family:var(--display);line-height:1;white-space:nowrap;position:relative;
  padding-right:10px}
.sc-v em{display:block;font-style:normal;font-family:var(--sans);font-size:9px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px}
@media(min-width:820px){.sc-v em{display:none}.sc-v{text-align:right}}
.sc-cout{font-size:clamp(1.05rem,4.2vw,1.5rem);color:var(--ink-3)}
.sc-paie{font-size:clamp(1.05rem,4.2vw,1.5rem);color:var(--ink)}
.sc-garde{font-size:clamp(1.3rem,5.4vw,1.9rem);color:var(--violet-vif)}
.sc-tot{background:rgba(157,92,255,.10);border-bottom:none}
.sc-tot .sc-t b{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.1rem,4.6vw,1.5rem)}
.sc-tot .sc-garde{font-size:clamp(1.9rem,7.4vw,2.8rem);color:var(--blanc);
  text-shadow:0 0 clamp(18px,4vw,44px) rgba(157,92,255,.45)}

.souligne{margin-top:clamp(24px,3.6vw,38px);font-family:var(--display);text-transform:uppercase;
  font-size:clamp(1.2rem,5.2vw,2.2rem);line-height:1.1;color:var(--ink-3)}
.souligne b{color:var(--blanc)}

.marche{margin-top:clamp(26px,4vw,48px);border-top:1px solid var(--trait)}
.ligne{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:clamp(15px,2.4vw,22px) 0;border-bottom:1px solid var(--trait);
  transition:padding-left .35s ease,background .35s ease}
.ligne:hover{padding-left:10px;background:rgba(157,92,255,.04)}
.ligne .quoi{font-size:clamp(.95rem,3.9vw,1.14rem);color:var(--ink);font-weight:500;line-height:1.3}
.ligne .prix{font-family:var(--display);font-size:clamp(1.1rem,4.6vw,1.7rem);color:var(--violet-vif);
  white-space:nowrap;line-height:1;flex-shrink:0}
.source{margin-top:clamp(14px,2.4vw,20px);font-size:clamp(.78rem,3vw,.84rem);color:var(--ink-3)}

.croix{margin-top:clamp(24px,4vw,44px);display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:700px){.croix{grid-template-columns:1fr 1fr;gap:0 clamp(30px,5vw,70px)}}
.cx{display:flex;align-items:center;gap:15px;padding:clamp(13px,2.2vw,18px) 0;border-bottom:1px solid var(--trait)}
.cx i{position:relative;width:17px;height:17px;flex-shrink:0}
.cx i::before,.cx i::after{content:'';position:absolute;top:50%;left:0;width:100%;height:1.7px;background:var(--violet-vif)}
.cx i::before{transform:rotate(45deg)}
.cx i::after{transform:rotate(-45deg)}
.cx b{font-family:var(--display);font-size:clamp(1rem,4.2vw,1.34rem);text-transform:uppercase;
  color:var(--blanc);letter-spacing:.01em;line-height:1.15}

.preuves{margin-top:clamp(26px,4vw,48px);display:grid;grid-template-columns:1fr;gap:1px;
  background:var(--trait-doux);border:1px solid var(--trait-doux)}
@media(min-width:760px){.preuves{grid-template-columns:repeat(3,1fr)}}
.pv{background:var(--noir);padding:clamp(22px,3.4vw,34px) clamp(18px,2.4vw,26px)}
.sombre .pv{background:var(--noir-2)}
.pv b{display:block;font-family:var(--display);font-size:clamp(1.9rem,7vw,2.8rem);line-height:1;
  color:var(--blanc);margin-bottom:9px}
.pv span{display:block;font-size:clamp(.86rem,3.4vw,.92rem);color:var(--ink-2);line-height:1.45}

.aere{position:relative;overflow:hidden}
.aere-halo{position:absolute;top:38%;left:50%;width:120%;height:150%;
  transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(ellipse 50% 40% at 50% 50%,
    rgba(124,58,237,.16) 0%,rgba(124,58,237,.08) 35%,
    rgba(124,58,237,.03) 58%,rgba(0,0,0,0) 76%)}
.aere-tete{position:relative;z-index:1;text-align:center;
  margin-bottom:clamp(44px,7vw,86px)}
.aere-tete .chapeau,.aere-tete .etape{justify-content:center;align-items:center}
.aere-tete .etape em{line-height:1}
.aere-titre{font-family:var(--display);font-size:clamp(2.3rem,8vw,6.4rem);
  line-height:.98;text-transform:uppercase;color:var(--blanc);
  margin:0 auto clamp(22px,3.4vw,36px);max-width:17ch}
@media(min-width:760px){.aere-titre{line-height:.92}}
.aere-titre .on{color:var(--violet-vif)}
.aere-phrase{font-size:clamp(1.05rem,2vw,1.35rem);color:var(--ink-2);
  max-width:50ch;margin:0 auto;line-height:1.5}
.aere-phrase strong{color:var(--blanc);font-weight:600}
.aere .caps{position:relative;z-index:1}
.aere .cap{padding-top:clamp(22px,3.4vw,36px);padding-bottom:clamp(22px,3.4vw,36px)}

.caps{margin-top:clamp(30px,4.5vw,56px);border-top:1px solid var(--trait)}
.cap{position:relative;display:grid;grid-template-columns:auto 1fr;
  gap:2px clamp(14px,3vw,26px);align-items:baseline;
  padding:clamp(18px,2.8vw,30px) 0;border-bottom:1px solid var(--trait);
  transition:padding-left .5s cubic-bezier(.16,1,.3,1)}
@media(min-width:900px){
  .cap{grid-template-columns:auto minmax(0,.46fr) minmax(0,.54fr);
    gap:clamp(20px,3.4vw,50px);align-items:center}
}
.cap::before{content:'';position:absolute;inset:0;background:rgba(157,92,255,.06);
  transform:scaleX(0);transform-origin:left center;pointer-events:none;
  transition:transform .55s cubic-bezier(.16,1,.3,1)}
.cap:hover::before{transform:scaleX(1)}
.cap:hover{padding-left:clamp(10px,1.6vw,22px)}
.cap>*{position:relative;z-index:1}
.cap .n{font-family:var(--display);font-size:clamp(.86rem,3.2vw,1rem);letter-spacing:.12em;
  color:rgba(157,92,255,.5);line-height:1;transition:color .4s ease}
.cap:hover .n{color:var(--violet-vif)}
.cap .v{font-family:var(--display);text-transform:uppercase;line-height:.9;color:var(--blanc);
  font-size:clamp(2.1rem,10vw,4.4rem);letter-spacing:-.012em;transition:color .4s ease}
.cap:hover .v{color:var(--violet-vif)}
.cap .t{grid-column:2/-1;font-size:clamp(.95rem,3.8vw,1.1rem);color:var(--ink-2);line-height:1.45;
  margin-top:9px}
@media(min-width:900px){.cap .t{grid-column:3;margin-top:0}}
.cap .t strong{color:var(--blanc);font-weight:600}

.cap.cle{background:rgba(157,92,255,.10);margin:0 calc(var(--gout)*-1);
  padding-left:var(--gout);padding-right:var(--gout);border-bottom:none}
.cap.cle::before{display:none}
.cap.cle:hover{padding-left:var(--gout)}
.cap.cle .v{color:var(--violet-vif)}
.cap.cle .badge{position:absolute;top:clamp(10px,1.6vw,16px);right:var(--gout);
  font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--noir);
  background:var(--violet-vif);padding:5px 10px}
@media(max-width:899px){.cap.cle .badge{position:static;display:inline-block;margin-bottom:12px;
  grid-column:1/-1;justify-self:start}}

.piste-zone{position:relative;overflow:hidden}
.piste-zone::before,.piste-zone::after{content:'';position:absolute;top:0;bottom:0;
  width:clamp(24px,8vw,140px);z-index:3;pointer-events:none}
.piste-zone::before{left:0;background:linear-gradient(to right,var(--noir-2),rgba(10,8,16,0))}
.piste-zone::after{right:0;background:linear-gradient(to left,var(--noir-2),rgba(10,8,16,0))}
.piste-avis{display:flex;width:max-content;animation:glisse 72s linear infinite}
.piste-zone:hover .piste-avis{animation-play-state:paused}
.grp-avis{display:flex;gap:clamp(13px,2vw,22px);padding-right:clamp(13px,2vw,22px)}
.avis{width:clamp(268px,80vw,390px);flex-shrink:0;padding:clamp(22px,3.2vw,30px);
  border-radius:18px;background:rgba(255,255,255,.018);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.09);
  position:relative;overflow:hidden;display:flex;flex-direction:column}
.avis::before{content:'';position:absolute;inset:0;border-radius:inherit;padding:1.2px;
  background:linear-gradient(180deg,rgba(255,255,255,.30) 0%,rgba(157,92,255,.14) 24%,
    rgba(255,255,255,0) 46%,rgba(255,255,255,0) 62%,rgba(157,92,255,.14) 82%,rgba(255,255,255,.30) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.avis .etoiles{display:flex;gap:3px;margin-bottom:15px}
.avis .etoiles svg{width:14px;height:14px;fill:var(--violet-vif)}
.avis p{margin:0 0 20px;font-size:clamp(.95rem,3.8vw,1rem);line-height:1.55;color:var(--ink);flex-grow:1}
.avis p strong{color:var(--blanc);font-weight:600}
.avis .qui{display:flex;align-items:center;gap:12px}
.avis .pas{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;
  font-family:var(--display);font-size:13px;color:var(--blanc);
  background:linear-gradient(135deg,var(--violet-vif),#5B21B6)}
.avis .nom{font-size:.92rem;font-weight:600;color:var(--blanc);line-height:1.3}
.avis .role{font-size:.82rem;color:var(--ink-3)}

@keyframes vente{
  0%{transform:scale(1.18);color:var(--violet-vif);text-shadow:0 0 22px rgba(157,92,255,.9)}
  60%{transform:scale(1);color:var(--violet-vif)}
  100%{transform:scale(1);text-shadow:none}
}
.vend{animation:vente .95s cubic-bezier(.16,1,.3,1);display:inline-block}
.sticky .reste .rail i,.jauge .rail i{transition:width 1.1s cubic-bezier(.16,1,.3,1)}

.jauge{margin-top:clamp(30px,4.5vw,52px);border:1px solid var(--trait);background:var(--noir-3);
  padding:clamp(22px,3.6vw,36px)}
.jauge .haut{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;
  margin-bottom:clamp(16px,2.6vw,22px)}
.jauge .n{font-family:var(--display);font-size:clamp(2.4rem,10vw,4rem);line-height:.9;color:var(--blanc)}
.jauge .n em{font-style:normal;color:var(--ink-3);font-size:.42em}
.jauge .lb{display:block;font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:10px}
.jauge .r{text-align:right;flex-shrink:0}
.jauge .r b{display:block;font-family:var(--display);font-size:clamp(1.5rem,6vw,2.4rem);line-height:1;
  color:var(--violet-vif)}
.jauge .r span{display:block;font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--violet-clair);margin-top:7px}
.jauge .rail{position:relative;height:8px;background:rgba(255,255,255,.07);overflow:hidden}
.jauge .rail i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--violet-vif);
  box-shadow:0 0 22px rgba(157,92,255,.55);transition:width 1.6s cubic-bezier(.16,1,.3,1)}
.jauge .grad{display:flex;justify-content:space-between;margin-top:10px}
.jauge .grad span{font-size:9.5px;font-weight:600;letter-spacing:.14em;color:var(--ink-3)}

.offre{position:relative;overflow:hidden}
.offre .halo{position:absolute;top:46%;left:50%;width:170%;height:135%;transform:translate(-50%,-50%);
  pointer-events:none;background:radial-gradient(ellipse 38% 40% at 50% 50%,rgba(124,58,237,.22),rgba(0,0,0,0) 70%)}

.offre .chapeau{margin-bottom:clamp(48px,9vw,40px)}

@media(max-width:899px){.offre .chapeau{justify-content:center}}

.offre-grille{display:grid;grid-template-columns:1fr;gap:clamp(34px,5vw,44px);align-items:center;text-align:center}
@media(min-width:900px){
  .offre-grille{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
    gap:clamp(48px,5.5vw,100px);text-align:left}
}

.scene{position:relative;perspective:1500px;display:flex;justify-content:center}
.porte{position:relative}
.obj{position:relative;height:min(56vw,256px);aspect-ratio:1/1.42;
  transform:rotateY(-15deg) rotateX(4deg);transform-style:preserve-3d;
  transition:transform .9s cubic-bezier(.16,1,.3,1)}
@media(min-width:900px){.obj{height:min(32vw,470px)}}
@media(min-width:1500px){.obj{height:min(30vw,560px)}}
.scene:hover .obj{transform:rotateY(-7deg) rotateX(1deg)}
.couv{position:absolute;inset:0;border-radius:2px 6px 6px 2px;overflow:hidden;
  background:radial-gradient(ellipse 90% 60% at 74% 8%,rgba(157,92,255,.42),rgba(0,0,0,0) 62%),
             radial-gradient(ellipse 70% 50% at 12% 96%,rgba(124,58,237,.30),rgba(0,0,0,0) 60%),
             linear-gradient(160deg,#17102B 0%,#0C0817 52%,#100A1E 100%);
  box-shadow:0 40px 80px -18px rgba(0,0,0,.92),0 0 60px -12px rgba(124,58,237,.36),
             inset 0 1px 1px rgba(255,255,255,.12);
  display:flex;flex-direction:column;justify-content:space-between;text-align:left;
  padding:clamp(18px,4vw,30px) clamp(15px,3.4vw,24px)}
.couv::after{content:'';position:absolute;left:0;top:0;bottom:0;width:clamp(9px,1.6vw,13px);
  background:linear-gradient(to right,rgba(0,0,0,.62),rgba(0,0,0,.34) 34%,rgba(255,255,255,.07) 62%,rgba(0,0,0,.28))}
.couv .g{position:absolute;inset:0;
  background-image:radial-gradient(circle at center,rgba(255,255,255,.14) .9px,transparent 1px);
  background-size:clamp(8px,1.2vw,15px) clamp(8px,1.2vw,15px);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 10%,transparent 76%);
  mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 10%,transparent 76%)}
.couv .h,.couv .b{position:relative;z-index:1}
.couv .eb{font-size:clamp(8px,1.1vw,10px);font-weight:700;letter-spacing:.26em;text-transform:uppercase;
  color:var(--violet-clair);margin-bottom:9px}
.couv .t{font-family:var(--display);font-size:clamp(1.2rem,2.4vw,1.9rem);line-height:.94;
  text-transform:uppercase;color:var(--blanc)}
.couv .fil{height:1px;background:var(--trait);margin-bottom:10px}
.couv .m{font-size:clamp(8px,1.1vw,10px);font-weight:600;letter-spacing:.19em;text-transform:uppercase;
  color:var(--ink-3);line-height:1.8}

.macaron{position:absolute;z-index:5;
  top:clamp(-30px,-7vw,-22px);right:clamp(-38px,-9vw,-28px);
  width:clamp(80px,21vw,96px);height:clamp(80px,21vw,96px);border-radius:50%;
  display:grid;place-items:center;text-align:center;transform:rotate(-11deg);
  background:radial-gradient(circle at 34% 28%,#B478FF,var(--violet-vif) 46%,#6E28D9 100%);
  box-shadow:0 16px 34px -10px rgba(0,0,0,.85),0 0 0 5px rgba(6,5,9,.92),
             0 0 0 6px rgba(157,92,255,.55),inset 0 2px 5px rgba(255,255,255,.32)}
@media(min-width:900px){.macaron{width:min(11vw,132px);height:min(11vw,132px);
  top:clamp(-34px,-3vw,-26px);right:clamp(-46px,-4vw,-34px)}}
.macaron .p{display:block;font-family:var(--display);font-size:clamp(1.35rem,2.4vw,2.2rem);
  color:var(--noir);line-height:.9}
.macaron .l{display:block;font-family:var(--display);font-size:clamp(.68rem,1.2vw,1rem);
  letter-spacing:.06em;color:var(--noir);margin-top:3px}
.macaron .s{display:block;font-size:clamp(7px,.72vw,9px);font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(6,5,9,.62);margin-top:4px}

.px{display:flex;align-items:baseline;justify-content:center;
  gap:clamp(6px,1.4vw,16px);margin:0;font-family:var(--display);line-height:.95;color:var(--blanc)}
@media(min-width:900px){.px{justify-content:flex-start}}

.px b{font-size:clamp(3.4rem,26vw,7rem);letter-spacing:-.01em;
  text-shadow:0 0 clamp(34px,6vw,100px) rgba(157,92,255,.42)}
.px i{font-style:normal;font-size:clamp(1.5rem,11vw,3rem);color:var(--violet-vif)}
@media(min-width:900px){
  .px b{font-size:min(11vw,11rem)}
  .px i{font-size:min(4.6vw,4.6rem)}
}
.produit{margin:clamp(18px,3vw,28px) 0 0;font-size:clamp(1rem,4.2vw,1.22rem);color:var(--ink-2);
  letter-spacing:.01em}
.produit b{color:var(--blanc);font-weight:600}
@media(min-width:900px){.produit{font-size:min(1.35vw,1.4rem)}}
.produit s{color:var(--ink-3);text-decoration-color:var(--violet-vif);margin-left:8px}

.mot{margin:clamp(24px,4vw,34px) auto 0;max-width:34ch;
  padding-top:clamp(20px,3vw,28px);border-top:1px solid var(--trait)}
@media(min-width:900px){.mot{margin-left:0;margin-right:0;max-width:44ch}}
.mot b{display:block;font-family:var(--display);text-transform:uppercase;color:var(--blanc);
  font-size:clamp(1.2rem,5vw,2rem);line-height:1.04;letter-spacing:.004em;text-wrap:balance}
@media(min-width:900px){.mot b{font-size:min(2.9vw,2.9rem)}
  .mot span{font-size:min(1.28vw,1.2rem)}}
.mot b em{font-style:normal;color:var(--violet-vif)}
.mot span{display:block;font-size:clamp(.94rem,3.8vw,1.06rem);color:var(--ink-2);margin-top:11px;line-height:1.5}
.mot span strong{color:var(--blanc);font-weight:600}

.offre .cta{display:flex;align-items:stretch;text-decoration:none;border-radius:2px;background:var(--violet);
  color:var(--blanc);overflow:hidden;width:100%;margin:clamp(26px,4.4vw,38px) auto 0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 18px 50px -20px rgba(124,58,237,.95);
  transition:background .25s,transform .25s}
@media(min-width:900px){.offre .cta{width:auto;max-width:540px;margin-left:0;margin-right:0}}
@media(min-width:900px){.offre .cta span{padding:26px 24px;font-size:min(1.5vw,21px)}
  .offre .cta u{width:68px}}
.offre .cta:hover{background:#8B45F0;transform:translateY(-1px)}
.offre .cta span{flex:1;display:flex;align-items:center;justify-content:center;padding:22px 20px;
  font-family:var(--display);font-size:clamp(15px,4.4vw,19px);letter-spacing:.05em;text-transform:uppercase;line-height:1}
.offre .cta u{display:grid;place-items:center;width:58px;background:rgba(0,0,0,.18);
  box-shadow:inset 1px 0 0 rgba(255,255,255,.16)}
.offre .cta u svg{width:17px;height:13px;transition:transform .25s}
.offre .cta:hover u svg{transform:translateX(3px)}

.offre .rass{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;
  gap:0;margin:14px auto 0;width:100%;max-width:540px;
  border-top:1px solid var(--trait-doux)}
@media(min-width:900px){.offre .rass{margin-left:0;margin-right:0}}
.offre .rass span{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 10px;font-size:clamp(.76rem,3vw,.84rem);color:var(--ink-3);line-height:1.2;
  text-align:center;box-shadow:inset -1px 0 0 var(--trait-doux)}
.offre .rass span:last-child{box-shadow:none}
.offre .rass svg{width:14px;height:14px;flex-shrink:0;stroke:var(--violet-vif);
  stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:640px){
  .offre .rass{flex-direction:row;flex-wrap:wrap;justify-content:center;
    gap:7px 16px;margin-top:15px;padding:0;max-width:none;border-top:none}
  .offre .rass span{flex:0 0 auto;justify-content:center;padding:0;gap:6px;
    box-shadow:none;font-size:.78rem}
  .offre .rass svg{width:12.5px;height:12.5px}
}

.club{position:relative;overflow:hidden;margin-top:clamp(34px,5vw,64px);
  border:1px solid rgba(157,92,255,.38);background:var(--noir-3)}
.club::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 100% at 88% 0%,rgba(157,92,255,.24),rgba(0,0,0,0) 64%)}
.club .gin{position:relative;z-index:1;display:grid;grid-template-columns:1fr;
  gap:clamp(24px,3.4vw,44px);padding:clamp(24px,4vw,48px)}
@media(min-width:900px){.club .gin{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(40px,5vw,80px);align-items:center}}

.pass{position:relative;border:1px solid rgba(157,92,255,.45);overflow:hidden;
  background:linear-gradient(150deg,rgba(157,92,255,.22),rgba(12,8,23,.92) 62%);
  padding:clamp(20px,3vw,30px)}
.pass::after{content:'';position:absolute;top:-40%;right:-30%;width:80%;height:160%;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(157,92,255,.30),rgba(0,0,0,0) 68%)}
.pass .haut{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding-bottom:clamp(15px,2.2vw,20px);margin-bottom:clamp(15px,2.2vw,20px);
  border-bottom:1px dashed rgba(157,92,255,.42)}
.pass .haut b{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--violet-clair)}
.pass .haut span{display:flex;align-items:center;gap:7px;font-size:9.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}
.pass .haut span i{width:7px;height:7px;border-radius:50%;background:#3BD16F;flex-shrink:0;
  box-shadow:0 0 8px rgba(59,209,111,.8);animation:bat 2.2s ease-in-out infinite}
@keyframes bat{0%,100%{opacity:1}50%{opacity:.3}}
.pass .duree{position:relative;z-index:1;font-family:var(--display);line-height:.84;color:var(--blanc);
  font-size:clamp(3.2rem,13vw,4.6rem);text-shadow:0 0 clamp(20px,5vw,60px) rgba(157,92,255,.5)}
.pass .duree em{font-style:normal;display:block;font-size:.28em;letter-spacing:.09em;
  color:var(--violet-clair);margin-top:13px;line-height:1.3}
.pass .tarif{position:relative;z-index:1;margin-top:clamp(15px,2.2vw,20px);
  padding-top:clamp(13px,2vw,18px);border-top:1px dashed rgba(157,92,255,.42);
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.pass .tarif s{font-family:var(--display);font-size:clamp(1.05rem,4.2vw,1.4rem);color:var(--ink-3);
  text-decoration:line-through;text-decoration-color:var(--violet-vif)}
.pass .tarif b{font-family:var(--display);font-size:clamp(1.15rem,4.6vw,1.6rem);color:var(--violet-vif)}

.club h3{margin:0 0 clamp(14px,2.2vw,20px);font-family:var(--display);text-transform:uppercase;
  font-size:clamp(1.5rem,6.2vw,2.7rem);line-height:1;color:var(--blanc)}
.club h3 span{color:var(--violet-vif)}
.club .amorce{margin:0 0 clamp(18px,2.6vw,26px);font-size:clamp(.96rem,3.8vw,1.08rem);
  color:var(--ink-2);line-height:1.55}
.club .amorce strong{color:var(--blanc);font-weight:600}
.dedans{list-style:none;padding:0;margin:0}
.dedans li{position:relative;padding-left:26px;font-size:clamp(.92rem,3.6vw,1rem);color:var(--ink-2);
  line-height:1.5;padding-bottom:13px;margin-bottom:13px;border-bottom:1px solid var(--trait-doux)}
.dedans li:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}
.dedans li::before{content:'';position:absolute;left:0;top:.5em;width:9px;height:9px;
  background:var(--violet-vif);transform:rotate(45deg)}
.dedans li strong{color:var(--blanc);font-weight:600}
.club .apres{margin:clamp(18px,2.6vw,26px) 0 0;padding-top:clamp(14px,2.2vw,20px);
  border-top:1px solid var(--trait);font-family:var(--display);text-transform:uppercase;
  font-size:clamp(1rem,4vw,1.3rem);line-height:1.2;color:var(--blanc)}
.club .apres span{color:var(--violet-vif)}

.faq{margin-top:clamp(30px,4.5vw,56px);border-top:1px solid var(--trait)}
.q{border-bottom:1px solid var(--trait);transition:background .4s ease}
.q.ouvert{background:rgba(157,92,255,.045)}
.qt{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:clamp(14px,3vw,28px);background:none;border:0;cursor:pointer;text-align:left;
  padding:clamp(18px,2.8vw,26px) 0;font-family:inherit;color:inherit;
  transition:padding-left .4s cubic-bezier(.16,1,.3,1)}
.q:hover .qt,.q.ouvert .qt{padding-left:clamp(8px,1.4vw,18px)}
.qt .n{font-family:var(--display);font-size:clamp(.86rem,3.2vw,1rem);letter-spacing:.1em;
  color:rgba(157,92,255,.5);line-height:1;transition:color .35s ease}
.q:hover .qt .n,.q.ouvert .qt .n{color:var(--violet-vif)}
.qt .txt{font-size:clamp(1rem,4.1vw,1.22rem);font-weight:700;color:var(--blanc);line-height:1.3;
  letter-spacing:-.008em}
.qt i{position:relative;width:15px;height:15px;flex-shrink:0;
  transition:transform .4s cubic-bezier(.16,1,.3,1)}
.qt i::before,.qt i::after{content:'';position:absolute;background:var(--violet-vif)}
.qt i::before{left:0;right:0;top:7px;height:1.7px}
.qt i::after{top:0;bottom:0;left:7px;width:1.7px;transition:opacity .3s ease}
.q.ouvert .qt i{transform:rotate(180deg)}
.q.ouvert .qt i::after{opacity:0}

.qr{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.16,1,.3,1)}
.q.ouvert .qr{grid-template-rows:1fr}
.qr>div{overflow:hidden}
.qr p{margin:0;padding:0 0 clamp(20px,3vw,28px) clamp(30px,6.4vw,60px);
  font-size:clamp(.93rem,3.7vw,1.02rem);color:var(--ink-2);line-height:1.62;max-width:68ch}
.qr p strong{color:var(--ink);font-weight:600}
@media(min-width:900px){.qr p{padding-left:clamp(40px,4.4vw,64px)}}

.paiement{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;
  justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}
@media(min-width:700px){.paiement{align-items:center}}
.paiement.ouvert{opacity:1;pointer-events:auto}
.pa-fond{position:absolute;inset:0;background:rgba(3,2,6,.82);
  backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}

.pa-panneau{position:relative;width:100%;max-width:440px;max-height:94svh;overflow-y:auto;
  background:#0B0813;border-radius:14px 14px 0 0;
  box-shadow:0 -30px 80px -20px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.10);
  transform:translateY(24px);transition:transform .38s cubic-bezier(.16,1,.3,1);
  padding-bottom:env(safe-area-inset-bottom)}
@media(min-width:700px){.pa-panneau{border-radius:4px;transform:translateY(14px) scale(.98)}}
.paiement.ouvert .pa-panneau{transform:none}

.pa-panneau::before{content:'';position:absolute;top:0;left:0;right:0;height:1.5px;
  border-radius:14px 14px 0 0;
  background:linear-gradient(to right,rgba(157,92,255,0),var(--violet-vif) 24%,
    #C9A6FF 50%,var(--violet-vif) 76%,rgba(157,92,255,0))}

.pa-croix{position:absolute;top:14px;right:14px;width:32px;height:32px;border:0;cursor:pointer;
  background:rgba(255,255,255,.05);border-radius:3px;display:grid;place-items:center;
  transition:background .2s ease}
.pa-croix:hover{background:rgba(255,255,255,.10)}
.pa-croix::before,.pa-croix::after{content:'';position:absolute;width:13px;height:1.6px;
  background:var(--ink-2)}
.pa-croix::before{transform:rotate(45deg)}
.pa-croix::after{transform:rotate(-45deg)}

.pa-tete{display:flex;align-items:center;gap:14px;padding:22px 20px 18px;
  border-bottom:1px solid var(--trait-doux)}
.pa-couv{flex-shrink:0;width:38px;height:53px;border-radius:1px 3px 3px 1px;position:relative;
  overflow:hidden;
  background:radial-gradient(ellipse 90% 60% at 74% 8%,rgba(157,92,255,.5),rgba(0,0,0,0) 62%),
             linear-gradient(160deg,#1B1234 0%,#0C0817 58%,#120B22 100%);
  box-shadow:0 6px 16px -4px rgba(0,0,0,.9),inset 0 1px 1px rgba(255,255,255,.14)}
.pa-couv::after{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(to right,rgba(0,0,0,.6),rgba(255,255,255,.06))}
.pa-couv i{position:absolute;left:5px;right:5px;top:8px;font-style:normal;font-family:var(--display);
  font-size:6px;letter-spacing:.04em;line-height:1.15;color:rgba(255,255,255,.85)}
.pa-quoi{font-size:.92rem;color:var(--ink);line-height:1.3}
.pa-quoi b{color:var(--blanc);font-weight:600}
.pa-montant{font-family:var(--display);font-size:1.5rem;color:var(--blanc);line-height:1;margin-top:6px}
.pa-montant em{font-style:normal;color:var(--violet-vif);font-size:.7em;margin-left:2px}

.pa-corps{padding:20px}

.pa-express{width:100%;height:50px;border:0;cursor:pointer;border-radius:3px;
  display:flex;align-items:center;justify-content:center;gap:7px;
  font-family:var(--sans);font-weight:600;font-size:1rem;transition:transform .2s ease,filter .2s ease}
.pa-express:active{transform:scale(.99)}
.pa-apple{background:#fff;color:#000;margin-bottom:9px}
.pa-apple:hover{filter:brightness(.94)}
.pa-apple svg{width:17px;height:20px;fill:#000;margin-top:-2px}
.pa-apple b{font-weight:500;font-size:1.06rem;letter-spacing:-.01em}
.pa-google{background:#fff;color:#3c4043;margin-bottom:16px}
.pa-google:hover{filter:brightness(.94)}
.pa-google svg{height:19px;width:auto}

.pa-ou{display:flex;align-items:center;gap:12px;margin:2px 0 16px}
.pa-ou::before,.pa-ou::after{content:'';flex:1;height:1px;background:var(--trait-doux)}
.pa-ou span{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-3)}

.pa-champ{margin-bottom:12px}
.pa-champ label{display:block;font-size:10.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:7px}
.pa-champ input{width:100%;height:48px;padding:0 14px;border:0;border-radius:3px;
  background:rgba(255,255,255,.045);color:var(--blanc);font-family:var(--sans);font-size:1rem;
  box-shadow:inset 0 0 0 1px var(--trait);transition:box-shadow .2s ease,background .2s ease}
.pa-champ input::placeholder{color:var(--ink-3)}
.pa-champ input:focus{outline:0;background:rgba(157,92,255,.07);
  box-shadow:inset 0 0 0 1.5px var(--violet-vif)}
.pa-carte{display:grid;grid-template-columns:1fr 88px 74px;gap:8px}
@media(max-width:359px){.pa-carte{grid-template-columns:1fr 1fr}}
.pa-carte .num{position:relative}

.pa-payer{width:100%;height:54px;margin-top:6px;border:0;cursor:pointer;border-radius:3px;
  background:var(--violet);color:var(--blanc);font-family:var(--display);font-size:17px;
  letter-spacing:.05em;text-transform:uppercase;position:relative;overflow:hidden;
  box-shadow:0 16px 40px -18px rgba(124,58,237,.95),inset 0 0 0 1px rgba(255,255,255,.14);
  transition:background .2s ease,transform .2s ease}
.pa-payer:hover{background:#8B45F0}
.pa-payer:active{transform:scale(.995)}
.pa-payer[disabled]{cursor:default;background:#4B2C93;color:rgba(255,255,255,.65)}
.pa-payer .roue{display:none;width:17px;height:17px;border:2px solid rgba(255,255,255,.3);
  border-top-color:#fff;border-radius:50%;animation:tourner .7s linear infinite;
  margin:0 auto}
@keyframes tourner{to{transform:rotate(360deg)}}
.pa-payer.charge span{display:none}
.pa-payer.charge .roue{display:block}

.pa-sur{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;
  font-size:11.5px;color:var(--ink-3)}
.pa-sur svg{width:12px;height:13px;stroke:var(--ink-3);stroke-width:1.7;fill:none}

.pa-fini{display:none;padding:38px 24px 32px;text-align:center}
.paiement.paye .pa-fini{display:block}
.paiement.paye .pa-corps,.paiement.paye .pa-tete{display:none}
.pa-coche{width:62px;height:62px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;
  background:rgba(157,92,255,.14);box-shadow:0 0 0 1.5px rgba(157,92,255,.5)}
.pa-coche svg{width:26px;height:20px;stroke:var(--violet-vif);stroke-width:2.6;fill:none;
  stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:40;stroke-dashoffset:40;animation:trace .5s cubic-bezier(.16,1,.3,1) .15s forwards}
@keyframes trace{to{stroke-dashoffset:0}}
.pa-fini h3{margin:0 0 12px;font-family:var(--display);font-size:1.7rem;text-transform:uppercase;
  color:var(--blanc);line-height:1.05}
.pa-fini p{margin:0 0 8px;font-size:.98rem;color:var(--ink-2);line-height:1.5}
.pa-fini p b{color:var(--blanc);font-weight:600}
.pa-fini .simu{margin-top:22px;padding-top:16px;border-top:1px solid var(--trait-doux);
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
body.fige{overflow:hidden}

.pied{border-top:1px solid var(--trait-doux);padding:clamp(34px,5vw,60px) 0 clamp(26px,3.5vw,40px)}
.pied .haut{display:flex;flex-wrap:wrap;gap:22px;justify-content:space-between;align-items:flex-start;
  margin-bottom:clamp(24px,3.5vw,38px)}
.pied .mq{font-family:var(--display);font-size:clamp(1.5rem,6vw,2.2rem);letter-spacing:.14em;
  text-transform:uppercase;color:var(--blanc)}
.pied .dt{font-size:clamp(.84rem,3.3vw,.9rem);color:var(--ink-3);margin-top:9px;max-width:42ch}
.pied .bas{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;
  padding-top:clamp(18px,2.6vw,26px);border-top:1px solid var(--trait-doux)}
.pied .legal{font-size:clamp(.73rem,2.9vw,.79rem);color:var(--ink-3);line-height:1.6;max-width:76ch;margin:0}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  .sticky{transform:translateY(0)}
}
