:root{
  --bg:#fbf7ff;
  --ink:#1b1464;
  --muted:rgba(27, 20, 100, 0.65);
  --primary-1:#7b3ff2;
  --primary-2:#ff00ff;
  --secondary:#f3f0ff;

  --stroke: rgba(27, 20, 100, 0.12);

  --font-main:"Avenir Next","Avenir","Century Gothic","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --container:1100px;
  --radius:12px;
}

*{ box-sizing:border-box; }
html, body{ height:100%; }

body{
  margin:0;
  font-family:var(--font-main);
  background:var(--bg);
  color:var(--ink);
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

.container{
  width:min(var(--container), calc(100% - 40px));
  margin:0 auto;
}

a{
  text-decoration:none;
  color:inherit;
  transition:.2s;
}

/* =========================================================
   ACCUEIL (index) — NE PAS SCROLLER + layout comme avant
   (INCHANGÉ)
   ========================================================= */
body:not(.is-landing){
  height:100vh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

/* ---------------- Header / Nav (commun) ---------------- */
.header{
  padding: 18px 0;
  flex: 0 0 auto;
}

.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.brand__logo{
  width:48px;
  height:48px;
  display:block;
}

.nav{
  display:flex;
  align-items:center;
  gap:22px;
  font-size:13px;
  font-weight:600;
}

.nav__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  opacity:.9;
}

.nav__link:hover{ opacity:1; }

/* ---------------- Buttons (commun) ---------------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;

  padding:14px 26px;
  border-radius:10px;

  font-size:13px;
  font-weight:800;
  line-height:1;
  text-decoration:none;
}

.btn:hover{ transform: translateY(-2px); }

.btn--primary{
  background: linear-gradient(90deg, var(--primary-1), var(--primary-2));
  color:#fff;
  box-shadow:0 10px 20px rgba(123,63,242,.15);
}

.btn--secondary{
  background: var(--secondary);
  color: var(--ink);
}

.btn__icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.btn__icon svg{
  width:18px;
  height:18px;
}

/* (landing utilise .icon dans le bouton) */
.icon{ width:18px; height:18px; flex-shrink:0; vertical-align:middle; }

/* ---------------- Accueil: Main / Hero ---------------- */
body:not(.is-landing) .main{
  flex: 1 1 auto;
  min-height:0;
  display:flex;
}

.hero-intro{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding: 6px 0 0;
}

.hero-intro__inner{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  min-height:0;
}

/* petit trait en haut */
.hero-intro__rule{
  width:80px;
  height:5px;
  background: var(--primary-1);
  border-radius:999px;
  margin-bottom:18px;
}

/* ✅ titre légèrement réduit */
.hero-intro__title{
  margin:0;
  font-weight:900;
  letter-spacing:-.5px;
  font-size: clamp(34px, 5.2vw, 56px);
}

.hero-intro__subtitle{
  margin:12px 0 18px;
  font-size:18px;
  color: var(--muted);
  max-width:560px;
}
.hero-intro__subtitle strong{
  font-weight:800;
  color: var(--ink);
}

/* zone media + gif */
.hero-intro__media{
  margin-top:14px;
  display:flex;
  justify-content:center;
  align-items:flex-end;
  flex: 1 1 auto;
  min-height:0;
}

/* ✅ GIF accueil (un peu plus grand) */
body:not(.is-landing) .visual-blob__img{
  width: min(420px, 62vw);
  height:auto;
  max-height: 38vh;
  object-fit:contain;
  display:block;
}

/* ---------------- Accueil: Footer (icônes + infos + liens) ---------------- */
.footer{
  flex: 0 0 auto;
  padding: 10px 0;
  font-size: 12px;
  color: var(--muted);
}

.footer__inner{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
}

.footer__left{
  display:flex;
  align-items:flex-end;
  gap:14px;
}

.footer__social{
  display:flex;
  gap:10px;
}

.footer__icon{
  width:28px;
  height:28px;
  border:1px solid var(--stroke);
  border-radius:7px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.footer__icon img{
  width:14px;
  height:14px;
  display:block;
}

/* bloc infos */
.footer__info{
  display:flex;
  flex-direction:column;
  gap:6px;
  line-height:1.15;
}

.footer__rating{
  display:flex;
  align-items:center;
  gap:8px;
}

.footer__google{
  height:14px;
  width:auto;
  display:block;
}

.footer__stars{
  font-size:11px;
  letter-spacing:1px;
  color: var(--muted);
}

.footer__mail{
  display:flex;
  align-items:center;
  gap:8px;
  color: var(--muted);
}

.footer__mailIcon{
  width:14px;
  height:14px;
  display:block;
}

.footer__legal{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.footer__legal a{ color: var(--muted); }

.footer__right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  text-align:right;
}
.footer__right a{ color: var(--muted); }

/* =========================================================
   GENERALITES (landing) — AJUSTÉ (sans toucher accueil)
   ========================================================= */
.is-landing main{ display:block; }

.is-landing .hero-main{
  padding: 80px 0 40px;
  text-align:center;
}

.is-landing .hero-main__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.is-landing .hero-main__title{
  font-weight:900;
  letter-spacing:-.5px;
  font-size: clamp(38px, 7vw, 68px);
  line-height:1.1;
  margin: 0 0 25px;
}

.is-landing .hero-main__subtitle{
  font-size: 22px;
  color: var(--muted);
  margin: 0 0 40px;
}

.is-landing .hero-main__actions{
  display:flex;
  gap:18px;
  justify-content:center;
  flex-wrap:wrap;
}

/* logos */
.is-landing .logos-muted{
  padding: 55px 0;
}

.is-landing .logos-muted__row{
  display:flex;
  justify-content:center;
  gap:50px;
  flex-wrap:wrap;
  opacity:.4;
}

.is-landing .logos-muted__row img{
  height:24px;
  filter: grayscale(100%);
}

/* blob landing */
.is-landing .visual-blob{
  display:flex;
  justify-content:center;
  padding: 25px 0 110px;
}

.is-landing .visual-blob__img{
  width: 480px;
  max-width: 90%;
  animation: float 6s ease-in-out infinite;
}

@keyframes float{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-20px); }
}

/* =========================================================
   GENERALITES — Section "Le problème"
   ========================================================= */
.is-landing .problem-section{
  padding: 90px 0 95px;
}

.is-landing .problem-section__inner{
  text-align: center;
}

.is-landing .problem-section__badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: rgba(255,255,255,0.65);
  color: var(--ink);
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 18px;
}

.is-landing .problem-section__badgeDot{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: rgba(255,255,255,0.75);
  position: relative;
}
.is-landing .problem-section__badgeDot::after{
  content:"";
  position:absolute;
  inset: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--primary-1), var(--primary-2));
  opacity: 0.85;
}

.is-landing .problem-section__title{
  margin: 0;
  font-size: clamp(28px, 4.3vw, 44px);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.is-landing .problem-section__subtitle{
  margin: 14px auto 40px;
  max-width: 720px;
  color: var(--muted);
  font-size: 15px;
}

.is-landing .problem-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  text-align:left;
  margin-top: 10px;
}

.is-landing .problem-card{
  border: 1px solid rgba(27, 20, 100, 0.10);
  background: rgba(255,255,255,0.58);
  border-radius: 16px;
  padding: 22px 22px 20px;
  box-shadow:
    0 18px 40px rgba(27,20,100,0.05),
    0 2px 10px rgba(27,20,100,0.03);
  backdrop-filter: blur(6px);
}

.is-landing .problem-card__icon{
  width: 34px;
  height: 34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 12px;
  border: 1px solid rgba(27,20,100,0.10);
  background: rgba(255,255,255,0.7);
  color: rgba(27, 20, 100, 0.85);
  margin-bottom: 12px;
}
.is-landing .problem-card__icon svg{ width: 20px; height: 20px; display:block; }

.is-landing .problem-card__title{
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 850;
  letter-spacing: -0.01em;
}

.is-landing .problem-card__text{
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--muted);
}

@media (hover:hover){
  .is-landing .problem-card{
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }
  .is-landing .problem-card:hover{
    transform: translateY(-4px);
    border-color: rgba(123,63,242,0.25);
    box-shadow:
      0 22px 55px rgba(27,20,100,0.08),
      0 4px 14px rgba(27,20,100,0.04);
  }
}

/* =========================================================
   GENERALITES — Section "Notre promesse" (2 colonnes + image)
   ========================================================= */
.is-landing .promise-section{
  padding: 95px 0 110px;
}

.is-landing .promise-top{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  margin-bottom: 70px;
}

.is-landing .promise-top__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 18px;
  border-radius: 10px;
  background: rgba(0,0,0,0.85);
  color:#fff;
  font-weight:800;
  font-size: 12px;
  box-shadow: 0 14px 30px rgba(0,0,0,0.10);
}

.is-landing .promise-top__note{
  font-size: 12px;
  color: rgba(0,0,0,0.6);
}

.is-landing .promise-head{
  text-align:center;
  margin-bottom: 60px;
}

.is-landing .promise-head__badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: rgba(255,255,255,0.65);
  color: var(--ink);
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 18px;
}

.is-landing .promise-head__dot{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: rgba(255,255,255,0.75);
  position: relative;
}
.is-landing .promise-head__dot::after{
  content:"";
  position:absolute;
  inset: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--primary-1), var(--primary-2));
  opacity: 0.85;
}

.is-landing .promise-head__title{
  margin:0;
  font-size: clamp(28px, 4.4vw, 44px);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.is-landing .promise-head__subtitle{
  margin: 14px auto 0;
  max-width: 680px;
  color: var(--muted);
  font-size: 15px;
}

.is-landing .promise-split{
  display:grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 52px;
  align-items:center;
}

.is-landing .promise-copy{
  padding-left: 10px;
}

.is-landing .promise-copy__badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(27,20,100,0.10);
  background: rgba(255,255,255,0.6);
  font-size: 12px;
  font-weight: 700;
  color: rgba(27,20,100,0.85);
  margin-bottom: 16px;
}

.is-landing .promise-copy__dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--primary-1), var(--primary-2));
}

.is-landing .promise-copy__title{
  margin: 0 0 12px;
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: clamp(22px, 3.2vw, 32px);
  line-height: 1.1;
}

.is-landing .promise-copy__text{
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.is-landing .promise-visual{
  display:flex;
  align-items:center;
  justify-content:center;
}

.is-landing .promise-visual__img{
  width: min(620px, 100%);
  height:auto;
  display:block;
  filter: drop-shadow(0 26px 60px rgba(27,20,100,0.10));
}

/* =========================================================
   GENERALITES — Suite (features alternées)
   ========================================================= */
.is-landing .features-section{
  padding: 105px 0 120px;
}

.is-landing .features-section__inner{
  display:flex;
  flex-direction:column;
  gap: 96px;
}

.is-landing .feature-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items:center;
}

.is-landing .feature-row--reverse .feature-media{ order: 2; }
.is-landing .feature-row--reverse .feature-copy{ order: 1; }

.is-landing .feature-media{
  display:flex;
  justify-content:center;
  align-items:center;
}

.is-landing .feature-media__img{
  width: min(560px, 100%);
  height:auto;
  display:block;
  filter: drop-shadow(0 28px 65px rgba(27,20,100,0.10));
}

.is-landing .feature-copy{
  max-width: 560px;
}

.is-landing .feature-copy__badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(27,20,100,0.10);
  background: rgba(255,255,255,0.6);
  font-size: 12px;
  font-weight: 700;
  color: rgba(27,20,100,0.85);
  margin-bottom: 16px;
}

.is-landing .feature-copy__dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--primary-1), var(--primary-2));
}

.is-landing .feature-copy__title{
  margin: 0 0 12px;
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: clamp(22px, 3.1vw, 34px);
  line-height: 1.1;
}

.is-landing .feature-copy__text{
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

/* =========================================================
   RESPONSIVE (accueil inchangé, landing ok)
   ========================================================= */

/* Tablette */
@media (max-width: 900px){
  .container{ width: min(var(--container), calc(100% - 28px)); }

  .nav{
    gap:14px;
    font-size:12px;
    flex-wrap:wrap;
    justify-content:flex-end;
  }

  body:not(.is-landing) .visual-blob__img{
    width: min(400px, 72vw);
    max-height: 34vh;
  }
}

/* Mobile */
@media (max-width: 600px){
  .container{ width: calc(100% - 24px); }

  .header{ padding:14px 0; }
  .brand__logo{ width:42px; height:42px; }

  .nav{
    gap: 10px 14px;
    font-size:12px;
    line-height:1.1;
    max-width:70%;
    flex-wrap:wrap;
  }

  .hero-intro__rule{ margin-bottom:14px; }
  .hero-intro__title{ font-size: clamp(30px, 10vw, 44px); }
  .hero-intro__subtitle{ font-size:15px; margin: 10px 0 14px; }

  .btn{ padding: 13px 18px; }

  body:not(.is-landing) .visual-blob__img{
    width: min(340px, 84vw);
    max-height: 30vh;
  }

  .footer__inner{
    flex-direction:column;
    align-items:center;
    gap:10px;
    text-align:center;
  }

  .footer__left{
    flex-direction:column;
    align-items:center;
    gap:10px;
  }

  .footer__info{ align-items:center; }
  .footer__legal{ justify-content:center; }

  .footer__right{
    align-items:center;
    text-align:center;
    gap:4px;
  }

  /* landing : boutons plein width sur petit écran */
  .is-landing .hero-main__actions .btn{
    width:100%;
    justify-content:center;
  }

  /* landing sections */
  .is-landing .problem-section{ padding: 70px 0 75px; }
  .is-landing .problem-grid{ grid-template-columns: 1fr; gap: 14px; }

  .is-landing .promise-section{ padding: 80px 0 90px; }
  .is-landing .promise-split{
    grid-template-columns: 1fr;
    gap: 28px;
    text-align:center;
  }
  .is-landing .promise-copy{ padding-left: 0; }

  .is-landing .features-section{ padding: 85px 0 95px; }
  .is-landing .features-section__inner{ gap: 64px; }
  .is-landing .feature-row{
    grid-template-columns: 1fr;
    gap: 24px;
    text-align:center;
  }
  .is-landing .feature-row--reverse .feature-media,
  .is-landing .feature-row--reverse .feature-copy{
    order: initial;
  }
  .is-landing .feature-copy{ margin: 0 auto; }
}

/* Très petits écrans */
@media (max-width: 380px){
  .nav{
    max-width:75%;
    font-size:11px;
    gap: 8px 12px;
  }

  .btn{
    font-size:12px;
    padding:12px 16px;
  }

  body:not(.is-landing) .visual-blob__img{
    width: min(320px, 86vw);
    max-height: 28vh;
  }
}

/* Laptop height “safe” */
@media (max-height: 760px){
  .header{ padding:14px 0; }
  .hero-intro__subtitle{ font-size:16px; margin: 10px 0 14px; }
  .btn{ padding:12px 22px; }

  body:not(.is-landing) .visual-blob__img{
    max-height: 32vh;
    width: min(360px, 58vw);
  }

  .footer{ padding:8px 0; }
}


/* =========================================================
   GENERALITES (landing) — RESPONSIVE + BEAU
   IMPORTANT: scoped .is-landing => n’impacte pas l’accueil
   ========================================================= */

/* Confort de lecture + espacements globaux */
.is-landing main{
  overflow-x: hidden;
}

.is-landing section{
  scroll-margin-top: 80px;
}

/* Hero: meilleure lisibilité sur petit écran */
@media (max-width: 950px){
  .is-landing .hero-main{
    padding: 70px 0 36px;
  }
  .is-landing .hero-main__subtitle{
    font-size: 18px;
    margin-bottom: 28px;
  }
}
@media (max-width: 600px){
  .is-landing .hero-main{
    padding: 60px 0 28px;
  }
  .is-landing .hero-main__title{
    font-size: clamp(30px, 9vw, 44px);
  }
  .is-landing .hero-main__subtitle{
    font-size: 16px;
    margin-bottom: 22px;
  }
  .is-landing .logos-muted{
    padding: 38px 0;
  }
  .is-landing .visual-blob{
    padding: 10px 0 75px;
  }
  .is-landing .visual-blob__img{
    width: min(420px, 92%);
  }
}

/* =========================================================
   PROBLEM — rendu plus “premium” + responsive stable
   ========================================================= */
.is-landing .problem-grid{
  gap: 18px;
}
@media (max-width: 1100px){
  .is-landing .problem-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 950px){
  .is-landing .problem-section{
    padding: 80px 0 85px;
  }
  .is-landing .problem-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}
@media (max-width: 600px){
  .is-landing .problem-section{
    padding: 65px 0 70px;
  }
  .is-landing .problem-section__subtitle{
    margin-bottom: 28px;
  }
  .is-landing .problem-grid{
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .is-landing .problem-card{
    padding: 18px 18px 16px;
  }
}

/* =========================================================
   PROMISE — 2 colonnes / image à droite: responsive clean
   ========================================================= */
@media (max-width: 1100px){
  .is-landing .promise-split{
    gap: 40px;
  }
  .is-landing .promise-visual__img{
    width: min(580px, 100%);
  }
}

@media (max-width: 950px){
  .is-landing .promise-section{
    padding: 80px 0 90px;
  }
  .is-landing .promise-top{
    margin-bottom: 55px;
  }
  .is-landing .promise-head{
    margin-bottom: 45px;
  }
  .is-landing .promise-split{
    grid-template-columns: 1fr;
    gap: 26px;
    text-align: center;
  }
  .is-landing .promise-copy{
    padding-left: 0;
    max-width: 720px;
    margin: 0 auto;
  }
  .is-landing .promise-visual{
    justify-content: center;
  }
  .is-landing .promise-visual__img{
    width: min(560px, 100%);
  }
}

@media (max-width: 600px){
  .is-landing .promise-section{
    padding: 70px 0 80px;
  }
  .is-landing .promise-top__cta{
    width: 100%;
    max-width: 340px;
  }
  .is-landing .promise-visual__img{
    width: min(480px, 100%);
  }
}

/* =========================================================
   FEATURES (SUITE) — espacement + alternance sans effet bloc
   ========================================================= */
.is-landing .features-section{
  padding: 95px 0 110px;
}
.is-landing .features-section__inner{
  gap: 96px;
}

@media (max-width: 1100px){
  .is-landing .feature-row{
    gap: 44px;
  }
  .is-landing .feature-media__img{
    width: min(520px, 100%);
  }
}

@media (max-width: 950px){
  .is-landing .features-section{
    padding: 80px 0 95px;
  }
  .is-landing .features-section__inner{
    gap: 70px;
  }
  .is-landing .feature-row{
    grid-template-columns: 1fr;
    gap: 20px;
    text-align: center;
  }
  /* En mobile on garde l’ordre HTML exact : image puis texte (comme ta structure) */
  .is-landing .feature-row--reverse .feature-media,
  .is-landing .feature-row--reverse .feature-copy{
    order: initial;
  }
  .is-landing .feature-copy{
    margin: 0 auto;
  }
  .is-landing .feature-media__img{
    width: min(520px, 100%);
  }
}

@media (max-width: 600px){
  .is-landing .features-section{
    padding: 70px 0 85px;
  }
  .is-landing .features-section__inner{
    gap: 58px;
  }
  .is-landing .feature-copy__title{
    font-size: clamp(20px, 7.2vw, 28px);
  }
  .is-landing .feature-copy__text{
    font-size: 14px;
  }
  .is-landing .feature-media__img{
    width: min(460px, 100%);
  }
}

/* =========================================================
   Bonus : meilleure “douceur” (sans changer la structure)
   ========================================================= */
.is-landing .problem-card,
.is-landing .promise-top__cta,
.is-landing .promise-head__badge,
.is-landing .problem-section__badge,
.is-landing .feature-copy__badge,
.is-landing .promise-copy__badge{
  will-change: transform;
}


/* =========================================================
   SECTION CONTROL / DASHBOARD
   Ultra clean + spacing premium
   ========================================================= */

.is-landing .control-section{
  padding: 120px 0 140px;
}

/* Row */
.is-landing .control-row{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 60px;
  align-items:center;
}

/* IMAGE */
.is-landing .control-media{
  display:flex;
  justify-content:center;
  align-items:center;
}

.is-landing .control-media__img{
  width:min(640px, 100%);
  height:auto;
  display:block;

  border-radius: 18px;

  box-shadow:
    0 35px 80px rgba(27,20,100,.10),
    0 8px 25px rgba(27,20,100,.06);
}

/* TEXT */
.is-landing .control-copy{
  max-width:520px;
}

.is-landing .control-copy__badge{
  display:inline-flex;
  align-items:center;
  gap:10px;

  padding:7px 14px;
  border-radius:999px;

  border:1px solid var(--stroke);
  background: rgba(255,255,255,.65);

  font-weight:700;
  font-size:12px;

  margin-bottom:18px;
}

.is-landing .control-copy__dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--primary-1),var(--primary-2));
}

.is-landing .control-copy__title{
  margin:0 0 12px;

  font-weight:900;
  letter-spacing:-.02em;

  font-size: clamp(24px, 3vw, 34px);
  line-height:1.1;
}

.is-landing .control-copy__text{
  margin:0;
  color:var(--muted);
  font-size:15px;
}

/* CTA */
.is-landing .control-cta{
  margin-top: 80px;

  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}

.is-landing .control-cta__btn{
  background:#1c1c1c;
  color:#fff;

  padding:14px 26px;
  border-radius:10px;

  font-weight:800;
  font-size:13px;

  box-shadow:0 18px 40px rgba(0,0,0,.18);

  transition:.25s;
}

.is-landing .control-cta__btn:hover{
  transform:translateY(-3px);
}

.is-landing .control-cta__note{
  font-size:13px;
  color:var(--muted);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 950px){

  .is-landing .control-section{
    padding: 90px 0 110px;
  }

  .is-landing .control-row{
    grid-template-columns:1fr;
    gap:32px;
    text-align:center;
  }

  .is-landing .control-copy{
    margin:0 auto;
  }

  .is-landing .control-media__img{
    width:min(560px,100%);
  }

  .is-landing .control-cta{
    margin-top:60px;
  }
}

@media (max-width:600px){

  .is-landing .control-section{
    padding:70px 0 90px;
  }

  .is-landing .control-copy__title{
    font-size: clamp(22px, 7vw, 28px);
  }

  .is-landing .control-media__img{
    width:min(460px,100%);
  }

  .is-landing .control-cta__btn{
    width:100%;
    max-width:320px;
    text-align:center;
  }
}

/* =========================================================
   GENERALITES — Section "Pour qui ?"
   Scoped: .is-landing uniquement
   ========================================================= */

.is-landing .who-section{
  padding: 115px 0 125px; /* grand spacing */
}

.is-landing .who-head{
  text-align:center;
  max-width: 860px;
  margin: 0 auto 62px;
}

.is-landing .who-head__badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: rgba(255,255,255,0.65);
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 18px;
}

.is-landing .who-head__dot{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: rgba(255,255,255,0.75);
  position: relative;
}
.is-landing .who-head__dot::after{
  content:"";
  position:absolute;
  inset: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--primary-1), var(--primary-2));
  opacity: .85;
}

.is-landing .who-head__title{
  margin: 0 0 14px;
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: clamp(28px, 4.6vw, 46px);
  line-height: 1.08;
}

.is-landing .who-head__subtitle{
  margin: 0 auto;
  color: var(--muted);
  font-size: 15px;
  max-width: 760px;
}

/* Split */
.is-landing .who-split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  align-items: stretch;
}

/* LEFT LIST */
.is-landing .who-list{
  display:flex;
  flex-direction:column;
  gap: 14px;
}

.is-landing .who-item{
  border: 1px solid rgba(27,20,100,0.10);
  background: rgba(255,255,255,0.55);
  border-radius: 14px;
  padding: 18px 18px 16px;
  box-shadow: 0 12px 30px rgba(27,20,100,0.04);
}

.is-landing .who-item__title{
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: -0.01em;
}

.is-landing .who-item__text{
  margin: 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--muted);
}

/* “active” (comme ton screenshot : plus mis en avant) */
.is-landing .who-item.is-active{
  background: rgba(255,255,255,0.78);
  border-color: rgba(123,63,242,0.25);
  box-shadow:
    0 22px 55px rgba(27,20,100,0.06),
    0 6px 16px rgba(27,20,100,0.04);
}

/* RIGHT VISUAL */
.is-landing .who-visual{
  border-radius: 18px;
  background: rgba(123,63,242,0.08);
  padding: 22px;
  position: relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: 18px;
  overflow:hidden;
}

/* search bar */
.is-landing .who-visual__search{
  width: min(420px, 100%);
  background: rgba(255,255,255,0.85);
  border: 1px solid rgba(27,20,100,0.10);
  border-radius: 12px;
  padding: 12px 14px;
  display:flex;
  align-items:center;
  gap: 10px;
  font-weight: 800;
  color: rgba(27,20,100,0.85);
}

.is-landing .who-visual__searchIcon{
  width: 28px;
  height: 28px;
  border-radius: 10px;
  display:grid;
  place-items:center;
  background: rgba(255,255,255,0.95);
  border: 1px solid rgba(27,20,100,0.08);
}

.is-landing .who-visual__frame{
  width: 100%;
  display:flex;
  justify-content:center;
  align-items:center;
}

.is-landing .who-visual__img{
  width: min(360px, 100%);
  height: auto;
  display:block;
  filter: drop-shadow(0 30px 70px rgba(27,20,100,0.12));
}

/* FOOT */
.is-landing .who-foot{
  margin-top: 70px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 14px;
  text-align:center;
}

.is-landing .who-foot__text{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
.is-landing .who-foot__text strong{
  color: var(--ink);
  font-weight: 900;
}

.is-landing .who-foot__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 18px;
  border-radius: 10px;
  background: rgba(0,0,0,0.85);
  color:#fff;
  font-weight: 800;
  font-size: 12px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.14);
  transition: .2s;
}
.is-landing .who-foot__cta:hover{
  transform: translateY(-2px);
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 950px){
  .is-landing .who-section{
    padding: 90px 0 100px;
  }
  .is-landing .who-head{
    margin-bottom: 45px;
  }
  .is-landing .who-split{
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .is-landing .who-visual{
    padding: 18px;
  }
  .is-landing .who-visual__img{
    width: min(340px, 100%);
  }
  .is-landing .who-foot{
    margin-top: 55px;
  }
}

@media (max-width: 600px){
  .is-landing .who-section{
    padding: 70px 0 85px;
  }
  .is-landing .who-head__title{
    font-size: clamp(24px, 8vw, 34px);
  }
  .is-landing .who-visual__search{
    font-size: 13px;
    padding: 10px 12px;
  }
  .is-landing .who-foot__cta{
    width: 100%;
    max-width: 320px;
  }
}


/* =========================================================
   TIMELINE — ULTRA PREMIUM
   ========================================================= */

.is-landing .process-section{
  padding: 130px 0 140px;
}

/* HEAD */
.is-landing .process-head{
  text-align:center;
  max-width: 860px;
  margin:0 auto 90px;
}

.is-landing .process-head__badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.7);
  font-weight:700;
  font-size:13px;
  margin-bottom:18px;
}

.is-landing .process-head__dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--primary-1),var(--primary-2));
}

.is-landing .process-head__title{
  margin:0 0 14px;
  font-size: clamp(30px,4.6vw,46px);
  font-weight:900;
  letter-spacing:-.02em;
}

.is-landing .process-head__subtitle{
  color:var(--muted);
}

/* =========================================================
   TIMELINE
   ========================================================= */

.is-landing .timeline{
  position:relative;
  width:100%;
  max-width:760px;
  margin:0 auto 90px;
}

/* TRAIT */
.is-landing .timeline__line{
  position:absolute;
  left:18px;
  top:0;
  width:2px;
  height:100%;

  background:linear-gradient(
    180deg,
    rgba(123,63,242,0) 0%,
    rgba(123,63,242,.7) 40%,
    rgba(255,0,255,.8) 70%,
    rgba(255,0,255,0) 100%
  );

  animation: timelineGlow 4s ease-in-out infinite;
}

/* glow animation */
@keyframes timelineGlow{
  0%{ opacity:.4; }
  50%{ opacity:1; }
  100%{ opacity:.4; }
}

/* ITEM */
.is-landing .timeline__item{
  position:relative;
  padding-left:60px;
  margin-bottom:80px;
}

/* POINT */
.is-landing .timeline__point{
  position:absolute;
  left:10px;
  top:6px;

  width:16px;
  height:16px;
  border-radius:999px;

  background:#111;

  box-shadow:
    0 0 0 6px rgba(123,63,242,.08),
    0 0 18px rgba(123,63,242,.5);

  animation:pulse 2.5s infinite;
}

@keyframes pulse{
  0%{ transform:scale(.9); }
  50%{ transform:scale(1.1); }
  100%{ transform:scale(.9); }
}

/* CONTENT */
.is-landing .timeline__stage{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  color:var(--muted);
}

.is-landing .timeline__content h3{
  margin:4px 0 10px;
  font-size:20px;
  font-weight:900;
}

.is-landing .timeline__content ul{
  padding-left:18px;
  margin:0;
}

.is-landing .timeline__content li{
  margin-bottom:6px;
  color:var(--muted);
  font-size:14px;
}

/* FOOT */
.is-landing .process-foot{
  text-align:center;
}

.is-landing .process-foot p{
  color:var(--muted);
  margin-bottom:18px;
}

.is-landing .process-foot__cta{
  background:#111;
  color:#fff;
  padding:14px 22px;
  border-radius:10px;
  font-weight:800;
  display:inline-block;
  box-shadow:0 20px 40px rgba(0,0,0,.2);
  transition:.25s;
}

.is-landing .process-foot__cta:hover{
  transform:translateY(-3px);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:768px){

  .is-landing .process-section{
    padding:100px 0;
  }

  .is-landing .timeline{
    margin-bottom:70px;
  }

  .is-landing .timeline__item{
    margin-bottom:60px;
  }
}


/* =========================================================
   GENERALITES — "Leviers" + background halos
   Scoped: .is-landing uniquement
   ========================================================= */

.is-landing .levers-section{
  position: relative;
  padding: 125px 0 135px;
  overflow: hidden;
}

.is-landing .levers-section__inner{
  position: relative;
  z-index: 1;
}

/* Head */
.is-landing .levers-head{
  text-align: center;
  max-width: 900px;
  margin: 0 auto 70px;
}

.is-landing .levers-head__badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: rgba(255,255,255,0.65);
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 18px;
}

.is-landing .levers-head__dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--primary-1), var(--primary-2));
}

.is-landing .levers-head__title{
  margin: 0 0 14px;
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: clamp(28px, 4.6vw, 46px);
  line-height: 1.08;
}

.is-landing .levers-head__subtitle{
  margin: 0 auto;
  max-width: 760px;
  color: var(--muted);
  font-size: 15px;
}

/* Layout blocks */
.is-landing .levers-wrap{
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.is-landing .levers-panel{
  border: 1px solid rgba(27,20,100,0.08);
  background: rgba(255,255,255,0.55);
  border-radius: 18px;
  padding: 18px;
  box-shadow:
    0 20px 60px rgba(27,20,100,0.05),
    0 6px 18px rgba(27,20,100,0.03);
  backdrop-filter: blur(6px);

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

/* Cards */
.is-landing .lever-card{
  border: 1px solid rgba(27,20,100,0.08);
  background: rgba(255,255,255,0.60);
  border-radius: 16px;
  padding: 18px 18px 16px;
  min-height: 150px;
}

.is-landing .lever-card__icon{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  margin-bottom: 10px;

  border: 1px solid rgba(27,20,100,0.10);
}

.is-landing .lever-card__icon svg{
  width: 18px;
  height: 18px;
  display: block;
}

/* Icon variants */
.is-landing .lever-card__icon--gold{
  background: rgba(255, 211, 125, 0.25);
  color: rgba(122, 74, 0, 0.9);
}

.is-landing .lever-card__icon--mint{
  background: rgba(160, 243, 227, 0.35);
  color: rgba(0, 94, 82, 0.85);
}

.is-landing .lever-card__icon--gray{
  background: rgba(240, 240, 240, 0.7);
  color: rgba(30, 30, 30, 0.75);
}

/* text */
.is-landing .lever-card__title{
  margin: 0 0 6px;
  font-weight: 900;
  font-size: 14px;
  letter-spacing: -0.01em;
}

.is-landing .lever-card__text{
  margin: 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--muted);
}

/* hover premium */
@media (hover:hover){
  .is-landing .lever-card{
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  }
  .is-landing .lever-card:hover{
    transform: translateY(-3px);
    border-color: rgba(123,63,242,0.22);
    box-shadow:
      0 18px 55px rgba(27,20,100,0.06),
      0 6px 16px rgba(27,20,100,0.04);
  }
}

/* Background halos */
.is-landing .levers-bg{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}

.is-landing .levers-bg__blob{
  position:absolute;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  filter: blur(90px);
  opacity: 0.22;
  background: linear-gradient(90deg, var(--primary-1), var(--primary-2));
}

.is-landing .levers-bg__blob--left{
  left: -230px;
  top: 55%;
  transform: translateY(-50%);
}

.is-landing .levers-bg__blob--right{
  right: -260px;
  top: 25%;
  transform: translateY(-50%);
}

/* Responsive */
@media (max-width: 950px){
  .is-landing .levers-section{
    padding: 95px 0 105px;
  }

  .is-landing .levers-head{
    margin-bottom: 55px;
  }

  .is-landing .levers-panel{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px){
  .is-landing .levers-section{
    padding: 75px 0 85px;
  }

  .is-landing .levers-head__title{
    font-size: clamp(24px, 8vw, 34px);
  }

  .is-landing .levers-panel{
    padding: 14px;
    gap: 14px;
  }

  .is-landing .lever-card{
    padding: 16px;
  }
}

/* =========================================================
   PRICING / OFFRES — CSS corrigé (pixel-close au Figma)
   Scoped .is-landing
   ========================================================= */

.is-landing .pricing-section{
  padding: 120px 0 140px;
  background: transparent;
}

.is-landing .pricing-head{
  text-align:center;
  margin: 0 auto 58px;
  max-width: 760px;
}

.is-landing .pricing-head__pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(27,20,100,0.10);
  background: rgba(255,255,255,0.75);
  font-size: 12px;
  font-weight: 800;
  color: rgba(27,20,100,0.85);
  margin-bottom: 14px;
}

.is-landing .pricing-head__title{
  margin: 0 0 10px;
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: clamp(28px, 4.4vw, 44px);
  line-height: 1.08;
}

.is-landing .pricing-head__subtitle{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

/* GRID */
.is-landing .pricing-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: start;
}

/* CARD BASE */
.is-landing .pricing-card{
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(27,20,100,0.10);
  border-radius: 14px;
  padding: 22px 20px 18px;
  box-shadow:
    0 16px 40px rgba(27,20,100,0.05),
    0 2px 10px rgba(27,20,100,0.03);
  backdrop-filter: blur(6px);
  display:flex;
  flex-direction:column;
  min-height: 100%;
}

.is-landing .pricing-card.highlight{
  background: rgba(235,242,255,0.95);
  border-color: rgba(27,20,100,0.10);
  box-shadow:
    0 18px 48px rgba(27,20,100,0.06),
    0 3px 12px rgba(27,20,100,0.04);
}

/* TITLES + PRICE */
.is-landing .pricing-card__name{
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: -0.01em;
  color: rgba(27,20,100,0.92);
}

.is-landing .pricing-card__price{
  margin: 0 0 12px;
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: rgba(27,20,100,0.95);
  display:flex;
  align-items:baseline;
  gap: 8px;
}

.is-landing .pricing-card__price span{
  font-size: 11px;
  font-weight: 700;
  color: rgba(27,20,100,0.55);
}

/* HR under price */
.is-landing .pricing-card hr{
  border: none;
  height: 1px;
  background: rgba(27,20,100,0.10);
  margin: 6px 0 16px;
}

/* DESC + BUDGET */
.is-landing .pricing-card__desc{
  margin: 0 0 12px;
  font-size: 11px;
  line-height: 1.45;
  color: rgba(27,20,100,0.60);
}

.is-landing .pricing-card__budget{
  margin: 0 0 14px;
  font-size: 11px;
  color: rgba(27,20,100,0.75);
}

.is-landing .pricing-card__budget strong{
  font-weight: 900;
  color: rgba(27,20,100,0.90);
}

/* TESTIMONIAL */
.is-landing .pricing-testimonial{
  border: 1px solid rgba(27,20,100,0.08);
  background: rgba(255,255,255,0.80);
  border-radius: 12px;
  padding: 12px 12px 10px;
  box-shadow: 0 10px 22px rgba(27,20,100,0.04);
  margin: 0 0 16px;
}

.is-landing .pricing-testimonial p{
  margin: 0 0 10px;
  font-size: 11px;
  line-height: 1.45;
  color: rgba(27,20,100,0.72);
}

.is-landing .pricing-testimonial__author{
  display:flex;
  align-items:center;
  gap: 10px;
}

.is-landing .pricing-avatar{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(27,20,100,0.10);
  border: 1px solid rgba(27,20,100,0.10);
  flex: 0 0 auto;
  overflow:hidden; /* tu mettras ton image en background */
  background-size: cover;
  background-position: center;
}

.is-landing .pricing-testimonial__author strong{
  display:block;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.1;
  color: rgba(27,20,100,0.92);
}

.is-landing .pricing-testimonial__author span{
  display:block;
  font-size: 10px;
  color: rgba(27,20,100,0.55);
  line-height: 1.25;
}

/* CTA BUTTON */
.is-landing .pricing-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  width: 100%;
  height: 38px;
  margin: 2px 0 16px;
  border-radius: 8px;
  background: linear-gradient(180deg, #2b2b2b 0%, #111 100%);
  color: #fff;
  font-weight: 800;
  font-size: 11px;
  letter-spacing: -0.01em;
  box-shadow:
    0 12px 26px rgba(0,0,0,0.14),
    inset 0 1px 0 rgba(255,255,255,0.10);
  transition: transform .18s ease, box-shadow .18s ease;
}

.is-landing .pricing-cta:hover{
  transform: translateY(-2px);
  box-shadow:
    0 18px 34px rgba(0,0,0,0.18),
    inset 0 1px 0 rgba(255,255,255,0.12);
}

/* BLOCKS (Ce que vous obtenez / Mais aussi / Options) */
.is-landing .pricing-block{
  margin: 0 0 14px;
}

.is-landing .pricing-block h4{
  margin: 0 0 10px;
  font-size: 11px;
  font-weight: 900;
  color: rgba(27,20,100,0.88);
}

/* LISTS with icon circles */
.is-landing .pricing-list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap: 8px;
}

.is-landing .pricing-list li{
  position:relative;
  padding-left: 26px;
  font-size: 11px;
  line-height: 1.35;
  color: rgba(27,20,100,0.68);
}

.is-landing .pricing-list li::before{
  content:"";
  position:absolute;
  left:0;
  top: 2px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: rgba(27,20,100,0.92);
  box-shadow: 0 6px 14px rgba(27,20,100,0.14);
}

.is-landing .pricing-list li::after{
  content:"✓";
  position:absolute;
  left:0;
  top: 1px;
  width: 16px;
  height: 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 10px;
  font-weight: 900;
  color:#fff;
}

/* EXCLUDED (red icon + lighter card area) */
.is-landing .pricing-block.muted{
  border-top: 1px solid rgba(27,20,100,0.08);
  padding-top: 12px;
  margin-top: 2px;
}

.is-landing .pricing-list.excluded li{
  color: rgba(27,20,100,0.55);
}

.is-landing .pricing-list.excluded li::before{
  background: rgba(225, 90, 95, 0.95);
  box-shadow: 0 6px 14px rgba(225,90,95,0.16);
}

.is-landing .pricing-list.excluded li::after{
  content:"×";
  font-size: 12px;
  line-height: 1;
}

/* Responsive */
@media (max-width: 950px){
  .is-landing .pricing-grid{
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .is-landing .pricing-card,
  .is-landing .pricing-card.highlight{
    transform: none;
  }
}


/* =========================================================
   TRUST STRIP (2 items + CTA) — pixel align
   Scoped .is-landing
   ========================================================= */

.is-landing .trust-strip{
  padding: 90px 0 110px;
}

.is-landing .trust-strip__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.is-landing .trust-strip__grid{
  width:100%;
  max-width: 760px;
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 34px;
  align-items:center;
  justify-content:center;
  margin-bottom: 40px;
}

.is-landing .trust-item{
  display:flex;
  align-items:flex-start;
  gap: 12px;
}

.is-landing .trust-item__icon{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid rgba(27,20,100,0.10);
  background: rgba(255,255,255,0.75);
  display:grid;
  place-items:center;
  flex: 0 0 auto;
}

.is-landing .trust-item__icon img{
  width: 18px;
  height: 18px;
  display:block;
}

.is-landing .trust-item__title{
  font-weight: 900;
  font-size: 12px;
  line-height: 1.2;
  margin-bottom: 4px;
  color: rgba(27,20,100,0.92);
}

.is-landing .trust-item__text{
  font-size: 11px;
  color: rgba(27,20,100,0.55);
  line-height: 1.35;
}

.is-landing .trust-divider{
  width: 1px;
  height: 56px;
  background: rgba(27,20,100,0.08);
  border-radius: 999px;
}

.is-landing .trust-cta{
  text-align:center;
}

.is-landing .trust-cta__text{
  margin: 0 0 12px;
  font-size: 11px;
  color: rgba(27,20,100,0.55);
}

.is-landing .trust-cta__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 38px;
  padding: 0 18px;
  border-radius: 9px;
  background: #111;
  color:#fff;
  font-weight: 900;
  font-size: 11px;
  box-shadow: 0 16px 32px rgba(0,0,0,0.16);
  transition: transform .18s ease, box-shadow .18s ease;
}

.is-landing .trust-cta__btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 20px 36px rgba(0,0,0,0.18);
}

/* =========================================================
   TESTIMONIALS + KPI STRIP — pixel align
   Scoped .is-landing
   ========================================================= */

.is-landing .testi-section{
  padding: 120px 0 120px;
}

.is-landing .testi-head{
  text-align:center;
  max-width: 820px;
  margin: 0 auto 48px;
}

.is-landing .testi-pill{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(27,20,100,0.10);
  background: rgba(255,255,255,0.75);
  font-size: 11px;
  font-weight: 900;
  color: rgba(27,20,100,0.80);
  margin-bottom: 14px;
}

.is-landing .testi-pill__icon{
  font-size: 12px;
  line-height: 1;
}

.is-landing .testi-head__title{
  margin: 0 0 10px;
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: clamp(26px, 4.2vw, 42px);
  line-height: 1.08;
  color: rgba(27,20,100,0.92);
}

.is-landing .testi-head__subtitle{
  margin: 0 auto;
  max-width: 760px;
  font-size: 11px;
  color: rgba(27,20,100,0.55);
  line-height: 1.45;
}

.is-landing .testi-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 26px;
}

.is-landing .testi-card{
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(27,20,100,0.10);
  border-radius: 14px;
  padding: 14px 14px 12px;
  box-shadow:
    0 16px 40px rgba(27,20,100,0.05),
    0 2px 10px rgba(27,20,100,0.03);
  backdrop-filter: blur(6px);
  display:flex;
  flex-direction:column;
  min-height: 118px;
}

.is-landing .testi-stars{
  display:flex;
  gap: 2px;
  margin-bottom: 8px;
  color: #ff6a00;
  font-size: 10px;
  letter-spacing: 0;
}

.is-landing .testi-quote{
  margin: 0 0 10px;
  font-size: 11px;
  line-height: 1.42;
  color: rgba(27,20,100,0.72);
}

.is-landing .testi-author{
  margin-top:auto;
  display:flex;
  align-items:center;
  gap: 10px;
}

.is-landing .testi-avatar{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(27,20,100,0.10);
  background: rgba(27,20,100,0.10);
  background-size: cover;
  background-position:center;
  flex: 0 0 auto;
}

.is-landing .testi-author__meta{
  min-width: 0;
}

.is-landing .testi-author__name{
  display:flex;
  align-items:center;
  gap: 6px;
  font-size: 11px;
  font-weight: 900;
  color: rgba(27,20,100,0.92);
  line-height: 1.1;
  white-space: nowrap;
  overflow:hidden;
  text-overflow: ellipsis;
}

.is-landing .testi-verified{
  width: 14px;
  height: 14px;
  display:block;
}

.is-landing .testi-author__role{
  font-size: 10px;
  color: rgba(27,20,100,0.55);
  line-height: 1.25;
  white-space: nowrap;
  overflow:hidden;
  text-overflow: ellipsis;
}

/* KPI strip */
.is-landing .kpi-strip{
  margin-top: 18px;
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(27,20,100,0.10);
  border-radius: 14px;
  padding: 16px 14px;
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  box-shadow:
    0 16px 40px rgba(27,20,100,0.05),
    0 2px 10px rgba(27,20,100,0.03);
}

.is-landing .kpi{
  text-align:center;
  padding: 6px 4px;
}

.is-landing .kpi__value{
  font-weight: 900;
  font-size: 18px;
  letter-spacing: -0.02em;
  color: rgba(0,0,0,0.92);
  margin-bottom: 4px;
}

.is-landing .kpi__label{
  font-size: 10px;
  color: rgba(27,20,100,0.55);
  line-height: 1.25;
}

/* Responsive */
@media (max-width: 950px){
  .is-landing .trust-strip__grid{
    grid-template-columns: 1fr;
    gap: 14px;
    max-width: 520px;
  }
  .is-landing .trust-divider{
    display:none;
  }

  .is-landing .testi-grid{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .is-landing .kpi-strip{
    grid-template-columns: 1fr 1fr;
  }
}


/* =========================================================
   FAQ HERO (CTA + GIF + TITRE)
   Scoped .is-landing
   ========================================================= */

.is-landing .faq-hero{
  padding: 120px 0 110px;
  text-align: center;
}

.is-landing .faq-hero__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.is-landing .faq-hero__pre{
  margin: 0 0 12px;
  font-size: 11px;
  color: rgba(27,20,100,0.55);
}

.is-landing .faq-hero__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 38px;
  padding: 0 18px;
  border-radius: 9px;
  background: #111;
  color:#fff;
  font-weight: 900;
  font-size: 11px;
  box-shadow: 0 16px 32px rgba(0,0,0,0.16);
  transition: transform .18s ease, box-shadow .18s ease;
}

.is-landing .faq-hero__btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 20px 36px rgba(0,0,0,0.18);
}

/* Grand vide avant le GIF (comme la capture) */
.is-landing .faq-hero__spacer{
  height: 86px;
}

/* GIF centré */
.is-landing .faq-hero__gifWrap{
  display:flex;
  justify-content:center;
  align-items:center;
  margin: 0 0 18px;
}

.is-landing .faq-hero__gif{
  width: 120px;
  height: auto;
  display:block;
  opacity: .95;
}

/* Pill FAQ */
.is-landing .faq-hero__pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(27,20,100,0.10);
  background: rgba(255,255,255,0.75);
  font-size: 11px;
  font-weight: 900;
  color: rgba(27,20,100,0.80);
  margin-bottom: 14px;
}

/* Titre + sous-titre */
.is-landing .faq-hero__title{
  margin: 0 0 10px;
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: clamp(28px, 4.4vw, 44px);
  line-height: 1.08;
  color: rgba(27,20,100,0.92);
}

.is-landing .faq-hero__subtitle{
  margin: 0;
  font-size: 11px;
  color: rgba(27,20,100,0.55);
  line-height: 1.45;
}

/* Responsive */
@media (max-width: 600px){
  .is-landing .faq-hero{
    padding: 95px 0 90px;
  }
  .is-landing .faq-hero__spacer{
    height: 64px;
  }
  .is-landing .faq-hero__gif{
    width: 110px;
  }
}



/* =========================================================
   FAQ LIST (Accordion) — style capture
   Scoped .is-landing
   ========================================================= */

.is-landing .faq-section{
  padding: 40px 0 70px;
}

.is-landing .faq-list{
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  background: rgba(255,255,255,0.55);
  border: 1px solid rgba(27,20,100,0.08);
  border-radius: 12px;
  overflow: hidden;
  box-shadow:
    0 18px 55px rgba(27,20,100,0.05),
    0 4px 14px rgba(27,20,100,0.03);
}

.is-landing .faq-item{
  border-top: 1px solid rgba(27,20,100,0.06);
}

.is-landing .faq-item:first-child{
  border-top: none;
}

.is-landing .faq-q{
  list-style: none;
  cursor: pointer;
  padding: 18px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;

  font-size: 12px;
  font-weight: 800;
  color: rgba(27,20,100,0.85);

  background: rgba(255,255,255,0.80);
}

.is-landing .faq-q::-webkit-details-marker{
  display:none;
}

.is-landing .faq-plus{
  width: 24px;
  height: 24px;
  border-radius: 8px;
  border: 1px solid rgba(27,20,100,0.10);
  background: rgba(255,255,255,0.85);
  display:grid;
  place-items:center;

  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: rgba(27,20,100,0.55);

  flex: 0 0 auto;
}

/* answer */
.is-landing .faq-a{
  padding: 0 18px 16px;
  font-size: 11px;
  line-height: 1.45;
  color: rgba(27,20,100,0.60);
  background: rgba(255,255,255,0.80);
}

/* open state */
.is-landing .faq-item[open] .faq-plus{
  transform: rotate(45deg);
  transition: transform .18s ease;
}
.is-landing .faq-plus{
  transition: transform .18s ease;
}

/* =========================================================
   BIG CTA PURPLE — style capture
   Scoped .is-landing
   ========================================================= */

.is-landing .audit-cta{
  padding: 10px 0 120px;
}

.is-landing .audit-card{
  border-radius: 12px;
  background: #1a1464;
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow:
    0 26px 70px rgba(27,20,100,0.16),
    0 6px 18px rgba(27,20,100,0.10);
  padding: 48px 48px;
  max-width: 980px;
  margin: 0 auto;
}

.is-landing .audit-card__content{
  max-width: 520px;
}

.is-landing .audit-card__title{
  margin: 0 0 16px;
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.05;
  font-size: clamp(26px, 3.2vw, 40px);
  color: #fff;
}

.is-landing .audit-card__text{
  margin: 0 0 12px;
  font-size: 11px;
  color: rgba(255,255,255,0.75);
}

.is-landing .audit-card__list{
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
  display:flex;
  flex-direction:column;
  gap: 6px;
}

.is-landing .audit-card__list li{
  font-size: 11px;
  color: rgba(255,255,255,0.82);
  padding-left: 16px;
  position: relative;
}

.is-landing .audit-card__list li::before{
  content:"";
  position:absolute;
  left:0;
  top: 6px;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,0.85);
}

/* CTA button purple */
.is-landing .audit-card__btn{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  height: 36px;
  padding: 0 16px;
  border-radius: 9px;
  background: linear-gradient(90deg, var(--primary-1), var(--primary-2));
  color:#fff;
  font-weight: 900;
  font-size: 11px;
  box-shadow: 0 16px 34px rgba(0,0,0,0.22);
  transition: transform .18s ease, box-shadow .18s ease;
}

.is-landing .audit-card__btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.26);
}

.is-landing .audit-card__btnIcon{
  width: 18px;
  height: 18px;
  border-radius: 7px;
  display:grid;
  place-items:center;
  background: rgba(255,255,255,0.18);
  border: 1px solid rgba(255,255,255,0.16);
}

/* Responsive */
@media (max-width: 950px){
  .is-landing .audit-card{
    padding: 34px 22px;
  }
  .is-landing .audit-card__content{
    max-width: 100%;
  }
}

@media (max-width: 600px){
  .is-landing .faq-section{
    padding: 30px 0 55px;
  }
  .is-landing .audit-cta{
    padding-bottom: 90px;
  }
  .is-landing .audit-card__btn{
    width: 100%;
    justify-content:center;
  }
}


/* =========================================================
   FINAL CTA IMAGE + LANDING FOOTER
   Scoped .is-landing
   ========================================================= */

/* Image CTA */
.is-landing .final-cta{
  padding: 40px 0 60px;
}

.is-landing .final-cta__inner{
  display:flex;
  justify-content:center;
}

.is-landing .final-cta__card{
  width: 100%;
  max-width: 980px;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(255,255,255,0.85);
  border: 1px solid rgba(27,20,100,0.10);
  box-shadow:
    0 18px 55px rgba(27,20,100,0.06),
    0 4px 14px rgba(27,20,100,0.04);
  position: relative;
}

.is-landing .final-cta__img{
  width: 100%;
  height: auto;
  display:block;
}

/* Button overlay (bottom-left) */
.is-landing .final-cta__btn{
  position:absolute;
  left: 18px;
  bottom: 18px;

  display:inline-flex;
  align-items:center;
  gap: 10px;

  height: 34px;
  padding: 0 16px;

  border-radius: 9px;
  background: linear-gradient(90deg, var(--primary-1), var(--primary-2));
  color:#fff;

  font-weight: 900;
  font-size: 11px;

  box-shadow: 0 18px 38px rgba(0,0,0,0.22);
  transition: transform .18s ease, box-shadow .18s ease;
}

.is-landing .final-cta__btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 22px 44px rgba(0,0,0,0.26);
}

.is-landing .final-cta__btnIcon{
  width: 18px;
  height: 18px;
  border-radius: 7px;
  display:grid;
  place-items:center;
  background: rgba(255,255,255,0.18);
  border: 1px solid rgba(255,255,255,0.16);
}

/* Footer landing (same layout as index footer, but scoped) */
.is-landing .landing-footer{
  padding: 18px 0 26px;
  font-size: 12px;
  color: var(--muted);
}

.is-landing .landing-footer__inner{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 24px;
}

.is-landing .landing-footer__left{
  display:flex;
  align-items:flex-end;
  gap: 14px;
}

.is-landing .landing-footer__social{
  display:flex;
  gap: 10px;
}

.is-landing .landing-footer__icon{
  width: 28px;
  height: 28px;
  border: 1px solid var(--stroke);
  border-radius: 7px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,0.7);
}

.is-landing .landing-footer__icon img{
  width: 14px;
  height: 14px;
  display:block;
}

.is-landing .landing-footer__meta{
  display:flex;
  flex-direction:column;
  gap: 6px;
  line-height: 1.15;
}

.is-landing .landing-footer__rating{
  display:flex;
  align-items:center;
  gap: 8px;
}

.is-landing .landing-footer__google{
  height: 14px;
  width:auto;
  display:block;
}

.is-landing .landing-footer__stars{
  font-size: 11px;
  letter-spacing: 1px;
  color: var(--muted);
}

.is-landing .landing-footer__mail{
  display:flex;
  align-items:center;
  gap: 8px;
  color: var(--muted);
}

.is-landing .landing-footer__mailIcon{
  width: 14px;
  height: 14px;
  display:block;
}

.is-landing .landing-footer__legal{
  display:flex;
  align-items:center;
  gap: 8px;
  flex-wrap:wrap;
}

.is-landing .landing-footer__legal a{
  color: var(--muted);
}

.is-landing .landing-footer__right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap: 6px;
  text-align:right;
}

.is-landing .landing-footer__right a{
  color: var(--muted);
}

/* Responsive */
@media (max-width: 900px){
  .is-landing .final-cta__card{
    max-width: 760px;
  }
}

@media (max-width: 600px){
  .is-landing .final-cta{
    padding: 30px 0 40px;
  }

  .is-landing .final-cta__btn{
    left: 14px;
    bottom: 14px;
  }

  .is-landing .landing-footer__inner{
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap: 12px;
  }

  .is-landing .landing-footer__left{
    flex-direction:column;
    align-items:center;
    gap: 10px;
  }

  .is-landing .landing-footer__meta{
    align-items:center;
  }

  .is-landing .landing-footer__legal{
    justify-content:center;
  }

  .is-landing .landing-footer__right{
    align-items:center;
    text-align:center;
    gap: 4px;
  }
}


/* =========================================================
   CONDITIONS — RESPONSIVE + BACKGROUND UPGRADE (drop-in)
   Remplace / écrase les règles .is-conditions/.cond-* existantes
   ========================================================= */

.is-conditions{
  min-height: 100vh;
  overflow-x: hidden;
  background: #06060b;
  color: #fff;
}

/* ---------- Background upgrade (deeper + smoother) ---------- */
.is-conditions .cond-bg{
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;

  /* Base + layered auroras */
  background:
    radial-gradient(1400px 900px at 70% 55%, rgba(140, 90, 255, 0.18), rgba(0,0,0,0) 62%),
    radial-gradient(900px 650px at 12% 92%, rgba(255, 0, 190, 0.10), rgba(0,0,0,0) 58%),
    radial-gradient(800px 560px at 92% 20%, rgba(0, 200, 255, 0.06), rgba(0,0,0,0) 60%),
    linear-gradient(180deg, rgba(255,255,255,0.02) 0%, rgba(0,0,0,0) 35%),
    #06060b;
}

.is-conditions .cond-bg__gif{
  position: absolute;
  left: 62%;
  top: 56%;
  transform: translate(-50%, -50%);
  width: min(860px, 78vw);
  height: auto;
  opacity: .95;
  filter: saturate(1.08) contrast(1.04);
  pointer-events: none;
  user-select: none;
  will-change: transform;
}

/* vignette + edge fade */
.is-conditions .cond-bg__vignette{
  position: absolute;
  inset: 0;
  background:
    radial-gradient(1100px 900px at 62% 55%,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0.55) 68%,
      rgba(0,0,0,0.88) 100%),
    linear-gradient(90deg, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.10) 35%, rgba(0,0,0,0.65) 100%);
  pointer-events: none;
}

/* subtle grain (better than repeating lines) */
.is-conditions .cond-bg__noise{
  position: absolute;
  inset: -20%;
  opacity: .12;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,0.07) 0 1px, rgba(0,0,0,0) 2px),
    radial-gradient(circle at 80% 70%, rgba(255,255,255,0.06) 0 1px, rgba(0,0,0,0) 2px),
    radial-gradient(circle at 40% 80%, rgba(255,255,255,0.05) 0 1px, rgba(0,0,0,0) 2px);
  background-size: 120px 120px, 140px 140px, 160px 160px;
  filter: blur(0.2px);
  mix-blend-mode: overlay;
  pointer-events: none;
  transform: rotate(8deg);
}

/* ---------- Header ---------- */
.is-conditions .cond-header{
  padding: 18px 0;
}

.is-conditions .cond-header__inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.is-conditions .cond-brand__logo{
  width: 44px;
  height: 44px;
  display: block;
}

/* top nav */
.is-conditions .cond-topnav{
  display: flex;
  align-items: center;
  gap: 18px;
  font-size: 11px;
  font-weight: 700;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.is-conditions .cond-topnav__link{
  color: rgba(255,255,255,0.78);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0);
  background: rgba(255,255,255,0);
  transition: .18s ease;
}

.is-conditions .cond-topnav__link::before{
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1.5px solid rgba(255,255,255,0.55);
  opacity: .85;
  flex: 0 0 auto;
}

.is-conditions .cond-topnav__link:hover{
  color: rgba(255,255,255,0.95);
  border-color: rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
}

/* ---------- Main layout (desktop) ---------- */
.is-conditions .cond-main{
  min-height: calc(100vh - 82px);
  display: flex;
  align-items: center;
  padding: 10px 0 40px;
}

.is-conditions .cond-main__inner{
  display: grid;
  grid-template-columns: minmax(280px, 420px) 1fr;
  gap: clamp(18px, 3vw, 44px);
  align-items: start;
}

.is-conditions .cond-left{
  padding-top: 10px;
  max-width: 420px;
}

.is-conditions .cond-pill{
  display: inline-flex;
  align-items: center;
  height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.86);
  font-size: 11px;
  font-weight: 900;
  margin-bottom: 10px;
}

.is-conditions .cond-pill.is-active{
  background: rgba(255,255,255,0.14);
  border-color: rgba(255,255,255,0.18);
}

.is-conditions .cond-text{
  margin: 0 0 18px;
  font-size: 11px;
  line-height: 1.65;
  color: rgba(255,255,255,0.70);
  max-width: 420px;
}

.is-conditions .cond-right{
  min-height: 520px;
}

/* =========================================================
   RESPONSIVE BREAKPOINTS
   ========================================================= */

/* Large tablets / small laptops */
@media (max-width: 1100px){
  .is-conditions .cond-bg__gif{
    left: 60%;
    top: 55%;
    width: min(780px, 74vw);
  }
}

/* Tablets */
@media (max-width: 980px){
  .is-conditions .cond-main{
    align-items: flex-start;
    padding: 24px 0 60px;
  }

  .is-conditions .cond-main__inner{
    grid-template-columns: 1fr;
  }

  /* Put GIF behind content but centered */
  .is-conditions .cond-bg__gif{
    left: 50%;
    top: 52%;
    width: min(820px, 92vw);
    opacity: .70;
  }

  .is-conditions .cond-right{
    display: none;
  }

  .is-conditions .cond-left{
    max-width: 560px;
    margin: 0 auto;
  }

  /* stronger vignette on mobile to keep readability */
  .is-conditions .cond-bg__vignette{
    background:
      radial-gradient(1100px 900px at 50% 45%,
        rgba(0,0,0,0.10) 0%,
        rgba(0,0,0,0.68) 72%,
        rgba(0,0,0,0.92) 100%),
      linear-gradient(180deg, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.20) 30%, rgba(0,0,0,0.80) 100%);
  }
}

/* Phones */
@media (max-width: 600px){
  .is-conditions .cond-header{
    padding: 14px 0;
  }

  .is-conditions .cond-topnav{
    display: none;
  }

  .is-conditions .cond-brand__logo{
    width: 40px;
    height: 40px;
  }

  .is-conditions .cond-left{
    max-width: 520px;
    padding: 0 2px;
  }

  .is-conditions .cond-text{
    font-size: 11px;
    line-height: 1.7;
  }

  .is-conditions .cond-bg__gif{
    top: 50%;
    width: min(760px, 110vw);
    opacity: .62;
  }
}

/* Very small phones */
@media (max-width: 380px){
  .is-conditions .cond-bg__gif{
    width: 120vw;
  }
}



