/* ===== Gamoniz mini UI : Variables RGB pour l'opacit� (Ajout) ===== */

:root{

  --gamoniz-accent:#12cc7a;

  --gamoniz-dark:#0f1f29;

  --gamoniz-dark-2:#142735;

  --gamoniz-text:#e6f0f2;

  /* Nouvelle variable pour opacit� facile (18,204,122 est la version RGB de #12cc7a) */

  --gamoniz-accent-rgb: 18, 204, 122;

  /* Nouvelle variable pour la couleur de texte sur l'accent (R�p�tition de #062a22) */

  --gamoniz-on-accent: #062a22;

}



/* ?? d�-duplication : r�gles communes (Gamoniz Grid) */

.gamoniz-grid,

.gamoniz-grid-2,

.gzn-grid {

  display:grid;

  gap:1rem;

}



@media(min-width:720px){

  .gamoniz-grid{ grid-template-columns:repeat(3,1fr); }

  .gamoniz-grid-2{ grid-template-columns:repeat(2,1fr); }

}



/* Gamoniz mini UI */

.gamoniz-section{ margin:3rem auto; max-width:960px; padding:0 1rem; }

.gamoniz-title{ font-size:clamp(1.6rem,3vw,2.2rem); font-weight:800; text-align:center; margin:0 0 1.25rem; }

.gamoniz-card{ background:var(--gamoniz-dark-2); border:1px solid rgba(255,255,255,.06); border-radius:18px; padding:1.25rem; box-shadow:0 6px 20px rgba(0,0,0,.25); }

.gamoniz-item{ display:flex; gap:.75rem; align-items:flex-start; }

.gamoniz-ico{

  width:36px; height:36px; display:grid; place-items:center;

  /* Utilisation de la nouvelle variable RGB pour l'opacit� */

  background:rgba(var(--gamoniz-accent-rgb),.12);

  border:1px solid rgba(var(--gamoniz-accent-rgb),.4);

  color:var(--gamoniz-accent); border-radius:12px; font-size:20px; flex:0 0 36px;

}

.gamoniz-lead{ font-weight:700; margin:0 0 .15rem; }

.gamoniz-muted{ opacity:.85; font-size:.95rem; margin:0; }

.gamoniz-inline-cta{ margin-top:1rem; text-align:center; }

.gamoniz-badge{

  display:inline-block; padding:.15rem .5rem; border-radius:999px;

  /* Utilisation de la nouvelle variable RGB pour l'opacit� */

  background:rgba(var(--gamoniz-accent-rgb),.15);

  color:var(--gamoniz-accent);

  font-weight:700; font-size:.85rem; margin-left:.25rem; vertical-align:middle;

}



/* ?? d�-duplication : Propri�t�s communes aux boutons/liens (gamoniz-btn-base) */

.gamoniz-btn,

.gamoniz-btn-outline,

.gzn-link-outline {

    display:inline-block;

    padding:.75rem 1rem;

    border-radius:12px;

    text-decoration:none;

    font-weight:800;

}



/* Boutons principaux */

.gamoniz-btn{

  background:var(--gamoniz-accent); color:#fff;

}



/* Boutons Outline - partiel */

.gamoniz-btn-outline,

.gzn-link-outline{

  /* Annulation de font-weight:800 du mixin partiel */

  font-weight:700;

  border:2px solid var(--gamoniz-accent);

  color:var(--gamoniz-accent);


}



.gzn-link-outline{ padding:.6rem 1rem; }



/* ?? d�-duplication : Hover des boutons Outline */

.gamoniz-btn-outline:hover,

.gzn-link-outline:hover {

  background:var(--gamoniz-accent);

  color:var(--gamoniz-on-accent); /* Utilisation de la variable */

}



/* Gamoniz Thanks (Propri�t�s uniques) */

.gamoniz-thanks{ padding:1.5rem; }

.gamoniz-namelist{ line-height:1.8; margin:.5rem 0 0; }

.gamoniz-sub{ opacity:.85; text-align:center; margin:.5rem 0 1rem; }

.gamoniz-avatar{

  width:96px; height:96px; border-radius:50%; display:block; margin:0 auto 1rem;

  box-shadow:0 6px 18px rgba(0,0,0,.35); border:2px solid rgba(255,255,255,.12);

}

.gamoniz-discord{ margin-top:1.25rem; text-align:center; }

.gamoniz-discord .card{

  display:inline-flex; align-items:center; gap:.75rem; padding:.9rem 1.1rem;

  border-radius:14px; border:1px solid rgba(255,255,255,.1); background:var(--gamoniz-dark-2);

}

.gamoniz-link{

  color:var(--gamoniz-accent); font-weight:700; text-decoration:none;

  /* Utilisation de la nouvelle variable RGB pour l'opacit� */

  border-bottom:1px dashed rgba(var(--gamoniz-accent-rgb),.5);

}

.gamoniz-link:hover{ color:var(--gamoniz-on-accent); background:var(--gamoniz-accent); }

.gamoniz-note{ font-size:.9rem; opacity:.8; text-align:center; margin-top:.5rem; }



/* ===== New mission section ===== */

.gzn-mission{ max-width:1120px; margin:2.5rem auto 0; padding:0 1rem; text-align:center; }

.gzn-mission h2{ font-size:clamp(1.8rem,3vw,2.4rem); font-weight:900; margin:0 0 .6rem; }

.gzn-mission .lead{ max-width:780px; margin:0 auto .25rem; font-size:1rem; opacity:.9; }

.gzn-mission .bold{ font-weight:800; }

.gzn-deck{ max-width:1120px; margin:1.25rem auto 0; padding:0 1rem; }

.gzn-deck .pill{ background:#173240; border:1px solid rgba(255,255,255,.08); border-radius:28px; padding:1.25rem; }



/* Gzn Grid (uniquement les media queries, le reste est regroup� plus haut) */

@media(min-width:900px){

  /* Seul le s�lecteur gzn-grid doit rester ici */

  .gzn-grid{ grid-template-columns:repeat(3,1fr); }

}



.gzn-card{ display:flex; flex-direction:column; align-items:center; gap:.5rem; padding:.5rem 1rem; }

.gzn-ico{

  width:56px; height:56px; border-radius:16px; display:grid; place-items:center;

  /* Utilisation de la nouvelle variable RGB pour l'opacit� */

  background:rgba(var(--gamoniz-accent-rgb),.12);

  border:1px solid rgba(var(--gamoniz-accent-rgb),.35);

  color:var(--gamoniz-accent); font-size:28px;

}

.gzn-title{ font-weight:900; font-size:1.15rem; margin:.25rem 0 0; }

.gzn-text{ opacity:.9; max-width:320px; }

.gzn-inline{ margin-top:1rem; }

/* .gzn-link-outline : d�-dupliqu� dans la section des boutons */



/* -- Topbar Gamoniz : propre + centr� + accessible ------------------------- */

#gamoniz-topbar{

  position:relative;

  display:flex; align-items:center; justify-content:center; gap:12px;

  min-height:44px; padding:8px 72px 8px 16px; /* espace pour la croix */

  width:100%; box-sizing:border-box;

  /* Utilisation de la variable */

  background:var(--gamoniz-dark); color:var(--gamoniz-text);

  border-bottom:1px solid rgba(255,255,255,.08);

  font-weight:700; line-height:1.25;

}

#gamoniz-topbar .topbar-cta{

  display:inline-flex; align-items:center; justify-content:center;

  background:var(--gamoniz-accent);

  color:var(--gamoniz-on-accent); /* Utilisation de la variable */

  padding:8px 14px; border-radius:999px; font-weight:900; text-decoration:none;

  box-shadow:0 8px 24px rgba(16,185,129,.25);

  transition:transform .08s ease, box-shadow .2s ease, background .2s ease;

}

#gamoniz-topbar .topbar-cta:hover{

  /* La couleur �tait #12cc7a (double accent), conservons-la pour le moment */

  background:#12cc7a;

  transform:translateY(-1px); box-shadow:0 10px 28px rgba(16,185,129,.32);

}

#gamoniz-topbar .topbar-link{ color:inherit; text-decoration:none; display:inline-flex; gap:.5rem; align-items:center; }

#gamoniz-topbar .topbar-link > strong{ font-weight:800; }

#gamoniz-topbar .topbar-sub{ font-weight:600; opacity:.9; }

#gamoniz-topbar-close{

  position:absolute; right:12px; top:50%; transform:translateY(-50%);

  display:flex; align-items:center; justify-content:center;

  width:28px; height:28px; line-height:0; background:transparent; border:none;

  color:#9cebc8; font-size:18px; cursor:pointer; border-radius:6px;

}

#gamoniz-topbar-close:hover{ background:rgba(255,255,255,.08); }




/* ===== Gamoniz Review Wall ===== */

/* Utilisation de la variable accent en fallback */

.gx-reviews { max-width: 1120px; margin: 40px auto; padding: 0 16px; color: var(--gamoniz-text,#e6f0f2); }

.gx-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }

.gx-title { font-size: clamp(1.4rem, 2.5vw, 1.9rem); font-weight: 900; margin: 0; }

.gx-chips{ display:flex; flex-wrap:wrap; gap:8px; }

.gx-chip{ display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:999px; font-weight:800;

  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); }

.gx-chip.gx-link{ text-decoration:none; color:var(--gamoniz-text,#e6f0f2); }

.gx-chip.gx-link:hover{ background:rgba(255,255,255,.08); }

.gx-stars{ letter-spacing:.1em; color:var(--gamoniz-accent,#10b981); }



.gx-row { 
    position: relative; 
    overflow: hidden; 
    margin: 14px 0; 
    padding: 8px 0; 
    /* Utilisation de stop-color pour un rendu plus propre sur Gecko (Firefox) */
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent);
}

.gx-row--reverse .gx-track { 
    animation: gx-marquee-reverse 150s linear infinite; 
}


.gx-track { 
    display: flex; 
    gap: 12px; 
    width: max-content; 
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    perspective: 1000px;
    animation: gx-marquee 150s linear infinite; /* Vitesse lente de base */
    will-change: transform; 
}

@keyframes gx-marquee { 
    0% { transform: translate3d(0, 0, 0); } 
    100% { transform: translate3d(calc(-50% - 6px), 0, 0); } 
}

/* Animation vers la DROITE (Fix Firefox) */
@keyframes gx-marquee-reverse { 
    0% { transform: translate3d(calc(-50% - 6px), 0, 0); } 
    100% { transform: translate3d(0, 0, 0); } 
}

/* Reduced motion */

@media (prefers-reduced-motion:reduce){ .gx-track{ animation:none; } }



.gx-row:hover .gx-track{ animation-play-state:paused; }



.gx-card {
    flex: 0 0 320px; /* Force la largeur pour �viter les sauts de calcul Firefox */
    width: 320px;
    background: var(--gamoniz-dark-2,#142735);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 16px;
    padding: 14px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.25);
    /* Emp�che les micro-saccades de texte lors de l'animation */
    -webkit-font-smoothing: antialiased;
}

.gx-card:hover{

  transform:translateY(-1px);

  /* Utilisation de la nouvelle variable RGB pour l'opacit� */

  border-color:rgba(var(--gamoniz-accent-rgb),.35);

  box-shadow:0 12px 36px rgba(16,185,129,.18);

}

/* 2. Booster pour Chromium (Chrome/Edge) : 
   On cible les navigateurs qui supportent une propri�t� sp�cifique � Chromium */
@supports (-webkit-app-region: inherit) {
    .gx-track {
        animation-duration: 200s; /* Plus rapide pour compenser le rendu Chromium */
    }
    .gx-row--reverse .gx-track { 
        animation-duration: 200s; 
    }
}

/* 3. S�curit� sp�cifique pour Firefox (Gecko) :
   Si jamais Firefox ignore la base de 150s, on le force ici */
@-moz-document url-prefix() {
    .gx-track {
        animation-duration: 150s !important;
    }
}


.gx-top{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }

.gx-avatar{

    width:40px;

    height:40px;

    border-radius:50% !important;

    border:1px solid rgba(255,255,255,.14);

    box-shadow:0 4px 14px rgba(0,0,0,.25);

    object-fit: cover;

}

/* D�-duplication : .gzn-text est maintenant fusionn� avec .gx-text si elles sont identiques */

.gx-name{ font-weight:900; margin-bottom:2px; }

.gx-text{ margin:0 0 8px; opacity:.95; line-height:1.5; }

.gx-meta{ font-size:.9rem; opacity:.8; }



.gx-foot{

    display: flex; /* Active Flexbox */

    flex-direction: column; /* Place les �l�ments verticalement par d�faut */

    align-items: center; /* Centre les �l�ments */

    gap: 1.5rem; /* Espacement entre le bloc logos et le bouton */

    margin-top: 1.5rem; /* Augmenter la marge pour l'espace */

}

.gx-foot-logos {

    display: flex; /* Active Flexbox pour la ligne de logos */

    align-items: center;

    gap: 10px; /* Petit espacement entre le titre "Verified on" et les logos */

    flex-wrap: wrap; /* Assure la flexibilit� sur mobile */

    justify-content: center;

    max-width: 100%;

    font-size: .85rem; /* Rendre le texte 'Verified on' plus discret */

    opacity: .8;

}

/* D�-duplication : Propri�t�s communes aux boutons Outline (ici, le padding diff�re) */

.gx-all{

  display:inline-block; padding:8px 14px; border-radius:12px;

  border:2px solid var(--gamoniz-accent,#10b981); color:var(--gamoniz-accent,#10b981);

  text-decoration:none; font-weight:800;

}

.gx-all:hover{

  background:var(--gamoniz-accent,#10b981);

  color:var(--gamoniz-on-accent); /* Utilisation de la variable */

}



/* Responsive (pas de doublons ici) */



/* Duplication des styles sur la page de revue */

.gx-reviews-page{

  max-width:1120px;

  margin:40px auto 10px;

  padding:0 16px;

}

.gx-wall-header{

  display:flex;

  flex-wrap:wrap;

  justify-content:center;

  gap:18px;

  align-items:flex-start;

  margin-bottom:10px;

}

.gx-wall-main{

  flex:1 1 320px;

  max-width:760px;

  margin:0 auto 32px;

  text-align:center;

}

.gx-wall-lead{

  margin:6px 0 14px;

  opacity:.9;

  max-width:640px;

}

.gx-wall-metrics{

  display:flex;

  flex-wrap:wrap;

  gap:8px;

  justify-content:center;

}

.gx-wall-side{

  flex:0 0 260px;

  max-width:260px;

}

.gx-wall-side-title{

  font-size:.9rem;

  text-transform:uppercase;

  letter-spacing:.08em;

  opacity:.7;

  margin:0 0 6px;

}

.gx-wall-logos{

  display:flex;

  flex-wrap:wrap;

  gap:6px;

}

.gx-wall-logo{

  display:inline-flex;

  align-items:center;

  justify-content:center;

  padding:6px 10px;

  border-radius:999px;

  font-size:.85rem;

  font-weight:700;

  background:rgba(255,255,255,.04);

  border:1px solid rgba(255,255,255,.08);

  color:var(--gamoniz-text,#e6f0f2);

  text-decoration:none;

}

.gx-wall-logo:hover{

  /* Utilisation de la nouvelle variable RGB pour l'opacit� */

  background:rgba(var(--gamoniz-accent-rgb),.18);

  border-color:rgba(var(--gamoniz-accent-rgb),.4);

  color:#dffdf1;

}

.gx-wall-foot{

  text-align:left;

  margin-top:4px;

}

.gx-wall-note{

  font-size:.85rem;

  opacity:.8;

  margin:10px 0 0;

  text-align:center;

}


/* Styles pour les images � l'int�rieur des badges de logo */

.gx-wall-logo img {

  max-width: 100%;

  height: auto; /* Maintient le ratio de l'image si la hauteur est d�finie */

  border: none;

  vertical-align: middle; /* Aide � centrer l'image avec le texte si vous en ajoutez un */

}
/* ===== Grille du mur d'avis (page /reviews) ===== */

.gx-reviews-wall .gx-container {
  max-width: 1300px;
  margin: 0 auto;
  padding: 24px 16px;
}

.gx-reviews-wall .gx-wall-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

/* 4 colonnes sur grand �cran */
@media (min-width: 1300px) {
  .gx-reviews-wall .gx-wall-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* 1 colonne sur mobile — réglé dans le bloc @media (max-width: 640px) */

/* Cartes dans le mur d'avis */
.gx-reviews-wall .gx-card {
  flex: none;
  width: auto;
  max-width: 100%;
  margin: 0;
  border-radius: 12px;
}


/* Bloc "What players say about Bobu" */
.gx-reviews-hero {
  margin-top: 24px;
  margin-bottom: 10px;
}

.gx-reviews-hero .gx-container {
  text-align: center;
}

.gx-reviews-hero .gx-title {
  margin-bottom: 6px;
}

.gx-reviews-hero .gx-subtitle {
  max-width: 760px;
  margin: 0 auto 10px;
  opacity: .9;
}

/* Logos sous "What players say..." */
.gx-reviews-hero .gx-wall-logos {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 8px;
}

/* Un peu d'espace avant le mur de cartes */
.gx-reviews-wall {
  margin-top: 16px;
}

/* === CRO patch properties merged into main definitions above === */
.gz-apply-summary{
  display:grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap:0.9rem;
  max-width: 900px;
  margin: 0 auto 1.25rem;
}
.gz-apply-summary-item{
  background: rgba(15,31,41,0.92);
  border: 1px solid rgba(0,184,240,0.18);
  border-radius: 14px;
  padding: 0.95rem 1rem;
  color: #cfe4f3;
  line-height: 1.55;
}
.gz-apply-summary-item strong{color:#fff;}

/* ==========================================================================
   RMT ACCELERATOR � CSS FINAL
   Structure : Variables ? Base ? Layout ? Composants ? Sections ? Nav ? Formulaire ? Responsive
   ========================================================================== */


/* --------------------------------------------------------------------------
   0. VARIABLES GLOBALES
   -------------------------------------------------------------------------- */
:root {
  --gz-accent:      #34D399;
  --gz-primary:     #00B8F0;
  --gz-bg-nav:      rgba(13, 22, 29, 0.95);
  --gz-text-dim:    #9BBBD4;
  --gz-text-mid:    #C3D7EA;
  --gz-text-bright: #EAF6FF;
  --gz-white:       #FFFFFF;
}


/* --------------------------------------------------------------------------
   1. BASE GLOBALE
   -------------------------------------------------------------------------- */
.gz-accel {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--gz-text-bright);
  line-height: 1.6;
}
.gz-accel section { padding: 3rem 1.5rem; }
.gz-accel-inner   { max-width: 980px; margin: 0 auto; }

.gz-accel h1,
.gz-accel h2,
.gz-accel h3 { margin: 0 0 1rem; font-weight: 800; color: var(--gz-white); }

.gz-accel p { margin: 0 0 0.75rem; line-height: 1.7; color: var(--gz-text-mid); font-size: 1rem; }

.gz-accel ul,
.gz-accel ol { list-style: none; padding: 0; margin: 0; }

.gz-accel-inner h2 {
  font-size: clamp(1.8rem, 2.5vw, 2.2rem);
  font-weight: 700;
  color: var(--gz-white);
  margin: 0 0 1.5rem;
  line-height: 1.2;
}

.gz-accel-section-label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--gz-text-dim);
  margin-bottom: 0.5rem;
}


/* --------------------------------------------------------------------------
   2. LAYOUT HELPERS
   -------------------------------------------------------------------------- */
.gz-accel-grid-2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: stretch;
}
.gz-accel-profile {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 1.8rem;
  align-items: center;
}

/* Utilitaires inline ? classes */
.gz-col-flex    { display: flex; flex-direction: column; }
.gz-mb-2        { margin-bottom: 2rem; }
.gz-mb-top-2    { margin-top: 2rem; }
.gz-card-mb     { margin-bottom: 1.5rem; flex: 1; }
.gz-card-full   { height: 100%; display: flex; flex-direction: column; }
.gz-h2-light    { font-weight: 400; }
.gz-text-accent { color: #34D399; }


/* --------------------------------------------------------------------------
   3. COMPOSANTS UI PARTAG�S
   -------------------------------------------------------------------------- */

/* --- Boutons primaires --- */
.gz-accel-btn-primary,
.gz-apply-btn-next,
.gz-apply-btn-submit,
.gz-investment-v31-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 2.2rem;
  border-radius: 999px;
  border: none;
  cursor: pointer;
  font-weight: 800;
  font-size: 1rem;
  text-decoration: none;
  color: var(--gz-white) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.45);
  background: linear-gradient(135deg, #00C5FF 0, #00A0E6 45%, #0090D0 100%);
  box-shadow: 0 10px 30px rgba(0,184,240,0.65);
  transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
}
.gz-accel-btn-primary:hover,
.gz-apply-btn-next:hover,
.gz-apply-btn-submit:hover,
.gz-investment-v31-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(0,184,240,0.75);
  filter: brightness(1.03);
}
.gz-apply-btn-next:active,
.gz-apply-btn-submit:active {
  transform: translateY(0);
  box-shadow: 0 6px 18px rgba(0,184,240,0.5);
}
.gz-investment-v31-btn-primary {
  padding: 0.95rem 1.6rem;
  font-size: 0.96rem;
  box-shadow: 0 10px 30px rgba(0,184,240,0.45);
}
.gz-accel-btn-row           { display: flex; justify-content: center; margin-bottom: 0.7rem; }
.gz-investment-v31-btn-row  { display: flex; justify-content: center; width: 100%; margin-bottom: 1rem; }
.gz-accel-cta-note,
.gz-investment-v31-cta-note { font-size: 0.8rem; color: var(--gz-text-dim); text-align: center; }

/* --- Badges row --- */
.gz-accel-badge-row { display: flex; flex-wrap: wrap; gap: 0.55rem; justify-content: center; margin-bottom: 1.8rem; }
.gz-accel-badge {
  background: rgba(15,30,43,0.7);
  border-radius: 999px;
  padding: 0.35rem 0.9rem;
  font-size: 0.8rem;
  color: var(--gz-text-mid);
  border: 1px solid rgba(0,184,240,0.5);
  font-weight: 500;
}

/* --- Tags --- */
.gz-accel-tag-row { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.5rem; }
.gz-accel-tag {
  padding: 0.18rem 0.6rem;
  border-radius: 999px;
  font-size: 0.8rem;
  border: 1px solid rgba(155,187,212,0.65);
  color: var(--gz-text-dim);
}
.gz-tag-dark { background: rgba(8,26,38,0.85); border-color: rgba(155,187,212,0.7); }

/* --- Badges th�matiques --- */
.gz-badge-growth {
  font-size: 0.75rem; background: rgba(16,185,129,0.15); color: #34D399;
  padding: 2px 8px; border-radius: 4px; font-weight: 700;
  border: 1px solid rgba(16,185,129,0.3);
}
.gz-badge-system {
  font-size: 0.75rem; background: rgba(88,208,255,0.1); color: #58D0FF;
  padding: 2px 8px; border-radius: 4px; font-weight: 700;
  border: 1px solid rgba(88,208,255,0.3);
}

/* --- Cartes --- */
.gz-accel-card {
  position: relative;
  background: linear-gradient(180deg,#13283a 0%,#0f1e2b 100%);
  border-radius: 16px;
  padding: 1.6rem 1.4rem;
  border: 1px solid rgba(0,184,240,0.22);
  box-shadow:
    0 12px 32px rgba(0,0,0,0.55),
    inset 0 1px 0 rgba(255,255,255,0.04);
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.gz-accel-card:hover {
  transform: translateY(-2px);
  border-color: rgba(0,184,240,0.4);
  box-shadow:
    0 18px 40px rgba(0,0,0,0.65),
    0 0 0 1px rgba(0,184,240,0.05),
    inset 0 1px 0 rgba(255,255,255,0.05);
}

.gz-accel-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(0,184,240,0.6),
    transparent
  );
  opacity: 0.6;
}

.gz-accel-card h3 {
  margin-bottom: 0.2rem;
}

.gz-card-dark { background: #101f2c; box-shadow: 0 12px 32px rgba(0,0,0,0.55); }
.gz-card-dark .gz-accel-list { margin-top: 1.2rem; }

/* --- Listes stylis�es --- */
.gz-accel-list {
  display: grid;
  gap: 0.6rem;
  margin-top: 0.6rem;
}

.gz-accel-list li {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 0.55rem;
  align-items: flex-start;
  font-size: 0.94rem;
  color: var(--gz-text-mid);
}
.gz-accel-list-bullet {
  width: 1.05rem; height: 1.05rem; border-radius: 999px;
  background: rgba(0,184,240,0.12); border: 1px solid rgba(0,184,240,0.75);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.66rem; color: var(--gz-primary); margin-top: 0.28rem;
}
.gz-accel-list-bullet--green {
  background: rgba(16,185,129,0.15);
  border-color: rgba(16,185,129,0.5);
  color: #10B981;
}
.gz-accel-list-title {
  font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--gz-text-dim); margin-bottom: 0.7rem;
}
.gz-list-title-fit    { color: #00B8F0; }
.gz-list-title-notfit { color: #ff6347; }

/* --- Avatars --- */
.gz-hero-avatar {
  border-radius: 999px; border: 2px solid rgba(0,184,240,0.7);
  object-fit: cover; display: block;
}
.gz-hero-avatar       { width: 60px; height: 60px; }



/* --- Proof row --- */




/* --- Texte utilitaire --- */
.gz-bold-benefit { color: var(--gz-white); font-weight: 700; }
.gz-fit-intro    { color: var(--gz-text-dim); max-width: 740px; margin-bottom: 1.5rem; }

/* --- Ic�ne / pill support --- */
.gz-support-header-row { display: flex; align-items: center; gap: 0.65rem; margin-bottom: 1rem; }
.gz-support-icon-pill {
  width: 34px; height: 34px; border-radius: 999px;
  display: grid; place-items: center;
  background: rgba(0,184,240,0.12); border: 1px solid rgba(0,184,240,0.6);
  font-size: 1.05rem; flex-shrink: 0;
}


/* --------------------------------------------------------------------------
   4. HERO
   -------------------------------------------------------------------------- */
.gz-accel-hero {
  background: radial-gradient(circle at center top, #102132 20%, #050b11 80%) !important;
  border-radius: 0 0 20px 20px;
  padding: 4rem 1.5rem 5rem !important;
  text-align: center;
}
.gz-hero-v3 { position: relative; overflow: hidden; }
.gz-hero-v3::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(0,184,240,0.08), transparent 38%),
              radial-gradient(circle at 20% 20%, rgba(52,211,153,0.04), transparent 22%);
  pointer-events: none;
}
.gz-hero-v3-eyebrow {
  font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.16em;
  color: #9ff0ca; margin-bottom: 0.8rem; text-align: center;
  background: rgba(52,211,153,0.12); border: 1px solid rgba(52,211,153,0.28);
}
.gz-hero-v3-title  { max-width: 980px; margin-left: auto; margin-right: auto; }
.gz-hero-v3-accent { color: var(--gz-primary); display: inline; }
.gz-hero-h1 {
  font-size: clamp(2rem, 4vw, 3rem); line-height: 1.15; margin-bottom: 1.5rem;
  color: var(--gz-white); font-weight: 800;
  max-width: 900px; margin-left: auto; margin-right: auto;
  text-shadow: 0 0 30px rgba(0,184,240,0.2);
}
.gz-hero-sub, .gz-hero-v3-sub {
  font-size: 1.2rem; line-height: 1.6; color: var(--gz-text-bright);
  max-width: 780px; margin: 0 auto 2.5rem;
}
.gz-hero-sub strong, .gz-hero-v3-sub strong { color: var(--gz-white); border-bottom: 1px dashed var(--gz-primary); }
.gz-hero-v3-subnote { display: block; margin-top: 1rem; font-size: 1rem; opacity: 0.92; color: var(--gz-text-dim); }
.gz-hero-v3-badges { margin-bottom: 1.7rem; justify-content: center; gap: 0.75rem; }
.gz-hero-v3-btn    { min-width: 320px; }
.gz-hero-cta-container { display: flex; flex-direction: column; align-items: center; gap: 1rem; margin-bottom: 3.5rem; }
.gz-scarcity-text {
  font-size: 0.9rem; color: #FF6B6B; font-weight: 600;
  display: flex; align-items: center; justify-content: center; gap: 0.5rem;
}
.gz-hero-v3-scarcity     { color: #FF7B7B; font-weight: 600; }
.gz-hero-v3-scarcity-dot {
  width: 8px; height: 8px; background: #FF6B6B; border-radius: 50%;
  display: inline-block; box-shadow: 0 0 10px rgba(255,107,107,0.75);
}
.gz-hero-v3-proofline { font-size: 0.82rem; color: var(--gz-text-dim); text-align: center; margin-top: -0.15rem; }
.gz-hero-v3-segment {
  display: inline-flex; align-items: center; justify-content: center;
  margin: 0 auto 1rem; padding: 0.34rem 0.72rem; border-radius: 999px;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07);
  color: #AFC6DD; font-size: 0.74rem; font-weight: 600; letter-spacing: 0.02em;
  max-width: 760px;
}
.gz-hero-v3-prooftag {
  display: inline-flex; align-items: center; padding: 0.28rem 0.62rem;
  border-radius: 999px; background: rgba(52,211,153,0.12); border: 1px solid rgba(52,211,153,0.32);
  color: #34D399; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.03em; margin-bottom: 0.55rem;
}
.gz-hero-trust {
  display: flex; align-items: center; justify-content: center; gap: 1.2rem;
  margin-top: 3.5rem; padding-top: 2rem;
  border-top: 1px solid rgba(255,255,255,0.1);
  max-width: 650px; margin-left: auto; margin-right: auto;
}
.gz-hero-v3-trust   { max-width: 760px; align-items: center; }
.gz-hero-trust-text { text-align: left; font-size: 0.95rem; color: var(--gz-text-dim); line-height: 1.5; }
.gz-hero-v3-coachline       { display: block; color: var(--gz-text-bright); font-size: 1rem; line-height: 1.45; margin-bottom: 0.3rem; }
.gz-hero-v3-credline        { color: var(--gz-text-dim); line-height: 1.5; margin-bottom: 0.25rem; }
.gz-hero-v3-credline-strong { color: var(--gz-text-bright); line-height: 1.5; margin-bottom: 0.2rem; }
.gz-hero-v3-credline-final  { color: var(--gz-text-bright); line-height: 1.5; }

.gz-accel-hero-credbox {
  max-width: 760px; margin: 0 auto 2rem; padding: 1rem 1.2rem;
  background: rgba(8,22,33,0.78); border-radius: 16px;
  border: 1px solid rgba(175,198,221,0.45); box-shadow: 0 10px 28px rgba(0,0,0,0.45); text-align: center;
}
.gz-accel-hero-label { display: block; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.16em; color: var(--gz-text-dim); margin-bottom: 0.4rem; }
.gz-accel-hero-cred  { font-size: 0.92rem; color: var(--gz-text-mid); margin: 0; }

/* Market proof bar */
.gz-market-proof-bar   { max-width: 950px; margin: 2rem auto; padding: 0 1rem; border-top: 1px solid rgba(255,255,255,0.06); border-bottom: 1px solid rgba(255,255,255,0.06); }
.gz-market-proof-text  { color: #9BBBD4; font-size: 1rem; line-height: 1.6; border-left: 3px solid #34D399; padding-left: 1rem; text-align: left; }
.gz-market-proof-title { color: #34D399; display: block; margin-bottom: 0.2rem; text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.78rem; }
.gz-market-proof-cta   { color: #EAF6FF; }


/* --------------------------------------------------------------------------
   5. ENTRY BAR
   -------------------------------------------------------------------------- */
.gz-entry-bar {
  max-width: 950px; margin: 2rem auto; padding: 1.5rem;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.1); border-radius: 12px;
}
.gz-entry-bar-grid   { display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 1.5rem; text-align: center; }
.gz-entry-bar-label  { color: #34D399; font-size: 0.8rem; text-transform: uppercase; margin-bottom: 0.5rem; }
.gz-entry-bar-value  { color: #EAF6FF; font-weight: 600; }
.gz-entry-bar-sub    { color: #9BBBD4; font-size: 0.85rem; margin-top: 0.3rem; }
.gz-entry-bar-footer { border-top: 1px solid rgba(255,255,255,0.1); margin-top: 1.5rem; padding-top: 1rem; text-align: center; }
.gz-entry-bar-note   { color: #9BBBD4; font-size: 0.85rem; margin: 0; text-align: center; }
.gz-entry-bar-link   { color: #34D399; text-decoration: underline; }


/* --------------------------------------------------------------------------
   6. SCARCITY / CTA FINAL
   -------------------------------------------------------------------------- */
.gz-accel-scarcity {
  background: #101E2C; border-radius: 16px; padding: 1.9rem 1.6rem 1.6rem;
  border: 1px dashed rgba(255,194,82,0.9); box-shadow: 0 12px 28px rgba(0,0,0,0.55);
}
.gz-accel-scarcity h3  { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.9rem; }
.gz-scarcity-compact   { margin: 0 auto; text-align: center; padding: 2rem 1.5rem; }
.gz-scarcity-compact p { font-size: 0.95rem; }
.gz-scarcity-compact h3 { justify-content: center; }
.gz-status-pill {
  display: inline-block; margin-top: 1rem; padding: 0.4rem 1rem;
  background: rgba(255,255,255,0.05); border-radius: 50px;
  font-size: 0.85rem; color: var(--gz-text-dim); border: 1px solid rgba(255,255,255,0.1);
}
.gz-accel-cta-final { margin-top: 1.8rem; }
.gz-cta-final-title { font-size: 1.4rem; margin-bottom: 1rem; }
.gz-accel-cta-final .gz-accel-cta-note { margin-top: 0.8rem; }
.gz-footer-contact-note { margin-top: 2.5rem; font-size: 0.9rem; color: #9BBBD4; text-align: center; opacity: 0.8; }


/* --------------------------------------------------------------------------
   7. SECTION L�GAL
   -------------------------------------------------------------------------- */
.gz-legal-layout { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); gap: 1.8rem; align-items: stretch; margin-top: 0; }
.gz-legal-layout p   { margin: 0 0 1.15rem; line-height: 1.75; font-size: 1rem; }
.gz-legal-header     { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.8rem; }
.gz-legal-header h2  { margin: 0; }
#legal-safety .gz-support-header-row { margin-bottom: 2rem; }
#legal-safety .gz-accel-grid-2       { align-items: center; }
.gz-legal-highlight {
  background: radial-gradient(circle at top left, #00B8F0 0, #102132 55%, #0A1721 100%);
  border-radius: 20px; padding: 1.6rem 1.4rem;
  border: 1px solid rgba(0,184,240,0.55); box-shadow: 0 14px 34px rgba(0,0,0,0.6);
}
.gz-legal-highlight-title { font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.14em; color: var(--gz-text-bright); margin-bottom: 0.8rem; opacity: 0.95; }
.gz-legal-list { list-style: none; padding: 0; margin: 0 0 0.9rem; display: grid; gap: 0.55rem; font-size: 0.95rem; color: #D1E5F7; }
.gz-legal-list li { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 0.55rem; align-items: flex-start; }
.gz-legal-list-bullet { width: 1rem; height: 1rem; border-radius: 999px; background: rgba(5,150,105,0.14); border: 1px solid rgba(45,212,191,0.7); display: flex; align-items: center; justify-content: center; font-size: 0.7rem; color: #6EE7B7; margin-top: 0.16rem; }
.gz-legal-note   { font-size: 0.8rem; color: var(--gz-text-dim); margin-top: 0.4rem; }
.gz-legal-note a { color: #58D0FF; text-decoration: none; border-bottom: 1px dashed rgba(88,208,255,0.7); }
.gz-legal-tagline   { margin-top: 1.1rem; font-size: 0.9rem; color: var(--gz-text-bright); font-weight: 600; }
.gz-legal-tagline b { color: var(--gz-white); font-weight: 800; }
.gz-legal-highlight-text { color: var(--gz-primary); }
.gz-legal-fact-box       { border-left: 3px solid var(--gz-primary); padding-left: 1.2rem; margin-bottom: 1.5rem; }
.gz-legal-fact-title     { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--gz-text-dim); margin-bottom: 0.5rem; display: block; font-weight: 700; }
.gz-legal-fact-statement { font-size: 1.1rem; color: var(--gz-white); font-weight: 600; line-height: 1.4; }
.gz-legal-protocol-card  { background: radial-gradient(circle at top right, rgba(16,185,129,0.08) 0%, #101f2c 60%); border: 1px solid rgba(16,185,129,0.3); border-radius: 18px; padding: 1.6rem; box-shadow: 0 10px 30px rgba(0,0,0,0.4); }
.gz-legal-protocol-title { display: flex; align-items: center; gap: 0.6rem; font-size: 0.95rem; font-weight: 800; color: var(--gz-text-bright); margin-bottom: 1.2rem; padding-bottom: 0.8rem; border-bottom: 1px solid rgba(255,255,255,0.1); }
.gz-protocol-icon        { font-size: 1.1rem; }
.gz-legal-check { width: 1.1rem; height: 1.1rem; border-radius: 50%; background: rgba(16,185,129,0.15); border: 1px solid rgba(16,185,129,0.6); color: #10B981; display: flex; align-items: center; justify-content: center; font-size: 0.7rem; margin-top: 0.1rem; flex-shrink: 0; }
.gz-legal-cta-note { text-align: left; margin-top: 1.2rem; border-top: 1px solid rgba(255,255,255,0.08); padding-top: 0.8rem; }


/* --------------------------------------------------------------------------
   8. SECTION PROBL�MES (Bento Grid)
   -------------------------------------------------------------------------- */
.gz-problem-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 1rem; margin-bottom: 2rem; }
.gz-problem-card {
  background: #101f2c; border: 1px solid rgba(255,99,71,0.15); border-radius: 16px;
  padding: 1.4rem 1.2rem; display: flex; flex-direction: column; gap: 0.8rem;
  transition: transform 0.2s ease, border-color 0.2s ease; height: 100%;
}
.gz-problem-card:hover { border-color: rgba(255,99,71,0.35); transform: translateY(-2px); }
.gz-problem-header { display: flex; align-items: center; gap: 0.8rem; }
.gz-problem-icon   { font-size: 1.4rem; filter: grayscale(0.2); }
.gz-problem-title  { font-size: 0.95rem; font-weight: 800; color: var(--gz-white); text-transform: uppercase; letter-spacing: 0.05em; line-height: 1.2; }
.gz-problem-text   { font-size: 0.9rem; color: var(--gz-text-mid); line-height: 1.6; opacity: 0.9; margin: 0; }
.gz-problem-card:nth-child(1),.gz-problem-card:nth-child(2),.gz-problem-card:nth-child(3) { grid-column: span 2; }
.gz-problem-card:nth-child(4),.gz-problem-card:nth-child(5) { grid-column: span 3; }
.gz-solution-banner {
  background: linear-gradient(90deg, rgba(0,184,240,0.1) 0%, rgba(17,36,51,0.5) 100%);
  border-left: 4px solid var(--gz-primary); border-radius: 8px; padding: 1.2rem 1.5rem;
  display: flex; align-items: center; gap: 1rem; margin-top: 1rem;
}
.gz-solution-text  { color: var(--gz-text-bright); font-size: 0.95rem; line-height: 1.6; margin: 0; }


  50%     { transform: translateX(4px); opacity: 0.7; }
}
.gz-goal-label { display: block; font-size: 0.75rem; text-transform: uppercase; color: #9BBBD4; margin-bottom: 0.3rem; letter-spacing: 0.1em; }
.gz-goal-box   { margin-top: auto; padding-top: 2rem; }
.gz-goal-text  { color: var(--gz-white); font-weight: 600; font-size: 1.05rem; line-height: 1.5; margin: 0; padding-left: 1rem; border-left: 3px solid #34D399; }


/* --------------------------------------------------------------------------
   9. SECTION FIT / D�CISION
   -------------------------------------------------------------------------- */
.gz-compare-grid  { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; align-items: stretch; }
.gz-card-danger   { background: rgba(30,20,30,0.4); border: 1px solid rgba(255,99,71,0.2); }
.gz-card-danger .gz-accel-list-bullet { background: rgba(255,99,71,0.1); border-color: rgba(255,99,71,0.4); color: #ff6347; }
.gz-card-danger:hover   { border-color: rgba(255,99,71,0.45); box-shadow: 0 18px 40px rgba(0,0,0,0.65), 0 0 0 1px rgba(255,99,71,0.08), inset 0 1px 0 rgba(255,255,255,0.05); }
.gz-decision-card { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.1); transition: border 0.3s ease; }
.gz-decision-card.partnership { border: 1px solid rgba(52,211,153,0.4); background: rgba(52,211,153,0.02); position: relative; overflow: hidden; }
.gz-decision-label-neutral    { color: var(--gz-text-dim); font-size: 1.1rem; font-weight: 600; margin-bottom: 1rem; }
.gz-decision-badge { position: absolute; top: 0; right: 0; background: rgba(52,211,153,0.2); color: #34D399; font-size: 0.65rem; font-weight: bold; padding: 0.3rem 1rem; text-transform: uppercase; letter-spacing: 0.05rem; }
.gz-decision-text-muted       { color: #9BBBD4; }
.gz-decision-tradeoff-neutral { color: #6B8BA4; display: block; margin-top: 1.5rem; font-weight: 400; font-size: 0.9rem; }
.gz-decision-tradeoff-accent  { color: #34D399; display: block; margin-top: 1.5rem; font-weight: 400; font-size: 0.9rem; }
.gz-decision-card.partnership .gz-accel-list-title { color: #34D399; font-size: 1.1rem; }
.gz-decision-card.partnership p { color: #fff; }


/* --------------------------------------------------------------------------
   10. SECTION R�SULTATS
   -------------------------------------------------------------------------- */
.gz-results-intro-v4 { max-width: 760px; color: var(--gz-text-dim); margin-bottom: 2rem; line-height: 1.7; }
.gz-stack       { display: grid; gap: 1rem; margin-bottom: 2rem; }
.gz-stack-layer { background: linear-gradient(180deg, #101b26 0%, #0c141d 100%); border: 1px solid rgba(255,255,255,0.06); border-radius: 18px; padding: 1.2rem; box-shadow: 0 16px 36px rgba(0,0,0,0.32); transition: transform 0.18s ease, border-color 0.18s ease; }
.gz-stack-layer:hover { transform: translateY(-2px); border-color: rgba(0,184,240,0.22); }
.gz-stack-header { display: flex; align-items: center; gap: 0.8rem; margin-bottom: 0.3rem; }
.gz-stack-number { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; color: #7DD3FC; background: rgba(0,184,240,0.08); border: 1px solid rgba(0,184,240,0.18); padding: 0.15rem 0.5rem; border-radius: 6px; }
.gz-stack-title  { color: var(--gz-white); font-weight: 700; font-size: 1.03rem; }
.gz-stack-desc   { color: var(--gz-text-dim); line-height: 1.65; font-size: 0.92rem; max-width: 720px; }
.gz-stack-outcome { max-width: 760px; margin: 0 auto 3.5rem; text-align: center; font-weight: 600; color: var(--gz-text-bright); background: rgba(0,184,240,0.08); border: 1px solid rgba(0,184,240,0.18); padding: 0.8rem 1.2rem; border-radius: 999px; font-size: 0.92rem; }
.gz-results-grid-v2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.5rem; margin-top: 1.5rem; }
.gz-asset-card { background: linear-gradient(180deg, #13283a 0%, #0f1e2b 100%); border: 1px solid rgba(0,184,240,0.25); border-radius: 16px; padding: 1.5rem; position: relative; overflow: hidden; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.gz-asset-card:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0,184,240,0.15); border-color: rgba(0,184,240,0.5); }
.gz-asset-card::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(0,184,240,0.6), transparent); }
.gz-asset-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1rem; }
.gz-asset-icon   { font-size: 1.8rem; background: rgba(0,184,240,0.1); width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; color: #00C5FF; border: 1px solid rgba(0,184,240,0.3); }
.gz-asset-value  { font-size: 1.6rem; font-weight: 800; color: var(--gz-white); margin-bottom: 0.2rem; line-height: 1.1; }
.gz-asset-sub    { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--gz-primary); font-weight: 700; }
.gz-asset-desc   { font-size: 0.9rem; color: var(--gz-text-mid); line-height: 1.6; margin-top: 0.8rem; border-top: 1px solid rgba(255,255,255,0.05); padding-top: 0.8rem; }
.gz-results-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 2rem; }


/* --------------------------------------------------------------------------
   11. FRAMEWORK (Timeline)
   -------------------------------------------------------------------------- */
#framework { margin-top: 2rem; padding-bottom: 4rem; }
.gz-timeline-list { list-style: none; padding: 0; margin: 0; position: relative; height: 100%; display: flex; flex-direction: column; justify-content: space-between; }
.gz-timeline-list::before { content: ''; position: absolute; top: 15px; bottom: 30px; left: 19px; width: 2px; background: linear-gradient(to bottom, var(--gz-primary) 0%, rgba(52,211,153,0.5) 80%, rgba(52,211,153,0) 100%); z-index: 0; }
.gz-timeline-item            { position: relative; padding-left: 3.8rem; margin-bottom: 2.5rem; }
.gz-timeline-item:last-child { margin-bottom: 0; }
.gz-timeline-node { position: absolute; left: 0; top: 0; width: 40px; height: 40px; border-radius: 50%; background: #101f2c; border: 1px solid rgba(0,184,240,0.5); color: var(--gz-primary); display: flex; align-items: center; justify-content: center; z-index: 1; font-size: 1.1rem; box-shadow: 0 0 15px rgba(0,184,240,0.15); transition: transform 0.2s ease; }
.gz-timeline-item:hover .gz-timeline-node { transform: scale(1.1); border-color: var(--gz-primary); box-shadow: 0 0 20px rgba(0,184,240,0.4); }
.gz-timeline-content h3 { display: block; color: var(--gz-white); font-size: 1.1rem; margin: 0 0 0.5rem; }
.gz-timeline-content p  { font-size: 0.94rem; color: var(--gz-text-mid); line-height: 1.6; margin: 0; }
.gz-timeline-item.gz-ultimate .gz-timeline-node { border-color: #34D399; color: #34D399; box-shadow: 0 0 15px rgba(52,211,153,0.3); }
.gz-timeline-item.gz-ultimate:hover .gz-timeline-node { border-color: #34D399; box-shadow: 0 0 25px rgba(52,211,153,0.5); }
.gz-timeline-item.gz-ultimate h3 { color: #34D399; }
.gz-timeline-outcome  { color: #34D399; font-weight: bold; font-size: 0.85rem; display: block; margin-top: 0.3rem; }
.gz-timeline-h3-muted { color: #9BBBD4; font-size: 1rem; }
.gz-components-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 1.2rem; }
.gz-components-item { display: flex; gap: 0.9rem; align-items: flex-start; font-size: 0.95rem; color: var(--gz-text-mid); line-height: 1.6; }
.gz-components-icon { flex-shrink: 0; color: var(--gz-primary); font-size: 1rem; margin-top: 0.2rem; }


/* --------------------------------------------------------------------------
   12. GARANTIE
   -------------------------------------------------------------------------- */
.gz-guarantee-v3       { padding: 3rem 1.5rem 3rem; }
.gz-guarantee-v3-shell { max-width: 980px; margin: 0 auto; }
.gz-guarantee-v3-head  { text-align: center; max-width: 780px; margin: 0 auto 1rem; }
.gz-guarantee-v3-head h2 { margin-bottom: 0.6rem; }
.gz-guarantee-v3-intro   { margin: 0; color: #B9D0E3; line-height: 1.65; }
.gz-guarantee-v3-badge { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.38rem 0.75rem; margin-bottom: 0.8rem; border-radius: 999px; background: rgba(16,185,129,0.08); border: 1px solid rgba(16,185,129,0.18); color: #86EFAC; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.gz-guarantee-v3-badge-icon { display: inline-flex; align-items: center; justify-content: center; line-height: 1; animation: gz-guarantee-v3-breathe 3.2s ease-in-out infinite; transform-origin: center; }
@keyframes gz-guarantee-v3-breathe {
  0%,100% { transform: scale(1); opacity: 0.95; }
  50%     { transform: scale(1.04); opacity: 1; }
}
.gz-guarantee-v3-card { position: relative; background: radial-gradient(circle at top left, rgba(16,185,129,0.06), transparent 24%), linear-gradient(180deg, #111d1b 0%, #0c141d 100%); border: 1px solid rgba(16,185,129,0.2); border-radius: 22px; padding: 1.25rem; box-shadow: 0 16px 38px rgba(0,0,0,0.24); overflow: hidden; }
.gz-guarantee-v3-card::before { content: ""; position: absolute; inset: 0; border-radius: 22px; pointer-events: none; box-shadow: inset 0 1px 0 rgba(255,255,255,0.03); }
.gz-guarantee-v3-lead { position: relative; margin-bottom: 1rem; padding-left: 1rem; }
.gz-guarantee-v3-lead::before { content: ""; position: absolute; top: 0.15rem; bottom: 0.15rem; left: 0; width: 3px; border-radius: 999px; background: linear-gradient(180deg, #34D399 0%, rgba(52,211,153,0.22) 100%); }
.gz-guarantee-v3-lead p            { margin: 0 0 0.75rem; color: #D7F3E6; line-height: 1.7; }
.gz-guarantee-v3-lead p:last-child { margin-bottom: 0; }
.gz-guarantee-v3-lead strong       { color: var(--gz-white); }
.gz-guarantee-v3-frame       { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.055); border-radius: 16px; padding: 0.95rem 1rem 0.9rem; margin-bottom: 0.9rem; }
.gz-guarantee-v3-frame-label { font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.12em; color: #86EFAC; margin-bottom: 0.42rem; font-weight: 800; }
.gz-guarantee-v3-frame-text  { font-size: 1.04rem; line-height: 1.5; color: var(--gz-white); font-weight: 700; }
.gz-guarantee-v3-points      { display: grid; gap: 0.72rem; margin-bottom: 0.9rem; }
.gz-guarantee-v3-point       { display: grid; grid-template-columns: auto 1fr; gap: 0.75rem; align-items: start; padding: 0.9rem 0.95rem; border-radius: 16px; background: rgba(255,255,255,0.022); border: 1px solid rgba(255,255,255,0.05); }
.gz-guarantee-v3-point-icon  { width: 26px; height: 26px; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: rgba(52,211,153,0.14); border: 1px solid rgba(52,211,153,0.24); color: #86EFAC; font-weight: 900; font-size: 0.9rem; flex-shrink: 0; }
.gz-guarantee-v3-point-copy strong { display: block; color: var(--gz-white); font-size: 0.97rem; line-height: 1.35; margin-bottom: 0.14rem; }
.gz-guarantee-v3-point-copy span   { color: #CFE9DD; line-height: 1.55; font-size: 0.93rem; }
.gz-guarantee-v3-note         { padding-top: 0.95rem; border-top: 1px solid rgba(255,255,255,0.08); color: #BFD3E4; font-size: 0.9rem; line-height: 1.65; }
.gz-guarantee-v3-note strong  { color: var(--gz-white); }


/* --------------------------------------------------------------------------
   13. INVESTISSEMENT
   -------------------------------------------------------------------------- */
.gz-investment-v31 { padding: 3rem 1.5rem; }
.gz-investment-v31-shell { max-width: 980px; margin: 0 auto; position: relative; background: radial-gradient(circle at top left, rgba(0,184,240,0.08), transparent 30%), radial-gradient(circle at bottom right, rgba(16,185,129,0.05), transparent 26%), linear-gradient(180deg, #101b26 0%, #0c141d 100%); border: 1px solid rgba(0,184,240,0.16); border-radius: 24px; padding: 1.35rem; box-shadow: 0 20px 50px rgba(0,0,0,0.42); overflow: hidden; }
.gz-investment-v31-shell::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.025) 18%, transparent 36%); transform: translateX(-100%); animation: gz-v31-sheen 8s ease-in-out infinite; pointer-events: none; }
@keyframes gz-v31-sheen {
  0%  { transform: translateX(-110%); }
  45% { transform: translateX(120%); }
  100%{ transform: translateX(120%); }
}
.gz-investment-v31-head    { max-width: 760px; margin: 0 auto 1.15rem; text-align: center; }
.gz-investment-v31-head h2 { margin-bottom: 0.75rem; }
.gz-investment-v31-intro   { margin: 0; color: var(--gz-text-mid); line-height: 1.7; }
.gz-investment-v31-main { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,0.95fr); gap: 1rem; align-items: stretch; }
.gz-investment-v31-current,
.gz-investment-v31-roadmap { position: relative; background: rgba(255,255,255,0.025); border: 1px solid rgba(255,255,255,0.06); border-radius: 18px; padding: 1rem; backdrop-filter: blur(4px); }
.gz-investment-v31-current { box-shadow: inset 0 1px 0 rgba(255,255,255,0.03); }
.gz-investment-v31-current-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 0.85rem; }
.gz-investment-v31-kicker,
.gz-investment-v31-roadmap-title,
.gz-investment-v31-price-label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--gz-text-dim); opacity: 0.8; }
.gz-investment-v31-kicker        { margin-bottom: 0.3rem; }
.gz-investment-v31-roadmap-title { margin-bottom: 0.9rem; }
.gz-investment-v31-current h3 { margin: 0; font-size: 1.15rem; color: var(--gz-white); }
.gz-investment-v31-pricebox   { min-width: 170px; text-align: right; padding: 0.1rem 0 0; }
.gz-investment-v31-price      { font-size: 1.8rem; font-weight: 600; color: var(--gz-text-bright); letter-spacing: -0.02em; margin: 0.2rem 0; }
.gz-investment-v31-price-note { font-size: 0.75rem; color: var(--gz-text-dim); font-style: italic; }
.gz-investment-v31-badges { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.65rem; }
.gz-investment-v31-badge  { display: inline-flex; align-items: center; padding: 0.34rem 0.7rem; border-radius: 999px; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.01em; }
.gz-investment-v31-badge.current { background: rgba(16,185,129,0.14); color: #34D399; border: 1px solid rgba(16,185,129,0.3); box-shadow: 0 0 18px rgba(16,185,129,0.08); }
.gz-investment-v31-badge.spots   { background: rgba(0,184,240,0.1); color: #7DD3FC; border: 1px solid rgba(0,184,240,0.22); }
.gz-investment-v31-spotbar      { width: 100%; height: 8px; border-radius: 999px; background: rgba(255,255,255,0.06); overflow: hidden; margin-bottom: 0.9rem; border: 1px solid rgba(255,255,255,0.04); }
.gz-investment-v31-spotbar-fill { height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--gz-primary) 0%, #34D399 100%); box-shadow: 0 0 18px rgba(0,184,240,0.2); transition: width 0.35s ease; }
.gz-investment-v31-includes    { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.58rem; }
.gz-investment-v31-includes li { display: grid; grid-template-columns: auto 1fr; gap: 0.75rem; align-items: start; color: var(--gz-text-bright); line-height: 1.55; font-size: 0.94rem; }
.gz-investment-v31-includes li::before { content: "•"; color: var(--gz-primary); }
.gz-investment-v31-cta-wrap   { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,0.06); display: flex; flex-direction: column; align-items: center; text-align: center; }
.gz-investment-v31-cta-note,
.gz-investment-v31-trust-row  { justify-content: center; }
.gz-investment-v31-cta-note   { font-size: 0.8rem; color: var(--gz-text-dim); margin-bottom: 0.85rem; text-align: center; }
.gz-investment-v31-trust-row  { display: flex; justify-content: center; flex-wrap: wrap; gap: 0.7rem 1.2rem; align-items: center; opacity: 0.9; }
.gz-investment-v31-trust-item { display: inline-flex; align-items: center; gap: 0.45rem; color: var(--gz-text-dim); font-size: 0.73rem; text-transform: uppercase; letter-spacing: 0.04em; }
.gz-investment-v31-timeline { position: relative; display: grid; gap: 0.2rem; }
.gz-investment-v31-line { position: absolute; left: 7px; top: 12px; bottom: 12px; width: 2px; background: linear-gradient(to bottom, rgba(0,184,240,0.22), rgba(148,163,184,0.14)); }
.gz-investment-v31-step { position: relative; display: grid; grid-template-columns: 16px 1fr; gap: 0.85rem; align-items: start; padding: 0.56rem 0; transition: transform 0.18s ease, opacity 0.18s ease; }
.gz-investment-v31-step:hover  { transform: translateX(2px); }
.gz-investment-v31-step.future { opacity: 0.72; }
.gz-investment-v31-step.sold   { opacity: 0.82; }
.gz-investment-v31-dot { width: 14px; height: 14px; border-radius: 999px; margin-top: 0.22rem; background: #0c141d; border: 2px solid rgba(155,187,212,0.45); position: relative; z-index: 2; }
.gz-investment-v31-step.active .gz-investment-v31-dot { border-color: #34D399; box-shadow: 0 0 0 6px rgba(16,185,129,0.08), 0 0 18px rgba(16,185,129,0.12); animation: gz-v31-pulse 2.4s ease-in-out infinite; }
@keyframes gz-v31-pulse {
  0%,100% { box-shadow: 0 0 0 6px rgba(16,185,129,0.08), 0 0 18px rgba(16,185,129,0.12); }
  50%     { box-shadow: 0 0 0 10px rgba(16,185,129,0.04), 0 0 24px rgba(16,185,129,0.16); }
}
.gz-investment-v31-step-main  { min-width: 0; }
.gz-investment-v31-step-top   { display: flex; justify-content: space-between; gap: 0.9rem; align-items: center; }
.gz-investment-v31-step-name  { color: var(--gz-white); font-weight: 700; line-height: 1.35; }
.gz-investment-v31-step-price { color: var(--gz-white); font-weight: 800; white-space: nowrap; font-size: 0.96rem; }
.gz-investment-v31-step-meta  { display: flex; flex-wrap: wrap; align-items: center; gap: 0.45rem; margin-top: 0.25rem; }
.gz-investment-v31-step-note  { color: var(--gz-text-dim); font-size: 0.82rem; line-height: 1.45; }
.gz-investment-v31-status        { display: inline-flex; align-items: center; padding: 0.24rem 0.56rem; border-radius: 999px; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.01em; }
.gz-investment-v31-status.sold   { background: rgba(148,163,184,0.12); color: #A8B6C5; border: 1px solid rgba(148,163,184,0.22); }
.gz-investment-v31-status.active { background: rgba(16,185,129,0.14); color: #34D399; border: 1px solid rgba(16,185,129,0.3); }
.gz-investment-v31-status.later  { background: rgba(0,184,240,0.08); color: #7DD3FC; border: 1px solid rgba(0,184,240,0.18); }
.gz-investment-v31-status.future { background: rgba(255,255,255,0.04); color: #AFC6DD; border: 1px solid rgba(255,255,255,0.06); }
.gz-investment-v31-microproof { margin-top: 0.55rem; padding: 0.68rem 0.78rem; border-radius: 12px; background: rgba(255,255,255,0.035); border: 1px solid rgba(255,255,255,0.05); color: var(--gz-text-mid); font-size: 0.84rem; line-height: 1.55; }
.gz-investment-v31-proof-link { display: inline-flex; align-items: center; gap: 0.3rem; margin-left: 0.45rem; color: #58D0FF; text-decoration: none; font-weight: 700; border-bottom: 1px dashed rgba(88,208,255,0.45); transition: color 0.12s ease, border-color 0.12s ease; }
.gz-investment-v31-proof-link:hover { color: #8BE0FF; border-color: rgba(139,224,255,0.7); }
.gz-investment-v31-note { margin: 0.95rem 0 0; color: var(--gz-text-mid); line-height: 1.62; font-size: 0.9rem; border-top: 1px solid rgba(255,255,255,0.06); padding-top: 0.9rem; }


/* --------------------------------------------------------------------------
   14. CASE PROOF
   -------------------------------------------------------------------------- */
.gz-caseproof-chat      { padding: 5rem 1.5rem 5rem; }
.gz-caseproof-chat-wrap { max-width: 980px; margin: 0 auto; }
.gz-caseproof-chat-quote-card { position: relative; background: linear-gradient(180deg, rgba(52,211,153,0.03) 0%, rgba(255,255,255,0.015) 100%); border: 1px solid rgba(52,211,153,0.18); border-radius: 18px; padding: 1.7rem 1.6rem 1.25rem; box-shadow: 0 14px 36px rgba(0,0,0,0.26); }
.gz-caseproof-chat-badge  { position: absolute; top: -13px; left: 18px; display: inline-flex; align-items: center; padding: 0.38rem 0.8rem; border-radius: 8px; background: #34D399; color: #042033; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; box-shadow: 0 8px 18px rgba(52,211,153,0.18); }
.gz-caseproof-chat-quote  { margin: 0 0 1.35rem; color: #F3F9FD; font-size: 1.02rem; line-height: 1.72; font-style: italic; }
.gz-caseproof-chat-quote strong { color: var(--gz-white); font-weight: 800; }
.gz-caseproof-chat-person { display: flex; align-items: center; gap: 0.9rem; }
.gz-caseproof-chat-avatar { width: 42px; height: 42px; border-radius: 999px; background: #132635; border: 1px solid #34D399; color: #34D399; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 0.9rem; flex-shrink: 0; }
.gz-caseproof-chat-name   { color: var(--gz-white); font-weight: 700; font-size: 0.98rem; line-height: 1.2; }
.gz-caseproof-chat-role   { color: var(--gz-text-dim); font-size: 0.86rem; margin-top: 0.14rem; }
.gz-caseproof-chat-reply-row  { display: flex; align-items: flex-start; gap: 1rem; margin-top: 1.6rem; padding-left: 2rem; }
.gz-caseproof-chat-bobu       { width: 72px; height: 72px; border-radius: 999px; border: 2px solid #34D399; object-fit: cover; flex-shrink: 0; box-shadow: 0 8px 24px rgba(0,0,0,0.22); }
.gz-caseproof-chat-reply      { position: relative; background: rgba(52,211,153,0.05); border: 1px solid rgba(52,211,153,0.18); border-radius: 14px; padding: 1rem 1.15rem 0.95rem; color: #BFD3E4; line-height: 1.62; font-size: 0.97rem; max-width: 760px; }
.gz-caseproof-chat-reply::before { content: ""; position: absolute; left: -10px; top: 24px; border-width: 7px 10px 7px 0; border-style: solid; border-color: transparent rgba(52,211,153,0.18) transparent transparent; }
.gz-caseproof-chat-reply-title { font-size: 0.76rem; text-transform: uppercase; letter-spacing: 0.12em; color: #86EFAC; margin-bottom: 0.45rem; font-weight: 800; }
.gz-caseproof-chat-reply p     { margin: 0 0 0.55rem; }
.gz-caseproof-chat-reply p:last-child { margin-bottom: 0; }


/* --------------------------------------------------------------------------
   15. COACH V2
   -------------------------------------------------------------------------- */
.gz-coach-v2      { padding: 3rem 1.5rem 3rem; }
.gz-coach-v2-head { text-align: center; max-width: 760px; margin: 0 auto 1rem; }
.gz-coach-v2-head h2 { margin-bottom: 0; }
.gz-coach-v2-card {
  max-width: 980px; margin: 0 auto;
  background: radial-gradient(circle at top left, rgba(52,211,153,0.05), transparent 24%),
              linear-gradient(180deg, #101b26 0%, #0c141d 100%);
  border: 1px solid rgba(255,255,255,0.06); border-radius: 22px;
  padding: 1.35rem; box-shadow: 0 18px 45px rgba(0,0,0,0.32);
}
.gz-coach-v2-top   { display: grid; grid-template-columns: minmax(0,1fr) 180px; gap: 1.6rem; align-items: start; }
.gz-coach-v2-copy  { color: var(--gz-text-dim); line-height: 1.72; font-size: 1rem; }
.gz-coach-v2-copy p { margin: 0 0 1rem; }
.gz-coach-v2-copy strong { color: var(--gz-white); }
.gz-coach-v2-stats { display: flex; flex-wrap: wrap; gap: 0.55rem; margin: 1rem 0 1.1rem; }
.gz-coach-v2-stat  { display: inline-flex; align-items: center; padding: 0.34rem 0.7rem; border-radius: 999px; font-size: 0.76rem; font-weight: 700; color: #CFE9DD; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06); }
.gz-coach-v2-highlight   { margin: 1.1rem 0 1rem; padding: 0.95rem 1rem; background: rgba(52,211,153,0.05); border-left: 3px solid #34D399; border-radius: 0 10px 10px 0; }
.gz-coach-v2-highlight p { margin: 0; color: var(--gz-text-bright); font-weight: 500; }
.gz-coach-v2-link        { color: #58D0FF; text-decoration: none; font-size: 0.92rem; border-bottom: 1px dashed rgba(88,208,255,0.5); transition: color 0.12s ease, border-color 0.12s ease; }
.gz-coach-v2-link:hover  { color: #8BE0FF; border-color: rgba(139,224,255,0.7); }
.gz-coach-v2-media  { text-align: right; }
.gz-coach-v2-avatar { width: 150px; height: 150px; border-radius: 999px; border: 2px solid rgba(52,211,153,0.7); object-fit: cover; box-shadow: 0 10px 28px rgba(0,0,0,0.28); }
.gz-coach-v2-bottom      { margin-top: 2rem; padding-top: 1.4rem; border-top: 1px solid rgba(255,255,255,0.08); }
.gz-coach-v2-bottom-head { margin-bottom: 1rem; }
.gz-coach-v2-kicker      { color: #34D399; text-transform: uppercase; font-size: 0.78rem; letter-spacing: 0.12em; margin-bottom: 0.35rem; font-weight: 700; }
.gz-coach-v2-bottom-head h3 { margin: 0; color: var(--gz-white); font-size: 1.2rem; }
.gz-coach-v2-grid         { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.gz-coach-v2-panel        { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.05); border-radius: 16px; padding: 1rem; }
.gz-coach-v2-panel p      { margin: 0 0 0.75rem; color: var(--gz-text-mid); line-height: 1.68; }
.gz-coach-v2-panel p:last-child { margin-bottom: 0; }
.gz-coach-v2-panel strong { color: var(--gz-white); }
.gz-coach-v2-panel-accent { background: rgba(52,211,153,0.04); border-color: rgba(52,211,153,0.14); }
.gz-coach-v2-lead         { color: var(--gz-text-bright); font-size: 1.02rem; font-weight: 600; }


/* --------------------------------------------------------------------------
   16. BOBU QUOTE
   -------------------------------------------------------------------------- */
.bobu-quote-container { max-width: 800px; margin: 0 auto; display: flex; align-items: center; gap: 1.5rem; padding: 0 1rem; }
.bobu-avatar { width: 70px; height: 70px; border-radius: 50%; border: 2px solid #34D399; flex-shrink: 0; object-fit: cover; }
.bobu-bubble { position: relative; background: rgba(52,211,153,0.05); border: 1px solid rgba(52,211,153,0.2); padding: 1.2rem 1.5rem; border-radius: 12px; color: var(--gz-text-dim); font-size: 1rem; line-height: 1.5; font-style: italic; }
.bobu-bubble::before { content: ""; position: absolute; left: -10px; top: 25px; border-width: 5px 10px 5px 0; border-style: solid; border-color: transparent rgba(52,211,153,0.2) transparent transparent; }


/* --------------------------------------------------------------------------
   17. PROCESS HORIZONTAL + TRUST + REVIEWS
   -------------------------------------------------------------------------- */
.gz-horizontal-process { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; position: relative; margin: 2rem 0; }
.gz-process-step { text-align: center; position: relative; padding: 0 0.5rem; }
.gz-process-step-number { display: flex; justify-content: center; align-items: center; width: 40px; height: 40px; margin: 0 auto 0.5rem; border-radius: 50%; background-color: var(--gz-primary); color: #000; font-weight: 700; font-size: 1.1rem; z-index: 10; position: relative; }
.gz-process-step:not(:last-child)::after { content: ''; position: absolute; top: 20px; left: 50%; width: calc(100% + 1.5rem); height: 2px; background-color: rgba(0,184,240,0.4); z-index: 5; }
.gz-process-step strong { color: var(--gz-text-bright); font-size: 1rem; display: block; margin-bottom: 0.3rem; }
.gz-process-step p      { font-size: 0.85rem; color: var(--gz-text-dim); line-height: 1.4; }
.gz-process-note      { margin-top: 1rem; font-size: 0.9rem; color: #9BBBD4; text-align: center; }
.gz-section-h3-center { text-align: center; }
.gz-trust-bar   { margin-top: 1.5rem; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1.5rem; opacity: 0.7; }
.gz-trust-item  { display: flex; align-items: center; gap: 0.5rem; }
.gz-trust-label { color: #9BBBD4; font-size: 0.75rem; text-transform: uppercase; }
.gx-foot .gx-wall-side-title { margin: 0; opacity: 1; }
.gx-foot .gx-chips { margin-top: 0; }


/* --------------------------------------------------------------------------
   18. FAQ V3
   -------------------------------------------------------------------------- */
.gz-faq-v3       { padding: 3rem 1.5rem 3rem; }
.gz-faq-v3-shell { max-width: 980px; margin: 0 auto; }
.gz-faq-v3-head  { text-align: center; max-width: 760px; margin: 0 auto 2rem; }
.gz-faq-v3-intro { margin: 0; color: var(--gz-text-dim); }
.gz-faq-v3-list  { display: grid; gap: 0.5rem; }
.gz-faq-v3-item { background: rgba(255,255,255,0.018); border: 1px solid rgba(255,255,255,0.06); border-radius: 14px; overflow: hidden; transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease; }
.gz-faq-v3-item:hover     { border-color: rgba(0,184,240,0.18); background: linear-gradient(180deg, rgba(255,255,255,0.028) 0%, rgba(255,255,255,0.02) 100%); }
.gz-faq-v3-item[open]     { border-color: rgba(0,184,240,0.2); background: linear-gradient(180deg, rgba(255,255,255,0.032) 0%, rgba(255,255,255,0.022) 100%); box-shadow: 0 14px 34px rgba(0,0,0,0.18); }
.gz-faq-v3-item-featured  { border-color: rgba(0,184,240,0.18); box-shadow: inset 0 1px 0 rgba(255,255,255,0.02), 0 12px 30px rgba(0,0,0,0.16); }
.gz-faq-v3-question { list-style: none; cursor: pointer; padding: 1rem 1.05rem; user-select: none; }
.gz-faq-v3-question::-webkit-details-marker { display: none; }
.gz-faq-v3-question-main { display: grid; grid-template-columns: auto 1fr auto; gap: 0.8rem; align-items: center; }
.gz-faq-v3-question-main::after { content: "+"; flex-shrink: 0; width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; color: #7DD3FC; background: rgba(0,184,240,0.08); border: 1px solid rgba(0,184,240,0.16); font-size: 1rem; font-weight: 800; transition: transform 0.15s ease, background 0.15s ease, color 0.15s ease, border-color 0.15s ease; }
.gz-faq-v3-item[open] .gz-faq-v3-question-main::after { content: "–"; color: #34D399; background: rgba(16,185,129,0.08); border-color: rgba(16,185,129,0.18); }
.gz-faq-v3-question-text       { color: var(--gz-white); font-weight: 700; line-height: 1.4; font-size: 1rem; }
.gz-faq-v3-answer              { padding: 0 1.05rem 1rem; color: var(--gz-text-mid); border-top: 1px solid rgba(255,255,255,0.05); }
.gz-faq-v3-answer p            { margin: 0.8rem 0 0.7rem; line-height: 1.68; }
.gz-faq-v3-answer p:last-child { margin-bottom: 0; }
.gz-faq-v3-link       { color: #58D0FF; text-decoration: none; border-bottom: 1px dashed rgba(88,208,255,0.5); font-weight: 700; transition: color 0.12s ease, border-color 0.12s ease; }
.gz-faq-v3-link:hover { color: #8BE0FF; border-color: rgba(139,224,255,0.7); }
.gz-faq-tag             { font-size: 0.65rem; font-weight: 700; padding: 0.24rem 0.52rem; border-radius: 999px; letter-spacing: 0.04em; text-transform: uppercase; white-space: nowrap; }
.gz-faq-tag-strategy    { color: #7DD3FC; background: rgba(0,184,240,0.12); border: 1px solid rgba(0,184,240,0.22); }
.gz-faq-tag-safety      { color: #FBBF24; background: rgba(251,191,36,0.12); border: 1px solid rgba(251,191,36,0.25); }
.gz-faq-tag-money       { color: #34D399; background: rgba(16,185,129,0.12); border: 1px solid rgba(16,185,129,0.25); }
.gz-faq-tag-lifestyle   { color: #C084FC; background: rgba(192,132,252,0.12); border: 1px solid rgba(192,132,252,0.25); }
.gz-faq-tag-profile     { color: #F472B6; background: rgba(244,114,182,0.12); border: 1px solid rgba(244,114,182,0.25); }
.gz-faq-tag-operations  { color: #93C5FD; background: rgba(147,197,253,0.12); border: 1px solid rgba(147,197,253,0.25); }
.gz-faq-tag-credibility { color: #A3E635; background: rgba(163,230,53,0.12); border: 1px solid rgba(163,230,53,0.25); }


/* --------------------------------------------------------------------------
   19. NAVIGATION (Smart Dock)
   -------------------------------------------------------------------------- */
.gz-smart-dock { position: fixed; left: 20px; top: 50%; transform: translateY(-50%); background: var(--gz-bg-nav); border: 1px solid rgba(52,211,153,0.3); border-radius: 12px; padding: 25px 15px; z-index: 1000; display: flex; flex-direction: column; gap: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.5); transition: transform 0.4s cubic-bezier(0.4,0,0.2,1), opacity 0.3s ease; }
.gz-dock-list { list-style: none; padding: 0; margin: 0; }
.gz-dock-link { display: flex; align-items: center; text-decoration: none; gap: 12px; padding: 8px 0; color: var(--gz-text-dim); transition: all 0.3s ease; }
.nav-dot  { width: 8px; height: 8px; background: rgba(52,211,153,0.2); border-radius: 50%; transition: all 0.4s cubic-bezier(0.23,1,0.32,1); }
.nav-text { font-size: 0.85rem; font-weight: 500; opacity: 0.6; transition: all 0.4s cubic-bezier(0.23,1,0.32,1); white-space: nowrap; }
.gz-dock-link:hover .nav-text,
.gz-dock-link.active .nav-text { opacity: 1; color: var(--gz-accent); }
.gz-dock-link:hover .nav-dot,
.gz-dock-link.active .nav-dot  { background: var(--gz-accent); box-shadow: 0 0 15px rgba(52,211,153,0.6); transform: scale(1.3); }
.gz-dock-apply-btn { text-decoration: none; background: var(--gz-accent); color: #0A1218 !important; padding: 12px 15px; border-radius: 6px; font-size: 0.75rem; font-weight: 800; text-align: center; letter-spacing: 1px; transition: all 0.3s ease; }
.gz-dock-apply-btn:hover { background: var(--gz-text-bright); transform: translateY(-2px); box-shadow: 0 5px 15px rgba(52,211,153,0.3); }
.gz-mobile-nav-toggle { display: none; position: fixed; bottom: 25px; left: 50%; transform: translateX(-50%); background: var(--gz-accent); color: #0A1218; border: none; padding: 12px 24px; border-radius: 30px; z-index: 1100; font-weight: 800; font-size: 0.9rem; gap: 10px; align-items: center; box-shadow: 0 10px 25px rgba(0,0,0,0.5); cursor: pointer; transition: transform 0.2s ease; }
.gz-mobile-nav-toggle:active { transform: translateX(-50%) scale(0.95); }


/* --------------------------------------------------------------------------
   20. FORMULAIRE D'APPLICATION
   -------------------------------------------------------------------------- */
.gz-apply { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--gz-text-bright); }
.gz-apply section  { padding: 3rem 1.5rem 3.5rem; }
.gz-apply-inner    { max-width: 980px; margin: 0 auto; }
.gz-apply-label    { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.16em; color: var(--gz-text-dim); margin-bottom: 0.5rem; }
.gz-apply h2       { margin: 0 0 0.75rem; font-size: clamp(1.7rem, 2.3vw, 2rem); font-weight: 800; color: var(--gz-white); }
.gz-apply-intro    { margin: 0 0 1.5rem; font-size: 0.97rem; color: var(--gz-text-mid); line-height: 1.7; }
.gz-apply-card { position: relative; background: #0C1823; border-radius: 20px; padding: 1.9rem 1.6rem 1.7rem; box-shadow: 0 16px 40px rgba(0,0,0,0.6); z-index: 1; border: 2px solid transparent; background-clip: padding-box; overflow: hidden; }
.gz-apply-card::before { content: ""; position: absolute; z-index: -1; inset: 0; padding: 2px; border-radius: 20px; background: linear-gradient(90deg, #102132, #FFA500, #102132); background-size: 200% 100%; animation: gz-border-rotate 4s linear infinite; -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
@keyframes gz-border-rotate {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.gz-apply-steps     { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-bottom: 1.5rem; font-size: 0.85rem; }
.gz-apply-step-pill { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.35rem 0.75rem; border-radius: 999px; border: 1px solid rgba(148,163,184,0.6); color: #CBD5F5; background: rgba(15,23,42,0.9); opacity: 0.7; }
.gz-apply-step-pill span.gz-apply-step-index { width: 1.2rem; height: 1.2rem; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-size: 0.72rem; font-weight: 700; background: rgba(15,23,42,1); border: 1px solid rgba(148,163,184,0.7); }
.gz-apply-step-pill.active { border-color: rgba(0,184,240,0.9); color: var(--gz-text-bright); background: radial-gradient(circle at top left, var(--gz-primary) 0, #0B1723 55%, #020817 100%); opacity: 1; }
.gz-apply-step-pill.active .gz-apply-step-index { background: rgba(0,184,240,0.18); border-color: rgba(0,184,240,0.9); color: #7DD3FC; }
.gz-apply-step        { display: none; }
.gz-apply-step.active { display: block; }
.gz-apply-step-title  { font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.14em; color: var(--gz-text-dim); margin-bottom: 0.75rem; }
.gz-apply-fields-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem 1.4rem; margin-bottom: 0.75rem; }
.gz-apply-fields-grid.single { grid-template-columns: minmax(0,1fr); }
.gz-apply-field        { display: flex; flex-direction: column; gap: 0.3rem; font-size: 0.9rem; }
.gz-apply-label-inline { display: flex; justify-content: space-between; align-items: baseline; gap: 0.5rem; }
.gz-apply-field label  { font-weight: 600; color: var(--gz-text-bright); font-size: 0.9rem; }
.gz-apply-hint         { font-size: 0.78rem; color: var(--gz-text-dim); }
.gz-apply input[type="text"],
.gz-apply input[type="email"],
.gz-apply input[type="tel"],
.gz-apply select,
.gz-apply textarea { background: #020817; border-radius: 10px; border: 1px solid rgba(148,163,184,0.6); padding: 0.6rem 0.65rem; color: var(--gz-text-bright); font-size: 0.9rem; outline: none; box-shadow: 0 0 0 0 transparent; transition: border-color 0.12s ease-out, box-shadow 0.12s ease-out, background 0.12s ease-out; width: 100%; }
.gz-apply input::placeholder, .gz-apply textarea::placeholder { color: #6B7280; font-size: 0.85rem; }
.gz-apply textarea { min-height: 90px; resize: vertical; }
.gz-apply input:focus, .gz-apply select:focus, .gz-apply textarea:focus { border-color: var(--gz-primary); box-shadow: 0 0 0 1px rgba(0,184,240,0.35); background: #020B16; }
.gz-apply-options  { display: grid; gap: 0.5rem; margin-top: 0.3rem; }
.gz-apply-option   { display: flex; align-items: center; gap: 0.5rem; font-size: 0.9rem; color: var(--gz-text-mid); }
.gz-apply-option input { width: 16px; height: 16px; margin: 0; accent-color: var(--gz-primary); }
.gz-apply-tagline-small { font-size: 0.8rem; color: var(--gz-text-dim); margin-top: 0.4rem; }
.gz-apply-footer      { margin-top: 1.4rem; display: flex; justify-content: space-between; gap: 1rem; align-items: center; flex-wrap: wrap; }
.gz-apply-nav-left,
.gz-apply-nav-right   { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.gz-apply-btn         { display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem; border-radius: 999px; padding: 0.7rem 1.4rem; border: 1px solid transparent; font-size: 0.92rem; font-weight: 700; cursor: pointer; text-decoration: none; background: transparent; color: var(--gz-text-bright); transition: background 0.12s ease-out, color 0.12s ease-out, box-shadow 0.12s ease-out, transform 0.08s ease-out, border-color 0.12s ease-out; }
.gz-apply-btn-prev    { border-color: rgba(148,163,184,0.7); background: rgba(15,23,42,0.9); }
.gz-apply-btn-prev:hover    { background: rgba(30,64,175,0.4); border-color: rgba(129,140,248,0.9); }
.gz-apply-btn-prev:disabled { display: none; }
.gz-apply-footer-note   { font-size: 0.8rem; color: var(--gz-text-dim); }
.gz-apply-footer-note b { color: var(--gz-text-bright); }
.gz-apply input.gz-input-error,
.gz-apply select.gz-input-error,
.gz-apply textarea.gz-input-error { border-color: #ef4444; box-shadow: 0 0 0 1px rgba(239,68,68,0.4); animation: shake 0.3s ease-in-out; }
@keyframes shake {
  0%,100% { transform: translateX(0); }
  25%     { transform: translateX(-5px); }
  75%     { transform: translateX(5px); }
}


/* --------------------------------------------------------------------------
   21. RESPONSIVE � 900px
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .gz-accel section        { padding: 1.5rem 1.25rem; }
  .gz-accel-hero           { padding: 2rem 1.4rem 2.3rem !important; margin-top: 0 !important; }
  .gz-accel-inner h2       { margin-bottom: 1rem; font-size: 1.8rem; }
  .gz-accel-hero + section { padding-top: 1rem; }
  .gz-accel-grid-2 { grid-template-columns: minmax(0,1fr); }
  .gz-accel-card, .gz-accel-scarcity, .gz-legal-highlight { padding: 1.4rem 1.2rem; }
  .gz-accel-card    { height: auto; }
  .gz-legal-header  { align-items: flex-start; }
  .gz-problem-grid  { display: flex; flex-direction: column; gap: 0.8rem; margin-bottom: 1.5rem; }
  .gz-problem-card  { width: auto; padding: 1.2rem; }
  .gz-solution-banner { flex-direction: column; align-items: flex-start; text-align: left; }
  
  .gz-results-grid, .gz-compare-grid { grid-template-columns: 1fr; gap: 1.5rem; margin-top: 1.2rem;}
  .gz-results-grid-v2 { grid-template-columns: 1fr; }
  .gz-goal-box        { margin-top: 2rem; margin-bottom: 2rem; }
  .gz-timeline-list::before { bottom: 0; }
  .gz-legal-fact-box  { border-left-width: 2px; padding-left: 1rem; }
  .gz-coach-v2        { padding: 0 1.25rem 2.2rem; }
  .gz-coach-v2-top    { grid-template-columns: 1fr; }
  .gz-coach-v2-media  { text-align: left; }
  .gz-coach-v2-grid   { grid-template-columns: 1fr; }
  .gz-guarantee-v3    { margin-top: 4rem; padding: 4rem 1.5rem 3rem; }
  .gz-investment-v31  { padding: 2.2rem 1.25rem; }
  .gz-investment-v31-main         { grid-template-columns: 1fr; }
  .gz-investment-v31-current-top  { flex-direction: column; gap: 0.6rem; }
  .gz-investment-v31-pricebox     { min-width: 0; text-align: left; }
  .gz-caseproof-chat              { padding: 0 1.25rem 2.2rem; }
  .gz-caseproof-chat-reply-row    { padding-left: 0.5rem; }
  .gz-faq-v3                      { padding: 0 1.25rem 2.2rem; }
  .gz-mobile-nav-toggle  { display: flex; }
  .gz-smart-dock         { left: 0; top: 0; width: 100%; height: 100vh; transform: translateY(100%); border-radius: 0; justify-content: center; align-items: center; background: rgba(10,18,24,0.98); border: none; }
  .gz-smart-dock.open { transform: translateY(0); }
  .gz-dock-list          { gap: 20px; text-align: center; }
  .gz-dock-link          { justify-content: center; padding: 12px; }
  .nav-text              { font-size: 1.6rem; opacity: 1; color: var(--gz-text-bright); }
  .nav-dot               { width: 12px; height: 12px; }
  .gz-dock-apply-btn     { font-size: 1.3rem; padding: 18px 50px; margin-top: 30px; border-radius: 40px; }
  .gz-apply section      { padding: 2.6rem 1.25rem 3rem; }
  .gz-apply-card         { padding: 1.6rem 1.35rem 1.6rem; }
  .gz-apply-fields-grid  { grid-template-columns: minmax(0,1fr); }
  /* Passe 6 - Legal : grille 2 colonnes collapse */
  .gz-legal-layout             { grid-template-columns: 1fr; }
  .gz-apply-footer       { flex-direction: column; align-items: flex-start; }
  .gz-apply-nav-right    { width: 100%; justify-content: flex-start; }
  /* Passe 7 - Topbar : espacement réduit tablette */
  #gamoniz-topbar       { gap: 8px; padding: 8px 56px 8px 12px; }
  #gamoniz-topbar .topbar-sub { display: none; }
  /* Passe 7 - Reviews wall : header colonne + side pleine largeur tablette */
  .gx-wall-header       { flex-direction: column; }
  .gx-wall-side         { max-width: 100%; }
  /* Passe 7 - Problem V5 : gap et taille titre réduits tablette */
  .gz-problem-v5-grid  { gap: 0 20px; }
  .gz-problem-v5-title { font-size: 20px; }
  .gz-problem-v5-text  { font-size: 15px; }
  /* Passe 7 - Market Bridge + Problem Grid V2 : collapse 1 colonne tablette */
  .gz-problem-grid-v2,
  .gz-market-bridge-wrap { grid-template-columns: 1fr; }
  .gz-problem-v2 .gz-problem-card { min-height: auto; }
  /* Passe 7 - Support V3 : grille 3 points collapse 1 colonne tablette */
  .gz-support-v3-points { grid-template-columns: 1fr; gap: 14px; }
}


/* --------------------------------------------------------------------------
   22. RESPONSIVE � 640px
   -------------------------------------------------------------------------- */
@media (max-width: 640px) {
  .gz-hero-v3-segment { font-size: 0.69rem; padding: 0.32rem 0.62rem; margin-bottom: 0.85rem; }
  .gz-hero-v3-coachline, .gz-hero-v3-credline, .gz-hero-v3-credline-strong, .gz-hero-v3-credline-final { text-align: center; }
  .gz-hero-trust      { flex-direction: column; text-align: center; gap: 0.8rem; }
  .gz-hero-trust-text { text-align: center; }
  .gz-compare-grid    { margin-top: 1rem; }
  .gz-accel-section-label, #fit-section .gz-accel-section-label, #fit-section h2 { padding-left: 0.5rem; }
  .gz-coach-v2-card   { padding: 1rem; border-radius: 20px; }
  .gz-coach-v2-avatar { width: 120px; height: 120px; }
  .gz-guarantee-v3-card       { padding: 1rem; border-radius: 20px; }
  .gz-guarantee-v3-frame-text { font-size: 1rem; }
  .gz-guarantee-v3-point      { padding: 0.85rem; }
  .gz-guarantee-v3-badge      { font-size: 0.68rem; padding: 0.34rem 0.62rem; }
  .gz-investment-v31-shell    { padding: 1rem; border-radius: 20px; }
  .gz-investment-v31-current, .gz-investment-v31-roadmap { padding: 0.9rem; }
  .gz-investment-v31-step-top { flex-direction: column; align-items: flex-start; gap: 0.4rem; }
  .gz-investment-v31-btn-primary { width: 100%; max-width: 320px; }
  .gz-investment-v31-trust-row   { flex-direction: column; gap: 0.55rem; }
  .gz-caseproof-chat-quote-card  { padding: 1.45rem 1rem 1rem; }
  .gz-caseproof-chat-badge       { left: 14px; top: -12px; font-size: 0.68rem; padding: 0.34rem 0.65rem; }
  .gz-caseproof-chat-quote       { font-size: 0.96rem; line-height: 1.68; }
  .gz-caseproof-chat-reply-row   { flex-direction: column; gap: 0.8rem; padding-left: 0; margin-top: 1.15rem; }
  .gz-caseproof-chat-bobu        { width: 60px; height: 60px; }
  .gz-caseproof-chat-reply       { max-width: 100%; }
  .gz-caseproof-chat-reply::before { display: none; }
  .gz-faq-v3-question     { padding: 0.95rem 0.9rem; }
  .gz-faq-v3-question-main { grid-template-columns: 1fr auto; grid-template-areas: "tag icon" "text text"; align-items: start; gap: 0.55rem 0.7rem; }
  .gz-faq-tag             { grid-area: tag; justify-self: start; }
  .gz-faq-v3-question-text { grid-area: text; font-size: 0.97rem; }
  .gz-faq-v3-question-main::after { grid-area: icon; width: 26px; height: 26px; font-size: 0.95rem; margin-top: 0.02rem; }
  .gz-faq-v3-answer       { padding: 0 0.9rem 0.9rem; }
  .bobu-quote-container   { flex-direction: column; text-align: center; }
  .bobu-bubble::before    { display: none; }
  /* Passe 1 - Hero : padding section reduit mobile */
  .gz-accel section        { padding: 1.5rem 1rem; }
  .gz-accel-hero           { padding: 1.5rem 1rem 2rem !important; }
  /* Passe 1 - Hero : CTA pleine largeur sur 375px */
  .gz-hero-v3-btn          { min-width: 0; width: 100%; }
  /* Passe 1 - Hero : sous-titre reduit */
  .gz-hero-sub,
  .gz-hero-v3-sub          { font-size: 1.05rem; margin-bottom: 1.8rem; }
  /* Passe 1 - Entry bar : colonne unique mobile */
  .gz-entry-bar-grid       { grid-template-columns: 1fr; gap: 1rem; }
  /* Passe 2 - Results : valeur asset reduite sur mobile */
  .gz-asset-value                        { font-size: 1.3rem; }
  /* Passe 2 - Problem V2 + Support V3 : padding vertical trop grand sur 375px */
  .gz-problem-v2 .gz-problem-section     { padding: 2.5rem 0 1.5rem; }
  .gz-support-v3-section                 { padding: 2rem 0 0.5rem; }
  /* Passe 3 - Investment : prix reduit sur 375px */
  .gz-investment-v31-price              { font-size: 1.5rem; }
  /* Passe 3 - Investment : CTA wrap espacement reduit */
  .gz-investment-v31-cta-wrap           { margin-top: 1.8rem; padding-top: 1rem; }
  /* Passe 3 - Garantie : padding vertical sur 375px */
  .gz-guarantee-v3                      { margin-top: 2rem; padding: 1.5rem 1.25rem 2rem; }
  /* Passe 3 - Timeline framework : espacement entre items */
  .gz-timeline-item                     { margin-bottom: 1.6rem; }
  /* Passe 4 - Reviews : cards plus etroites sur 375px */
  .gx-card                              { flex: 0 0 250px; width: 250px; }
  /* Passe 4 - Process horizontal : empilement vertical */
  .gz-horizontal-process                { grid-template-columns: 1fr; gap: 0.8rem; margin: 1.2rem 0; }
  .gz-process-step:not(:last-child)::after { display: none; }
  /* Passe 4 - Coach bottom : marge reduite */
  .gz-coach-v2-bottom                   { margin-top: 1.2rem; padding-top: 1rem; }
  /* Passe 5 - FAQ : marge titre reduite */
  .gz-faq-v3-head                        { margin-bottom: 1.2rem; }
  /* Passe 5 - Formulaire : padding section et card reduits */
  .gz-apply section                      { padding: 1.8rem 1rem 2rem; }
  .gz-apply-card                         { padding: 1.2rem 1rem 1.2rem; }
  /* Passe 5 - Formulaire : bouton Next/Submit pleine largeur */
  .gz-apply-nav-right .gz-apply-btn      { width: 100%; justify-content: center; }
  /* Passe 6 - Scarcity : padding compact reduit */
  .gz-scarcity-compact          { padding: 1.5rem 1rem; }
  /* Passe 6 - Scarcity : titre CTA reduit */
  .gz-cta-final-title           { font-size: 1.2rem; }
  /* Passe 6 - Legal : protocol card padding reduit */
  .gz-legal-protocol-card       { padding: 1rem; }
  /* Passe 6 - Legal : note footer marge reduite */
  .gz-footer-contact-note       { margin-top: 1.5rem; }
  /* Passe 7 - Problem V5 : 1 colonne et compression sur 375px */
  .gz-problem-v5               { margin: 1.5rem 0 1.2rem; }
  .gz-problem-v5-grid          { grid-template-columns: 1fr; gap: 0; }
  .gz-problem-v5-item          { padding: 14px 0 16px; }
  .gz-problem-v5-meta          { gap: 10px; margin-bottom: 8px; }
  .gz-problem-v5-title         { font-size: 18px; }
  .gz-problem-v5-text          { max-width: none; font-size: 14px; line-height: 1.62; }
  /* Passe 7 - Market Bridge : padding compact et cards compressées mobile */
  .gz-problem-v2 h2            { margin-bottom: 1.5rem; }
  .gz-problem-grid-v2          { gap: 14px; margin-bottom: 1.2rem; }
  .gz-problem-v2 .gz-problem-card,
  .gz-market-proof-card,
  .gz-opportunity-bridge       { padding: 18px 16px 16px; border-radius: 16px; }
  .gz-problem-v2 .gz-problem-title { font-size: 17px; }
  .gz-problem-v2 .gz-problem-text,
  .gz-market-proof-text,
  .gz-opportunity-text         { font-size: 15px; line-height: 1.6; }
  .gz-market-proof-label,
  .gz-opportunity-label        { font-size: 11px; }
  /* Passe 7 - Support V3 : card et composants compressés sur 375px */
  .gz-support-v3-card          { padding: 18px 16px; border-radius: 18px; }
  .gz-support-v3-head          { grid-template-columns: 38px 1fr; gap: 12px; margin-bottom: 14px; }
  .gz-support-v3-icon          { width: 36px; height: 36px; font-size: 15px; }
  .gz-support-v3-subtitle      { font-size: 14px; line-height: 1.6; }
  .gz-support-v3-points        { padding-top: 14px; gap: 12px; }
  .gz-support-v3-point p       { font-size: 13px; line-height: 1.6; }
  /* Passe 7 - Results Stack : compression sur 375px */
  .gz-results-intro-v4         { margin-bottom: 1.2rem; }
  .gz-stack                    { gap: 0.7rem; margin-bottom: 1.5rem; }
  .gz-stack-layer              { padding: 1rem; border-radius: 14px; }
  .gz-stack-outcome            { border-radius: 12px; padding: 0.75rem 1rem; font-size: 0.88rem; }
  /* Passe 7 - Timeline framework : goal banner compressé mobile */
  .gz-structure-goal           { margin-top: 1.5rem; padding: 0.9rem 1rem; }
  /* Passe 7 - Garantie : intro compressé mobile */
  .gz-guarantee-v3-intro       { font-size: 0.94rem; }
  /* Passe 7 - Investissement : head, intro et liste compressés mobile */
  .gz-investment-v31-head      { margin-bottom: 0.85rem; }
  .gz-investment-v31-intro     { font-size: 0.94rem; }
  .gz-investment-v31-includes  { gap: 0.5rem; }
  /* Passe 7 - Reviews wall : grille 1 colonne mobile */
  .gx-reviews-wall .gx-wall-grid { grid-template-columns: 1fr; }
  /* Passe 7 - Coach V2 : panels compressés sur 375px */
  .gz-coach-v2-panel           { padding: 0.85rem; }
  /* Passe 7 - FAQ : intro et réponses compressés mobile */
  .gz-faq-v3-intro             { font-size: 0.94rem; }
  .gz-faq-v3-answer p          { margin: 0.65rem 0 0.55rem; }
  /* Passe 7 - Formulaire : apply-summary 1 col + steps espacement réduit */
  .gz-apply-summary            { grid-template-columns: 1fr; }
  .gz-apply-steps              { margin-bottom: 1.1rem; }
  /* Passe 7 - Scarcity + Legal : compression typographique mobile */
  .gz-decision-label-neutral   { font-size: 1rem; }
  .gz-legal-fact-statement     { font-size: 1rem; }
  .gz-legal-layout p           { line-height: 1.65; }
}


/* --------------------------------------------------------------------------
   23. ACCESSIBILIT� � prefers-reduced-motion
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .gz-guarantee-v3-badge-icon,
  .gz-investment-v31-shell::before,
  .gz-investment-v31-step.active .gz-investment-v31-dot { animation: none; }
  .gz-investment-v31-step, .gz-investment-v31-btn-primary,
  .gz-investment-v31-spotbar-fill,
  .gz-faq-v3-item, .gz-faq-v3-question-main::after, .gz-faq-v3-link { transition: none; }
}

/* =========================
   PROBLEM GRID V5
   Minimal premium 2-column layout
   ========================= */

.gz-problem-v5 {
  margin: 34px 0 30px;
}

.gz-problem-v5-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 34px;
  border-top: 1px solid rgba(120, 150, 176, 0.14);
}

.gz-problem-v5-item {
  padding: 22px 0 24px;
  border-bottom: 1px solid rgba(120, 150, 176, 0.12);
}

.gz-problem-v5-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.gz-problem-v5-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #6fd4ff;
  background: rgba(26, 117, 170, 0.1);
  border: 1px solid rgba(66, 170, 229, 0.16);
}

.gz-problem-v5-title {
  margin: 0;
  font-size: 24px;
  line-height: 1.16;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #ffffff;
}

.gz-problem-v5-text {
  margin: 0;
  max-width: 34ch;
  font-size: 16px;
  line-height: 1.72;
  color: #bfd0df;
}

/* desktop hover */
@media (hover: hover) and (pointer: fine) {
  .gz-problem-v5-item {
    transition: border-color 0.2s ease, transform 0.2s ease;
  }

  .gz-problem-v5-item:hover {
    border-bottom-color: rgba(111, 212, 255, 0.22);
  }
}

/* =========================
   PROBLEM + MARKET REALITY V2
   ========================= */

.gz-problem-v2 .gz-problem-section {
  padding: 84px 0 48px;
}

.gz-problem-v2 .gz-accel-section-label {
  margin-bottom: 14px;
}

.gz-problem-v2 h2 {
  max-width: 820px;
  margin: 0 0 34px;
}

.gz-problem-grid-v2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-bottom: 34px;
}

.gz-problem-v2 .gz-problem-card {
  min-height: 188px;
  padding: 24px 24px 22px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(13, 26, 40, 0.92) 0%, rgba(11, 22, 34, 0.98) 100%);
  border: 1px solid rgba(86, 122, 154, 0.26);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
}

.gz-problem-v2 .gz-problem-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.gz-problem-v2 .gz-problem-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  font-size: 18px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  flex-shrink: 0;
}

.gz-problem-v2 .gz-problem-title {
  font-size: 22px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #ffffff;
}

.gz-problem-v2 .gz-problem-text {
  margin: 0;
  font-size: 18px;
  line-height: 1.68;
  color: #bfd0df;
  max-width: 52ch;
}

/* Market + bridge */

.gz-market-bridge-wrap {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 22px;
  align-items: stretch;
}

.gz-market-proof-card,
.gz-opportunity-bridge {
  border-radius: 22px;
  padding: 24px 24px 22px;
  background: linear-gradient(180deg, rgba(9, 20, 31, 0.92) 0%, rgba(8, 17, 27, 0.98) 100%);
  border: 1px solid rgba(61, 223, 175, 0.18);
  position: relative;
  overflow: hidden;
}

.gz-market-proof-card::before,
.gz-opportunity-bridge::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  bottom: 18px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, #34f5c5 0%, #19c7ff 100%);
  opacity: 0.9;
}

.gz-market-proof-label,
.gz-opportunity-label {
  margin-bottom: 12px;
  padding-left: 16px;
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #35f0bf;
}

.gz-market-proof-text,
.gz-opportunity-text {
  margin: 0;
  padding-left: 16px;
  font-size: 19px;
  line-height: 1.7;
  color: #d9e8f4;
}

.gz-market-proof-text + .gz-market-proof-text,
.gz-opportunity-text + .gz-opportunity-text {
  margin-top: 10px;
}

.gz-market-proof-text-secondary {
  color: #bfd0df;
}

.gz-opportunity-text-strong {
  font-weight: 700;
  color: #ffffff;
}

/* Better rhythm on dark sections */
.gz-problem-v2 strong {
  color: #ffffff;
}


/* =========================
   SUPPORT V3
   Compact premium proof strip
   ========================= */

.gz-support-v3-section {
  padding: 60px 0 3rem;
}

.gz-support-v3-card {
  padding: 26px 28px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(11, 24, 37, 0.96) 0%, rgba(9, 19, 30, 0.98) 100%);
  border: 1px solid rgba(86, 122, 154, 0.22);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.14);
}

.gz-support-v3-head {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  margin-bottom: 20px;
}

.gz-support-v3-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  font-size: 18px;
  background: rgba(16, 108, 164, 0.12);
  border: 1px solid rgba(66, 170, 229, 0.22);
}

.gz-support-v3-title-wrap h2 {
  margin: 0 0 8px;
}

.gz-support-v3-subtitle {
  margin: 0;
  max-width: 74ch;
  font-size: 17px;
  line-height: 1.72;
  color: #bfd0df;
}

.gz-support-v3-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(120, 150, 176, 0.12);
}

.gz-support-v3-point {
  min-width: 0;
}

.gz-support-v3-label {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6fd4ff;
}

.gz-support-v3-point p {
  margin: 0;
  font-size: 15px;
  line-height: 1.68;
  color: #dbe7f1;
}



.gz-structure-goal {
  max-width: 980px;
  margin: 2.5rem auto 0;
  text-align: center;
  padding: 1.2rem 1.6rem;
  border-left: 3px solid #34D399;
  background: rgba(52,211,153,0.05);
  border-radius: 8px;
}

.gz-structure-goal p {
  font-size: 1.05rem;
  color: var(--gz-white);
  font-weight: 500;
  margin: 0;
}

/* --------------------------------------------------------------------------
   24. RESPONSIVE — COMPOSANTS SECTIONS 23+
   Les règles de base de ces composants apparaissent après les blocs @media
   21–22 et les écrasent en cascade. Ces overrides sont placés ici, après
   toutes les règles de base, pour que la cascade fonctionne correctement.
   -------------------------------------------------------------------------- */

/* --- Tablette (≤ 900px) --- */
@media (max-width: 900px) {
  /* Framework : marges latérales tablette */
  #framework                          { padding-left: 1.25rem; padding-right: 1.25rem; }
  /* Results + Fit/No Fit : marges latérales tablette (section.gz-accel = pas de parent div.gz-accel) */
  section.gz-accel                    { padding-left: 1.25rem; padding-right: 1.25rem; }
  /* Problem V5 : réduction tablette */
  .gz-problem-v5-grid                 { gap: 0 20px; }
  .gz-problem-v5-title                { font-size: 20px; }
  .gz-problem-v5-text                 { font-size: 15px; }
  /* Market Bridge + Problem Grid V2 : 1 colonne tablette */
  .gz-problem-grid-v2,
  .gz-market-bridge-wrap              { grid-template-columns: 1fr; }
  .gz-problem-v2 .gz-problem-card     { min-height: auto; }
  /* Support V3 : 3 points → 1 colonne tablette */
  .gz-support-v3-points               { grid-template-columns: 1fr; gap: 14px; }
  /* Support → Beta Case Study : espace tablette (.gz-accel .gz-support-v3-section > spécificité 0-2-0 > .gz-accel section 0-1-1) */
  .gz-accel .gz-support-v3-section    { padding-bottom: 2.5rem; }
}

/* --- Mobile (≤ 640px) --- */
@media (max-width: 640px) {
  /* Framework : marges latérales mobile */
  #framework                          { padding-left: 1rem; padding-right: 1rem; }
  /* Results + Fit/No Fit : marges latérales mobile */
  section.gz-accel                    { padding-left: 1rem; padding-right: 1rem; }
  /* Coach : espace au-dessus sur mobile (padding-top remis après reset 0 du bloc 900px) */
  .gz-coach-v2                        { padding-top: 2rem; }
  /* Support → Beta Case Study : espace mobile */
  .gz-accel .gz-support-v3-section    { padding-bottom: 2.5rem; }
  /* Beta Case Study : top spacing après Support */
  .gz-caseproof-chat                  { padding-top: 2rem; }
  /* FAQ : espace au-dessus après Guarantee */
  .gz-faq-v3                          { padding-top: 2rem; }
  /* Your Decision : caché sur mobile */
  #decision-section                   { display: none; }
  /* Problem V5 : 1 colonne et compression mobile */
  .gz-problem-v5                      { margin: 1.5rem 0 1.2rem; }
  .gz-problem-v5-grid                 { grid-template-columns: 1fr; gap: 0; }
  .gz-problem-v5-item                 { padding: 14px 0 16px; }
  .gz-problem-v5-meta                 { gap: 10px; margin-bottom: 8px; }
  .gz-problem-v5-title                { font-size: 18px; }
  .gz-problem-v5-text                 { max-width: none; font-size: 14px; line-height: 1.62; }
  /* Problem V2 + Market Bridge : compression mobile */
  .gz-problem-v2 h2                   { margin-bottom: 1.5rem; }
  .gz-problem-grid-v2                 { gap: 14px; margin-bottom: 1.2rem; }
  .gz-problem-v2 .gz-problem-card,
  .gz-market-proof-card,
  .gz-opportunity-bridge              { padding: 18px 16px 16px; border-radius: 16px; }
  .gz-problem-v2 .gz-problem-title    { font-size: 17px; }
  .gz-problem-v2 .gz-problem-text,
  .gz-market-proof-text,
  .gz-opportunity-text                { font-size: 15px; line-height: 1.6; }
  .gz-market-proof-label,
  .gz-opportunity-label               { font-size: 11px; }
  /* Support V3 : compression mobile */
  .gz-support-v3-card                 { padding: 18px 16px; border-radius: 18px; }
  .gz-support-v3-head                 { grid-template-columns: 38px 1fr; gap: 12px; margin-bottom: 14px; }
  .gz-support-v3-icon                 { width: 36px; height: 36px; font-size: 15px; }
  .gz-support-v3-subtitle             { font-size: 14px; line-height: 1.6; }
  .gz-support-v3-points               { padding-top: 14px; gap: 12px; }
  .gz-support-v3-point p              { font-size: 13px; line-height: 1.6; }
}