@import url("https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@1,6..72,400&display=swap");
/* ==========================================================================
   korbyx-da-v3.css - Direction artistique v3, celle de la home /hp-v3/
   (docs/24 et docs/25). Couche posee PAR-DESSUS korbyx-design.css et
   korbyx-nav.css. Toutes les regles sont limitees a body.kx-da-v3 : sans cette
   classe, rien ne change. La classe est posee par functions.php (pages pilotes,
   ou ?da=v3 sur l'URL ; ?da=v1 pour comparer).

   Principes (valides par Celian le 26/09) : un seul violet, celui du logo,
   reserve a la marque et aux zones ou Korbyx intervient ; papier chaud, jamais
   de blanc pur, ni en fond ni en texte ; encre ardoise ; flat, sans ombre ni
   degrade ; titres Inter 600 serres, un accent en italique a empattement ;
   le mot IA dans le surtitre, jamais dans le titre ; bouton pilule encre.

   Deux familles de regles :
   1. le cadre du site (en-tete, menu, tiroir mobile, pied de page) ;
   2. les blocs .kx-v3-*, ecrits pour les pages refaites en v3 (pilote :
      /reserver-un-audit/). Les gabarits kx- existants viendront ensuite.
   ========================================================================== */

body.kx-da-v3 {
  --v3-paper: #FAF8F4;
  --v3-cream: #F3F0EC;
  --v3-ink: #1A2426;
  --v3-ink-70: #4A5557;
  --v3-ink-50: #6E787A;
  --v3-ink-30: #A6AEAF;
  --v3-line: #E6E2DC;
  --v3-violet: #5B26FE;
  --v3-violet-soft: #EEE7FE;
  --v3-violet-30: #CEBEFF;
  --v3-night: #260F6B;
  --v3-paper-70: rgba(250, 248, 244, 0.7);
  --v3-paper-20: rgba(250, 248, 244, 0.2);
  --v3-paper-10: rgba(250, 248, 244, 0.1);
  --v3-gouttiere: 1.25rem;
  --v3-ease: cubic-bezier(.16, 1, .3, 1);
  --kx-content: 88rem;
  background: var(--v3-paper);
  color: var(--v3-ink);
  -webkit-font-smoothing: antialiased;
}
@media (min-width: 640px) { body.kx-da-v3 { --v3-gouttiere: 2rem; } }
@media (min-width: 1024px) { body.kx-da-v3 { --v3-gouttiere: 3rem; } }
.kx-da-v3 #page, .kx-da-v3 .site-content, .kx-da-v3 .ast-container, .kx-da-v3 #primary { background: transparent; }
.kx-da-v3 ::selection { background: var(--v3-violet-soft); }
.kx-da-v3 :focus-visible { outline: 2px solid var(--v3-violet); outline-offset: 3px; border-radius: 6px; }

/* ==========================================================================
   1. Le cadre du site
   ========================================================================== */

/* --- En-tete : papier, sans ombre ; un filet apparait au defilement --------- */
.kx-da-v3 .kx-header { background: var(--v3-paper); box-shadow: none; border-bottom: 1px solid transparent; transition: transform .35s var(--v3-ease), border-color .3s; }
.kx-da-v3 .kx-header.is-scrolled { box-shadow: none; border-bottom-color: var(--v3-line); }
.kx-da-v3 .kx-header__bar { padding-inline: var(--v3-gouttiere); }
.kx-da-v3 .kx-brand { color: var(--v3-ink); letter-spacing: -0.02em; }
.kx-da-v3 .kx-brand__mark { color: var(--v3-violet); }
.kx-da-v3 .kx-nav__trigger { color: var(--v3-ink-70); font-size: .9375rem; padding: .6rem .95rem; border-radius: 9999px !important; transition: color .2s, background-color .2s; }
.kx-da-v3 .kx-nav__item:hover .kx-nav__trigger,
.kx-da-v3 .kx-nav__item.is-open .kx-nav__trigger { color: var(--v3-ink); background: var(--v3-cream) !important; }

/* Panneaux du menu : papier, filet fin, aucune ombre */
.kx-da-v3 .kx-panel { background: var(--v3-paper); border-top: 1px solid var(--v3-line); border-bottom: 1px solid var(--v3-line); box-shadow: none; }
.kx-da-v3 .kx-panel__inner { padding-inline: var(--v3-gouttiere); }
.kx-da-v3 .kx-panel__title { font-family: inherit; font-size: .8125rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--v3-violet); }
.kx-da-v3 .kx-panel__col a { color: var(--v3-ink); }
.kx-da-v3 .kx-panel__col a:hover { background: var(--v3-cream); }
.kx-da-v3 .kx-panel__featured { background: var(--v3-cream); box-shadow: none; border: 1px solid var(--v3-line); border-radius: 1.25rem; transition: border-color .25s; }
.kx-da-v3 .kx-panel__featured:hover { box-shadow: none; border-color: var(--v3-ink-30); }
.kx-da-v3 .kx-panel__fmark, .kx-da-v3 .kx-panel__flink { color: var(--v3-violet); }
.kx-da-v3 .kx-panel__ftitle { color: var(--v3-ink); }
.kx-da-v3 .kx-panel__fdesc { color: var(--v3-ink-70); }
.kx-da-v3 .kx-panel--compact { border: 1px solid var(--v3-line); border-radius: 1.25rem; box-shadow: none; }

/* Actions : plus de « Discutez avec nous » (il menait au meme endroit), un seul bouton pilule encre */
.kx-da-v3 .kx-chat { display: none; }
.kx-da-v3 .kx-btn-audit,
.kx-da-v3 .kx-header__cta .kx-btn-audit {
  background: var(--v3-ink); color: var(--v3-paper); border: 0; border-radius: 9999px;
  padding: .7rem 1.3rem; font-size: .875rem; font-weight: 500; text-transform: none; letter-spacing: 0;
  box-shadow: none; transform: none; transition: background-color .3s;
}
.kx-da-v3 .kx-btn-audit:hover,
.kx-da-v3 .kx-header__cta .kx-btn-audit:hover { background: #0f1719; color: var(--v3-paper); border-color: transparent; box-shadow: none; transform: none; }
.kx-da-v3 .kx-burger { color: var(--v3-ink); }

/* Tiroir mobile : encre, accents lavande */
.kx-da-v3 .kx-drawer__scrim { background: rgba(26, 36, 38, 0.55); }
.kx-da-v3 .kx-drawer__panel { background: var(--v3-ink); color: var(--v3-paper); }
.kx-da-v3 .kx-drawer__head, .kx-da-v3 .kx-drawer__group, .kx-da-v3 .kx-drawer__foot { border-color: var(--v3-paper-10); }
.kx-da-v3 .kx-drawer__head .kx-brand { color: var(--v3-paper); }
.kx-da-v3 .kx-drawer__head .kx-brand__mark { color: var(--v3-paper); }
.kx-da-v3 .kx-drawer__x { color: var(--v3-paper-70); }
.kx-da-v3 .kx-drawer__label { font-family: inherit; font-size: .8125rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--v3-violet-30); }
.kx-da-v3 .kx-drawer__group a { color: var(--v3-paper-70); }
.kx-da-v3 .kx-drawer__group a:hover { color: var(--v3-paper); }
.kx-da-v3 .kx-drawer__foot .kx-btn-audit { background: var(--v3-paper); color: var(--v3-ink); }

/* --- Pied de page : encre, sans halo ni degrade, texte papier -------------- */
.kx-da-v3 .kx-footer { background: var(--v3-ink); color: var(--v3-paper); }
.kx-da-v3 .kx-footer::before, .kx-da-v3 .kx-footer::after { display: none; }
.kx-da-v3 .kx-footer__inner { max-width: 88rem; padding-inline: var(--v3-gouttiere); }
.kx-da-v3 .kx-footer__nl, .kx-da-v3 .kx-footer__local, .kx-da-v3 .kx-footer__legal { border-color: var(--v3-paper-20); }
.kx-da-v3 .kx-footer__nl h2 { color: var(--v3-paper); letter-spacing: -0.03em; }
.kx-da-v3 .kx-footer__nl p, .kx-da-v3 .kx-footer__tag { color: var(--v3-paper-70); }
.kx-da-v3 .kx-nl input { border-radius: 9999px; border-color: var(--v3-paper-20); background: var(--v3-paper-10); color: var(--v3-paper); padding-inline: 1.25rem; }
.kx-da-v3 .kx-nl input::placeholder { color: rgba(250, 248, 244, 0.5); }
.kx-da-v3 .kx-nl input:focus { border-color: var(--v3-violet-30); box-shadow: none; }
.kx-da-v3 .kx-nl button { border-radius: 9999px; background: var(--v3-paper); color: var(--v3-ink); text-transform: none; font-size: .875rem; font-weight: 500; padding-inline: 1.4rem; transition: background-color .3s; }
.kx-da-v3 .kx-nl button:hover { box-shadow: none; background: var(--v3-violet-soft); }
.kx-da-v3 .kx-nl__ok { color: var(--v3-violet-30); }
.kx-da-v3 .kx-footer__brand .kx-brand { color: var(--v3-paper); }
.kx-da-v3 .kx-footer__brand .kx-brand__mark { color: var(--v3-paper); }
.kx-da-v3 .kx-plateforme { background: var(--v3-paper-10); box-shadow: none; border: 1px solid var(--v3-paper-20); border-radius: 1.25rem; }
.kx-da-v3 .kx-plateforme:hover { box-shadow: none; border-color: var(--v3-paper-70); }
.kx-da-v3 .kx-plateforme b { color: var(--v3-paper); }
.kx-da-v3 .kx-plateforme span { color: var(--v3-paper-70); }
.kx-da-v3 .kx-plateforme em { color: var(--v3-violet-30); }
.kx-da-v3 .kx-social { border-color: var(--v3-paper-20); color: var(--v3-paper-70); }
.kx-da-v3 .kx-social:hover { color: var(--v3-paper); border-color: var(--v3-paper-70); }
.kx-da-v3 .kx-footer__col p { font-family: inherit; font-size: .875rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--v3-paper); }
.kx-da-v3 .kx-footer__col a, .kx-da-v3 .kx-footer__local a, .kx-da-v3 .kx-footer__legal a { color: var(--v3-paper-70); }
.kx-da-v3 .kx-footer__local, .kx-da-v3 .kx-footer__legal { color: rgba(250, 248, 244, 0.55); }
.kx-da-v3 .kx-footer__legal span[style] { color: rgba(250, 248, 244, 0.55) !important; }
.kx-da-v3 .kx-footer__col a:hover, .kx-da-v3 .kx-footer__local a:hover, .kx-da-v3 .kx-footer__legal a:hover { color: var(--v3-paper); }

/* --- Cadrage identique a la home /hp-v3/ (retour de Thomas, 26/09) ------------------------
   Meme colonne de 88rem (1 408 px) pour l'en-tete, le contenu et le pied de page, gouttieres a
   l'exterieur ; meme en-tete (88 px, logo, liens a 16 px, bouton a fleche) ; et, comme la home,
   toute la page grandit d'un bloc sur les tres grands ecrans au lieu de flotter entre des marges. */
.kx-da-v3 .kx-header__bar,
.kx-da-v3 .kx-footer__inner { max-width: calc(88rem + 2 * var(--v3-gouttiere)); }
.kx-da-v3 .kx-panel__inner { max-width: calc(88rem + 2 * var(--v3-gouttiere)); }
@media (min-width: 1024px) {
  .kx-da-v3 .kx-header__bar, .kx-da-v3 .kx-header.is-scrolled .kx-header__bar { min-height: 88px; padding-block: 0; }
}
.kx-da-v3 .kx-brand { gap: .5rem; font-size: 1.375rem; font-weight: 600; letter-spacing: -0.03em; }
.kx-da-v3 .kx-brand__mark, .kx-da-v3 .kx-header.is-scrolled .kx-brand__mark { width: 1.75rem; height: 1.75rem; }
@media (min-width: 1024px) {
  .kx-da-v3 .kx-brand { font-size: 23px; }
  .kx-da-v3 .kx-brand__mark, .kx-da-v3 .kx-header.is-scrolled .kx-brand__mark { width: 2.1rem; height: 2.1rem; }
}
.kx-da-v3 .kx-nav__list { gap: .5rem; }
.kx-da-v3 .kx-nav__trigger { gap: .375rem; padding: .625rem 1rem; font-size: 1rem; font-weight: 500; color: var(--v3-ink); }
.kx-da-v3 .kx-chev { width: 1rem; height: 1rem; opacity: 1; stroke-width: 1.6; }
/* Le bouton de l'en-tete : la pilule de la home, avec sa fleche dans une pastille */
.kx-da-v3 .kx-header__cta .kx-btn-audit { display: inline-flex; align-items: center; gap: .625rem; height: 2.75rem; padding: 0 .375rem 0 1.25rem; }
.kx-da-v3 .kx-header__cta .kx-btn-audit::after {
  content: ""; flex: none; width: 2rem; height: 2rem; border-radius: 9999px; transform: rotate(-45deg);
  background: var(--v3-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A2426' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 1rem no-repeat;
  transition: transform .45s cubic-bezier(.65, 0, .35, 1), background-color .35s;
}
.kx-da-v3 .kx-header__cta .kx-btn-audit:hover::after {
  transform: none;
  background: var(--v3-violet) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FAF8F4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 1rem no-repeat;
}
@media (min-width: 2100px) { body.kx-da-v3 { zoom: 1.2; } }
@media (min-width: 2500px) { body.kx-da-v3 { zoom: 1.4; } }

/* ==========================================================================
   2. Les blocs v3 (.kx-v3-*)
   ========================================================================== */

/* Les blocs occupent toute la largeur de la zone de contenu, sans marges d'Astra */
.kx-da-v3 .entry-content > .kx-v3-section,
.kx-da-v3 .entry-content > section.kx-v3-section { margin: 0; max-width: none; }
.kx-da-v3 .entry-content > p:empty { display: none; }
/* Listes des blocs : sans le retrait qu'Astra donne aux listes du contenu */
.kx-da-v3 .entry-content :is(.kx-v3-cartes, .kx-v3-garanties-ligne) { margin-left: 0; padding-left: 0; }

.kx-v3-section { padding: 4rem var(--v3-gouttiere); background: var(--v3-paper); color: var(--v3-ink); }
@media (min-width: 640px) { .kx-v3-section { padding-block: 5rem; } }
@media (min-width: 1024px) { .kx-v3-section { padding-block: 6rem; } }
.kx-v3-section--lavande { background: var(--v3-violet-soft); }
.kx-v3-section--creme { background: var(--v3-cream); }
/* Deux sections claires qui se suivent ne doublent pas leur marge. La section « serree » (carte
   pleine largeur) n'a pas de marge propre : celle d'avant et celle d'apres l'encadrent. */
.kx-v3-section:not([class*="--"]) + .kx-v3-section:not([class*="--"]) { padding-top: 0; }
.kx-v3-section--serree { padding-block: 0; }
.kx-v3-section--serree + .kx-v3-section { padding-top: 4rem; }
@media (min-width: 640px) { .kx-v3-section--serree + .kx-v3-section { padding-top: 5rem; } }
@media (min-width: 1024px) { .kx-v3-section--serree + .kx-v3-section { padding-top: 6rem; } }
.kx-v3-wrap { max-width: 88rem; margin-inline: auto; }
.kx-da-v3 .entry-content .kx-v3-wrap { max-width: 88rem !important; margin-inline: auto !important; }

/* Typographie */
.kx-da-v3 .kx-v3-surtitre { margin: 0; font-size: 1rem; font-weight: 600; letter-spacing: -0.005em; color: var(--v3-violet); }
@media (min-width: 640px) { .kx-da-v3 .kx-v3-surtitre { font-size: 1.125rem; } }
.kx-da-v3 .kx-v3-h1, .kx-da-v3 .kx-v3-h2 { margin: 1rem 0 0; font-weight: 600; letter-spacing: -0.04em; color: var(--v3-ink); text-wrap: balance; }
.kx-da-v3 .kx-v3-h1 { font-size: clamp(2.5rem, 5.4vw, 4.75rem); line-height: .98; }
.kx-da-v3 .kx-v3-h2 { font-size: clamp(2.125rem, 3.6vw, 3.5rem); line-height: 1.04; }
/* L'accent : un mot ou deux en italique a empattement */
.kx-da-v3 .kx-v3-h1 em, .kx-da-v3 .kx-v3-h2 em, .kx-da-v3 .kx-v3-fondateur blockquote em {
  font-family: "Newsreader", Georgia, serif; font-style: italic; font-weight: 400; font-size: 1.06em;
  letter-spacing: -0.02em; font-variation-settings: "opsz" 72;
}
.kx-da-v3 .kx-v3-h1 em { color: var(--v3-violet); }
.kx-da-v3 .kx-v3-intro { margin: 1.25rem 0 0; font-size: 1.125rem; line-height: 1.6; color: var(--v3-ink-70); }
/* Le gras : marqueur lavande plein, jamais souligne (sinon il fait lien) */
.kx-da-v3 .kx-v3-intro strong { font-weight: 600; color: var(--v3-violet); background: var(--v3-violet-soft); padding: .02em .18em; margin: 0 -.1em; border-radius: .32em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.kx-da-v3 .kx-v3-section--lavande .kx-v3-intro strong { background: var(--v3-paper); }

/* En-tete de section : titre a gauche, introduction a droite */
.kx-v3-entete { display: grid; gap: 1.25rem; margin-bottom: 2.5rem; }
@media (min-width: 1024px) { .kx-v3-entete { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: end; gap: 4rem; margin-bottom: 3.5rem; } }
.kx-v3-entete .kx-v3-intro { margin: 0; max-width: 34rem; }

/* Bouton : pilule encre, libelle qui roule, fleche qui pivote et prend le violet */
.kx-v3-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.25rem; margin-top: 2rem; }
.kx-da-v3 a.kx-v3-cta { display: inline-flex; align-items: center; gap: .75rem; height: 3.5rem; padding: 0 .5rem 0 1.75rem; border-radius: 9999px; background: var(--v3-ink); color: var(--v3-paper); font-size: 1rem; font-weight: 500; text-decoration: none; transition: background-color .35s ease; }
.kx-da-v3 a.kx-v3-cta:hover { background: #0f1719; color: var(--v3-paper); }
.kx-v3-cta__texte { position: relative; display: inline-block; overflow: hidden; line-height: 1.25; white-space: nowrap; }
.kx-v3-cta__texte > span { display: inline-block; transition: transform .45s cubic-bezier(.65, 0, .35, 1); }
.kx-v3-cta__texte::after { content: attr(data-texte); position: absolute; left: 0; top: 100%; transition: transform .45s cubic-bezier(.65, 0, .35, 1); }
.kx-v3-cta:hover .kx-v3-cta__texte > span, .kx-v3-cta:hover .kx-v3-cta__texte::after { transform: translateY(-100%); }
.kx-v3-cta__fleche { display: flex; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; border-radius: 9999px; background: var(--v3-paper); color: var(--v3-ink); transform: rotate(-45deg); transition: transform .45s cubic-bezier(.65, 0, .35, 1), background-color .35s, color .35s; }
.kx-v3-cta:hover .kx-v3-cta__fleche { transform: none; background: var(--v3-violet); color: var(--v3-paper); }
.kx-v3-cta__fleche svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* --- Hero ---------------------------------------------------------------------- */
.kx-v3-hero { padding-top: 3rem; }
@media (min-width: 1024px) { .kx-v3-hero { padding-top: 4.5rem; } }
.kx-v3-hero__grille { display: grid; gap: 3rem; align-items: center; }
@media (min-width: 1024px) { .kx-v3-hero__grille { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 4rem; } }
.kx-v3-hero__texte .kx-v3-intro { max-width: 36rem; font-size: 1.1875rem; }
.kx-v3-garanties-ligne { display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; margin: 2rem 0 0; padding: 0; list-style: none; font-size: .9375rem; color: var(--v3-ink-70); }
.kx-v3-garanties-ligne li { display: inline-flex; align-items: center; gap: .45rem; margin: 0; }
.kx-v3-garanties-ligne svg { width: 1rem; height: 1rem; flex: none; fill: none; stroke: var(--v3-violet); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.kx-v3-hero__photo { position: relative; margin: 0; }
.kx-v3-hero__photo > img { display: block; width: 100%; aspect-ratio: 4 / 3.3; object-fit: cover; border-radius: 1.75rem; }
.kx-v3-hero__carte { position: absolute; left: 1rem; bottom: 1rem; right: 1rem; display: flex; align-items: center; gap: .85rem; max-width: 24rem; padding: .75rem 1.1rem .75rem .75rem; border-radius: 1.25rem; background: var(--v3-paper); font-size: .875rem; line-height: 1.35; color: var(--v3-ink-70); }
@media (min-width: 640px) { .kx-v3-hero__carte { left: 1.5rem; bottom: 1.5rem; } }
.kx-v3-hero__carte img { width: 3rem; height: 3rem; flex: none; border-radius: 9999px; object-fit: cover; object-position: top; background: var(--v3-violet-soft); }
.kx-v3-hero__carte b { display: block; font-weight: 600; color: var(--v3-ink); }

/* --- Cartes (livrables, demarche, garanties) ----------------------------------- */
.kx-v3-cartes { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .kx-v3-cartes--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } }
@media (min-width: 768px) { .kx-v3-cartes--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; } }
@media (min-width: 1200px) { .kx-v3-cartes--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.kx-v3-cartes > li { margin: 0; }
.kx-da-v3 .kx-v3-cartes h3 { margin: 0; font-size: 1.375rem; font-weight: 600; line-height: 1.2; letter-spacing: -0.025em; color: var(--v3-ink); }
.kx-da-v3 .kx-v3-cartes p { margin: .75rem 0 0; font-size: 1rem; line-height: 1.6; color: var(--v3-ink-70); }

.kx-v3-carte { position: relative; display: flex; flex-direction: column; padding: 1.75rem; border: 1px solid var(--v3-line); border-radius: 1.5rem; background: var(--v3-cream); transition: border-color .35s, transform .45s var(--v3-ease); }
@media (hover: hover) { .kx-v3-carte:hover, .kx-v3-garantie:hover, .kx-v3-etape:not(.kx-v3-etape--marque):hover { transform: translateY(-3px); border-color: var(--v3-ink-30); } }
.kx-v3-carte__num { font-size: 2.75rem; font-weight: 600; line-height: 1; letter-spacing: -0.04em; color: var(--v3-ink-30); font-variant-numeric: tabular-nums; margin-bottom: 1.5rem; }
.kx-v3-carte__visuel { display: flex; margin-top: auto; padding-top: 1.75rem; }
/* Petits visuels, dans le vocabulaire du produit */
.kx-v3-barres { align-items: flex-end; gap: .375rem; height: 5.25rem; }
.kx-v3-barres i { flex: 1; height: calc(var(--v) * 100%); border-radius: .4rem .4rem 0 0; background: rgba(26, 36, 38, 0.14); }
.kx-v3-barres i.is-fort { background: var(--v3-violet); }
.kx-v3-rangs { flex-direction: column; gap: .375rem; }
.kx-v3-rangs i { display: flex; align-items: center; height: 1.6rem; padding-left: .6rem; border-radius: .5rem; background: var(--v3-paper); border: 1px solid var(--v3-line); font-style: normal; font-size: .75rem; font-weight: 600; color: var(--v3-ink-50); }
.kx-v3-rangs i:nth-child(2) { width: 82%; } .kx-v3-rangs i:nth-child(3) { width: 64%; }
.kx-v3-rangs i.is-fort { background: var(--v3-violet); border-color: var(--v3-violet); color: var(--v3-paper); }
.kx-v3-balance { flex-direction: column; gap: .5rem; }
.kx-v3-balance i { display: block; height: .7rem; border-radius: 9999px; background: rgba(26, 36, 38, 0.14); width: 46%; }
.kx-v3-balance i.is-fort { width: 100%; background: var(--v3-violet); }

/* Demarche : trois etapes, la derniere en carte de marque */
.kx-v3-etape { position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 1.75rem; border: 1px solid var(--v3-line); border-radius: 1.5rem; background: var(--v3-paper); transition: border-color .35s, transform .45s var(--v3-ease); }
.kx-v3-pastille { align-self: flex-start; margin-bottom: 1.5rem; padding: .3rem .75rem; border-radius: 9999px; background: var(--v3-violet-soft); font-size: .8125rem; font-weight: 600; color: var(--v3-violet); }
.kx-v3-personne { display: flex; align-items: center; gap: .75rem; margin-top: auto; padding-top: 1.75rem; font-size: .8125rem; line-height: 1.3; color: var(--v3-ink-70); }
.kx-v3-personne img { width: 2.5rem; height: 2.5rem; flex: none; border-radius: 9999px; object-fit: cover; object-position: top; background: var(--v3-violet-soft); }
.kx-v3-personne b { display: block; font-size: .9375rem; font-weight: 600; color: var(--v3-ink); }
.kx-v3-etape--marque { border-color: var(--v3-violet); background: var(--v3-violet); color: var(--v3-paper); }
.kx-v3-etape--marque > :not(.kx-v3-cercles) { position: relative; }
.kx-da-v3 .kx-v3-etape--marque h3 { color: var(--v3-paper); }
.kx-da-v3 .kx-v3-etape--marque p { color: var(--v3-paper); }
.kx-v3-etape--marque .kx-v3-pastille { background: var(--v3-paper-20); color: var(--v3-paper); }
.kx-v3-doc { display: flex; flex-direction: column; gap: .45rem; margin-top: auto; padding: 1rem; border-radius: 1rem; background: var(--v3-paper); }
.kx-v3-etape--marque .kx-v3-doc { margin-top: 1.75rem; }
.kx-v3-doc i { display: block; height: .5rem; border-radius: 9999px; background: rgba(26, 36, 38, 0.14); }
.kx-v3-doc i:first-child { width: 55%; background: var(--v3-violet); }
.kx-v3-doc i:nth-child(3) { width: 72%; }

/* Garanties */
.kx-v3-garantie { padding: 1.75rem; border: 1px solid var(--v3-line); border-radius: 1.5rem; background: var(--v3-cream); transition: border-color .35s, transform .45s var(--v3-ease); }
.kx-v3-garantie svg { display: block; width: 2.75rem; height: 2.75rem; margin-bottom: 1.5rem; padding: .6rem; border-radius: 9999px; background: var(--v3-violet-soft); fill: none; stroke: var(--v3-violet); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.kx-da-v3 .kx-v3-garantie h3 { font-size: 1.1875rem; }
.kx-da-v3 .kx-v3-garantie p { font-size: .9375rem; }

/* --- Agenda (Cal.com) ------------------------------------------------------------- */
.kx-v3-agenda { min-height: 40rem; padding: .5rem; border-radius: 1.75rem; background: var(--v3-paper); border: 1px solid var(--v3-line); }
.kx-v3-agenda .kx-cal { width: 100%; min-height: 39rem; overflow: auto; }

/* --- Le fondateur : carte de marque ----------------------------------------------- */
.kx-v3-fondateur { position: relative; overflow: hidden; display: grid; margin: 0; border-radius: 1.75rem; background: var(--v3-violet); color: var(--v3-paper); }
@media (min-width: 1024px) { .kx-v3-fondateur { grid-template-columns: minmax(0, 1fr) 20rem; grid-template-rows: 1fr auto; column-gap: 3rem; } }
.kx-v3-fondateur > :not(.kx-v3-cercles) { position: relative; }
.kx-da-v3 .kx-v3-fondateur blockquote { margin: 0; padding: 2.5rem 1.75rem 0; border: 0; font-size: clamp(1.625rem, 2.8vw, 2.5rem); font-weight: 500; line-height: 1.2; letter-spacing: -0.025em; color: var(--v3-paper); font-style: normal; }
.kx-da-v3 .kx-v3-fondateur blockquote em { color: var(--v3-violet-30); }
@media (min-width: 640px) { .kx-da-v3 .kx-v3-fondateur blockquote { padding: 3rem 2.5rem 0; } }
@media (min-width: 1024px) { .kx-da-v3 .kx-v3-fondateur blockquote { padding: 3.5rem 0 0 3.5rem; align-self: center; } }
.kx-v3-fondateur figcaption { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1.25rem 2.5rem; margin: 2rem 1.75rem 0; padding: 1.5rem 0 2rem; border-top: 1px solid var(--v3-paper-20); }
@media (min-width: 640px) { .kx-v3-fondateur figcaption { margin-inline: 2.5rem; } }
@media (min-width: 1024px) { .kx-v3-fondateur figcaption { grid-column: 1; margin: 2.5rem 0 0 3.5rem; padding-bottom: 3rem; } }
.kx-v3-fondateur__qui { font-size: .875rem; color: var(--v3-paper-70); line-height: 1.4; }
.kx-v3-fondateur__qui b { display: block; font-size: 1.125rem; font-weight: 600; color: var(--v3-paper); }
.kx-v3-fondateur dl { display: flex; gap: 2rem; margin: 0; }
.kx-v3-fondateur dl div { max-width: 11rem; }
.kx-v3-fondateur dt { font-size: 1.375rem; font-weight: 600; line-height: 1; color: var(--v3-paper); font-variant-numeric: tabular-nums; }
.kx-v3-fondateur dd { margin: .4rem 0 0; font-size: .75rem; line-height: 1.35; color: var(--v3-paper-70); }
.kx-v3-fondateur__photo { justify-self: center; align-self: end; display: block; width: 16rem; height: 20rem; overflow: hidden; border-radius: 1.5rem 1.5rem 0 0; background: var(--v3-violet-soft); }
@media (min-width: 1024px) { .kx-v3-fondateur__photo { grid-column: 2; grid-row: 1 / span 2; width: 100%; height: 25rem; margin-top: 3rem; margin-right: 3rem; justify-self: stretch; width: calc(100% - 3rem); } }
.kx-v3-fondateur__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }

/* Cercles ton sur ton de la maquette produit, en derive lente */
.kx-v3-cercles { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.kx-v3-cercles i { position: absolute; aspect-ratio: 1; border-radius: 9999px; background: rgba(38, 15, 107, 0.25); }
.kx-v3-cercles i:nth-child(1) { right: -10%; top: -30%; width: 46%; animation: kxV3Derive1 14s ease-in-out infinite alternate; }
.kx-v3-cercles i:nth-child(2) { right: 22%; top: 34%; width: 24%; animation: kxV3Derive2 11s ease-in-out infinite alternate; }
.kx-v3-cercles i:nth-child(3) { right: -14%; bottom: -42%; width: 52%; animation: kxV3Derive3 17s ease-in-out infinite alternate; }
@keyframes kxV3Derive1 { to { transform: translate(-8%, 10%) scale(1.08); } }
@keyframes kxV3Derive2 { to { transform: translate(18%, -14%) scale(.86); } }
@keyframes kxV3Derive3 { to { transform: translate(-12%, -8%) scale(1.12); } }

/* --- FAQ ------------------------------------------------------------------------------ */
.kx-v3-faq { display: grid; gap: 2.5rem; }
@media (min-width: 1024px) { .kx-v3-faq { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 4rem; } }
.kx-v3-faq__liste { border-top: 1px solid rgba(26, 36, 38, 0.1); }
.kx-v3-faq__liste details { border-bottom: 1px solid rgba(26, 36, 38, 0.1); }
.kx-da-v3 .kx-v3-faq__liste summary { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.25rem 0; list-style: none; cursor: pointer; font-size: 1.125rem; font-weight: 600; letter-spacing: -0.01em; color: var(--v3-ink); }
.kx-v3-faq__liste summary::-webkit-details-marker { display: none; }
.kx-v3-faq__liste summary > span { position: relative; flex: none; width: 2.25rem; height: 2.25rem; border-radius: 9999px; background: var(--v3-paper); transition: background-color .3s, transform .3s; }
.kx-v3-faq__liste summary > span::before, .kx-v3-faq__liste summary > span::after { content: ""; position: absolute; left: 50%; top: 50%; width: .875rem; height: 1.6px; margin: -.8px 0 0 -.4375rem; border-radius: 2px; background: var(--v3-ink); transition: background-color .3s; }
.kx-v3-faq__liste summary > span::after { transform: rotate(90deg); }
.kx-v3-faq__liste details[open] summary > span { background: var(--v3-violet); transform: rotate(45deg); }
.kx-v3-faq__liste details[open] summary > span::before, .kx-v3-faq__liste details[open] summary > span::after { background: var(--v3-paper); }
.kx-da-v3 .kx-v3-faq__liste details p { margin: 0; padding: 0 3.5rem 1.25rem 0; font-size: 1rem; line-height: 1.6; color: var(--v3-ink-70); }

/* --- Pages legales : en-tete court, sommaire des pages legales, texte de lecture ------------- */
.kx-v3-legal-tete { padding-bottom: 2.5rem; }
@media (min-width: 1024px) { .kx-v3-legal-tete { padding-top: 4.5rem; padding-bottom: 3.5rem; } }
.kx-da-v3 .kx-v3-h1--page { font-size: clamp(2.5rem, 4.6vw, 4rem); line-height: 1; }
.kx-da-v3 .kx-v3-legal__maj { margin: 1.25rem 0 0; font-size: .9375rem; color: var(--v3-ink-50); }
.kx-v3-legal-tete + .kx-v3-legal { padding-top: 0; }
.kx-v3-legal__grille { display: grid; gap: 2rem; border-top: 1px solid var(--v3-line); padding-top: 2.5rem; }
@media (min-width: 1024px) { .kx-v3-legal__grille { grid-template-columns: 16rem minmax(0, 46rem); gap: 5rem; padding-top: 3.5rem; } }
.kx-da-v3 .entry-content .kx-v3-legal__nav ul { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 1024px) { .kx-da-v3 .entry-content .kx-v3-legal__nav ul { position: sticky; top: 6rem; flex-direction: column; } }
.kx-v3-legal__nav li { margin: 0; }
.kx-da-v3 .kx-v3-legal__nav a { display: inline-flex; padding: .5rem .9rem; border-radius: 9999px; border: 1px solid var(--v3-line); font-size: .9375rem; font-weight: 500; color: var(--v3-ink-70); text-decoration: none; transition: border-color .25s, color .25s, background-color .25s; }
.kx-da-v3 .kx-v3-legal__nav a:hover { border-color: var(--v3-ink-30); color: var(--v3-ink); }
.kx-da-v3 .kx-v3-legal__nav a[aria-current="page"] { background: var(--v3-ink); border-color: var(--v3-ink); color: var(--v3-paper); }
.kx-da-v3 .kx-v3-legal__texte h2 { margin: 2.75rem 0 0; font-size: 1.5rem; font-weight: 600; line-height: 1.2; letter-spacing: -0.025em; color: var(--v3-ink); }
.kx-da-v3 .kx-v3-legal__texte h2:first-child { margin-top: 0; }
.kx-da-v3 .kx-v3-legal__texte p { margin: .9rem 0 0; font-size: 1.0625rem; line-height: 1.7; color: var(--v3-ink-70); }
.kx-da-v3 .kx-v3-legal__texte > p:first-child { margin-top: 0; font-size: 1.1875rem; color: var(--v3-ink); }
.kx-da-v3 .kx-v3-legal__texte a { color: var(--v3-violet); text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
/* Champ a completer avant la mise en ligne definitive : visible, sans ambiguite */
.kx-da-v3 .kx-v3-a-completer { padding: .05em .4em; border-radius: .35em; background: #FFF3D6; color: #8A6300; font-weight: 600; }

@media (prefers-reduced-motion: reduce) {
  .kx-v3-cercles i { animation: none; }
  .kx-v3-cta__texte > span, .kx-v3-cta__texte::after, .kx-v3-cta__fleche, .kx-v3-carte, .kx-v3-garantie, .kx-v3-etape { transition: none; }
}
/* ==========================================================================
   3. Les gabarits kx- existants (pages SEO d'Aurore), habilles en v3
   Pilote : gabarit Secteur (/secteurs/ia-reseaux-franchises/). Le contenu ne bouge pas ;
   seule la presentation change : memes fonds, meme colonne, memes titres, memes boutons,
   memes cartes plates que la home. Tout le decor v1 est retire (halos, blob de marque,
   reflet des boutons, pastilles mono en capitales, pulsation du bouton).
   ========================================================================== */

/* Decors v1 retires */
.kx-da-v3 [class*="kx-blob--"]::after,
.kx-da-v3 .kx-section:has(> .kx-faq__item)::after,
.kx-da-v3 .kx-section:has(.kx-cta)::before,
.kx-da-v3 .kx-section:has(.kx-databox)::after,
.kx-da-v3 .kx-hero::before,
.kx-da-v3 .kx-souv::after { display: none !important; }

/* Sections : papier, lavande ou encre ; la colonne de la home (88rem, gouttieres dehors) */
.kx-da-v3.kx-body .kx-section {
  padding-block: 4rem;
  padding-left: max(var(--v3-gouttiere), calc((100% - 88rem) / 2)) !important;
  padding-right: max(var(--v3-gouttiere), calc((100% - 88rem) / 2)) !important;
  background: var(--v3-paper); color: var(--v3-ink);
}
@media (min-width: 640px) { .kx-da-v3.kx-body .kx-section { padding-block: 5rem; } }
@media (min-width: 1024px) { .kx-da-v3.kx-body .kx-section { padding-block: 6rem; } }
.kx-da-v3 .kx-section > * { max-width: none; }
.kx-da-v3.kx-body .kx-section--light { background: var(--v3-paper); }
.kx-da-v3.kx-body .kx-section--lavender { background: var(--v3-violet-soft); }
.kx-da-v3.kx-body .kx-section--dark { background: var(--v3-ink); color: var(--v3-paper); }
/* Deux sections claires de suite ne doublent pas leur marge */
.kx-da-v3.kx-body .kx-section--light + .kx-section--light,
.kx-da-v3.kx-body .entry-content > .kx-section:first-child + .kx-section--light { padding-top: 0; }

/* Le hero (premiere section) passe en clair, comme la home */
.kx-da-v3.kx-body .entry-content > .kx-section:first-child { background: var(--v3-paper); color: var(--v3-ink); padding-top: 3rem; }
@media (min-width: 1024px) { .kx-da-v3.kx-body .entry-content > .kx-section:first-child { padding-top: 4.5rem; } }

/* Surtitre : texte violet, sans pastille (la ou le mot IA a le droit d'apparaitre) */
.kx-da-v3 .kx-eyebrow,
.kx-da-v3 .kx-eyebrow--dark,
.kx-da-v3 .kx-cta-band .kx-eyebrow {
  display: inline-block; padding: 0; margin: 0; background: none; border-radius: 0;
  font-family: inherit; font-size: 1rem; font-weight: 600; letter-spacing: -0.005em; text-transform: none;
  color: var(--v3-violet);
}
@media (min-width: 640px) { .kx-da-v3 .kx-eyebrow { font-size: 1.125rem; } }
.kx-da-v3 .kx-eyebrow::before { content: none; }
.kx-da-v3 .kx-section--dark .kx-eyebrow, .kx-da-v3 .kx-cta-band .kx-eyebrow { color: var(--v3-violet-30); }
.kx-da-v3.kx-body .entry-content > .kx-section:first-child .kx-eyebrow { color: var(--v3-violet); }

/* Titres : Inter 600 serre ; la 2e ligne (<strong>) devient l'accent en italique a empattement */
.kx-da-v3 .kx-h1, .kx-da-v3 .kx-h2 {
  margin: 1rem 0 0; font-weight: 600; letter-spacing: -0.04em; line-height: 1.04;
  color: var(--v3-ink) !important; text-wrap: balance; max-width: 56rem;
}
.kx-da-v3 .kx-h1 { font-size: clamp(2.5rem, 4.4vw, 4.25rem); line-height: 1; }
.kx-da-v3 .kx-h2 { font-size: clamp(2.125rem, 3.6vw, 3.5rem); }
.kx-da-v3 :is(.kx-h1, .kx-h2) strong {
  font-family: "Newsreader", Georgia, serif; font-style: italic; font-weight: 400; font-size: 1.06em;
  letter-spacing: -0.02em; font-variation-settings: "opsz" 72; color: inherit !important;
}
.kx-da-v3 .kx-h1 strong { color: var(--v3-violet) !important; }
.kx-da-v3 .kx-section--dark :is(.kx-h1, .kx-h2), .kx-da-v3 .kx-cta-band .kx-h2 { color: var(--v3-paper) !important; }
.kx-da-v3 .kx-section--dark :is(.kx-h1, .kx-h2) strong, .kx-da-v3 .kx-cta-band .kx-h2 strong { color: var(--v3-violet-30) !important; }
.kx-da-v3.kx-body .entry-content > .kx-section:first-child :is(.kx-h1, .kx-h2) { color: var(--v3-ink) !important; }
.kx-da-v3.kx-body .entry-content > .kx-section:first-child .kx-h1 strong { color: var(--v3-violet) !important; }

/* Textes : intro a 18 px, paragraphes a 17 px, largeur de lecture */
.kx-da-v3 .kx-intro { margin-top: 1.25rem; font-size: 1.125rem; line-height: 1.6; color: var(--v3-ink-70); max-width: 36rem; }
.kx-da-v3 .kx-intro--wide { max-width: 46rem; }
.kx-da-v3 .kx-section > p.wp-block-paragraph:not(.kx-intro):not(.kx-eyebrow):not(.kx-h2),
.kx-da-v3 .kx-section .wp-block-column > p.wp-block-paragraph:not(.kx-intro):not(.kx-eyebrow):not(.kx-h2):not(.kx-stat__num):not(.kx-stat__label),
.kx-da-v3 .kx-textbas p {
  max-width: 46rem; font-size: 1.0625rem; line-height: 1.7; color: var(--v3-ink-70);
}
.kx-da-v3.kx-body .kx-section--dark :is(.kx-intro, p.wp-block-paragraph) { color: rgba(250, 248, 244, 0.72); }
.kx-da-v3.kx-body .entry-content > .kx-section:first-child .kx-intro { color: var(--v3-ink-70); font-size: 1.1875rem; }
.kx-da-v3.kx-body .kx-section p a:not(.wp-block-button__link):not(.kx-mesh__link) { color: var(--v3-violet); background: none; text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.kx-da-v3.kx-body .kx-section--dark p a:not(.wp-block-button__link):not(.kx-mesh__link) { color: var(--v3-violet-30); }

/* En-tete de bloc : titre a gauche, introduction a droite */
.kx-da-v3 .kx-head { gap: 1.25rem 4rem; margin-bottom: 0; }
.kx-da-v3 .kx-head .kx-intro { margin-top: 0; }
.kx-da-v3 .kx-head--center { max-width: 48rem; margin-bottom: 2.5rem; }
.kx-da-v3 .kx-head--center .kx-h2 { margin-inline: auto; }

/* Boutons : la pilule encre de la home, fleche dans une pastille ; contour pour le second */
.kx-da-v3 .kx-btn .wp-block-button__link {
  display: inline-flex; align-items: center; gap: .75rem; height: 3.5rem;
  padding: 0 .5rem 0 1.75rem; border: 0; border-radius: 9999px;
  background: var(--v3-ink); color: var(--v3-paper);
  font-size: 1rem; font-weight: 500; letter-spacing: 0; text-transform: none;
  box-shadow: none; animation: none; transform: none; overflow: visible; transition: background-color .35s;
}
.kx-da-v3 .kx-btn .wp-block-button__link::after {
  content: ""; position: static; flex: none; width: 2.5rem; height: 2.5rem; opacity: 1; border-radius: 9999px;
  transform: rotate(-45deg); animation: none;
  background: var(--v3-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A2426' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 1rem no-repeat;
  transition: transform .45s cubic-bezier(.65, 0, .35, 1), background-color .35s;
}
.kx-da-v3.kx-body .kx-btn .wp-block-button__link:hover,
.kx-da-v3.kx-body .kx-btn .wp-block-button__link:focus { background: #0f1719; color: var(--v3-paper); box-shadow: none; transform: none; animation: none; }
.kx-da-v3 .kx-btn .wp-block-button__link:hover::after {
  transform: none; animation: none;
  background: var(--v3-violet) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FAF8F4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 1rem no-repeat;
}
/* Bouton secondaire : contour, sans pastille */
.kx-da-v3 :is(.kx-btn--outline-light, .kx-btn--outline-dark) .wp-block-button__link { padding: 0 1.75rem; background: transparent; color: var(--v3-ink); border: 1px solid var(--v3-ink); }
.kx-da-v3 :is(.kx-btn--outline-light, .kx-btn--outline-dark) .wp-block-button__link::after { content: none; }
.kx-da-v3.kx-body :is(.kx-btn--outline-light, .kx-btn--outline-dark) .wp-block-button__link:hover,
.kx-da-v3.kx-body :is(.kx-btn--outline-light, .kx-btn--outline-dark) .wp-block-button__link:focus { background: var(--v3-ink); color: var(--v3-paper); }
/* Sur fond encre ou violet : pilule papier */
.kx-da-v3 :is(.kx-section--dark:not(:first-child), .kx-cta-band) .kx-btn:not(.kx-btn--outline-light):not(.kx-btn--outline-dark) .wp-block-button__link { background: var(--v3-paper); color: var(--v3-ink); }
.kx-da-v3 :is(.kx-section--dark:not(:first-child), .kx-cta-band) .kx-btn:not(.kx-btn--outline-light):not(.kx-btn--outline-dark) .wp-block-button__link::after {
  background: var(--v3-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FAF8F4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 1rem no-repeat;
}
.kx-da-v3.kx-body :is(.kx-section--dark:not(:first-child), .kx-cta-band) .kx-btn:not(.kx-btn--outline-light):not(.kx-btn--outline-dark) .wp-block-button__link:hover { background: var(--v3-violet-soft); color: var(--v3-ink); }
.kx-da-v3 .kx-section--dark:not(:first-child) :is(.kx-btn--outline-light, .kx-btn--outline-dark) .wp-block-button__link { color: var(--v3-paper); border-color: rgba(250, 248, 244, 0.4); }
.kx-da-v3 .wp-block-buttons { gap: 1rem 1.25rem; margin-top: 2rem; }

/* Images : coins de la home, sans ombre */
.kx-da-v3 .kx-media img { border-radius: 1.75rem; box-shadow: none; }
.kx-da-v3 .kx-media--band, .kx-da-v3 .kx-media--col { box-shadow: none; border-radius: 1.75rem; }

/* Chiffres ou reperes cles : un trait violet, puis le repere, separes par des filets */
.kx-da-v3.kx-body .kx-stat__num { font-size: clamp(1.625rem, 2.4vw, 2.25rem); font-weight: 600; letter-spacing: -0.035em; line-height: 1.1; color: var(--v3-ink); }
.kx-da-v3 .kx-stat__num::before { width: 4rem; height: 3px; margin-bottom: 1.25rem; border-radius: 9999px; -webkit-mask: none; mask: none; background-color: var(--v3-violet); }
.kx-da-v3.kx-body .kx-section--dark .kx-stat__num { color: var(--v3-paper); }
.kx-da-v3 .kx-section--dark .kx-stat__num::before { background-color: var(--v3-violet-30); }
.kx-da-v3 .kx-stat__label { font-size: 1rem; color: var(--v3-ink-70); }
@media (min-width: 1024px) {
  .kx-da-v3 .wp-block-column:has(> .kx-stat__num) + .wp-block-column:has(> .kx-stat__num) { border-left: 1px solid var(--v3-line); padding-left: 2rem; }
}

/* Grilles et cartes : plates, creme, filet fin */
.kx-da-v3 .kx-grid { gap: 1.5rem; margin-top: 3rem; }
.kx-da-v3 .kx-grid + .kx-grid { margin-top: 1.5rem; }
.kx-da-v3 .kx-card {
  padding: 1.75rem; border-radius: 1.5rem; background: var(--v3-cream); border: 1px solid var(--v3-line);
  box-shadow: none; transition: transform .45s var(--v3-ease), border-color .35s;
}
.kx-da-v3 .kx-section--lavender .kx-card { background: var(--v3-paper); }
@media (hover: hover) { .kx-da-v3 .kx-card:hover { transform: translateY(-3px); border-color: var(--v3-ink-30); box-shadow: none; } }
.kx-da-v3 .kx-card--dark, .kx-da-v3 .kx-section--dark .kx-card { background: rgba(250, 248, 244, 0.06); border-color: rgba(250, 248, 244, 0.14); color: var(--v3-paper); }
@media (hover: hover) { .kx-da-v3 :is(.kx-card--dark, .kx-section--dark .kx-card):hover { border-color: rgba(250, 248, 244, 0.4); } }
.kx-da-v3.kx-body .kx-card :where(h2, h3, h4) { font-size: 1.375rem; font-weight: 600; line-height: 1.2; letter-spacing: -0.025em; color: var(--v3-ink); }
.kx-da-v3.kx-body :is(.kx-card--dark, .kx-section--dark .kx-card) :where(h2, h3, h4) { color: var(--v3-paper); }
.kx-da-v3.kx-body .kx-card :where(h2, h3, h4) a { color: inherit; text-decoration: none; background: none; }
.kx-da-v3 .kx-card :where(h2, h3, h4) a::after { content: " \2192"; font-weight: 400; color: var(--v3-violet); }
.kx-da-v3 :is(.kx-card--dark, .kx-section--dark .kx-card) :where(h2, h3, h4) a::after { color: var(--v3-violet-30); }
.kx-da-v3.kx-body .kx-card p { font-size: 1rem; line-height: 1.6; color: var(--v3-ink-70); }
.kx-da-v3.kx-body :is(.kx-card--dark, .kx-section--dark .kx-card) p { color: rgba(250, 248, 244, 0.72); }
.kx-da-v3.kx-body .kx-card :where(p, h2, h3, h4, ul, ol) + :where(p, h2, h3, h4, ul, ol) { margin-top: .75rem; }

/* Listes : pastilles lavande */
.kx-da-v3 .kx-checklist--ordered li::before { background: var(--v3-violet-soft); color: var(--v3-violet); font-size: .8125rem; font-weight: 600; }
.kx-da-v3 .kx-checklist:not(.kx-checklist--ordered) li::before { background-color: var(--v3-violet-soft); }
.kx-da-v3 :is(.kx-checklist, .kx-checklist--ordered) { max-width: 46rem; color: var(--v3-ink); }
.kx-da-v3 .kx-section--dark :is(.kx-checklist, .kx-checklist--ordered) { color: var(--v3-paper); }

/* Bande d'appel a l'action : aplat violet de marque, cercles ton sur ton */
.kx-da-v3.kx-body .kx-cta-band { background: var(--v3-violet) !important; color: var(--v3-paper); }
.kx-da-v3 .kx-cta-band::before, .kx-da-v3 .kx-cta-band::after {
  content: ""; position: absolute; z-index: 0; border-radius: 9999px; aspect-ratio: 1; opacity: 1; translate: none;
  background: rgba(38, 15, 107, 0.25); -webkit-mask: none; mask: none; pointer-events: none;
}
.kx-da-v3 .kx-cta-band::before { inset: auto; right: -6%; top: -45%; width: 34%; animation: kxV3Derive1 14s ease-in-out infinite alternate; }
.kx-da-v3 .kx-cta-band::after { inset: auto; left: -8%; bottom: -60%; width: 30%; animation: kxV3Derive3 17s ease-in-out infinite alternate; }
.kx-da-v3.kx-body .kx-cta-band .kx-intro { color: rgba(250, 248, 244, 0.8); }
.kx-da-v3.kx-body .kx-cta-band__meta { font-family: inherit; font-size: .9375rem; letter-spacing: 0; text-transform: none; color: rgba(250, 248, 244, 0.8); }
.kx-da-v3 .kx-cta-band__meta li::before { background: var(--v3-violet-30); }

/* Citation : sur l'encre, a plat, portrait rond */
.kx-da-v3 .kx-quote-row, .kx-da-v3 .kx-section--dark .kx-quote-row { max-width: 60rem; padding: 0; background: none; box-shadow: none; }
.kx-da-v3 .kx-quote-avatar { box-shadow: none; background: var(--v3-violet-soft); }
.kx-da-v3.kx-body .kx-quote { font-size: clamp(1.5rem, 2.6vw, 2.25rem); font-weight: 500; line-height: 1.25; letter-spacing: -0.025em; color: var(--v3-ink); }
.kx-da-v3.kx-body .kx-section--dark .kx-quote { color: var(--v3-paper); }
.kx-da-v3.kx-body .kx-quote__author { font-size: .9375rem; color: var(--v3-violet); }
.kx-da-v3.kx-body .kx-section--dark .kx-quote__author { color: var(--v3-violet-30); }

/* FAQ : questions a 18 px, pastille + qui tourne et passe au violet */
.kx-da-v3 .kx-faq__item { border-color: rgba(26, 36, 38, 0.1); }
.kx-da-v3 .kx-head + .kx-faq__item, .kx-da-v3 .kx-faq__item:first-of-type { border-top: 1px solid rgba(26, 36, 38, 0.1); }
.kx-da-v3 .kx-faq__item > summary { color: var(--v3-ink); letter-spacing: -0.01em; }
.kx-da-v3 .kx-faq__item > summary::after { width: 2.25rem; height: 2.25rem; background: var(--v3-cream); color: var(--v3-ink); font-size: 1.25rem; }
.kx-da-v3 .kx-section--lavender .kx-faq__item > summary::after { background: var(--v3-paper); }
.kx-da-v3 .kx-faq__item[open] > summary::after { background: var(--v3-violet); color: var(--v3-paper); }
.kx-da-v3 .kx-faq__item > *:not(summary) { color: var(--v3-ink-70); font-size: 1rem; }

/* Maillage interne : cartes papier au filet fin */
.kx-da-v3 .kx-mesh__link { border-radius: 1rem; background: var(--v3-paper); box-shadow: none; border: 1px solid var(--v3-line); color: var(--v3-ink); padding: 1rem 1.25rem; }
.kx-da-v3 .kx-mesh__link:hover { transform: translateY(-2px); box-shadow: none; border-color: var(--v3-ink-30); color: var(--v3-violet); }
.kx-da-v3 .kx-section--dark .kx-mesh__link { background: rgba(250, 248, 244, 0.06); border-color: rgba(250, 248, 244, 0.14); color: var(--v3-paper); }

/* CTA final sur fond clair : sans halo */
.kx-da-v3.kx-body .kx-section:has(.kx-cta) { background: var(--v3-paper) !important; }

@media (prefers-reduced-motion: reduce) { .kx-da-v3 .kx-cta-band::before, .kx-da-v3 .kx-cta-band::after { animation: none; } }

/* Alignement : dans une section, le contenu part du bord gauche de la colonne (WordPress centrait
   chaque bloc dans sa propre largeur) ; seuls les blocs faits pour etre centres le restent. */
.kx-da-v3.kx-body .kx-section > * { margin-left: 0 !important; margin-right: auto !important; }
.kx-da-v3.kx-body .kx-section > :is(.kx-head--center, .kx-faq__item, .kx-quote-row, .kx-cta-band__in, .kx-cta) { margin-left: auto !important; margin-right: auto !important; }
/* Texte courant sur fond encre : papier a 72 % (la regle claire, plus precise, l'emportait) */
.kx-da-v3.kx-body .kx-section--dark > p.wp-block-paragraph:not(.kx-intro):not(.kx-eyebrow):not(.kx-h2),
.kx-da-v3.kx-body .kx-section--dark .wp-block-column > p.wp-block-paragraph:not(.kx-intro):not(.kx-eyebrow):not(.kx-h2):not(.kx-stat__num):not(.kx-stat__label),
.kx-da-v3.kx-body .kx-section--dark .kx-textbas p { color: rgba(250, 248, 244, 0.72); }
/* Derniere bande d'appel a l'action : meme rythme que les autres sections */
.kx-da-v3.kx-body .kx-section:has(.kx-cta) { padding-block: 6rem !important; }
/* Titres des blocs centres (bande d'appel a l'action, en-tetes centres) : centres eux aussi */
.kx-da-v3 :is(.kx-cta-band__in, .kx-head--center, .kx-cta) :is(.kx-h2, .kx-intro) { margin-left: auto; margin-right: auto; text-align: center; }
/* Liste numerotee (parcours en etapes), complete : le gabarit ne pose que la classe de variante,
   sans .kx-checklist, donc sans la position de la pastille. Filet plat, sans degrade. */
.kx-da-v3.kx-body .kx-checklist--ordered { display: flex; flex-direction: column; gap: 0; margin: 2rem 0 0 !important; padding: 0; list-style: none; counter-reset: kx; }
.kx-da-v3.kx-body .kx-checklist--ordered li { position: relative; margin: 0; padding: 1rem 0 1rem 3.5rem; list-style: none; font-size: 1.0625rem; line-height: 1.5; color: var(--v3-ink); border-bottom: 1px solid var(--v3-line); }
.kx-da-v3.kx-body .kx-checklist--ordered li:last-child { border-bottom: 0; }
.kx-da-v3.kx-body .kx-checklist--ordered li::marker { content: none; }
.kx-da-v3.kx-body .kx-checklist--ordered li::before {
  counter-increment: kx; content: counter(kx); position: absolute; left: 0; top: .75rem;
  display: flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 9999px;
  background: var(--v3-violet-soft); background-image: none; color: var(--v3-violet); font-size: .875rem; font-weight: 600;
}
.kx-da-v3.kx-body .kx-checklist--ordered li:not(:last-child)::after { content: ""; position: absolute; left: 1.08rem; top: 3.1rem; bottom: -.6rem; width: 2px; background: var(--v3-violet-soft); }
.kx-da-v3.kx-body .kx-section--lavender .kx-checklist--ordered li::before, .kx-da-v3.kx-body .kx-section--lavender .kx-checklist--ordered li:not(:last-child)::after { background: var(--v3-paper); }
.kx-da-v3.kx-body .kx-section--dark .kx-checklist--ordered li { color: var(--v3-paper); border-bottom-color: rgba(250, 248, 244, 0.14); }
.kx-da-v3.kx-body .kx-section--dark .kx-checklist--ordered li::before { background: rgba(250, 248, 244, 0.12); color: var(--v3-paper); }
.kx-da-v3.kx-body .kx-section--dark .kx-checklist--ordered li:not(:last-child)::after { background: rgba(250, 248, 244, 0.14); }
/* Citation sur fond encre : texte papier plein, auteur en lavande (la regle du texte courant l'emportait) */
.kx-da-v3.kx-body .kx-section--dark p.kx-quote { color: var(--v3-paper); }
.kx-da-v3.kx-body .kx-section--dark p.kx-quote__author { color: var(--v3-violet-30); }

/* ==========================================================================
   4. Page secteur refaite en v3 (pilote : /secteurs/ia-reseaux-franchises/, retour de Thomas
   du 26/09 : « inspire-toi de Deel et Sana, prends le temps pour chaque section »).
   Hero de la home (photo et cartes produit), cas client DOMetVIE (chiffres a la Sana, recit en
   quatre temps a la Deel), mises en page editoriales a titre fixe, scenes produit face au texte,
   mini-interfaces dans les cartes, frise de la methode. Le texte SEO est garde mot pour mot.
   ========================================================================== */

/* Fonds supplementaires : encre et violet de marque */
.kx-v3-section--encre { background: var(--v3-ink); color: var(--v3-paper); }
.kx-v3-section--violet { position: relative; overflow: hidden; background: var(--v3-violet); color: var(--v3-paper); }
.kx-v3-section--violet > .kx-v3-wrap { position: relative; }
.kx-da-v3 :is(.kx-v3-section--encre, .kx-v3-section--violet) :is(.kx-v3-h2, .kx-v3-h1) { color: var(--v3-paper); }
.kx-da-v3 :is(.kx-v3-section--encre, .kx-v3-section--violet) .kx-v3-h2 em { color: var(--v3-violet-30); }
.kx-da-v3 :is(.kx-v3-section--encre, .kx-v3-section--violet) .kx-v3-surtitre { color: var(--v3-violet-30); }
.kx-da-v3 :is(.kx-v3-section--encre, .kx-v3-section--violet) :is(.kx-v3-intro, p) { color: rgba(250, 248, 244, 0.74); }
.kx-da-v3 .kx-v3-section--violet .kx-v3-intro { color: rgba(250, 248, 244, 0.86); }

/* Boutons : contour, et pilule claire sur fond sombre */
.kx-da-v3 a.kx-v3-cta--contour { padding: 0 1.75rem; background: transparent; color: var(--v3-ink); box-shadow: inset 0 0 0 1px var(--v3-ink); }
.kx-da-v3 a.kx-v3-cta--contour:hover { background: var(--v3-ink); color: var(--v3-paper); }
.kx-da-v3 a.kx-v3-cta--clair { background: var(--v3-paper); color: var(--v3-ink); }
.kx-da-v3 a.kx-v3-cta--clair:hover { background: var(--v3-violet-soft); color: var(--v3-ink); }
.kx-da-v3 .kx-v3-cta--clair .kx-v3-cta__fleche { background: var(--v3-ink); color: var(--v3-paper); }
.kx-v3-actions--centre { justify-content: center; }

/* Reassurance en ligne, separee par des filets */
.kx-da-v3 .entry-content .kx-v3-reassurance { display: flex; flex-wrap: wrap; gap: .5rem 0; margin: 1.75rem 0 0; padding: 0; list-style: none; font-size: .9375rem; color: var(--v3-ink-70); }
.kx-v3-reassurance li { margin: 0; padding: 0 1rem; border-left: 1px solid var(--v3-line); }
.kx-v3-reassurance li:first-child { padding-left: 0; border-left: 0; }
.kx-v3-reassurance b { font-weight: 600; color: var(--v3-ink); }
.kx-da-v3 .entry-content .kx-v3-reassurance--clair { color: rgba(250, 248, 244, 0.86); }
.kx-v3-reassurance--clair li { border-color: rgba(250, 248, 244, 0.3); }

/* --- Hero secteur : la composition de la home (texte a gauche, scene produit a droite) --- */
.kx-da-v3 .kx-v3-h1--long { font-size: clamp(2.5rem, 4.1vw, 4rem); line-height: 1.02; }
@media (min-width: 1024px) {
  .kx-v3-hero__grille--secteur { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: stretch; gap: 3.5rem; }
}
.kx-v3-hero__grille--secteur .kx-v3-hero__texte { align-self: center; }
.kx-v3-hero--secteur .kx-v3-intro { font-size: 1.125rem; max-width: 40rem; }

.kx-v3-scene { position: relative; min-height: 34rem; margin: 0; overflow: hidden; border-radius: 1.75rem; background: var(--v3-line); }
@media (min-width: 1024px) { .kx-v3-scene { min-height: 40rem; } }
.kx-v3-scene__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; animation: kxV3Pose 1.6s var(--v3-ease) both; }
@keyframes kxV3Pose { from { opacity: 0; transform: scale(1.06); } to { opacity: 1; transform: none; } }

.kx-v3-flot { position: absolute; animation: kxV3Entre .9s var(--v3-ease) both; }
.kx-v3-flot > * { animation: kxV3Flotte 7s ease-in-out 2s infinite; }
.kx-v3-flot--1 { left: 1rem; top: 1rem; animation-delay: .5s; }
.kx-v3-flot--2 { right: 1.5rem; top: 1.5rem; display: none; animation-delay: .75s; }
.kx-v3-flot--2 > * { animation-duration: 8.5s; animation-delay: 2.6s; }
.kx-v3-flot--3 { left: 1rem; right: 1rem; bottom: 1rem; animation-delay: 1s; }
.kx-v3-flot--3 > * { animation-duration: 9.5s; animation-delay: 3.1s; }
@media (min-width: 640px) { .kx-v3-flot--1 { left: 1.5rem; top: 1.5rem; } .kx-v3-flot--3 { left: 1.5rem; right: 1.5rem; bottom: 1.5rem; } }
@media (min-width: 1280px) { .kx-v3-flot--2 { display: block; } }
@keyframes kxV3Entre { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes kxV3Flotte { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }

.kx-v3-carte-ui { border-radius: 1rem; background: var(--v3-paper); color: var(--v3-ink); }
.kx-da-v3 .kx-v3-carte-ui p { margin: 0; }
.kx-v3-sante { display: flex; align-items: center; gap: 1rem; padding: .75rem 1rem; }
.kx-v3-sante small { display: block; font-size: .75rem; color: var(--v3-ink-70); }
.kx-v3-sante b { display: block; font-size: 1.5rem; font-weight: 600; line-height: 1.75rem; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.kx-v3-sante svg { width: 5rem; height: 1.9rem; }
.kx-v3-sante path { fill: none; stroke: #3F858F; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 140; stroke-dashoffset: 140; animation: kxV3Trace 1.6s var(--v3-ease) 1.2s forwards; }
@keyframes kxV3Trace { to { stroke-dashoffset: 0; } }

.kx-v3-grille-pdv { display: flex; flex-direction: column; gap: .6rem; padding: .85rem; }
.kx-da-v3 .kx-v3-grille-pdv > p { display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-size: .75rem; }
.kx-v3-alerte { display: inline-flex; align-items: center; gap: .35rem; padding: .1rem .5rem; border-radius: .4rem; background: #FAEAE5; color: #B4213F; font-weight: 500; white-space: nowrap; }
.kx-v3-alerte::before { content: ""; width: .375rem; height: .375rem; border-radius: 9999px; background: #DB1239; }
.kx-v3-tuiles { display: grid; grid-template-columns: repeat(15, 10px); gap: 4px; }
.kx-v3-tuiles i { display: block; aspect-ratio: 1; border-radius: 2px; background: rgba(63, 133, 143, 0.45); animation: kxV3Tuile .5s var(--v3-ease) both; }
.kx-v3-tuiles i:nth-child(3n) { animation-delay: 1.2s; } .kx-v3-tuiles i:nth-child(3n+1) { animation-delay: 1.35s; } .kx-v3-tuiles i:nth-child(3n+2) { animation-delay: 1.5s; }
.kx-v3-tuiles i.r { background: #DB1239; animation: kxV3Tuile .5s var(--v3-ease) 1.8s both, kxV3Pulse 2.4s ease-in-out 2.4s infinite; }
.kx-v3-tuiles i.w { background: #FFCB57; }
@keyframes kxV3Tuile { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: none; } }
@keyframes kxV3Pulse { 50% { opacity: .45; } }

.kx-v3-korbyx { position: relative; overflow: hidden; padding: 1.25rem; background: var(--v3-violet); color: var(--v3-paper); }
.kx-v3-korbyx > :not(.kx-v3-cercles) { position: relative; }
.kx-da-v3 .kx-v3-korbyx__tete { display: flex; align-items: center; gap: .5rem; font-size: .8125rem; font-weight: 600; }
.kx-v3-marque { width: 1.1rem; height: 1.1rem; border-radius: 9999px; background: currentColor; -webkit-mask: radial-gradient(circle at 30% 30%, #000 22%, transparent 24%), radial-gradient(circle at 72% 30%, #000 22%, transparent 24%), radial-gradient(circle at 30% 72%, #000 22%, transparent 24%), radial-gradient(circle at 72% 72%, #000 22%, transparent 24%); mask: radial-gradient(circle at 30% 30%, #000 22%, transparent 24%), radial-gradient(circle at 72% 30%, #000 22%, transparent 24%), radial-gradient(circle at 30% 72%, #000 22%, transparent 24%), radial-gradient(circle at 72% 72%, #000 22%, transparent 24%); }
.kx-v3-direct { display: inline-flex; align-items: center; gap: .35rem; margin-left: auto; font-size: .75rem; font-weight: 500; color: rgba(250, 248, 244, 0.8); }
.kx-v3-direct::before { content: ""; width: .375rem; height: .375rem; border-radius: 9999px; background: #3F858F; box-shadow: 0 0 0 3px rgba(63, 133, 143, 0.35); }
.kx-da-v3 .kx-v3-korbyx__q { width: fit-content; max-width: 90%; margin-top: .75rem; padding: .5rem .75rem; border-radius: .75rem .75rem .75rem .2rem; background: rgba(250, 248, 244, 0.12); font-size: .875rem; line-height: 1.35; color: var(--v3-paper); }
.kx-da-v3 .kx-v3-korbyx__r { margin-top: .75rem; font-size: 1.0625rem; font-weight: 500; line-height: 1.4; letter-spacing: -0.01em; color: var(--v3-paper); }
@media (min-width: 640px) { .kx-da-v3 .kx-v3-korbyx__r { font-size: 1.125rem; } }
.kx-v3-korbyx__bouton { display: inline-flex; align-items: center; height: 1.9rem; margin-top: 1rem; padding: 0 .75rem; border-radius: .5rem; background: var(--v3-paper); color: var(--v3-violet); font-size: .75rem; font-weight: 600; }

/* Les trois reperes sous le hero : un trait violet, separes par des filets */
.kx-da-v3 .entry-content .kx-v3-reperes { display: grid; gap: 1.5rem; margin: 3.5rem 0 0; padding: 2rem 0 0; list-style: none; border-top: 1px solid var(--v3-line); }
@media (min-width: 768px) { .kx-da-v3 .entry-content .kx-v3-reperes { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; } }
.kx-v3-reperes li { margin: 0; }
@media (min-width: 768px) { .kx-v3-reperes li + li { padding-left: 2rem; margin-left: 2rem; border-left: 1px solid var(--v3-line); } }
.kx-v3-reperes b { display: block; font-size: 1.25rem; font-weight: 600; letter-spacing: -0.025em; color: var(--v3-ink); }
.kx-v3-reperes b::before { content: ""; display: block; width: 3rem; height: 3px; margin-bottom: 1rem; border-radius: 9999px; background: var(--v3-violet); }
.kx-v3-reperes span { display: block; margin-top: .4rem; font-size: .9375rem; line-height: 1.5; color: var(--v3-ink-70); }

/* --- Cas DOMetVIE : chiffres a la Sana, recit en quatre temps a la Deel ------------------- */
.kx-v3-cas__client { display: flex; flex-direction: column; gap: .9rem; }
.kx-v3-cas__client img { height: 1.75rem; width: auto; align-self: flex-start; filter: brightness(0) invert(.97); }
.kx-da-v3 .kx-v3-cas__client p { margin: 0; max-width: 26rem; font-size: .9375rem; line-height: 1.5; }
.kx-da-v3 .entry-content .kx-v3-chiffres { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .kx-da-v3 .entry-content .kx-v3-chiffres { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } }
.kx-v3-chiffres li { margin: 0; padding: 1.75rem; border-radius: 1.5rem; border: 1px solid rgba(250, 248, 244, 0.14); background: rgba(250, 248, 244, 0.05); }
.kx-v3-chiffres b { display: block; font-size: clamp(3.5rem, 6vw, 5.5rem); font-weight: 600; line-height: .95; letter-spacing: -0.05em; color: var(--v3-violet-30); font-variant-numeric: tabular-nums; }
.kx-v3-chiffres span { display: block; margin-top: 1.25rem; max-width: 20rem; font-size: 1rem; line-height: 1.5; color: rgba(250, 248, 244, 0.8); }

.kx-da-v3 .entry-content .kx-v3-recit { display: grid; gap: 1rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .kx-da-v3 .entry-content .kx-v3-recit { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; } }
@media (min-width: 1200px) { .kx-da-v3 .entry-content .kx-v3-recit { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.kx-v3-recit li { display: flex; flex-direction: column; margin: 0; padding: 1rem 1rem 1.5rem; border-radius: 1.5rem; background: rgba(250, 248, 244, 0.05); border: 1px solid rgba(250, 248, 244, 0.14); }
.kx-v3-recit__visuel { display: flex; flex-direction: column; justify-content: center; gap: .5rem; height: 9rem; margin-bottom: 1.25rem; padding: 1rem; border-radius: 1rem; background: var(--v3-paper); color: var(--v3-ink); }
.kx-v3-recit__temps { align-self: flex-start; margin: 0 .5rem; padding: .25rem .7rem; border-radius: 9999px; background: rgba(250, 248, 244, 0.12); font-size: .8125rem; font-weight: 600; color: var(--v3-paper); }
.kx-da-v3 .kx-v3-recit p { margin: .9rem .5rem 0; font-size: .9375rem; line-height: 1.55; color: rgba(250, 248, 244, 0.78); }
/* Au depart : un tableur fige */
.kx-v3-mini-tableur { display: grid !important; grid-template-columns: repeat(4, 1fr); align-content: center; gap: 4px; }
.kx-v3-mini-tableur i { height: .9rem; border-radius: 3px; background: var(--v3-cream); border: 1px solid var(--v3-line); }
.kx-v3-mini-tableur em { grid-column: 1 / -1; margin-top: .5rem; font-style: normal; font-size: .75rem; color: #B4213F; }
/* Ce qui a ete branche : l'ERP relie a Korbyx, un point circule */
.kx-v3-mini-branche { flex-direction: row !important; align-items: center; justify-content: center !important; gap: 0 !important; }
.kx-v3-mini-branche em { padding: .45rem .8rem; border-radius: .6rem; border: 1px solid var(--v3-line); background: var(--v3-cream); font-style: normal; font-size: .8125rem; font-weight: 600; }
.kx-v3-mini-branche em.k { border-color: var(--v3-violet); background: var(--v3-violet); color: var(--v3-paper); }
.kx-v3-mini-branche i { position: relative; flex: 1; max-width: 4.5rem; height: 2px; background: var(--v3-line); }
.kx-v3-mini-branche i::after { content: ""; position: absolute; top: -3px; left: 0; width: 8px; height: 8px; border-radius: 9999px; background: var(--v3-violet); animation: kxV3Circule 2.2s ease-in-out infinite; }
@keyframes kxV3Circule { from { left: 0; } to { left: calc(100% - 8px); } }
/* Ce qui a ete repere : l'agence face a la mediane */
.kx-v3-mini-ecart > span { display: grid; grid-template-columns: 1fr; gap: .25rem; }
.kx-v3-mini-ecart small { font-size: .6875rem; color: var(--v3-ink-70); }
.kx-v3-mini-ecart i { display: block; height: .55rem; width: calc(var(--v) * 100%); border-radius: 9999px; background: rgba(26, 36, 38, 0.2); }
.kx-v3-mini-ecart b { font-size: .8125rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.kx-v3-mini-ecart > span { grid-template-columns: 1fr auto; column-gap: .75rem; align-items: center; }
.kx-v3-mini-ecart small { grid-column: 1 / -1; }
.kx-v3-mini-ecart .r i { background: #DB1239; }
.kx-v3-mini-ecart .r b { color: #B4213F; }
/* Ce que ca a change : la visite preparee */
.kx-v3-mini-visite em { font-style: normal; font-size: .8125rem; font-weight: 600; }
.kx-v3-mini-visite i { display: flex; align-items: center; gap: .5rem; font-style: normal; font-size: .75rem; color: var(--v3-ink-70); }
.kx-v3-mini-visite i::before { content: ""; width: .9rem; height: .9rem; flex: none; border-radius: 9999px; background: #3F858F url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FAF8F4' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center / .6rem no-repeat; }
.kx-v3-cas .kx-v3-actions { margin-top: 3rem; }

/* --- Mise en page editoriale : titre fixe a gauche, texte a droite (Sana) --------------- */
.kx-v3-edito { display: grid; gap: 2rem; }
@media (min-width: 1024px) { .kx-v3-edito { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 5rem; align-items: start; } .kx-v3-edito__tete { position: sticky; top: 7.5rem; } }
.kx-da-v3 .kx-v3-lead { margin: 0; font-size: clamp(1.25rem, 1.7vw, 1.5rem); font-weight: 500; line-height: 1.4; letter-spacing: -0.015em; color: var(--v3-ink); }
.kx-da-v3 .kx-v3-section--encre .kx-v3-lead { color: var(--v3-paper); }
.kx-da-v3 :is(.kx-v3-edito__corps, .kx-v3-duo__texte, .kx-v3-methode__texte) > p:not(.kx-v3-lead):not(.kx-v3-surtitre) { margin: 1.25rem 0 0; font-size: 1.0625rem; line-height: 1.7; color: var(--v3-ink-70); }
.kx-v3-photo { margin: 2rem 0 0; }
.kx-v3-photo img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 1.75rem; }

/* --- Six usages : cartes a mini-interface (Deel) ---------------------------------------- */
.kx-da-v3 .entry-content .kx-v3-usages { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .kx-da-v3 .entry-content .kx-v3-usages { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; } }
@media (min-width: 1200px) { .kx-da-v3 .entry-content .kx-v3-usages { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.kx-v3-usages li { display: flex; flex-direction: column; margin: 0; padding: 1rem 1rem 1.75rem; border-radius: 1.5rem; background: var(--v3-paper); border: 1px solid transparent; transition: transform .45s var(--v3-ease), border-color .35s; }
@media (hover: hover) { .kx-v3-usages li:hover { transform: translateY(-3px); border-color: var(--v3-ink-30); } }
.kx-v3-usage__visuel { display: flex; flex-direction: column; justify-content: center; gap: .5rem; height: 10rem; margin-bottom: 1.5rem; padding: 1.25rem; border-radius: 1rem; background: var(--v3-cream); }
.kx-da-v3 .kx-v3-usages h3 { margin: 0 .5rem; font-size: 1.3125rem; font-weight: 600; line-height: 1.25; letter-spacing: -0.025em; color: var(--v3-ink); }
.kx-da-v3 .kx-v3-usages h3 a { color: inherit; text-decoration: none; }
.kx-da-v3 .kx-v3-usages h3 a::after { content: " \2192"; font-weight: 400; color: var(--v3-violet); }
.kx-da-v3 .kx-v3-usages h3 a:hover { color: var(--v3-violet); }
.kx-da-v3 .kx-v3-usages p { margin: .6rem .5rem 0; font-size: .9375rem; line-height: 1.55; color: var(--v3-ink-70); }
.kx-v3-bulle { width: fit-content; max-width: 92%; padding: .5rem .75rem; border-radius: .8rem; font-size: .8125rem; line-height: 1.35; }
.kx-v3-bulle.q { align-self: flex-end; border-bottom-right-radius: .2rem; background: var(--v3-paper); color: var(--v3-ink); border: 1px solid var(--v3-line); }
.kx-v3-bulle.r { border-bottom-left-radius: .2rem; background: var(--v3-violet-soft); color: var(--v3-violet); font-weight: 600; }
.kx-v3-progres { display: grid; grid-template-columns: 4.5rem 1fr; align-items: center; gap: .6rem; font-size: .75rem; color: var(--v3-ink-70); }
.kx-v3-progres em { font-style: normal; }
.kx-v3-progres i { position: relative; height: .5rem; border-radius: 9999px; background: var(--v3-line); overflow: hidden; }
.kx-v3-progres i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: calc(var(--v) * 100%); border-radius: 9999px; background: var(--v3-violet); }
.kx-v3-tuiles--grandes { grid-template-columns: repeat(8, 1fr); gap: 6px; width: 100%; }
.kx-v3-tuiles--grandes i { border-radius: 4px; animation: none; }
.kx-v3-tuiles--grandes i.r { animation: kxV3Pulse 2.4s ease-in-out infinite; }
.kx-v3-villes { display: flex; gap: .4rem; }
.kx-v3-villes em { padding: .3rem .65rem; border-radius: 9999px; border: 1px solid var(--v3-line); background: var(--v3-paper); font-style: normal; font-size: .75rem; color: var(--v3-ink-70); }
.kx-v3-villes em.on { border-color: var(--v3-ink); background: var(--v3-ink); color: var(--v3-paper); }
.kx-v3-barres-mini { display: flex; align-items: flex-end; gap: .4rem; height: 100%; }
.kx-v3-barres-mini i { flex: 1; height: calc(var(--v) * 100%); border-radius: .35rem .35rem 0 0; background: rgba(26, 36, 38, 0.18); }
.kx-v3-barres-mini i.p { background: transparent; border: 2px dashed var(--v3-violet); border-bottom: 0; }
.kx-v3-dossiers { display: flex; flex-direction: column; gap: .35rem; }
.kx-v3-dossiers em { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .35rem .6rem; border-radius: .5rem; background: var(--v3-paper); font-style: normal; font-size: .75rem; color: var(--v3-ink); }
.kx-v3-dossiers b { padding: .05rem .45rem; border-radius: .35rem; background: #FFF3D6; color: #8A6300; font-weight: 500; }
.kx-v3-dossiers b.ok { background: #EBF9F9; color: #2F6C74; }
.kx-v3-dossiers b.v { background: var(--v3-violet-soft); color: var(--v3-violet); }

/* --- Scene produit face au texte (Deel) ----------------------------------------------------- */
.kx-v3-duo { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 1024px) { .kx-v3-duo { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 5rem; } }
.kx-v3-duo__visuel { position: relative; margin: 0; }
.kx-v3-scene-manuel { padding: 2rem 1.25rem; border-radius: 1.75rem; background: var(--v3-violet-soft); }
@media (min-width: 640px) { .kx-v3-scene-manuel { padding: 3rem 2.5rem; } }
.kx-v3-conv { display: flex; flex-direction: column; gap: 1rem; }
.kx-da-v3 .kx-v3-conv__q { align-self: flex-end; max-width: 85%; margin: 0; padding: .75rem 1rem; border-radius: 1rem 1rem .25rem 1rem; background: var(--v3-paper); font-size: .9375rem; line-height: 1.4; color: var(--v3-ink); }
.kx-v3-conv__r { position: relative; max-width: 92%; padding: 1.25rem; border-radius: 1rem 1rem 1rem .25rem; background: var(--v3-violet); color: var(--v3-paper); }
.kx-da-v3 .kx-v3-conv__r p { margin: .6rem 0 0; font-size: 1rem; line-height: 1.5; color: var(--v3-paper); }
.kx-da-v3 .kx-v3-conv__r .kx-v3-korbyx__tete { margin: 0; }
.kx-v3-source { display: inline-flex; align-items: center; gap: .4rem; margin-top: .9rem; padding: .3rem .6rem; border-radius: .5rem; background: var(--v3-paper); color: var(--v3-ink); font-size: .75rem; font-weight: 500; }
.kx-v3-source::before { content: ""; width: .8rem; height: .95rem; border-radius: 2px; border: 1.5px solid var(--v3-violet); }
.kx-da-v3 .kx-v3-conv__stat { margin: .5rem 0 0; font-size: .875rem; color: var(--v3-ink-70); }
.kx-v3-conv__stat b { font-weight: 600; color: var(--v3-ink); }

.kx-v3-scene-pilotage { padding-bottom: 2.5rem; }
.kx-v3-scene-pilotage img { display: block; width: 100%; aspect-ratio: 4 / 3.2; object-fit: cover; border-radius: 1.75rem; }
.kx-v3-classement { position: absolute; left: 1rem; right: 1rem; bottom: 0; display: flex; flex-direction: column; gap: .55rem; padding: 1.1rem 1.25rem; border: 1px solid var(--v3-line); }
@media (min-width: 640px) { .kx-v3-classement { left: auto; right: -1rem; width: 22rem; } }
@media (min-width: 1024px) { .kx-v3-classement { right: -2rem; } }
.kx-da-v3 .kx-v3-classement p { display: grid; grid-template-columns: 6.5rem 1fr 3rem; align-items: center; gap: .6rem; font-size: .8125rem; }
.kx-da-v3 .kx-v3-classement .kx-v3-classement__tete { display: flex; justify-content: space-between; margin-bottom: .2rem; }
.kx-v3-classement__tete span { font-size: .75rem; color: var(--v3-ink-70); }
.kx-v3-classement em { font-style: normal; color: var(--v3-ink); }
.kx-v3-classement i { height: .5rem; width: calc(var(--v) * 100%); border-radius: 9999px; background: #3F858F; }
.kx-v3-classement b { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.kx-v3-classement .r i { background: #DB1239; }
.kx-v3-classement .r b, .kx-v3-classement .r em { color: #B4213F; }

/* --- La strategie en trois temps (sur l'encre) ---------------------------------------------- */
.kx-da-v3 .entry-content .kx-v3-temps { margin: 2rem 0 0; padding: 0; list-style: none; counter-reset: t; }
.kx-v3-temps li { position: relative; margin: 0; padding: 1.5rem 0 1.5rem 4rem; border-top: 1px solid rgba(250, 248, 244, 0.16); counter-increment: t; }
.kx-v3-temps li::before { content: "0" counter(t); position: absolute; left: 0; top: 1.5rem; font-size: 1.25rem; font-weight: 600; color: var(--v3-violet-30); font-variant-numeric: tabular-nums; }
.kx-da-v3 .kx-v3-temps p { margin: 0; font-size: 1.0625rem; line-height: 1.7; color: rgba(250, 248, 244, 0.78); }

/* --- Bande violette ------------------------------------------------------------------------- */
.kx-v3-bande__grille { display: grid; gap: 1.5rem; }
@media (min-width: 1024px) { .kx-v3-bande__grille { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 5rem; align-items: end; } }
.kx-da-v3 .kx-v3-bande .kx-v3-intro { margin-top: 0; font-size: 1.1875rem; }

/* --- La methode en frise (Deel) ---------------------------------------------------------------- */
.kx-v3-methode__texte { display: grid; gap: 0 3rem; }
@media (min-width: 1024px) { .kx-v3-methode__texte { grid-template-columns: 1fr 1fr; } }
.kx-da-v3 .kx-v3-methode__texte > p:first-child { margin-top: 0; }
.kx-da-v3 .entry-content .kx-v3-frise { display: grid; gap: 1rem; margin: 3rem 0 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .kx-da-v3 .entry-content .kx-v3-frise { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; } }
@media (min-width: 1200px) { .kx-da-v3 .entry-content .kx-v3-frise { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.kx-v3-frise li { position: relative; display: flex; flex-direction: column; margin: 0; padding: 1.5rem; border-radius: 1.5rem; background: var(--v3-cream); border: 1px solid var(--v3-line); }
@media (min-width: 1200px) { .kx-v3-frise li:not(:last-child)::after { content: ""; position: absolute; z-index: 1; top: 50%; right: -1.25rem; width: 1rem; height: 1rem; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A6AEAF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; } }
.kx-v3-frise__num { font-size: 2.5rem; font-weight: 600; line-height: 1; letter-spacing: -0.04em; color: var(--v3-ink-30); font-variant-numeric: tabular-nums; }
.kx-v3-frise__visuel { display: flex; flex-wrap: wrap; align-content: center; gap: .35rem; height: 4.5rem; margin: 1.25rem 0; }
.kx-v3-frise__visuel i { display: block; }
.kx-v3-frise__visuel--audit i { width: 100%; height: .5rem; border-radius: 9999px; background: var(--v3-line); }
.kx-v3-frise__visuel--audit i:nth-child(2) { width: 75%; } .kx-v3-frise__visuel--audit i:nth-child(3) { width: 55%; background: var(--v3-violet-30); }
.kx-v3-frise__visuel--pilote i { width: 1.4rem; height: 1.4rem; border-radius: 9999px; background: var(--v3-line); }
.kx-v3-frise__visuel--pilote i.on { background: var(--v3-violet); }
.kx-v3-frise__visuel--retours i { width: 70%; height: 1.6rem; border-radius: .6rem; background: var(--v3-paper); border: 1px solid var(--v3-line); }
.kx-v3-frise__visuel--retours i:last-child { width: 55%; margin-left: auto; background: var(--v3-violet-soft); border-color: var(--v3-violet-soft); }
.kx-v3-frise__visuel--reseau { display: grid; grid-template-columns: repeat(8, 1fr); gap: 4px; }
.kx-v3-frise__visuel--reseau i { aspect-ratio: 1; border-radius: 3px; background: var(--v3-paper); }
.kx-da-v3 .kx-v3-frise p { margin: auto 0 0; font-size: 1.0625rem; font-weight: 600; line-height: 1.35; letter-spacing: -0.01em; color: var(--v3-ink); }
.kx-v3-frise__fin { background: var(--v3-violet) !important; border-color: var(--v3-violet) !important; }
.kx-v3-frise__fin .kx-v3-frise__num { color: var(--v3-violet-30); }
.kx-da-v3 .kx-v3-frise__fin p { color: var(--v3-paper); }
.kx-v3-frise__fin .kx-v3-frise__visuel--reseau i { background: rgba(250, 248, 244, 0.85); }

/* --- Citation en carte de marque (portrait a droite) ---------------------------------------- */
.kx-da-v3 .kx-v3-fondateur--citation figcaption { border-top: 1px solid var(--v3-paper-20); }

/* --- Liens connexes : cartes a fleche --------------------------------------------------------- */
.kx-da-v3 .entry-content .kx-v3-liens { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 640px) { .kx-da-v3 .entry-content .kx-v3-liens { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .kx-da-v3 .entry-content .kx-v3-liens { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; } }
.kx-v3-liens li { margin: 0; }
.kx-da-v3 .kx-v3-liens a { position: relative; display: flex; flex-direction: column; gap: .35rem; height: 100%; padding: 1.25rem 3.5rem 1.25rem 1.25rem; border-radius: 1.25rem; background: var(--v3-paper); border: 1px solid transparent; font-size: 1.0625rem; font-weight: 600; letter-spacing: -0.01em; color: var(--v3-ink); text-decoration: none; transition: border-color .3s, transform .45s var(--v3-ease); }
.kx-da-v3 .kx-v3-liens a:hover { border-color: var(--v3-ink-30); transform: translateY(-2px); color: var(--v3-ink); }
.kx-v3-liens small { font-size: .75rem; font-weight: 500; color: var(--v3-violet); letter-spacing: 0; }
.kx-v3-liens a::after { content: ""; position: absolute; right: 1.25rem; top: 50%; width: 1.75rem; height: 1.75rem; margin-top: -.875rem; border-radius: 9999px; transform: rotate(-45deg); transition: transform .45s cubic-bezier(.65, 0, .35, 1), background-color .3s; background: var(--v3-cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A2426' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / .85rem no-repeat; }
.kx-v3-liens a:hover::after { transform: none; }

/* --- Appel final centre -------------------------------------------------------------------------- */
.kx-v3-fin__corps { display: flex; flex-direction: column; align-items: center; text-align: center; }
.kx-da-v3 .kx-v3-fin .kx-v3-h2 { max-width: 48rem; margin-top: 0; }
.kx-da-v3 .kx-v3-fin .kx-v3-intro { max-width: 40rem; }

/* --- Apparitions au defilement (posees par le script de la page, jamais sans lui) --------- */
.kx-v3-js .kx-v3-rv { opacity: 0; transform: translateY(18px); transition: opacity .8s var(--v3-ease), transform .9s var(--v3-ease); }
.kx-v3-js .kx-v3-rv.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .kx-v3-scene__photo, .kx-v3-flot, .kx-v3-flot > *, .kx-v3-tuiles i, .kx-v3-mini-branche i::after { animation: none !important; }
  .kx-v3-sante path { animation: none; stroke-dashoffset: 0; }
}

/* Correctifs de relecture (26/09) */
.kx-v3-insecable { white-space: nowrap; }
.kx-da-v3 .kx-v3-duo__texte .kx-v3-h2 + .kx-v3-lead { margin-top: 1.25rem; }
.kx-da-v3 :is(.kx-v3-section--encre, .kx-v3-section--violet) p.kx-v3-h2 { color: var(--v3-paper); }
.kx-da-v3 :is(.kx-v3-section--encre, .kx-v3-section--violet) p.kx-v3-surtitre { color: var(--v3-violet-30); }
.kx-v3-section--lavande :is(.kx-v3-garantie, .kx-v3-carte) { background: var(--v3-paper); }
.kx-v3-section--lavande + .kx-v3-section--serree, .kx-v3-section--encre + .kx-v3-section--serree { padding-top: 4rem; }
@media (min-width: 640px) { .kx-v3-section--lavande + .kx-v3-section--serree, .kx-v3-section--encre + .kx-v3-section--serree { padding-top: 5rem; } }
@media (min-width: 1024px) { .kx-v3-section--lavande + .kx-v3-section--serree, .kx-v3-section--encre + .kx-v3-section--serree { padding-top: 6rem; } }
@media (min-width: 1024px) { .kx-v3-entete:has(> :only-child) { grid-template-columns: minmax(0, 1fr); } .kx-v3-entete:has(> :only-child) .kx-v3-h2 { max-width: 48rem; } }
.kx-v3-fondateur--citation .kx-v3-fondateur__qui b { display: inline; }
.kx-v3-fondateur--citation .kx-v3-fondateur__qui { font-size: 1rem; color: var(--v3-paper-70); }

/* ==========================================================================
   5. Pages Secteurs generees (kx_secteur_v3.py) : elements en plus de la page franchise
   ========================================================================== */
.kx-v3-section--papier { background: var(--v3-paper); }
.kx-v3-section--violet + .kx-v3-section--serree { padding-top: 4rem; }
@media (min-width: 640px) { .kx-v3-section--violet + .kx-v3-section--serree { padding-top: 5rem; } }
@media (min-width: 1024px) { .kx-v3-section--violet + .kx-v3-section--serree { padding-top: 6rem; } }

/* Texte et photo : alignes en haut quand le texte est long */
.kx-v3-duo--haut { align-items: start; }
@media (min-width: 1024px) { .kx-v3-duo--haut .kx-v3-duo__visuel { position: sticky; top: 7.5rem; } }
.kx-v3-duo__photo img { display: block; width: 100%; aspect-ratio: 4 / 3.3; object-fit: cover; border-radius: 1.75rem; }

/* Liste cochee */
.kx-da-v3 .entry-content .kx-v3-checks { display: grid; gap: .75rem; margin: 1.75rem 0 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .kx-da-v3 .entry-content .kx-v3-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1.5rem; } }
.kx-v3-checks li { position: relative; margin: 0; padding: .9rem 1rem .9rem 3rem; border-radius: 1rem; background: var(--v3-cream); font-size: 1rem; line-height: 1.45; color: var(--v3-ink); }
.kx-v3-section--lavande .kx-v3-checks li { background: var(--v3-paper); }
.kx-v3-checks li::before { content: ""; position: absolute; left: 1rem; top: .95rem; width: 1.25rem; height: 1.25rem; border-radius: 9999px; background: var(--v3-violet) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FAF8F4' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center / .75rem no-repeat; }
.kx-v3-section--encre .kx-v3-checks li { background: rgba(250, 248, 244, 0.06); color: var(--v3-paper); }
.kx-v3-section--encre .kx-v3-checks li::before { background-color: var(--v3-violet-30); }

/* Sous-parties (intertitres) en cartes */
.kx-v3-sous { display: grid; gap: 1rem; margin-top: 2rem; }
@media (min-width: 768px) { .kx-v3-sous { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; } }
.kx-v3-sous__item { padding: 1.5rem; border-radius: 1.25rem; background: var(--v3-cream); border: 1px solid var(--v3-line); }
.kx-v3-section--lavande .kx-v3-sous__item { background: var(--v3-paper); border-color: transparent; }
.kx-v3-section--encre .kx-v3-sous__item { background: rgba(250, 248, 244, 0.06); border-color: rgba(250, 248, 244, 0.14); }
.kx-da-v3 .kx-v3-sous__item p { margin: .5rem 0 0; font-size: .9375rem; line-height: 1.6; color: var(--v3-ink-70); }
.kx-da-v3 .kx-v3-sous__item .kx-v3-sous__titre { margin: 0; font-size: 1.125rem; font-weight: 600; letter-spacing: -0.02em; color: var(--v3-ink); }
.kx-da-v3 .kx-v3-section--encre .kx-v3-sous__item p { color: rgba(250, 248, 244, 0.74); }
.kx-da-v3 .kx-v3-section--encre .kx-v3-sous__item .kx-v3-sous__titre { color: var(--v3-paper); }

/* Tableau comparatif : la colonne « avec » en violet */
.kx-v3-table { overflow-x: auto; border-radius: 1.5rem; border: 1px solid var(--v3-line); background: var(--v3-paper); }
.kx-v3-section--lavande .kx-v3-table { border-color: transparent; }
.kx-da-v3 .kx-v3-table table { width: 100%; min-width: 40rem; margin: 0; border: 0; border-collapse: collapse; font-size: .9375rem; }
.kx-da-v3 .kx-v3-table :is(th, td) { padding: 1.1rem 1.25rem; border: 0; border-bottom: 1px solid var(--v3-line); text-align: left; vertical-align: top; line-height: 1.5; background: none; }
.kx-da-v3 .kx-v3-table tbody tr:last-child td { border-bottom: 0; }
.kx-da-v3 .kx-v3-table th { font-size: .8125rem; font-weight: 600; color: var(--v3-ink-70); background: var(--v3-cream); }
.kx-da-v3 .kx-v3-table td { color: var(--v3-ink-70); }
.kx-da-v3 .kx-v3-table td:first-child { font-weight: 600; color: var(--v3-ink); }
.kx-da-v3 .kx-v3-table :is(th, td):last-child { background: var(--v3-violet-soft); color: var(--v3-ink); }
.kx-da-v3 .kx-v3-table th:last-child { color: var(--v3-violet); }
.kx-v3-section--lavande .kx-v3-table :is(th, td):last-child { background: rgba(91, 38, 254, 0.08); }

/* Cartes d'usages : deux par rangee, ou photo a la place de la mini-interface */
@media (min-width: 1200px) { .kx-da-v3 .entry-content .kx-v3-usages--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kx-v3-usage__visuel--photo { padding: 0; overflow: hidden; }
.kx-v3-usage__visuel--photo img { width: 100%; height: 100%; object-fit: cover; }
.kx-v3-section--papier .kx-v3-usages li { background: var(--v3-cream); }

/* Mini-interfaces abstraites (sans texte), a la maniere de Deel */
.kx-v3-abs { display: flex; flex-direction: column; justify-content: center; gap: .5rem; width: 100%; }
.kx-v3-abs i { display: block; }
.kx-v3-abs--conv i { height: 1.6rem; border-radius: .7rem; }
.kx-v3-abs--conv i:nth-child(1) { width: 62%; align-self: flex-end; background: var(--v3-paper); border: 1px solid var(--v3-line); }
.kx-v3-abs--conv i:nth-child(2) { width: 82%; background: var(--v3-violet); }
.kx-v3-abs--conv i:nth-child(3) { width: 38%; height: 1.2rem; background: var(--v3-violet-soft); }
.kx-v3-abs--progres i { position: relative; height: .55rem; border-radius: 9999px; background: var(--v3-line); overflow: hidden; }
.kx-v3-abs--progres i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: calc(var(--v) * 100%); border-radius: 9999px; background: var(--v3-violet); }
.kx-v3-abs--doc { padding: .9rem; border-radius: .8rem; background: var(--v3-paper); }
.kx-v3-abs--doc i { height: .45rem; border-radius: 9999px; background: var(--v3-line); }
.kx-v3-abs--doc i:nth-child(1) { width: 45%; background: var(--v3-ink); height: .55rem; }
.kx-v3-abs--doc i:nth-child(3) { width: 80%; } .kx-v3-abs--doc i:nth-child(4) { width: 60%; }
.kx-v3-abs--doc b { align-self: flex-start; width: 4.5rem; height: 1.3rem; margin-top: .3rem; border-radius: .4rem; background: var(--v3-violet-soft); }
.kx-v3-abs--liste i { display: flex; align-items: center; justify-content: space-between; height: 1.9rem; padding: 0 .6rem; border-radius: .5rem; background: var(--v3-paper); }
.kx-v3-abs--liste i::before { content: ""; width: 45%; height: .45rem; border-radius: 9999px; background: var(--v3-line); }
.kx-v3-abs--liste b { width: 3.5rem; height: 1rem; border-radius: .35rem; background: #FFF3D6; }
.kx-v3-abs--liste b.ok { background: #EBF9F9; } .kx-v3-abs--liste b.v { background: var(--v3-violet-soft); }

/* Pictogrammes des benefices avec lien */
.kx-da-v3 .kx-v3-garantie h3 a { color: inherit; text-decoration: none; }
.kx-da-v3 .kx-v3-garantie h3 a::after { content: " \2192"; font-weight: 400; color: var(--v3-violet); }
/* Sur fond papier, les cartes sont creme : la zone de mini-interface passe en papier bordee */
.kx-v3-section--papier .kx-v3-usage__visuel { background: var(--v3-paper); box-shadow: inset 0 0 0 1px var(--v3-line); }

/* ==========================================================================
   6. Plus de visuels et de mouvement (27/09) : pages Cas d'usage, Services, Prix, ROI et Secteurs
   Tout mouvement ne part qu'une fois le bloc a l'ecran (.is-in, pose par le script de la page) ;
   sans script ou avec le mouvement reduit, tout est visible et immobile.
   ========================================================================== */

/* --- Hero : Korbyx lit la question, reflechit, puis repond ---------------------------------- */
.kx-v3-korbyx__attente { position: relative; top: 1.1rem; display: flex; gap: .3rem; height: 0; opacity: 0; animation: kxV3Attente 1.5s ease 1.5s both; }
.kx-v3-korbyx__attente i { width: .4rem; height: .4rem; border-radius: 9999px; background: var(--v3-paper); animation: kxV3Rebond 1s ease-in-out infinite; }
.kx-v3-korbyx__attente i:nth-child(2) { animation-delay: .15s; }
.kx-v3-korbyx__attente i:nth-child(3) { animation-delay: .3s; }
.kx-v3-korbyx__q:has(+ .kx-v3-korbyx__attente) { animation: kxV3Entre .6s var(--v3-ease) 1.1s both; }
.kx-v3-korbyx__attente + .kx-v3-korbyx__r { animation: kxV3Entre .7s var(--v3-ease) 2.9s both; }
.kx-v3-korbyx__attente ~ .kx-v3-korbyx__bouton { animation: kxV3Entre .6s var(--v3-ease) 3.3s both; }
@keyframes kxV3Attente { 0% { opacity: 0; } 15%, 80% { opacity: 1; } 100% { opacity: 0; } }
@keyframes kxV3Rebond { 0%, 100% { transform: none; opacity: .5; } 50% { transform: translateY(-3px); opacity: 1; } }

/* Reperes sous le hero : le trait violet se trace */
.kx-v3-reperes b::before { transform-origin: left; animation: kxV3Trait 1s var(--v3-ease) 1s both; }
.kx-v3-reperes li:nth-child(2) b::before { animation-delay: 1.15s; }
.kx-v3-reperes li:nth-child(3) b::before { animation-delay: 1.3s; }
@keyframes kxV3Trait { from { transform: scaleX(0); } to { transform: none; } }

/* --- Titres : l'accent arrive juste apres le titre ------------------------------------------- */
.kx-v3-js .kx-v3-rv .kx-v3-h2 em { transition: opacity 1s ease .3s; }
.kx-v3-js .kx-v3-rv:not(.is-in) .kx-v3-h2 em { opacity: 0; }

/* --- Photos : elles s'ouvrent en entrant a l'ecran --------------------------------------------- */
.kx-v3-js :is(.kx-v3-duo__photo, .kx-v3-entete-photo__visuel, .kx-v3-bandeau__photo) > img { clip-path: inset(0 round 1.75rem); transition: clip-path 1.3s var(--v3-ease), transform 1.8s var(--v3-ease); }
.kx-v3-js .kx-v3-rv:not(.is-in):is(.kx-v3-duo__photo, .kx-v3-entete-photo__visuel, .kx-v3-bandeau__photo) > img { clip-path: inset(9% 7% 9% 7% round 1.75rem); transform: scale(1.08); }

/* --- Petites cartes produit posees sur les photos -------------------------------------------- */
.kx-v3-entete-photo__visuel { position: relative; margin: 0; }
.kx-v3-entete-photo__visuel > img { display: block; width: 100%; aspect-ratio: 4 / 3.1; object-fit: cover; border-radius: 1.75rem; }
.kx-v3-puce { position: absolute; z-index: 1; left: 1rem; bottom: 1rem; display: flex; flex-direction: column; gap: .5rem; width: 12.5rem; padding: .9rem 1rem; border-radius: 1rem; background: var(--v3-paper); border: 1px solid var(--v3-line); color: var(--v3-ink); }
@media (min-width: 1024px) {
  .kx-v3-puce { left: -1.5rem; bottom: 2rem; }
  .kx-v3-duo--inverse .kx-v3-puce, .kx-v3-entete-photo > .kx-v3-entete-photo__visuel:last-child .kx-v3-puce { left: auto; right: -1.5rem; }
}
.kx-v3-rv.is-in .kx-v3-puce { animation: kxV3Flotte 7s ease-in-out 1.6s infinite; }
.kx-v3-puce i { display: block; }
.kx-v3-puce__tete { display: flex; align-items: center; gap: .4rem; margin-bottom: .15rem; font-size: .75rem; font-weight: 600; }
.kx-v3-puce__tete .kx-v3-marque { width: .9rem; height: .9rem; color: var(--v3-violet); }
.kx-v3-puce--korbyx i { position: relative; height: .45rem; border-radius: 9999px; background: var(--v3-line); overflow: hidden; }
.kx-v3-puce--korbyx i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: calc(var(--v) * 100%); border-radius: 9999px; background: var(--v3-violet); transition: width 1.2s var(--v3-ease) .5s; }
.kx-v3-puce--korbyx i:nth-child(3)::after { transition-delay: .65s; }
.kx-v3-puce--korbyx i:nth-child(4)::after { transition-delay: .8s; }
.kx-v3-js .kx-v3-rv:not(.is-in) .kx-v3-puce--korbyx i::after { width: 0; }
.kx-v3-puce--courbe { flex-direction: row; align-items: center; gap: .9rem; width: auto; }
.kx-v3-puce--courbe b { width: 3rem; height: .9rem; border-radius: .3rem; background: var(--v3-ink); }
.kx-v3-puce--courbe svg { width: 5.5rem; height: 2rem; }
.kx-v3-puce--courbe path { fill: none; stroke: #3F858F; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1.6s var(--v3-ease) .5s; }
.kx-v3-js .kx-v3-rv:not(.is-in) .kx-v3-puce--courbe path { stroke-dashoffset: 1; }
.kx-v3-puce--coches { width: 11rem; }
.kx-v3-puce--coches i { display: flex; align-items: center; gap: .55rem; height: 1.1rem; }
.kx-v3-puce--coches i::before { content: ""; flex: none; width: 1.1rem; height: 1.1rem; border-radius: 9999px; background: #3F858F url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FAF8F4' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center / .65rem no-repeat; transition: transform .5s var(--v3-ease) .6s; }
.kx-v3-puce--coches i::after { content: ""; flex: 1; height: .45rem; border-radius: 9999px; background: var(--v3-line); }
.kx-v3-puce--coches i:nth-child(2)::after { flex: 0 1 70%; }
.kx-v3-puce--coches i:nth-child(3)::after { flex: 0 1 45%; }
.kx-v3-puce--coches i:nth-child(2)::before { transition-delay: .9s; }
.kx-v3-puce--coches i:nth-child(3)::before { transition-delay: 1.2s; background-color: var(--v3-violet); }
.kx-v3-js .kx-v3-rv:not(.is-in) .kx-v3-puce--coches i::before { transform: scale(0); }

/* --- Titre et photo cote a cote (sections de cartes, etapes illustrees) ----------------------- */
.kx-v3-entete-photo { display: grid; gap: 2rem; align-items: center; margin-bottom: 2.5rem; }
@media (min-width: 1024px) { .kx-v3-entete-photo { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 5rem; margin-bottom: 4rem; } }
.kx-v3-entete-photo .kx-v3-intro { max-width: 34rem; }
.kx-da-v3 .kx-v3-methode__col > p:not(.kx-v3-surtitre):not(.kx-v3-intro) { margin: 1.1rem 0 0; font-size: 1.0625rem; line-height: 1.7; color: var(--v3-ink-70); }

/* --- Visuel produit sous les titres fixes (grand ecran) --------------------------------------- */
.kx-v3-edito__visuel { display: none; }
@media (min-width: 1024px) {
  .kx-v3-edito__visuel { display: flex; flex-direction: column; justify-content: center; height: 11rem; max-width: 26rem; margin-top: 2.5rem; padding: 1.5rem; border-radius: 1.25rem; background: var(--v3-cream); }
  .kx-v3-section--lavande .kx-v3-edito__visuel { background: var(--v3-paper); }
  .kx-v3-section--lavande .kx-v3-edito__visuel :is(.kx-v3-abs--liste i, .kx-v3-abs--doc) { background: var(--v3-violet-soft); }
  .kx-v3-section--encre .kx-v3-edito__visuel { background: rgba(250, 248, 244, 0.06); border: 1px solid rgba(250, 248, 244, 0.12); }
}

/* --- Les mini-interfaces s'animent a l'ecran --------------------------------------------------- */
.kx-v3-abs--conv i { transition: opacity .5s ease, transform .6s var(--v3-ease); }
.kx-v3-abs--conv i:nth-child(1) { transition-delay: .2s; }
.kx-v3-abs--conv i:nth-child(2) { transition-delay: .75s; }
.kx-v3-abs--conv i:nth-child(3) { transition-delay: 1.3s; }
.kx-v3-js .kx-v3-rv:not(.is-in) .kx-v3-abs--conv i { opacity: 0; transform: translateY(8px) scale(.94); }
.kx-v3-abs--progres i::after { transition: width 1.3s var(--v3-ease) .3s; }
.kx-v3-abs--progres i:nth-child(2)::after { transition-delay: .45s; }
.kx-v3-abs--progres i:nth-child(3)::after { transition-delay: .6s; }
.kx-v3-js .kx-v3-rv:not(.is-in) .kx-v3-abs--progres i::after { width: 0; }
.kx-v3-tuiles--grandes i { transition: opacity .4s ease, transform .5s var(--v3-ease); transition-delay: calc(var(--k, 0) * 45ms + .2s); }
.kx-v3-js .kx-v3-rv:not(.is-in) .kx-v3-tuiles--grandes i { opacity: 0; transform: scale(.4); }
.kx-v3-abs--doc i, .kx-v3-abs--doc b { transform-origin: left; transition: transform .8s var(--v3-ease); }
.kx-v3-abs--doc i:nth-child(1) { transition-delay: .2s; }
.kx-v3-abs--doc i:nth-child(2) { transition-delay: .35s; }
.kx-v3-abs--doc i:nth-child(3) { transition-delay: .5s; }
.kx-v3-abs--doc i:nth-child(4) { transition-delay: .65s; }
.kx-v3-abs--doc b { transition-delay: 1s; }
.kx-v3-js .kx-v3-rv:not(.is-in) :is(.kx-v3-abs--doc i, .kx-v3-abs--doc b) { transform: scaleX(0); }
.kx-v3-barres-mini i { transform-origin: bottom; transition: transform .9s var(--v3-ease); }
.kx-v3-barres-mini i:nth-child(2) { transition-delay: .1s; }
.kx-v3-barres-mini i:nth-child(3) { transition-delay: .2s; }
.kx-v3-barres-mini i:nth-child(4) { transition-delay: .3s; }
.kx-v3-barres-mini i:nth-child(5) { transition-delay: .5s; }
.kx-v3-barres-mini i:nth-child(6) { transition-delay: .6s; }
.kx-v3-js .kx-v3-rv:not(.is-in) .kx-v3-barres-mini i { transform: scaleY(0); }
.kx-v3-abs--liste i { transition: opacity .5s ease, transform .6s var(--v3-ease); }
.kx-v3-abs--liste i:nth-child(2) { transition-delay: .15s; }
.kx-v3-abs--liste i:nth-child(3) { transition-delay: .3s; }
.kx-v3-abs--liste b { transition: transform .45s var(--v3-ease) .9s; }
.kx-v3-abs--liste i:nth-child(2) b { transition-delay: 1.1s; }
.kx-v3-abs--liste i:nth-child(3) b { transition-delay: 1.3s; }
.kx-v3-js .kx-v3-rv:not(.is-in) .kx-v3-abs--liste i { opacity: 0; transform: translateX(-10px); }
.kx-v3-js .kx-v3-rv:not(.is-in) .kx-v3-abs--liste b { transform: scale(0); }

/* Pictogrammes des benefices : le trait se dessine */
.kx-v3-garantie svg [pathLength] { stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1.4s var(--v3-ease) .35s; }
.kx-v3-js .kx-v3-garantie.kx-v3-rv:not(.is-in) svg [pathLength] { stroke-dashoffset: 1; }

/* --- Frise : les etapes s'allument ; 5 ou 6 etapes sur trois colonnes ----------------------------- */
@media (min-width: 1200px) {
  .kx-da-v3 .entry-content :is(.kx-v3-frise--5, .kx-v3-frise--6) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  :is(.kx-v3-frise--5, .kx-v3-frise--6) li:nth-child(3n)::after { display: none; }
}
.kx-v3-frise__visuel--pilote i { transition: background-color .4s ease; }
.kx-v3-frise__visuel--pilote i.on:nth-child(1) { transition-delay: .4s; }
.kx-v3-frise__visuel--pilote i.on:nth-child(2) { transition-delay: .7s; }
.kx-v3-frise__visuel--pilote i.on:nth-child(3) { transition-delay: 1s; }
.kx-v3-js .kx-v3-rv:not(.is-in) .kx-v3-frise__visuel--pilote i.on { background: var(--v3-line); }
.kx-v3-frise__visuel--audit i { transform-origin: left; transition: transform .9s var(--v3-ease) .3s; }
.kx-v3-frise__visuel--audit i:nth-child(2) { transition-delay: .45s; }
.kx-v3-frise__visuel--audit i:nth-child(3) { transition-delay: .6s; }
.kx-v3-js .kx-v3-rv:not(.is-in) .kx-v3-frise__visuel--audit i { transform: scaleX(0); }
.kx-v3-frise__visuel--retours i { transition: opacity .5s ease .3s, transform .6s var(--v3-ease) .3s; }
.kx-v3-frise__visuel--retours i:last-child { transition-delay: .8s; }
.kx-v3-js .kx-v3-rv:not(.is-in) .kx-v3-frise__visuel--retours i { opacity: 0; transform: translateY(8px); }
.kx-v3-frise__visuel--reseau i { transition: opacity .4s ease .4s; }
.kx-v3-frise__visuel--reseau i:nth-child(even) { transition-delay: .7s; }
.kx-v3-js .kx-v3-rv:not(.is-in) .kx-v3-frise__visuel--reseau i { opacity: 0; }
/* Relier : trois points relies, un point violet circule */
.kx-v3-frise__visuel--branche { position: relative; flex-wrap: nowrap; align-items: center; justify-content: space-between; }
.kx-v3-frise__visuel--branche::before { content: ""; position: absolute; left: .7rem; right: .7rem; top: 50%; height: 2px; margin-top: -1px; background: var(--v3-line); }
.kx-v3-frise__visuel--branche i { position: relative; width: 1.4rem; height: 1.4rem; border-radius: 9999px; background: var(--v3-paper); border: 2px solid var(--v3-line); }
.kx-v3-frise__visuel--branche i:nth-child(2) { border-color: var(--v3-violet); background: var(--v3-violet); }
.kx-v3-frise__visuel--branche::after { content: ""; position: absolute; top: 50%; left: .7rem; width: 8px; height: 8px; margin-top: -4px; border-radius: 9999px; background: var(--v3-violet); animation: kxV3Relie 2.6s ease-in-out infinite alternate; }
@keyframes kxV3Relie { from { left: .7rem; } to { left: calc(100% - .7rem - 8px); } }
.kx-da-v3 .kx-v3-frise__apres { max-width: 48rem; margin-top: 2.5rem; }
.kx-da-v3 .kx-v3-frise__apres > p { margin: 1.1rem 0 0; font-size: 1.0625rem; line-height: 1.7; color: var(--v3-ink-70); }

/* --- Chaine d'etapes : des pastilles reliees, une lumiere les parcourt a tour de role ---------- */
.kx-da-v3 .entry-content .kx-v3-chaine { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 0; margin: 0 0 2.5rem; padding: 0; list-style: none; }
.kx-v3-chaine li { display: flex; align-items: center; margin: 0; padding: 0; background: none; font-size: .9375rem; font-weight: 600; line-height: 1; white-space: nowrap; color: var(--v3-ink); }
.kx-v3-chaine li + li::before { content: ""; width: 1.25rem; height: 2px; background: var(--v3-ink-30); }
.kx-v3-chaine li { --fond: var(--v3-paper); }
.kx-v3-section--papier .kx-v3-chaine li { --fond: var(--v3-cream); }
.kx-v3-chaine li > span { padding: .65rem 1.1rem; border-radius: 9999px; background: var(--fond); border: 1px solid var(--v3-line); }
.kx-v3-chaine.is-in li > span, html:not(.kx-v3-js) .kx-v3-chaine li > span { animation: kxV3Allume calc(var(--n, 5) * .7s) ease-in-out calc(var(--k, 0) * .7s + .4s) infinite; }
@keyframes kxV3Allume { 0%, 16% { background: var(--v3-violet); border-color: var(--v3-violet); color: var(--v3-paper); } 26%, 100% { background: var(--fond); border-color: var(--v3-line); color: var(--v3-ink); } }
.kx-v3-section--encre .kx-v3-chaine li { color: var(--v3-paper); --fond: rgba(250, 248, 244, 0.06); }

/* Pastilles simples : elles arrivent l'une apres l'autre */
.kx-da-v3 .entry-content .kx-v3-pastilles { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.75rem 0 0; padding: 0; list-style: none; }
.kx-v3-cartes + .kx-v3-pastilles, .kx-v3-usages + .kx-v3-pastilles { margin-top: 2rem; }
.kx-v3-pastilles li { margin: 0; padding: .5rem 1rem; border-radius: 9999px; background: var(--v3-paper); border: 1px solid var(--v3-line); font-size: .875rem; font-weight: 500; color: var(--v3-ink); transition: opacity .4s ease, transform .5s var(--v3-ease); transition-delay: calc(var(--k, 0) * 70ms + .15s); }
.kx-v3-section--papier .kx-v3-pastilles li { background: var(--v3-cream); }
.kx-v3-section--encre .kx-v3-pastilles li { background: rgba(250, 248, 244, 0.06); border-color: rgba(250, 248, 244, 0.16); color: var(--v3-paper); }
.kx-v3-js .kx-v3-pastilles.kx-v3-rv:not(.is-in) li { opacity: 0; transform: translateY(6px); }

/* --- Encadre « a retenir » ------------------------------------------------------------------------ */
.kx-v3-note { display: flex; gap: .9rem; margin-top: 2rem; padding: 1.25rem 1.5rem; border-radius: 1.25rem; background: var(--v3-violet-soft); color: var(--v3-ink); }
.kx-v3-section--lavande .kx-v3-note { background: var(--v3-paper); }
.kx-v3-section--encre .kx-v3-note { background: rgba(250, 248, 244, 0.08); color: var(--v3-paper); }
.kx-v3-note .kx-v3-marque { flex: none; width: 1.25rem; height: 1.25rem; margin-top: .2rem; color: var(--v3-violet); }
.kx-v3-section--encre .kx-v3-note .kx-v3-marque { color: var(--v3-violet-30); }
.kx-da-v3 .kx-v3-note p { margin: 0; font-size: 1.0625rem; font-weight: 500; line-height: 1.55; color: inherit; }

/* --- Cartes : etiquette, liste courte -------------------------------------------------------------- */
.kx-v3-etiquette { align-self: flex-start; display: inline-block; margin: 0 .5rem .7rem; padding: .25rem .65rem; border-radius: 9999px; background: var(--v3-violet-soft); color: var(--v3-violet); font-size: .75rem; font-weight: 600; line-height: 1.3; }
.kx-v3-garantie .kx-v3-etiquette { margin: 0 0 .7rem; }
.kx-v3-section--lavande .kx-v3-usages .kx-v3-etiquette { background: var(--v3-violet-soft); }
.kx-da-v3 .entry-content .kx-v3-carte__liste { margin: .8rem .5rem 0; padding: 0; list-style: none; }
.kx-v3-garantie .kx-v3-carte__liste, .kx-v3-sous__item .kx-v3-carte__liste { margin-left: 0 !important; margin-right: 0 !important; }
.kx-v3-usages .kx-v3-carte__liste li, .kx-v3-cartes .kx-v3-carte__liste li, .kx-v3-carte__liste li { position: relative; display: block; margin: .35rem 0 0; padding: 0 0 0 1.1rem; border: 0; border-radius: 0; background: none; font-size: .875rem; line-height: 1.5; color: var(--v3-ink-70); transform: none !important; }
.kx-v3-carte__liste li::before { content: ""; position: absolute; left: 0; top: .55em; width: .4rem; height: .4rem; border-radius: 9999px; background: var(--v3-violet); }

/* --- Tableaux : les lignes arrivent une a une ; legende -------------------------------------------- */
.kx-v3-table tbody tr { transition: opacity .5s ease; transition-delay: calc(var(--k, 0) * 90ms + .25s); }
.kx-v3-js .kx-v3-table.kx-v3-rv:not(.is-in) tbody tr { opacity: 0; }
.kx-da-v3 .kx-v3-legende { margin: 1rem 0 0; font-size: .875rem; color: var(--v3-ink-70); }

/* --- Bandeau photo : pleine colonne, leger parallaxe au defilement ---------------------------------- */
.kx-v3-bandeau__photo { position: relative; margin: 0; overflow: hidden; border-radius: 1.75rem; aspect-ratio: 4 / 3; }
@media (min-width: 768px) { .kx-v3-bandeau__photo { aspect-ratio: 16 / 7; } }
.kx-v3-bandeau__photo > img { position: absolute; left: 0; top: -8%; width: 100%; height: 116%; object-fit: cover; }
@supports (animation-timeline: view()) {
  .kx-v3-bandeau__photo > img { animation: kxV3Parallaxe linear both; animation-timeline: view(); animation-range: cover; }
  @keyframes kxV3Parallaxe { from { translate: 0 -6%; } to { translate: 0 6%; } }
}
@media (min-width: 768px) { .kx-v3-bandeau .kx-v3-puce--grande { left: 1.5rem; bottom: 1.5rem; width: 15rem; } }
@media (min-width: 1024px) { .kx-v3-bandeau .kx-v3-puce--grande { left: 2rem; bottom: 2rem; } }
/* Le bandeau garde sa marge avant une section de couleur ; avant une section papier, celle-ci suffit */
.kx-v3-section.kx-v3-bandeau { padding-bottom: 4rem; }
@media (min-width: 640px) { .kx-v3-section.kx-v3-bandeau { padding-bottom: 5rem; } }
@media (min-width: 1024px) { .kx-v3-section.kx-v3-bandeau { padding-bottom: 6rem; } }
.kx-v3-section.kx-v3-bandeau + .kx-v3-section--papier { padding-top: 0; }

/* --- Le chiffre du hero : chiffres a chasse fixe pendant qu'il defile ------------------------------ */
[data-kx-compte] { font-variant-numeric: tabular-nums; }

@media (prefers-reduced-motion: reduce) {
  .kx-v3-korbyx__attente { display: none; }
  .kx-v3-korbyx__q, .kx-v3-korbyx__r, .kx-v3-korbyx__bouton, .kx-v3-reperes b::before, .kx-v3-puce, .kx-v3-chaine li > span, .kx-v3-frise__visuel--branche::after, .kx-v3-bandeau__photo > img { animation: none !important; }
}

/* ==========================================================================
   7. Modules de la home v3 dans les pages interieures (27/09) : surlignage des passages cles,
   bandeau des logos, fenetre de l'application en onglets, bande des secteurs.
   Mouvements : korbyx-v3-modules.js. Aucune ombre, aucun degrade (le marqueur est un aplat).
   ========================================================================== */

/* --- Surlignage : marqueur lavande plein, texte violet, pose a l'arrivee (home : .kx3-surligne) --- */
.kx-da-v3 strong.kx-v3-surligne {
  --marqueur: var(--v3-violet-soft);
  font-weight: 600; color: var(--v3-violet);
  padding: .02em .18em; margin: 0 -.14em; border-radius: .32em;
  background: linear-gradient(var(--marqueur), var(--marqueur)) no-repeat 0 0 / 100% 100%;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.kx-v3-js-surligne .kx-da-v3 strong.kx-v3-surligne { background-size: 0% 100%; transition: background-size 1.1s cubic-bezier(.65, 0, .35, 1) .15s; }
.kx-v3-js-surligne .kx-da-v3 strong.kx-v3-surligne.is-in { background-size: 100% 100%; }
.kx-v3-js-surligne .kx-da-v3 .kx-v3-hero strong.kx-v3-surligne { transition-delay: 1.3s; }
.kx-da-v3 .kx-v3-section--lavande .kx-v3-surligne { --marqueur: var(--v3-paper); }
.kx-da-v3 .kx-v3-section--encre .kx-v3-surligne { --marqueur: var(--v3-violet-30); color: var(--v3-violet); }

/* --- Bandeau des logos clients : fond encre, logos clairs qui defilent en continu --------------- */
.kx-v3-section.kx3m-logos { padding: 3rem 0; background: var(--v3-ink); color: var(--v3-paper); overflow: hidden; }
@media (min-width: 640px) { .kx-v3-section.kx3m-logos { padding: 3.5rem 0; } }
.kx-da-v3 .kx3m-logos__titre { margin: 0 0 2rem; padding: 0 var(--v3-gouttiere); text-align: center; font-size: .875rem; font-weight: 500; color: var(--v3-paper-70); }
.kx3m-logos__piste { overflow: hidden; }
.kx3m-logos__defile { display: flex; width: max-content; animation: kx3mDefile 60s linear infinite; }
@keyframes kx3mDefile { to { transform: translateX(-50%); } }
.kx3m-logos__rangee { display: flex; align-items: center; }
.kx3m-logo { flex: none; height: 1.75rem; width: auto; margin-right: 4rem; opacity: .55; filter: grayscale(1) brightness(1.9); transition: opacity .3s; }
.kx3m-logo--mono { filter: brightness(0) invert(.96); }
.kx3m-logo:hover { opacity: 1; }
.kx3m-logo--texte { display: inline-flex; align-items: center; gap: .6rem; height: auto; filter: none; }
.kx3m-logo--texte img { height: 2.25rem; width: auto; filter: brightness(0) invert(.96); }
.kx3m-logo--texte span { white-space: nowrap; font-size: 1.125rem; font-weight: 600; letter-spacing: -0.01em; color: var(--v3-paper); }

/* --- La fenetre de l'application, en trois onglets ------------------------------------------- */
.kx3m-produit__tete { max-width: 48rem; margin: 0 auto; text-align: center; }
.kx-da-v3 .kx3m-produit__tete .kx-v3-intro { max-width: 40rem; margin-left: auto; margin-right: auto; }
.kx3m-onglets { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .25rem; width: fit-content; max-width: 100%; margin: 3rem auto 0; padding: .375rem; border-radius: 9999px; background: var(--v3-cream); }
.kx-da-v3 .kx3m-onglets button[role="tab"] { margin: 0; padding: .5rem 1.25rem; border: 0; border-radius: 9999px; background: none; font: inherit; font-size: .9375rem; font-weight: 600; line-height: 1.5; color: var(--v3-ink-70); cursor: pointer; transition: background-color .3s, color .3s; }
.kx-da-v3 .kx3m-onglets button[role="tab"]:hover { color: var(--v3-ink); }
.kx-da-v3 .kx3m-onglets button[aria-selected="true"] { background: var(--v3-ink); color: var(--v3-paper); }
.kx-da-v3 .kx3m-pause { position: relative; display: flex; width: 2.5rem; height: 2.5rem; margin: 0 0 0 .25rem; padding: 0; align-items: center; justify-content: center; border: 0; border-radius: 9999px; background: var(--v3-violet); color: var(--v3-paper); cursor: pointer; }
.kx3m-pause > svg:first-child { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); fill: none; stroke: currentColor; stroke-width: 2.5; }
.kx3m-pause > svg:first-child circle:first-child { stroke-opacity: .25; }
.kx3m-anneau { stroke-dasharray: 100; stroke-dashoffset: 100; stroke-linecap: round; }
.kx3m-produit.is-tourne .kx3m-anneau { animation: kx3mAnneau 7s linear forwards; }
@keyframes kx3mAnneau { to { stroke-dashoffset: 0; } }
.kx3m-pause__ic, .kx3m-lecture__ic { width: 1rem; height: 1rem; fill: currentColor; }
.kx3m-lecture__ic, .kx3m-produit.is-pause .kx3m-pause__ic { display: none; }
.kx3m-produit.is-pause .kx3m-lecture__ic { display: block; margin-left: 2px; }
.kx3m-panneaux { display: grid; margin-top: 2rem; }
.kx3m-panneau { grid-area: 1 / 1; transition: opacity .5s ease; }
.kx3m-panneau[data-on="false"] { opacity: 0; pointer-events: none; visibility: hidden; transition: opacity .3s ease, visibility 0s .3s; }
.kx3m-panneau__texte { max-width: 42rem; margin: 0 auto; text-align: center; }
.kx-da-v3 .kx3m-panneau__texte h3 { margin: 0; font-size: clamp(1.5rem, 2.4vw, 2.125rem); font-weight: 600; line-height: 1.15; letter-spacing: -0.03em; color: var(--v3-ink); }
.kx-da-v3 .kx3m-panneau__texte p { margin: 1rem 0 0; font-size: 1.0625rem; line-height: 1.6; color: var(--v3-ink-70); }
.kx3m-fenetre { max-width: 72rem; margin: 2.5rem auto 0; overflow: hidden; border: 1px solid var(--v3-line); border-radius: 1.375rem; background: var(--v3-cream); color: var(--v3-ink); text-align: left; }
.kx-da-v3 .kx3m-fenetre__barre { display: flex; align-items: center; margin: 0; padding: .6rem 1rem; border-bottom: 1px solid var(--v3-line); background: #F9F6F2; }
.kx3m-points { display: flex; gap: .375rem; }
.kx3m-points i { width: .625rem; height: .625rem; border-radius: 9999px; background: var(--v3-line); }
.kx3m-adresse { display: inline-flex; align-items: center; gap: .375rem; margin: 0 auto; padding: .25rem .75rem; border-radius: .375rem; background: var(--v3-paper); font-size: .75rem; color: var(--v3-ink-70); }
.kx3m-adresse svg { width: .875rem; height: .875rem; color: var(--v3-violet); }
.kx3m-fenetre__corps { padding: 1rem; }
@media (min-width: 640px) { .kx3m-fenetre__corps { padding: 1.5rem; } }
@media (min-width: 1024px) { .kx3m-fenetre__corps { min-height: 25rem; display: flex; align-items: center; } }
.kx3m-duo { display: grid; gap: 1.25rem; width: 100%; align-items: center; }
@media (min-width: 1024px) { .kx3m-duo { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); } }
.kx3m-carte { padding: 1rem; border: 1px solid var(--v3-line); border-radius: .75rem; background: var(--v3-paper); }
.kx-da-v3 .kx3m-carte p { margin: 0; }
.kx-da-v3 .kx3m-carte__tete { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; font-size: .75rem; }
.kx3m-carte__tete span:first-child { font-weight: 500; color: var(--v3-ink); }
.kx3m-carte__tete span:last-child { color: var(--v3-ink-50); }
.kx3m-carte__tete--petit span:first-child { font-weight: 400; color: var(--v3-ink-50); }
.kx-da-v3 .kx3m-carte__pied { display: flex; align-items: center; gap: .5rem; margin-top: 1.25rem; padding-top: .75rem; border-top: 1px solid var(--v3-line); font-size: .75rem; color: var(--v3-ink-70); }
.kx3m-carte__pied svg { width: 1rem; height: 1rem; color: var(--v3-violet); }
.kx3m-carte__pied--entre { justify-content: space-between; }
.kx-da-v3 .entry-content .kx3m-barres { position: relative; display: grid; gap: .75rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.kx3m-barres li { display: grid; grid-template-columns: 7rem minmax(0, 1fr) 2.5rem; align-items: center; gap: .5rem; margin: 0; font-size: .75rem; color: var(--v3-ink-70); }
.kx3m-barres span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.kx3m-barres i { display: block; height: .625rem; overflow: hidden; border-radius: 9999px; background: #ECEFEF; }
.kx3m-barres b { display: block; height: 100%; border-radius: 9999px; background: rgba(26, 36, 38, 0.7); transform-origin: left; transition: transform 1.6s var(--v3-ease); transition-delay: calc(200ms + var(--i) * 150ms); }
.kx3m-barres em { font-style: normal; text-align: right; font-variant-numeric: tabular-nums; color: var(--v3-ink); }
.kx3m-barres li.r span, .kx3m-barres li.r em { font-weight: 500; color: #B4213F; }
.kx3m-barres li.r b { background: #DB1239; }
.kx3m-barres li.v b { background: var(--v3-violet); }
.kx3m-barres::before { content: ""; position: absolute; top: -.25rem; bottom: -.25rem; width: 1px; background: rgba(26, 36, 38, 0.4); left: calc(7.5rem + (100% - 10.5rem) * var(--m, .6)); }
.kx3m-barres--regions::before { content: none; }
.kx3m-barres--regions li { grid-template-columns: 6.5rem minmax(0, 1fr) 2.5rem; }
.kx3m-barres--regions b { transition-delay: calc(3700ms + var(--i) * 140ms); }
.kx3m-panneau[data-on="false"] .kx3m-barres b { transform: scaleX(0); transition: none; }
.kx3m-resultat { display: none; flex-direction: column; padding: 1rem; border: 1px solid var(--v3-line); border-radius: .75rem; background: var(--v3-paper); transition: opacity .7s ease 1.5s, transform .7s var(--v3-ease) 1.5s; }
@media (min-width: 1024px) { .kx3m-resultat { display: flex; } }
.kx3m-panneau[data-on="false"] .kx3m-resultat { opacity: 0; transform: translateY(.75rem); transition: none; }
#kx3m-p-interroger .kx3m-resultat { transition-delay: 3.4s; }
.kx-da-v3 .kx3m-resultat__sur { display: flex; align-items: center; gap: .5rem; margin: 0; font-size: .75rem; font-weight: 600; color: var(--v3-violet); }
.kx3m-resultat__sur svg { width: .875rem; height: .875rem; }
.kx-da-v3 .kx3m-resultat__titre { margin: .25rem 0 .75rem; font-size: 1rem; font-weight: 600; line-height: 1.35; color: var(--v3-ink); }
.kx3m-chiffres { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 0; }
.kx3m-chiffres > div { padding: .625rem .75rem; border-radius: .5rem; background: var(--v3-cream); }
.kx3m-chiffres dt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.kx3m-chiffres dd { margin: 0; }
.kx3m-chiffres b { display: block; font-size: 1.375rem; font-weight: 600; line-height: 1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; color: var(--v3-ink); }
.kx3m-chiffres dd span { display: block; margin-top: .25rem; font-size: .75rem; line-height: 1.35; color: var(--v3-ink-70); }
.kx-da-v3 .entry-content .kx3m-lignes { display: grid; gap: .375rem; margin: .75rem 0 0; padding: 0; list-style: none; }
.kx3m-ligne { display: flex; align-items: flex-start; gap: .5rem; margin: 0; font-size: .75rem; line-height: 1.4; color: var(--v3-ink-70); }
.kx3m-ligne svg { width: .875rem; height: .875rem; margin-top: 1px; color: #3F858F; }
.kx3m-ligne--attente svg { color: var(--v3-ink-50); }
.kx3m-lignes--journal .kx3m-ligne { font-size: .875rem; }
/* Interroger : les messages arrivent l'un apres l'autre */
.kx3m-conv { display: grid; gap: .75rem; font-size: .875rem; }
.kx-da-v3 .kx3m-conv p { margin: 0; }
.kx-da-v3 .kx3m-conv__q { justify-self: end; max-width: 80%; padding: .625rem 1rem; border-radius: 1rem 1rem .25rem 1rem; background: var(--v3-paper); color: var(--v3-ink); }
.kx3m-conv__r { display: flex; align-items: flex-start; gap: .5rem; }
.kx3m-conv__r > div { max-width: 88%; padding: .75rem 1rem; border: 1px solid rgba(91, 38, 254, 0.2); border-radius: 1rem 1rem 1rem .25rem; background: var(--v3-violet-soft); color: var(--v3-ink); }
.kx3m-conv__avatar { display: flex; width: 1.75rem; height: 1.75rem; flex: none; margin-top: .25rem; align-items: center; justify-content: center; border-radius: 9999px; background: var(--v3-violet-soft); }
.kx3m-conv__avatar svg { width: 1rem; height: 1rem; color: var(--v3-violet); }
.kx3m-conv__q, .kx3m-conv__r { transition: opacity .5s ease, transform .5s var(--v3-ease); transition-delay: calc(200ms + var(--t) * 900ms); }
.kx3m-panneau[data-on="false"] :is(.kx3m-conv__q, .kx3m-conv__r) { opacity: 0; transform: translateY(.5rem); transition: none; }
.kx-da-v3 .kx3m-sources { display: flex !important; flex-wrap: wrap; gap: .375rem; margin-top: .625rem !important; }
.kx3m-sources span { padding: .125rem .5rem; border: 1px solid var(--v3-line); border-radius: .375rem; background: var(--v3-paper); font-size: .6875rem; color: var(--v3-ink-70); }
/* Agir : la tache preparee, validee, ecrite dans l'outil */
.kx3m-pile { display: grid; gap: .75rem; }
.kx3m-prepare { display: inline-flex; align-items: center; gap: .25rem; color: var(--v3-violet) !important; }
.kx3m-prepare svg { width: .75rem; height: .75rem; }
.kx-da-v3 .kx3m-tache { margin-top: .5rem !important; font-size: .9375rem; font-weight: 500; color: var(--v3-ink); }
.kx-da-v3 .kx3m-tache__texte { margin-top: .375rem !important; font-size: .875rem; line-height: 1.5; color: var(--v3-ink-70); }
.kx3m-valider { position: relative; display: inline-grid; font-size: .75rem; font-weight: 500; }
.kx3m-valider > span { grid-area: 1 / 1; display: inline-flex; align-items: center; gap: .375rem; padding: .25rem .75rem; border-radius: 9999px; transition: opacity .5s ease 1.3s; }
.kx3m-valider > span:first-child { background: var(--v3-violet); color: var(--v3-paper); opacity: 0; }
.kx3m-valider > span:last-child { background: #EBF9F9; color: #2F6C74; }
.kx3m-valider svg { width: .875rem; height: .875rem; }
.kx3m-panneau[data-on="false"] .kx3m-valider > span:first-child { opacity: 1; transition: none; }
.kx3m-panneau[data-on="false"] .kx3m-valider > span:last-child { opacity: 0; transition: none; }
.kx-da-v3 .kx3m-mention { margin: 1rem 0 0; text-align: center; font-size: .75rem; color: var(--v3-ink-50); }

/* --- Bande des secteurs, cas d'usage et guides : pleine largeur, defile seule ----------------- */
.kx-v3-section.kx3m-bande-section { padding-left: 0; padding-right: 0; }
.kx3m-bande-section > .kx-v3-wrap { padding: 0 var(--v3-gouttiere); }
.kx-da-v3 .entry-content .kx3m-bande { display: flex; gap: 1rem; margin: 0; padding: 0 1rem 0 0; overflow-x: auto; list-style: none; cursor: grab; scrollbar-width: none; }
.kx3m-bande::-webkit-scrollbar { display: none; }
.kx3m-bande:active { cursor: grabbing; }
.kx3m-bande__item { flex: none; width: min(21rem, 80vw); margin: 0 !important; }
.kx3m-bande__item--typo { width: min(26rem, 82vw); }
.kx3m-bande__item--article { width: min(19rem, 78vw); }
.kx-da-v3 .kx3m-c { position: relative; display: flex; flex-direction: column; height: 26rem; overflow: hidden; border-radius: 1.75rem; text-decoration: none; color: var(--v3-ink); -webkit-user-drag: none; }
.kx3m-c img { -webkit-user-drag: none; user-select: none; }
.kx-da-v3 .entry-content a.kx3m-c, .kx-da-v3 .entry-content a.kx3m-c:hover, .kx-da-v3 .entry-content .kx3m-bande__tous { text-decoration: none !important; }
.kx3m-c__corps { position: relative; display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }
.kx3m-pastille { display: inline-flex; width: fit-content; padding: .25rem .625rem; border-radius: 9999px; background: var(--v3-violet-soft); font-size: .75rem; font-weight: 600; color: var(--v3-violet); }
.kx3m-pastille--sombre { background: rgba(250, 248, 244, 0.15); color: var(--v3-paper); }
.kx3m-c__titre { display: -webkit-box; margin-top: .75rem; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 1.25rem; font-weight: 600; line-height: 1.2; letter-spacing: -0.025em; }
.kx3m-c__titre--serif { -webkit-line-clamp: 3; font-family: "Newsreader", Georgia, serif; font-style: italic; font-weight: 400; font-size: 1.5rem; letter-spacing: -0.02em; }
.kx3m-c__texte { display: -webkit-box; margin-top: .5rem; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: .875rem; line-height: 1.55; color: var(--v3-ink-70); }
.kx3m-c__voir { display: inline-flex; align-items: center; gap: .375rem; margin-top: auto; padding-top: .75rem; font-size: .875rem; font-weight: 500; }
.kx3m-c__voir svg { width: .875rem; height: .875rem; transition: transform .3s; }
.kx3m-c:hover .kx3m-c__voir svg { transform: translateX(2px); }
.kx3m-c__img { display: block; height: 12.5rem; flex: none; overflow: hidden; background: var(--v3-cream); }
.kx3m-c__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--v3-ease), filter 1.2s var(--v3-ease); }
.kx3m-c--photo { border: 1px solid var(--v3-line); background: var(--v3-paper); }
.kx3m-c--photo .kx3m-c__img img { filter: grayscale(1) sepia(.15); }
.kx3m-c--photo:hover .kx3m-c__img img { filter: none; transform: scale(1.04); }
.kx-da-v3 .kx3m-c--typo { background: var(--v3-ink); color: var(--v3-paper); }
.kx3m-c--typo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35); transition: transform 1.2s var(--v3-ease); }
.kx3m-c--typo:hover > img { transform: scale(1.04); }
.kx3m-c__voile { position: absolute; inset: 0; background: rgba(26, 36, 38, 0.55); }
.kx3m-c--typo .kx3m-c__corps { padding: 1.5rem; }
.kx3m-c__milieu { margin: auto 0; text-align: center; }
.kx3m-c__grand { display: block; font-size: clamp(2.25rem, 3.4vw, 3.25rem); font-weight: 600; line-height: .95; letter-spacing: -0.05em; overflow-wrap: anywhere; }
.kx3m-c__milieu em { display: block; margin-top: .75rem; font-family: "Newsreader", Georgia, serif; font-style: italic; font-size: 1.5rem; line-height: 1.15; }
.kx3m-c--typo .kx3m-c__voir { justify-content: center; }
.kx-da-v3 .kx3m-c--anim { background: var(--v3-violet); color: var(--v3-paper); }
.kx3m-c--anim .kx3m-c__corps { padding: 1.5rem; }
.kx3m-c__visuel { display: block; margin: auto 0; }
.kx3m-c--anim .kx3m-c__titre { font-size: 1.375rem; }
.kx3m-c--anim .kx3m-c__texte { color: var(--v3-paper-70); }
.kx3m-c--guide { background: var(--v3-cream); }
.kx3m-c--guide .kx3m-c__img { height: 11rem; background: var(--v3-paper); }
.kx3m-c--guide:hover .kx3m-c__img img { transform: scale(1.04); }
.kx3m-anim-tuiles { display: grid; grid-template-columns: repeat(8, 1fr); gap: .375rem; }
.kx3m-anim-tuiles i { aspect-ratio: 1; border-radius: 4px; background: rgba(250, 248, 244, 0.15); }
.kx3m-anim-tuiles i.r { background: #DB1239; animation: kxV3Pulse 2.4s ease-in-out infinite; }
.kx3m-anim-relance { display: grid; gap: .5rem; font-size: .875rem; }
.kx3m-anim-relance > span { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .625rem .875rem; border-radius: .75rem; background: rgba(250, 248, 244, 0.1); animation: kx3mRelance 3.6s ease-in-out infinite; }
.kx3m-anim-relance b { padding: .125rem .5rem; border-radius: 9999px; background: var(--v3-paper); font-size: .75rem; font-weight: 600; color: var(--v3-violet); }
@keyframes kx3mRelance { 0%, 100% { opacity: .55; } 20%, 60% { opacity: 1; } }
.kx3m-anim-barres { display: flex; align-items: flex-end; gap: .5rem; height: 9rem; }
.kx3m-anim-barres i { flex: 1; border-radius: .5rem .5rem 0 0; background: rgba(250, 248, 244, 0.8); transform-origin: bottom; animation: kx3mBarre 3.2s ease-in-out infinite; }
@keyframes kx3mBarre { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(.72); } }
.kx3m-bande__pied { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2.5rem; margin-top: 2rem; }
.kx3m-bande__fleches { display: flex; gap: .5rem; }
.kx-da-v3 .kx3m-bande__fleches button { display: flex; width: 2.75rem; height: 2.75rem; margin: 0; padding: 0; align-items: center; justify-content: center; border: 1px solid var(--v3-line); border-radius: 9999px; background: var(--v3-paper); color: var(--v3-ink); cursor: pointer; transition: border-color .3s; }
.kx3m-bande__fleches button:hover { border-color: var(--v3-ink); }
.kx3m-bande__fleches svg { width: 1rem; height: 1rem; }
.kx3m-bande__fleches button:first-child svg { transform: rotate(180deg); }
.kx-da-v3 .kx3m-bande__tous { display: inline-flex; align-items: center; gap: .375rem; font-size: 1rem; font-weight: 500; color: var(--v3-ink); text-decoration: none; }
.kx3m-bande__tous svg { width: 1rem; height: 1rem; }

@media (prefers-reduced-motion: reduce) {
  .kx3m-logos__defile, .kx3m-anim-tuiles i.r, .kx3m-anim-relance > span, .kx3m-anim-barres i, .kx3m-produit .kx3m-anneau { animation: none !important; }
  .kx3m-logos__piste { overflow-x: auto; }
}

/* ==========================================================================
   8. Pages faites sur les gabarits d'Aurore (kx_gabarit_v3.py, 27/09) : blocs en plus
   ========================================================================== */
/* Chiffres cles : en grand, separes par des filets, un trait violet qui se trace (home : bandeau) */
.kx-da-v3 .entry-content .kx-v3-stats { display: grid; gap: 2rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 640px) { .kx-da-v3 .entry-content :is(.kx-v3-stats--2, .kx-v3-stats--4) { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kx-da-v3 .entry-content .kx-v3-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; } }
@media (min-width: 1024px) { .kx-da-v3 .entry-content .kx-v3-stats--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; } }
.kx-v3-stats li { margin: 0; }
@media (min-width: 640px) { .kx-v3-stats--3 li + li, .kx-v3-stats--4 li + li { padding-left: 2rem; margin-left: 2rem; border-left: 1px solid var(--v3-line); } }
.kx-v3-stats b { display: block; font-size: clamp(3rem, 5.4vw, 5rem); font-weight: 600; line-height: .95; letter-spacing: -0.05em; color: var(--v3-ink); font-variant-numeric: tabular-nums; }
.kx-v3-stats b::after { content: ""; display: block; width: 3rem; height: 3px; margin-top: 1.25rem; border-radius: 9999px; background: var(--v3-violet); transform-origin: left; transition: transform 1s var(--v3-ease) .3s; }
.kx-v3-js .kx-v3-stats li.kx-v3-rv:not(.is-in) b::after { transform: scaleX(0); }
.kx-v3-stats span { display: block; margin-top: 1rem; max-width: 22rem; font-size: 1rem; line-height: 1.5; color: var(--v3-ink-70); }
.kx-v3-section--encre .kx-v3-stats b { color: var(--v3-violet-30); }
.kx-v3-section--encre .kx-v3-stats span { color: rgba(250, 248, 244, 0.78); }
.kx-v3-section--encre .kx-v3-stats li + li { border-color: rgba(250, 248, 244, 0.16); }

/* Ce qu'il faut eviter : une croix sobre, pas de rouge */
.kx-da-v3 .entry-content .kx-v3-croix { display: grid; gap: .6rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.kx-v3-croix li { position: relative; margin: 0; padding: 0 0 0 2rem; font-size: 1rem; line-height: 1.5; color: var(--v3-ink); }
.kx-v3-croix li::before { content: ""; position: absolute; left: 0; top: .1rem; width: 1.25rem; height: 1.25rem; border-radius: 9999px; background: var(--v3-cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A5557' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center / .7rem no-repeat; border: 1px solid var(--v3-line); }
.kx-v3-section--encre .kx-v3-croix li { color: var(--v3-paper); }

/* Sources citees */
.kx-da-v3 .entry-content .kx-v3-sources { display: grid; gap: .4rem; margin: 1.75rem 0 0; padding: 1.25rem 0 0; list-style: none; border-top: 1px solid var(--v3-line); }
.kx-v3-sources li { margin: 0; font-size: .875rem; line-height: 1.5; color: var(--v3-ink-70); }
.kx-v3-sources a { color: inherit; }

/* Texte sans titre (suite de section) et paragraphes d'introduction en plus */
.kx-v3-texte-seul { max-width: 48rem; }
.kx-da-v3 .kx-v3-texte-seul > p:not(.kx-v3-lead) { margin: 1.25rem 0 0; font-size: 1.0625rem; line-height: 1.7; color: var(--v3-ink-70); }
.kx-da-v3 .kx-v3-texte-seul > :first-child { margin-top: 0; }
.kx-v3-intro-suite { max-width: 48rem; margin: -1.5rem 0 2.5rem; }
.kx-da-v3 .kx-v3-intro-suite p { margin: .9rem 0 0; font-size: 1.0625rem; line-height: 1.7; color: var(--v3-ink-70); }
.kx-da-v3 .kx-v3-hero .kx-v3-intro--suite { margin-top: .9rem; font-size: 1.0625rem; }

/* Titres d'etape (h3) : un cran sous les titres de section */
.kx-da-v3 .kx-v3-h2.kx-v3-h2--etape { font-size: clamp(1.75rem, 2.6vw, 2.5rem); }

/* Bande violette et appel final : lignes en plus */
.kx-da-v3 :is(.kx-v3-bande__note, .kx-v3-bande__meta) { margin: 1rem 0 0; font-size: .9375rem; line-height: 1.55; color: var(--v3-paper-70); }
.kx-da-v3 .kx-v3-fin__note { max-width: 40rem; margin: 1.25rem auto 0; font-size: .9375rem; line-height: 1.55; color: var(--v3-ink-70); }

/* Modules du theme gardes tels quels (calculateur) */
.kx-v3-brut .kx-calc { margin: 0; }

/* ==========================================================================
   9. Blog (27/09) : articles et index, a la maniere de Stripe, Linear et Sana.
   Colonne de lecture de 46rem, sommaire fixe qui suit la lecture, rail de partage et d'appel.
   ========================================================================== */
.kx-v3-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.kx-da-v3 .post-navigation, .kx-da-v3.single-post .entry-header { display: none; }
.kx-da-v3:is(.blog, .category) #content > .ast-container { display: block; max-width: none; padding: 0; }
.kx-da-v3:is(.blog, .category) #primary { margin: 0; padding: 0; width: 100%; }

/* Barre de lecture, tout en haut de l'ecran */
.kx-v3-lecture { position: fixed; z-index: 1002; left: 0; right: 0; top: 0; height: 3px; pointer-events: none; }
body.admin-bar .kx-v3-lecture { top: 32px; }
.kx-v3-lecture i { display: block; height: 100%; background: var(--v3-violet); transform-origin: left; transform: scaleX(var(--p, 0)); }

/* Petit bouton des rails et des cartes */
.kx-da-v3 a.kx-v3-cta.kx-v3-cta--petit { height: 2.75rem; gap: .6rem; padding: 0 .375rem 0 1.25rem; font-size: .875rem; }
.kx-v3-cta--petit .kx-v3-cta__fleche { width: 2rem; height: 2rem; }

/* --- Hero d'article : centre, editorial ---------------------------------------------------------- */
.kx-v3-section.kx-v3-art-hero { padding-bottom: 0; }
.kx-v3-art-hero__texte { max-width: 54rem; margin: 0 auto; text-align: center; }
.kx-da-v3 .kx-v3-art-fil { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .5rem; font-size: .875rem; font-weight: 500; }
.kx-da-v3 .kx-v3-art-fil a { color: var(--v3-violet); text-decoration: none; }
.kx-da-v3 .kx-v3-art-fil a:hover { text-decoration: underline; text-underline-offset: .2em; }
.kx-v3-art-fil span { color: var(--v3-ink-30); }
.kx-da-v3 .kx-v3-h1.kx-v3-art-hero__titre { margin: 1.25rem auto 0; font-size: clamp(2.25rem, 4.4vw, 3.75rem); line-height: 1.04; }
.kx-da-v3 .kx-v3-art-hero__chapo { max-width: 44rem; margin: 1.5rem auto 0; font-size: clamp(1.125rem, 1.5vw, 1.3125rem); line-height: 1.6; color: var(--v3-ink-70); }
.kx-v3-art-hero__infos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1rem 1.75rem; margin-top: 2rem; }
.kx-v3-art-hero__auteur { display: inline-flex; align-items: center; gap: .75rem; text-align: left; }
.kx-v3-art-hero__avatar { display: flex; width: 2.75rem; height: 2.75rem; align-items: center; justify-content: center; border-radius: 9999px; background: var(--v3-violet-soft); color: var(--v3-violet); }
.kx-v3-art-hero__avatar svg { width: 1.4rem; height: 1.4rem; }
.kx-v3-art-hero__auteur b { display: block; font-size: .9375rem; font-weight: 600; color: var(--v3-ink); }
.kx-v3-art-hero__auteur small { display: block; font-size: .8125rem; color: var(--v3-ink-50); }
.kx-v3-art-hero__duree { display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .9rem; border-radius: 9999px; background: var(--v3-cream); font-size: .8125rem; font-weight: 500; color: var(--v3-ink-70); }
.kx-v3-art-hero__duree svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.kx-v3-art-hero__couverture { margin: 3rem 0 0; overflow: hidden; border-radius: 1.75rem; background: var(--v3-cream); }
.kx-v3-art-hero__couverture img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 8; object-fit: cover; animation: kxV3Pose 1.6s var(--v3-ease) both; }
@media (max-width: 767px) { .kx-v3-art-hero__couverture img { aspect-ratio: 4 / 3; } }

/* --- Grille de l'article : sommaire, colonne de lecture, rail ------------------------------------ */
.kx-v3-section.kx-v3-art { padding-top: 3.5rem; }
@media (min-width: 1024px) { .kx-v3-section.kx-v3-art { padding-top: 5rem; } }
.kx-v3-art__grille { display: grid; gap: 3rem; }
@media (min-width: 1024px) { .kx-v3-art__grille { grid-template-columns: 13rem minmax(0, 46rem); justify-content: space-between; } .kx-v3-art__rail { grid-column: 2; } }
@media (min-width: 1280px) { .kx-v3-art__grille { grid-template-columns: 13rem minmax(0, 46rem) 15rem; } .kx-v3-art__rail { grid-column: auto; } }

/* Sommaire fixe : la section en cours s'allume, un trait violet suit la lecture */
.kx-v3-art__sommaire { display: none; }
@media (min-width: 1024px) {
  .kx-v3-art__sommaire { display: block; position: sticky; top: 7.5rem; align-self: start; max-height: calc(100vh - 9rem); overflow: auto; scrollbar-width: none; }
}
.kx-da-v3 .kx-v3-art__sommaire > p { margin: 0 0 1rem; font-size: .8125rem; font-weight: 600; color: var(--v3-ink-50); }
.kx-da-v3 .entry-content .kx-v3-art__sommaire ol { position: relative; margin: 0; padding: 0; list-style: none; border-left: 2px solid var(--v3-line); }
.kx-v3-art__sommaire ol::before { content: ""; position: absolute; left: -2px; top: 0; width: 2px; height: 100%; background: var(--v3-violet); transform-origin: top; transform: scaleY(var(--p, 0)); transition: transform .2s linear; }
.kx-v3-art__sommaire li { margin: 0; }
.kx-da-v3 .kx-v3-art__sommaire a { display: block; padding: .45rem 0 .45rem 1rem; font-size: .875rem; line-height: 1.4; color: var(--v3-ink-50); text-decoration: none; transition: color .25s; }
.kx-da-v3 .kx-v3-art__sommaire a:hover, .kx-da-v3 .kx-v3-art__sommaire li.is-actif a { color: var(--v3-ink); }
.kx-da-v3 .kx-v3-art__sommaire li.is-actif a { font-weight: 600; }
.kx-v3-art__sommaire-mobile { margin: 2rem 0 0; border: 1px solid var(--v3-line); border-radius: 1.25rem; background: var(--v3-paper); }
@media (min-width: 1024px) { .kx-v3-art__sommaire-mobile { display: none; } }
.kx-da-v3 .kx-v3-art__sommaire-mobile summary { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; font-size: 1rem; font-weight: 600; color: var(--v3-ink); cursor: pointer; list-style: none; }
.kx-v3-art__sommaire-mobile summary::-webkit-details-marker { display: none; }
.kx-v3-art__sommaire-mobile summary span { width: .75rem; height: .75rem; border-right: 2px solid var(--v3-ink); border-bottom: 2px solid var(--v3-ink); transform: rotate(45deg) translate(-2px, -2px); transition: transform .3s; }
.kx-v3-art__sommaire-mobile[open] summary span { transform: rotate(-135deg); }
.kx-da-v3 .entry-content .kx-v3-art__sommaire-mobile ol { margin: 0; padding: 0 1.25rem 1rem 2.5rem; font-size: .9375rem; line-height: 1.5; }
.kx-da-v3 .kx-v3-art__sommaire-mobile li { margin: .5rem 0 0; }
.kx-da-v3 .kx-v3-art__sommaire-mobile a { color: var(--v3-ink-70); text-decoration: none; }

/* --- La colonne de lecture ------------------------------------------------------------------------ */
.kx-v3-art__corps { min-width: 0; font-size: 1.125rem; line-height: 1.75; color: #2B3537; }
.kx-da-v3 .kx-v3-art__corps > p { margin: 1.25em 0 0; font-size: 1.125rem; line-height: 1.75; color: #2B3537; }
.kx-da-v3 .kx-v3-art__corps > h2 { margin: 3.5rem 0 0; padding-top: 2.5rem; border-top: 1px solid var(--v3-line); font-size: clamp(1.625rem, 2.3vw, 2.125rem); font-weight: 600; line-height: 1.15; letter-spacing: -0.03em; color: var(--v3-ink); scroll-margin-top: 7rem; }
.kx-da-v3 .kx-v3-art__corps > .kx-v3-art__sommaire-mobile + h2, .kx-da-v3 .kx-v3-art__corps > .kx-v3-art__essentiel + h2 { border-top: 0; padding-top: 0; }
.kx-da-v3 .kx-v3-art__corps > h3 { margin: 2.25rem 0 0; font-size: 1.3125rem; font-weight: 600; line-height: 1.3; letter-spacing: -0.02em; color: var(--v3-ink); }
.kx-da-v3 .kx-v3-art__corps a:not(.kx-v3-cta) { color: var(--v3-violet); text-decoration: underline; text-decoration-color: var(--v3-violet-30); text-decoration-thickness: 1px; text-underline-offset: .2em; transition: text-decoration-color .25s; }
.kx-da-v3 .kx-v3-art__corps a:not(.kx-v3-cta):hover { text-decoration-color: var(--v3-violet); }
.kx-da-v3 .kx-v3-art__corps strong:not(.kx-v3-surligne) { font-weight: 600; color: var(--v3-ink); }
/* Listes : puces violettes, etapes numerotees en pastilles */
.kx-da-v3 .kx-v3-art__liste-titre { margin: 1.75rem 0 0; font-weight: 600; color: var(--v3-ink); }
.kx-da-v3 .entry-content :is(.kx-v3-art__puces, .kx-v3-art__etapes) { margin: 1.25rem 0 0; padding: 0; list-style: none; }
.kx-da-v3 .entry-content .kx-v3-art__puces li { position: relative; margin: .6rem 0 0; padding-left: 1.5rem; }
.kx-v3-art__puces li::before { content: ""; position: absolute; left: .2rem; top: .72em; width: .45rem; height: .45rem; border-radius: 9999px; background: var(--v3-violet); }
.kx-v3-art__etapes { counter-reset: e; }
.kx-da-v3 .entry-content .kx-v3-art__etapes li { position: relative; margin: .9rem 0 0; padding-left: 2.75rem; counter-increment: e; }
.kx-v3-art__etapes li::before { content: counter(e); position: absolute; left: 0; top: .1em; display: flex; width: 1.875rem; height: 1.875rem; align-items: center; justify-content: center; border-radius: 9999px; background: var(--v3-violet-soft); font-size: .875rem; font-weight: 600; line-height: 1; color: var(--v3-violet); font-variant-numeric: tabular-nums; }
/* Tableaux et images */
.kx-v3-art__table { margin: 2.25rem 0 0; }
.kx-v3-art__table .kx-v3-table table { min-width: 34rem; font-size: .9375rem; }
.kx-da-v3 .kx-v3-art__corps figcaption { margin-top: .75rem; font-size: .875rem; line-height: 1.5; color: var(--v3-ink-50); }
.kx-v3-art__image { margin: 2.5rem 0 0; }
.kx-v3-art__image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 1.25rem; }
/* Encadres */
.kx-v3-art__encadre { margin: 2.25rem 0 0; padding: 1.5rem 1.75rem; border: 1px solid var(--v3-line); border-radius: 1.25rem; background: var(--v3-cream); }
.kx-da-v3 .kx-v3-art__encadre-titre { margin: 0; font-size: 1.0625rem; font-weight: 600; color: var(--v3-ink); }
.kx-da-v3 .kx-v3-art__encadre p { margin: .75rem 0 0; font-size: 1rem; line-height: 1.65; }
.kx-v3-art__corps .kx-v3-note { margin-top: 2.25rem; }

/* L'essentiel : en tete, lavande, puces cochees */
.kx-v3-art__essentiel { padding: 1.75rem 1.75rem 1.5rem; border-radius: 1.5rem; background: var(--v3-violet-soft); }
@media (min-width: 640px) { .kx-v3-art__essentiel { padding: 2rem 2.25rem 1.75rem; } }
.kx-da-v3 .kx-v3-art__essentiel-titre { display: flex; align-items: center; gap: .6rem; margin: 0; font-size: 1rem; font-weight: 600; color: var(--v3-violet); }
.kx-v3-art__essentiel-titre .kx-v3-marque { width: 1.1rem; height: 1.1rem; }
.kx-da-v3 .entry-content .kx-v3-art__essentiel ul { margin: 1rem 0 0; padding: 0; list-style: none; }
.kx-da-v3 .entry-content .kx-v3-art__essentiel li { position: relative; margin: .75rem 0 0; padding-left: 2rem; font-size: 1.0625rem; line-height: 1.6; color: var(--v3-ink); }
.kx-v3-art__essentiel li::before { content: ""; position: absolute; left: 0; top: .2rem; width: 1.25rem; height: 1.25rem; border-radius: 9999px; background: var(--v3-violet) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FAF8F4' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center / .75rem no-repeat; }
.kx-v3-art__essentiel strong { font-weight: 600; }

/* L'appel dans le fil : carte de marque violette */
.kx-v3-art__cta { position: relative; display: grid; gap: 1.5rem; margin: 3rem 0 0; padding: 2rem; overflow: hidden; border-radius: 1.5rem; background: var(--v3-violet); color: var(--v3-paper); }
@media (min-width: 768px) { .kx-v3-art__cta { grid-template-columns: minmax(0, 1fr) auto; align-items: end; padding: 2.25rem 2.5rem; } }
.kx-v3-art__cta > :not(.kx-v3-cercles) { position: relative; }
.kx-da-v3 .kx-v3-art__cta-titre { margin: 0; font-size: 1.5rem; font-weight: 600; line-height: 1.2; letter-spacing: -0.025em; color: var(--v3-paper); }
.kx-v3-art__cta-titre em { font-family: "Newsreader", Georgia, serif; font-style: italic; font-weight: 400; font-size: 1.06em; }
.kx-da-v3 .kx-v3-art__cta p:not(.kx-v3-art__cta-titre) { margin: .6rem 0 0; font-size: 1rem; line-height: 1.55; color: var(--v3-paper-70); }
.kx-da-v3 .entry-content .kx-v3-art__cta-meta { display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin: 1rem 0 0; padding: 0; list-style: none; font-size: .8125rem; color: var(--v3-paper-70); }
.kx-da-v3 .entry-content .kx-v3-art__cta-meta li { margin: 0; padding: 0; font-size: .8125rem; line-height: 1.5; }
.kx-v3-art__cta-meta li + li::before { content: "·"; margin-right: 1rem; }

/* Sources, repliees */
.kx-v3-art__sources { margin: 3.5rem 0 0; border-top: 1px solid var(--v3-line); border-bottom: 1px solid var(--v3-line); }
.kx-da-v3 .kx-v3-art__sources summary { display: flex; align-items: center; gap: .6rem; padding: 1.1rem 0; font-size: 1rem; font-weight: 600; color: var(--v3-ink); cursor: pointer; list-style: none; }
.kx-v3-art__sources summary::-webkit-details-marker { display: none; }
.kx-v3-art__sources-n { padding: .1rem .5rem; border-radius: 9999px; background: var(--v3-cream); font-size: .75rem; color: var(--v3-ink-70); }
.kx-v3-art__sources summary > span:last-child { width: .6rem; height: .6rem; margin-left: auto; border-right: 2px solid var(--v3-ink); border-bottom: 2px solid var(--v3-ink); transform: rotate(45deg); transition: transform .3s; }
.kx-v3-art__sources[open] summary > span:last-child { transform: rotate(-135deg); }
.kx-da-v3 .entry-content .kx-v3-art__sources ol { margin: 0 0 1.25rem; padding-left: 1.25rem; font-size: .875rem; line-height: 1.6; color: var(--v3-ink-70); }
.kx-v3-art__sources li { margin: .4rem 0 0; }

/* Rail : partage et appel, fixes pendant la lecture */
.kx-v3-art__rail { display: grid; gap: 1.5rem; align-content: start; }
@media (min-width: 1280px) { .kx-v3-art__rail { position: sticky; top: 7.5rem; align-self: start; } }
.kx-da-v3 .kx-v3-art__partage p { margin: 0 0 .6rem; font-size: .8125rem; font-weight: 600; color: var(--v3-ink-50); }
.kx-v3-art__partage { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.kx-v3-art__partage p { flex-basis: 100%; }
.kx-da-v3 .kx-v3-art__partage :is(button, a) { display: inline-flex; align-items: center; gap: .45rem; height: 2.5rem; margin: 0; padding: 0 .9rem; border: 1px solid var(--v3-line); border-radius: 9999px; background: var(--v3-paper); font: inherit; font-size: .8125rem; font-weight: 500; color: var(--v3-ink); text-decoration: none; cursor: pointer; transition: border-color .25s, background-color .25s; }
.kx-da-v3 .kx-v3-art__partage :is(button, a):hover { border-color: var(--v3-ink); }
.kx-v3-art__partage svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.kx-v3-art__partage a svg { fill: currentColor; stroke: none; }
.kx-da-v3 .kx-v3-art__partage button.is-copie { border-color: #3F858F; background: #EBF9F9; color: #2F6C74; }
.kx-v3-art__rail-cta { padding: 1.25rem; border: 1px solid var(--v3-line); border-radius: 1.25rem; background: var(--v3-cream); }
.kx-da-v3 .kx-v3-art__rail-cta .kx-v3-surtitre { font-size: .8125rem; }
.kx-da-v3 .kx-v3-art__rail-titre { margin: .5rem 0 1rem; font-size: 1.0625rem; font-weight: 600; line-height: 1.3; letter-spacing: -0.015em; color: var(--v3-ink); }
.kx-v3-art__rail-titre em { font-family: "Newsreader", Georgia, serif; font-style: italic; font-weight: 400; font-size: 1.08em; color: var(--v3-violet); }
@media (max-width: 1279px) { .kx-v3-art__rail { grid-template-columns: minmax(0, 1fr); } .kx-v3-art__rail-cta { display: none; } }

/* Carte auteur */
.kx-v3-art-auteur-section + .kx-v3-section { padding-top: 4rem; }
.kx-v3-art-auteur-carte { display: grid; gap: 1.25rem; max-width: 60rem; margin: 0 auto; padding: 1.75rem; border: 1px solid var(--v3-line); border-radius: 1.5rem; background: var(--v3-cream); }
@media (min-width: 768px) { .kx-v3-art-auteur-carte { grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1.75rem; padding: 2rem 2.25rem; } }
.kx-v3-art-auteur-carte__logo { display: flex; width: 3.5rem; height: 3.5rem; align-items: center; justify-content: center; border-radius: 9999px; background: var(--v3-violet); color: var(--v3-paper); }
.kx-v3-art-auteur-carte__logo .kx-v3-marque { width: 1.6rem; height: 1.6rem; }
.kx-da-v3 .kx-v3-art-auteur-carte p:not(.kx-v3-surtitre) { margin: .4rem 0 0; font-size: 1rem; line-height: 1.6; color: var(--v3-ink-70); }
.kx-da-v3 .kx-v3-art-auteur-carte .kx-v3-surtitre { font-size: .9375rem; }
.kx-da-v3 .kx-v3-art-auteur-carte__lien { display: inline-flex; align-items: center; gap: .5rem; font-size: .9375rem; font-weight: 500; color: var(--v3-ink); text-decoration: none; white-space: nowrap; }
.kx-v3-art-auteur-carte__lien .kx-v3-cta__fleche { width: 2rem; height: 2rem; }

/* --- Cartes d'article (index, a lire ensuite) ------------------------------------------------------- */
.kx-v3-cartes-art { display: grid; gap: 2.5rem 1.75rem; }
@media (min-width: 640px) { .kx-v3-cartes-art { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .kx-v3-cartes-art { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem 2rem; } }
.kx-v3-carte-art { margin: 0; }
.kx-da-v3 .kx-v3-carte-art__lien { display: flex; flex-direction: column; height: 100%; color: var(--v3-ink); text-decoration: none; }
.kx-v3-carte-art__img { display: block; overflow: hidden; border-radius: 1.25rem; background: var(--v3-cream); aspect-ratio: 16 / 10; }
.kx-v3-carte-art__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--v3-ease); }
.kx-v3-carte-art__lien:hover .kx-v3-carte-art__img img { transform: scale(1.04); }
.kx-v3-carte-art__corps { display: flex; flex: 1; flex-direction: column; padding-top: 1.25rem; }
.kx-v3-carte-art__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; font-size: .8125rem; color: var(--v3-ink-50); }
.kx-v3-carte-art__rub { padding: .2rem .6rem; border-radius: 9999px; background: var(--v3-violet-soft); font-size: .75rem; font-weight: 600; color: var(--v3-violet); }
.kx-v3-section--lavande .kx-v3-carte-art__rub { background: var(--v3-paper); }
.kx-da-v3 .kx-v3-carte-art__titre { margin: .85rem 0 0; font-size: 1.3125rem; font-weight: 600; line-height: 1.25; letter-spacing: -0.025em; color: var(--v3-ink); transition: color .25s; }
.kx-v3-carte-art__lien:hover .kx-v3-carte-art__titre { color: var(--v3-violet); }
.kx-v3-carte-art__chapo { display: -webkit-box; margin-top: .6rem; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; font-size: .9375rem; line-height: 1.6; color: var(--v3-ink-70); }
.kx-v3-carte-art__lire { display: inline-flex; align-items: center; gap: .4rem; margin-top: auto; padding-top: 1rem; font-size: .875rem; font-weight: 500; color: var(--v3-ink); }
.kx-v3-carte-art__lire svg { width: .875rem; height: .875rem; transition: transform .3s var(--v3-ease); }
.kx-v3-carte-art__lien:hover .kx-v3-carte-art__lire svg { transform: translateX(3px); }
/* La une : image et texte cote a cote */
@media (min-width: 1024px) { .kx-v3-carte-art--une .kx-v3-carte-art__lien { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 3.5rem; align-items: center; } }
.kx-v3-carte-art--une .kx-v3-carte-art__img { border-radius: 1.75rem; aspect-ratio: 16 / 10; }
.kx-v3-carte-art--une .kx-v3-carte-art__corps { padding-top: 1.5rem; }
@media (min-width: 1024px) { .kx-v3-carte-art--une .kx-v3-carte-art__corps { padding-top: 0; } }
.kx-da-v3 .kx-v3-carte-art--une .kx-v3-carte-art__titre { font-size: clamp(1.75rem, 3vw, 2.75rem); line-height: 1.08; letter-spacing: -0.04em; }
.kx-v3-carte-art--une .kx-v3-carte-art__chapo { -webkit-line-clamp: 4; font-size: 1.0625rem; }
.kx-v3-carte-art--une .kx-v3-carte-art__lire { margin-top: 1.5rem; }

/* A lire ensuite */
.kx-v3-art-lies__tete { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: 2.5rem; }
.kx-da-v3 .kx-v3-art-lies__tous { display: inline-flex; align-items: center; gap: .4rem; font-size: 1rem; font-weight: 500; color: var(--v3-ink); text-decoration: none; }
.kx-v3-art-lies__tous svg { width: 1rem; height: 1rem; }

/* --- Index du blog -------------------------------------------------------------------------------- */
.kx-v3-section.kx-v3-blog-hero { padding-bottom: 3rem; }
.kx-da-v3 .kx-v3-blog-hero .kx-v3-surtitre a { color: inherit; text-decoration: none; }
.kx-da-v3 .kx-v3-h1.kx-v3-blog-hero__titre { max-width: 52rem; }
.kx-da-v3 .kx-v3-blog-hero .kx-v3-intro { max-width: 40rem; }
.kx-da-v3 .kx-v3-blog-filtres { display: flex; flex-wrap: wrap; gap: .5rem; margin: 2.5rem 0 0; padding: 0; list-style: none; }
.kx-v3-blog-filtres li { margin: 0; }
.kx-da-v3 .kx-v3-blog-filtres a { display: inline-flex; align-items: center; gap: .45rem; padding: .6rem 1.1rem; border: 1px solid var(--v3-line); border-radius: 9999px; background: var(--v3-paper); font-size: .9375rem; font-weight: 500; color: var(--v3-ink); text-decoration: none; transition: border-color .25s, background-color .25s, color .25s; }
.kx-da-v3 .kx-v3-blog-filtres a:hover { border-color: var(--v3-ink); }
.kx-v3-blog-filtres a span { font-size: .75rem; color: var(--v3-ink-50); font-variant-numeric: tabular-nums; }
.kx-da-v3 .kx-v3-blog-filtres a[aria-current="page"] { border-color: var(--v3-ink); background: var(--v3-ink); color: var(--v3-paper); }
.kx-v3-blog-filtres a[aria-current="page"] span { color: var(--v3-paper-70); }
.kx-v3-section.kx-v3-blog-une { padding-bottom: 0; }
.kx-v3-blog-une + .kx-v3-blog-grille { padding-top: 5rem; }
.kx-v3-blog-une + .kx-v3-blog-grille .kx-v3-wrap { padding-top: 4rem; border-top: 1px solid var(--v3-line); }
.kx-v3-blog-pagination { margin-top: 4rem; }
.kx-da-v3 .kx-v3-blog-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.kx-v3-blog-pagination li { margin: 0; }
.kx-da-v3 .kx-v3-blog-pagination li > .page-numbers { display: inline-flex; min-width: 2.75rem; height: 2.75rem; align-items: center; justify-content: center; padding: 0 .75rem; border: 1px solid var(--v3-line); border-radius: 9999px; font-size: .9375rem; font-weight: 500; color: var(--v3-ink); text-decoration: none; }
.kx-da-v3 .kx-v3-blog-pagination a.page-numbers:hover { border-color: var(--v3-ink); }
.kx-da-v3 .kx-v3-blog-pagination li > .page-numbers.current { border-color: var(--v3-ink); background: var(--v3-ink); color: var(--v3-paper); }
.kx-v3-blog-pagination li > .page-numbers svg { width: 1rem; height: 1rem; }
.kx-v3-blog-pagination .prev svg { transform: rotate(180deg); }
.kx-v3-blog-pagination .dots { border: 0; }

/* Le chapo ouvre la colonne de lecture, en corps plus grand */
.kx-da-v3 .kx-v3-art__corps > .kx-v3-art-chapo { margin: 0 0 2.25rem; font-size: clamp(1.1875rem, 1.6vw, 1.375rem); line-height: 1.6; letter-spacing: -0.01em; color: var(--v3-ink); }

/* Articles v3 : l ancienne colonne de 42rem des articles (korbyx-design.css) ne s applique pas aux sections v3 */
.kx-da-v3.single-post .entry-content > .kx-v3-section, .kx-da-v3.single-post .entry-content > div.kx-v3-article { width: auto !important; max-width: none !important; margin: 0 !important; }

/* Articles v3 : Astra souligne tous les liens des articles (.ast-single-post .entry-content a).
   Hors de la colonne de lecture (cartes, a lire ensuite, carte auteur, appels), aucun soulignement. */
.kx-da-v3.single-post .entry-content a:not(.kx-v3-art__corps a), .kx-da-v3.single-post .entry-content .kx-v3-art__corps a.kx-v3-cta { text-decoration: none; }
.kx-da-v3.single-post .kx-v3-art-lies__tous:hover, .kx-da-v3.single-post .kx-v3-art-auteur-carte__lien:hover { color: var(--v3-violet); }

/* --- 10. Simulateur d'economies [kx_roi] (27/09), format Spendesk ---------------------------------
   Deux groupes de questions a gauche, le resultat en direct a droite (fixe au defilement), la
   methode en clair dessous. Violet reserve au resultat : c'est la que Korbyx apporte quelque chose. */
.kx-da-v3 .kx3s { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.kx-da-v3 .kx3s-saisie { display: grid; gap: 1.25rem; min-width: 0; }
.kx-da-v3 .kx3s-groupe { min-width: 0; margin: 0; padding: 1.5rem 1.75rem; border: 1px solid var(--v3-line); border-radius: 24px; background: var(--v3-paper); }
.kx-da-v3 .kx3s-groupe__titre { float: left; width: 100%; display: flex; align-items: center; gap: .75rem; padding: 0; font-size: 1.125rem; font-weight: 600; letter-spacing: -0.02em; color: var(--v3-ink); }
.kx-da-v3 .kx3s-groupe__titre + * { clear: both; }
.kx-da-v3 .kx3s-champs { display: grid; gap: 1.5rem 2.5rem; margin-top: 1.25rem; }
@media (min-width: 768px) { .kx-da-v3 .kx3s-champs { grid-template-columns: 1fr 1fr; } }
.kx-da-v3 .kx3s-num { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 9999px; background: var(--v3-violet-soft); color: var(--v3-violet); font-size: .875rem; font-weight: 600; }
.kx-da-v3 .kx3s-groupe__aide { margin: .25rem 0 0; font-size: .9375rem; line-height: 1.5; color: var(--v3-ink-70); }
.kx-da-v3 .kx3s-champ { min-width: 0; }
.kx-da-v3 .kx3s-champ__tete { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.kx-da-v3 .kx3s-champ label { font-size: .9375rem; font-weight: 600; line-height: 1.3; color: var(--v3-ink); }
.kx-da-v3 .kx3s-champ__aide { margin: .25rem 0 .875rem; font-size: .8125rem; line-height: 1.5; color: var(--v3-ink-70); }
.kx-da-v3 .kx3s-champ__ligne { display: flex; align-items: center; gap: 1.25rem; margin-top: 1rem; }
.kx-da-v3 .kx3s-range { display: block; width: 100%; height: 6px; margin: 0; border-radius: 9999px; cursor: pointer; -webkit-appearance: none; appearance: none;
  background: linear-gradient(to right, var(--v3-violet) 0 var(--p, 50%), var(--v3-line) var(--p, 50%) 100%); }
.kx-da-v3 .kx3s-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 24px; height: 24px; border-radius: 9999px; background: var(--v3-violet); border: 5px solid var(--v3-paper); transition: transform .2s var(--v3-ease); }
.kx-da-v3 .kx3s-range::-moz-range-thumb { width: 14px; height: 14px; border-radius: 9999px; background: var(--v3-violet); border: 5px solid var(--v3-paper); }
.kx-da-v3 .kx3s-range::-moz-range-track { background: transparent; }
.kx-da-v3 .kx3s-range:hover::-webkit-slider-thumb, .kx-da-v3 .kx3s-range:active::-webkit-slider-thumb { transform: scale(1.15); }
.kx-da-v3 .kx3s-champ__saisie { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .375rem; height: 2.5rem; padding: 0 .75rem; border: 1px solid var(--v3-line); border-radius: 12px; background: var(--v3-cream); transition: border-color .2s; }
.kx-da-v3 .kx3s-champ__saisie:focus-within { border-color: var(--v3-violet); }
.kx-da-v3 .kx3s-champ__saisie input { width: 3.75rem; padding: 0; border: 0; background: transparent; font: inherit; font-size: 1rem; font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; color: var(--v3-ink); -moz-appearance: textfield; appearance: textfield; box-shadow: none; }
.kx-da-v3 .kx3s-champ__saisie input:focus { outline: none; }
.kx-da-v3 .kx3s-champ__saisie input::-webkit-outer-spin-button, .kx-da-v3 .kx3s-champ__saisie input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.kx-da-v3 .kx3s-champ__saisie span { font-size: .75rem; color: var(--v3-ink-70); white-space: nowrap; }
.kx-da-v3 .kx3s-taux { margin: 1.25rem 0 0; padding: .625rem .875rem; border-radius: 12px; background: var(--v3-violet-soft); font-size: .9375rem; color: var(--v3-ink); }

.kx-da-v3 .kx3s-resultat { position: relative; min-width: 0; padding: 2rem; border-radius: 24px; background: var(--v3-violet); color: var(--v3-paper); }
.kx-da-v3 .kx3s-resultat p { margin: 0; color: inherit; }
.kx-da-v3 .kx3s-resultat .kx3s-resultat__surtitre { display: flex; align-items: center; gap: .5rem; font-size: .875rem; font-weight: 600; color: var(--v3-violet-30); }
.kx-da-v3 .kx3s-direct { width: .5rem; height: .5rem; border-radius: 9999px; background: #3FD5A0; animation: kx3s-pouls 2s ease-in-out infinite; }
@keyframes kx3s-pouls { 50% { opacity: .35; } }
.kx-da-v3 .kx3s-resultat .kx3s-resultat__intro { margin-top: 1rem; font-size: 1.125rem; }
.kx-da-v3 .kx3s-resultat .kx3s-total { margin-top: .5rem; font-size: clamp(2.75rem, 4.4vw, 4rem); font-weight: 600; line-height: 1; letter-spacing: -0.05em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.kx-da-v3 .kx3s-resultat .kx3s-heures { margin-top: 1rem; font-size: 1rem; line-height: 1.5; }
.kx-da-v3 .kx3s-resultat .kx3s-postes__titre { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--v3-paper-20); font-size: .875rem; font-weight: 600; color: var(--v3-violet-30); }
.kx-da-v3 .kx3s-postes { display: grid; gap: .875rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.kx-da-v3 .kx3s-postes li { margin: 0; padding: 0; }
.kx-da-v3 .kx3s-poste__tete { display: flex; justify-content: space-between; gap: 1rem; font-size: .9375rem; }
.kx-da-v3 .kx3s-poste__tete span[data-kx3s-cout] { font-variant-numeric: tabular-nums; white-space: nowrap; color: rgba(250, 248, 244, .88); }
.kx-da-v3 .kx3s-poste__tete span[data-kx3s-cout] b { font-weight: 600; color: var(--v3-paper); }
.kx-da-v3 .kx3s-barre { position: relative; display: block; height: 8px; margin-top: .5rem; overflow: hidden; border-radius: 9999px; background: var(--v3-paper-10); }
.kx-da-v3 .kx3s-barre i { position: absolute; top: 0; bottom: 0; left: 0; width: 0; border-radius: 9999px; background: var(--v3-paper-20); transition: width .6s var(--v3-ease); }
.kx-da-v3 .kx3s-barre i[data-kx3s-recup] { background: var(--v3-paper); }
.kx-da-v3 .kx3s-postes small { display: block; margin-top: .375rem; font-size: .8125rem; color: rgba(250, 248, 244, .88); }
.kx-da-v3 .kx3s-resultat .kx3s-legende { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin-top: .75rem; font-size: .8125rem; color: rgba(250, 248, 244, .88); }
.kx-da-v3 .kx3s-legende span { display: inline-flex; align-items: center; gap: .375rem; }
.kx-da-v3 .kx3s-pastille { width: .625rem; height: .625rem; border-radius: 9999px; background: var(--v3-paper-20); }
.kx-da-v3 .kx3s-pastille--recup { background: var(--v3-paper); }
.kx-da-v3 .kx3s-resultat .kx3s-ratio { margin-top: 1.25rem; padding: 1rem 1.125rem; border-radius: 16px; background: var(--v3-paper-10); font-size: .9375rem; line-height: 1.5; }
.kx-da-v3 .kx3s-actions { margin-top: 1.25rem; }
.kx-da-v3 .kx3s-bas { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; margin-top: .875rem; }
.kx-da-v3 .kx3s-resultat .kx3s-reassurance { margin-top: 0; font-size: .8125rem; color: rgba(250, 248, 244, .88); }
.kx-da-v3 .kx3s-lien { margin-top: 0; padding: 0; border: 0; background: none; font: inherit; font-size: .875rem; font-weight: 600; color: var(--v3-paper); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.kx-da-v3 .kx3s-lien:hover { color: var(--v3-violet-30); background: none; }

.kx-da-v3 .kx3s-methode { padding: 1.25rem 1.75rem; border: 1px solid var(--v3-line); border-radius: 20px; background: var(--v3-paper); }
.kx-da-v3 .kx3s-methode summary { font-size: 1rem; font-weight: 600; color: var(--v3-ink); cursor: pointer; }
.kx-da-v3 .kx3s-methode ul { display: grid; gap: .5rem; margin: 1rem 0 0; padding-left: 1.25rem; }
.kx-da-v3 .kx3s-methode li { font-size: .9375rem; line-height: 1.6; color: var(--v3-ink-70); }

.kx-da-v3 .kx3s-pilule { position: fixed; left: 50%; bottom: 1rem; z-index: 60; transform: translateX(-50%); display: inline-flex; align-items: center; padding: .75rem 1.25rem; border-radius: 9999px; background: var(--v3-ink); color: var(--v3-paper); font-size: .9375rem; font-weight: 600; white-space: nowrap; text-decoration: none; }
.kx-da-v3 .kx3s-pilule[hidden] { display: none; }

@media (min-width: 1024px) {
  .kx-da-v3 .kx3s { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .kx-da-v3 .kx3s-resultat { position: sticky; top: 6.5rem; padding: 2rem; }
  .kx-da-v3 .kx3s-methode { grid-column: 1; }
  .kx-da-v3 .kx3s-pilule { display: none !important; }
}
@media (max-width: 639px) {
  .kx-da-v3 .kx3s-groupe, .kx-da-v3 .kx3s-resultat { padding: 1.375rem; }
}
@media (prefers-reduced-motion: reduce) {
  .kx-da-v3 .kx3s-direct { animation: none; }
  .kx-da-v3 .kx3s-barre i { transition: none; }
}
.kx-da-v3 .kx3s-entete { margin-bottom: 2.5rem; }
.kx-da-v3 .kx3s-entete .kx-v3-intro { max-width: 44rem; }
.kx-da-v3 .kx3s-h1 { margin-top: 1rem; font-size: clamp(2.25rem, 4.2vw, 3.75rem); line-height: 1.02; }
