/* =====================================================================
   PAGE D'ACCUEIL — Digital Blueprint, l'université 2.0
   Direction visuelle reprise de mindeo.com, à la demande d'Oumar :
   nuit violette, accent pervenche, police Outfit, boutons en pilule,
   apparitions « pop » et compteurs animés.
   Ces styles ne s'appliquent qu'à la page d'accueil (body.home) : les
   pages de vente gardent leur bleu, qui convertit déjà.
   ===================================================================== */

.home{
  --m-abyss:#000025;
  --m-deep:#10003B;
  --m-night:#010128;
  --m-night-2:#0F125F;
  --m-accent:#6C7AF7;
  --m-accent-2:#5F64E1;
  --m-accent-3:#838EF0;
  --m-violet:#B69CFF;
  --m-lav:#CBCDFF;
  --m-lav-2:#E0DFFF;
  --m-lav-3:#F1F1FF;
  --m-ink:#0F125F;
  --m-text:#2B2D5C;
  --m-muted:#6E7191;
  --m-line:rgba(15,18,95,.09);
  --m-bg:#FAFCFF;
  --m-sh:0 2px 6px rgba(15,18,95,.05), 0 18px 44px rgba(15,18,95,.10);
  --m-sh-lg:0 6px 14px rgba(15,18,95,.08), 0 34px 70px rgba(15,18,95,.18);
  --m-ease:cubic-bezier(.2,.8,.2,1);

  font-family:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--m-bg);color:var(--m-ink);
}
.home .bg-deco{display:none}
.m-wrap{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding-inline:20px}

/* ---------------- Barre haute ---------------- */
.home .topbar{
  background:rgba(1,1,40,.72);border-bottom:1px solid rgba(203,205,255,.12);color:#fff;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background-color .3s;
}
.home .topbar.is-scrolled{background:rgba(1,1,40,.94)}
.home .brand{color:#fff;font-weight:600;letter-spacing:.3px}
.home .brand span{color:var(--m-lav)}
.home .brand-mark{background:linear-gradient(140deg,var(--m-accent-3),var(--m-accent-2));box-shadow:0 4px 14px rgba(108,122,247,.45)}
.home .topbar-nav{gap:28px;font-size:15px;font-weight:300;color:rgba(255,255,255,.75)}
.home .topbar-nav a{transition:color .2s}
.home .topbar-nav a:hover{color:#fff}
.home .topbar-cta{
  background:var(--m-accent);box-shadow:none;border-radius:40px;
  font-size:14.5px;font-weight:400;padding:10px 20px;transition:background-color .2s;
}
.home .topbar-cta:hover{background:var(--m-accent-2)}
.home .topbar a:focus-visible{outline:3px solid var(--m-lav);outline-offset:3px;border-radius:8px}

/* ---------------- Boutons (pilules Mindeo) ---------------- */
.m-btns{display:flex;flex-wrap:wrap;gap:12px}
.m-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border-radius:40px;padding:15px 30px;font-size:16px;font-weight:400;line-height:1.1;white-space:nowrap;
  transition:transform .3s var(--m-ease), background-color .25s, box-shadow .3s, border-color .25s, color .25s;
}
.m-btn svg{width:18px;height:18px;flex-shrink:0;transition:transform .3s var(--m-ease)}
.m-btn:hover svg{transform:translateX(3px)}
.m-btn-primary{color:#fff;background:var(--m-accent);box-shadow:0 10px 30px rgba(108,122,247,.35)}
.m-btn-primary:hover{background:var(--m-accent-2);transform:translateY(-2px);box-shadow:0 16px 38px rgba(108,122,247,.45)}
.m-btn-glass{
  color:#fff;background:rgba(235,236,255,.1);border:1px solid rgba(134,134,255,.3);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
}
.m-btn-glass:hover{background:rgba(235,236,255,.18);transform:translateY(-2px)}
.m-btn-line{color:var(--m-ink);background:#fff;border:1px solid var(--m-line)}
.m-btn-line:hover{border-color:var(--m-accent);color:var(--m-accent-2);transform:translateY(-2px)}
.m-btn:focus-visible{outline:3px solid var(--m-lav);outline-offset:3px}
@media (max-width:520px){ .m-btns .m-btn{flex:1 1 100%} }

/* ---------------- Titres de section ---------------- */
.m-sec{padding-block:80px}
@media (min-width:900px){ .m-sec{padding-block:110px} }
.m-lavender{background:linear-gradient(#fff 22%,var(--m-lav-2) 100%)}
.m-lavender-rev{background:linear-gradient(var(--m-lav-2) 0%,#fff 72%)}
.m-head{max-width:740px;margin:0 auto 52px;text-align:center}
.m-kicker{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;
  font-size:13.5px;font-weight:500;letter-spacing:.2px;color:var(--m-accent-2);
  background:var(--m-lav-3);border:1px solid rgba(108,122,247,.2);border-radius:40px;padding:7px 15px;
}
.m-kicker::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--m-accent)}
.m-h2{
  font-size:clamp(30px,4.6vw,50px);font-weight:500;line-height:1.08;letter-spacing:-.9px;
  margin:0 0 18px;color:var(--m-ink);text-wrap:balance;
}
.m-hl{
  background:linear-gradient(100deg,var(--m-accent) 0%,#9B7BFF 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.m-sub{margin:0;font-size:clamp(16px,1.6vw,18.5px);font-weight:300;line-height:1.65;color:var(--m-muted);text-wrap:pretty}

/* ---------------- Héros ---------------- */
.m-hero{
  position:relative;overflow:hidden;text-align:center;color:#fff;
  background:linear-gradient(var(--m-deep),var(--m-abyss));padding-block:64px 88px;
}
.m-hero::before,.m-hero::after{content:'';position:absolute;border-radius:50%;pointer-events:none}
.m-hero::before{width:780px;height:780px;left:-240px;top:-280px;background:radial-gradient(circle,rgba(169,59,171,.24),transparent 64%)}
.m-hero::after{width:860px;height:860px;right:-280px;top:60px;background:radial-gradient(circle,rgba(60,59,171,.42),transparent 64%)}
.m-hero .m-wrap{display:flex;flex-direction:column;align-items:center}
.m-pill{
  display:inline-flex;align-items:center;gap:10px;margin-bottom:26px;
  font-size:14.5px;font-weight:300;color:rgba(255,255,255,.86);
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:40px;padding:6px 16px 6px 6px;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
}
.m-pill b{font-weight:500;color:#fff;background:var(--m-accent);border-radius:30px;padding:5px 11px;font-size:13px}
.m-hero h1{
  font-size:clamp(36px,6.4vw,70px);font-weight:500;line-height:1.05;letter-spacing:-1.5px;
  margin:0 0 24px;max-width:920px;color:#fff;text-wrap:balance;
}
.m-hero h1 em{
  font-style:normal;
  background:linear-gradient(100deg,var(--m-lav) 0%,var(--m-accent-3) 55%,var(--m-violet) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.m-hero-sub{margin:0 0 34px;max-width:640px;font-size:clamp(16px,1.9vw,19.5px);font-weight:300;line-height:1.65;color:rgba(255,255,255,.78)}
.m-hero .m-btns{justify-content:center}

/* Scène sous le titre : portrait au centre, deux cartes en verre */
.m-stage{position:relative;width:100%;max-width:1020px;margin-top:60px;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}
.m-portrait{
  order:-1;grid-column:1/-1;position:relative;width:100%;max-width:390px;margin:0 auto 6px;
  border-radius:30px;overflow:hidden;border:1px solid rgba(203,205,255,.18);
  box-shadow:0 40px 90px rgba(0,0,0,.5), 0 0 0 1px rgba(108,122,247,.12);background:var(--m-night-2);
}
.m-portrait img{display:block;width:100%;height:auto;aspect-ratio:760/886;object-fit:cover}
.m-portrait figcaption{
  position:absolute;left:14px;right:14px;bottom:14px;text-align:left;
  background:rgba(1,1,40,.62);border:1px solid rgba(203,205,255,.18);border-radius:18px;padding:12px 16px;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  font-size:16px;font-weight:500;color:#fff;line-height:1.3;
}
.m-portrait figcaption small{display:block;font-size:13px;font-weight:300;color:rgba(255,255,255,.72)}
.m-glass{
  text-align:left;color:#fff;border-radius:24px;padding:20px;
  background:rgba(255,255,255,.06);border:1px solid rgba(203,205,255,.16);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.m-glass small{font-size:13px;font-weight:400;color:var(--m-lav)}
.m-glass b{display:block;margin:6px 0 4px;font-size:clamp(24px,3vw,34px);font-weight:600;letter-spacing:-.8px;font-variant-numeric:tabular-nums;white-space:nowrap}
.m-glass p{margin:0;font-size:14px;font-weight:300;line-height:1.5;color:rgba(255,255,255,.72)}
.m-plats{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.m-plats span{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.m-plats svg{width:16px;height:16px}
@media (min-width:900px){
  .m-stage{grid-template-columns:1fr 390px 1fr;gap:26px}
  .m-portrait{order:0;grid-column:auto;margin:0}
  .m-glass{padding:24px}
}

/* Jauge de la mission */
.m-bar{height:8px;border-radius:8px;background:rgba(255,255,255,.1);overflow:hidden;margin:14px 0 8px}
.m-bar i{display:block;height:100%;width:var(--p);border-radius:8px;background:linear-gradient(90deg,var(--m-accent),var(--m-violet))}
.m-bar-legend{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;font-weight:300;color:rgba(255,255,255,.62)}

/* ---------------- Mission ---------------- */
.m-mission{display:grid;gap:20px;grid-template-columns:1fr;align-items:stretch}
@media (min-width:900px){ .m-mission{grid-template-columns:1.25fr 1fr;gap:24px} }
.m-story{position:relative;background:#fff;border:1px solid var(--m-line);border-radius:28px;padding:34px 30px;box-shadow:var(--m-sh)}
@media (min-width:900px){ .m-story{padding:44px 42px} }
.m-quote-mark{display:block;height:36px;font-size:84px;line-height:.75;font-weight:600;color:var(--m-lav)}
.m-story p{margin:0 0 16px;font-size:clamp(17px,1.8vw,19.5px);font-weight:300;line-height:1.7;color:var(--m-text)}
.m-story p b{font-weight:500;color:var(--m-ink)}
.m-sign{display:flex;align-items:center;gap:14px;margin-top:24px;padding-top:22px;border-top:1px solid var(--m-line)}
.m-sign img{width:54px;height:54px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:2px solid var(--m-lav-2)}
.m-sign b{display:block;font-size:16.5px;font-weight:500}
.m-sign span{font-size:14px;font-weight:300;color:var(--m-muted)}

.m-meter{
  position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;
  color:#fff;border-radius:28px;padding:36px 30px;box-shadow:var(--m-sh-lg);
  background:linear-gradient(160deg,var(--m-night-2),var(--m-night));
}
.m-meter::after{content:'';position:absolute;width:480px;height:480px;border-radius:50%;top:-240px;right:-180px;pointer-events:none;background:radial-gradient(circle,rgba(108,122,247,.4),transparent 64%)}
.m-meter > *{position:relative;z-index:1}
.m-meter small{font-size:14px;font-weight:400;color:var(--m-lav)}
.m-big{display:block;margin:10px 0 2px;font-size:clamp(54px,7vw,82px);font-weight:600;letter-spacing:-2px;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.m-big small{font-size:.36em;font-weight:300;letter-spacing:0;color:rgba(255,255,255,.7)}
.m-meter .m-bar{height:10px;margin-top:22px}
.m-meter .m-bar-legend{margin-bottom:22px}
.m-meter p{margin:0;font-size:15.5px;font-weight:300;line-height:1.6;color:rgba(255,255,255,.78)}

.m-move{margin-top:24px;text-align:center;background:#fff;border:1px solid var(--m-line);border-radius:28px;padding:36px 26px;box-shadow:var(--m-sh)}
.m-move h3{margin:0 0 10px;font-size:clamp(23px,3.2vw,34px);font-weight:500;letter-spacing:-.6px;line-height:1.18;text-wrap:balance}
.m-move > p{margin:0 auto 24px;max-width:560px;font-size:16px;font-weight:300;line-height:1.6;color:var(--m-muted)}
.m-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.m-tag{
  display:inline-flex;align-items:center;gap:9px;font-size:15.5px;font-weight:400;color:var(--m-ink);
  background:var(--m-lav-3);border:1px solid rgba(108,122,247,.18);border-radius:40px;padding:11px 18px;
}
.m-tag svg{width:17px;height:17px;flex-shrink:0;color:var(--m-accent)}

.m-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 38px;margin-top:44px}
.m-logos p{width:100%;margin:0 0 4px;text-align:center;font-size:14.5px;font-weight:300;color:var(--m-muted)}
.m-logo{display:inline-flex;align-items:center;gap:9px;font-size:19px;font-weight:500;color:var(--m-ink);opacity:.72}
.m-logo svg{width:22px;height:22px}

/* ---------------- Le chemin ---------------- */
.m-formula{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:26px}
.m-formula span{font-size:15px;font-weight:400;color:var(--m-ink);background:#fff;border:1px solid var(--m-line);border-radius:40px;padding:10px 18px;box-shadow:var(--m-sh)}
.m-formula span:last-child{color:#fff;background:var(--m-accent);border-color:transparent}
.m-formula i{font-style:normal;color:var(--m-accent)}
.m-steps{display:grid;gap:18px;grid-template-columns:1fr}
@media (min-width:860px){ .m-steps{grid-template-columns:repeat(3,1fr)} }
.m-step{position:relative;overflow:hidden;background:#fff;border:1px solid var(--m-line);border-radius:26px;padding:30px 28px;box-shadow:var(--m-sh)}
.m-step small{font-size:13.5px;font-weight:500;color:var(--m-accent-2)}
.m-num{
  display:block;margin:14px 0 12px;font-size:clamp(46px,5.6vw,62px);font-weight:600;letter-spacing:-1.6px;line-height:1;
  font-variant-numeric:tabular-nums;white-space:nowrap;
  background:linear-gradient(100deg,var(--m-accent),#9B7BFF);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.m-step p{margin:0;font-size:15.5px;font-weight:300;line-height:1.6;color:var(--m-muted)}
.m-step.is-top{color:#fff;border-color:transparent;background:linear-gradient(160deg,var(--m-night-2),var(--m-night));box-shadow:var(--m-sh-lg)}
.m-step.is-top::after{content:'';position:absolute;width:360px;height:360px;border-radius:50%;bottom:-200px;right:-140px;pointer-events:none;background:radial-gradient(circle,rgba(108,122,247,.45),transparent 64%)}
.m-step.is-top > *{position:relative;z-index:1}
.m-step.is-top small{color:var(--m-lav)}
.m-step.is-top .m-num{background:linear-gradient(100deg,#fff,var(--m-lav));-webkit-background-clip:text;background-clip:text}
.m-step.is-top p{color:rgba(255,255,255,.76)}

.m-method{display:grid;gap:14px;grid-template-columns:1fr;margin-top:26px}
@media (min-width:760px){ .m-method{grid-template-columns:repeat(3,1fr)} }
.m-mini{display:flex;gap:14px;align-items:flex-start;background:rgba(255,255,255,.75);border:1px solid var(--m-line);border-radius:20px;padding:18px 20px}
.m-ico{flex-shrink:0;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--m-lav-3);color:var(--m-accent-2)}
.m-ico svg{width:20px;height:20px}
.m-mini b{display:block;margin-bottom:3px;font-size:17px;font-weight:500}
.m-mini span{font-size:14.5px;font-weight:300;line-height:1.5;color:var(--m-muted)}

/* ---------------- Programmes ---------------- */
.m-cards{display:grid;gap:22px;grid-template-columns:1fr}
@media (min-width:900px){ .m-cards{grid-template-columns:repeat(3,1fr)} }
.m-card{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--m-line);border-radius:28px;padding:12px;
  box-shadow:var(--m-sh);transition:transform .4s var(--m-ease), box-shadow .4s;
}
.m-card:hover{transform:translateY(-6px);box-shadow:var(--m-sh-lg)}
.m-card-media{border-radius:20px;overflow:hidden;aspect-ratio:16/9;background:var(--m-night)}
.m-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--m-ease)}
.m-card:hover .m-card-media img{transform:scale(1.04)}
.m-card-media.is-drawn{
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(90% 120% at 50% 115%,rgba(108,122,247,.65),transparent 62%),linear-gradient(var(--m-deep),var(--m-abyss));
}
.m-card-media.is-drawn strong{font-size:clamp(40px,5vw,54px);font-weight:600;letter-spacing:-1.5px;color:#fff;text-shadow:0 0 34px rgba(131,142,240,.8)}
.m-card-media.is-drawn strong span{color:var(--m-lav)}
.m-card-body{display:flex;flex-direction:column;flex:1;padding:20px 14px 12px}
.m-label{align-self:flex-start;margin-bottom:12px;font-size:13px;font-weight:500;color:var(--m-accent-2);background:var(--m-lav-3);border-radius:30px;padding:5px 12px}
.m-label.is-soon{color:#8A5300;background:#FFF1D6}
.m-card h3{margin:0 0 10px;font-size:23px;font-weight:500;letter-spacing:-.4px;line-height:1.2}
.m-card-body > p{margin:0 0 16px;font-size:15.5px;font-weight:300;line-height:1.6;color:var(--m-muted)}
.m-list{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px}
.m-list li{display:flex;gap:10px;font-size:15px;font-weight:400;line-height:1.45;color:var(--m-text)}
.m-list li::before{
  content:'';flex-shrink:0;width:19px;height:19px;margin-top:1px;border-radius:50%;
  background:var(--m-lav-3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235F64E1' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat;
}
.m-card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--m-line)}
.m-price{font-size:13px;font-weight:300;color:var(--m-muted)}
.m-price b{display:block;font-size:20px;font-weight:600;letter-spacing:-.3px;color:var(--m-ink)}
.m-card-foot .m-btn{padding:12px 20px;font-size:15px}

/* ---------------- Simple, humain, accessible ---------------- */
.m-feats{display:grid;gap:18px;grid-template-columns:1fr;margin-bottom:44px}
@media (min-width:860px){ .m-feats{grid-template-columns:repeat(3,1fr)} }
.m-feat{background:#fff;border:1px solid var(--m-line);border-radius:26px;padding:30px 28px;box-shadow:var(--m-sh)}
.m-feat .m-ico{width:56px;height:56px;margin-bottom:20px}
.m-feat .m-ico svg{width:24px;height:24px}
.m-feat h3{margin:0 0 8px;font-size:21px;font-weight:500;letter-spacing:-.3px}
.m-feat p{margin:0;font-size:15.5px;font-weight:300;line-height:1.6;color:var(--m-muted)}
.m-shot{max-width:560px;margin:0 auto;border-radius:26px;overflow:hidden;background:#fff;border:1px solid var(--m-line);box-shadow:var(--m-sh-lg)}
.m-shot img{display:block;width:100%;height:auto;max-height:640px;object-fit:cover;object-position:top}
.m-shot figcaption{padding:14px 18px;text-align:center;font-size:14.5px;font-weight:300;color:var(--m-muted)}

/* ---------------- Accompagnement ---------------- */
.m-coach{
  position:relative;overflow:hidden;display:grid;gap:34px;grid-template-columns:1fr;align-items:center;
  color:#fff;border-radius:32px;padding:48px 24px;box-shadow:var(--m-sh-lg);
  background:linear-gradient(var(--m-deep),var(--m-abyss));
}
@media (min-width:900px){ .m-coach{grid-template-columns:1fr 1fr;gap:56px;padding:72px 60px} }
.m-coach::before{content:'';position:absolute;width:620px;height:620px;border-radius:50%;top:-300px;left:-220px;pointer-events:none;background:radial-gradient(circle,rgba(169,59,171,.25),transparent 64%)}
.m-coach::after{content:'';position:absolute;width:620px;height:620px;border-radius:50%;bottom:-320px;right:-200px;pointer-events:none;background:radial-gradient(circle,rgba(60,59,171,.5),transparent 64%)}
.m-coach > *{position:relative;z-index:1}
.m-coach .m-kicker,.m-final .m-kicker{color:var(--m-lav);background:rgba(255,255,255,.06);border-color:rgba(203,205,255,.2)}
.m-coach .m-kicker::before,.m-final .m-kicker::before{background:var(--m-lav)}
.m-coach .m-h2,.m-final .m-h2{color:#fff}
.m-coach .m-hl,.m-final .m-hl{background:linear-gradient(100deg,var(--m-lav),var(--m-violet));-webkit-background-clip:text;background-clip:text}
.m-coach .m-sub{margin-bottom:28px;color:rgba(255,255,255,.76)}
.m-coach-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:etape}
.m-coach-steps li{
  counter-increment:etape;display:flex;gap:16px;align-items:flex-start;
  background:rgba(255,255,255,.05);border:1px solid rgba(203,205,255,.14);border-radius:20px;padding:18px 20px;
}
.m-coach-steps li::before{
  content:counter(etape);flex-shrink:0;width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;background:var(--m-accent);color:#fff;font-weight:500;
}
.m-coach-steps b{display:block;margin-bottom:3px;font-size:16.5px;font-weight:500}
.m-coach-steps span{font-size:14.5px;font-weight:300;line-height:1.5;color:rgba(255,255,255,.72)}

/* ---------------- Résultats ---------------- */
.m-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:800px;margin:0 auto 34px}
.m-stat{text-align:center;background:#fff;border:1px solid var(--m-line);border-radius:22px;padding:20px 8px;box-shadow:var(--m-sh)}
.m-stat b{display:block;font-size:clamp(24px,3.6vw,38px);font-weight:600;letter-spacing:-1px;color:var(--m-accent-2);font-variant-numeric:tabular-nums;white-space:nowrap}
.m-stat span{display:block;margin-top:4px;font-size:13.5px;font-weight:300;line-height:1.35;color:var(--m-muted)}
.m-results{border-radius:28px;overflow:hidden;background:var(--m-night);box-shadow:var(--m-sh-lg)}
.m-results img{display:block;width:100%;height:auto}
.m-disclaim{margin:20px auto 0;text-align:center;font-size:16px;font-weight:500;color:var(--m-ink)}
.m-disclaim small{display:block;margin-top:4px;font-size:14px;font-weight:300;color:var(--m-muted)}
.m-center{display:flex;justify-content:center;margin-top:26px}

/* ---------------- Passe à l'action ---------------- */
.m-final{position:relative;overflow:hidden;text-align:center;color:#fff;background:linear-gradient(var(--m-deep),var(--m-abyss));padding-block:96px}
.m-final::before{content:'';position:absolute;width:900px;height:900px;border-radius:50%;left:50%;top:-520px;transform:translateX(-50%);pointer-events:none;background:radial-gradient(circle,rgba(108,122,247,.36),transparent 62%)}
.m-final .m-sub{max-width:620px;margin:0 auto 34px;color:rgba(255,255,255,.76)}
.m-final .m-btns{justify-content:center}
.m-pay{margin-top:44px}
.m-pay p{margin:0 0 12px;font-size:14.5px;font-weight:300;color:rgba(255,255,255,.66)}
.m-pay div{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.m-pay span{font-size:14px;font-weight:400;color:#fff;padding:9px 16px;border-radius:40px;background:rgba(255,255,255,.06);border:1px solid rgba(203,205,255,.16)}

/* ---------------- Pied de page, version accueil ---------------- */
.home .foot{margin-top:0;background:var(--m-abyss);border-top:1px solid rgba(203,205,255,.1)}
.home .foot .brand span{color:var(--m-lav)}
.home .foot-social a:hover{background:var(--m-accent)}
.home .foot-col b{font-weight:500}

/* =====================================================================
   ANIMATIONS
   Les états cachés n'existent que si html porte .m-anim (ajoutée par un
   petit script dans le <head>, et jamais si le visiteur a demandé moins
   de mouvement). Sans JavaScript, tout reste visible. Si le script
   principal ne se charge pas, .m-force rend tout visible après 3,5 s.
   ===================================================================== */

/* Titre du héros : chaque mot sort du flou, l'un après l'autre */
.m-anim [data-mots]{opacity:0}
.m-anim [data-mots].is-split{opacity:1}
.m-anim .m-w{
  display:inline-block;opacity:0;transform:translateY(22px);filter:blur(8px);
  animation:mWord .85s var(--m-ease) forwards;animation-delay:calc(var(--i) * 65ms + 120ms);
}
.m-anim .m-hero h1 em{background:none;color:inherit}
.m-anim .m-hero h1 em .m-w{
  background:linear-gradient(100deg,var(--m-lav) 0%,var(--m-accent-3) 55%,var(--m-violet) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
@keyframes mWord{to{opacity:1;transform:none;filter:blur(0)}}

/* Éléments du héros au chargement */
.m-anim .m-in{opacity:0;transform:translateY(18px);animation:mUp .9s var(--m-ease) forwards;animation-delay:var(--d,0s)}
@keyframes mUp{to{opacity:1;transform:none}}

/* Apparition au défilement */
.m-anim .m-rev{
  opacity:0;transform:translateY(36px);
  transition:opacity .9s var(--m-ease), transform .9s var(--m-ease);transition-delay:var(--d,0s);
}
.m-anim .m-rev.is-in{opacity:1;transform:none}

/* Le « pop » signature de Mindeo : 60 % de la taille, légère inclinaison */
.m-anim .m-pop{
  opacity:0;transform:scale(.6) skew(-2deg,-3deg);
  transition:opacity .6s ease, transform .9s cubic-bezier(.34,1.56,.64,1);transition-delay:var(--d,0s);
}
.m-anim .m-pop.is-in{opacity:1;transform:none}

/* Jauge qui se remplit */
.m-anim .m-bar i{width:0;transition:width 1.8s var(--m-ease) .35s}
.m-anim .is-in .m-bar i{width:var(--p)}

/* Filet de sécurité */
.m-force [data-mots],.m-force .m-w,.m-force .m-in,.m-force .m-rev,.m-force .m-pop{
  opacity:1!important;transform:none!important;filter:none!important;animation:none!important;
}
.m-force .m-bar i{width:var(--p)!important}

@media (prefers-reduced-motion:reduce){
  .m-btn,.m-card,.m-card-media img,.m-btn svg{transition:none}
  .m-card:hover,.m-btn:hover{transform:none}
}
