:root{
  --bk:#050508;--bl:#464FC2;--bl2:#6678A8;--pu:#645288;--sv:#A5A5A5;
  --wh:#fff;--of:#c8cde6;--gy:#6b7299;
  --bo:rgba(255,255,255,.09);--bob:rgba(70,79,194,.5);
  --grad:linear-gradient(135deg,#464FC2,#6678A8);
  --grad3:linear-gradient(135deg,#464FC2,#6678A8,#645288);
  --r:12px;--r6:6px;--r100:100px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html{background:var(--bk)}body{color:var(--wh);font-family:'DM Sans',sans-serif;font-size:15.5px;line-height:1.65;font-weight:400;overflow-x:hidden;-webkit-font-smoothing:antialiased}
#cvs{position:fixed;inset:0;z-index:0;pointer-events:none}

/* ── ANIMATIONS GLOBALES ────────────────────────────────────────────────── */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeLeft{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes shimmer{0%{background-position:200% center}100%{background-position:-200% center}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(70,79,194,.4)}50%{box-shadow:0 0 0 8px rgba(70,79,194,.0)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes borderGlow{0%,100%{border-color:rgba(70,79,194,.5)}50%{border-color:rgba(100,82,136,.8)}}
@keyframes of1{0%,100%{transform:translate(0,0)}50%{transform:translate(-30px,40px)}}
@keyframes of2{0%,100%{transform:translate(0,0)}50%{transform:translate(25px,-35px)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes sil{from{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:translateX(0)}}
@keyframes cardEntrance{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes hexPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.3)}}
@keyframes barFlow{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes glowLine{0%,100%{opacity:.4}50%{opacity:1}}

.rv{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
.rv.vs{opacity:1;transform:translateY(0)}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:18px 56px;transition:all .4s}
nav.sc{background:rgba(5,5,8,.96);backdrop-filter:blur(28px);border-bottom:1px solid var(--bo);box-shadow:0 4px 30px rgba(0,0,0,.5)}
.logo img{height:44px;width:auto;filter:drop-shadow(0 0 12px rgba(152,144,196,.3)) brightness(1.1);transition:transform .3s}
.logo:hover img{transform:scale(1.05)}
.navl{display:flex;gap:28px;list-style:none}
.navl a{font-family:'Barlow Condensed',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sv);text-decoration:none;transition:color .2s;position:relative}
.navl a::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:1px;background:var(--grad3);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.navl a:hover{color:var(--wh)}.navl a:hover::after{transform:scaleX(1)}

/* ── BOUTONS ── */
.bp{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--wh);background:var(--grad);border:none;padding:7px 16px;cursor:pointer;text-decoration:none;border-radius:var(--r6);display:inline-block;box-shadow:0 4px 18px rgba(70,79,194,.4);position:relative;overflow:hidden;transition:all .3s;touch-action:manipulation}
.bp::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 55%)}
@media(hover:hover){.bp:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(70,79,194,.6)}}
.bp:active{transform:translateY(1px)}
.bg{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(180,188,230,.85);background:rgba(70,79,194,.06);border:1px solid rgba(102,120,168,.3);padding:10px 28px;cursor:pointer;text-decoration:none;border-radius:var(--r6);display:inline-block;box-shadow:0 2px 0 rgba(0,0,0,.4),0 4px 12px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);transition:all .2s;line-height:1.4;text-align:center;touch-action:manipulation}
@media(hover:hover){.bg:hover{border-color:var(--bl);color:var(--wh);background:rgba(70,79,194,.15);transform:translateY(-2px)}}
.bnav{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--wh);background:var(--grad);border:none;padding:7px 16px;cursor:pointer;text-decoration:none;border-radius:var(--r6);display:inline-block;box-shadow:0 4px 18px rgba(70,79,194,.4);position:relative;overflow:hidden;transition:all .3s;touch-action:manipulation}
.bnav::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 55%)}
@media(hover:hover){.bnav:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(70,79,194,.6)}}

/* ── HERO ── */
.hero{min-height:100vh;padding:0 56px;position:relative;overflow:hidden;display:flex;align-items:center}
.orb{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:1}
.orb1{width:600px;height:600px;background:radial-gradient(circle,rgba(70,79,194,.22) 0%,transparent 70%);top:-150px;right:-80px;animation:of1 9s ease-in-out infinite}
.orb2{width:400px;height:400px;background:radial-gradient(circle,rgba(100,82,136,.14) 0%,transparent 70%);bottom:0;left:5%;animation:of2 12s ease-in-out infinite}
.orb3{width:300px;height:300px;background:radial-gradient(circle,rgba(102,120,168,.10) 0%,transparent 70%);top:40%;left:40%;animation:of1 15s ease-in-out infinite reverse}
.hgrid{position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(70,79,194,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(70,79,194,.04) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 80% at 55% 40%,black 0%,transparent 100%);pointer-events:none}
.hinner{position:relative;z-index:2;width:100%;padding:154px 0 48px;display:flex;justify-content:center}
.hleft{max-width:720px;width:100%;display:flex;flex-direction:column;align-items:center;opacity:0;animation:sil .9s .2s ease forwards}
.eyebrow{display:inline-flex;align-items:center;gap:10px;background:rgba(70,79,194,.12);border:1.5px solid rgba(70,79,194,.35);padding:8px 20px;margin-bottom:30px;border-radius:var(--r100);font-family:'Barlow Condensed',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--sv);animation:borderGlow 4s ease infinite}
.dot{width:6px;height:6px;background:var(--bl2);border-radius:50%;box-shadow:0 0 8px var(--bl2);animation:blink 2s ease infinite;flex-shrink:0}
.htl1{font-family:'Anton',sans-serif;font-size:clamp(4.5rem,9vw,10rem);line-height:.86;letter-spacing:.01em;color:var(--wh);display:block;text-shadow:0 2px 0 rgba(0,0,0,.9),0 4px 20px rgba(70,79,194,.5),0 10px 50px rgba(0,0,0,.6)}
.htl2{font-family:'Anton',sans-serif;font-size:clamp(3.5rem,7.5vw,8.2rem);line-height:.9;letter-spacing:.01em;display:block;background:linear-gradient(135deg,#ffffff 0%,#b8c4e8 40%,#464FC2 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-top:6px;animation:shimmer 6s linear infinite}
.hsub{font-size:1rem;color:var(--of);line-height:1.82;font-weight:500;max-width:600px;margin-bottom:44px;margin-top:26px}
.hsub strong{color:var(--wh);font-weight:700}
.hact{display:flex;gap:14px;flex-wrap:wrap;margin-top:48px;margin-bottom:48px}
.hstats{display:inline-flex;gap:12px;background:none;border:none;box-shadow:none}
.hstat{flex:0 0 auto;padding:16px 24px;border:1px solid rgba(102,120,168,.2);border-radius:10px;background:rgba(255,255,255,.025);box-shadow:0 2px 12px rgba(0,0,0,.25);text-align:center;min-width:130px;transition:all .3s}
.hstat:last-child{border-right:none}
.hstat:hover{background:rgba(70,79,194,.10);transform:translateY(-2px)}
.hstn{font-family:'Anton',sans-serif;font-size:2.2rem;line-height:1;letter-spacing:.01em;background:var(--grad3);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hstl{font-family:'Barlow Condensed',sans-serif;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sv);margin-top:4px;font-weight:700}

.mq{position:relative;z-index:10;background:linear-gradient(180deg,rgba(85,96,225,.95) 0%,rgba(55,64,185,.98) 55%,rgba(40,48,160,1) 100%);padding:13px 0;overflow:hidden;box-shadow:0 -1px 0 rgba(255,255,255,.08),0 4px 0 rgba(25,30,110,.9),0 8px 24px rgba(20,25,100,.6),inset 0 1px 0 rgba(255,255,255,.12)}
.mqtrack{display:flex;width:max-content;animation:mq 22s linear infinite}
.mqitem{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.76rem;letter-spacing:.26em;text-transform:uppercase;white-space:nowrap;padding:0 28px;display:flex;align-items:center;gap:28px;color:rgba(230,235,255,.95);text-shadow:0 1px 3px rgba(0,0,0,.5)}
.mqsep{width:4px;height:4px;background:rgba(255,255,255,.9);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}

section{position:relative;z-index:10;padding:56px 56px;background:transparent}
.ctr{max-width:1100px;margin:0 auto}
.slbl{font-family:'Barlow Condensed',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--bl2);margin-bottom:14px;display:block}
.slbl::before{display:none}
.stit{font-family:'Anton',sans-serif;font-size:clamp(2.8rem,5vw,5rem);letter-spacing:.02em;line-height:.92;margin-bottom:20px;text-shadow:0 2px 0 rgba(0,0,0,.8),0 4px 16px rgba(70,79,194,.3);animation:titlebob 4.5s ease-in-out infinite}
@keyframes titlebob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.tps-titlewrap{padding:0 56px}
@media(max-width:1024px){.tps-titlewrap{padding:0 20px}}
@media(max-width:768px){.tps-titlewrap{padding:0 16px}}
@media(max-width:430px){.tps-titlewrap{padding:0 14px}}
.stit .out{-webkit-text-stroke:1.5px rgba(255,255,255,.25);-webkit-text-fill-color:transparent}
.sdesc{color:var(--of);max-width:540px;font-size:.95rem;line-height:1.75;font-weight:500;margin-bottom:4px}
.div{display:none}

/* ── PAIN CARDS ── dégradés forts, animations d'entrée ── */
.nbg{background:linear-gradient(180deg,rgba(70,79,194,.07),rgba(100,82,136,.04) 60%,transparent);border-top:1px solid rgba(70,79,194,.2);border-bottom:1px solid rgba(100,82,136,.15)}
.ngrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:32px}
.pcard{border:1.5px solid;border-radius:var(--r);padding:18px 18px;position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.34,1.4,.64,1),box-shadow .35s,border-color .3s;opacity:0;animation:cardEntrance .55s ease forwards}
.pcard::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--grad3);border-radius:var(--r) 0 0 var(--r);animation:glowLine 3s ease infinite}
.pcard::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 50%);pointer-events:none}
.pcard:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.pcard-full{grid-column:1/-1}
.picon{margin-bottom:14px;opacity:.9}
.ptit{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--wh);margin-bottom:0;text-shadow:0 1px 6px rgba(0,0,0,.5);position:relative;z-index:1}
.ptxt{font-size:.87rem;color:var(--of);line-height:1.72;font-weight:500}

.ntrans{margin-top:48px;padding:38px 46px;background:linear-gradient(135deg,rgba(70,79,194,.18),rgba(102,120,168,.12),rgba(100,82,136,.12));border:1.5px solid rgba(102,120,168,.5);border-radius:var(--r);position:relative;overflow:hidden;animation:borderGlow 4s ease infinite}
.ntrans::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad3);background-size:200% auto;animation:shimmer 3s linear infinite}
.ntq{font-family:'DM Sans',sans-serif;font-weight:600;font-size:1.15rem;color:var(--of);line-height:1.78;margin-bottom:24px}
.ntq strong{color:var(--wh);font-weight:700}

/* ── OFFRES ── */
.ofgrid{display:flex;justify-content:center}
.ofgrid+.ofgrid{margin-top:12px}
.ofcard{background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1.5px solid var(--bo);border-radius:var(--r);padding:46px 38px;position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.34,1.4,.64,1),border-color .3s,box-shadow .3s}
.ofcard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad3);background-size:200% auto;transform:scaleX(0);transform-origin:left;transition:transform .5s;animation:shimmer 4s linear infinite}
.ofcard:hover{transform:translateY(-6px);border-color:rgba(102,120,168,.6);box-shadow:0 24px 64px rgba(70,79,194,.18)}
.ofcard:hover::before{transform:scaleX(1)}
.ofcard.feat{background:linear-gradient(155deg,rgba(70,79,194,.20),rgba(102,120,168,.10) 50%,rgba(100,82,136,.08));border-color:rgba(70,79,194,.55);box-shadow:0 8px 40px rgba(70,79,194,.14)}
.ofcard.feat::before{transform:scaleX(1)}
.rib{position:absolute;top:0;right:0;width:110px;height:110px;overflow:hidden;pointer-events:none}
.rib span{position:absolute;top:24px;right:-26px;background:var(--grad3);font-family:'Barlow Condensed',sans-serif;font-size:.55rem;font-weight:800;letter-spacing:.14em;padding:5px 32px;transform:rotate(45deg);white-space:nowrap;color:var(--wh);box-shadow:0 3px 12px rgba(70,79,194,.4)}
.otag{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bl2);border:1.5px solid rgba(102,120,168,.45);border-radius:var(--r6);padding:4px 12px;margin-bottom:16px;background:rgba(102,120,168,.10)}
.oname{font-family:'Anton',sans-serif;font-size:2rem;letter-spacing:.02em;margin-bottom:10px;text-shadow:0 2px 0 rgba(0,0,0,.7)}
.odesc{font-size:.9rem;color:var(--of);line-height:1.75;font-weight:500;margin-bottom:22px;border-left:3px solid;border-image:var(--grad3) 1;padding-left:14px}
.olist{list-style:none;margin-bottom:28px}
.olist li{display:flex;align-items:flex-start;gap:13px;padding:10px 0;border-bottom:1px solid var(--bo);font-size:.9rem;font-weight:500;color:var(--of);transition:all .25s}
.olist li:hover{color:var(--wh);transform:translateX(4px)}
.olist li:last-child{border-bottom:none}
.chk{width:18px;height:18px;flex-shrink:0;background:rgba(70,79,194,.18);border:1.5px solid #464FC2;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.6rem;color:var(--bl2);margin-top:2px;transition:all .3s}
.olist li:hover .chk{background:rgba(70,79,194,.35);border-color:var(--bl2)}
.oformats{margin-left:30px;margin-top:8px;display:flex;flex-direction:column;gap:5px}
.oformat{font-size:.8rem;color:var(--bl2);font-weight:500;display:flex;align-items:center;gap:6px}
.oformat::before{content:'—';color:var(--sv);font-size:.7rem}
.obtn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.opbox{background:rgba(70,79,194,.08);border:1.5px solid rgba(70,79,194,.4);border-radius:var(--r);margin-bottom:26px;overflow:hidden}
.ophdr{background:rgba(70,79,194,.14);padding:10px 20px;font-family:'Barlow Condensed',sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--bl2);border-bottom:1px solid rgba(70,79,194,.3)}
.oprow{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;gap:16px;transition:background .25s}
.oprow:hover{background:rgba(70,79,194,.06)}
.oprow+.oprow{border-top:1px solid rgba(255,255,255,.07)}
.oplbl{font-family:'Barlow Condensed',sans-serif;font-size:.9rem;font-weight:800;letter-spacing:.1em;color:var(--wh)}
.opnote{font-size:.74rem;color:var(--sv);margin-top:2px;font-weight:500}
.opval{font-family:'Anton',sans-serif;font-size:2rem;color:var(--wh);letter-spacing:.02em;text-shadow:0 2px 0 rgba(0,0,0,.6);line-height:1}
.opbadge{font-family:'Barlow Condensed',sans-serif;font-size:.62rem;font-weight:800;letter-spacing:.1em;background:var(--grad3);border-radius:4px;padding:3px 9px;color:var(--wh);white-space:nowrap}

/* PHOTO SLIDER */
#photoSlider2{display:flex;gap:12px;transition:transform .4s cubic-bezier(.25,.46,.45,.94)}
.photoslider-wrap{overflow:hidden;margin-top:24px}
.photoslider{display:flex;gap:12px;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.photoslide{min-width:240px;max-width:240px;aspect-ratio:4/5;background:#0a0a10;border:1.5px solid var(--bo);border-radius:var(--r);flex-shrink:0;overflow:hidden;transition:all .3s}
.photoslide:hover{border-color:rgba(102,120,168,.6);transform:translateY(-6px) scale(1.01);box-shadow:0 16px 40px rgba(70,79,194,.25)}
.photoslide img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .5s ease}
.photoslide:hover img{transform:scale(1.06)}

/* PALMARES */
.rslider-sec{margin-top:20px}
.rslider-lbl{font-family:'Barlow Condensed',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--of);margin-bottom:12px;padding-left:4px}
.rslider-wrap{overflow:hidden}
.rslider{display:flex;gap:12px;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.rslide{min-width:148px;max-width:148px;background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1.5px solid var(--bo);border-radius:var(--r);padding:14px 14px;text-align:center;flex-shrink:0;transition:all .3s}
.rslide:hover{border-color:rgba(102,120,168,.55);transform:translateY(-5px) scale(1.02);box-shadow:0 16px 36px rgba(70,79,194,.2)}
.rmedal{font-size:1.7rem;margin-bottom:8px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.4));transition:transform .3s}
.rslide:hover .rmedal{transform:scale(1.15) rotate(-5deg)}
.rrank{font-family:'Anton',sans-serif;font-size:1.2rem;color:var(--bl2);margin-bottom:10px;display:inline-block;background:rgba(102,120,168,.15);border:1.5px solid rgba(102,120,168,.4);border-radius:var(--r6);padding:3px 10px}
.rname{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--wh);margin-bottom:2px}
.rcat{font-size:.74rem;color:var(--bl2);font-weight:600;margin-bottom:5px}
.rcomp{font-size:.73rem;color:var(--sv);font-weight:500}
.sctrl{display:flex;align-items:center;gap:10px;margin-top:14px}
.sbtn{width:36px;height:36px;background:rgba(255,255,255,.04);border:1.5px solid var(--bo);border-radius:var(--r6);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--wh);font-size:.9rem;transition:all .25s}
.sbtn:hover{border-color:var(--bl);background:rgba(70,79,194,.2);transform:scale(1.1)}
.sdots{display:flex;gap:5px;align-items:center}
.sdot{width:5px;height:5px;background:var(--bo);transition:all .3s;cursor:pointer;border-radius:3px}
.sdot.ac{background:var(--grad);width:16px}

/* ── PROCESS — hexagones avec dégradés forts ── */
.prlayout{display:grid;grid-template-columns:auto 1fr;gap:0;margin-top:48px}
.prflow{display:flex;flex-direction:column;gap:0;padding:44px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1.5px solid var(--bo);border-radius:var(--r) 0 0 var(--r);box-shadow:0 4px 30px rgba(0,0,0,.2);min-width:310px}
.prtext{padding:44px;background:rgba(70,79,194,.04);border:1.5px solid var(--bo);border-left:none;border-radius:0 var(--r) var(--r) 0}
.sti{display:flex;align-items:flex-start;gap:16px;opacity:0;animation:fadeLeft .5s ease forwards}
.stcon{display:flex;flex-direction:column;align-items:center}
.sthex{width:54px;height:54px;display:flex;align-items:center;justify-content:center;font-family:'Anton',sans-serif;font-size:1.3rem;letter-spacing:.02em;color:var(--wh);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);flex-shrink:0;transition:all .35s;cursor:default}
.sti:hover .sthex{filter:brightness(1.4);transform:scale(1.12) rotate(5deg)}
.starr{width:2px;height:38px;background:linear-gradient(180deg,var(--bl),var(--pu),transparent);margin:0 auto;animation:glowLine 2s ease infinite}
.stcont{padding:4px 0 36px}
.sttit{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;color:var(--wh)}
.stdesc{font-size:.87rem;color:var(--sv);line-height:1.6;font-weight:500}

/* ── STATS — dégradés forts, animations barres ── */
.statbg{background-color:var(--bk)}
.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:32px}
.stcard{border:1.5px solid;border-radius:var(--r);padding:18px 18px;transition:all .35s cubic-bezier(.34,1.4,.64,1);position:relative;overflow:hidden;box-shadow:0 4px 0 rgba(0,0,0,.5),0 8px 24px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.07)}
.stcard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad3);background-size:200% auto;transform:scaleX(0);transform-origin:left;transition:transform .4s;animation:shimmer 4s linear infinite}
.stcard:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.stcard:hover::before{transform:scaleX(1)}
.sclbl{font-family:'Barlow Condensed',sans-serif;font-size:.67rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--bl2);margin-bottom:8px}
.scnum{font-family:'Anton',sans-serif;font-size:2.2rem;line-height:1;color:var(--wh);margin-bottom:4px;letter-spacing:.02em;text-shadow:0 2px 0 rgba(0,0,0,.8)}
.scsub{font-size:.75rem;color:var(--sv);line-height:1.55;font-weight:500;margin-bottom:10px}
.scbar{height:5px;background:rgba(255,255,255,.06);border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.5),inset 0 -1px 0 rgba(255,255,255,.03)}
.scfill{height:100%;transform:scaleX(0);transform-origin:left;transition:transform 1.4s cubic-bezier(.4,0,.2,1);border-radius:3px;box-shadow:0 0 6px rgba(70,79,194,.6),0 2px 4px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.2)}
.mbars{display:flex;align-items:flex-end;gap:3px;height:40px;margin-top:14px;filter:drop-shadow(0 4px 8px rgba(70,79,194,.25))}
.mb{flex:1;min-height:4px;border-radius:3px;transition:height .3s;box-shadow:0 2px 4px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.15),0 0 6px rgba(70,79,194,.3)}
.stcard:hover .mb{animation:float 1.5s ease infinite}

/* ── TESTI ── */
.tswrap{overflow:hidden;margin-top:48px}
.tslider{display:flex;gap:16px;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.tslide{min-width:360px;max-width:360px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1.5px solid var(--bo);border-radius:var(--r);padding:28px 24px;flex-shrink:0;transition:all .3s}
.tslide:hover{border-color:rgba(102,120,168,.55);transform:translateY(-4px);box-shadow:0 16px 44px rgba(70,79,194,.15)}
.thead{display:flex;align-items:center;gap:13px;margin-bottom:14px}
.tav{width:42px;height:42px;background:var(--grad3);display:flex;align-items:center;justify-content:center;font-family:'Anton',sans-serif;font-size:1rem;letter-spacing:.02em;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);box-shadow:0 4px 14px rgba(70,79,194,.4);transition:transform .3s;animation:pulse 3s ease infinite}
.tslide:hover .tav{transform:scale(1.1) rotate(10deg)}
.tname{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.92rem;letter-spacing:.06em;text-transform:uppercase;color:var(--wh)}
.tcat{font-weight:600;color:var(--bl2);font-size:.8rem}
.tres{font-size:.74rem;color:var(--bl2);font-weight:600;margin-top:2px}
.tstars{color:#F5B731;font-size:.68rem;letter-spacing:2px;margin-bottom:11px}
.tpara{font-size:.84rem;color:var(--of);line-height:1.7;font-weight:500;margin-bottom:6px}
.texpand{font-family:'Barlow Condensed',sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bl2);background:none;border:none;cursor:pointer;padding:4px 0;transition:color .2s;display:block;margin-top:6px}
.texpand:hover{color:var(--wh)}
.tprog{padding-top:12px;border-top:1px solid var(--bo);margin-top:10px}
.tprogl{display:flex;justify-content:space-between;font-size:.7rem;color:var(--sv);margin-bottom:5px;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.06em}
.tprogr{color:var(--bl2)!important}
.tprogbar{height:2px;background:rgba(255,255,255,.07);border-radius:2px}
.tprogfill{height:100%;background:var(--grad3);width:75%;border-radius:2px}

/* ── WHY ── */
.whygrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:48px}
.witem{background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.02) 60%,rgba(70,79,194,.04));border:1.5px solid var(--bo);border-radius:var(--r);padding:30px 28px;transition:all .35s cubic-bezier(.34,1.4,.64,1);display:flex;gap:18px;align-items:flex-start;position:relative;overflow:hidden}
.witem::before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--grad3);background-size:200% auto;transform:scaleX(0);transform-origin:left;transition:transform .4s;animation:shimmer 4s linear infinite}
.witem:hover{border-color:rgba(102,120,168,.55);transform:translateY(-5px);box-shadow:0 18px 50px rgba(70,79,194,.16)}
.witem:hover::before{transform:scaleX(1)}
.wicon{font-size:1.5rem;flex-shrink:0;margin-top:2px;line-height:1;width:36px;text-align:center;transition:transform .3s}
.witem:hover .wicon{transform:scale(1.2) rotate(-5deg)}
.wtit{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.96rem;letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px;color:var(--wh)}
.wtxt{font-size:.85rem;color:var(--sv);line-height:1.65;font-weight:500}

/* ── FAQ ── */
.flist{margin-top:42px}
.fitem{border:1.5px solid var(--bo);overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent);transition:all .3s;border-radius:var(--r);margin-bottom:6px}
.fitem:hover{background:linear-gradient(180deg,rgba(70,79,194,.08),transparent);border-color:rgba(70,79,194,.35);transform:translateX(3px)}
.fq{display:flex;justify-content:space-between;align-items:center;padding:22px 20px;cursor:pointer;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;letter-spacing:.07em;text-transform:uppercase;color:var(--of);user-select:none;gap:16px;transition:color .2s}
.fq:hover{color:var(--wh)}
.fi{width:26px;height:26px;border:1.5px solid var(--bo);border-radius:var(--r6);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.9rem;color:var(--bl2);transition:all .3s}
.fitem.op .fi{transform:rotate(45deg);background:rgba(70,79,194,.25);border-color:var(--bl);box-shadow:0 0 12px rgba(70,79,194,.4)}
.fa{max-height:0;overflow:hidden;transition:max-height .4s ease;font-size:.88rem;font-weight:500;color:var(--of);line-height:1.75}
.fai{padding:0 20px 22px}
.fitem.op .fa{max-height:500px}

/* ── CTA ── */
.ctasec{text-align:center;padding:110px 20px;position:relative;overflow:hidden}
.ctabg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 50% 50%,rgba(70,79,194,.16),transparent 70%)}
.ctah{font-family:'Anton',sans-serif;font-size:clamp(3rem,8vw,7.5rem);line-height:.9;letter-spacing:.02em;margin-bottom:22px;position:relative;text-shadow:0 2px 0 rgba(0,0,0,.9),0 6px 20px rgba(70,79,194,.35)}
.ctaaccent{background:var(--grad3);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 4s linear infinite}
.ctap{color:var(--of);font-size:1rem;font-weight:500;max-width:470px;margin:0 auto 42px;line-height:1.7;position:relative}
.ctabtns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative}

.fbar{position:fixed;bottom:14px;left:50%;transform:translateX(-50%) translateY(120px);background:rgba(5,5,8,.95);border:1px solid rgba(102,120,168,.35);border-radius:40px;backdrop-filter:blur(20px);padding:8px 14px 8px 12px;display:flex;align-items:center;gap:12px;z-index:400;transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .4s ease;white-space:nowrap;box-shadow:0 8px 28px rgba(0,0,0,.45);animation:borderGlow 4s ease infinite;opacity:1}
.fbar.sh{transform:translateX(-50%) translateY(0)}
.fbtxt{font-family:'Barlow Condensed',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--sv)}
.fbtxt strong{color:var(--wh)}

footer{position:relative;z-index:10;border-top:1px solid var(--bo);padding:34px 56px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;background:rgba(255,255,255,.01)}
.flogo img{height:42px;filter:drop-shadow(0 0 8px rgba(152,144,196,.2)) brightness(1.05);transition:transform .3s}
.flogo:hover img{transform:scale(1.05)}
.flinks{display:flex;gap:22px}
.flinks a{color:var(--sv);text-decoration:none;font-family:'Barlow Condensed',sans-serif;font-size:.8rem;letter-spacing:.1em;font-weight:700;text-transform:uppercase;transition:all .25s}
.flinks a:hover{color:var(--bl2);transform:translateY(-2px)}
.fsocial{display:flex;gap:10px}
.fsocial a{width:36px;height:36px;border:1.5px solid var(--bo);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--sv);text-decoration:none;transition:all .3s}
.fsocial a:hover{border-color:var(--bl);color:var(--wh);background:rgba(70,79,194,.2);transform:translateY(-3px) scale(1.1);box-shadow:0 6px 20px rgba(70,79,194,.3)}

@media(max-width:1024px){
  nav{padding:14px 20px}.navl{display:none}
  .hero{padding:0 20px}.hinner{padding:120px 0 60px}
  section{padding:72px 20px}
  .ngrid,.ofgrid,.whygrid{grid-template-columns:1fr}
  .prlayout{grid-template-columns:1fr}
  .prtext{border-left:1.5px solid var(--bo);padding:28px 22px;border-radius:0 0 var(--r) var(--r)}
  .prflow{min-width:unset;padding:28px 22px;border-radius:var(--r) var(--r) 0 0}
  .statgrid{grid-template-columns:1fr 1fr}
  .tslide{min-width:290px;max-width:290px}
  .rslide{min-width:150px;max-width:150px}
  .photoslide{min-width:190px;max-width:190px}
  .fbar{flex-direction:column;gap:8px;padding:12px 16px;width:calc(100% - 28px)}
  footer{flex-direction:column;text-align:center;padding:28px 20px}
  .ntrans{padding:28px 24px}
  .obtn-row{flex-direction:column}
}

/* ── AA rows ── */
.aa-row{font-family:'Barlow Condensed',sans-serif;font-size:.92rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.05);color:rgba(165,165,165,.5);display:flex;align-items:center;gap:8px;transition:color .2s}
.aa-row::before{content:'•';font-size:.5rem;color:rgba(165,165,165,.3);flex-shrink:0}
.aa-row:last-child{border-bottom:none}
.aa-aft{color:rgba(200,205,230,.75)}
.aa-aft::before{color:#6678A8}

/* ── Anti scroll horizontal mobile ── */
html,body{width:100%;max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;height:auto;display:block}
.tswrap,.rslider-wrap,.photoslider-wrap,.mq{overflow:hidden}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  nav{padding:14px 20px}.navl{display:none}
  .hero{padding:0 20px}.hinner{padding:120px 0 60px}
  section{padding:72px 20px}
  .ngrid,.ofgrid,.whygrid{grid-template-columns:1fr}
  .prlayout{grid-template-columns:1fr}
  .prtext{border-left:1.5px solid var(--bo);padding:28px 22px;border-radius:0 0 var(--r) var(--r)}
  .prflow{min-width:unset;padding:28px 22px;border-radius:var(--r) var(--r) 0 0}
  .statgrid{grid-template-columns:1fr 1fr}
  .tslide{min-width:290px;max-width:290px}
  .rslide{min-width:150px;max-width:150px}
  .photoslide{min-width:190px;max-width:190px}
  .fbar{flex-direction:column;gap:8px;padding:12px 16px;width:calc(100% - 28px)}
  footer{flex-direction:column;text-align:center;padding:28px 20px}
  .ntrans{padding:28px 24px}
  .obtn-row{flex-direction:column}
}

@media(max-width:768px){
  .mcta-wrap{padding:24px 0 24px}
  nav{padding:0 16px;height:56px}
  .hero{padding:0 16px;min-height:0}
  .hinner{padding:108px 0 24px}
  .htl1{font-size:clamp(3.4rem,11vw,5rem)!important}
  .htl2{font-size:clamp(2.8rem,9vw,4.2rem)!important}
  .hleft{max-width:100%}
  .hsub{font-size:.92rem;max-width:100%}
  .hact{flex-direction:column;gap:8px;margin-top:28px;margin-bottom:28px}
  .hact .bp,.hact .bg{width:100%;text-align:center;display:block;padding:8px 16px;font-size:.7rem}
  .hstats{display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:6px}
  .hstn{font-size:1rem!important}
  .hstl{font-size:.44rem;letter-spacing:.08em}
  .hstat{flex:none;min-width:0;padding:8px 4px;border:1px solid rgba(102,120,168,.18);border-radius:8px;text-align:center}
  .mq{display:none}
  
  
  .scroll-ind{display:none}
  .orb1{width:220px!important;height:220px!important;filter:blur(70px)!important}
  .orb2{width:180px!important;height:180px!important;filter:blur(70px)!important}
  .orb3{display:none!important}
  section{padding:56px 16px}
  .stit{font-size:clamp(2rem,8vw,3rem)!important}
  .ngrid,.ofgrid,.whygrid{grid-template-columns:1fr!important}
  .statgrid{grid-template-columns:1fr 1fr!important}
  .prlayout{grid-template-columns:1fr!important}
  .prflow{min-width:unset;border-radius:var(--r) var(--r) 0 0;padding:22px 16px}
  .prtext{padding:22px 16px;border-radius:0 0 var(--r) var(--r)}
  /* AA avant/après → vertical */
  #narrative+div+section [style*="grid-template-columns:1fr 48px 1fr"]{grid-template-columns:1fr!important}
  .tslide{min-width:calc(100vw - 40px)!important;max-width:calc(100vw - 40px)!important}
  .rslide{min-width:140px!important;max-width:140px!important}
  .photoslide{min-width:180px!important;max-width:180px!important}
  .ofcard{padding:24px 16px}
  .rib{display:none}
  .obtn-row{flex-direction:column}
  .obtn-row .bp,.obtn-row .bg{width:100%;text-align:center;display:block}
  .witem{padding:22px 16px}
  footer{flex-direction:column;text-align:center;padding:22px 16px;gap:14px}
  .fbar{left:12px!important;right:12px!important;width:auto!important;transform:translateY(120px)!important;flex-direction:column!important;gap:6px!important;padding:8px 12px!important;white-space:normal!important}
  .fbar.sh{transform:translateY(0)!important}
  .fbar .bp,.fbar .bnav{width:100%;text-align:center;display:block}
  .pal-grid{grid-template-columns:1fr!important}
  .pal-tabs{flex-wrap:wrap;gap:6px}
  .ntrans{padding:22px 16px}
  /* Process hexagones → grille 3 col */
  #procTrack{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:20px 6px!important}
  #procTrack>div:first-child,#procTrack>div:nth-child(2){display:none}
}

@media(max-width:430px){
  .htl1{font-size:clamp(3.2rem,12vw,4.2rem)!important}
  .htl2{font-size:clamp(2.6rem,10vw,3.4rem)!important}
  section{padding:44px 14px}
  .tslide{min-width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px)!important}
  .statgrid{grid-template-columns:1fr!important}
}


/* ══════════════════════════════════════════════
   CE QUI CHANGE — premium
══════════════════════════════════════════════ */
@keyframes aa-from-left{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}
@keyframes aa-from-right{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@keyframes aa-cascade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes sep-glow{0%,100%{opacity:.5;box-shadow:0 0 6px rgba(102,120,168,.3)}50%{opacity:1;box-shadow:0 0 16px rgba(102,120,168,.6)}}

.sec-aa{background:transparent}
.aa-glow{display:none}

.aa-split{display:grid;grid-template-columns:1fr 60px 1fr;gap:0;margin-top:36px;border-radius:var(--r);overflow:hidden}

.aa-bef{
  background:linear-gradient(160deg,rgba(8,9,18,.97) 0%,rgba(12,14,26,.95) 100%);
  border:1px solid rgba(255,255,255,.07);
  border-right:none;
  border-radius:var(--r) 0 0 var(--r);
  padding:32px 28px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),inset -1px 0 0 rgba(70,79,194,.08)
}
.aa-aft{
  background:linear-gradient(160deg,rgba(70,79,194,.22) 0%,rgba(50,58,160,.14) 55%,rgba(8,9,18,.95) 100%);
  border:1px solid rgba(70,79,194,.5);
  border-left:none;
  border-radius:0 var(--r) var(--r) 0;
  padding:32px 28px;
  position:relative;overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(100,120,220,.2),0 0 40px rgba(70,79,194,.12)
}
.aa-aft::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(70,79,194,.08),transparent 70%);pointer-events:none}

.aa-head{font-family:'Barlow Condensed',sans-serif;font-size:.62rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase;margin-bottom:20px}
.aa-head-bef{color:rgba(180,185,205,.75)}
.aa-head-aft{color:#6678A8}

.aa-ul{list-style:none;display:flex;flex-direction:column;gap:0}
.aa-li{font-family:'Barlow Condensed',sans-serif;font-size:.92rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:10px;transition:all .22s}
.aa-li:last-child{border-bottom:none}
.aa-li::before{content:'';width:2px;height:14px;border-radius:2px;flex-shrink:0;transition:height .22s,box-shadow .22s}

.aa-li-bef{color:rgba(200,205,220,.75);opacity:1}
.aa-li-bef::before{background:rgba(165,165,165,.18)}
.aa-li-bef:hover{color:rgba(220,225,240,.95);opacity:1;transform:translateX(3px)}
.aa-li-bef:hover::before{height:18px}

.aa-li-aft{color:rgba(200,208,235,.8);opacity:0}
.aa-li-aft::before{background:#6678A8}
.aa-li-aft:hover{color:#fff;transform:translateX(3px)}
.aa-li-aft:hover::before{height:18px;box-shadow:0 0 8px rgba(102,120,168,.7)}
.aa-split.vs .aa-li-aft{animation:aa-cascade .38s ease forwards}

.aa-sep{
  background:linear-gradient(90deg,
    rgba(8,9,18,.97) 0%,
    rgba(40,48,140,.35) 30%,
    rgba(70,79,194,.55) 50%,
    rgba(40,48,140,.35) 70%,
    rgba(8,9,22,.95) 100%
  );
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  position:relative;z-index:2;overflow:visible
}
.aa-sep::before{
  content:'';
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:180px;height:60%;
  background:radial-gradient(ellipse 100% 80% at 50% 50%,
    rgba(70,79,194,.55) 0%,
    rgba(70,79,194,.20) 45%,
    transparent 75%
  );
  filter:blur(14px);
  pointer-events:none;
  z-index:0
}
.aa-sep-line{flex:1;width:1px;background:linear-gradient(180deg,transparent 0%,rgba(102,120,168,.25) 20%,rgba(102,120,168,.5) 50%,rgba(102,120,168,.25) 80%,transparent 100%);position:relative;z-index:1}
.aa-sep-line-bot{background:linear-gradient(180deg,transparent 0%,rgba(102,120,168,.25) 20%,rgba(102,120,168,.5) 50%,rgba(102,120,168,.25) 80%,transparent 100%)}
.aa-sep-orb{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
  background:rgba(102,120,168,.9);
  box-shadow:0 0 10px 3px rgba(70,79,194,.7),0 0 22px 6px rgba(70,79,194,.35);
  position:relative;z-index:2;
  animation:sep-glow 2.5s ease-in-out infinite
}

/* ══════════════════════════════════════════════
   COMMENT ÇA FONCTIONNE — timeline premium
══════════════════════════════════════════════ */
@keyframes ps-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

.ps-step.ps-active{opacity:1;animation:ps-in .4s ease forwards}

.ps-hex{width:64px;height:64px;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);display:flex;align-items:center;justify-content:center;font-family:'Anton',sans-serif;font-size:1.05rem;letter-spacing:.04em;color:#fff;margin:0 auto 14px;transition:transform .32s cubic-bezier(.34,1.4,.64,1),filter .28s,box-shadow .28s;position:relative}
.ps-step:hover .ps-hex{transform:scale(1.08) rotate(2deg);filter:brightness(1.35)}
.ps-step:hover~.ps-step .ps-hex{filter:brightness(1.08)}

.ps-label{font-family:'Barlow Condensed',sans-serif;font-size:.82rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:4px}
.ps-desc{font-size:.73rem;color:rgba(165,165,165,.68);line-height:1.5;max-width:88px;margin:0 auto;font-weight:500}
.ps-timing{font-family:'Barlow Condensed',sans-serif;font-size:.58rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--wc-col,#6678A8);opacity:.65;margin-top:6px}

.ps-bar-wrap{height:2px;background:rgba(255,255,255,.06);border-radius:2px;margin-top:10px;overflow:hidden}
.ps-bar{height:100%;width:0;background:linear-gradient(90deg,#464FC2,#6678A8,#645288);transition:width 2s cubic-bezier(.4,0,.2,1)}

/* ══════════════════════════════════════════════
   POURQUOI NOUS CHOISIR — cards premium
══════════════════════════════════════════════ */
@keyframes why-shimmer{0%{background-position:200% center}100%{background-position:-200% center}}

.sec-why{position:relative;overflow:hidden}
.sec-why::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(70,79,194,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(70,79,194,.025) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 0%,transparent 100%);pointer-events:none}

.why-glow{
  background:linear-gradient(135deg,#6678A8,#645288);
  background-size:200% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:why-shimmer 4s linear infinite;
  filter:drop-shadow(0 0 16px rgba(102,120,168,.3))
}

.wcs{display:flex;flex-direction:column;gap:8px;margin-top:40px}

.wc{
  display:grid;grid-template-columns:52px 1fr;gap:0;align-items:stretch;
  background:linear-gradient(160deg,var(--wc-bg1),var(--wc-bg2) 100%);
  border:1.5px solid var(--wc-bord);
  border-radius:var(--r);
  padding:20px 24px;
  position:relative;overflow:hidden;
  transition:transform .3s cubic-bezier(.34,1.4,.64,1),box-shadow .3s,border-color .3s;
  cursor:default;
}
.wc::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,var(--wc-bord),transparent);border-radius:var(--r) 0 0 var(--r)}
.wc::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.025),transparent 50%);pointer-events:none}
.wc:hover{transform:translateX(5px) translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.3),0 0 0 1px var(--wc-bord)}
.wc-ico{font-size:1.5rem;line-height:1;padding:2px 0;transition:transform .28s;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);flex-shrink:0}
.wc:hover .wc-ico{transform:scale(1.18) rotate(-4deg)}
.wc-body{padding-left:18px}
.wc-t{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.96rem;letter-spacing:.07em;text-transform:uppercase;color:#fff;margin-bottom:5px}
.wc-p{font-size:.83rem;color:rgba(165,165,165,.72);line-height:1.62;font-weight:500;max-width:58ch}
.wc-line{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--wc-bord),transparent);transform:scaleX(0);transform-origin:left;transition:transform .32s ease}
.wc:hover .wc-line{transform:scaleX(1)}

/* ── RESPONSIVE pour les 3 nouvelles sections ── */
@media(max-width:768px){
  .aa-split{grid-template-columns:1fr!important}
  .aa-bef{border-radius:var(--r) var(--r) 0 0!important;border-right:1.5px solid rgba(255,255,255,.07)!important;border-bottom:none;padding:22px 16px}
  .aa-aft{border-radius:0 0 var(--r) var(--r)!important;border-left:1.5px solid rgba(70,79,194,.35)!important;border-top:none;padding:22px 16px}
  .aa-sep{height:40px;width:100%;flex-direction:row}
  .aa-sep-line,.aa-sep-line-bot{flex:1;height:1px;width:auto}
  .aa-glow{display:none}
  /* Fond de la carte "Avant" et du séparateur : gris perceptible
     sur écrans OLED mobiles → aligné sur le noir uniforme du site */
  .aa-bef{background:var(--bk)}
  .aa-sep{background:var(--bk)}
  .ps-hex{width:52px;height:52px}
  .sec-why::before{display:none}
  .wc{grid-template-columns:44px 1fr;padding:16px 14px;gap:0}
  .wc-ico{width:38px;height:38px;font-size:1.25rem}
  .wc-body{padding-left:14px}
  .wc-p{max-width:100%}
  .sec-aa{padding:60px 16px!important}
  .sec-proc{padding:60px 16px}
  .sec-why{padding:60px 16px}
}



/* ══ VIDÉO SECTION ══ */
.vid-sec{padding:80px 56px;position:relative;z-index:10}
.vid-wrap{margin-top:0}
.vid-inner{position:relative;width:100%;padding-bottom:56.25%;border-radius:var(--r);overflow:hidden;background:#080a14;box-shadow:0 0 0 1.5px rgba(70,79,194,.35),0 8px 48px rgba(70,79,194,.18),0 32px 80px rgba(0,0,0,.5)}
.vid-thumb{position:absolute;inset:0;cursor:pointer;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(10,12,28,.95),rgba(5,6,14,.98))}
.vid-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50%;height:50%;background:radial-gradient(ellipse,rgba(70,79,194,.12),transparent 70%);pointer-events:none}
.vid-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(5,6,14,.6) 100%);pointer-events:none}
.vid-play{width:72px;height:72px;position:relative;z-index:2;transition:transform .28s cubic-bezier(.34,1.4,.64,1),filter .25s}
.vid-play svg{width:100%;height:100%;filter:drop-shadow(0 0 18px rgba(70,79,194,.5))}
@media(hover:hover){
  .vid-thumb:hover .vid-play{transform:scale(1.1);filter:drop-shadow(0 0 24px rgba(70,79,194,.7))}
  .vid-thumb:hover .vid-glow{background:radial-gradient(ellipse,rgba(70,79,194,.20),transparent 70%)}
}
.vid-label{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font-family:'Barlow Condensed',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(165,165,165,.5);z-index:2;white-space:nowrap}
.vid-inner iframe{position:absolute;inset:0;width:100%;height:100%;border:none;border-radius:var(--r)}

/* ══ FAQ ENHANCED ══ */
.flist{margin-top:42px;display:flex;flex-direction:column;gap:6px}
.fitem{border:1.5px solid rgba(255,255,255,.08);border-radius:var(--r);overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent);transition:border-color .25s}
.fitem:hover{border-color:rgba(70,79,194,.32)}
.fitem.op{border-color:rgba(70,79,194,.42)}
.fq{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;cursor:pointer;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.96rem;letter-spacing:.07em;text-transform:uppercase;color:var(--of);user-select:none;gap:16px;transition:color .2s}
.fq:hover{color:var(--wh)}
.fi{width:26px;height:26px;border:1.5px solid rgba(255,255,255,.1);border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.85rem;color:#6678A8;transition:transform .28s,background .25s,border-color .25s}
.fitem.op .fi{transform:rotate(45deg);background:rgba(70,79,194,.18);border-color:var(--bl)}
.fa{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1)}
.fitem.op .fa{max-height:1400px}
.fai{padding:0 22px 24px}
.fai-block{display:flex;flex-direction:column;gap:12px}
.fai-lead{font-size:.9rem;color:var(--of);line-height:1.72;font-weight:500}
.fai-heading{font-family:'Barlow Condensed',sans-serif;font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#6678A8;margin-top:4px}
.fai-block p{font-size:.87rem;color:rgba(165,165,165,.75);line-height:1.72;font-weight:400}
.fai-list{list-style:none;display:flex;flex-direction:column;gap:6px;padding-left:0}
.fai-list li{font-size:.86rem;color:rgba(165,165,165,.72);line-height:1.6;padding-left:14px;position:relative}
.fai-list li::before{content:'';position:absolute;left:0;top:9px;width:5px;height:1.5px;background:#6678A8;border-radius:2px}
.fai-highlight{font-size:.88rem;color:var(--of);line-height:1.72;font-weight:600;border-left:2px solid rgba(70,79,194,.5);padding-left:14px}
.fai-cta-line{font-size:.88rem;color:var(--wh);font-weight:600;margin-top:4px}

@media(max-width:768px){
  .vid-sec{padding:56px 16px}
  .vid-play{width:56px;height:56px}
  .fq{font-size:.88rem;padding:16px 16px}
  .fai{padding:0 16px 20px}
}


/* ══ ACCORDÉON OFFRES — fade reveal ══ */
.olist-fade-wrap{position:relative}
.olist-fade-wrap .olist-all{max-height:148px;overflow:hidden;transition:max-height .55s cubic-bezier(.4,0,.2,1)}
.olist-fade-wrap.open .olist-all{max-height:600px}
.olist-fade{position:absolute;bottom:0;left:0;right:0;height:80px;pointer-events:none;transition:opacity .4s ease}
.olist-fade-wrap.open .olist-fade{opacity:0}
.omore-btn{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);z-index:10;background:rgba(15,16,30,.85);border:1.5px solid rgba(102,120,168,.55);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,border-color .2s,transform .3s;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.omore-btn:hover{background:rgba(70,79,194,.35);border-color:rgba(102,120,168,.9)}
.omore-btn-ring{font-size:.95rem;color:rgba(200,210,240,.9);font-weight:300;line-height:1;transition:transform .3s;user-select:none}
.olist-fade-wrap.open .omore-btn .omore-btn-ring{transform:rotate(45deg)}
.omore-btn .omore-txt{display:none}

/* ══ SECTION PHOTOS ══ */
.team-photos-sec{padding:72px 56px}
.team-photos-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.team-photo-col{background:rgba(255,255,255,.02);border:1.5px solid rgba(255,255,255,.08);border-radius:var(--r);padding:24px}
.team-photo-label{font-family:'Barlow Condensed',sans-serif;font-size:.65rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#6678A8;margin-bottom:14px}
@media(max-width:768px){
  .team-photos-grid{grid-template-columns:1fr}
  .team-photos-sec{padding:56px 16px}
}


/* ══ FOND GLOBAL — orb bleu central battant ══ */
@keyframes heartbeat{
  0%,100%{transform:translate(-50%,-50%) scale(1);opacity:1}
  40%{transform:translate(-50%,-50%) scale(1.06);opacity:.88}
  60%{transform:translate(-50%,-50%) scale(.97);opacity:.96}
}
.bg-glow{
  position:fixed;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:100vw;height:100vh;
  background:radial-gradient(ellipse 52% 52% at 50% 50%,
    rgba(70,79,194,.52) 0%,
    rgba(70,79,194,.28) 22%,
    rgba(70,79,194,.10) 48%,
    rgba(70,79,194,.02) 68%,
    transparent 80%);
  filter:blur(28px);
  pointer-events:none;
  z-index:11;
  mix-blend-mode:screen;
  animation:heartbeat 4.5s ease-in-out infinite;
}


/* ══ GALERIE PHOTOS ÉQUIPE — grille "justified" compacte, hauteur de ligne fixe ══ */
.team-photos-sec{padding:72px 0}
.tps-bento{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:1200px;margin:0 auto;padding:0 56px;box-sizing:border-box}
.tps-bento figure{margin:0;flex:0 0 auto;height:165px;border-radius:10px;overflow:hidden;background:var(--bk);border:1px solid rgba(102,120,168,.15);box-shadow:0 6px 18px rgba(0,0,0,.3);transition:transform .3s,box-shadow .3s}
.tps-bento img{height:100%;width:auto;display:block}
@media(hover:hover){.tps-bento figure:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(70,79,194,.25)}}
@media(max-width:1024px){
  .tps-bento{padding:0 20px;gap:7px}
  .tps-bento figure{height:130px}
  .team-photos-sec{padding:56px 0}
  .rv .stit,.rv .slbl{padding:0 16px}
}
@media(max-width:768px){
  .tps-bento{padding:0 16px;gap:6px}
  .tps-bento figure{height:100px;border-radius:9px}
  .team-photos-sec{padding:56px 0}
}
@media(max-width:430px){
  .tps-bento{padding:0 14px}
  .tps-bento figure{height:82px}
}


/* ══ MICRO CTA SECTIONS ══ */
.mcta-wrap{display:flex;justify-content:center;padding:32px 0 32px}
.mcta{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(180,188,230,.75);background:rgba(70,79,194,.05);border:1px solid rgba(102,120,168,.25);border-radius:var(--r6);padding:10px 28px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;box-shadow:0 2px 0 rgba(0,0,0,.35),0 4px 12px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.04);transition:all .2s}
.mcta:hover{color:rgba(200,210,240,.95);border-color:rgba(102,120,168,.55);background:rgba(70,79,194,.07)}
.mcta-dot{width:5px;height:5px;border-radius:50%;background:rgba(102,120,168,.6);flex-shrink:0;transition:background .2s}
.mcta:hover .mcta-dot{background:rgba(102,120,168,.9)}

/* ══ CTA FINAL 3 BOUTONS ══ */
.cbtn-row-3{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.cbtn-row-3 .bp,.cbtn-row-3 .bg{flex:0 0 auto}
@media(max-width:600px){
  .cbtn-row-3{flex-direction:column;align-items:center}
  .cbtn-row-3 .bp,.cbtn-row-3 .bg{width:100%;text-align:center}
}

@media(hover:hover){.bg:hover{transform:translateY(-1px);background:rgba(70,79,194,.12);border-color:rgba(102,120,168,.5);box-shadow:0 3px 0 rgba(0,0,0,.5),0 6px 16px rgba(0,0,0,.25)}}
.bg:active{transform:translateY(1px);box-shadow:0 1px 0 rgba(0,0,0,.5)}
.mcta:hover{transform:translateY(-1px);color:rgba(210,218,250,.95);border-color:rgba(102,120,168,.5);background:rgba(70,79,194,.1);box-shadow:0 3px 0 rgba(0,0,0,.4),0 6px 14px rgba(0,0,0,.2)}
.mcta:active{transform:translateY(1px);box-shadow:0 1px 0 rgba(0,0,0,.4)}


/* ══ NUMÉROS EN ARRIÈRE-PLAN PCARDS ══ */



/* Lueur douce sous l'hexagone */
.ps-hex{position:relative;z-index:1}
.ps-label{position:relative;z-index:1}
.ps-desc{position:relative;z-index:1;max-width:160px}
.ps-timing{position:relative;z-index:1}
/* Mobile : conserver 2 colonnes */
@media(max-width:600px){
  .ps-hex{width:44px;height:44px;font-size:.78rem;margin:0 auto 10px}
  .ps-label{font-size:.72rem;letter-spacing:.06em}
  .ps-desc{font-size:.66rem;max-width:none;margin:0 auto}
  .ps-timing{font-size:.6rem;margin-top:4px}
  }
@media(max-width:430px){
  }

.pcard-num{position:absolute;bottom:-8px;right:8px;font-family:'Anton',sans-serif;font-size:4rem;color:rgba(255,255,255,.10);line-height:1;pointer-events:none;user-select:none;z-index:0}

@media(max-width:600px){
  .ps-hex{width:44px;height:44px;font-size:.78rem;margin:0 auto 8px}
  .ps-label{font-size:.7rem}
  .ps-desc{font-size:.64rem;max-width:none}
  .ps-timing{font-size:.58rem}
}

/* PROCESS */
.ps-track{display:grid;grid-template-columns:1fr 1fr;gap:16px;overflow:hidden}
.ps-step{text-align:center;padding:20px 12px;position:relative;z-index:1;opacity:1;background:rgba(255,255,255,.025);border:1px solid rgba(102,120,168,.15);border-radius:12px;overflow:hidden;min-width:0}
.ps-num-bg{display:none}
.ps-connector{display:none}
.ps-connector-fill{display:none}
@media(max-width:540px){
  .ps-track{gap:8px}
  .ps-step{padding:12px 6px}
  .ps-hex{width:40px;height:40px;font-size:.72rem;margin:0 auto 8px}
  .ps-label{font-size:.68rem;letter-spacing:.05em}
  .ps-desc{font-size:.62rem;max-width:none}
  .ps-timing{font-size:.56rem}
}

/* ══ CORRECTIF MOBILE — bandes grises iOS Safari ══
   Sur iOS, les éléments animés en opacity+transform (.rv) sont
   promus dans leur propre calque GPU. Safari mobile peint parfois
   ce calque avec un fond gris opaque tant que le contenu n'est pas
   composité, ce qui crée des bandes grises entre les sections au
   scroll. On force un fond noir opaque sur ces calques, uniquement
   en dessous de 1024px, sans toucher au rendu desktop.
   Le halo bleu (.bg-glow) est désormais placé AU-DESSUS de ces
   fonds opaques (z-index supérieur, mix-blend-mode:screen), donc
   il n'est plus jamais masqué par eux : plus besoin de dupliquer
   le dégradé dans chaque calque. */
@media(max-width:1024px){
  .rv,section,.sec-aa{background-color:var(--bk)}
}
