  :root{
    --blue:#2563EB;
    --blue-deep:#1D4ED8;
    --blue-light:#60A5FA;
    --ink:#0A1020;
    --ink-soft:#1E293B;
    --muted:#64748B;
    --bg:#F7F9FF;
    --card:#FFFFFF;
    --gold:#F59E0B;
    --red:#E11D48;
    --green:#10B981;
    --line:rgba(10,16,32,.08);

    --sh-sm: 0 1px 2px rgba(10,16,32,.04), 0 2px 8px rgba(10,16,32,.05);
    --sh-md: 0 2px 4px rgba(10,16,32,.04), 0 14px 30px rgba(10,16,32,.09);
    --sh-lg: 0 4px 10px rgba(10,16,32,.06), 0 28px 60px rgba(10,16,32,.14);
    --sh-blue: 0 10px 28px rgba(37,99,235,.35), 0 2px 6px rgba(37,99,235,.22);
    --radius:20px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;background:var(--bg);color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    -webkit-font-smoothing:antialiased;overflow-x:hidden;
  }
  img,svg{display:block}
  a{color:inherit;text-decoration:none}
  button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
  .wrap{max-width:760px;margin:0 auto;padding:0 20px;position:relative;z-index:1}

  /* ====== FOND : dégradés profonds + halos ====== */
  .bg-deco{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
  .bg-deco i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5}
  .bg-deco i:nth-child(1){width:520px;height:520px;background:rgba(37,99,235,.22);top:-180px;left:-140px}
  .bg-deco i:nth-child(2){width:420px;height:420px;background:rgba(96,165,250,.18);top:38%;right:-180px}
  .bg-deco i:nth-child(3){width:460px;height:460px;background:rgba(37,99,235,.12);bottom:-200px;left:20%}

  /* ====== BARRE HAUTE ====== */
  .topbar{
    position:sticky;top:0;z-index:30;
    background:rgba(247,249,255,.82);backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
    padding:14px 20px;display:flex;align-items:center;gap:10px;
  }
  .brand{font-size:15px;font-weight:900;letter-spacing:-.2px;display:flex;align-items:center;gap:9px}
  .brand-mark{
    width:30px;height:30px;border-radius:9px;flex-shrink:0;
    background:linear-gradient(140deg,var(--blue-light),var(--blue-deep));
    box-shadow:0 4px 12px rgba(37,99,235,.4), inset 0 1px 0 rgba(255,255,255,.4);
    display:flex;align-items:center;justify-content:center;color:#fff;
  }
  .brand-mark svg{width:16px;height:16px}
  .brand span{color:var(--blue)}
  .topbar .spacer{flex:1}
  .topbar-cta{
    font-size:12.5px;font-weight:800;color:#fff;padding:9px 16px;border-radius:30px;
    background:linear-gradient(140deg,var(--blue),var(--blue-deep));
    box-shadow:var(--sh-blue);white-space:nowrap;
  }

  /* ====== HERO ====== */
  .hero{padding:34px 0 10px}
  .pill{
    display:inline-flex;align-items:center;gap:7px;margin-bottom:18px;
    background:var(--card);border:1px solid var(--line);border-radius:30px;
    padding:8px 15px;font-size:12px;font-weight:800;color:var(--ink-soft);
    box-shadow:var(--sh-sm);
  }
  .pill b{color:var(--blue)}

  h1{
    font-size:clamp(27px,6.4vw,40px);font-weight:900;line-height:1.14;
    letter-spacing:-1px;margin:0 0 16px;
  }
  h1 em{
    font-style:normal;
    background:linear-gradient(120deg,var(--blue),var(--blue-light));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .hero-sub{font-size:15.5px;line-height:1.6;color:var(--muted);margin:0 0 24px;max-width:560px}

  .trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}
  .trust{
    display:flex;align-items:center;gap:8px;background:var(--card);
    border:1px solid var(--line);border-radius:14px;padding:10px 14px;
    font-size:12.5px;font-weight:800;box-shadow:var(--sh-sm);
  }
  .trust small{display:block;font-size:10.5px;font-weight:600;color:var(--muted);margin-top:1px}
  .trust .ico{font-size:15px}

  /* ====== VIDÉO (lecture auto, bloc surélevé) ====== */
  .video-stage{margin:0 0 14px}
  .video-box{
    position:relative;aspect-ratio:16/9;border-radius:22px;overflow:hidden;
    background:#05070F;
    box-shadow:var(--sh-lg), 0 0 0 1px rgba(37,99,235,.18), 0 0 60px rgba(37,99,235,.14);
  }
  .video-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

  /* Couche "activer le son" : tout clic dessus relance la vidéo avec le son
     (les navigateurs interdisent le son sans un geste du visiteur). */
  .sound-cta{
    position:absolute;inset:0;z-index:3;cursor:pointer;
    display:flex;align-items:flex-end;justify-content:center;padding-bottom:12%;
    background:linear-gradient(180deg,rgba(5,7,15,.08) 0%,rgba(5,7,15,.35) 100%);
    border:0;width:100%;
  }
  .sound-cta.is-hidden{display:none}
  .sound-cta span{
    display:flex;align-items:center;gap:9px;
    background:rgba(255,255,255,.97);color:var(--ink);
    font-size:14px;font-weight:900;padding:13px 22px;border-radius:40px;
    box-shadow:0 10px 30px rgba(0,0,0,.4), inset 0 -2px 0 rgba(10,16,32,.08);
    animation:soundPulse 2.6s ease-in-out infinite;
  }
  .sound-cta svg{width:18px;height:18px;color:var(--blue);flex-shrink:0}
  @keyframes soundPulse{
    0%,100%{transform:scale(1)}
    50%{transform:scale(1.05)}
  }
  @media (prefers-reduced-motion:reduce){ .sound-cta span{animation:none} }

  .sound-hint{
    display:flex;align-items:center;justify-content:center;gap:7px;margin:0 0 30px;
    font-size:12.5px;font-weight:700;color:var(--muted);
  }
  .sound-hint svg{width:15px;height:15px;color:var(--blue)}

  /* ====== CARTE PRIX (flottante) ====== */
  .price-card{
    position:relative;border-radius:var(--radius);padding:26px 24px;text-align:center;
    background:linear-gradient(165deg,#FFFFFF,#F4F7FF);
    box-shadow:var(--sh-lg);
    border:1px solid rgba(37,99,235,.14);
    overflow:hidden;
  }
  .price-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:4px;
    background:linear-gradient(90deg,var(--blue-light),var(--blue),var(--blue-deep));
  }
  .price-badge{
    display:inline-block;background:rgba(225,29,72,.1);color:var(--red);
    font-size:11px;font-weight:900;letter-spacing:.4px;text-transform:uppercase;
    padding:5px 12px;border-radius:20px;margin-bottom:12px;
  }
  .price-line{display:flex;align-items:baseline;justify-content:center;gap:12px;flex-wrap:wrap}
  .price-old{font-size:16px;color:var(--muted);text-decoration:line-through;font-weight:700}
  .price-now{font-size:clamp(34px,8vw,44px);font-weight:900;letter-spacing:-1.4px;color:var(--ink)}
  .price-now small{font-size:17px;font-weight:800;color:var(--muted);letter-spacing:0}

  .buy-btn{
    display:block;width:100%;text-align:center;color:#fff;
    background:linear-gradient(140deg,var(--blue),var(--blue-deep));
    font-size:16.5px;font-weight:800;padding:18px;border-radius:15px;margin:18px 0 0;
    box-shadow:var(--sh-blue), inset 0 1px 0 rgba(255,255,255,.25);
    transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s;
  }
  .buy-btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(37,99,235,.42), inset 0 1px 0 rgba(255,255,255,.3)}
  .buy-btn:active{transform:translateY(0)}
  .pay-methods{margin:16px 0 0;font-size:11.5px;color:var(--muted);line-height:1.6;font-weight:600}
  .guarantee-mini{
    margin:14px 0 0;font-size:12px;font-weight:800;color:var(--green);
    display:flex;align-items:center;justify-content:center;gap:6px;
  }
  .guarantee-mini svg{width:15px;height:15px}

  /* ====== SECTIONS ====== */
  .section{margin:54px 0}
  .eyebrow{
    font-size:11.5px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;
    color:var(--blue);margin:0 0 10px;
  }
  h2{font-size:clamp(21px,4.6vw,28px);font-weight:900;letter-spacing:-.7px;line-height:1.2;margin:0 0 18px}
  .section p{font-size:15px;line-height:1.7;color:var(--ink-soft);margin:0 0 15px}

  /* Récit fondateur */
  .story{
    background:var(--card);border-radius:var(--radius);padding:28px 26px;
    box-shadow:var(--sh-md);border:1px solid var(--line);position:relative;
  }
  .story::before{
    content:'';position:absolute;left:0;top:26px;bottom:26px;width:3px;border-radius:3px;
    background:linear-gradient(180deg,var(--blue-light),var(--blue-deep));
  }
  .story p:last-child{margin-bottom:0}

  /* Modules — cartes 3D */
  .module{
    position:relative;background:var(--card);border-radius:18px;padding:22px 22px 22px 74px;
    margin-bottom:14px;border:1px solid var(--line);box-shadow:var(--sh-sm);
    transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
  }
  .module:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
  .module-num{
    position:absolute;left:22px;top:22px;width:38px;height:38px;border-radius:12px;
    background:linear-gradient(140deg,var(--blue-light),var(--blue-deep));color:#fff;
    display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;
    box-shadow:0 6px 16px rgba(37,99,235,.38), inset 0 1px 0 rgba(255,255,255,.35);
  }
  .module b{display:block;font-size:15.5px;font-weight:900;margin-bottom:7px;letter-spacing:-.2px}
  .module p{margin:0;font-size:13.8px;color:var(--muted);line-height:1.6}

  .bonus{
    background:linear-gradient(140deg,rgba(37,99,235,.07),rgba(96,165,250,.05));
    border:1px dashed rgba(37,99,235,.3);border-radius:16px;padding:18px 20px;
    font-size:14px;line-height:1.6;color:var(--ink-soft);margin-top:6px;
  }

  /* Résultats — grille de cartes */
  .results{display:grid;grid-template-columns:1fr;gap:12px}
  @media (min-width:620px){ .results{grid-template-columns:1fr 1fr} }
  .result{
    background:var(--card);border-radius:16px;padding:18px 20px;border:1px solid var(--line);
    box-shadow:var(--sh-sm);transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
  }
  .result:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
  .result-val{
    font-size:23px;font-weight:900;letter-spacing:-.8px;margin-bottom:5px;
    background:linear-gradient(120deg,var(--blue-deep),var(--blue-light));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .result p{margin:0;font-size:13px;color:var(--muted);line-height:1.55}

  /* Pour toi / pas pour toi */
  .fit-grid{display:grid;grid-template-columns:1fr;gap:16px}
  @media (min-width:620px){ .fit-grid{grid-template-columns:1fr 1fr} }
  .fit-card{
    border-radius:18px;padding:22px;font-size:14px;line-height:1.65;
    box-shadow:var(--sh-sm);border:1px solid var(--line);background:var(--card);
  }
  .fit-card b{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14.5px;font-weight:900}
  .fit-yes{border-color:rgba(16,185,129,.28);background:linear-gradient(165deg,#fff,rgba(16,185,129,.05))}
  .fit-no{border-color:rgba(225,29,72,.22);background:linear-gradient(165deg,#fff,rgba(225,29,72,.04))}
  .fit-card ul{margin:0;padding-left:20px;color:var(--ink-soft)}
  .fit-card li{margin-bottom:7px}

  /* Garantie */
  .guarantee{
    position:relative;overflow:hidden;color:#fff;border-radius:var(--radius);padding:32px 26px;
    background:linear-gradient(150deg,#1E3A8A,#1D4ED8 55%,#2563EB);
    box-shadow:var(--sh-lg);text-align:center;
  }
  .guarantee::after{
    content:'';position:absolute;width:300px;height:300px;border-radius:50%;
    background:rgba(255,255,255,.09);top:-130px;right:-90px;
  }
  .guarantee h3{margin:0 0 10px;font-size:19px;font-weight:900;position:relative}
  .guarantee p{color:rgba(255,255,255,.88);font-size:14.5px;line-height:1.65;margin:0;position:relative}

  .quote{
    font-style:italic;color:var(--muted);font-size:14.5px;text-align:center;
    margin:30px auto;max-width:520px;line-height:1.65;
  }
  .quote b{display:block;font-style:normal;color:var(--ink);font-size:13px;margin-top:10px;font-weight:800}

  /* Avis */
  .review{
    background:var(--card);border-radius:16px;padding:18px 20px;margin-bottom:12px;
    border:1px solid var(--line);box-shadow:var(--sh-sm);
  }
  .review-head{display:flex;align-items:center;gap:11px;margin-bottom:9px}
  .review-avatar{
    width:36px;height:36px;border-radius:50%;flex-shrink:0;color:#fff;font-weight:900;font-size:13px;
    background:linear-gradient(140deg,var(--blue-light),var(--blue-deep));
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 12px rgba(37,99,235,.3);
  }
  .review-name{font-weight:800;font-size:13.5px;line-height:1.2}
  .review-date{font-size:11px;color:var(--muted);margin-top:2px}
  .review-stars{margin-left:auto;color:var(--gold);font-size:12px;letter-spacing:1px}
  .review p{margin:0;font-size:13.8px;color:var(--ink-soft);line-height:1.55}

  /* CTA final */
  .final-cta{text-align:center;padding:20px 0 110px}
  .final-cta h2{margin-bottom:10px}
  .final-cta .sub{font-size:14.5px;color:var(--muted);margin:0 0 22px;line-height:1.6}
  .final-cta .buy-btn{max-width:420px;margin:0 auto}

  /* Barre collante bas */
  .sticky-bar{
    position:fixed;left:0;right:0;bottom:0;z-index:40;
    background:rgba(255,255,255,.92);backdrop-filter:blur(16px);
    border-top:1px solid var(--line);padding:12px 18px;
    display:flex;align-items:center;gap:14px;
    box-shadow:0 -8px 30px rgba(10,16,32,.1);
    transform:translateY(120%);transition:transform .4s cubic-bezier(.2,.8,.2,1);
  }
  .sticky-bar.is-visible{transform:translateY(0)}
  .sticky-price{flex:1;min-width:0}
  .sticky-price b{display:block;font-size:19px;font-weight:900;letter-spacing:-.6px;line-height:1.1}
  .sticky-price small{font-size:11px;color:var(--muted);text-decoration:line-through;font-weight:700}
  .sticky-bar .buy-btn{width:auto;margin:0;padding:14px 26px;font-size:14.5px;flex-shrink:0}

  /* Apparition au défilement */
  .reveal{opacity:0;transform:translateY(26px)}
  .reveal.is-in{opacity:1;transform:none;transition:opacity .75s cubic-bezier(.2,.8,.2,1), transform .75s cubic-bezier(.2,.8,.2,1)}
  @media (prefers-reduced-motion:reduce){
    .reveal{opacity:1;transform:none}
    .video-box{transform:none}
    .video-play i::before{animation:none}
  }

  /* Modal */
  .modal-overlay{
    display:none;position:fixed;inset:0;background:rgba(10,16,32,.6);z-index:60;
    align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);
  }
  .modal-overlay.is-open{display:flex}
  .modal{
    background:#fff;border-radius:22px;padding:28px 24px;max-width:400px;width:100%;
    box-shadow:0 30px 70px rgba(10,16,32,.35);
    animation:modalIn .32s cubic-bezier(.2,.8,.2,1);
  }
  @keyframes modalIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
  .modal h3{margin:0 0 4px;font-size:19px;font-weight:900;letter-spacing:-.4px}
  .modal .hint{margin:4px 0 20px;font-size:13px;color:var(--muted)}
  .modal .hint b{color:var(--ink)}
  .modal label{display:block;font-size:12.5px;font-weight:800;margin:14px 0 7px}
  .modal input{
    width:100%;padding:13px 14px;border-radius:12px;border:1.5px solid var(--line);
    font-size:14.5px;background:#FBFCFF;transition:border-color .2s, box-shadow .2s;
  }
  .modal input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,235,.13);background:#fff}
  .modal-error{
    display:none;background:rgba(225,29,72,.09);color:var(--red);font-size:12.5px;font-weight:700;
    padding:11px 13px;border-radius:11px;margin-top:16px;
  }
  .modal-error.is-visible{display:block}
  .modal-actions{display:flex;gap:10px;margin-top:20px}
  .modal-cancel{
    flex:1;text-align:center;padding:15px;border-radius:13px;border:1.5px solid var(--line);
    font-weight:800;font-size:13.5px;color:var(--muted);
  }
  .modal-cancel:hover{background:#F8FAFF}
  .modal-submit{flex:2;margin:0}
  .modal-submit[disabled]{opacity:.6;cursor:default;transform:none}

  /* ================================================================
     AJOUTS — accueil, étapes, pied de page.
     Même palette et mêmes ombres que la page qui convertit.
     ================================================================ */

  /* Largeur élargie réservée à l'accueil (les pages de vente
     gardent la colonne étroite de 760px qui convertit). */
  .wrap.wrap-wide{max-width:1040px}

  /* Lien retour + navigation discrète dans la barre haute */
  .topbar-nav{display:flex;gap:16px;align-items:center;font-size:12.5px;font-weight:800;color:var(--muted)}
  .topbar-nav a:hover{color:var(--blue)}
  @media (max-width:640px){ .topbar-nav{display:none} }

  /* ---- Grille des formations (accueil) ---- */
  .offers{display:grid;grid-template-columns:1fr;gap:16px;margin-top:8px}
  @media (min-width:760px){ .offers{grid-template-columns:1fr 1fr} }
  .offer{
    display:flex;flex-direction:column;position:relative;overflow:hidden;
    background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
    padding:26px 24px;box-shadow:var(--sh-md);
    transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
  }
  .offer:hover{transform:translateY(-5px);box-shadow:var(--sh-lg)}
  .offer::before{
    content:'';position:absolute;top:0;left:0;right:0;height:4px;
    background:linear-gradient(90deg,var(--blue-light),var(--blue),var(--blue-deep));
  }
  .offer-tag{
    align-self:flex-start;font-size:10.5px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;
    padding:5px 11px;border-radius:20px;margin-bottom:14px;
    background:rgba(37,99,235,.1);color:var(--blue-deep);
  }
  .offer-tag.is-hot{background:rgba(225,29,72,.1);color:var(--red)}
  .offer-tag.is-soon{background:rgba(245,158,11,.14);color:#B45309}
  .offer h3{margin:0 0 9px;font-size:18px;font-weight:900;letter-spacing:-.5px;line-height:1.25}
  .offer .offer-desc{margin:0 0 16px;font-size:13.8px;line-height:1.6;color:var(--muted);flex:1}
  .offer-meta{
    display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:6px;
  }
  .offer-old{font-size:13px;color:var(--muted);text-decoration:line-through;font-weight:700}
  .offer-price{font-size:24px;font-weight:900;letter-spacing:-1px}
  .offer-price small{font-size:13px;font-weight:800;color:var(--muted);letter-spacing:0}
  .offer-proof{margin:0 0 16px;font-size:11.5px;font-weight:700;color:var(--muted)}
  .offer .buy-btn{margin:0;font-size:15px;padding:15px}
  .offer .buy-btn.is-ghost{
    background:none;color:var(--blue-deep);border:1.5px solid rgba(37,99,235,.3);
    box-shadow:none;
  }
  .offer .buy-btn.is-ghost:hover{background:rgba(37,99,235,.05);box-shadow:none;transform:translateY(-2px)}

  /* ---- Parcours en étapes (page Setting) ---- */
  .steps{counter-reset:step;display:grid;grid-template-columns:1fr;gap:12px}
  .step{
    position:relative;background:var(--card);border:1px solid var(--line);border-radius:16px;
    padding:18px 20px 18px 62px;box-shadow:var(--sh-sm);
  }
  .step::before{
    counter-increment:step;content:counter(step);
    position:absolute;left:18px;top:18px;width:30px;height:30px;border-radius:50%;
    background:linear-gradient(140deg,var(--blue-light),var(--blue-deep));color:#fff;
    display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;
    box-shadow:0 5px 14px rgba(37,99,235,.35);
  }
  .step b{display:block;font-size:14.5px;font-weight:900;margin-bottom:5px}
  .step p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.55}

  /* ---- Bandeau de confiance chiffré ---- */
  .stats-band{
    display:grid;grid-template-columns:repeat(2,1fr);gap:1px;overflow:hidden;
    background:var(--line);border:1px solid var(--line);border-radius:var(--radius);
    box-shadow:var(--sh-md);
  }
  @media (min-width:700px){ .stats-band{grid-template-columns:repeat(4,1fr)} }
  .stat{background:var(--card);padding:22px 16px;text-align:center}
  .stat b{
    display:block;font-size:24px;font-weight:900;letter-spacing:-1px;
    background:linear-gradient(120deg,var(--blue-deep),var(--blue-light));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .stat span{display:block;margin-top:4px;font-size:11.5px;font-weight:700;color:var(--muted)}

  /* ---- Questions fréquentes ---- */
  .faq{
    background:var(--card);border:1px solid var(--line);border-radius:16px;
    padding:0 20px;margin-bottom:10px;box-shadow:var(--sh-sm);
  }
  .faq summary{
    list-style:none;cursor:pointer;padding:18px 0;font-size:14.5px;font-weight:800;
    display:flex;align-items:center;gap:12px;
  }
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{
    content:'+';margin-left:auto;font-size:20px;font-weight:700;color:var(--blue);
    transition:transform .3s;
  }
  .faq[open] summary::after{transform:rotate(45deg)}
  .faq p{margin:0 0 18px;font-size:13.8px;color:var(--muted);line-height:1.65}

  /* ---- Pied de page ---- */
  .site-footer{
    border-top:1px solid var(--line);margin-top:20px;padding:34px 20px 120px;
    text-align:center;font-size:12.5px;color:var(--muted);line-height:1.8;position:relative;z-index:1;
  }
  .site-footer a{font-weight:700}
  .site-footer a:hover{color:var(--blue)}
  .footer-links{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}
  .footer-legal{max-width:640px;margin:14px auto 0;font-size:11px;line-height:1.7;opacity:.85}

  /* Page sans barre collante : on récupère l'espace du bas */
  .no-sticky .final-cta{padding-bottom:40px}

  /* ---- Confirmation liste d'attente (formation pas encore ouverte) ---- */
  .waitlist-done{
    display:none;margin:18px 0 0;padding:16px 18px;border-radius:15px;
    background:linear-gradient(140deg,rgba(16,185,129,.1),rgba(16,185,129,.04));
    border:1px solid rgba(16,185,129,.3);
    font-size:13.5px;font-weight:700;line-height:1.6;color:#047857;text-align:left;
  }
  .waitlist-done.is-visible{display:block}
  .price-card .price-soon{
    font-size:clamp(22px,5vw,27px);font-weight:900;letter-spacing:-.9px;line-height:1.25;
  }
  .price-card .price-soon small{
    display:block;margin-top:8px;font-size:12.5px;font-weight:700;color:var(--muted);letter-spacing:0;
  }

  /* ================================================================
     VIDÉO ÉPINGLÉE
     Quand le visiteur descend au-delà de la vidéo, celle-ci rétrécit
     et reste accrochée en haut de l'écran. La lecture n'est jamais
     interrompue : on ne recrée pas l'iframe, on la déplace en CSS.
     ================================================================ */
  .video-box.is-pinned{
    position:fixed;z-index:45;
    top:74px;right:18px;left:auto;
    width:min(320px,42vw);
    border-radius:14px;
    box-shadow:0 18px 44px rgba(10,16,32,.32), 0 0 0 1px rgba(37,99,235,.22);
    animation:pinIn .32s cubic-bezier(.2,.8,.2,1);
  }
  @keyframes pinIn{from{opacity:0;transform:translateY(-12px) scale(.94)}to{opacity:1;transform:none}}
  @media (max-width:640px){
    .video-box.is-pinned{top:66px;right:10px;width:min(200px,50vw);border-radius:12px}
  }
  @media (prefers-reduced-motion:reduce){ .video-box.is-pinned{animation:none} }

  /* Bouton pour décrocher la vidéo — visible uniquement une fois épinglée */
  .video-unpin{
    display:none;position:absolute;z-index:6;top:-9px;right:-9px;
    width:26px;height:26px;border-radius:50%;
    background:var(--ink);color:#fff;font-size:15px;font-weight:800;line-height:1;
    align-items:center;justify-content:center;
    box-shadow:0 4px 12px rgba(10,16,32,.4);
  }
  .video-box.is-pinned .video-unpin{display:flex}
  .video-unpin:hover{background:var(--red)}

  /* Une fois épinglée, la couche « activer le son » ne doit plus
     recouvrir toute la vignette : elle deviendrait un piège à clic. */
  .video-box.is-pinned .sound-cta{padding-bottom:6%}
  .video-box.is-pinned .sound-cta span{font-size:10.5px;padding:7px 12px;gap:5px}
  .video-box.is-pinned .sound-cta svg{width:13px;height:13px}

  /* ================================================================
     SECTION COMMUNAUTÉ (Skool) + GALERIE DE CAPTURES
     ================================================================ */
  .shot{
    margin:0 0 14px;border-radius:18px;overflow:hidden;
    border:1px solid var(--line);box-shadow:var(--sh-md);background:var(--card);
  }
  .shot img{width:100%;height:auto;display:block}
  .shot figcaption{
    padding:12px 16px;font-size:12.5px;line-height:1.55;color:var(--muted);
    font-weight:600;border-top:1px solid var(--line);
  }

  /* Emplacement en attente d'une capture d'écran */
  .shot-slot{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;gap:6px;padding:38px 22px;min-height:180px;
    border:2px dashed rgba(37,99,235,.32);border-radius:18px;
    background:linear-gradient(140deg,rgba(37,99,235,.05),rgba(96,165,250,.03));
    color:var(--blue-deep);font-size:13px;font-weight:800;line-height:1.5;
  }
  .shot-slot small{font-weight:600;color:var(--muted);font-size:11.5px;max-width:320px}

  /* Galerie de témoignages : 1 colonne sur téléphone, 2 sur écran large */
  .gallery{display:grid;grid-template-columns:1fr;gap:14px}
  @media (min-width:620px){ .gallery{grid-template-columns:1fr 1fr} }
  .gallery .shot{margin:0}

  /* ================================================================
     PAGE ACCOMPAGNEMENT — prise de rendez-vous
     ================================================================ */
  .calendly-stage{
    border-radius:var(--radius);overflow:hidden;background:var(--card);
    border:1px solid var(--line);box-shadow:var(--sh-lg);min-height:680px;
  }
  .calendly-inline-widget{min-width:100%;height:680px}
  @media (max-width:640px){
    .calendly-stage,.calendly-inline-widget{min-height:1000px;height:1000px}
  }
  .call-note{
    margin:14px 0 0;font-size:12.5px;line-height:1.65;color:var(--muted);
    text-align:center;font-weight:600;
  }

  /* Carte « ce qui se passe pendant l'appel » */
  .call-card{
    background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
    padding:26px 24px;box-shadow:var(--sh-md);
  }
  .call-card h3{margin:0 0 14px;font-size:17px;font-weight:900;letter-spacing:-.4px}
  .call-list{margin:0;padding:0;list-style:none}
  .call-list li{
    position:relative;padding:0 0 14px 30px;font-size:14px;line-height:1.6;color:var(--ink-soft);
  }
  .call-list li:last-child{padding-bottom:0}
  .call-list li::before{
    content:'';position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;
    background:linear-gradient(140deg,var(--blue-light),var(--blue-deep));
    box-shadow:0 3px 8px rgba(37,99,235,.35);
  }
  .call-list li::after{
    content:'';position:absolute;left:5px;top:10px;width:5px;height:3px;
    border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);
  }

  /* ================================================================
     PAGE DE REMERCIEMENT — volontairement dépouillée
     ================================================================ */
  .thanks{text-align:center;padding:44px 0 20px}
  .thanks-badge{
    display:inline-flex;align-items:center;justify-content:center;
    width:74px;height:74px;border-radius:50%;margin-bottom:20px;
    background:linear-gradient(140deg,#34D399,var(--green));
    box-shadow:0 14px 34px rgba(16,185,129,.4), inset 0 1px 0 rgba(255,255,255,.4);
  }
  .thanks-badge svg{width:36px;height:36px;color:#fff}
  .thanks h1{margin-bottom:12px}
  .thanks .hero-sub{margin-left:auto;margin-right:auto;text-align:center}

  .next-steps{counter-reset:ns;display:grid;grid-template-columns:1fr;gap:12px;text-align:left}
  .next-step{
    position:relative;background:var(--card);border:1px solid var(--line);border-radius:16px;
    padding:20px 22px 20px 64px;box-shadow:var(--sh-sm);
  }
  .next-step::before{
    counter-increment:ns;content:counter(ns);
    position:absolute;left:20px;top:20px;width:32px;height:32px;border-radius:10px;
    background:linear-gradient(140deg,var(--blue-light),var(--blue-deep));color:#fff;
    display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;
    box-shadow:0 5px 14px rgba(37,99,235,.35);
  }
  .next-step b{display:block;font-size:15px;font-weight:900;margin-bottom:5px}
  .next-step p{margin:0;font-size:13.8px;color:var(--muted);line-height:1.6}

  /* Bandeau d'aide en bas de la page de remerciement */
  .help-band{
    margin-top:18px;border-radius:16px;padding:20px 22px;text-align:center;
    background:linear-gradient(140deg,rgba(37,99,235,.07),rgba(96,165,250,.04));
    border:1px dashed rgba(37,99,235,.3);
    font-size:13.5px;line-height:1.65;color:var(--ink-soft);
  }

  /* Étiquette « brouillon » pour une page pas encore publiée */
  /* Volontairement non collant : la barre haute occupe déjà le haut de
     l'écran, deux bandeaux superposés se masqueraient l'un l'autre. */
  .draft-flag{
    position:relative;z-index:50;
    background:linear-gradient(140deg,#B45309,#92400E);color:#fff;
    padding:9px 18px;font-size:12px;font-weight:800;text-align:center;letter-spacing:.2px;
  }
