
  :root{
    --bg:#07070c;
    --bg2:#0c0c14;
    --ink:#f2f0ea;
    --muted:#a09daa;
    --faint:#6b6878;
    --gold:#d3ab63;
    --gold-soft:rgba(211,171,99,.14);
    --violet:#8f7fe0;
    --violet-soft:rgba(143,127,224,.12);
    --line:rgba(255,255,255,.08);
    --card:rgba(255,255,255,.028);
    --radius:18px;
    --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    --serif:Georgia,"Times New Roman",serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:var(--font);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    line-height:1.6;
  }
  ::selection{background:var(--gold);color:#0a0a0f}

  /* ---------- fond : halo + grain ---------- */
  .halo{
    position:fixed;inset:0;pointer-events:none;z-index:0;
    background:
      radial-gradient(900px 520px at 50% -8%, rgba(143,127,224,.10), transparent 60%),
      radial-gradient(700px 480px at 85% 40%, rgba(211,171,99,.06), transparent 60%),
      radial-gradient(800px 600px at 10% 85%, rgba(143,127,224,.05), transparent 60%);
  }
  .grain{
    position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.05;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");
  }
  #stars{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.7}

  main{position:relative;z-index:2}

  /* ---------- nav ---------- */
  nav.topnav{
    position:fixed;top:0;left:0;right:0;z-index:50;
    display:flex;align-items:center;justify-content:space-between;
    padding:18px clamp(20px,4vw,56px);
    background:rgba(7,7,12,.55);
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
  }
  .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
  .brand svg{width:32px;height:32px;flex:none}
  .brand-name{font-weight:700;letter-spacing:.22em;font-size:13px}
  .brand-name span{color:var(--gold);font-weight:400}
  .nav-actions{display:flex;align-items:center;gap:12px}
  .login-btn{
    display:inline-flex;align-items:center;gap:9px;
    padding:10px 22px;border-radius:999px;
    border:1px solid rgba(211,171,99,.45);
    color:var(--ink);text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.14em;
    background:rgba(211,171,99,.06);
    transition:background .25s,border-color .25s,transform .25s,box-shadow .25s;
  }
  .login-btn:hover{background:rgba(211,171,99,.16);border-color:var(--gold);transform:translateY(-1px);box-shadow:0 6px 24px rgba(211,171,99,.18)}
  .login-btn svg{width:15px;height:15px}

  /* ---------- hero ---------- */
  .hero{
    min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;
    text-align:center;padding:130px 24px 80px;position:relative;
  }
  .eyebrow{
    font-size:11px;letter-spacing:.42em;color:var(--gold);font-weight:600;
    margin-bottom:26px;text-transform:uppercase;
    display:flex;align-items:center;gap:14px;
  }
  .eyebrow::before,.eyebrow::after{content:"";width:44px;height:1px;background:linear-gradient(90deg,transparent,var(--gold));display:inline-block}
  .eyebrow::after{background:linear-gradient(90deg,var(--gold),transparent)}
  h1{
    font-size:clamp(42px,7.4vw,96px);
    line-height:1.04;font-weight:800;letter-spacing:-.02em;max-width:14ch;
  }
  h1 .l1{display:block}
  h1 .l2{display:block;color:var(--gold)}
  h1 .l3{display:block}
  .lede{
    margin-top:28px;max-width:620px;color:var(--muted);
    font-size:clamp(16px,2vw,19px);font-weight:400;
  }
  .lede strong{color:var(--ink);font-weight:600}
  .hero-cta{margin-top:44px;display:flex;gap:16px;flex-wrap:wrap;justify-content:center;align-items:center}
  .btn-news{
    display:inline-flex;align-items:center;gap:10px;
    padding:15px 36px;border-radius:999px;border:1px solid rgba(0,212,255,.5);
    background:linear-gradient(120deg,rgba(0,212,255,.16),rgba(46,125,255,.16));
    color:var(--ink);font-size:14.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
    cursor:pointer;transition:transform .25s,box-shadow .25s,border-color .25s;
  }
  .btn-news:hover{transform:translateY(-2px);border-color:var(--cyan);box-shadow:0 12px 40px rgba(0,212,255,.28)}
  .btn-news:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
  .btn-news svg{width:17px;height:17px}
  .news-hint{font-size:12.5px;color:var(--faint);letter-spacing:.06em}
  .btn-ghost{
    padding:14px 34px;border-radius:999px;border:1px solid var(--line);
    color:var(--ink);text-decoration:none;font-size:14px;letter-spacing:.08em;
    transition:border-color .25s,background .25s,transform .25s;
  }
  .btn-ghost:hover{border-color:var(--gold);background:var(--gold-soft);transform:translateY(-2px)}
  .invite-note{font-size:12.5px;color:var(--faint);letter-spacing:.06em}
  .invite-note b{color:var(--gold);font-weight:600}
  .scroll-hint{
    position:absolute;bottom:30px;left:50%;transform:translateX(-50%);
    color:var(--faint);font-size:11px;letter-spacing:.3em;text-transform:uppercase;
    display:flex;flex-direction:column;align-items:center;gap:10px;
  }
  .scroll-hint::after{
    content:"";width:1px;height:44px;
    background:linear-gradient(var(--gold),transparent);
    animation:drop 2.2s ease-in-out infinite;
  }
  @keyframes drop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

  /* ---------- sections ---------- */
  section{padding:clamp(80px,10vw,140px) clamp(20px,6vw,80px);max-width:1180px;margin:0 auto}
  .kicker{font-size:11px;letter-spacing:.4em;color:var(--gold);text-transform:uppercase;font-weight:600;margin-bottom:18px}
  h2{font-size:clamp(28px,4vw,46px);font-weight:800;letter-spacing:-.015em;line-height:1.15;max-width:20ch}
  h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--gold)}
  .sec-sub{margin-top:16px;color:var(--muted);max-width:640px;font-size:16.5px}

  /* ---------- feats ---------- */
  .feats-grid{
    margin-top:56px;display:grid;gap:18px;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  }
  .feat{
    background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
    padding:34px 30px;position:relative;overflow:hidden;
    transition:transform .3s,border-color .3s,box-shadow .3s;
  }
  .feat:hover{transform:translateY(-6px);border-color:rgba(211,171,99,.4);box-shadow:0 18px 50px rgba(0,0,0,.45),0 0 0 1px rgba(211,171,99,.08)}
  .feat::before{
    content:"";position:absolute;top:0;left:0;right:0;height:2px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent);
    opacity:0;transition:opacity .3s;
  }
  .feat:hover::before{opacity:1}
  .feat-num{font-size:11px;letter-spacing:.3em;color:var(--faint);margin-bottom:18px}
  .feat-icon{width:46px;height:46px;border-radius:13px;background:var(--gold-soft);
    border:1px solid rgba(211,171,99,.25);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
  .feat-icon svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .feat h3{font-size:20px;font-weight:700;margin-bottom:10px;letter-spacing:-.01em}
  .feat p{color:var(--muted);font-size:15px}
  .feat p strong{color:var(--ink);font-weight:600}

  /* ---------- carrousel feats ---------- */
  .carousel{margin-top:56px;position:relative}
  .car-viewport{overflow:hidden;border-radius:var(--radius)}
  .car-track{display:flex;transition:transform .65s cubic-bezier(.2,.6,.2,1)}
  .car-slide{flex:0 0 100%;min-width:0;margin:0}
  .car-slide.feat{border-radius:var(--radius)}
  .car-more{
    display:inline-flex;align-items:center;gap:8px;margin-top:22px;
    color:var(--cyan);font-size:13.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
    text-decoration:none;border-bottom:1px solid transparent;transition:border-color .25s;
  }
  .car-more:hover{border-bottom-color:var(--cyan)}
  .car-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:26px}
  .car-prev,.car-next{
    width:44px;height:44px;border-radius:50%;border:1px solid var(--line);
    background:var(--card);color:var(--muted);font-size:22px;line-height:1;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:border-color .25s,color .25s,transform .25s;
  }
  .car-prev:hover,.car-next:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-2px)}
  .car-dots{display:flex;gap:10px}
  .car-dot{
    width:10px;height:10px;border-radius:50%;border:1px solid var(--faint);
    background:transparent;cursor:pointer;padding:0;transition:background .3s,border-color .3s,transform .3s;
  }
  .car-dot.on{background:var(--cyan);border-color:var(--cyan);transform:scale(1.25)}

  /* ---------- onglets solutions ---------- */
  .sol-tabs{margin-top:52px}
  .tab-list{
    display:flex;gap:8px;flex-wrap:wrap;justify-content:center;
    border-bottom:1px solid var(--line);padding-bottom:0;margin-bottom:0;
  }
  .tab{
    padding:14px 26px;border:1px solid transparent;border-bottom:none;border-radius:14px 14px 0 0;
    background:transparent;color:var(--muted);font-size:14.5px;font-weight:700;letter-spacing:.06em;
    cursor:pointer;transition:color .25s,background .25s;position:relative;top:1px;
  }
  .tab:hover{color:var(--ink)}
  .tab.on{
    color:var(--cyan);background:var(--card);
    border-color:var(--line);
  }
  .tab.on::after{
    content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:2px;
    background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  }
  .tab-panels{margin-top:0}
  .tab-panel{
    background:var(--card);border:1px solid var(--line);border-top:none;border-radius:0 0 var(--radius) var(--radius);
    padding:40px clamp(24px,4vw,48px);max-width:860px;margin:0 auto;
  }
  .tab-panel h3{font-size:clamp(21px,2.6vw,28px);font-weight:800;letter-spacing:-.01em;margin-bottom:14px}
  .tab-body{color:var(--muted);font-size:16px}
  .tab-body p{margin-bottom:16px}
  .tab-body ul{list-style:none;display:grid;gap:12px;margin:0;padding:0}
  .tab-body li{padding-left:26px;position:relative}
  .tab-body li::before{
    content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;
    background:var(--cyan);box-shadow:0 0 12px rgba(0,212,255,.7);
  }
  .tab-body .hl{color:var(--cyan);font-weight:600}

  /* ---------- Hyv3 ---------- */
  .hyv3-band{
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:linear-gradient(180deg,rgba(143,127,224,.05),rgba(211,171,99,.04) 60%,transparent);
    position:relative;overflow:hidden;
  }
  .hyv3-band section{position:relative;z-index:1}
  .hex-deco{
    position:absolute;top:-70px;right:-90px;width:460px;height:460px;
    opacity:.09;pointer-events:none;z-index:0;
  }
  .hex-deco2{
    position:absolute;bottom:-110px;left:-70px;width:340px;height:340px;
    opacity:.06;pointer-events:none;z-index:0;
  }
  .modes{margin-top:52px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .mode{
    background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
    padding:38px 34px;position:relative;overflow:hidden;
    transition:transform .3s,border-color .3s,box-shadow .3s;
  }
  .mode:hover{transform:translateY(-6px);box-shadow:0 18px 50px rgba(0,0,0,.45)}
  .mode::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;opacity:0;transition:opacity .3s}
  .mode:hover::before{opacity:1}
  .mode.m-local::before{background:linear-gradient(90deg,transparent,var(--violet),transparent)}
  .mode.m-hybrid::before{background:linear-gradient(90deg,transparent,var(--gold),transparent)}
  .mode.m-local:hover{border-color:rgba(143,127,224,.45)}
  .mode.m-hybrid:hover{border-color:rgba(211,171,99,.45)}
  .mode-tag{font-size:11px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:16px;font-weight:600}
  .m-local .mode-tag{color:var(--violet)}
  .m-hybrid .mode-tag{color:var(--gold)}
  .mode h3{font-size:clamp(22px,2.6vw,28px);font-weight:800;margin-bottom:14px;letter-spacing:-.01em}
  .mode h3 .n{font-family:var(--serif);font-style:italic;font-weight:400}
  .m-local h3 .n{color:var(--violet)}
  .m-hybrid h3 .n{color:var(--gold)}
  .mode p{color:var(--muted);font-size:15.5px}
  .mode p strong{color:var(--ink);font-weight:600}
  .hyv3-gains{margin-top:46px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;list-style:none}
  .hyv3-gains li{
    border-left:2px solid rgba(211,171,99,.4);
    padding:2px 0 2px 20px;color:var(--muted);font-size:15px;
  }
  .hyv3-gains li b{display:block;color:var(--ink);font-size:18px;font-weight:700;margin-bottom:8px;letter-spacing:-.01em}
  .hyv3-gains li b .hl{color:var(--gold)}

  /* ---------- manifeste ---------- */
  .manifesto{
    max-width:1180px;margin:0 auto;
    padding:clamp(80px,10vw,140px) clamp(20px,6vw,80px);
  }
  .manifesto-inner{
    border:1px solid var(--line);border-radius:24px;
    background:linear-gradient(160deg,rgba(143,127,224,.06),rgba(211,171,99,.05) 55%,rgba(255,255,255,.015));
    padding:clamp(40px,6vw,80px);position:relative;overflow:hidden;
  }
  .manifesto-inner::before{
    content:"\201C";position:absolute;top:6px;left:26px;
    font-family:var(--serif);font-size:120px;color:rgba(211,171,99,.14);line-height:1;
  }
  .manifesto p.big{
    font-family:var(--serif);font-style:italic;
    font-size:clamp(22px,3.2vw,34px);line-height:1.45;color:var(--ink);max-width:26ch;
  }
  .manifesto p.big b{color:var(--gold);font-weight:400}
  .manifesto p.small{margin-top:26px;color:var(--muted);max-width:62ch;font-size:16px}
  .manifesto .sign{margin-top:30px;font-size:12px;letter-spacing:.34em;color:var(--faint);text-transform:uppercase}
  .manifesto .sign b{color:var(--gold)}

  /* ---------- cta final ---------- */
  .final{
    text-align:center;padding:clamp(90px,12vw,160px) 24px;
    border-top:1px solid var(--line);
  }
  .final h2{margin:0 auto}
  .final p{margin:20px auto 0;color:var(--muted);max-width:520px}
  .invite-actions{margin-top:36px;display:flex;gap:18px;justify-content:center;align-items:center;flex-wrap:wrap}
  .btn-invite{
    padding:16px 44px;border-radius:999px;border:none;cursor:pointer;
    background:linear-gradient(120deg,#8f7fe0,#d3ab63);color:#0a0a0f;
    font-weight:800;font-size:15px;letter-spacing:.05em;font-family:var(--font);
    transition:transform .25s,box-shadow .25s;
  }
  .btn-invite:hover{transform:translateY(-2px);box-shadow:0 14px 44px rgba(211,171,99,.28)}
  .btn-invite:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
  .seal{
    display:inline-flex;align-items:center;gap:12px;
    padding:16px 38px;border-radius:999px;
    border:1px dashed rgba(211,171,99,.5);color:var(--gold);
    font-size:13px;letter-spacing:.24em;font-weight:600;text-transform:uppercase;
    background:rgba(211,171,99,.05);
  }
  .seal .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:pulse 2.4s ease-in-out infinite}
  @keyframes pulse{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}

  /* ---------- footer ---------- */
  footer{
    border-top:1px solid var(--line);
    padding:30px clamp(20px,4vw,56px);
    display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;
    color:var(--faint);font-size:12.5px;letter-spacing:.06em;
  }
  footer .fbrand{display:flex;align-items:center;gap:10px;letter-spacing:.22em;font-weight:700;color:var(--muted);font-size:11px}
  footer .fbrand svg{width:22px;height:22px;flex:none}
  footer .fbrand span{color:var(--gold)}
  footer .copy{color:var(--faint)}
  .hyv3-badge{
    display:inline-flex;align-items:center;gap:10px;
    padding:8px 16px 8px 10px;border-radius:999px;
    border:1px solid rgba(143,127,224,.3);
    background:rgba(143,127,224,.06);
    text-decoration:none;
  }
  .hyv3-badge svg{width:26px;height:26px;flex:none}
  .hyv3-txt{display:flex;flex-direction:column;line-height:1.25}
  .hyv3-txt em{font-style:normal;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint)}
  .hyv3-txt strong{font-size:14px;letter-spacing:.14em;color:var(--ink);font-weight:800}
  .hyv3-txt strong .cub{color:var(--gold)}

  /* ---------- méga feats ---------- */
  .mega-list{margin-top:60px;display:flex;flex-direction:column;gap:26px}
  .mega{
    display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;
    background:var(--card);border:1px solid var(--line);border-radius:24px;
    padding:clamp(28px,4vw,54px);overflow:hidden;position:relative;
    transition:border-color .3s,box-shadow .3s,transform .3s;
  }
  .mega:hover{border-color:rgba(211,171,99,.35);box-shadow:0 18px 60px rgba(0,0,0,.4);transform:translateY(-4px)}
  .mega.flip .mega-vis{order:2}
  .mega-vis{display:flex;align-items:center;justify-content:center;min-height:240px}
  .mega-vis svg{width:100%;max-width:340px;height:auto}
  .mega-num{font-size:11px;letter-spacing:.3em;color:var(--gold);margin-bottom:14px;font-weight:600}
  .mega-txt h3{font-size:clamp(22px,2.8vw,30px);font-weight:800;margin-bottom:12px;letter-spacing:-.01em}
  .mega-txt p{color:var(--muted);font-size:16px}
  .mega-txt p strong{color:var(--ink);font-weight:600}
  .spin-slow{animation:spin 44s linear infinite;transform-origin:center;transform-box:fill-box}
  @keyframes spin{to{transform:rotate(360deg)}}
  @media (prefers-reduced-motion:reduce){
    .spin-slow,.orbit-deco .o1,.orbit-deco .o2{animation:none}
    .modal-overlay,.modal{animation:none}
  }

  /* ---------- déco orbitale du hero ---------- */
  .hero{overflow:hidden}
  .orbit-deco{
    position:absolute;top:50%;left:50%;width:min(94vw,780px);height:min(94vw,780px);
    transform:translate(-50%,-56%);opacity:.15;pointer-events:none;z-index:0;
  }
  .hero > *:not(.orbit-deco):not(.scroll-hint){position:relative;z-index:1}
  .orbit-deco .o1{animation:spin 70s linear infinite;transform-origin:center;transform-box:fill-box}
  .orbit-deco .o2{animation:spin 100s linear infinite reverse;transform-origin:center;transform-box:fill-box}

  /* ---------- paliers d'utilisation (Hyv3) ---------- */
  .tiers{
    margin-top:56px;border:1px solid var(--line);border-radius:var(--radius);
    padding:clamp(28px,4vw,42px);background:var(--card);
  }
  .tiers-title{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:26px}
  .tiers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .tier{border:1px solid var(--line);border-radius:14px;padding:24px;background:rgba(255,255,255,.015);transition:transform .3s,border-color .3s}
  .tier:hover{transform:translateY(-4px)}
  .tier.hot{border-color:rgba(211,171,99,.5);background:var(--gold-soft)}
  .tier b{display:block;font-size:17px;margin-bottom:10px;letter-spacing:-.01em}
  .tier b span{color:var(--gold);font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
  .tier p{color:var(--muted);font-size:14.5px}
  .tiers-note{margin-top:22px;color:var(--faint);font-size:13.5px}
  .tiers-note strong{color:var(--muted);font-weight:600}

  /* ---------- comparatif ---------- */
  .cmp-wrap{margin-top:52px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;overflow-x:auto}
  table.cmp{width:100%;border-collapse:collapse;min-width:600px;font-size:15px}
  .cmp th,.cmp td{padding:18px 22px;text-align:left;border-bottom:1px solid var(--line)}
  .cmp thead th{background:rgba(211,171,99,.06);font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
  .cmp thead th.ax{color:var(--gold)}
  .cmp tbody tr:last-child td{border-bottom:none}
  .cmp tbody tr{transition:background .2s}
  .cmp tbody tr:hover{background:rgba(255,255,255,.02)}
  .cmp td.c,.cmp th.c{text-align:center;white-space:nowrap}
  .cmp-hint{color:var(--faint);font-size:12.5px}
  .mk-y{color:var(--gold);font-weight:800;font-size:19px}
  .mk-n{color:#e0685f;font-weight:800;font-size:19px}
  .mk-m{color:var(--faint);font-weight:800;font-size:19px}
  .cmp-note{margin-top:18px;color:var(--faint);font-size:13px}

  /* ---------- FAQ ---------- */
  .faq-list{margin-top:48px;max-width:840px}
  .faq-item{
    border:1px solid var(--line);border-radius:14px;background:var(--card);
    margin-bottom:12px;overflow:hidden;transition:border-color .25s;
  }
  .faq-item:hover{border-color:rgba(211,171,99,.3)}
  .faq-item[open]{border-color:rgba(211,171,99,.45)}
  .faq-item summary{
    cursor:pointer;padding:20px 24px;font-weight:600;font-size:16px;letter-spacing:-.01em;
    list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;
  }
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-item summary .plus{
    flex:none;width:28px;height:28px;border-radius:50%;
    border:1px solid rgba(211,171,99,.4);color:var(--gold);
    display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:400;
    transition:transform .3s,background .3s;
  }
  .faq-item[open] summary .plus{transform:rotate(45deg);background:var(--gold-soft)}
  .faq-item .faq-a{padding:0 24px 24px;color:var(--muted);font-size:15px;max-width:64ch}
  .faq-item .faq-a strong{color:var(--ink);font-weight:600}

  /* ---------- sections centrées ---------- */
  .centered{text-align:center}
  .centered h2{margin-left:auto;margin-right:auto}
  .centered .sec-sub{margin-left:auto;margin-right:auto}

  /* ---------- réseaux sociaux ---------- */
  .soc-grid{margin-top:44px;display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
  .soc{
    display:inline-flex;align-items:center;gap:10px;
    padding:14px 24px;border-radius:999px;border:1px solid var(--line);
    color:var(--muted);text-decoration:none;font-size:14px;font-weight:600;letter-spacing:.04em;
    background:var(--card);transition:border-color .25s,background .25s,transform .25s,color .25s;
  }
  .soc:hover{border-color:var(--gold);background:var(--gold-soft);color:var(--ink);transform:translateY(-2px)}
  .soc svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}

  /* ---------- voie d'avant-garde ---------- */
  .avant-band{
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:linear-gradient(180deg,rgba(211,171,99,.055),rgba(143,127,224,.03) 55%,transparent);
    position:relative;overflow:hidden;
  }
  .avant{text-align:center}
  .avant h2{margin-left:auto;margin-right:auto}
  .avant .sec-sub{margin-left:auto;margin-right:auto}
  .btn-patreon{
    display:inline-flex;align-items:center;gap:12px;margin-top:36px;
    padding:16px 44px;border-radius:999px;
    background:linear-gradient(120deg,#8f7fe0,#d3ab63);
    color:#0a0a0f;font-weight:800;font-size:15px;letter-spacing:.05em;text-decoration:none;
    transition:transform .25s,box-shadow .25s;
  }
  .btn-patreon:hover{transform:translateY(-2px);box-shadow:0 14px 44px rgba(211,171,99,.28)}
  .btn-patreon svg{width:18px;height:18px;stroke:#0a0a0f;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .avant-note{margin-top:22px;color:var(--faint);font-size:13.5px}

  /* ---------- modal invitation ---------- */
  .modal-overlay{
    position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;
    padding:20px;background:rgba(4,4,8,.72);
    -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
    animation:fadeIn .25s ease;
  }
  .modal-overlay[hidden]{display:none}
  @keyframes fadeIn{from{opacity:0}to{opacity:1}}
  .modal{
    position:relative;width:min(600px,94vw);max-height:92svh;overflow-y:auto;
    background:linear-gradient(165deg,#12121c,#0b0b12 60%);
    border:1px solid rgba(211,171,99,.28);border-radius:22px;
    padding:clamp(28px,4vw,44px);box-shadow:0 30px 90px rgba(0,0,0,.6);
    animation:popIn .3s cubic-bezier(.2,.7,.3,1.2);
  }
  @keyframes popIn{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
  .modal-close{
    position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;
    border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--muted);
    font-size:15px;cursor:pointer;transition:border-color .2s,color .2s,background .2s;line-height:1;
  }
  .modal-close:hover{border-color:var(--gold);color:var(--ink);background:var(--gold-soft)}
  .modal-close:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
  .modal .kicker{margin-bottom:10px}
  .modal h3{font-size:clamp(22px,3vw,28px);font-weight:800;letter-spacing:-.01em;margin-bottom:8px}
  .modal-sub{color:var(--muted);font-size:15px;margin-bottom:28px}
  .field{margin-bottom:22px;border:none}
  .frow2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .field label,.field legend{display:block;font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--muted);margin-bottom:9px;text-transform:uppercase}
  .field legend{padding:0}
  .req{color:var(--gold);font-weight:700}
  .field input[type=text],.field input[type=email],.field input[type=password],.field textarea{
    width:100%;padding:13px 16px;border-radius:12px;font-size:15px;font-family:var(--font);
    background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--ink);
    transition:border-color .2s,box-shadow .2s;
  }
  .field input:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(211,171,99,.15)}
  .field input.bad{border-color:#e0685f;box-shadow:0 0 0 3px rgba(224,104,95,.15)}
  .field textarea{resize:vertical;min-height:96px}
  .ferr{color:#e0685f;font-size:13.5px;margin:-14px 0 18px}
  .ferr[hidden]{display:none}
  .pills,.chips{display:flex;flex-wrap:wrap;gap:10px}
  .pill,.chip{
    padding:10px 20px;border-radius:999px;font-size:13.5px;font-weight:600;letter-spacing:.03em;
    border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--muted);
    cursor:pointer;font-family:var(--font);transition:all .2s;
  }
  .pill:hover,.chip:hover{border-color:rgba(211,171,99,.5);color:var(--ink);transform:translateY(-1px)}
  .pill:focus-visible,.chip:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
  .pill.on{background:linear-gradient(120deg,rgba(143,127,224,.25),rgba(211,171,99,.25));border-color:var(--gold);color:var(--ink);box-shadow:0 0 0 1px rgba(211,171,99,.4)}
  .chip.on{background:var(--gold-soft);border-color:var(--gold);color:var(--gold);box-shadow:0 0 0 1px rgba(211,171,99,.4)}
  .chip.on::before{content:"✓ ";font-weight:800}
  .check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;margin-bottom:22px;color:var(--muted);font-size:15px}
  .check input{position:absolute;opacity:0;pointer-events:none}
  .check .box{flex:none;width:22px;height:22px;border-radius:7px;border:1px solid var(--line);background:rgba(255,255,255,.04);margin-top:1px;position:relative;transition:all .2s}
  .check input:checked + .box{background:linear-gradient(120deg,#8f7fe0,#d3ab63);border-color:transparent}
  .check input:checked + .box::after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#0a0a0f;font-weight:800;font-size:14px}
  .check input:focus-visible + .box{outline:2px solid var(--gold);outline-offset:2px}
  .req-hint{color:var(--faint);font-size:12.5px;margin-bottom:18px}
  .btn-submit{
    width:100%;padding:16px;border-radius:999px;border:none;cursor:pointer;
    background:linear-gradient(120deg,#8f7fe0,#d3ab63);color:#0a0a0f;
    font-weight:800;font-size:15px;letter-spacing:.05em;font-family:var(--font);
    transition:transform .25s,box-shadow .25s;
  }
  .btn-submit:hover{transform:translateY(-2px);box-shadow:0 14px 44px rgba(211,171,99,.28)}
  .btn-submit:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
  .modal-ok{text-align:center;padding:20px 0}
  .modal-ok[hidden]{display:none}
  .ok-check{
    width:74px;height:74px;border-radius:50%;margin:0 auto 24px;
    background:linear-gradient(120deg,rgba(143,127,224,.25),rgba(211,171,99,.25));
    border:1px solid rgba(211,171,99,.5);color:var(--gold);
    display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;
  }
  .modal-ok h3{margin-bottom:10px}
  .modal-ok p{color:var(--muted);margin-bottom:28px}

  /* ---------- modal login (démo) ---------- */
  .login-qr-wrap{
    display:flex;justify-content:center;margin:6px 0 18px;
  }
  #qrCanvas{
    width:220px;height:220px;border-radius:14px;background:#fff;padding:10px;
    box-shadow:0 12px 40px rgba(0,0,0,.45);
    image-rendering:pixelated;
  }
  .qr-user{font-size:13px;color:var(--faint);letter-spacing:.06em;margin-bottom:18px}
  .qr-user strong{color:var(--gold)}
  .sandbox-banner{
    margin:0 0 22px;padding:12px 18px;border-radius:12px;
    border:1px dashed rgba(211,171,99,.6);background:rgba(211,171,99,.08);
    color:var(--gold);font-size:13.5px;font-weight:700;letter-spacing:.08em;
  }
  .sandbox-banner[hidden]{display:none}
  .login-splash{padding:26px 0 10px}
  .login-splash svg{width:74px;height:74px;margin-bottom:22px}
  .spinner{
    width:34px;height:34px;border-radius:50%;margin:22px auto 0;
    border:3px solid rgba(211,171,99,.2);border-top-color:var(--gold);
    animation:spin 1s linear infinite;
  }
  @keyframes spin{to{transform:rotate(360deg)}}
  /* bouton de connexion : état "vérification" avec mini-spinner animé */
  .btn-submit{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px}
  .btn-submit.loading{pointer-events:none;opacity:.88}
  .btn-spin{
    width:16px;height:16px;border-radius:50%;flex:none;
    border:2px solid rgba(10,10,15,.3);border-top-color:#0a0a0f;
    animation:spin .8s linear infinite;
  }
  .qr-url{font-size:12px;color:var(--faint);letter-spacing:.04em;margin:14px 0 0;word-break:break-all}
  .qr-url-label{font-size:11px;color:var(--faint);letter-spacing:.14em;text-transform:uppercase;margin:16px 0 2px}
  #doneLabsHead svg{width:74px;height:74px;margin-bottom:18px}
  #doneLabsHead{padding:8px 0 18px}

  /* ---------- reveal ---------- */
  .rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.6,.2,1),transform .8s cubic-bezier(.2,.6,.2,1)}
  .rv.in{opacity:1;transform:none}
  .rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}.rv.d4{transition-delay:.4s}
  @media (prefers-reduced-motion:reduce){
    .rv{opacity:1;transform:none;transition:none}
    .scroll-hint::after,.seal .dot,.spinner{animation:none}
    html{scroll-behavior:auto}
  }

  /* ---------- onglets : rangée scrollable sur mobile ---------- */
  @media (max-width:640px){
    .tab-list{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;
      -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
    .tab-list::-webkit-scrollbar{display:none}
    .tab{flex:none;white-space:nowrap}
    .tab-panel{padding:30px 22px}
    .car-slide.feat{padding:28px 22px}
  }

  /* ---------- responsive ---------- */
  @media (max-width:640px){
    nav{padding:14px 18px}
    .brand svg{width:28px;height:28px}
    .brand-name{font-size:11px;letter-spacing:.18em}
    .nav-actions{gap:8px}
    .login-btn{padding:9px 14px;font-size:11px}
    .feats-grid{grid-template-columns:1fr}
    .modes{grid-template-columns:1fr}
    .hyv3-gains{grid-template-columns:1fr}
    .eyebrow{letter-spacing:.28em}
    .eyebrow::before,.eyebrow::after{width:26px}
    .hex-deco{width:300px;height:300px;top:-40px;right:-70px}
    footer{justify-content:center;text-align:center}
    .mega{grid-template-columns:1fr;gap:26px}
    .mega.flip .mega-vis{order:0}
    .mega-vis{min-height:200px}
    .tiers-grid{grid-template-columns:1fr}
    .orbit-deco{opacity:.1}
    .frow2{grid-template-columns:1fr}
  }

/* ══════════════════════════════════════════════════════════════
   PROD — ajouts : sélecteurs, variantes d'appareil, RTL
   ══════════════════════════════════════════════════════════════ */

/* ---------- utilitaire sr-only ---------- */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- <select> langue + thème (assortis au nav) ---------- */
.lang-select-wrap{display:flex;align-items:center}
#langSelect,#themeSelect{
  appearance:none;-webkit-appearance:none;
  border:1px solid var(--line);border-radius:999px;
  background:rgba(255,255,255,.03) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23a09daa' fill='none' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center;
  color:var(--muted);font-family:var(--font);
  font-size:11px;font-weight:700;letter-spacing:.08em;
  padding:8px 30px 8px 14px;margin:0;cursor:pointer;
}
#langSelect:hover,#themeSelect:hover{color:var(--ink);border-color:rgba(211,171,99,.4)}
#langSelect:focus-visible,#themeSelect:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#langSelect option,#themeSelect option{background:#0c0c14;color:#f2f0ea}
.theme-select-wrap{display:flex;align-items:center}

/* ---------- liens de forçage appareil (footer) ---------- */

/* ---------- bloc QR TV ---------- */
.tv-qr{text-align:center;padding:60px 20px;max-width:900px;margin:0 auto}
.tv-qr h2{font-size:clamp(28px,4vw,54px);margin-bottom:28px}
.tv-qr canvas{width:min(420px,80vw);height:auto;background:#fff;border-radius:12px;padding:12px}
.tv-qr .qr-url{margin-top:18px;color:var(--muted);font-size:clamp(14px,1.6vw,20px);word-break:break-all}

/* ═══════════ variante mobile : colonne unique, touch ≥48px ═══════════ */
body[data-variant="mobile"] .feats-grid,
body[data-variant="mobile"] .modes,
body[data-variant="mobile"] .hyv3-gains,
body[data-variant="mobile"] .tiers-grid,
body[data-variant="mobile"] .mega{grid-template-columns:1fr}
body[data-variant="mobile"] .btn-cta,body[data-variant="mobile"] .btn-ghost,
body[data-variant="mobile"] .btn-submit,body[data-variant="mobile"] .pill,
body[data-variant="mobile"] .chip,body[data-variant="mobile"] .login-btn,
body[data-variant="mobile"] #langSelect,body[data-variant="mobile"] #themeSelect{
  min-height:48px;display:inline-flex;align-items:center;justify-content:center}
body[data-variant="mobile"] .hero h1{font-size:clamp(40px,11vw,64px)}
body[data-variant="mobile"] nav{padding:12px 16px}
body[data-variant="mobile"] .nav-actions{gap:8px}

/* ═══════════ variante tablette : hybride 2 colonnes ═══════════ */
body[data-variant="tablet"] .feats-grid{grid-template-columns:repeat(2,1fr)}
body[data-variant="tablet"] .modes{grid-template-columns:1fr 1fr}
body[data-variant="tablet"] .hyv3-gains{grid-template-columns:repeat(2,1fr)}
body[data-variant="tablet"] .tiers-grid{grid-template-columns:repeat(2,1fr)}
body[data-variant="tablet"] .mega{grid-template-columns:1fr 1fr;gap:32px}

/* ═══════════ variante TV : 10-foot UI ═══════════ */
body[data-variant="tv"]{font-size:22px}
body[data-variant="tv"] .hero h1{font-size:clamp(64px,8vw,120px)}
body[data-variant="tv"] .hero .lede{font-size:clamp(22px,2.4vw,34px);max-width:60ch}
body[data-variant="tv"] h2{font-size:clamp(40px,4.6vw,72px)}
body[data-variant="tv"] .kicker{font-size:18px}
body[data-variant="tv"] p,body[data-variant="tv"] li{font-size:clamp(18px,1.8vw,26px)}
body[data-variant="tv"] section{padding-top:70px;padding-bottom:70px}
/* TV : sections condensées — visuels décoratifs masqués, QR APK mis en avant */
body[data-variant="tv"] .mega-vis{display:none}
body[data-variant="tv"] .hyv3-gains{display:none}
body[data-variant="tv"] .mega{grid-template-columns:1fr;max-width:1100px}
body[data-variant="tv"] .tv-qr{padding:90px 40px}
body[data-variant="tv"] .tv-qr canvas{width:min(560px,60vw)}
body[data-variant="tv"] .orbit-deco{display:none}
body[data-variant="tv"] .btn-cta,body[data-variant="tv"] .btn-ghost{
  font-size:24px;padding:22px 44px;min-height:72px}

/* ═══════════ RTL (arabe) : miroir des layouts clés ═══════════ */
html[dir="rtl"] nav{flex-direction:row-reverse}
html[dir="rtl"] .nav-actions{flex-direction:row-reverse}
html[dir="rtl"] .hero{text-align:right}
html[dir="rtl"] .hero h1,html[dir="rtl"] .hero .lede{margin-left:0;margin-right:auto}
html[dir="rtl"] .feats-grid,html[dir="rtl"] .modes,
html[dir="rtl"] .hyv3-gains,html[dir="rtl"] .tiers-grid{direction:rtl}
html[dir="rtl"] .mega{direction:rtl}
html[dir="rtl"] .mega.flip .mega-vis{order:0}
html[dir="rtl"] .modal-close{right:auto;left:18px}
html[dir="rtl"] .frow2{direction:rtl}
html[dir="rtl"] footer{flex-direction:row-reverse}
html[dir="rtl"] html[dir="rtl"] .qr-user,html[dir="rtl"] .qr-url-label{text-align:right}
html[dir="rtl"] #langSelect,html[dir="rtl"] #themeSelect{
  background-position:left 12px center;padding:8px 14px 8px 30px;text-align:right}
html[dir="rtl"] .pills,html[dir="rtl"] .chips{justify-content:flex-end}

/* ═══════════ prefers-reduced-motion ═══════════ */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s !important;transition-duration:.001s !important}
  .rv{opacity:1 !important;transform:none !important}
}
