.elementor-6608 .elementor-element.elementor-element-cee32ab{--divider-border-style:solid;--divider-color:var( --e-global-color-astglobalcolor0 );--divider-border-width:3px;}.elementor-6608 .elementor-element.elementor-element-cee32ab > .elementor-widget-container{margin:0px -118px 0px 0230px;padding:0px 0px 0px 0px;}.elementor-6608 .elementor-element.elementor-element-cee32ab .elementor-divider-separator{width:72%;margin:0 auto;margin-left:0;}.elementor-6608 .elementor-element.elementor-element-cee32ab .elementor-divider{text-align:left;padding-block-start:0px;padding-block-end:0px;}.elementor-6608 .elementor-element.elementor-element-553f1f6{margin-top:-12px;margin-bottom:0px;padding:0px 0px 0px 0px;}@media(min-width:768px){.elementor-6608 .elementor-element.elementor-element-15768ab{width:100%;}}@media(max-width:767px){.elementor-6608 .elementor-element.elementor-element-cee32ab > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-6608 .elementor-element.elementor-element-cee32ab .elementor-divider-separator{width:18%;margin:0 auto;margin-center:0;}.elementor-6608 .elementor-element.elementor-element-cee32ab .elementor-divider{text-align:center;}}/* Start custom CSS for html, class: .elementor-element-d23cfb5 *//* =========================================================
   GS HERO ONLY (safe) — ne touche QUE le bloc hero
   Wrapper: .gs-hero-root
   Section Elementor: .gs-hero-full (à mettre sur la SECTION)
   ========================================================= */
/* =========================================================
   HERO FINAL — desktop + mobile
   ========================================================= */

/* Base */
.gs-hero-root.hero{
  padding: 0 !important;
}

.gs-hero-root .heroShell{
  position: relative;
  width: 100%;
  min-height: 85vh;
  overflow: hidden;
  border: 1px solid rgba(231,234,243,1);
  box-shadow: 0 22px 60px rgba(16,24,40,.12);
  background: #eef1fb;
}

.gs-hero-root .heroVideo{
  display: block !important;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  filter: saturate(1.08) contrast(1.06);
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 1;
}

.gs-hero-root .heroOverlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  pointer-events: none;
  z-index: 2;
}

.gs-hero-root .heroLeftScrim{
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 62%;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,.90) 0%,
    rgba(255,255,255,.62) 56%,
    rgba(255,255,255,0) 100%
  );
  pointer-events: none;
  z-index: 2;
}

.gs-hero-root .heroInner{
  position: relative;
  z-index: 3;
  min-height: 85vh;
  padding: clamp(18px, 3.2vw, 44px);
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(16px, 3vw, 28px);
  align-items: center;
}

.gs-hero-root .heroLeft{
  max-width: 680px;
}

.gs-hero-root .pillClean{
  display: inline-flex;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.80);
  background: rgba(255,255,255,.70);
  backdrop-filter: blur(10px);
  color: rgba(17,24,39,.72);
  font-weight: 1000;
  font-size: 12px;
  width: fit-content;
}

.gs-hero-root .heroH1{
  margin: 14px 0 0;
  font-size: clamp(34px, 2.7vw, 52px);
  line-height: 1.03;
  letter-spacing: -0.8px;
  text-transform: uppercase;
  font-weight: 1000;
  max-width: 24ch;
  background: linear-gradient(90deg,#5AA6FF 0%, #8A5CFF 50%, #E66FFF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 4px 14px rgba(138,92,255,.18));
}

.gs-hero-root .heroCard{
  position: absolute;
  right: clamp(18px, 3vw, 44px);
  top: 50%;
  transform: translateY(-45%);
  width: min(600px, 44vw);
  z-index: 4;
  border-radius: 22px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(255,255,255,.75);
  box-shadow: 0 18px 46px rgba(16,24,40,.10);
  backdrop-filter: blur(10px);
  padding: 18px;
}

.gs-hero-root .heroCard h3{
  margin: 0 0 6px;
  letter-spacing: -.3px;
  font-size: 18px;
  font-weight: 1000;
}

.gs-hero-root .heroCard p{
  margin: 0 0 14px;
  color: rgba(17,24,39,.70);
  font-weight: 900;
  font-size: 13px;
}

.gs-hero-root .miniList{
  display: grid;
  gap: 10px;
  font-weight: 1000;
  color: rgba(17,24,39,.74);
  font-size: 13px;
}

.gs-hero-root .miniItem{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.75));
  border: 1px solid rgba(255,255,255,.85);
  box-shadow: 0 12px 30px rgba(16,24,40,.08), inset 0 1px 0 rgba(255,255,255,.65);
}

.gs-hero-root .miniIcon{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  background: radial-gradient(circle at 30% 30%, rgba(230,111,255,.30), rgba(90,166,255,.18));
  border: 1px solid rgba(120,120,255,.25);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
}

.gs-hero-root .miniIcon svg{
  width: 18px;
  height: 18px;
  fill: rgba(17,24,39,.75);
}

.gs-hero-root .miniText{
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.gs-hero-root .miniMain{
  font-size: 14px;
  font-weight: 1000;
  color: rgba(17,24,39,.88);
}

.gs-hero-root .miniSub{
  font-size: 13px;
  font-weight: 900;
  color: rgba(17,24,39,.60);
}

.gs-hero-root .heroBottom{
  position: absolute;
  left: 50%;
  bottom: clamp(22px, 3.6vh, 42px);
  transform: translateX(-50%);
  width: min(760px, 92%);
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.gs-hero-root .ctas{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.gs-hero-root .btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 14px;
  font-weight: 1000;
  font-size: 14px;
  border: 1px solid #dfe4f3;
  background: #fff;
  box-shadow: 0 10px 22px rgba(16,24,40,.06);
  transition: transform .15s ease;
  white-space: nowrap;
}

.gs-hero-root .btn:hover{
  transform: translateY(-1px);
}

.gs-hero-root .btn.primary{
  border: 0;
  background: linear-gradient(90deg,#5AA6FF 0%, #8A5CFF 50%, #E66FFF 100%);
  color: #fff;
  box-shadow: 0 16px 30px rgba(138,92,255,.20);
}

.gs-hero-root .heroTrustLine{
  font-weight: 1000;
  font-size: 13px;
  color: rgba(17,24,39,.62);
  text-align: center;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(255,255,255,.70);
  backdrop-filter: blur(10px);
  padding: 8px 12px;
  border-radius: 999px;
}

/* Mobile — version mockup claire avec vidéo visible */
@media (max-width: 767px){

  .gs-hero-root .heroShell{
    min-height: auto !important;
    padding: 14px 14px 22px;
    background:
      radial-gradient(120% 80% at 10% 100%, rgba(90,166,255,.18), transparent 45%),
      radial-gradient(120% 80% at 90% 100%, rgba(230,111,255,.16), transparent 45%),
      #f7f8fe;
  }

  .gs-hero-root .heroOverlay,
  .gs-hero-root .heroLeftScrim{
    display: none !important;
  }

  .gs-hero-root .heroInner{
    min-height: auto !important;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 0;
  }

  .gs-hero-root .heroLeft{
    max-width: 100%;
    order: 1;
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(231,234,243,.95);
    border-radius: 26px;
    padding: 16px 16px 14px;
    box-shadow: 0 14px 34px rgba(16,24,40,.08);
    text-align: center;
  }

  .gs-hero-root .pillClean{
    display: inline-flex;
    margin: 0 auto 12px !important;
    text-align: center;
    width: auto;
  }

  .gs-hero-root .heroH1{
    margin: 0 !important;
    max-width: 100% !important;
    font-size: clamp(2rem, 7.2vw, 2.6rem);
    line-height: .96;
    text-align: center;
  }

  .gs-hero-root .heroVideo{
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 260px !important;
    display: block !important;
    object-fit: cover;
    border-radius: 26px;
    transform: none !important;
    filter: saturate(1.04) contrast(1.02);
    z-index: 1;
    order: 2;
    box-shadow: 0 14px 34px rgba(16,24,40,.10);
    border: 1px solid rgba(231,234,243,.95);
    background: #eef1fb;
  }

  .gs-hero-root .heroShell{
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .gs-hero-root .heroInner{
    display: contents;
  }

  .gs-hero-root .heroCard{
    order: 3;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: 26px;
    background: rgba(255,255,255,.90);
    border: 1px solid rgba(231,234,243,.95);
    box-shadow: 0 14px 34px rgba(16,24,40,.08);
    backdrop-filter: blur(8px);
    padding: 18px 16px;
  }

  .gs-hero-root .heroCard h3{
    margin: 0 0 8px;
    font-size: 1.85rem;
    line-height: 1.02;
  }

  .gs-hero-root .heroCard p{
    margin: 0 0 14px;
    font-size: 1rem;
    line-height: 1.55;
  }

  .gs-hero-root .miniList{
    display: grid;
    gap: 10px;
  }

  .gs-hero-root .miniItem{
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 10px;
    align-items: start;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255,255,255,.92);
    border: 1px solid #edf0f7;
  }

  .gs-hero-root .miniIcon{
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: grid;
    place-items: center;
  }

  .gs-hero-root .miniIcon svg{
    width: 19px;
    height: 19px;
  }

  .gs-hero-root .miniMain{
    font-size: 1rem;
    line-height: 1.2;
  }

  .gs-hero-root .miniSub{
    font-size: .92rem;
    line-height: 1.45;
  }

  .gs-hero-root .heroBottom{
    order: 4;
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
    text-align: center;
  }

  .gs-hero-root .ctas{
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    justify-content: center !important;
    align-items: stretch;
  }

  .gs-hero-root .ctas .btn{
    width: 100%;
    justify-content: center;
    min-height: 50px;
    border-radius: 999px;
  }

  .gs-hero-root .heroTrustLine{
    margin-top: 0;
    padding: 11px 14px;
    border-radius: 999px;
    font-size: .92rem;
    line-height: 1.35;
    text-align: center;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(231,234,243,.95);
  }
}
:root{
  --hero-h: 85vh;                       /* ajuste si besoin */
  --hero-pad: clamp(18px, 3.2vw, 44px);
  --hero-cta-bottom: clamp(22px, 3.6vh, 42px);
}

/* --- 1) FULL WIDTH uniquement sur la section Elementor gs-hero-full --- */
.elementor-section.gs-hero-full{
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}
.elementor-section.gs-hero-full > .elementor-container{
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.elementor-section.gs-hero-full .elementor-widget-wrap{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* --- 2) HERO styles (scopé) --- */
.gs-hero-root.hero{
  padding: 0 !important;
}

.gs-hero-root .heroShell{
  position: relative;
  width: 100%;
  min-height: var(--hero-h);
  border-radius: 2px;
  overflow: hidden;
  border: 1px solid rgba(231,234,243,1);
  box-shadow: 0 22px 60px rgba(16,24,40,.12);
  background: #eef1fb;
}

.gs-hero-root .heroVideo{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  filter: saturate(1.08) contrast(1.06);
}

.gs-hero-root .heroOverlay{
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  pointer-events:none;
}

.gs-hero-root .heroLeftScrim{
  position:absolute;
  top:0; left:0; bottom:0;
  width: 62%;
  background: linear-gradient(90deg,
    rgba(255,255,255,.90) 0%,
    rgba(255,255,255,.62) 56%,
    rgba(255,255,255,0) 100%
  );
  pointer-events:none;
}

/* Layout interne */
.gs-hero-root .heroInner{
  position: relative;
  min-height: var(--hero-h);
  padding: var(--hero-pad);
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(16px, 3vw, 28px);
  align-items: center;
}

/* Left block */
.gs-hero-root .heroLeft{
  max-width: 680px;
}

.gs-hero-root .pillClean{
  display:inline-flex;
  padding: 10px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.80);
  background: rgba(255,255,255,.70);
  backdrop-filter: blur(10px);
  color: rgba(17,24,39,.72);
  font-weight: 1000;
  font-size: 12px;
  width: fit-content;
}

.gs-hero-root .heroH1{
  margin: 14px 0 0;
  font-size: clamp(34px, 2.7vw, 52px);
  line-height: 1.03;
  letter-spacing: -0.8px;
  text-transform: uppercase;
  font-weight: 1000;
  color: #111827;

  /* contrôle retours pour rester compact */
  max-width: 24ch;
}

/* Right card (position stable) */
.gs-hero-root .heroCard{
  position: absolute;
  right: clamp(18px, 3vw, 44px);
  top: 50%;
  transform: translateY(-45%);
  width: min(600px, 44vw);
  z-index: 3;

  border-radius: 22px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(255,255,255,.75);
  box-shadow: 0 18px 46px rgba(16,24,40,.10);
  backdrop-filter: blur(10px);
  padding: 18px;
}

.gs-hero-root .heroCard h3{
  margin:0 0 6px;
  letter-spacing:-.3px;
  font-size:18px;
  font-weight: 1000;
}
.gs-hero-root .heroCard p{
  margin:0 0 14px;
  color: rgba(17,24,39,.70);
  font-weight: 900;
  font-size: 13px;
}

.gs-hero-root .miniList{
  display:grid;
  gap:10px;
  font-weight:1000;
  color: rgba(17,24,39,.74);
  font-size:13px;
}
.gs-hero-root .miniItem{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(16,24,40,.06);
}
.gs-hero-root .miniDot{
  width:10px; height:10px; border-radius:999px;
  background: linear-gradient(90deg,#5AA6FF 0%, #8A5CFF 50%, #E66FFF 100%);
  flex:0 0 auto;
}

/* CTA centré en bas */
.gs-hero-root .heroBottom{
  position: absolute;
  left: 50%;
  bottom: var(--hero-cta-bottom);
  transform: translateX(-50%);
  width: min(760px, 92%);
  z-index: 4;
  display:flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.gs-hero-root .ctas{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
}

.gs-hero-root .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:14px;
  font-weight:1000;
  font-size:14px;
  border:1px solid #dfe4f3;
  background:#fff;
  box-shadow: 0 10px 22px rgba(16,24,40,.06);
  transition: transform .15s ease;
  white-space:nowrap;
}
.gs-hero-root .btn:hover{transform: translateY(-1px)}
.gs-hero-root .btn.primary{
  border:0;
  background: linear-gradient(90deg,#5AA6FF 0%, #8A5CFF 50%, #E66FFF 100%);
  color:#fff;
  box-shadow: 0 16px 30px rgba(138,92,255,.20);
}

.gs-hero-root .heroTrustLine{
  font-weight: 1000;
  font-size: 13px;
  color: rgba(17,24,39,.62);
  text-align:center;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(255,255,255,.70);
  backdrop-filter: blur(10px);
  padding: 8px 12px;
  border-radius: 999px;
}

/* Responsive */
@media (max-width: 980px){
  .gs-hero-root .heroShell{ min-height: auto; }
  .gs-hero-root .heroInner{
    min-height: auto;
    grid-template-columns: 1fr;
    padding: 22px;
    align-items: start;
  }

  .gs-hero-root .heroLeftScrim{
    width: 100%;
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.62), rgba(255,255,255,.10));
  }

  .gs-hero-root .heroCard{
    position: relative;
    right: auto;
    top: auto;
    transform: none;
    width: 100%;
    margin-top: 14px;
  }

  .gs-hero-root .heroBottom{
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    width: 100%;
    align-items: flex-start;
    margin-top: 14px;
  }

  .gs-hero-root .ctas{
    justify-content:flex-start;
  }

  .gs-hero-root .heroTrustLine{
    text-align:left;
  }
}
/* =========================
   GS HEADER — always on top
   ========================= */

.gs-header{
  position: sticky;
  top: 0;
  z-index: 9999;                 /* ✅ au-dessus de tout (hero/video inclus) */
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(231,234,243,1);
}

/* largeur cohérente avec tes sections compactes */
.gs-headerInner{
  width: min(1180px, 92vw);
  margin: 0 auto;
  padding: 1px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
/* ===== MENU COLOR FIX ===== */
header nav a,
.gs-menu a,
.elementor-nav-menu a{
  color: #374151 !important;   /* gris premium */
}

header nav a:hover,
.gs-menu a:hover,
.elementor-nav-menu a:hover{
  color: #111827 !important;   /* noir au hover */
}

header nav a:visited,
header nav a:active{
  color: #374151 !important;
}
/* menu desktop */
.gs-menu{
  display:flex;
  align-items:center;
  gap: 28px;              /* plus d'espace entre items */
  font-size: 16px;
  font-weight: 600;       /* plus léger que 900 */
  color: #374151;         /* gris plus élégant */
}

.gs-menu a{
  padding: 24px 0;         /* plus minimal */
  border-radius: 0;
  transition: color .2s ease;
}

.gs-menu a:hover{
  background: none;       /* supprime effet bouton */
  color: #111827;
}

.gs-badge{
  font-size: 10px;
  padding: 2px 6px;
  border-radius: 999px;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  margin-left: 6px;
  font-weight: 600;
  box-shadow: none;
}
/* ===== MENU UNDERLINE + BOLD (FIX POSITION) ===== */

header nav a,
.gs-menu a{
  position: relative;
  font-weight: 500;
  transition: all .25s ease;
  display: inline-block;
}

/* underline animé */
header nav a::after,
.gs-menu a::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;     /* ⬅️ remonte le trait */
  width: 0;
  height: 2px;
  background: #ffffff;
  transition: width .25s ease;
}

/* hover */
header nav a:hover,
.gs-menu a:hover{
  font-weight: 900;   /* gras */
}

header nav a:hover::after,
.gs-menu a:hover::after{
  width: 100%;
}

/* boutons */
.gs-actions{
  display:flex;
  align-items:center;
  gap: 10px;
}

.gs-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 14px;
  font-weight: 1000;
  font-size: 14px;
  border: 1px solid rgba(223,228,243,1);
  background:#fff;
  box-shadow: 0 10px 22px rgba(16,24,40,.06);
  white-space: nowrap;
  transition: transform .15s ease;
}
.gs-btn:hover{ transform: translateY(-1px); }

.gs-btnPrimary{
  border: 0;
  background: linear-gradient(90deg,#5AA6FF 0%, #8A5CFF 50%, #E66FFF 100%);
  color:#fff;
  box-shadow: 0 16px 30px rgba(138,92,255,.20);
}

/* burger mobile */
.gs-burger{
  display:none;
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(223,228,243,1);
  background:#fff;
  box-shadow: 0 10px 22px rgba(16,24,40,.06);
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.gs-burger span{
  width:18px;
  height:2px;
  background:#2b3246;
  display:block;
  position:relative;
}

.gs-burger span:before,
.gs-burger span:after{
  content:"";
  position:absolute;
  left:0;
  width:18px;
  height:2px;
  background:#2b3246;
}
.gs-burger span:before{ top:-6px; }
.gs-burger span:after{ top:6px; }

/* panneau mobile */
.gs-mobilePanel{
  display:none;
  border-top:1px solid rgba(231,234,243,1);
  width: min(1180px, 92vw);
  margin: 0 auto;
  padding: 10px 0 14px;
}

.gs-mobilePanel a{
  display:block;
  padding: 10px 6px;
  color: rgba(91,100,120,1);
  font-weight: 900;
  border-radius: 12px;
}
.gs-mobilePanel a:hover{
  background:#f4f6ff;
  color:#111827;
}

.gs-mobileActions{
  display:flex;
  gap: 10px;
  padding-top: 10px;
  flex-wrap: wrap;
}

/* responsive */
@media (max-width: 1040px){
  .gs-menu{ display:none; }
  .gs-burger{ display:flex; }
}
/* ===== HEADER GRADIENT ===== */
.gs-header,
header{
  background: linear-gradient(90deg,#5AA6FF 0%, #8A5CFF 50%, #E66FFF 100%) !important;
  border-bottom: none !important;
  backdrop-filter: none !important;
}
/* ===== MENU WHITE TEXT ===== */
header nav a,
.gs-menu a,
.elementor-nav-menu a{
  color: #ffffff !important;
  font-weight: 500 !important;
}

header nav a:hover,
.gs-menu a:hover,
.elementor-nav-menu a:hover{
  color: rgba(255,255,255,.85) !important;
}
/* =========================================
   HERO CARD — Everything in one ecosystem
   (Ajout sans casser ton design actuel)
   ========================================= */

.gs-hero-root .miniItem{
  align-items: flex-start;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.75));
  border: 1px solid rgba(255,255,255,.85);
  box-shadow:
    0 12px 30px rgba(16,24,40,.08),
    inset 0 1px 0 rgba(255,255,255,.65);
}

/* Remplace le dot par icône ronde */
.gs-hero-root .miniDot{
  display:none;
}

/* Icône ronde glass */
.gs-hero-root .miniIcon{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  flex: 0 0 34px;

  background: radial-gradient(circle at 30% 30%, rgba(230,111,255,.30), rgba(90,166,255,.18));
  border: 1px solid rgba(120,120,255,.25);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
}

.gs-hero-root .miniIcon svg{
  width: 18px;
  height: 18px;
  fill: rgba(17,24,39,.75);
}

/* Structure texte */
.gs-hero-root .miniText{
  display:flex;
  flex-direction: column;
  gap: 2px;
}

.gs-hero-root .miniMain{
  font-size: 14px;
  font-weight: 1000;
  color: rgba(17,24,39,.88);
}

.gs-hero-root .miniSub{
  font-size: 13px;
  font-weight: 900;
  color: rgba(17,24,39,.60);
}
/* =========================================
   HERO H1 Gradient (comme page App)
   ========================================= */

.gs-hero-root .heroH1{
  background: linear-gradient(
    90deg,
    #5AA6FF 0%,
    #8A5CFF 45%,
    #E66FFF 100%
  );

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  background-clip: text;
  color: transparent;

  /* petit effet premium */
  filter: drop-shadow(0 4px 14px rgba(138,92,255,.18));
}
/* Par défaut (desktop) */
.heroMobileImage{
  display: none;
}

/* MOBILE ONLY */
@media (max-width: 767px){

  /* On cache la vidéo */
  .heroVideo{
    display: none;
  }

  /* On affiche l’image */
  .heroMobileImage{
    display: block;
    width: 100%;
    margin-bottom: 10px;
  }

  .heroMobileImage img{
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 26px;
    display: block;
  }

}
.heroVideo{
  display: none;
}
/* =========================================================
   HERO MOBILE — image à la place de la vidéo
   ========================================================= */

/* Desktop */
.heroMobileImage{
  display: none;
}

@media (max-width: 767px){

  .heroShell{
    position: relative;
    min-height: auto !important;
    padding: 14px 14px 22px;
  }

  /* On masque vraiment la vidéo sur mobile */
  .heroVideo{
    display: none !important;
  }

  /* On masque aussi les overlays desktop */
  .heroOverlay,
  .heroLeftScrim{
    display: none !important;
  }

  /* L’image mobile devient le visuel principal */
  .heroMobileImage{
    display: block !important;
    position: relative;
    width: 100%;
    z-index: 1;
    margin: 0 0 14px 0;
  }

  .heroMobileImage img{
    display: block;
    width: 100%;
    height: 240px;
    object-fit: cover;
    border-radius: 24px;
  }
/* =========================================================
   HERO MOBILE FIX — garder EXACTEMENT le design actuel
   et réafficher la vidéo
   ========================================================= */

/* On n'utilise plus l'image mobile */
.heroMobileImage{
  display: none !important;
}

/* IMPORTANT : la vidéo ne doit jamais être cachée */
.heroVideo{
  display: block !important;
}

@media (max-width: 767px){

  .gs-hero-root .heroShell{
    position: relative;
    overflow: hidden;
  }

  .gs-hero-root .heroVideo{
    display: block !important;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.02);
    filter: saturate(1.08) contrast(1.06);
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1;
  }

  /* On garde ton style actuel, donc on ne supprime pas totalement les overlays.
     On les allège juste un peu pour que la vidéo reste visible. */
  .gs-hero-root .heroOverlay{
    display: block !important;
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05));
    pointer-events: none;
    z-index: 2;
  }

  .gs-hero-root .heroLeftScrim{
    display: block !important;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,.88) 0%,
      rgba(255,255,255,.62) 48%,
      rgba(255,255,255,.18) 100%
    );
    pointer-events: none;
    z-index: 2;
  }

  /* Le contenu reste bien au-dessus */
  .gs-hero-root .heroInner{
    position: relative;
    z-index: 3;
  }
}
/* =========================================================
   HERO MOBILE — version mockup claire avec vidéo visible
   ========================================================= */

@media (max-width: 767px){

  .gs-hero-root.hero{
    padding: 0 !important;
  }

  .gs-hero-root .heroShell{
    min-height: auto !important;
    padding: 14px 14px 22px;
    background:
      radial-gradient(120% 80% at 10% 100%, rgba(90,166,255,.18), transparent 45%),
      radial-gradient(120% 80% at 90% 100%, rgba(230,111,255,.16), transparent 45%),
      #f7f8fe;
  }

  /* On enlève les overlays desktop lourds */
  .gs-hero-root .heroOverlay,
  .gs-hero-root .heroLeftScrim{
    display: none !important;
  }

  .gs-hero-root .heroInner{
    min-height: auto !important;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 0;
    position: relative;
    z-index: 3;
  }

  /* Bloc titre */
  .gs-hero-root .heroLeft{
    max-width: 100%;
    order: 1;
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(231,234,243,.95);
    border-radius: 26px;
    padding: 16px 16px 14px;
    box-shadow: 0 14px 34px rgba(16,24,40,.08);
    text-align: center;
  }

  .gs-hero-root .pillClean{
    display: inline-flex;
    margin: 0 auto 12px !important;
    text-align: center;
    width: auto;
  }

  .gs-hero-root .heroH1{
    margin: 0 !important;
    max-width: 100% !important;
    font-size: clamp(2rem, 7.2vw, 2.6rem);
    line-height: .96;
    text-align: center;
  }

  /* IMPORTANT :
     la vidéo n'est plus un fond plein écran,
     elle devient une vraie carte vidéo sous le titre */
  .gs-hero-root .heroVideo{
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 260px !important;
    display: block !important;
    object-fit: cover;
    border-radius: 26px;
    transform: none !important;
    filter: saturate(1.04) contrast(1.02);
    z-index: 1;
    order: 2;
    box-shadow: 0 14px 34px rgba(16,24,40,.10);
    border: 1px solid rgba(231,234,243,.95);
    background: #eef1fb;
  }

  /* On met visuellement la vidéo entre le titre et la carte écosystème */
  .gs-hero-root .heroShell{
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .gs-hero-root .heroInner{
    display: contents;
  }

  .gs-hero-root .heroCard{
    order: 3;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: 26px;
    background: rgba(255,255,255,.90);
    border: 1px solid rgba(231,234,243,.95);
    box-shadow: 0 14px 34px rgba(16,24,40,.08);
    backdrop-filter: blur(8px);
    padding: 18px 16px;
  }

  .gs-hero-root .heroCard h3{
    margin: 0 0 8px;
    font-size: 1.85rem;
    line-height: 1.02;
  }

  .gs-hero-root .heroCard p{
    margin: 0 0 14px;
    font-size: 1rem;
    line-height: 1.55;
  }

  .gs-hero-root .miniList{
    display: grid;
    gap: 10px;
  }

  .gs-hero-root .miniItem{
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 10px;
    align-items: start;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255,255,255,.92);
    border: 1px solid #edf0f7;
  }

  .gs-hero-root .miniIcon{
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: grid;
    place-items: center;
  }

  .gs-hero-root .miniIcon svg{
    width: 19px;
    height: 19px;
  }

  .gs-hero-root .miniMain{
    font-size: 1rem;
    line-height: 1.2;
  }

  .gs-hero-root .miniSub{
    font-size: .92rem;
    line-height: 1.45;
        font-weight: 600;

  }

  .gs-hero-root .heroBottom{
    order: 4;
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
    text-align: center;
  }

  .gs-hero-root .ctas{
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    justify-content: center !important;
    align-items: stretch;
  }

  .gs-hero-root .ctas .btn{
    width: 100%;
    justify-content: center;
    min-height: 50px;
    border-radius: 999px;
  }

  .gs-hero-root .heroTrustLine{
    margin-top: 0;
    padding: 11px 14px;
    border-radius: 999px;
    font-size: .92rem;
    line-height: 1.35;
    text-align: center;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(231,234,243,.95);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d5e848 *//* =========================================================
   GS MAIN (WHY / VALUES / REVIEWS) — compact/centré
   Scope: .gs-main
   ========================================================= */

:root{
  --gs-max: 1180px;
  --gs-pad: clamp(16px, 3vw, 28px);
  --line: #e7eaf3;
  --muted: #5b6478;
  --shadow: 0 12px 30px rgba(16,24,40,.08);
  --grad: linear-gradient(90deg,#5AA6FF 0%, #8A5CFF 50%, #E66FFF 100%);
}

/* wrapper largeur page (si tu mets dans un widget HTML) */
.gs-main{
  width: min(var(--gs-max), 92vw);
  margin-left: auto;
  margin-right: auto;
}

/* Sections spacing */
.gs-main.section{ padding: 34px 0; }
.gs-main.testimonials{ padding: 34px 0 60px; }
.gs-main.anchor{ scroll-margin-top: 90px; }

/* Separators */
.gs-main.divider,
.gs-main .divider{
  margin: 26px 0;
  display:flex;
  align-items:center;
  gap:14px;
}
.gs-main.divider:before,
.gs-main.divider:after,
.gs-main .divider:before,
.gs-main .divider:after{
  content:"";
  height:1px;
  flex:1;
  background: rgba(17,24,39,.10);
}
.gs-main .dividerDot{
  width:10px; height:10px;
  border-radius:999px;
  background: var(--grad);
  box-shadow: 0 10px 24px rgba(138,92,255,.18);
  flex:0 0 auto;
}
.gs-main .dividerMini{
  width:84px;
  height:4px;
  border-radius:999px;
  background: var(--grad);
  opacity:.9;
  margin: 10px auto 0;
}
/* =========================================================
   NEW HUMAN BLOCK
   ========================================================= */

.gs-real-learning{
  padding: 84px 0;
  background: #fff;
}

.gs-real-learning .gs-wrap{
  width: min(1240px, 92vw);
  margin: 0 auto;
}

.gs-real-learning__grid{
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  gap: 42px;
  align-items: center;
}

.gs-real-learning .gs-kicker{
  display: inline-block;
  margin-bottom: 14px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #7a8094;
}

.gs-real-learning__content h2{
  margin: 0 0 16px;
  font-size: clamp(34px, 4vw, 10px);
  line-height: 1.06;
  font-weight: 900;
  color: #192132;
  letter-spacing: -0.02em;
}

.gs-real-learning__content h2 span{
  background: linear-gradient(90deg, #5AA6FF 0%, #8A5CFF 50%, #E66FFF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.gs-real-learning__content > p{
  margin: 0 0 28px;
  max-width: 620px;
  font-size: 18px;
  line-height: 1.8;
  color: #667085;
}

.gs-feature-list{
  display: grid;
  gap: 14px;
  max-width: 560px;
}

.gs-feature-item{
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid #e8eaf2;
  border-radius: 20px;
  box-shadow: 0 12px 28px rgba(16,24,40,.06);
}

.gs-feature-icon{
  width: 34px;
  height: 34px;
  min-width: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(135deg, #5AA6FF 0%, #8A5CFF 50%, #E66FFF 100%);
  box-shadow: 0 10px 20px rgba(138,92,255,.18);
}

.gs-feature-item strong{
  display: block;
  margin-bottom: 4px;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 800;
  color: #1d2433;
}

.gs-feature-item p{
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: #667085;
}

.gs-real-learning__media{
  min-width: 0;
}

.gs-image-card{
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  background: #fff;
  border: 1px solid #e8eaf2;
  box-shadow: 0 22px 56px rgba(28,35,61,.12);
}

.gs-image-card img{
  display: block;
  width: 100%;
  height: 100%;
  min-height: 540px;
  object-fit: cover;
}

/* responsive */
@media (max-width: 980px){
  .gs-real-learning{
    padding: 64px 0;
  }

  .gs-real-learning__grid{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .gs-real-learning__content{
    order: 1;
  }

  .gs-real-learning__media{
    order: 2;
  }

  .gs-real-learning__content h2{
    font-size: 34px;
  }

  .gs-real-learning__content > p{
    font-size: 16px;
  }

  .gs-image-card img{
    min-height: 320px;
  }
}

@media (max-width: 767px){
  .gs-real-learning{
    padding: 54px 0;
  }

  .gs-real-learning .gs-wrap{
    width: min(92vw, 100%);
  }

  .gs-real-learning__content h2{
    font-size: 30px;
  }

  .gs-feature-item{
    padding: 16px 16px;
    border-radius: 18px;
  }

  .gs-feature-item strong{
    font-size: 17px;
  }

  .gs-feature-item p{
    font-size: 14px;
  }

  .gs-image-card{
    border-radius: 22px;
  }

  .gs-image-card img{
    min-height: 260px;
  }
}
/* Titles centered (comme avant) */
.gs-main .sectionTitle,
.gs-main .valuesHead,
.gs-main .tHead{
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap: 10px;
}

.gs-main .sectionTitle > div,
.gs-main .valuesHead > div,
.gs-main .tHead > div{
  display:flex;
  flex-direction: column;
  align-items:center;
  text-align:center;
}

.gs-main .sectionTitle h2,
.gs-main .valuesHead h2,
.gs-main .tHead h2{
  margin:0;
  font-size: 30px;
  letter-spacing: -0.4px;
  text-transform: uppercase;
  font-weight: 900;
  color:#111827;
}

.gs-main .sectionTitle p,
.gs-main .valuesHead p,
.gs-main .tHead p{
  margin:0 auto;
  max-width: 70ch;
  color: var(--muted);
  font-weight: 900;
  line-height:1.6;
}
/* =========================================================
   FIX SPACING WHY CHOOSE
   ========================================================= */

/* remonte toute la section */
.gs-main .sectionWhy,
.gs-main .why-section{
  margin-top: -80px !important;
  padding-top: 20px !important;
}

/* remonte le divider (ligne + point) */
.gs-main .sectionDivider,
.gs-main .divider{
  margin: -70px auto 20px !important;
}

/* réduit espace avant le titre */
.gs-main .sectionTitle,
.gs-main .head{
  margin-top: 1px !important;
}

/* réduit espace sous le titre */
.gs-main .sectionTitle p{
  margin-top: 8px !important;
}

/* réduit espace global des cards */
.gs-main .cards3{
  margin-top: 20px !important;
}

/* WHY cards */
.gs-main .grid3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
  margin-top:30px;
  margin-bottom:90px;
}

.gs-main .card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:20px;
  box-shadow: var(--shadow);
  position:relative;
  overflow:hidden;
}
.gs-main .card:before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:3px;
  background: var(--grad);
  opacity:.75;
}
.gs-main .card h3{margin:0 0 8px; font-weight:1000; color:#111827;}
.gs-main .card p{margin:0; color:var(--muted); font-weight:900; line-height:1.5}

/* VALUES block */
.gs-main .valuesWrap{
  margin-top: 50px;
  border-radius: 26px;
  border: 1px solid var(--line);
  background:
    radial-gradient(900px 480px at 10% -10%, rgba(90,166,255,.18), transparent 55%),
    radial-gradient(900px 480px at 90% 0%, rgba(230,111,255,.14), transparent 55%),
    #ffffff;
  box-shadow: 0 18px 60px rgba(16,24,40,.10);
  padding: 22px;
}

.gs-main .valuesGrid{
  margin-top: 18px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}

.gs-main .vvCard{
  border-radius: 20px;
  background: rgba(255,255,255,.78);
  border: 1px solid var(--line);
  box-shadow: 0 14px 40px rgba(16,24,40,.08);
  padding: 18px;
}

.gs-main .vvTop{
  display:flex; align-items:center; gap:12px;
  margin-bottom: 14px;
}
.gs-main .vvKicker{
  font-size: 13px;
  font-weight: 1000;
  letter-spacing: .9px;
  text-transform: uppercase;
  color:#1b2233;
}
.gs-main .vvLine{
  height:1px;
  flex:1;
  background: rgba(17,24,39,.12);
}

.gs-main .vvList{
  margin:0;
  padding-left: 18px;
  display:grid;
  gap:10px;
  font-weight: 900;
  color: rgba(17,24,39,.82);
  font-size: 14px;
  line-height: 1.6;
}
.gs-main .vvList b{color:#111827}

.gs-main .vvText{
  margin:0 0 14px;
  font-weight: 900;
  line-height: 1.6;
  color: rgba(17,24,39,.82);
  font-size: 14px;
}

.gs-main .vvPills{display:flex; flex-wrap:wrap; gap:10px; justify-content:center;}
.gs-main .vvPill{
  border-radius: 999px;
  padding: 8px 12px;
  background: #fff;
  border: 1px solid var(--line);
  font-weight: 1000;
  font-size: 12px;
  box-shadow: 0 10px 20px rgba(16,24,40,.06);
}
.gs-main .vvPill:before{
  content:"";
  display:inline-block;
  width:8px; height:8px;
  border-radius:999px;
  margin-right:8px;
  background: var(--grad);
  vertical-align:middle;
}

/* Testimonials (COMPACT + Premium App style) */

.gs-main .tHead .stars{ margin-top: 6px; letter-spacing:2px; font-size:13px; font-weight:1000; }
.gs-main .tHead .dividerMini{ margin-bottom: 22px; }
.gs-main .tHead p{ margin-top: 1px; }

/* Row: centré + moins “étalé” */
.gs-main .tRow{
  display:flex;
  justify-content: center;
  gap: 22px;
  overflow: auto;
  padding: 14px 6px 14px;
  scroll-snap-type: x mandatory;

  /* optionnel : plus agréable sur mobile */
  -webkit-overflow-scrolling: touch;
}

/* Card: plus compacte + plus de padding bas */
.gs-main .tCard{
  min-width: 320px;                 /* compact */
  max-width: 340px;                 /* évite trop large */
  scroll-snap-align: center;

  background:#fff;
  border:1px solid var(--line);
  border-radius: 22px;
  padding: 20px 20px 28px;          /* + padding bas */
  box-shadow: 0 18px 40px rgba(16,24,40,.06);

  position:relative;
  overflow:hidden;
}

/* mini top accent (fine premium) */
.gs-main .tCard:before{
  content:"";
  position:absolute; left:0; right:0; top:0;
  height:3px;
  background: var(--grad);
  opacity:.8;
}

/* Header */
.gs-main .tTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom: 14px;
}

.gs-main .tName{
  display:flex;
  align-items:center;
  gap:12px;
}

/* Avatar: rond + anneau gradient (style App) */
.gs-main .avatar{
  width: 52px;
  height: 52px;
  border-radius: 999px;
  padding: 3px;
  background: var(--grad);
  flex: 0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 12px 22px rgba(138,92,255,.14);
}

/* Si tu utilises une image dedans (recommandé) */
.gs-main .avatar img{
  width: 100%;
  height: 100%;
  border-radius: 999px;
  object-fit: cover;
  background: #fff;
  display:block;
}

/* Si tu n’as pas d’image, on garde un “core” blanc propre */
.gs-main .avatar::after{
  content:"";
  width: 100%;
  height: 100%;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  display:block;
}

/* Texts */
.gs-main .tPerson{
  font-weight: 1000;
  color:#111827;
  line-height: 1.1;
}

.gs-main .tMeta{
  margin-top: 2px;
  font-size: 12px;
  color: var(--muted);
  font-weight: 900;
}

.gs-main .tQuote{
  margin: 0;
  color: rgba(17,24,39,.82);
  font-weight: 900;
  line-height: 1.7;
  font-size: 14px;

  /* petit confort lecture */
  padding-top: 2px;
}

/* Tags / pills */
.gs-main .tLang{
  margin-top: 16px;
  display:flex;
  gap:10px;
  align-items:center;
  color: var(--muted);
  font-weight: 900;
  font-size: 12px;
  flex-wrap:wrap;
  justify-content:flex-start;
}

.gs-main .tPill{
  padding:6px 10px;
  border-radius: 999px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow: 0 10px 18px rgba(16,24,40,.04);
}
/* Texts — version plus élégante */

.gs-main .tPerson{
  font-weight: 600;        /* au lieu de 1000 */
  color:#111827;
  line-height: 1.2;
}

.gs-main .tMeta{
  margin-top: 2px;
  font-size: 12px;
  color: var(--muted);
  font-weight: 500;        /* plus léger */
}

.gs-main .tQuote{
  margin: 0;
  color: rgba(17,24,39,.82);
  font-weight: 500;        /* au lieu de 900 */
  line-height: 1.7;
  font-size: 14px;
  padding-top: 2px;
}

.gs-main .tLang{
  margin-top: 16px;
  display:flex;
  gap:10px;
  align-items:center;
  color: var(--muted);
  font-weight: 500;        /* plus léger */
  font-size: 12px;
  flex-wrap:wrap;
}

.gs-main .tHead .stars{
  margin-top: 6px;
  letter-spacing:2px;
  font-size:13px;
  font-weight:600;         /* moins lourd */
}
/* Responsive */
@media (max-width: 980px){
  .gs-main .tRow{
    justify-content: flex-start;  /* scroll naturel */
    gap: 14px;
  }
  .gs-main .tCard{
    min-width: min(320px, 86vw);
    max-width: none;
    scroll-snap-align: start;
  }
}


/* Responsive */
@media (max-width: 980px){
  .gs-main .grid3{ grid-template-columns: 1fr; }
  .gs-main .valuesGrid{ grid-template-columns: 1fr; }
  
}
/* =========================================================
   GS FOOTER — compact premium
   Scope: .gs-footer
   ========================================================= */
:root{
  --gs-grad-a:#5AA6FF;
  --gs-grad-b:#E66FFF;

  /* Blancs */
  --gs-white: rgba(255,255,255,.98);
  --gs-white-soft: rgba(255,255,255,.86);
  --gs-white-softer: rgba(255,255,255,.74);

  /* Lines + card */
  --gs-line: rgba(255,255,255,.22);
  --gs-card: rgba(255,255,255,.12);

  --gs-radius: 18px;
  --gs-max: 1180px;
  --gs-font: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* Footer container */
.gs-footer{
  font-family: var(--gs-font);
  color: var(--gs-white);
  background: linear-gradient(90deg, var(--gs-grad-a), var(--gs-grad-b));
  padding: 54px 20px 0;
  position: relative;
  overflow: hidden;
}

/* Optional subtle glow */
.gs-footer::before,
.gs-footer::after{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border-radius:999px;
  filter: blur(42px);
  opacity:.18;
  pointer-events:none;
}
.gs-footer::before{
  top:-240px; left:-200px;
  background: rgba(255,255,255,.55);
}
.gs-footer::after{
  bottom:-260px; right:-220px;
  background: rgba(0,0,0,.22);
}

/* Inner layout */
.gs-footer__inner{
  max-width: var(--gs-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr 1.95fr;
  gap: 32px;
  align-items: start;
  position: relative;
  z-index: 1;
}

/* BRAND */
.gs-footer__brand{ align-self: start; }

.gs-footer__logo{
  display:flex;
  gap: 12px;
  text-decoration:none;
  color: var(--gs-white);
  align-items: center;
}

.gs-footer__logoMark{
  width:44px;
  height:44px;
  border-radius:14px;
  background: rgba(255,255,255,.92);
}

.gs-footer__logoText{
  display:flex;
  flex-direction: column;
  gap: 6px;
}

.gs-footer__logoTitle{
  font-weight: 800;
  font-size: 17px;
  letter-spacing: .4px;
  line-height: 1.1;
  color: var(--gs-white);
  white-space: nowrap;
}

.gs-footer__logoTagline{
  font-size: 12px;
  color: var(--gs-white-soft);
}

.gs-footer__desc{
  margin-top: 14px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--gs-white-soft);
  max-width: 46ch;
}

/* NAV columns */
.gs-footer__nav{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  align-items: start;
}

/* Cards */
.gs-footer__col{
  background: var(--gs-card);
  border: 1px solid var(--gs-line);
  border-radius: var(--gs-radius);
  padding: 16px 16px 14px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  height: fit-content;
  align-self: start;
}

/* Headings */
.gs-footer__heading{
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .7px;
  margin: 0 0 10px;
  color: var(--gs-white);
}

/* Lists */
.gs-footer__list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap: -1px;
}

/* IMPORTANT: Links in cards must be white */
.gs-footer__link{
  color: var(--gs-white) !important;
  text-decoration:none;
  font-size: 13px;
  opacity: .98;
  transition: transform .18s ease, opacity .18s ease;
}

.gs-footer__link:hover{
  opacity: 1;
  transform: translateX(2px);
}

.gs-footer__link:focus-visible{
  outline: 2px solid rgba(255,255,255,.65);
  outline-offset: 3px;
  border-radius: 10px;
}

/* CTA card text */
.gs-footer__col--cta .gs-footer__small{
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--gs-white);
  opacity: .95;
}

/* Buttons */
.gs-footer__cta{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}

.gs-btn{
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: transform .18s ease, filter .18s ease;
}
.gs-footer__cta{
  display: flex;
  gap: 12px;
  flex-wrap: nowrap;          /* IMPORTANT */
  justify-content: flex-start;
  align-items: center;
}
.gs-btn--ghost{
  border: 1px solid rgba(255,255,255,.80);
  color: var(--gs-white);
  background: rgba(255,255,255,.08);
}
.gs-btn--ghost:hover{
  transform: translateY(-1px);
  filter: brightness(1.06);
}

.gs-btn--primary{
  background: rgba(255,255,255,.95);
  color: rgba(25,25,25,.95);
  border: 1px solid rgba(255,255,255,.95);
}
.gs-btn--primary:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}

/* Bottom bar */
.gs-footer__bottom{
  margin-top: 34px;
  border-top: 1px solid var(--gs-line);
  padding: 18px 0 26px;
  position: relative;
  z-index: 1;
}

.gs-footer__bottomInner{
  max-width: var(--gs-max);
  margin: 0 auto;
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  gap: 14px;
  text-align:center;
}

.gs-footer__copyright{
  margin: 0;
  font-size: 12px;
  color: var(--gs-white-soft);
}

/* Social */
.gs-footer__social{
  display:flex;
  justify-content:center;
  align-items:center;
  gap: 16px;
}

.gs-social{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.32);
  transition: transform .18s ease, filter .18s ease;
}

.gs-social:hover{
  transform: translateY(-2px);
  filter: brightness(1.08);
}

.gs-social svg{
  width: 18px;
  height: 18px;
  fill: rgba(255,255,255,.98);
  display:block;
}
/* =========================================================
   GS FOOTER — FIX Elementor / live preview
   À coller TOUT EN BAS
   ========================================================= */

/* Le footer garde bien son fond gradient */
.gs-footer{
  background: linear-gradient(90deg, var(--gs-grad-a), var(--gs-grad-b)) !important;
}

/* Colonnes / cartes : on force le vrai style */
.gs-footer .gs-footer__col{
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  box-shadow: none !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

/* On neutralise les fonds blancs injectés par Elementor */
.gs-footer .elementor-element,
.gs-footer .elementor-widget,
.gs-footer .elementor-widget-wrap,
.gs-footer .elementor-column,
.gs-footer .elementor-column-wrap,
.gs-footer .elementor-container,
.gs-footer .e-con,
.gs-footer .e-child{
  background: transparent !important;
  box-shadow: none !important;
}

/* Sécurité typographies */
.gs-footer,
.gs-footer p,
.gs-footer span,
.gs-footer li,
.gs-footer a,
.gs-footer h1,
.gs-footer h2,
.gs-footer h3,
.gs-footer h4,
.gs-footer h5,
.gs-footer h6{
  color: rgba(255,255,255,.98) !important;
}

/* Texte secondaire */
.gs-footer .gs-footer__logoTagline,
.gs-footer .gs-footer__desc,
.gs-footer .gs-footer__copyright{
  color: rgba(255,255,255,.86) !important;
}

/* Liens */
.gs-footer .gs-footer__link{
  color: rgba(255,255,255,.98) !important;
}

/* Boutons */
.gs-footer .gs-btn--ghost{
  border: 1px solid rgba(255,255,255,.80) !important;
  color: rgba(255,255,255,.98) !important;
  background: rgba(255,255,255,.08) !important;
}

.gs-footer .gs-btn--primary{
  background: rgba(255,255,255,.95) !important;
  color: rgba(25,25,25,.95) !important;
  border: 1px solid rgba(255,255,255,.95) !important;
}

/* Ligne du bas */
.gs-footer .gs-footer__bottom{
  border-top: 1px solid rgba(255,255,255,.22) !important;
}

/* Icônes sociales */
.gs-footer .gs-social{
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.32) !important;
}

.gs-footer .gs-social svg{
  fill: rgba(255,255,255,.98) !important;
}
/* Responsive */
@media(max-width: 900px){
  .gs-footer__inner{
    grid-template-columns: 1fr;
  }
  .gs-footer__nav{
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   ✅ PROOF BAR FIX — uniquement pour corriger l’affichage
   (cards + alignement + responsive)
   Compatible: .proofBar / .proof-bar / .gs-proofBar
   ========================================================= */

/* Le conteneur */
.proofBar,
.proof-bar,
.gs-proofBar{
  width: min(var(--gs-max, 1180px), 92vw);
  margin: 14px auto 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 0 !important;
}

/* Chaque bloc */
.proof,
.proofItem,
.proof-item,
.gs-proof{
  background:#fff !important;
  border: 1px solid var(--line, #e7eaf3) !important;
  border-radius: 16px !important;
  padding: 14px !important;
  text-align: center !important;
  box-shadow: 0 10px 24px rgba(16,24,40,.06) !important;
  display: block !important;
}

/* Typo */
.proof b,
.proofItem b,
.proof-item b,
.gs-proof b{
  display:block !important;
  font-size: 18px !important;
  font-weight: 1000 !important;
  color:#111827 !important;
  line-height: 2 !important;
}

.proof small,
.proofItem small,
.proof-item small,
.gs-proof small{
  display:block !important;
  margin-top: 4px !important;
  color: var(--muted, #5b6478) !important;
  font-weight: 900 !important;
  font-size: 13px !important;
}

/* Responsive */
@media (max-width: 980px){
  .proofBar,
  .proof-bar,
  .gs-proofBar{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
/* =========================================
   FIX: Center top dividers (WHY + REVIEWS)
   ========================================= */

/* Si le divider est DANS .gs-main */
.gs-main .divider{
  width: min(1180px, 92vw);
  margin: 26px auto;
}

/* Si le divider est EN DEHORS (juste après le hero par ex.) */
.divider{
  width: min(1180px, 92vw);
  margin-left: auto !important;
  margin-right: auto !important;
}

/* S'assurer que les lignes internes restent équilibrées */
.divider:before,
.divider:after{
  flex: 1;
}
/* WHY ICON VERSION */

.whyGrid{
  margin-top: 26px;
}

.whyCard{
  padding: 28px 26px 30px;
  border-radius: 22px;
  text-align: center;
  transition: all .25s ease;
}

.whyCard:hover{
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(16,24,40,.12);
}

.whyIcon{
  width: 64px;
  height: 64px;
  margin: 0 auto 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 18px;
  background: linear-gradient(135deg,#5AA6FF 0%, #8A5CFF 50%, #E66FFF 100%);
  color:#fff;
  box-shadow: 0 14px 30px rgba(138,92,255,.25);
}

.whyIcon svg{
  width: 28px;
  height: 28px;
  stroke-width: 2.2;
}

.whyCard h3{
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 1000;
}

.whyCard p{
  font-size: 14px;
  line-height: 1.6;
  font-weight: 900;
}
/* VALUES – alignement gauche des cartes */

.gs-main .valuesGrid{
  align-items: stretch;
}

/* Cartes gauche et droite */
.gs-main .vvCard{
  text-align: left;
}

/* Titre interne (OUR EDUCATIONAL VALUES / OUR VISION) */
.gs-main .vvTop{
  justify-content: flex-start;
}

/* Liste gauche */
.gs-main .vvList{
  text-align: left;
  padding-left: 20px;
}

/* Texte droite */
.gs-main .vvText{
  text-align: left;
}

/* Pills à droite alignées gauche */
.gs-main .vvPills{
  justify-content: flex-start;
}
/* ===============================
   VALUES — VERSION PREMIUM LIGHT
   =============================== */

/* Texte général plus respirant */
.gs-main .vvCard{
  padding: 28px 30px;
}

/* Titres internes */
.gs-main .vvKicker{
  font-size: 12px;
  letter-spacing: 1.2px;
  font-weight: 700;   /* moins agressif */
  opacity: .75;
}

/* Liste gauche */
.gs-main .vvList{
  font-weight: 500;   /* plus léger */
  line-height: 1.8;   /* plus d’air */
  gap: 14px;          /* espace entre lignes */
  font-size: 15px;
}

/* Retirer le gras excessif */
.gs-main .vvList b{
  font-weight: 600;
}

/* Texte droite */
.gs-main .vvText{
  font-weight: 500;
  font-size: 15px;
  line-height: 1.8;
}

/* Pills plus fines */
.gs-main .vvPill{
  font-weight: 600;
  padding: 6px 14px;
  font-size: 12px;
}

/* Légère amélioration visuelle */
.gs-main .vvCard{
  transition: all .3s ease;
}

.gs-main .vvCard:hover{
  transform: translateY(-3px);
  box-shadow: 0 24px 60px rgba(16,24,40,.12);
}
/* =========================
   VALUES RIGHT CARD TUNING
   ========================= */

/* Plus d’espace dans la carte droite */
.gs-main .valuesGrid .vvCard:last-child{
  padding: 34px 36px;
}

/* Plus d’espace sous le paragraphe */
.gs-main .vvText{
  margin-bottom: 22px;
}

/* Réorganisation des pills */
.gs-main .vvPills{
  display: flex;
  flex-wrap: wrap;
  gap: 14px 16px;        /* espace horizontal + vertical */
  justify-content: flex-start;
  margin-top: 28px;
}

/* Pills plus respirantes */
.gs-main .vvPill{
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 999px;
}/* End custom CSS */