/**
 * Generic Voice — page projet (thème aligné coque DreamprojectAI : tokens :root).
 * Typo titres de section / hero alignée homepage (`body.page-home .section h2.font-h2`, `.hero-title` + hero.css).
 * Scope : .page-genericvoice--immersive
 */
.page-genericvoice--immersive {
  --gv-bg: var(--bg);
  --gv-bg2: var(--bg-card);
  --gv-bg3: var(--bg-muted);
  /* Orange projet = même famille que les CTA site (--btn-bg / --accent-strong), pas le --accent signal plus vif */
  --gv-orange: color-mix(in srgb, var(--accent-strong) 42%, var(--btn-bg) 58%);
  --gv-turq: var(--accent-2);
  /* Accent tertiaire (diagramme eSpeak) : mélange charte, lisible sur fonds site */
  --gv-gold: color-mix(in srgb, var(--accent-strong) 40%, var(--accent-2) 60%);
  --gv-text: var(--text);
  --gv-muted: var(--text-secondary);
  --gv-dim: color-mix(in srgb, var(--text-secondary) 72%, var(--bg) 28%);
  --gv-radius: 14px;
  --gv-font-display: var(--font-matrix-display);
  /* Titres de section : alignés `body.page-home .section h2.font-h2` (style.css) */
  --gv-section-h2-font: var(--font-sub);
  --gv-section-h2-weight: var(--weight-section-display);
  --gv-section-h2-tracking: var(--tracking-tight-display);
  --gv-section-h2-size: clamp(1.8rem, 3vw, 2.8rem);
  --gv-section-h2-line: 1.12;
  /* Hero titre : aligné `.hero-title` + `body.page-home .section--hero .hero-title` (hero.css) */
  --gv-hero-title-font: var(--font-matrix-display);
  --gv-hero-title-weight: 400;
  --gv-hero-title-size: clamp(2.35rem, 4.2vw + 1.2rem, 5.35rem);
  --gv-hero-title-line: 1.02;
  --gv-hero-title-tracking: 0.02em;
  /* Ligne resserrée du h1 hero (sous-échelle du bloc principal) */
  --gv-hero-title-tight-size: clamp(1.15rem, 2vw + 0.75rem, 1.85rem);
  /* Ligne intermédiaire du h1 (ex. « centaines de voix ») : un peu sous la taille pleine */
  --gv-hero-title-mid-size: clamp(1.8rem, 3.2vw + 0.9rem, 4.2rem);
  /* Ligne accent du h1 (ex. « interface CLI ») : ~3 paliers sous la taille pleine */
  --gv-hero-title-accent-size: clamp(2rem, 3.35vw + 0.95rem, 4.35rem);
  /* Petites lignes au-dessus des sections : alignées `.section__eyebrow` (style.css) */
  --gv-eyebrow-size: clamp(0.65rem, 1.4vw + 0.35rem, 0.75rem);
  --gv-eyebrow-tracking: 0.2em;
  background: transparent;
  color: var(--gv-text);
  position: relative;
  text-align: start;
}

/* Rail : même .container global que le reste du site (--layout-max, --content-rail-pad). */

.page-genericvoice--immersive .gv-section {
  padding: 4rem 0;
  position: relative;
}

@media (max-width: 767px) {
  .page-genericvoice--immersive .gv-section {
    padding: 3rem 0;
  }
}

.page-genericvoice--immersive .gv-h2 {
  font-family: var(--gv-section-h2-font);
  font-size: var(--gv-section-h2-size);
  font-weight: var(--gv-section-h2-weight);
  letter-spacing: var(--gv-section-h2-tracking);
  text-transform: none;
  line-height: var(--gv-section-h2-line);
  margin: 0 0 1rem;
  color: var(--gv-text);
  text-align: start;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

/* Intro YouTube / livrables — aligné resserrement titres longs accueil (portrait ≤599px) */
@media (max-width: 599px) and (orientation: portrait) {
  body.page-genericvoice #gv-yt-intro-title.gv-h2 {
    font-size: clamp(1.48rem, 2.65vw, 2.65rem);
    line-height: 1.12;
  }
}

.page-genericvoice--immersive .gv-h2--small {
  font-size: clamp(1.45rem, 2.4vw, 2.25rem);
}

.page-genericvoice--immersive .gv-h3 {
  font-family: var(--font-sub);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
  line-height: 1.2;
  margin: 0 0 0.5rem;
  color: var(--gv-turq);
  text-align: start;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

.page-genericvoice--immersive .gv-prose {
  color: var(--gv-muted);
  line-height: var(--body-line-height);
  max-width: none;
  width: 100%;
  text-align: start;
}

.page-genericvoice--immersive .gv-prose--center {
  margin-inline: 0;
  text-align: start;
  max-width: none;
}

.page-genericvoice--immersive .gv-kicker {
  font-family: var(--font-body);
  font-size: var(--gv-eyebrow-size);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: var(--gv-eyebrow-tracking);
  color: var(--gv-orange);
  margin: 0;
}

/* Aligné `.hero-eyebrow` ; couleur charte projet conservée */
.page-genericvoice--immersive .gv-kicker--hero {
  font-family: var(--font-matrix-mono);
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--accent-strong) 72%, #b91c1c 28%);
}

.page-genericvoice--immersive .gv-lead {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: clamp(1rem, 1.15vw + 0.75rem, 1.2rem);
  letter-spacing: 0.065em;
  line-height: 1.62;
  color: var(--gv-muted);
  margin: 0;
  text-align: start;
  max-width: none;
}

.page-genericvoice--immersive .gv-hero__copy .gv-lead {
  margin-bottom: 1rem;
}

.page-genericvoice--immersive .gv-micro {
  font-size: 0.85rem;
  color: var(--gv-dim);
  margin: 0 0 1.5rem;
}

.page-genericvoice--immersive .gv-hero__copy .gv-micro.text-secondary {
  color: var(--text-secondary);
}

.page-genericvoice--immersive .gv-tagline {
  font-family: var(--font-body);
  color: var(--gv-orange);
  font-size: calc(0.95rem * var(--copy-scale));
  letter-spacing: 0.02em;
  margin: 0 0 1.5rem;
}

/* Hero : .section + body.page-genericvoice .page-genericvoice__hero (style.css) gèrent le padding. */
.page-genericvoice--immersive .gv-hero {
  min-height: clamp(28rem, 70vh, 44rem);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow-x: clip;
  overflow-y: visible;
}

.page-genericvoice--immersive .gv-hero--no-illustration {
  min-height: 0;
}

.page-genericvoice--immersive .gv-hero__copy {
  width: 100%;
  text-align: start;
}

.page-genericvoice--immersive .gv-hero__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.page-genericvoice--immersive .gv-hero__glow {
  position: absolute;
  top: -20%;
  left: 50%;
  transform: translateX(-50%);
  width: 120%;
  height: 60%;
  background: radial-gradient(
    ellipse,
    color-mix(in srgb, var(--accent-strong) 28%, transparent) 0%,
    color-mix(in srgb, var(--accent-2) 14%, transparent) 42%,
    transparent 68%
  );
  filter: blur(40px);
}

.page-genericvoice--immersive .gv-hero__wave {
  background: linear-gradient(180deg, var(--gv-turq), var(--accent-strong));
  border-radius: 5px;
  animation: gv-wave 2.2s ease-in-out calc(var(--gv-w, 0) * 0.12s) infinite alternate;
}

/* Bloc visuel héros : CORE + chien XL + égaliseur fusionnés */
.page-genericvoice--immersive .gv-hero__stage {
  position: relative;
  justify-self: start;
  width: 100%;
  max-width: min(100%, 500px);
  min-height: clamp(16rem, 50vh, 32rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  padding-bottom: 0.25rem;
}

.page-genericvoice--immersive .gv-hero__coreword {
  position: absolute;
  right: -4%;
  top: 2%;
  z-index: 0;
  font-family: var(--gv-font-display);
  font-size: clamp(2.75rem, 12vw, 7.5rem);
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1;
  color: color-mix(in srgb, var(--accent-strong) 11%, var(--gv-bg));
  user-select: none;
  pointer-events: none;
}

.page-genericvoice--immersive .gv-hero__stage .gv-hero__vox {
  position: relative;
  z-index: 2;
  max-width: none;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  margin-bottom: clamp(-4.5rem, -12vw, -2rem);
}

.page-genericvoice--immersive .gv-hero__waves--with-vox {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-shrink: 0;
  gap: clamp(0.3rem, 1.5vw, 0.7rem);
  height: clamp(5.5rem, 16vh, 9.5rem);
  width: min(88%, 22rem);
  opacity: 0.78;
}

.page-genericvoice--immersive .gv-hero__waves--with-vox .gv-hero__wave {
  width: clamp(6px, 1.9vw, 12px);
  flex: 0 0 auto;
  height: calc(32% + var(--gv-w, 0) * 10%);
  min-height: 28%;
  box-shadow: 0 0 14px color-mix(in srgb, var(--accent-2) 35%, transparent);
}

.page-genericvoice--immersive .gv-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.75rem;
  align-items: start;
  isolation: isolate;
}

.page-genericvoice--immersive .gv-hero__title {
  font-family: var(--gv-hero-title-font);
  font-size: var(--gv-hero-title-size);
  font-weight: var(--gv-hero-title-weight);
  line-height: var(--gv-hero-title-line);
  text-transform: none;
  letter-spacing: var(--gv-hero-title-tracking);
  text-align: start;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  text-shadow:
    0 1px 22px rgba(0, 0, 0, 0.32),
    0 0 40px color-mix(in srgb, var(--accent-2-dim) 45%, transparent);
}

.page-genericvoice--immersive .gv-hero__line {
  display: block;
}

/* Première ligne du h1 : taille resserrée ; nowrap dès 900px (hero pleine largeur). */
.page-genericvoice--immersive .gv-hero__title .gv-hero__line--tight {
  font-size: var(--gv-hero-title-tight-size);
  letter-spacing: var(--gv-hero-title-tracking);
}

.page-genericvoice--immersive .gv-hero__title .gv-hero__line--mid {
  font-size: var(--gv-hero-title-mid-size);
  letter-spacing: var(--gv-hero-title-tracking);
}

@media (min-width: 900px) {
  .page-genericvoice--immersive .gv-hero__title .gv-hero__line--tight {
    white-space: nowrap;
  }
}

.page-genericvoice--immersive .gv-hero__title .gv-hero__line--accent {
  font-size: var(--gv-hero-title-accent-size);
  letter-spacing: var(--gv-hero-title-tracking);
  color: var(--gv-orange);
}

.page-genericvoice--immersive .gv-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-genericvoice--immersive .gv-hero__actions--dual {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  width: 100%;
  max-width: none;
}

@media (min-width: 520px) {
  .page-genericvoice--immersive .gv-hero__actions--dual {
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
  }
}

.page-genericvoice--immersive .gv-hero__actions--single {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  width: 100%;
  max-width: min(100%, 22rem);
}

.page-genericvoice--immersive .gv-hero__actions--single .gv-btn--hero {
  width: auto;
  flex: 0 1 auto;
  min-width: min(100%, 12rem);
}

.page-genericvoice--immersive .gv-btn--hero {
  min-height: 3.35rem;
  padding: 1rem 1.4rem;
  font-size: clamp(0.95rem, 2.4vw, 1.1rem);
  font-weight: 700;
  width: 100%;
  justify-content: center;
  text-align: center;
}

.page-genericvoice--immersive .gv-btn--hero.gv-btn--primary {
  box-shadow: 0 6px 28px var(--btn-focus);
}

.page-genericvoice--immersive .gv-hero__vox {
  justify-self: start;
  max-width: min(100%, 320px);
}

/* Vox */
.page-genericvoice--immersive .gv-vox {
  display: block;
  max-width: 100%;
}

.page-genericvoice--immersive .gv-vox--hero .gv-vox__svg {
  width: min(100%, 300px);
  height: auto;
}

.page-genericvoice--immersive .gv-hero__stage .gv-vox--hero .gv-vox__svg {
  width: min(100%, clamp(15.5rem, 44vw, 28rem));
  max-width: 448px;
  height: auto;
}

.page-genericvoice--immersive .gv-vox--explaining .gv-vox__svg {
  width: min(100%, 260px);
  height: auto;
}

.page-genericvoice--immersive .gv-vox--expert .gv-vox__svg {
  width: min(100%, 220px);
  height: auto;
}

.page-genericvoice--immersive .gv-vox--excited .gv-vox__svg {
  width: min(100%, 280px);
  height: auto;
}

.page-genericvoice--immersive .gv-vox--icon .gv-vox__svg {
  width: 48px;
  height: 48px;
}

.page-genericvoice--immersive .gv-vox--float {
  animation: gv-float 5s ease-in-out infinite;
}

.page-genericvoice--immersive .gv-vox--tilt {
  animation: gv-tilt 6s ease-in-out infinite;
}

.page-genericvoice--immersive .gv-vox--bounce .gv-vox__tail {
  animation: gv-tail 0.8s ease-in-out infinite alternate;
  transform-origin: 118px 136px;
}

.page-genericvoice--immersive .gv-vox__led {
  animation: gv-led 1.5s ease-in-out infinite;
}

/* Buttons */
.page-genericvoice--immersive .gv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.65rem 1.25rem;
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  border: 2px solid transparent;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.page-genericvoice--immersive .gv-btn--primary {
  background: var(--btn-bg);
  color: var(--btn-text);
  border-color: var(--btn-border);
  box-shadow: 0 4px 18px var(--btn-focus);
}

.page-genericvoice--immersive .gv-btn--primary:hover {
  transform: translateY(-2px) scale(1.02);
  background: var(--btn-bg-hover);
  border-color: var(--btn-bg-hover);
  box-shadow: 0 6px 22px var(--btn-focus);
}

.page-genericvoice--immersive .gv-btn--ghost {
  background: transparent;
  color: var(--gv-turq);
  border-color: var(--gv-turq);
}

.page-genericvoice--immersive .gv-btn--ghost:hover {
  background: var(--accent-2-dim);
}

.page-genericvoice--immersive .gv-btn--outline {
  background: transparent;
  color: var(--gv-orange);
  border-color: color-mix(in srgb, var(--gv-orange) 55%, var(--line-strong) 45%);
}

.page-genericvoice--immersive .gv-btn--outline:hover {
  background: color-mix(in srgb, var(--btn-bg) 20%, transparent);
}

.page-genericvoice--immersive .gv-btn--xl {
  padding: 0.85rem 1.75rem;
  font-size: 1rem;
}

/* Reveal */
.page-genericvoice--immersive .gv-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.page-genericvoice--immersive .gv-reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* YouTube */
.page-genericvoice--immersive .gv-youtube__intro-head {
  max-width: none;
  width: 100%;
  margin-bottom: 1.25rem;
  text-align: start;
}

/* Accroche orange (griffe, veille, sections avec .gv-eyebrow) */
.page-genericvoice--immersive .gv-youtube__griffe,
.page-genericvoice--immersive .gv-veille__kicker,
.page-genericvoice--immersive .gv-eyebrow {
  font-family: var(--font-body);
  font-size: var(--gv-eyebrow-size);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: var(--gv-eyebrow-tracking);
  color: var(--gv-orange);
  margin: 0 0 0.65rem;
  line-height: 1.4;
  text-align: start;
  width: 100%;
  max-width: none;
}

/* Hashtags en casse mixte (#GenericVoice … #TTS), sans forcer tout en capitales */
.page-genericvoice--immersive .gv-youtube__griffe {
  text-transform: none;
}

/* Kicker veille : texte bilingue éditorial, pas d’effet « cri » en capitales (FR/EN alignés au sens) */
.page-genericvoice--immersive .gv-veille__kicker {
  text-transform: none;
}

/* Barre d’accent à gauche (LTR) / inline-start — titres de section (hors CTA GitHub final) */
.page-genericvoice--immersive .gv-h2--bar {
  position: relative;
  margin-top: 0;
  padding-inline-start: 1rem;
  border-inline-start: 3px solid color-mix(in srgb, var(--gv-orange) 78%, var(--line-strong) 22%);
  font-weight: var(--gv-section-h2-weight);
  width: 100%;
  max-width: none;
}

.page-genericvoice--immersive .gv-hero__title.gv-hero__title--bar {
  padding-inline-start: 1rem;
  border-inline-start: 3px solid color-mix(in srgb, var(--gv-orange) 78%, var(--line-strong) 22%);
  box-sizing: border-box;
}

.page-genericvoice--immersive .gv-section-head {
  width: 100%;
  max-width: none;
  margin-bottom: 1rem;
  text-align: start;
}

.page-genericvoice--immersive .gv-youtube--alt {
  background: transparent;
}

/* Mini-vignettes livrables (intro, style « petite annonce » claire) */
.page-genericvoice--immersive .gv-intro-rack {
  margin: 0 0 1.5rem;
}

.page-genericvoice--immersive .gv-intro-rack__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .page-genericvoice--immersive .gv-intro-rack__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 960px) {
  /* Deux vignettes Core / Full : moitié de rangée chacune (équivalent « 2× largeur » vs ancienne grille serrée en 6 mini-colonnes). */
  .page-genericvoice--immersive .gv-intro-rack__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.1rem;
    align-items: stretch;
  }
}

.page-genericvoice--immersive .gv-intro-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.45rem;
  min-height: 100%;
  padding: 1.15rem 1.35rem;
  border-radius: 12px;
  background: #f1f4f8;
  color: #161b22;
  border: 1px solid color-mix(in srgb, #161b22 14%, transparent);
  box-shadow: 0 1px 0 color-mix(in srgb, #fff 70%, transparent);
}

.page-genericvoice--immersive .gv-intro-card__glyph {
  font-size: 1.1rem;
  line-height: 1;
  opacity: 0.85;
  margin-bottom: 0.15rem;
}

.page-genericvoice--immersive .gv-intro-card__title {
  margin: 0;
  font-family: var(--font-sub);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
  color: #161b22;
  line-height: 1.25;
  text-align: start;
  width: 100%;
}

.page-genericvoice--immersive .gv-intro-card__desc {
  margin: 0;
  flex: 1 1 auto;
  font-size: 0.82rem;
  line-height: 1.45;
  color: color-mix(in srgb, #161b22 78%, #6e7781 22%);
}

.page-genericvoice--immersive .gv-intro-card__cta {
  margin-top: 0.35rem;
  align-self: stretch;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  justify-content: center;
}

.page-genericvoice--immersive .gv-intro-card--featured {
  border-width: 2px;
  border-color: var(--gv-orange);
  background: #f8fafc;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--gv-orange) 35%, transparent),
    0 8px 28px var(--btn-focus);
}

.page-genericvoice--immersive .gv-intro-card--featured .gv-intro-card__glyph {
  color: var(--gv-orange);
}

.page-genericvoice--immersive .gv-intro-card--active {
  background: #f6f8fb;
  border-color: color-mix(in srgb, var(--gv-turq) 45%, #161b22 20%);
}

.page-genericvoice--immersive .gv-demos__lead a {
  color: var(--gv-orange);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.page-genericvoice--immersive .gv-demos__lead a:hover {
  color: color-mix(in srgb, var(--gv-orange) 88%, #000 12%);
}

.page-genericvoice--immersive .gv-intro-card--soon {
  opacity: 0.58;
  filter: grayscale(0.45);
  pointer-events: none;
  user-select: none;
}

.page-genericvoice--immersive .gv-intro-card__badge {
  display: inline-block;
  margin-top: 0.25rem;
  padding: 0.2rem 0.55rem;
  border-radius: 6px;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: color-mix(in srgb, #161b22 8%, #e8ecf2 92%);
  color: color-mix(in srgb, #161b22 55%, #6e7781 45%);
  border: 1px solid color-mix(in srgb, #161b22 12%, transparent);
}

.page-genericvoice--immersive .gv-youtube__frame {
  position: relative;
  border-radius: var(--gv-radius);
  overflow: hidden;
  box-shadow: 0 0 0 1px var(--line-subtle), 0 12px 36px var(--btn-focus);
  aspect-ratio: 16 / 9;
  max-width: none;
  width: 100%;
  margin: 0;
}

/* Panneau type Commercify : carrousel 1024×560 + flèches orange (style global) */
.page-genericvoice--immersive .gv-youtube__frame--intro-media {
  aspect-ratio: auto;
  overflow: visible;
}

.page-genericvoice--immersive .gv-intro-media__shell {
  margin-bottom: 0;
}

.page-genericvoice--immersive .gv-intro-media__hero {
  border-radius: var(--gv-radius);
  overflow: hidden;
  box-shadow: none;
}

.page-genericvoice--immersive .gv-intro-media__viewport {
  position: relative;
  background: var(--gv-bg2);
}

.page-genericvoice--immersive .gv-intro-media__slide {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.38s ease, visibility 0.38s ease;
  z-index: 0;
}

.page-genericvoice--immersive .gv-intro-media__slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}

.page-genericvoice--immersive .gv-intro-media__img {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.page-genericvoice--immersive .gv-intro-media__iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.page-genericvoice--immersive .gv-intro-media__video {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  background: #000;
}

@media (prefers-reduced-motion: reduce) {
  .page-genericvoice--immersive .gv-intro-media__slide {
    transition: none;
  }
}

.page-genericvoice--immersive .gv-youtube__iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.page-genericvoice--immersive .gv-youtube__placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: start;
  padding: 2rem;
  background: var(--gv-bg2);
  color: var(--gv-muted);
  font-size: 0.95rem;
}

/* Veille TTS — vitrine verre / bento (contraste avec les vignettes claires d’intro) */
.page-genericvoice--immersive .gv-veille {
  position: relative;
  overflow: hidden;
}

.page-genericvoice--immersive .gv-veille__backdrop {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: transparent;
  opacity: 1;
}

.page-genericvoice--immersive .gv-veille__inner {
  position: relative;
  z-index: 1;
}

.page-genericvoice--immersive .gv-veille__head {
  width: 100%;
  max-width: none;
  text-align: start;
}

.page-genericvoice--immersive .gv-h2--veille {
  /* Même typo que les autres .gv-h2 ; pas de max-width pour occuper le rail */
  margin-bottom: 1.15rem;
}

.page-genericvoice--immersive .gv-veille__lead + .gv-veille__lead {
  margin-top: 0.85rem;
}

.page-genericvoice--immersive .gv-veille__mosaic {
  list-style: none;
  margin: 2.25rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.85rem;
  grid-template-columns: 1fr;
}

@media (min-width: 540px) {
  .page-genericvoice--immersive .gv-veille__mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 960px) {
  .page-genericvoice--immersive .gv-veille__mosaic {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.page-genericvoice--immersive .gv-veille-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 100%;
  padding: 1rem 1rem 1.15rem;
  border-radius: 16px;
  background: color-mix(in srgb, var(--gv-bg2) 58%, transparent);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 75%, transparent);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 4px 24px color-mix(in srgb, var(--bg) 65%, transparent);
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s ease, border-color 0.35s ease;
}

.page-genericvoice--immersive .gv-veille-tile--turq {
  border-left: 3px solid var(--gv-turq);
}

.page-genericvoice--immersive .gv-veille-tile--orange {
  border-left: 3px solid var(--gv-orange);
}

.page-genericvoice--immersive .gv-veille-tile--gold {
  border-left: 3px solid var(--gv-gold);
}

.page-genericvoice--immersive .gv-veille-tile__sheen {
  position: absolute;
  top: -50%;
  right: -35%;
  width: 75%;
  height: 140%;
  background: linear-gradient(
    128deg,
    transparent 38%,
    color-mix(in srgb, var(--gv-text) 8%, transparent) 48%,
    transparent 58%
  );
  opacity: 0.35;
  pointer-events: none;
}

.page-genericvoice--immersive .gv-veille-tile__index {
  position: relative;
  z-index: 1;
  font-family: var(--font-matrix-mono, ui-monospace, monospace);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: color-mix(in srgb, var(--gv-muted) 88%, var(--gv-turq) 12%);
  margin-bottom: 0.4rem;
}

.page-genericvoice--immersive .gv-veille-tile__name {
  position: relative;
  z-index: 1;
  margin: 0 0 0.45rem;
  font-family: var(--font-sub);
  font-size: 0.86rem;
  font-weight: 600;
  letter-spacing: normal;
  color: var(--gv-text);
  line-height: 1.3;
  text-align: start;
  width: 100%;
}

.page-genericvoice--immersive .gv-veille-tile__desc {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: 0.76rem;
  line-height: 1.52;
  color: var(--gv-muted);
  text-align: start;
}

@media (hover: hover) and (pointer: fine) {
  .page-genericvoice--immersive .gv-veille-tile:hover {
    transform: translateY(-4px);
    box-shadow:
      0 20px 48px color-mix(in srgb, var(--accent-strong) 12%, transparent),
      0 0 0 1px color-mix(in srgb, var(--gv-turq) 22%, var(--line-subtle) 78%);
    border-color: color-mix(in srgb, var(--gv-turq) 28%, var(--line-subtle) 72%);
  }
}

/* Pain */
.page-genericvoice--immersive .gv-pain__layout {
  display: grid;
  gap: 2rem;
  align-items: start;
}

@media (min-width: 768px) {
  .page-genericvoice--immersive .gv-pain__layout {
    grid-template-columns: minmax(0, 220px) 1fr;
  }
}

.page-genericvoice--immersive .gv-pain__cards {
  display: grid;
  gap: 1rem;
}

@media (min-width: 640px) {
  .page-genericvoice--immersive .gv-pain__cards {
    grid-template-columns: repeat(3, 1fr);
  }
}

.page-genericvoice--immersive .gv-card {
  background: var(--gv-bg2);
  border-radius: var(--gv-radius);
  padding: 1.25rem;
  border: 1px solid var(--line-subtle);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  text-align: start;
}

.page-genericvoice--immersive .gv-card--pain:hover,
.page-genericvoice--immersive .gv-tilt:hover {
  transform: translateY(-6px) rotate(-0.5deg);
  box-shadow: 0 12px 32px color-mix(in srgb, var(--text) 12%, transparent);
  border-color: color-mix(in srgb, var(--accent-strong) 38%, var(--line-strong) 62%);
}

.page-genericvoice--immersive .gv-card__p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--gv-muted);
  text-align: start;
}

/* Architecture */
.page-genericvoice--immersive .gv-arch__stage {
  position: relative;
  margin: 2rem 0;
  isolation: isolate;
}

.page-genericvoice--immersive .gv-arch__stage .gv-arch__diagram {
  margin: 0;
  position: relative;
  z-index: 1;
}

.page-genericvoice--immersive .gv-arch__diagram {
  position: relative;
  min-height: 200px;
  margin: 2rem 0;
  padding: 2rem;
  padding-bottom: clamp(2rem, 8vw, 5.5rem);
  background: radial-gradient(circle at 50% 50%, var(--accent-2-dim), transparent 60%), var(--gv-bg2);
  border-radius: var(--gv-radius);
  border: 1px solid var(--line-subtle);
}

.page-genericvoice--immersive .gv-arch__vox--stage {
  position: absolute;
  right: max(0.5rem, env(safe-area-inset-right));
  bottom: -0.25rem;
  z-index: 2;
  width: min(46%, 220px);
  max-width: 220px;
  pointer-events: none;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  margin: 0;
}

.page-genericvoice--immersive .gv-arch__vox--stage .gv-vox__svg {
  width: 100%;
  height: auto;
  max-width: 200px;
  filter: drop-shadow(0 10px 28px color-mix(in srgb, var(--text) 18%, transparent));
}

@media (max-width: 639px) {
  .page-genericvoice--immersive .gv-arch__vox--stage {
    width: min(40%, 160px);
    max-width: 160px;
    opacity: 0.92;
  }

  .page-genericvoice--immersive .gv-arch__vox--stage .gv-vox__svg {
    max-width: 150px;
  }
}

.page-genericvoice--immersive .gv-arch__hub {
  margin: 0 0 1.5rem;
  width: fit-content;
  padding: 1rem 1.5rem;
  border-radius: 12px;
  background: var(--gv-bg);
  border: 2px solid var(--gv-orange);
  font-family: var(--font-sub);
  font-size: 0.85rem;
  font-weight: 600;
  text-align: start;
}

.page-genericvoice--immersive .gv-arch__nodes {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1rem;
}

.page-genericvoice--immersive .gv-arch__node {
  flex: 1 1 200px;
  max-width: 260px;
  padding: 1rem;
  border-radius: 10px;
  font-size: 0.85rem;
  text-align: start;
  border: 1px solid var(--line-subtle);
  position: relative;
}

.page-genericvoice--immersive .gv-arch__node--edge {
  border-color: var(--gv-turq);
  box-shadow: 0 0 20px var(--accent-2-glow);
}

.page-genericvoice--immersive .gv-arch__node--piper {
  border-color: var(--gv-orange);
}

.page-genericvoice--immersive .gv-arch__node--espeak {
  border-color: var(--gv-gold);
}

.page-genericvoice--immersive .gv-arch__stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1.5rem;
  margin: 1.5rem 0;
}

.page-genericvoice--immersive .gv-stat {
  text-align: start;
  min-width: 120px;
}

.page-genericvoice--immersive .gv-stat__num {
  display: block;
  font-family: var(--gv-font-display);
  font-size: 1.75rem;
  color: var(--gv-orange);
}

.page-genericvoice--immersive .gv-stat__lbl {
  font-size: 0.75rem;
  color: var(--gv-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.page-genericvoice--immersive .gv-arch__note {
  font-size: 0.85rem;
  color: var(--gv-dim);
  text-align: start;
  max-width: none;
  margin: 1rem 0 0;
}

.page-genericvoice--immersive .gv-arch__vox:not(.gv-arch__vox--stage) {
  display: flex;
  justify-content: flex-start;
  margin-top: 1rem;
}

.page-genericvoice--immersive .gv-pulse {
  animation: gv-pulse 3s ease-in-out infinite;
}

/* Use cases & features — plafond local sur très grands écrans (évite des cartes trop étirées). */
.page-genericvoice--immersive .gv-usecases__grid,
.page-genericvoice--immersive .gv-features__grid {
  display: grid;
  gap: 1.25rem;
  width: 100%;
  margin-inline: 0;
}

@media (min-width: 640px) {
  .page-genericvoice--immersive .gv-usecases__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .page-genericvoice--immersive .gv-features__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 900px) {
  .page-genericvoice--immersive .gv-features__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.page-genericvoice--immersive .gv-card--uc .gv-card__icon {
  font-size: 1.75rem;
  display: block;
  margin-bottom: 0.5rem;
}

.page-genericvoice--immersive .gv-card--feat {
  border-left: 4px solid var(--gv-rack, var(--gv-orange));
  position: relative;
  overflow: hidden;
}

.page-genericvoice--immersive .gv-rack-module__led {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--gv-turq);
  box-shadow: 0 0 10px var(--accent-2-glow);
}

.page-genericvoice--immersive .gv-rack-module__led--off {
  background: var(--gv-dim);
  box-shadow: none;
}

/* Perpetuity */
.page-genericvoice--immersive .gv-perpetuity {
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent-2) 14%, transparent), transparent);
}

.page-genericvoice--immersive .gv-perpetuity__inner {
  text-align: start;
}

.page-genericvoice--immersive .gv-perpetuity__timeline {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 2rem;
  font-family: var(--font-body);
  color: var(--gv-dim);
  font-size: 0.8rem;
  margin-bottom: 1rem;
  opacity: 0.7;
}

/* Demos table */
/* Catalogue voix (voices.json + WAV) */
.page-genericvoice--immersive .gv-voices-catalog {
  margin-top: 0.5rem;
}

.page-genericvoice--immersive .gv-datatable-controls {
  margin-bottom: 1rem;
}

.page-genericvoice--immersive .gv-datatable-controls__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
}

.page-genericvoice--immersive .gv-datatable__search {
  flex: 1 1 200px;
  min-width: 160px;
  background: var(--gv-bg2);
  color: var(--gv-text);
  border: 1px solid var(--line-subtle);
  border-radius: 8px;
  padding: 0.45rem 0.75rem;
  font-size: 0.85rem;
}

.page-genericvoice--immersive .gv-datatable__search:focus {
  outline: 2px solid color-mix(in srgb, var(--gv-turq) 55%, transparent);
  outline-offset: 2px;
}

.page-genericvoice--immersive .gv-datatable-controls__meta {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.page-genericvoice--immersive .gv-datatable-controls__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--line-subtle);
}

.page-genericvoice--immersive .gv-datatable-controls__count {
  font-size: 0.8rem;
  color: var(--gv-muted);
}

.page-genericvoice--immersive .gv-datatable-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.page-genericvoice--immersive .gv-datatable-page-btn {
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid var(--line-subtle);
  background: var(--gv-bg2);
  color: var(--gv-text);
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.page-genericvoice--immersive .gv-datatable-page-btn:hover:not(:disabled) {
  border-color: var(--gv-turq);
  color: var(--gv-turq);
}

.page-genericvoice--immersive .gv-datatable-page-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.page-genericvoice--immersive .gv-datatable-page-btn.is-active {
  background: color-mix(in srgb, var(--gv-turq) 35%, var(--gv-bg3) 65%);
  border-color: var(--gv-turq);
  color: var(--gv-text);
}

.page-genericvoice--immersive .gv-page-ellipsis {
  padding: 0 4px;
  color: var(--gv-muted);
  font-size: 0.82rem;
}

.page-genericvoice--immersive .gv-demo-player-shell[hidden] {
  display: none;
}

.page-genericvoice--immersive .gv-demo-player-shell {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 1rem;
}

.page-genericvoice--immersive .gv-demo-player__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  margin: 0;
  padding: 0;
  cursor: default;
  background: color-mix(in srgb, #04050a 50%, transparent);
}

.page-genericvoice--immersive .gv-demo-player {
  position: relative;
  z-index: 1;
  width: min(62rem, calc(100vw - 2rem));
  padding: 1rem 1.15rem 1.1rem;
  border-radius: var(--gv-radius);
  border: 1px solid color-mix(in srgb, var(--gv-orange) 28%, var(--line-strong) 72%);
  background: color-mix(in srgb, var(--gv-bg3) 93%, var(--gv-turq) 7%);
  box-shadow: 0 18px 48px color-mix(in srgb, #000 40%, transparent);
}

.page-genericvoice--immersive .gv-demo-player__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.page-genericvoice--immersive .gv-demo-player__close {
  width: 2rem;
  height: 2rem;
  border: 1px solid color-mix(in srgb, var(--gv-orange) 35%, var(--line-strong) 65%);
  border-radius: 999px;
  background: color-mix(in srgb, var(--gv-bg2) 84%, var(--gv-orange) 16%);
  color: var(--gv-text);
  font-size: 1.25rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.page-genericvoice--immersive .gv-demo-player__title {
  margin: 0;
  font-size: 1rem;
}

.page-genericvoice--immersive .gv-demo-player__meta {
  margin: 0.55rem 0 0.9rem;
  font-size: clamp(1rem, 2.2vw, 1.35rem);
  font-weight: 600;
  color: var(--gv-text);
  line-height: 1.35;
}

.page-genericvoice--immersive .gv-demo-player__media {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.page-genericvoice--immersive .gv-demo-player__transport {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: nowrap;
}

.page-genericvoice--immersive .gv-demo-player__tp-btn {
  flex: 0 0 auto;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--gv-orange) 38%, var(--line-strong) 62%);
  background: color-mix(in srgb, var(--gv-bg2) 82%, var(--gv-orange) 18%);
  color: var(--gv-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}

.page-genericvoice--immersive .gv-demo-player__tp-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.page-genericvoice--immersive .gv-demo-player__tp-btn:not(:disabled):hover {
  border-color: var(--gv-orange);
  color: var(--gv-orange);
}

.page-genericvoice--immersive .gv-demo-player__tp-icon {
  display: flex;
  width: 1.1rem;
  height: 1.1rem;
}

.page-genericvoice--immersive .gv-demo-player__tp-icon svg {
  width: 100%;
  height: 100%;
}

.page-genericvoice--immersive .gv-demo-player__scrub {
  flex: 1 1 auto;
  min-width: 0;
}

.page-genericvoice--immersive .gv-demo-player__scrub-inner {
  position: relative;
  height: 1.35rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--gv-bg2) 88%, var(--gv-text) 12%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--line-strong) 55%, transparent);
}

.page-genericvoice--immersive .gv-demo-player__buffer {
  position: absolute;
  inset: 0;
  width: 0%;
  max-width: 100%;
  border-radius: inherit;
  background: color-mix(in srgb, var(--gv-turq) 32%, var(--gv-bg3) 68%);
  pointer-events: none;
  z-index: 0;
}

.page-genericvoice--immersive .gv-demo-player__played {
  position: absolute;
  inset: 0;
  width: 0%;
  max-width: 100%;
  border-radius: inherit;
  background: color-mix(in srgb, var(--gv-orange) 55%, var(--gv-bg3) 45%);
  pointer-events: none;
  z-index: 1;
}

.page-genericvoice--immersive .gv-demo-player__seek {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  height: 1.75rem;
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  cursor: pointer;
  z-index: 2;
}

.page-genericvoice--immersive .gv-demo-player__seek:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.page-genericvoice--immersive .gv-demo-player__seek::-webkit-slider-runnable-track {
  height: 8px;
  border-radius: 999px;
  background: transparent;
}

.page-genericvoice--immersive .gv-demo-player__seek::-moz-range-track {
  height: 8px;
  border-radius: 999px;
  background: transparent;
}

.page-genericvoice--immersive .gv-demo-player__seek::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 15px;
  height: 15px;
  margin-top: -3.5px;
  border-radius: 50%;
  background: var(--gv-orange);
  border: 2px solid color-mix(in srgb, var(--gv-bg2) 70%, var(--gv-text) 30%);
  box-shadow: 0 0 0 1px color-mix(in srgb, #000 35%, transparent);
}

.page-genericvoice--immersive .gv-demo-player__seek::-moz-range-thumb {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: var(--gv-orange);
  border: 2px solid color-mix(in srgb, var(--gv-bg2) 70%, var(--gv-text) 30%);
  box-shadow: 0 0 0 1px color-mix(in srgb, #000 35%, transparent);
}

.page-genericvoice--immersive .gv-demo-player__times {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--gv-muted);
  min-width: 7.5rem;
  text-align: end;
  white-space: nowrap;
}

.page-genericvoice--immersive .gv-datatable tbody tr.gv-datatable__row.is-gv-audio-active td {
  background: color-mix(in srgb, var(--gv-bg2) 80%, var(--gv-orange) 20%);
}

.page-genericvoice--immersive .gv-datatable tbody tr.gv-datatable__row.is-gv-audio-active td:first-child {
  border-inline-start: 4px solid var(--gv-orange);
}

.page-genericvoice--immersive .gv-play-btn.is-playing {
  border-color: var(--gv-orange);
  background: color-mix(in srgb, var(--gv-orange) 28%, var(--gv-bg3) 72%);
  color: var(--gv-text);
}

.page-genericvoice--immersive .gv-datatable-container {
  overflow-x: auto;
  border-radius: var(--gv-radius);
  border: 1px solid var(--line-subtle);
}

.page-genericvoice--immersive .gv-datatable {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}

.page-genericvoice--immersive .gv-datatable th,
.page-genericvoice--immersive .gv-datatable td {
  padding: 0.65rem 0.85rem;
  text-align: left;
  border-bottom: 1px solid var(--line-subtle);
  vertical-align: middle;
}

.page-genericvoice--immersive .gv-datatable th {
  color: var(--gv-turq);
  font-weight: 600;
}

.page-genericvoice--immersive .gv-datatable tbody tr.gv-datatable__row:hover td {
  background: color-mix(in srgb, var(--gv-bg2) 88%, var(--gv-turq) 12%);
}

.page-genericvoice--immersive .gv-datatable tbody tr.gv-datatable__row:focus-visible {
  outline: 2px solid var(--gv-turq);
  outline-offset: -2px;
}

.page-genericvoice--immersive .gv-datatable th.sortable {
  cursor: pointer;
  user-select: none;
}

.page-genericvoice--immersive .gv-datatable th.sortable:hover {
  color: var(--gv-text);
}

.page-genericvoice--immersive .gv-sort-ind {
  display: inline-block;
  margin-left: 0.35rem;
  font-size: 0.7rem;
  opacity: 0.65;
}

.page-genericvoice--immersive .gv-datatable th[aria-sort="ascending"] .gv-sort-ind::after {
  content: "▲";
}

.page-genericvoice--immersive .gv-datatable th[aria-sort="descending"] .gv-sort-ind::after {
  content: "▼";
}

.page-genericvoice--immersive .gv-datatable th[aria-sort="none"] .gv-sort-ind::after {
  content: "⇅";
}

.page-genericvoice--immersive .gv-datatable__th--action {
  width: 3rem;
  text-align: center;
}

.page-genericvoice--immersive .gv-play-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--gv-orange) 42%, var(--line-strong) 58%);
  background: var(--gv-bg3);
  color: var(--gv-text);
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.page-genericvoice--immersive .gv-play-btn:hover {
  border-color: var(--gv-orange);
  transform: scale(1.06);
}

.page-genericvoice--immersive .gv-play-btn svg {
  width: 14px;
  height: 14px;
}

.page-genericvoice--immersive .gv-voice-name {
  font-weight: 500;
}

.page-genericvoice--immersive .gv-voice-locale {
  color: var(--gv-muted);
  font-size: 0.82rem;
}

.page-genericvoice--immersive .gv-engine-badge.engine-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 0.78rem;
  font-weight: 600;
}

.page-genericvoice--immersive .gv-engine-badge.engine-badge::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentcolor;
}

.page-genericvoice--immersive .engine-badge--edge {
  background: color-mix(in srgb, var(--gv-bg3) 70%, var(--gv-turq) 30%);
  color: var(--gv-turq);
}

.page-genericvoice--immersive .engine-badge--piper {
  background: color-mix(in srgb, var(--gv-bg3) 75%, var(--gv-orange) 25%);
  color: var(--gv-orange);
}

.page-genericvoice--immersive .engine-badge--espeak {
  background: color-mix(in srgb, var(--gv-bg3) 80%, var(--gv-gold) 20%);
  color: var(--gv-gold);
}

.page-genericvoice--immersive .gv-quality-badge.quality-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 0.72rem;
  font-weight: 600;
}

.page-genericvoice--immersive .quality-badge--excellent {
  background: color-mix(in srgb, var(--gv-turq) 22%, var(--gv-bg2) 78%);
  color: var(--gv-turq);
}

.page-genericvoice--immersive .quality-badge--verygood {
  background: color-mix(in srgb, #6ecf8c 18%, var(--gv-bg2) 82%);
  color: #8fd9a8;
}

/* Thème clair : vert « very good » trop pâle (texte illisible) — tons plus soutenus, lisibles sur cartes crème */
html[data-theme="light"] .page-genericvoice--immersive .quality-badge--verygood {
  background: color-mix(in srgb, #15803d 26%, var(--gv-bg2) 74%);
  color: #0a3d1f;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #14532d 22%, transparent);
}

.page-genericvoice--immersive .quality-badge--good {
  background: color-mix(in srgb, var(--gv-orange) 20%, var(--gv-bg2) 80%);
  color: var(--gv-gold);
}

.page-genericvoice--immersive .gv-datatable__th--edition {
  min-width: 8.5rem;
}

.page-genericvoice--immersive .gv-edition-badge.edition-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.25;
  max-width: 12rem;
}

.page-genericvoice--immersive .edition-badge--core {
  background: color-mix(in srgb, var(--gv-turq) 22%, var(--gv-bg2) 78%);
  color: var(--gv-turq);
}

.page-genericvoice--immersive .edition-badge--full {
  background: color-mix(in srgb, var(--gv-orange) 20%, var(--gv-bg2) 80%);
  color: var(--gv-orange);
}

html[data-theme="light"] .page-genericvoice--immersive .edition-badge--core {
  color: color-mix(in srgb, var(--gv-turq) 35%, #0c2826 65%);
}

html[data-theme="light"] .page-genericvoice--immersive .edition-badge--full {
  color: color-mix(in srgb, var(--gv-orange) 40%, #3a1f0a 60%);
}

.page-genericvoice--immersive .gv-datatable__loading td,
.page-genericvoice--immersive .gv-datatable__error td {
  text-align: center;
  padding: 2rem 1rem;
  color: var(--gv-muted);
}

.page-genericvoice--immersive .gv-datatable__error td {
  color: var(--gv-gold);
}

.page-genericvoice--immersive .gv-demos__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

.page-genericvoice--immersive .gv-select {
  background: var(--gv-bg2);
  color: var(--gv-text);
  border: 1px solid var(--line-subtle);
  border-radius: 8px;
  padding: 0.45rem 0.75rem;
  font-size: 0.85rem;
}

.page-genericvoice--immersive .gv-demos__table-wrap {
  overflow-x: auto;
  border-radius: var(--gv-radius);
  border: 1px solid var(--line-subtle);
}

.page-genericvoice--immersive .gv-demos__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}

.page-genericvoice--immersive .gv-demos__table th,
.page-genericvoice--immersive .gv-demos__table td {
  padding: 0.65rem 0.85rem;
  text-align: left;
  border-bottom: 1px solid var(--line-subtle);
}

.page-genericvoice--immersive .gv-demos__table th {
  color: var(--gv-turq);
  font-weight: 600;
}

.page-genericvoice--immersive .gv-demos__row.is-hidden {
  display: none;
}

.page-genericvoice--immersive .gv-demos__play {
  background: var(--gv-bg3);
  border: 1px solid color-mix(in srgb, var(--gv-orange) 42%, var(--line-strong) 58%);
  color: var(--gv-text);
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.page-genericvoice--immersive .gv-demos__play:hover {
  background: color-mix(in srgb, var(--btn-bg) 85%, var(--gv-bg2) 15%);
  border-color: var(--gv-orange);
  transform: scale(1.08);
}

.page-genericvoice--immersive .gv-demos__play.is-playing {
  background: var(--gv-orange);
  border-color: var(--gv-orange);
  color: var(--btn-text);
}

.page-genericvoice--immersive .gv-demos__wave {
  display: block;
  width: 48px;
  height: 20px;
  background: repeating-linear-gradient(
    90deg,
    var(--gv-turq),
    var(--gv-turq) 2px,
    transparent 2px,
    transparent 5px
  );
  opacity: 0.35;
  border-radius: 4px;
}

.page-genericvoice--immersive .gv-demos__row.is-playing .gv-demos__wave {
  animation: gv-spectrum 0.4s linear infinite;
  opacity: 0.9;
}

/* Tabs */
.page-genericvoice--immersive .gv-tabs-section .gv-h2 {
  width: 100%;
  max-width: none;
}

.page-genericvoice--immersive .gv-tabs__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.page-genericvoice--immersive .gv-tabs__tab {
  background: var(--gv-bg2);
  color: var(--gv-muted);
  border: 1px solid var(--line-subtle);
  padding: 0.55rem 1rem;
  border-radius: 999px;
  cursor: pointer;
  font-size: 0.8rem;
  line-height: 1.25;
  text-align: start;
  max-width: min(100%, 16rem);
  transition: color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.page-genericvoice--immersive .gv-tabs__tab.is-active {
  color: var(--btn-text);
  background: var(--btn-bg);
  border-color: var(--btn-border);
  box-shadow: 0 4px 18px var(--btn-focus);
}

.page-genericvoice--immersive .gv-tabs__panel {
  background: var(--gv-bg2);
  border-radius: var(--gv-radius);
  padding: 1.25rem;
  border: 1px solid var(--line-subtle);
}

/* Zone principale à onglets — hiérarchie & lisibilité renforcées */
.page-genericvoice--immersive .gv-main-tabs .gv-section-head--tabs .gv-h2 {
  font-size: clamp(1.5rem, 2.6vw + 0.75rem, 2.35rem);
  letter-spacing: -0.02em;
  margin-bottom: 0.65rem;
}

.page-genericvoice--immersive .gv-main-tabs .gv-section-head--tabs .gv-eyebrow {
  margin-bottom: 0.85rem;
}

.page-genericvoice--immersive .gv-main-tabs .gv-section-head--tabs .gv-prose {
  max-width: 58rem;
  font-size: clamp(0.95rem, 1.2vw + 0.7rem, 1.05rem);
  line-height: 1.65;
  color: color-mix(in srgb, var(--gv-muted) 92%, var(--gv-text) 8%);
}

.page-genericvoice--immersive .gv-main-tabs .gv-tabs__list {
  gap: 0.4rem;
  padding: 0.35rem;
  border-radius: var(--gv-radius);
  background: color-mix(in srgb, var(--gv-bg2) 88%, var(--gv-text) 5%);
  border: 1px solid var(--line-subtle);
}

.page-genericvoice--immersive .gv-main-tabs .gv-tabs__tab {
  font-family: var(--font-sub);
  font-size: clamp(0.82rem, 1vw + 0.55rem, 0.92rem);
  font-weight: 600;
  letter-spacing: 0.01em;
}

.page-genericvoice--immersive .gv-main-tabs .gv-tabs__panel {
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 78%, var(--gv-turq) 22%);
  background: linear-gradient(
    165deg,
    color-mix(in srgb, var(--gv-bg2) 94%, var(--gv-turq) 6%) 0%,
    var(--gv-bg2) 42%,
    var(--gv-bg2) 100%
  );
  box-shadow: 0 12px 40px color-mix(in srgb, var(--bg) 78%, transparent);
}

.page-genericvoice--immersive .gv-tabs__panel[hidden] {
  display: none;
}

.page-genericvoice--immersive .gv-codeblock {
  margin: 0 0 1rem;
  padding: 1rem;
  background: color-mix(in srgb, var(--bg-elevated) 82%, var(--text) 18%);
  border-radius: 10px;
  overflow-x: auto;
  font-size: 0.78rem;
  line-height: 1.5;
  border: 1px solid var(--line-strong);
}

.page-genericvoice--immersive .gv-codeblock code {
  font-family: var(--font-matrix-mono, ui-monospace, monospace);
  color: var(--gv-turq);
}

/* Downloads layout */
.page-genericvoice--immersive .gv-downloads__rack {
  display: grid;
  gap: 2rem;
  align-items: start;
}

@media (min-width: 900px) {
  .page-genericvoice--immersive .gv-downloads__rack {
    grid-template-columns: 1.2fr 0.5fr 0.8fr;
  }
}

.page-genericvoice--immersive .gv-downloads__core {
  padding: 2rem;
  border-radius: var(--gv-radius);
  background: var(--gv-bg2);
  border: 2px solid var(--gv-orange);
  position: relative;
}

.page-genericvoice--immersive .gv-rack-glow {
  box-shadow: 0 0 40px var(--btn-focus);
}

.page-genericvoice--immersive .gv-downloads__badge {
  display: inline-block;
  margin-bottom: 1rem;
  padding: 0.25rem 0.65rem;
  border-radius: 6px;
  background: color-mix(in srgb, var(--btn-bg) 22%, transparent);
  color: var(--gv-orange);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.page-genericvoice--immersive .gv-downloads__list {
  margin: 0 0 1.25rem;
  padding-left: 1.2rem;
  color: var(--gv-muted);
  font-size: 0.9rem;
}

.page-genericvoice--immersive .gv-downloads__note {
  margin: 1rem 0 0;
  font-size: 0.8rem;
  color: var(--gv-dim);
}

.page-genericvoice--immersive .gv-downloads__vox {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.page-genericvoice--immersive .gv-downloads__future {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.page-genericvoice--immersive .gv-downloads__dim {
  opacity: 0.65;
  filter: grayscale(0.3);
}

/* Offer */
.page-genericvoice--immersive .gv-offer__grid {
  display: grid;
  gap: 1rem;
}

@media (min-width: 700px) {
  .page-genericvoice--immersive .gv-offer__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.page-genericvoice--immersive .gv-offer__card {
  padding: 1.5rem;
  border-radius: var(--gv-radius);
  background: var(--gv-bg2);
  border: 1px solid var(--line-subtle);
  text-align: start;
}

.page-genericvoice--immersive .gv-offer__card--core {
  border-color: var(--gv-turq);
  box-shadow: 0 0 24px var(--accent-2-glow);
}

.page-genericvoice--immersive .gv-offer__price {
  font-family: var(--font-sub);
  font-weight: 700;
  color: var(--gv-orange);
  font-size: 1.25rem;
  margin: 0;
}

.page-genericvoice--immersive .gv-offer__muted {
  color: var(--gv-dim);
  margin: 0;
}

.page-genericvoice--immersive .gv-offer__disclaimer {
  margin-top: 1.5rem;
  font-size: 0.85rem;
}

/* Specs */
.page-genericvoice--immersive .gv-specs__table {
  border: 1px solid var(--line-subtle);
  border-radius: var(--gv-radius);
  overflow: hidden;
}

.page-genericvoice--immersive .gv-specs__row {
  display: grid;
  grid-template-columns: minmax(0, 140px) 1fr;
  gap: 0;
  border-bottom: 1px solid var(--line-subtle);
}

.page-genericvoice--immersive .gv-specs__row:last-child {
  border-bottom: 0;
}

.page-genericvoice--immersive .gv-specs__cell {
  padding: 0.85rem 1rem;
  font-size: 0.88rem;
  color: var(--gv-muted);
}

.page-genericvoice--immersive .gv-specs__cell--k {
  background: var(--gv-bg2);
  color: var(--gv-turq);
  font-weight: 600;
}

/* Roadmap */
.page-genericvoice--immersive .gv-roadmap__list {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: gvroad;
}

.page-genericvoice--immersive .gv-roadmap__item {
  counter-increment: gvroad;
  position: relative;
  padding: 1.25rem 1.25rem 1.25rem 3rem;
  margin-bottom: 0.75rem;
  background: var(--gv-bg2);
  border-radius: var(--gv-radius);
  border-left: 4px solid var(--accent-strong);
}

.page-genericvoice--immersive .gv-roadmap__item::before {
  content: counter(gvroad);
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--font-sub);
  font-weight: 700;
  color: var(--gv-orange);
  font-size: 0.9rem;
}

/* FAQ */
.page-genericvoice--immersive .gv-faq__item {
  background: var(--gv-bg2);
  border-radius: 10px;
  border: 1px solid var(--line-subtle);
  margin-bottom: 0.65rem;
  padding: 0 1rem;
}

.page-genericvoice--immersive .gv-faq__q {
  cursor: pointer;
  font-weight: 600;
  color: var(--gv-text);
  padding: 1rem 0;
  list-style: none;
}

.page-genericvoice--immersive .gv-faq__q::-webkit-details-marker {
  display: none;
}

.page-genericvoice--immersive .gv-faq__a {
  margin: 0 0 1rem;
  padding-top: 0;
  color: var(--gv-muted);
  font-size: 0.9rem;
}

/* Final CTA */
.page-genericvoice--immersive .gv-final-cta {
  background: transparent;
}

.page-genericvoice--immersive .gv-final-cta__grid {
  display: grid;
  gap: 2rem;
  align-items: start;
}

@media (min-width: 768px) {
  .page-genericvoice--immersive .gv-final-cta__grid {
    grid-template-columns: 1fr;
  }
}

.page-genericvoice--immersive .gv-final-cta__copy {
  text-align: start;
}

.page-genericvoice--immersive .gv-final-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-start;
}

/* 2e bouton : libellé long, retours à la ligne, texte contigu pour outils de traduction */
.page-genericvoice--immersive .gv-final-cta__actions .gv-btn--multiline {
  min-width: 0;
  max-width: min(100%, 22rem);
  white-space: normal;
  text-align: center;
  line-height: 1.3;
  padding-block: 0.75rem;
}

.page-genericvoice--immersive .gv-final-cta__actions .gv-btn--multiline .gv-btn__text {
  display: block;
  min-width: 0;
  width: 100%;
  text-wrap: balance;
  overflow-wrap: break-word;
  hyphens: auto;
}

.page-genericvoice--immersive .gv-community__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-start;
}

/* Docker */
.page-genericvoice--immersive .gv-docker__inner {
  text-align: start;
}

.page-genericvoice--immersive .gv-docker__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.75rem;
}

.page-genericvoice--immersive .gv-docker__feedback:not(.visually-hidden) {
  margin-top: 1rem;
  color: var(--gv-turq);
}

/* Fil d’Ariane : contenu dans .container (TPL) — retirer le double rail du <ol>. */
.page-genericvoice--immersive .page-genericvoice__breadcrumb > .container .page-genericvoice__breadcrumb-list {
  max-width: none;
  margin: 0;
  padding-inline: 0;
}

/* Keyframes */
@keyframes gv-wave {
  from {
    transform: scaleY(0.5);
    opacity: 0.4;
  }
  to {
    transform: scaleY(1);
    opacity: 0.85;
  }
}

@keyframes gv-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes gv-tilt {
  0%,
  100% {
    transform: rotate(-2deg);
  }
  50% {
    transform: rotate(2deg);
  }
}

@keyframes gv-tail {
  from {
    transform: rotate(-4deg);
  }
  to {
    transform: rotate(8deg);
  }
}

@keyframes gv-led {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.35;
  }
}

@keyframes gv-pulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 var(--btn-focus);
  }
  50% {
    box-shadow: 0 0 0 12px transparent;
  }
}

@keyframes gv-spectrum {
  from {
    filter: hue-rotate(0deg);
  }
  to {
    filter: hue-rotate(18deg);
  }
}

/* Zone principale à 4 onglets */
.page-genericvoice--immersive .gv-main-tabs .gv-tabs__panel {
  margin-top: 0.25rem;
}

.page-genericvoice--immersive .gv-main-tabs__engines {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  color: var(--gv-muted);
}

.page-genericvoice--immersive .gv-main-tabs__note {
  margin-bottom: 1.25rem;
}

.page-genericvoice--immersive .gv-usecases__grid--in-tabs {
  margin-top: 0.5rem;
  margin-bottom: 1.25rem;
}

@media (min-width: 700px) {
  .page-genericvoice--immersive .gv-usecases__grid--in-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.page-genericvoice--immersive .gv-main-tabs__roadlist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  color: var(--gv-muted);
  line-height: 1.55;
}

.page-genericvoice--immersive .gv-main-tabs__roadlist li {
  position: relative;
  padding: 0.85rem 1rem 0.85rem 1.15rem;
  border-radius: 10px;
  border: 1px solid var(--line-subtle);
  border-left: 3px solid var(--gv-turq);
  background: color-mix(in srgb, var(--gv-bg) 65%, var(--gv-bg2) 35%);
}

.page-genericvoice--immersive .gv-main-tabs__roadlist li + li {
  margin-top: 0;
}

.page-genericvoice--immersive .gv-main-tabs__doclist {
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.page-genericvoice--immersive .gv-main-tabs__doclink {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.65rem;
  border-radius: 8px;
  text-decoration: none;
  font-family: var(--font-matrix-mono, ui-monospace, monospace);
  font-size: 0.82rem;
  color: var(--gv-turq);
  border: 1px solid color-mix(in srgb, var(--gv-turq) 35%, var(--line-subtle));
  background: color-mix(in srgb, var(--gv-bg2) 92%, var(--gv-turq) 8%);
  transition: border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.page-genericvoice--immersive .gv-main-tabs__doclink:hover,
.page-genericvoice--immersive .gv-main-tabs__doclink:focus-visible {
  border-color: var(--gv-turq);
  color: var(--gv-text);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--gv-turq) 28%, transparent);
  outline: none;
}

.page-genericvoice--immersive .gv-main-tabs__versions {
  margin: 0 0 1rem;
}

.page-genericvoice--immersive .gv-main-tabs__versions dt {
  margin-top: 0.75rem;
  font-weight: 600;
  color: var(--text);
}

.page-genericvoice--immersive .gv-main-tabs__versions dt:first-child {
  margin-top: 0;
}

.page-genericvoice--immersive .gv-main-tabs__versions dd {
  margin: 0.25rem 0 0;
  padding: 0;
  color: var(--gv-muted);
  line-height: 1.5;
}

.page-genericvoice--immersive .gv-main-tabs__disclaimer {
  margin-bottom: 1.25rem;
  font-size: 0.9rem;
}

.page-genericvoice--immersive .gv-main-tabs__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1.5rem;
}

.page-genericvoice--immersive .gv-main-tabs__traffic {
  margin: 0 0 1.5rem;
}

.page-genericvoice--immersive .gv-main-tabs__traffic-img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: var(--gv-radius);
  border: 1px solid var(--line-subtle);
  background: #fff;
}

.page-genericvoice--immersive .gv-main-tabs__traffic-cap {
  margin: 0.5rem 0 0;
  font-size: 0.85rem;
  color: var(--gv-muted);
  text-align: start;
  line-height: 1.45;
}

.page-genericvoice--immersive .gv-main-tabs__docker {
  margin-bottom: 1.5rem;
  padding: 1rem 0 0;
  border-top: 1px solid var(--line-subtle);
}

.page-genericvoice--immersive .gv-faq__list--in-tabs {
  margin-top: 0.5rem;
}

@media (prefers-reduced-motion: reduce) {
  .page-genericvoice--immersive .gv-hero__wave,
  .page-genericvoice--immersive .gv-vox--float,
  .page-genericvoice--immersive .gv-vox--tilt,
  .page-genericvoice--immersive .gv-vox__led,
  .page-genericvoice--immersive .gv-vox__tail,
  .page-genericvoice--immersive .gv-pulse,
  .page-genericvoice--immersive .gv-demos__row.is-playing .gv-demos__wave {
    animation: none !important;
  }
  .page-genericvoice--immersive .gv-reveal {
    opacity: 1;
    transform: none;
  }

  .page-genericvoice--immersive .gv-veille-tile {
    transition: none;
  }

  .page-genericvoice--immersive .gv-veille-tile:hover {
    transform: none;
  }
}

/* Smartphone — éviter débordement horizontal (grilles, demo player, stats) */
@media (max-width: 767px) {
  .page-genericvoice--immersive .gv-demo-player {
    width: min(100%, calc(100vw - 2 * var(--pad-x-mobile, 0.75rem)));
    box-sizing: border-box;
  }

  .page-genericvoice--immersive .gv-stat {
    min-width: 0;
    flex: 1 1 calc(50% - 0.75rem);
  }

  .page-genericvoice--immersive .gv-hero__grid,
  .page-genericvoice--immersive .gv-tabs__panels {
    min-width: 0;
  }

  .page-genericvoice--immersive .gv-hero__title {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}
