/* ============================================================
   GEVA · Page intégration IA — refonte
   ============================================================ */

:root {
  --geva-primary: #0B1B2B;
  --geva-blue: #1F4FD8;
  --geva-blue-bright: #2F7BFF;
  --geva-blue-night: #163074;
  --geva-blue-bg: #EEF3FF;
  --geva-text: #0B1B2B;
  --geva-text-soft: #1E293B;
  --geva-text-mute: #3A4A5A;
  --geva-border: #E2E8F4;
  --geva-bg-soft: #F8FAFE;
  --geva-green: #22C55E;
  --geva-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* ============================================================
   Reveal utility (entrée au scroll)
   ============================================================ */
.geva-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.9s var(--geva-ease), transform 0.9s var(--geva-ease);
}
.geva-reveal.is-in-view {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .geva-reveal { opacity: 1; transform: none; transition: none; }
}

/* ============================================================
   HERO — Constellation d'agents (Version B)
   ============================================================ */
.geva-hero {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  padding: 140px 24px 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: #fff !important;
  overflow: hidden;
  font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

.geva-hero__inner {
  max-width: 920px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.geva-hero__title {
  font-size: clamp(38px, 5.2vw, 64px);
  font-weight: 900;
  color: var(--geva-primary);
  letter-spacing: -0.025em;
  line-height: 1.08;
  margin: 0 0 22px;
}
.geva-hero__title .geva-accent {
  background: linear-gradient(135deg, var(--geva-blue-bright), var(--geva-blue));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.geva-hero__sub {
  font-size: 18px;
  color: var(--geva-text-mute);
  max-width: 640px;
  margin: 0 auto 32px;
  line-height: 1.65;
}

.geva-hero__ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 18px;
}

.geva-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  text-decoration: none;
  cursor: pointer;
  font-family: inherit;
  line-height: 1;
  border: 1px solid rgba(15,35,100,.18);
  white-space: nowrap;
  height: 44px;
  padding: 0 22px;
  font-size: 14.5px;
  font-weight: 600;
  transition: transform .3s var(--geva-ease), filter .3s, box-shadow .3s;
}
.geva-btn--primary {
  color: #fff;
  background: linear-gradient(180deg, var(--geva-blue-bright) 0%, var(--geva-blue) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 1px 2px rgba(15,35,100,.15), 0 8px 22px -6px rgba(31,79,216,.4);
}
.geva-btn--primary:hover {
  transform: translateY(-2px);
  filter: brightness(1.08) saturate(1.1);
}
.geva-btn--ghost {
  color: #fff;
  background: radial-gradient(circle at center, #2A4B7C 0%, #162E54 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 1px 2px rgba(15,35,100,.15), 0 8px 22px -6px rgba(31,79,216,.4);
}
.geva-btn--ghost:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
}

.geva-hero__trust {
  font-size: 13px;
  color: var(--geva-text-mute);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 46px;
}
.geva-hero__trustDot {
  width: 4px;
  height: 4px;
  background: var(--geva-text-mute);
  border-radius: 50%;
  opacity: .5;
}

/* CONSTELLATION ============================================ */
.geva-stage {
  position: relative;
  width: min(720px, 92vw);
  height: 520px;
  margin: 0 auto;
}
.geva-stage__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}
.geva-stage__line {
  stroke: var(--geva-blue-bright);
  stroke-width: 1.4;
  fill: none;
  stroke-dasharray: 4 6;
  stroke-linecap: round;
  opacity: 0.55;
}
.geva-stage__pulse {
  stroke: var(--geva-blue-bright);
  stroke-width: 2;
  fill: none;
  stroke-dasharray: 4;
  animation: geva-flow 3s linear infinite;
  opacity: .7;
}
@keyframes geva-flow { to { stroke-dashoffset: -100; } }

.geva-hub {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 20%, var(--geva-blue-bright) 0%, var(--geva-blue) 50%, var(--geva-blue-night) 100%);
  box-shadow: 0 20px 50px -10px rgba(31,79,216,.5), inset 0 2px 0 rgba(255,255,255,.2);
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 5;
  animation: geva-hubPulse 4s ease-in-out infinite;
}
.geva-hub__logo {
  font-size: 22px;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.geva-hub__sub {
  font-size: 9.5px;
  font-weight: 600;
  opacity: .85;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-top: 2px;
}
@keyframes geva-hubPulse {
  50% { box-shadow: 0 25px 60px -10px rgba(31,79,216,.6), inset 0 2px 0 rgba(255,255,255,.2), 0 0 0 12px rgba(31,79,216,.08); }
}

.geva-agent {
  position: absolute;
  background: #fff;
  border: 1px solid var(--geva-border);
  border-radius: 14px;
  padding: 12px 16px;
  box-shadow: 0 12px 28px -8px rgba(11,28,45,.12);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 130px;
  transition: transform .35s var(--geva-ease), box-shadow .35s, border-color .35s;
  z-index: 4;
  animation: geva-floatA 8s ease-in-out infinite;
}
.geva-agent:hover {
  transform: translateY(-6px) scale(1.05);
  box-shadow: 0 20px 40px -8px rgba(31,79,216,.25);
  border-color: var(--geva-blue);
  z-index: 6;
}
.geva-agent__icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--geva-blue-bg);
  color: var(--geva-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 800;
}
.geva-agent__name {
  font-size: 13px;
  font-weight: 900;
  color: var(--geva-primary);
}
.geva-agent__desc {
  font-size: 10.5px;
  color: var(--geva-text-mute);
  text-align: center;
  line-height: 1.3;
}

/* 7 agents disposés sur les 7 sommets d'un heptagone régulier centré sur le hub.
   Stage 720x520 — hub (360,260) — rayon ~220.
   Toutes les cartes utilisent translateX(-50%) pour que `left:X%` aligne leur
   centre, donc une seule keyframe (geva-floatX) couvre les 7. */
.geva-agent       { transform: translateX(-50%); animation-name: geva-floatX; }
.geva-agent--1 { top: 0;       left: 50%;   animation-delay: 0s;   }
.geva-agent--2 { top: 16%;     left: 74%;   animation-delay: .6s;  }
.geva-agent--3 { top: 52%;     left: 80%;   animation-delay: 1.2s; }
.geva-agent--4 { top: 80%;     left: 64%;   animation-delay: 1.8s; }
.geva-agent--5 { top: 80%;     left: 36%;   animation-delay: 2.4s; }
.geva-agent--6 { top: 52%;     left: 20%;   animation-delay: 3.0s; }
.geva-agent--7 { top: 16%;     left: 26%;   animation-delay: 3.6s; }

@keyframes geva-floatA {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
@keyframes geva-floatX {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-6px); }
}
@keyframes geva-floatY {
  0%, 100% { transform: translateY(-50%); }
  50%      { transform: translateY(calc(-50% - 6px)); }
}

/* ============================================================
   HERO KICKER (style hero-label-pill : texte bleu, pas de bulle)
   ============================================================ */
.geva-hero .hero-label-pill {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-blue, #1F4FD8);
  margin: 0 0 22px;
}

/* ============================================================
   GRID 4+3 centrée pour les 7 modules (.bb-deliverable)
   ============================================================ */
#livrables.bb-deliverables .bb-deliverables__grid {
  grid-template-columns: repeat(24, minmax(0, 1fr));
}
#livrables.bb-deliverables .bb-deliverable { grid-column: span 6; }
#livrables.bb-deliverables .bb-deliverable:nth-child(5) { grid-column: 4 / span 6; }
#livrables.bb-deliverables .bb-deliverable:nth-child(6) { grid-column: span 6; }
#livrables.bb-deliverables .bb-deliverable:nth-child(7) { grid-column: span 6; }

@media (max-width: 1100px) {
  #livrables.bb-deliverables .bb-deliverables__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #livrables.bb-deliverables .bb-deliverable,
  #livrables.bb-deliverables .bb-deliverable:nth-child(5),
  #livrables.bb-deliverables .bb-deliverable:nth-child(6),
  #livrables.bb-deliverables .bb-deliverable:nth-child(7) {
    grid-column: auto;
  }
}
@media (max-width: 640px) {
  #livrables.bb-deliverables .bb-deliverables__grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   Force l'affichage des contenus de section sur la page GEVA
   (les components pd-livrables / pd-deroule attendent .is-in-view
   sur leur racine — sur cette page on bypass pour éviter tout
   souci de transition bloquée).
   ============================================================ */
.geva-page #livrables.bb-deliverables .bb-deliverable,
.geva-page .bb-deroule .bb-deroule__step,
.geva-page .bb-deroule .bb-deroule__head,
.geva-page #faq-ia.bb-faq .bb-faq__item,
.geva-page #faq-ia.bb-faq .bb-faq__kicker,
.geva-page #faq-ia.bb-faq .bb-faq__title,
.geva-page #faq-ia.bb-faq .bb-faq__subtitle {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition-delay: 0s !important;
}

@media (max-width: 820px) {
  .geva-hero { padding: 110px 16px 60px; }
  .geva-stage {
    height: auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 20px 0;
  }
  .geva-hub {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    grid-column: 1 / -1;
    margin: 0 auto 20px;
  }
  .geva-stage__svg { display: none; }
  .geva-agent {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    animation: none !important;
  }
  .geva-agent--7 { display: none; }
}

/* ============================================================
   AGENTS DÉTAILLÉS — 4 cartes (bb-deliverables style)
   ============================================================ */
.geva-agents {
  position: relative;
  background: #fff;
  font-family: "DM Sans", system-ui, sans-serif;
  padding: clamp(72px, 9vw, 110px) 24px;
}
.geva-agents__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}
.geva-agents__head {
  max-width: 780px;
  margin: 0 auto 56px;
  text-align: center;
}
.geva-agents__title {
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 800;
  color: var(--geva-primary);
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 18px 0 18px;
}
.geva-agents__sub {
  font-size: 17px;
  color: var(--geva-text-mute);
  line-height: 1.65;
  margin: 0;
}
.geva-agents__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 22px;
}
.geva-agent-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--geva-border);
  border-radius: 22px;
  padding: 30px 28px 28px;
  box-shadow: 0 4px 14px rgba(11, 28, 45, 0.04);
  transition: transform .4s var(--geva-ease), box-shadow .4s, border-color .4s;
  overflow: hidden;
}
.geva-agent-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 50px -14px rgba(31, 79, 216, 0.18);
  border-color: var(--geva-blue);
}
.geva-agent-card__num {
  font-size: 13px;
  font-weight: 800;
  color: var(--geva-blue);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 14px;
}
.geva-agent-card__iconBox {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: var(--geva-blue-bg);
  color: var(--geva-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 18px;
}
.geva-agent-card__name {
  font-size: 19px;
  font-weight: 800;
  color: var(--geva-primary);
  margin: 0 0 10px;
  letter-spacing: -0.01em;
}
.geva-agent-card__desc {
  font-size: 14.5px;
  color: var(--geva-text-mute);
  line-height: 1.65;
  margin: 0 0 18px;
}
.geva-agent-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.geva-agent-card__list li {
  position: relative;
  padding-left: 22px;
  font-size: 13.5px;
  color: var(--geva-text-soft);
  line-height: 1.5;
}
.geva-agent-card__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--geva-green);
  background-image: linear-gradient(135deg, #34D26E 0%, #16A34A 100%);
  box-shadow: 0 2px 4px rgba(34, 197, 94, 0.25);
}
.geva-agent-card__list li::after {
  content: "";
  position: absolute;
  left: 3.5px;
  top: 10px;
  width: 7px;
  height: 4px;
  border-left: 1.5px solid #fff;
  border-bottom: 1.5px solid #fff;
  transform: rotate(-45deg);
}

/* ============================================================
   POURQUOI GEVA — 3 cartes
   ============================================================ */
.geva-why {
  position: relative;
  background: linear-gradient(180deg, #fff 0%, var(--geva-bg-soft) 100%) !important;
  font-family: "DM Sans", system-ui, sans-serif;
  padding: clamp(72px, 9vw, 110px) 24px;
  border-top: 1px solid var(--geva-border);
}
.geva-why__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}
.geva-why__head {
  max-width: 780px;
  margin: 0 auto 56px;
  text-align: center;
}
.geva-why__title {
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 800;
  color: var(--geva-primary);
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 18px 0 18px;
}
.geva-why__sub {
  font-size: 17px;
  color: var(--geva-text-mute);
  line-height: 1.65;
  margin: 0;
}
.geva-why__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
}
.geva-why-card {
  background: #fff;
  border: 1px solid var(--geva-border);
  border-radius: 22px;
  padding: 36px 28px;
  text-align: center;
  box-shadow: 0 4px 14px rgba(11, 28, 45, 0.04);
  transition: transform .4s var(--geva-ease), box-shadow .4s, border-color .4s;
}
.geva-why-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 50px -14px rgba(31, 79, 216, 0.18);
  border-color: var(--geva-blue);
}
.geva-why-card__iconBox {
  width: 60px;
  height: 60px;
  margin: 0 auto 20px;
  border-radius: 16px;
  background: var(--geva-blue-bg);
  color: var(--geva-blue);
  display: flex;
  align-items: center;
  justify-content: center;
}
.geva-why-card__iconBox svg { width: 28px; height: 28px; }
.geva-why-card__title {
  font-size: 18px;
  font-weight: 800;
  color: var(--geva-primary);
  margin: 0 0 10px;
  letter-spacing: -0.01em;
}
.geva-why-card__desc {
  font-size: 14.5px;
  color: var(--geva-text-mute);
  line-height: 1.65;
  margin: 0;
}

/* ============================================================
   TITRE ACCENT — surlignage bleu animé (style projet)
   ============================================================ */
.geva-title-accent {
  position: relative;
  display: inline-block;
  color: var(--geva-blue);
  white-space: nowrap;
  z-index: 1;
}
.geva-title-accent::after {
  content: "";
  position: absolute;
  bottom: 4px;
  left: -4px;
  right: -4px;
  height: 14px;
  background: rgba(47, 123, 255, 0.30);
  border-radius: 4px;
  z-index: -1;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.2s;
}
.geva-reveal.is-in-view .geva-title-accent::after,
.is-in-view .geva-title-accent::after,
.geva-title-accent.is-in-view::after {
  transform: scaleX(1);
}

/* Section title (shared) */
.geva-section-title {
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 800;
  color: var(--geva-primary);
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 18px 0 18px;
  text-align: center;
}
.geva-section-sub {
  font-size: 17px;
  color: var(--geva-text-mute);
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
  line-height: 1.65;
}

/* Force darker body text on this page when class is applied to <main> */
.geva-page,
.geva-page p,
.geva-page li,
.geva-page span:not([class*="title-accent"]):not(.geva-title-accent):not(.geva-accent):not(.hero-label-pill):not(.ge-kicker):not(.ge-kicker__dot):not([class*="__kicker"]):not([class*="__tag"]):not([class*="__num"]):not([class*="__badge"]) {
  color: var(--geva-text-soft);
}

/* Force le bleu des accents (sinon écrasé par les color: globaux) */
.geva-page .geva-title-accent,
.geva-page .bb-home-pain__title-accent,
.geva-page .bb-deroule__title-accent,
.geva-page .bb-deliverables__title-accent,
.geva-page .bb-faq__title-accent {
  color: var(--color-blue, #1F4FD8) !important;
}

/* Désactive le shimmer + animation parasite sur le kicker du hero */
.geva-hero .hero-label-pill::after,
.geva-hero .hero-label-pill::before {
  display: none !important;
  animation: none !important;
  content: none !important;
}

/* ============================================================
   DÉMARRAGE SIMPLE : 3 étapes au lieu de 4 — centrer barre+points+cartes
   ============================================================ */
#demarrage.bb-deroule .bb-deroule__plan {
  max-width: 960px;
  margin: 0 auto;
}
#demarrage.bb-deroule .bb-deroule__steps,
#demarrage.bb-deroule .bb-deroule__checkpoints {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1100px) {
  #demarrage.bb-deroule .bb-deroule__steps {
    grid-template-columns: 1fr;
  }
}
.geva-page .geva-text-mute { color: var(--geva-text-mute); }

/* ============================================================
   HERO — Exemples de demandes (chips sous le sous-titre)
   ============================================================ */
.geva-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  max-width: 720px;
  margin: -8px auto 28px;
}
.geva-hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--geva-blue);
  background: rgba(47, 123, 255, 0.08);
  border: 1px solid rgba(31, 79, 216, 0.18);
  border-radius: 999px;
}
.geva-hero__chip::before {
  content: "“";
  font-size: 14px;
  opacity: .6;
}
.geva-hero__chip::after {
  content: "”";
  font-size: 14px;
  opacity: .6;
}

/* ============================================================
   MOCKUP CONVERSATION (chat utilisateur ↔ GEVA)
   ============================================================ */
.geva-chat-section {
  position: relative;
  padding: clamp(72px, 9vw, 110px) 24px;
  font-family: "DM Sans", system-ui, sans-serif;
}
.geva-chat-section__inner {
  width: min(1100px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}
.geva-chat-section__text { max-width: 480px; }
.geva-chat-section__title {
  font-size: clamp(28px, 3.4vw, 40px);
  font-weight: 800;
  color: var(--geva-primary);
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 18px 0 18px;
}
.geva-chat-section__sub {
  font-size: 16.5px;
  color: var(--geva-text-mute);
  line-height: 1.65;
  margin: 0 0 26px;
}

.geva-chat {
  background: #fff;
  border: 1px solid var(--geva-border);
  border-radius: 24px;
  padding: 22px;
  box-shadow: 0 32px 80px -22px rgba(11,28,45,.18), 0 12px 24px -8px rgba(11,28,45,.08);
}
.geva-chat__head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--geva-border);
  margin-bottom: 16px;
}
.geva-chat__avatar {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--geva-blue-bright), var(--geva-blue-night));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 14px;
  letter-spacing: -0.02em;
}
.geva-chat__name {
  font-size: 14.5px;
  font-weight: 800;
  color: var(--geva-primary);
}
.geva-chat__status {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--geva-green);
  display: flex;
  align-items: center;
  gap: 5px;
}
.geva-chat__status::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--geva-green);
  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5);
  animation: geva-pulse-dot 2s ease-out infinite;
}
@keyframes geva-pulse-dot {
  0%   { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5); }
  70%  { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

.geva-chat__msg {
  max-width: 85%;
  margin-bottom: 10px;
  padding: 11px 15px;
  border-radius: 16px;
  font-size: 13.5px;
  line-height: 1.5;
}
.geva-chat__msg--user {
  margin-left: auto;
  background: rgba(47, 123, 255, 0.10);
  color: var(--geva-primary);
  border-bottom-right-radius: 4px;
}
.geva-chat__msg--geva {
  background: #FBFCFF;
  border: 1px solid var(--geva-border);
  color: var(--geva-text-soft);
  border-bottom-left-radius: 4px;
}
.geva-chat__cards {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.geva-chat__card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-radius: 12px;
  background: #FBFCFF;
  border: 1px solid var(--geva-border);
  font-size: 13px;
  color: var(--geva-text-soft);
}
.geva-chat__card strong { color: var(--geva-primary); font-weight: 700; }
.geva-chat__status-pill {
  font-size: 11px;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 999px;
}
.geva-chat__status-pill--ok { background: rgba(34, 197, 94, 0.12); color: #16A34A; }
.geva-chat__status-pill--wait { background: rgba(245, 158, 11, 0.12); color: #B45309; }
.geva-chat__status-pill--ready { background: rgba(47, 123, 255, 0.12); color: var(--geva-blue); }

@media (max-width: 900px) {
  .geva-chat-section__inner { grid-template-columns: 1fr; gap: 36px; }
  .geva-chat-section__text { max-width: none; text-align: center; margin: 0 auto; }
}

/* ============================================================
   INTÉGRATIONS — grille de cartes outils
   ============================================================ */
.geva-integrations {
  position: relative;
  background: #fff !important;
  padding: clamp(72px, 9vw, 110px) 24px;
  font-family: "DM Sans", system-ui, sans-serif;
}
.geva-integrations__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}
.geva-integrations__head {
  max-width: 780px;
  margin: 0 auto 48px;
  text-align: center;
}
.geva-integrations__title {
  font-size: clamp(28px, 3.4vw, 42px);
  font-weight: 800;
  color: var(--geva-primary);
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 18px 0 18px;
}
.geva-integrations__sub {
  font-size: 16.5px;
  color: var(--geva-text-mute);
  line-height: 1.65;
  margin: 0;
}
.geva-integrations__grid {
  display: grid;
  grid-template-columns: repeat(20, minmax(0, 1fr));
  gap: 14px;
}
.geva-integrations__grid > .geva-tool { grid-column: span 4; }
.geva-integrations__grid > .geva-tool:nth-child(6) { grid-column: 3 / span 4; }

@media (max-width: 980px) {
  .geva-integrations__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .geva-integrations__grid > .geva-tool,
  .geva-integrations__grid > .geva-tool:nth-child(6) { grid-column: auto; }
}
@media (max-width: 560px) {
  .geva-integrations__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.geva-tool {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 22px 14px;
  background: #fff;
  border: 1px solid var(--geva-border);
  border-radius: 16px;
  transition: transform .35s var(--geva-ease), border-color .35s, box-shadow .35s;
}
.geva-tool:hover {
  transform: translateY(-4px);
  border-color: var(--geva-blue);
  box-shadow: 0 20px 40px -12px rgba(31, 79, 216, 0.18);
}
.geva-tool__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--geva-blue-bg);
  color: var(--geva-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 800;
}
.geva-tool__name {
  font-size: 13px;
  font-weight: 700;
  color: var(--geva-primary);
  text-align: center;
}
.geva-integrations__note {
  margin-top: 28px;
  text-align: center;
  font-size: 13.5px;
  color: var(--geva-text-mute);
  font-style: italic;
}

/* ============================================================
   TABLEAU DE BORD GEVA — mockup dashboard
   ============================================================ */
.geva-dashboard-section {
  position: relative;
  padding: clamp(72px, 9vw, 110px) 24px;
  font-family: "DM Sans", system-ui, sans-serif;
}
.geva-dashboard-section__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}
.geva-dashboard-section__head {
  max-width: 780px;
  margin: 0 auto 48px;
  text-align: center;
}
.geva-dashboard-section__title {
  font-size: clamp(28px, 3.4vw, 42px);
  font-weight: 800;
  color: var(--geva-primary);
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 18px 0 18px;
}
.geva-dashboard-section__sub {
  font-size: 16.5px;
  color: var(--geva-text-mute);
  line-height: 1.65;
  margin: 0;
}
.geva-dashboard {
  background: #fff;
  border: 1px solid var(--geva-border);
  border-radius: 24px;
  padding: 28px;
  box-shadow: 0 40px 90px -28px rgba(11,28,45,.22), 0 14px 32px -10px rgba(11,28,45,.10);
  max-width: 1000px;
  margin: 0 auto;
}
.geva-dashboard__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--geva-border);
  margin-bottom: 22px;
}
.geva-dashboard__title-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.geva-dashboard__logo {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--geva-blue-bright), var(--geva-blue-night));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 13px;
}
.geva-dashboard__name {
  font-size: 16px;
  font-weight: 800;
  color: var(--geva-primary);
}
.geva-dashboard__today {
  font-size: 12.5px;
  color: var(--geva-text-mute);
  font-weight: 500;
}
.geva-dashboard__kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}
.geva-kpi {
  padding: 16px 18px;
  background: #FBFCFF;
  border: 1px solid var(--geva-border);
  border-radius: 14px;
}
.geva-kpi__num {
  font-size: 26px;
  font-weight: 900;
  color: var(--geva-blue);
  letter-spacing: -0.02em;
  line-height: 1;
  margin-bottom: 6px;
}
.geva-kpi__label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--geva-text-mute);
  line-height: 1.35;
}
.geva-dashboard__lists {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
@media (max-width: 700px) {
  .geva-dashboard__lists { grid-template-columns: 1fr; }
}
.geva-dashlist__title {
  font-size: 12px;
  font-weight: 800;
  color: var(--geva-text-mute);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 12px;
}
.geva-dashlist__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: #FBFCFF;
  border: 1px solid var(--geva-border);
  border-radius: 10px;
  margin-bottom: 8px;
  font-size: 13px;
  color: var(--geva-text-soft);
}
.geva-dashlist__row strong { color: var(--geva-primary); font-weight: 700; }

/* ============================================================
   AVIS / Premiers retours bêta
   ============================================================ */
.geva-reviews {
  position: relative;
  background: #fff !important;
  padding: clamp(72px, 9vw, 110px) 24px;
  font-family: "DM Sans", system-ui, sans-serif;
}
.geva-reviews__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}
.geva-reviews__head {
  max-width: 780px;
  margin: 0 auto 48px;
  text-align: center;
}
.geva-reviews__title {
  font-size: clamp(28px, 3.4vw, 42px);
  font-weight: 800;
  color: var(--geva-primary);
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 18px 0 18px;
}
.geva-reviews__sub {
  font-size: 16.5px;
  color: var(--geva-text-mute);
  line-height: 1.65;
  margin: 0;
}
.geva-reviews__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 22px;
}
.geva-review {
  background: linear-gradient(180deg, #fff 0%, var(--geva-bg-soft) 100%);
  border: 1px solid var(--geva-border);
  border-radius: 20px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform .35s var(--geva-ease), box-shadow .35s, border-color .35s;
}
.geva-review:hover {
  transform: translateY(-4px);
  border-color: var(--geva-blue);
  box-shadow: 0 24px 50px -14px rgba(31, 79, 216, 0.18);
}
.geva-review__quote {
  font-size: 14.5px;
  color: var(--geva-text-soft);
  line-height: 1.65;
  margin: 0;
  font-style: italic;
}
.geva-review__quote::before { content: "“"; color: var(--geva-blue); font-weight: 900; margin-right: 2px; }
.geva-review__quote::after  { content: "”"; color: var(--geva-blue); font-weight: 900; margin-left: 2px; }
.geva-review__person {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--geva-border);
}

img.geva-review-thomas__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover; /* Recadre l'image proprement sans l'écraser */
  display: block;
}

img.geva-review-Milo__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover; /* Recadre l'image proprement sans l'écraser */
  display: block;
}

img.geva-review-Dorian__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover; /* Recadre l'image proprement sans l'écraser */
  display: block;
}

img.geva-review-Cedric__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover; /* Recadre l'image proprement sans l'écraser */
  display: block;
}

.geva-review__meta { display: flex; flex-direction: column; gap: 2px; }
.geva-review__name { font-size: 13.5px; font-weight: 800; color: var(--geva-primary); }
.geva-review__role { font-size: 12px; color: var(--geva-text-mute); }

/* ============================================================
   Section "Comment GEVA vous aide" — 4 cartes bénéfices
   ============================================================ */
.geva-help {
  position: relative;
  background: #fff !important;
  padding: clamp(72px, 9vw, 110px) 24px;
  font-family: "DM Sans", system-ui, sans-serif;
}
.geva-help__inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}
.geva-help__head {
  max-width: 780px;
  margin: 0 auto 48px;
  text-align: center;
}
.geva-help__title {
  font-size: clamp(28px, 3.4vw, 42px);
  font-weight: 800;
  color: var(--geva-primary);
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 18px 0 18px;
}
.geva-help__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
}
.geva-help-card {
  background: #fff;
  border: 1px solid var(--geva-border);
  border-radius: 18px;
  padding: 26px 22px;
  transition: transform .35s var(--geva-ease), box-shadow .35s, border-color .35s;
}
.geva-help-card:hover {
  transform: translateY(-4px);
  border-color: var(--geva-blue);
  box-shadow: 0 20px 40px -12px rgba(31, 79, 216, 0.18);
}
.geva-help-card__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--geva-blue-bright), var(--geva-blue));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.geva-help-card__icon svg { width: 22px; height: 22px; }
.geva-help-card__title {
  font-size: 16.5px;
  font-weight: 800;
  color: var(--geva-primary);
  margin: 0 0 8px;
}
.geva-help-card__desc {
  font-size: 14px;
  color: var(--geva-text-mute);
  line-height: 1.6;
  margin: 0;
}

/* ============================================================
   Boutons CTA en bas de section démarrage
   ============================================================ */
.geva-section-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 56px;
}

/* ============================================================
   Surcharges spécifiques pour bb-google-reviews dans .geva-page
   (les color: globaux écrasaient le blanc / bleu d'origine)
   ============================================================ */
.geva-page .bb-google-reviews__btn--primary,
.geva-page .bb-google-reviews__btn--primary span {
  color: #FFFFFF !important;
}
.geva-page .bb-google-reviews__heroLink,
.geva-page .bb-google-reviews__heroLink span {
  color: var(--color-blue) !important;
}

/* Accents bleus écrasés par .geva-page span — on les restaure */
.geva-page .bb-google-reviews__titleAccent,
.geva-page .bb-cta__highlight {
  color: var(--color-blue) !important;
}

/* Restaure le shimmer du .ge-kicker dans #livrables (la règle défensive
   span::after de pd-livrables tuait le fond du pseudo-élément) */
#livrables.bb-deliverables .ge-kicker::after {
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(47, 123, 255, 0.30) 50%,
    transparent 100%
  ) !important;
}
