/* ===================================================================
   Pro·IA — Proposition A — Design System partagé
   Web pour TPE (violet) + Pôle Trading (vert/cyan)
   =================================================================== */
:root{
  --bg:#050510;--bg2:#0a0a1f;--card:rgba(15,15,42,.5);--line:rgba(255,255,255,.07);
  --v:#7c3aed;--v3:#a78bfa;--cyan:#06b6d4;--emer:#10b981;--amb:#f59e0b;
  --up:#22c55e;--down:#ef4444;
  --grad:linear-gradient(135deg,#7c3aed,#06b6d4);
  --grad-trade:linear-gradient(135deg,#22c55e,#06b6d4);
  --t1:#fff;--t2:rgba(255,255,255,.66);--t3:rgba(255,255,255,.5);--t4:rgba(255,255,255,.38);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--t1);font-family:'Inter',sans-serif;overflow-x:hidden;line-height:1.6}
canvas#bg{position:fixed;inset:0;z-index:0;pointer-events:none}
.wrap{position:relative;z-index:2}
.ctn{max-width:1180px;margin:0 auto;padding:0 32px}
a{color:inherit}
.g{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.gt{background:var(--grad-trade);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.mono{font-family:'JetBrains Mono',monospace}

/* ===== PRELOADER ===== */
#pre{position:fixed;inset:0;z-index:100;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;transition:opacity .7s ease}
#pre.gone{opacity:0;pointer-events:none}
.pre-logo{font-family:'Space Grotesk';font-weight:900;font-size:30px;letter-spacing:-1px;opacity:0;transform:translateY(10px);animation:preIn .8s .1s forwards}
.pre-logo .dot{color:var(--v3)}
.pre-bar{width:200px;height:3px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.pre-bar i{display:block;height:100%;width:0;background:var(--grad);animation:preLoad 1.5s .2s forwards}
@keyframes preIn{to{opacity:1;transform:none}}
@keyframes preLoad{to{width:100%}}

/* ===== NAV ===== */
nav{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);background:rgba(5,5,16,.6);border-bottom:1px solid var(--line)}
.nav-in{max-width:1180px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between}
.brand{font-family:'Space Grotesk';font-weight:900;font-size:19px;letter-spacing:-.5px;text-decoration:none;color:#fff}
.brand .dot{color:var(--v3)}
.nav-links{display:flex;gap:26px;font-size:14px;font-weight:500}
.nav-links a{color:var(--t2);text-decoration:none;transition:.2s}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-cta{padding:9px 18px;border-radius:100px;background:var(--grad);color:#fff;font-size:13px;font-weight:700;text-decoration:none}
@media(max-width:760px){.nav-links{display:none}}

/* ===== BUTTONS ===== */
.cta{display:inline-flex;align-items:center;gap:12px;padding:16px 28px;border-radius:100px;background:var(--grad);color:#fff;text-decoration:none;font-weight:700;font-size:15px;box-shadow:0 10px 34px rgba(124,58,237,.35);transition:transform .2s}
.cta:hover{transform:translateY(-2px)}
.cta.t{background:var(--grad-trade);box-shadow:0 10px 34px rgba(34,197,94,.3)}
.cta small{display:block;font-weight:500;font-size:11px;opacity:.85}
.cta svg{width:18px;height:18px}
.ghost{display:inline-flex;align-items:center;gap:8px;padding:16px 26px;border-radius:100px;border:1px solid rgba(255,255,255,.15);color:#fff;text-decoration:none;font-weight:600;font-size:15px;transition:.2s}
.ghost:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.04)}
.ghost.t:hover{border-color:rgba(34,197,94,.5)}

/* ===== SECTION HEADERS ===== */
.section{padding:72px 0;position:relative}
.sec-lbl{text-align:center;font-family:'JetBrains Mono';font-size:11px;font-weight:800;letter-spacing:2.5px;color:var(--t4);text-transform:uppercase;margin-bottom:12px}
.sec-h{text-align:center;font-family:'Space Grotesk';font-size:clamp(26px,3.6vw,40px);font-weight:900;letter-spacing:-1px;margin-bottom:10px;line-height:1.1}
.sec-d{text-align:center;color:var(--t3);max-width:600px;margin:0 auto 44px;font-size:15.5px}

/* ===== HERO ===== */
.hero{position:relative;padding:88px 0 64px;text-align:center}
.badge{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:100px;background:rgba(124,58,237,.1);border:1px solid rgba(124,58,237,.3);font-family:'JetBrains Mono';font-size:12px;font-weight:700;color:var(--v3)}
.badge.t{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.3);color:var(--up)}
.badge .pin{width:7px;height:7px;border-radius:50%;background:var(--emer);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(16,185,129,.5)}70%{box-shadow:0 0 0 8px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}
h1{font-family:'Space Grotesk';font-weight:900;font-size:clamp(38px,6.2vw,74px);line-height:1.02;letter-spacing:-2px;margin:24px 0 0}
h1 .ln{display:block;overflow:hidden}
h1 .ln i{display:block;font-style:normal;transform:translateY(110%)}
.hero-sub{max-width:690px;margin:22px auto 0;font-size:18px;color:var(--t2)}
.hero-sub strong{color:#fff}
.hero-btns{display:flex;gap:14px;justify-content:center;margin-top:34px;flex-wrap:wrap}
.trust{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-top:30px;font-size:13px;color:var(--t3)}
.trust span{display:inline-flex;align-items:center;gap:6px}
.trust svg{width:14px;height:14px;color:var(--emer)}

/* page hero (sous-pages, plus court) */
.phero{padding:64px 0 30px;text-align:center}
.phero h1{font-size:clamp(34px,5vw,58px)}
.phero .hero-sub{font-size:17px}

/* ===== TWO WORLDS ===== */
.worlds{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:60px}
@media(max-width:760px){.worlds{grid-template-columns:1fr}}
.world{position:relative;border-radius:22px;padding:34px 30px;border:1px solid rgba(255,255,255,.08);background:var(--card);overflow:hidden}
.world::before{content:'';position:absolute;inset:0;opacity:.5;background:radial-gradient(120% 80% at 0% 0%,var(--c1),transparent 60%);pointer-events:none}
.world.web{--c1:rgba(124,58,237,.16)}
.world.trade{--c1:rgba(34,197,94,.14)}
.world .tag{font-family:'JetBrains Mono';font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--t4);margin-bottom:14px;position:relative}
.world h3{font-family:'Space Grotesk';font-size:26px;font-weight:900;letter-spacing:-.6px;margin-bottom:10px;position:relative}
.world p{font-size:14.5px;color:var(--t2);position:relative;margin-bottom:18px}
.world .price{font-family:'Space Grotesk';font-weight:800;font-size:15px;position:relative;margin-bottom:18px;line-height:1.35}
.world .price b{font-size:24px;line-height:1.35}
/* fix: la zone du dégradé doit couvrir toute la hauteur des gros chiffres (sinon sommet rogné) */
.world .price .g,.world .price .gt{display:inline-block;font-size:24px;line-height:1.35;vertical-align:baseline;padding-top:.04em}
.wlink{position:relative;display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:14px;text-decoration:none}
.wlink.web{color:var(--v3)}.wlink.trade{color:var(--up)}
.world .mini{position:relative;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.chip{font-size:11.5px;padding:5px 11px;border-radius:100px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);color:var(--t2)}
.flag{position:absolute;top:22px;right:24px;font-family:'JetBrains Mono';font-size:10px;font-weight:800;letter-spacing:1px;padding:4px 10px;border-radius:100px}
.flag.main{background:var(--v);color:#fff}
.flag.plus{background:rgba(34,197,94,.18);color:var(--up);border:1px solid rgba(34,197,94,.4)}

/* ===== PRODUCT / PACK CARDS ===== */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:900px){.grid3{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}}
.pcard{position:relative;border:1px solid var(--line);background:var(--card);border-radius:20px;padding:28px 26px;display:flex;flex-direction:column;transition:transform .3s,border-color .3s,box-shadow .3s;overflow:hidden}
.pcard:hover{transform:translateY(-6px);border-color:rgba(124,58,237,.25);box-shadow:0 20px 50px rgba(0,0,0,.35)}
.pcard.t:hover{border-color:rgba(34,197,94,.3);box-shadow:0 20px 50px rgba(0,0,0,.35),0 0 36px rgba(34,197,94,.06)}
.pcard.pop{border-color:rgba(124,58,237,.3);background:linear-gradient(135deg,rgba(124,58,237,.08),rgba(6,182,212,.04))}
.pcard.pop::after{content:'POPULAIRE';position:absolute;top:-11px;left:50%;transform:translateX(-50%);padding:5px 14px;background:var(--grad);color:#fff;font-family:'JetBrains Mono';font-size:10px;font-weight:800;letter-spacing:1.2px;border-radius:100px;white-space:nowrap}
.pc-ic{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:16px;background:rgba(124,58,237,.12);border:1px solid rgba(124,58,237,.22)}
.pcard.t .pc-ic{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.22)}
.pc-name{font-family:'JetBrains Mono';font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--v3);margin-bottom:8px}
.pcard.t .pc-name{color:var(--up)}
.pcard h3{font-family:'Space Grotesk';font-size:22px;font-weight:900;letter-spacing:-.5px;margin-bottom:8px}
.pc-tag{font-size:13.5px;color:var(--t2);margin-bottom:18px;flex-shrink:0}
.pc-price{font-family:'Space Grotesk';display:flex;align-items:baseline;gap:6px;margin-bottom:6px}
.pc-price .v{font-size:34px;font-weight:900}
.pc-price .u{font-size:12px;color:var(--t3);font-weight:600}
.pc-price .strike{font-size:15px;color:var(--t4);text-decoration:line-through}
.pc-mo{font-size:13px;color:var(--t3);margin-bottom:18px}
.pc-mo b{color:#fff}
.pcard ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:22px;flex:1}
.pcard li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--t2);line-height:1.5}
.pcard li svg{width:15px;height:15px;color:var(--emer);flex-shrink:0;margin-top:3px}
.pcard.t li svg{color:var(--up)}
.pc-cta{display:block;text-align:center;padding:13px;border-radius:100px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none;font-weight:700;font-size:14px;transition:.2s}
.pc-cta:hover{background:var(--grad);border-color:transparent}
.pcard.t .pc-cta:hover{background:var(--grad-trade)}
.pcard.pop .pc-cta{background:var(--grad);border-color:transparent}

/* ===== PACK TOGGLE Classique / Boosté IA + proximité ===== */
.pcard[data-pack]{isolation:isolate}
.pk-toggle{display:inline-flex;align-items:center;background:rgba(0,0,0,.35);border:1px solid rgba(124,58,237,.2);border-radius:100px;padding:3px;gap:2px;align-self:flex-start;margin-bottom:14px;font-family:'Inter',sans-serif;position:relative;z-index:3}
.pkt{padding:6px 11px;border:none;background:transparent;color:rgba(255,255,255,.5);font-size:10.5px;font-weight:700;cursor:pointer;border-radius:100px;transition:all .25s;letter-spacing:.3px;font-family:inherit;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.pkt:hover{color:#fff}
.pkt.on{background:rgba(255,255,255,.1);color:#fff}
.pkt.ai.on{background:linear-gradient(135deg,#d946ef,#7c3aed 50%,#06b6d4);color:#fff;box-shadow:0 3px 10px rgba(217,70,239,.4)}
.pkt.ai{position:relative;overflow:visible}
.pkt.ai:not(.on){
  --p:0;
  background:linear-gradient(135deg,rgba(255,214,10,calc(.10 + var(--p) * .35)),rgba(217,70,239,calc(.10 + var(--p) * .25)) 60%,rgba(255,214,10,calc(.08 + var(--p) * .30)));
  color:#fff;
  box-shadow:0 0 calc(6px + var(--p) * 22px) rgba(255,214,10,calc(.35 + var(--p) * .55)),0 0 calc(2px + var(--p) * 8px) rgba(217,70,239,calc(.25 + var(--p) * .45));
  animation:pktFlashyPulse calc(2.4s - var(--p) * 2s) ease-in-out infinite;z-index:1
}
@keyframes pktFlashyPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(calc(1.05 + var(--p) * .25))}}
.pkt.ai:not(.on)::before{content:'\2726';position:absolute;top:calc(-7px - var(--p) * 3px);right:calc(-2px - var(--p) * 2px);color:#FFD60A;font-size:calc(9px + var(--p) * 7px);filter:drop-shadow(0 0 calc(2px + var(--p) * 10px) #FFD60A);opacity:calc(.55 + var(--p) * .45);animation:pktSparkTwinkle calc(1.4s - var(--p) * .9s) ease-in-out infinite;pointer-events:none;z-index:2;line-height:1}
.pkt.ai:not(.on)::after{content:'\2726';position:absolute;bottom:calc(-7px - var(--p) * 3px);left:calc(-2px - var(--p) * 2px);color:#FFD60A;font-size:calc(7px + var(--p) * 6px);filter:drop-shadow(0 0 calc(2px + var(--p) * 8px) #FFD60A);opacity:calc(.45 + var(--p) * .55);animation:pktSparkTwinkle calc(1.4s - var(--p) * .9s) ease-in-out infinite reverse;animation-delay:.4s;pointer-events:none;z-index:2;line-height:1}
@keyframes pktSparkTwinkle{0%,100%{transform:rotate(0) scale(.85)}50%{transform:rotate(180deg) scale(1.25)}}
.pkt-save{position:absolute;top:-9px;right:-20px;background:linear-gradient(135deg,#FFD60A,#FFC000);color:#1a1100;font-size:8.5px;font-weight:900;letter-spacing:.4px;padding:2px 7px;border-radius:100px;box-shadow:0 4px 12px rgba(255,214,10,.5);transform:rotate(8deg);white-space:nowrap;animation:pktSaveBounce 2.4s ease-in-out infinite;pointer-events:none;z-index:3;font-family:'Inter',sans-serif}
@keyframes pktSaveBounce{0%,100%{transform:rotate(8deg) scale(1)}50%{transform:rotate(-4deg) scale(1.08)}}
.pkt-ic{font-size:11px}
/* étincelles flottantes dans la carte (proximité) */
.pack-sparkles{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;border-radius:inherit}
.pack-sparkles span{position:absolute;color:#FFD60A;font-size:10px;opacity:0;filter:drop-shadow(0 0 4px #FFD60A);transition:opacity .3s}
.pcard[data-prox-active="1"] .pack-sparkles span{opacity:1;animation:packSparkFloat 1.6s ease-in-out infinite}
.pack-sparkles span:nth-child(1){top:14%;left:8%;animation-delay:0s}
.pack-sparkles span:nth-child(2){top:30%;right:12%;animation-delay:.3s}
.pack-sparkles span:nth-child(3){top:60%;left:14%;animation-delay:.7s}
@keyframes packSparkFloat{0%,100%{transform:translateY(0) scale(.7);opacity:.4}50%{transform:translateY(-8px) scale(1.1);opacity:1}}
.pcard[data-pack] > *{position:relative;z-index:1}
.pcard[data-pack] .pk-toggle{z-index:3}
/* visibilité des features selon le mode */
.pcard .ai-only{display:none}
.pcard.boosted .ai-only{display:flex}
.pcard.boosted .classic-only{display:none}
.pcard.boosted{border-color:rgba(217,70,239,.3)}
.pcard li.ai-only svg{color:#d946ef}
@media(prefers-reduced-motion:reduce){.pkt.ai:not(.on),.pkt.ai:not(.on)::before,.pkt.ai:not(.on)::after,.pkt-save,.pack-sparkles span{animation:none!important}}

/* ===== AUDIT BANNER ===== */
.audit{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;background:linear-gradient(135deg,rgba(16,185,129,.07),rgba(6,182,212,.04));border:1px solid rgba(16,185,129,.2);border-radius:20px;padding:28px 32px;position:relative;overflow:hidden}
.audit::before{content:'';position:absolute;top:-80px;right:-60px;width:300px;height:300px;background:radial-gradient(circle,rgba(16,185,129,.1),transparent 65%)}
.audit-l{position:relative;max-width:720px}
.audit-tag{display:inline-block;padding:4px 12px;border-radius:100px;background:rgba(16,185,129,.15);border:1px solid rgba(16,185,129,.4);color:#6ee7b7;font-family:'JetBrains Mono';font-size:10px;font-weight:700;letter-spacing:1.5px;margin-bottom:12px}
.audit h3{font-family:'Space Grotesk';font-size:22px;font-weight:900;margin-bottom:10px}
.audit h3 .p{background:var(--grad-trade);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.audit p{font-size:14px;color:var(--t2);margin-bottom:14px}
.audit-feats{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.audit-feats li{display:flex;gap:8px;font-size:12.5px;color:var(--t2)}
.audit-feats li svg{width:14px;height:14px;color:var(--emer);flex-shrink:0;margin-top:2px}
.audit-cta{position:relative;display:inline-flex;align-items:center;gap:10px;padding:14px 26px;background:var(--grad-trade);color:#fff;text-decoration:none;font-weight:700;font-size:14px;border-radius:100px;white-space:nowrap}
@media(max-width:800px){.audit{grid-template-columns:1fr;padding:24px}.audit-feats{grid-template-columns:1fr}.audit-cta{width:100%;justify-content:center}}

/* ===== STEPS / PROCESS ===== */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}
.step{border:1px solid var(--line);background:var(--card);border-radius:18px;padding:26px 22px}
.step-n{font-family:'JetBrains Mono';font-weight:800;font-size:13px;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(124,58,237,.14);color:var(--v3);border:1px solid rgba(124,58,237,.25);margin-bottom:14px}
.step h4{font-family:'Space Grotesk';font-size:17px;font-weight:800;margin-bottom:6px}
.step p{font-size:13px;color:var(--t3)}

/* ===== SHOWCASE ===== */
.show{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.show{grid-template-columns:1fr}}
.scard{border:1px solid var(--line);background:var(--card);border-radius:18px;overflow:hidden;transition:transform .3s,border-color .3s}
.scard:hover{transform:translateY(-5px);border-color:rgba(124,58,237,.25)}
.scard-top{height:120px;background:linear-gradient(135deg,rgba(124,58,237,.2),rgba(6,182,212,.12));display:flex;align-items:center;justify-content:center;font-size:38px}
.scard.t .scard-top{background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(6,182,212,.12))}
.scard-b{padding:20px 22px}
.scard-tag{font-family:'JetBrains Mono';font-size:10px;font-weight:800;letter-spacing:1px;color:var(--v3);text-transform:uppercase}
.scard.t .scard-tag{color:var(--up)}
.scard h4{font-family:'Space Grotesk';font-size:17px;font-weight:800;margin:6px 0 6px}
.scard p{font-size:13px;color:var(--t3)}

/* ===== FORM ===== */
.form-card{max-width:680px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:36px}
.route{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:26px}
@media(max-width:560px){.route{grid-template-columns:1fr}}
.route-opt{cursor:pointer;border:1px solid var(--line);border-radius:16px;padding:20px;text-align:center;transition:.25s;background:rgba(255,255,255,.02)}
.route-opt:hover{transform:translateY(-3px)}
.route-opt.sel.web{border-color:var(--v);background:rgba(124,58,237,.08)}
.route-opt.sel.trade{border-color:var(--up);background:rgba(34,197,94,.08)}
.route-opt .ro-ic{font-size:30px;margin-bottom:10px}
.route-opt h4{font-family:'Space Grotesk';font-size:17px;font-weight:800;margin-bottom:4px}
.route-opt p{font-size:12.5px;color:var(--t3)}
.field{margin-bottom:16px}
.field label{display:block;font-size:13px;font-weight:600;color:var(--t2);margin-bottom:7px}
.field input,.field textarea,.field select{width:100%;padding:13px 15px;border-radius:12px;border:1px solid var(--line);background:rgba(5,5,16,.5);color:#fff;font-family:inherit;font-size:14px}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--v3)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.frow{grid-template-columns:1fr}}

/* ===== FAQ ===== */
.faq{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.qa{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:18px 22px}
.qa h4{font-family:'Space Grotesk';font-size:15.5px;font-weight:800;margin-bottom:6px;display:flex;gap:10px;align-items:center}
.qa h4::before{content:'?';font-family:'JetBrains Mono';width:22px;height:22px;flex-shrink:0;border-radius:7px;background:rgba(124,58,237,.14);color:var(--v3);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.qa p{font-size:13.5px;color:var(--t3);padding-left:32px}

/* ===== FINAL CTA ===== */
.fcta{text-align:center;background:linear-gradient(135deg,rgba(124,58,237,.1),rgba(6,182,212,.05));border:1px solid rgba(124,58,237,.2);border-radius:28px;padding:60px 32px;position:relative;overflow:hidden}
.fcta h2{font-family:'Space Grotesk';font-size:clamp(28px,4vw,46px);font-weight:900;letter-spacing:-1.2px;margin-bottom:14px;line-height:1.05}
.fcta p{color:var(--t2);font-size:16px;margin-bottom:28px;max-width:520px;margin-left:auto;margin-right:auto}

/* ===== FOOTER ===== */
footer{border-top:1px solid var(--line);padding:40px 0;margin-top:30px}
.foot-in{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.foot-links{display:flex;gap:22px;font-size:13px}
.foot-links a{color:var(--t3);text-decoration:none}
.foot-links a:hover{color:#fff}
.foot-c{font-size:12px;color:var(--t4);font-family:'JetBrains Mono'}

.note{text-align:center;padding:30px 0 90px;color:var(--t4);font-size:13px;font-family:'JetBrains Mono'}

/* ===== TESTIMONIALS ===== */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.tgrid{grid-template-columns:1fr}}
.tcard{border:1px solid var(--line);background:var(--card);border-radius:18px;padding:26px 24px;display:flex;flex-direction:column}
.tcard .stars{color:var(--amb);font-size:14px;letter-spacing:2px;margin-bottom:12px}
.tcard p{font-size:14px;color:var(--t2);line-height:1.7;flex:1;margin-bottom:18px}
.tcard .who{display:flex;align-items:center;gap:12px}
.tcard .av{width:40px;height:40px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk';font-weight:800;font-size:15px;color:#fff;flex-shrink:0}
.tcard .av.t{background:var(--grad-trade)}
.tcard .nm{font-family:'Space Grotesk';font-weight:800;font-size:14px}
.tcard .rl{font-size:12px;color:var(--t3)}

/* ===== AMF / RISK DISCLAIMER ===== */
.disclaimer{max-width:900px;margin:8px auto 0;padding:16px 20px;border:1px dashed rgba(245,158,11,.3);background:rgba(245,158,11,.04);border-radius:14px;font-size:12.5px;color:var(--t3);line-height:1.6;text-align:center}
.disclaimer b{color:var(--amb);font-weight:700}

/* ===== ENGAGEMENTS / PROMISES ===== */
.proms{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:760px){.proms{grid-template-columns:1fr}}
.prom{border:1px solid var(--line);background:var(--card);border-radius:18px;padding:26px 24px;text-align:center}
.prom .pic{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 14px;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.25)}
.prom h4{font-family:'Space Grotesk';font-size:16px;font-weight:800;margin-bottom:6px}
.prom p{font-size:13px;color:var(--t3)}

/* ===== PLATEFORMES SUPPORTÉES ===== */
.plats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:760px;margin:0 auto}
@media(max-width:820px){.plats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.plats{grid-template-columns:1fr}}
.plats-soft{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;max-width:720px;margin:14px auto 0}
.plats-soft .chip{font-size:12.5px;padding:8px 14px;color:var(--t2)}
.plats-soft .chip b{color:#fff;font-weight:700}
.plats-soft .chip i{font-style:normal;font-family:'JetBrains Mono';font-size:10px;color:var(--t3)}
.plat{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:16px 14px;text-align:center;transition:transform .25s,border-color .25s}
.plat:hover{transform:translateY(-3px);border-color:rgba(34,197,94,.3)}
.plat .pn{font-family:'Space Grotesk';font-weight:800;font-size:14px;margin-bottom:4px;color:#fff}
.plat .pl{font-family:'JetBrains Mono';font-size:10px;color:var(--up);letter-spacing:.3px;line-height:1.3}

/* ===== REPLAY + VTAG ===== */
.replay{position:fixed;right:20px;bottom:20px;z-index:40;display:inline-flex;align-items:center;gap:9px;padding:12px 18px;border-radius:100px;border:1px solid rgba(255,255,255,.15);background:rgba(10,10,26,.8);backdrop-filter:blur(10px);color:#fff;font-weight:700;font-size:13px;cursor:pointer;transition:.2s}
.replay:hover{border-color:var(--v3);transform:translateY(-2px)}
.replay svg{width:15px;height:15px}
.vtag{position:fixed;left:16px;top:74px;z-index:40;font-family:'JetBrains Mono';font-size:11px;font-weight:800;letter-spacing:1px;padding:6px 12px;border-radius:8px;background:rgba(124,58,237,.18);border:1px solid rgba(124,58,237,.4);color:var(--v3)}

/* ===================================================================
   ANIMATIONS — reveal on .play (hero) + on .seen (scroll sections)
   =================================================================== */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s,transform .6s}
.reveal.seen{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}
.reveal.d4{transition-delay:.32s}.reveal.d5{transition-delay:.4s}.reveal.d6{transition-delay:.48s}

/* hero intro */
.hero .badge,.hero .hero-sub,.hero .hero-btns,.hero .trust,.worlds .world{opacity:0}
.play .hero .badge{animation:fadeUp .6s .15s forwards}
.play h1 .ln:nth-child(1) i{animation:slideUp .8s .3s cubic-bezier(.2,.8,.2,1) forwards}
.play h1 .ln:nth-child(2) i{animation:slideUp .8s .42s cubic-bezier(.2,.8,.2,1) forwards}
.play .hero .hero-sub{animation:fadeUp .6s .7s forwards}
.play .hero .hero-btns{animation:fadeUp .6s .85s forwards}
.play .hero .trust{animation:fadeUp .6s 1s forwards}
.play .worlds .world{animation:fadeUp .7s forwards}
.play .worlds .world:nth-child(1){animation-delay:1.15s}
.play .worlds .world:nth-child(2){animation-delay:1.3s}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes slideUp{to{transform:none}}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.hero .badge,.hero .hero-sub,.hero .hero-btns,.hero .trust,.worlds .world{opacity:1}h1 .ln i{transform:none}}
