/* Refonte du 08/11/2026 : kerbone.fr sur le modèle de salys.fr, en bleu Kerbone.
   Se charge après kit.css et après toutes les feuilles historiques du thème. */

:root {
  --kb-nuit: #07133a; --kb-nuit-2: #0b1d52; --kb-bleu: #003dd5; --kb-ciel: #84a1ea; --kb-brume: #e7edfc; --kb-blanc: #ffffff;
  --raccord: clamp(19rem, 13rem + 22vw, 38rem);
  --raccord-nc: linear-gradient(180deg, rgb(7 19 58) 0.000%, rgb(7 19 58) 3.125%, rgb(7 19 58) 6.250%, rgb(9 21 59) 9.375%, rgb(11 22 61) 12.500%, rgb(14 25 64) 15.625%, rgb(18 30 67) 18.750%, rgb(23 35 72) 21.875%, rgb(30 42 78) 25.000%, rgb(38 49 85) 28.125%, rgb(47 58 93) 31.250%, rgb(58 68 102) 34.375%, rgb(69 79 111) 37.500%, rgb(81 91 122) 40.625%, rgb(93 103 133) 43.750%, rgb(106 115 144) 46.875%, rgb(119 128 155) 50.000%, rgb(132 141 166) 53.125%, rgb(145 153 177) 56.250%, rgb(157 165 188) 59.375%, rgb(169 177 199) 62.500%, rgb(180 188 208) 65.625%, rgb(191 198 217) 68.750%, rgb(200 207 225) 71.875%, rgb(208 214 232) 75.000%, rgb(215 221 238) 78.125%, rgb(220 226 243) 81.250%, rgb(224 231 246) 84.375%, rgb(227 234 249) 87.500%, rgb(229 235 251) 90.625%, rgb(231 237 252) 93.750%, rgb(231 237 252) 96.875%, rgb(231 237 252) 100.000%);
  --raccord-cn: linear-gradient(180deg, rgb(231 237 252) 0.000%, rgb(231 237 252) 3.125%, rgb(231 237 252) 6.250%, rgb(229 235 251) 9.375%, rgb(227 234 249) 12.500%, rgb(224 231 246) 15.625%, rgb(220 226 243) 18.750%, rgb(215 221 238) 21.875%, rgb(208 214 232) 25.000%, rgb(200 207 225) 28.125%, rgb(191 198 217) 31.250%, rgb(180 188 208) 34.375%, rgb(169 177 199) 37.500%, rgb(157 165 188) 40.625%, rgb(145 153 177) 43.750%, rgb(132 141 166) 46.875%, rgb(119 128 155) 50.000%, rgb(106 115 144) 53.125%, rgb(93 103 133) 56.250%, rgb(81 91 122) 59.375%, rgb(69 79 111) 62.500%, rgb(58 68 102) 65.625%, rgb(47 58 93) 68.750%, rgb(38 49 85) 71.875%, rgb(30 42 78) 75.000%, rgb(23 35 72) 78.125%, rgb(18 30 67) 81.250%, rgb(14 25 64) 84.375%, rgb(11 22 61) 87.500%, rgb(9 21 59) 90.625%, rgb(7 19 58) 93.750%, rgb(7 19 58) 96.875%, rgb(7 19 58) 100.000%);
}

html { background: var(--kb-nuit); }
body.sx { background: var(--kb-nuit); color: #fff; font-family: var(--sx-police); }
body.sx h1, body.sx h2, body.sx h3, body.sx h4 { font-family: var(--sx-police); font-weight: 400; }
body.sx b, body.sx strong { font-weight: 400; }
body.sx em { font-style: normal; }
body.sx h1, body.sx h2, body.sx h3, body.sx h4, body.sx p, body.sx li { color: inherit; }
body.sx .kv2-page { background: transparent; padding: 0; margin: 0; }
.sx-c { position: relative; }
.kb-evitement { position: fixed; left: 1rem; top: -4rem; z-index: 99; padding: .7rem 1rem; border-radius: 10px; background: #fff; color: var(--kb-nuit); }
.kb-evitement:focus { top: 1rem; }
[hidden] { display: none !important; }
.kv2-page { overflow: clip; }

/* En-tête */
.kb-marque img { display: block; width: auto; height: 2.3rem; }
.kb-marque__nuit { display: none !important; }
.kb-marque.sur-clair .kb-marque__blanc { display: none !important; }
.kb-marque.sur-clair .kb-marque__nuit { display: block !important; }
.kb-tete .sx-tete__nav { align-items: center; }
.kb-deroule { position: relative; display: flex; }
.kb-deroule__btn { display: inline-flex; align-items: center; gap: .3rem; min-height: 44px; padding: 0 1rem; border: 0; background: none; font: inherit; font-size: .9375rem; color: rgb(255 255 255 / .74); cursor: pointer; transition: color 300ms ease; }
.kb-deroule__btn:hover { color: #fff; }
.sur-clair .kb-deroule__btn { color: rgb(7 19 58 / .72); }
.sur-clair .kb-deroule__btn:hover { color: var(--kb-nuit); }
.kb-deroule__btn:hover .sx-roule > span { transform: translateY(-50%); }
.kb-deroule__ch { width: .9rem; height: .9rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform 400ms ease; }
.kb-deroule__panneau { position: absolute; top: 100%; left: 50%; z-index: 60; width: 25rem; padding-top: .6rem; translate: -50% 0; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity 260ms ease, transform 360ms var(--sx-entree), visibility 260ms; }
.kb-deroule:hover .kb-deroule__panneau, .kb-deroule:focus-within .kb-deroule__panneau { opacity: 1; visibility: visible; transform: none; }
.kb-deroule:hover .kb-deroule__ch, .kb-deroule:focus-within .kb-deroule__ch { transform: rotate(180deg); }
.kb-deroule__panneau ul { display: grid; gap: .2rem; margin: 0; padding: .55rem; list-style: none; border-radius: 18px; background: linear-gradient(160deg, rgb(16 35 92 / .92), rgb(7 19 58 / .9)); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .1), 0 30px 60px -20px rgb(3 10 34 / .7); }
.sx-tete .kb-deroule__panneau a, .sx-tete__nav.sur-clair .kb-deroule__panneau a { display: flex; align-items: center; gap: .8rem; min-height: 0; padding: .6rem .65rem; border-radius: 12px; color: #fff; }
.kb-deroule__panneau a:hover, .kb-deroule__panneau a:focus-visible { background: rgb(132 161 234 / .16); }
.kb-deroule__picto { display: grid; place-items: center; flex: none; width: 2.5rem; height: 2.5rem; border-radius: 28%; background: linear-gradient(160deg, rgb(255 255 255 / .14), rgb(255 255 255 / .03)); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .12); }
.kb-deroule__picto svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: var(--kb-ciel); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.kb-deroule__txt { display: flex; flex-direction: column; font-size: .9375rem; line-height: 1.3; }
.kb-deroule__txt span + span { font-size: .875rem; color: rgb(255 255 255 / .82); }

.kb-burger { display: none; position: relative; width: 44px; height: 44px; padding: 0; border: 0; background: none; color: #fff; cursor: pointer; }
.kb-burger span { position: absolute; left: 11px; right: 11px; height: 1.5px; background: currentColor; border-radius: 2px; transition: transform 300ms ease, opacity 200ms ease, top 300ms ease; }
.kb-burger span:nth-child(1) { top: 15px; } .kb-burger span:nth-child(2) { top: 21px; } .kb-burger span:nth-child(3) { top: 27px; }
.sur-clair .kb-burger { color: var(--kb-nuit); }
body.kv2-menu-open .kb-burger { color: #fff; }
body.kv2-menu-open .kb-burger span:nth-child(1) { top: 21px; transform: rotate(45deg); }
body.kv2-menu-open .kb-burger span:nth-child(2) { opacity: 0; }
body.kv2-menu-open .kb-burger span:nth-child(3) { top: 21px; transform: rotate(-45deg); }
body.kv2-menu-open .kb-marque__nuit { display: none !important; }
body.kv2-menu-open .kb-marque__blanc { display: block !important; }
body.kv2-menu-open .kb-tete__cta { opacity: 0; pointer-events: none; }
.kb-menu.kv2-mobile-menu { position: fixed; inset: 0; z-index: 45; display: flex; flex-direction: column; align-items: flex-start; gap: .1rem; height: 100dvh; padding: 5.25rem var(--sx-gouttiere) 2rem; overflow-y: auto; background: linear-gradient(170deg, #0e2159, var(--kb-nuit) 65%); opacity: 0; visibility: hidden; transform: none; transition: opacity 300ms ease, visibility 300ms; }
.kb-menu.kv2-mobile-menu.open { opacity: 1; visibility: visible; }
.kb-menu a { color: #fff; text-decoration: none; border: 0; }
.kb-menu .kb-menu__l { display: block; padding: .55rem 0; font-size: 1.5rem; letter-spacing: -.02em; font-weight: 400; }
.kb-menu__titre { margin: 1.1rem 0 .3rem; color: var(--kb-ciel); font-size: 1rem; }
.kb-menu .kb-menu__outil { display: flex; flex-direction: column; padding: .55rem 0; font-size: 1.0625rem; font-weight: 400; }
.kb-menu__outil span + span { font-size: .9375rem; color: rgb(255 255 255 / .82); }
.kb-menu .kb-menu__cta { margin-top: 1.25rem; color: #fff; }
@media (max-width: 1040px) { .sx-tete__nav { display: none !important; } .sx-tete { grid-template-columns: 1fr auto; } .kb-burger { display: block; } }
@media (max-width: 760px) { .sx-tete .sx-btn { min-height: 44px; padding: 0 1.15rem; font-size: .8125rem; } .sx-tete .sx-btn__d, .sx-tete .sx-btn__g { display: none; } .sx-tete .sx-btn__txt { transform: none !important; } .kb-marque img { height: 2rem; } .sx-tete__droite { gap: .35rem; } }

/* Boutons */
.sx-btn { width: fit-content; max-width: 100%; text-decoration: none; }
.sx-btn svg { flex: none; }
@media (max-width: 480px) { .sx-btn--grand { min-height: 54px; padding-inline: 2.4rem; font-size: .9375rem; } }
.sx-btn__txt { white-space: nowrap; }
.sx-lien { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgb(255 255 255 / .35); }
.sx-clair .sx-lien { color: var(--kb-nuit); text-decoration-color: rgb(7 19 58 / .35); }
.sx-clair [data-fond="sombre"] .sx-lien { color: #fff; }

/* Titres : jamais plus de trois lignes */
@media (max-width: 700px) {
  .kb-h1.sx-t1 { font-size: calc((100vw - 2rem) / 14.4); line-height: 1.16; }
  .sx-t2 { font-size: calc((100vw - 2rem) / 14); line-height: 1.14; }
  .sx-t3 { font-size: clamp(1.25rem, .9rem + 1.6vw, 1.5rem); }
  .sx-t-constat { font-size: calc((100vw - 2rem) / 15); }
  .sx-mots { font-size: calc((100vw - 2rem) / 13); }
}
.sx-label { color: rgb(255 255 255 / .82); }
.sx-label span { color: var(--kb-ciel); }
.sx-clair .sx-label { color: rgb(7 19 58 / .82); }
.sx-clair .sx-label span { color: var(--kb-bleu); }
.sx-chapo { color: rgb(255 255 255 / .82); }
.sx-clair .sx-chapo { color: rgb(7 19 58 / .8); }
.sx-clair [data-fond="sombre"] .sx-chapo, .sx-clair [data-fond="sombre"] .sx-label { color: rgb(255 255 255 / .82); }
.sx-clair [data-fond="sombre"] .sx-label span { color: var(--kb-ciel); }
.sx-clair [data-fond="sombre"] .sx-titre em { background-image: var(--sx-brille), var(--sx-or-vif); }
.sx-clair [data-fond="sombre"] .sx-btn { color: #fff; border-color: rgb(255 255 255 / .28); }
.sx-clair [data-fond="sombre"] { color: #fff; }

/* Bleu : l'accent #003DD5 est trop sombre pour les lueurs et le texte sur la nuit. */
.sx-titre em, .sx-or { background-image: var(--sx-brille), linear-gradient(100deg, #84A1EA 0%, #A6BDF5 22%, #C9D6F8 42%, #E7EDFC 50%, #C9D6F8 58%, #A6BDF5 78%, #84A1EA 100%); }
.sx-clair .sx-titre em, .sx-clair .sx-or { background-image: var(--sx-brille), linear-gradient(100deg, #003DD5 0%, #1C55E0 30%, #3A6DE8 50%, #1C55E0 70%, #003DD5 100%); }
.sx-mots > span { background: linear-gradient(100deg, #84A1EA 0%, #C9D6F8 50%, #84A1EA 100%) 0 50% / 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; }
.sx-montant { background: linear-gradient(100deg, #F2F5FE 0%, #B9C8F2 55%, #84A1EA 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sx-etape__num { color: var(--kb-ciel); }
.sx-puce { background: radial-gradient(circle at 35% 30%, #5c86f0, #003dd5 70%); box-shadow: 0 0 0 4px rgb(92 134 240 / .18); }

/* Premier écran */
.sx-hero__fond { background: radial-gradient(60% 50% at 85% 40%, rgb(28 85 224 / .55), transparent 70%), radial-gradient(40% 40% at 12% 20%, rgb(28 85 224 / .28), transparent 70%), var(--kb-nuit); }
.sx-hero__fond i:nth-child(1) { background: rgb(28 85 224 / .55); }
.sx-hero__fond i:nth-child(2) { background: rgb(132 161 234 / .28); }
.sx-hero__fond i:nth-child(3) { background: rgb(28 85 224 / .28); }
.sx-flux__arc { background: var(--kb-nuit); }
.sx-flux__trait--fin { stroke: rgb(132 161 234 / .38); }
.kb-hero__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem 1.5rem; }
.sx-preuve span { white-space: normal; }
.sx-tuile-verre--trait svg { stroke: var(--kb-brume); }
.kb-tuile-mot { width: auto !important; min-width: clamp(2rem, 4.1cqi, 3rem); padding-inline: .55em; border-radius: 12px; font-size: clamp(.5625rem, 1.1cqi, .8125rem); letter-spacing: 0; color: #fff; white-space: nowrap; }
.sx-tuile-verre--orange .sx-mono { background: #fff; }
.kb-constat__suite { margin-top: 1.1rem; }
.kb-constat__lien { margin-top: 1.1rem; }
.sx-constat { padding-bottom: clamp(2rem, 1.5rem + 2vw, 3.5rem); }
.kb-logos { margin-top: clamp(.5rem, 1vw, 1rem); padding-bottom: 1rem; }
.kb-logos li { display: grid; place-items: center; width: 10.5rem; height: 4.75rem; padding: .7rem 1.2rem; border-radius: 1rem; background: #fff; }
.kb-logos img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* Vous vous reconnaissez */
.kb-reco__grille.douleur-grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; margin: clamp(2.25rem, 2rem + 2vw, 3.5rem) 0 0; max-width: none; }
.kb-reco .douleur-cellule { display: flex; flex-direction: column; gap: 1.25rem; padding: clamp(1.25rem, 1rem + 1vw, 2rem); border-radius: var(--sx-r-carte); background: var(--sx-carte-fond); box-shadow: var(--sx-carte-liseré); opacity: 1; transform: none; text-align: left; }
.kb-reco .douleur-scene { display: grid; place-items: center; min-height: 11.5rem; margin: 0; }
.kb-reco .douleur-phrase { margin: 0; font-size: clamp(1.15rem, 1rem + .6vw, 1.45rem); line-height: 1.25; letter-spacing: -.02em; color: #fff; font-weight: 400; }
.kb-reco .douleur-suite { display: block; color: var(--kb-ciel); font-weight: 400; }
.kb-reco__fin { display: flex; flex-direction: column; align-items: center; gap: 1.5rem; margin-top: clamp(3rem, 2rem + 3vw, 4.5rem); text-align: center; }
@media (max-width: 760px) { .kb-reco__grille.douleur-grille { grid-template-columns: minmax(0, 1fr); } .kb-reco .douleur-scene { min-height: 9rem; } }

/* Démonstration */
.kb-demo { padding-top: clamp(3rem, 2rem + 3vw, 5rem); }
.kb-demo__film { margin: clamp(2rem, 1.5rem + 2vw, 3rem) auto 0; max-width: 62rem; }
.kb-demo__film .plateforme-demo__cadre { position: relative; overflow: hidden; border-radius: var(--sx-r-carte); background: #0a1a4a; box-shadow: var(--sx-carte-liseré), 0 40px 90px -40px rgb(28 85 224 / .7); }
.kb-demo__film video { display: block; width: 100%; height: auto; }
.kb-demo__film .plateforme-demo__legende { margin-top: 1rem; text-align: center; font-size: 1rem; color: rgb(255 255 255 / .82); }

/* Quatre étapes */
.sx-etape { background: var(--sx-carte-fond); box-shadow: var(--sx-carte-liseré), 0 30px 60px -30px rgb(3 10 34 / .9); border-radius: var(--sx-r-carte); }
.sx-etape__ligne { color: rgb(255 255 255 / .84); }
.sx-etape__picto { color: var(--kb-ciel); }
.kb-etape__capture { display: block; width: 100%; height: auto; max-width: 35rem; border-radius: 1rem; box-shadow: 0 0 0 1px rgb(255 255 255 / .1), 0 30px 60px -28px rgb(3 10 34 / .9); }
.kb-sujets { display: grid; gap: .7rem; width: min(100%, 24rem); }
.kb-sujets li { display: flex; align-items: center; gap: .85rem; padding: 1rem 1.1rem; border-radius: 1rem; background: rgb(255 255 255 / .06); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .1); font-size: 1.0625rem; }
@media (max-width: 820px) { .sx-etape__visuel { min-height: 0; } .sx-radar { --s: min(15rem, 62vw); } .sx-etape { position: static; margin-bottom: 1.1rem; } }

/* Zones claires : fondu très long, sans bande */
.kb-zone { position: relative; }
.kb-zone--clair { color: var(--kb-nuit); padding-block: calc(var(--raccord) * .72); background: var(--raccord-nc) top / 100% var(--raccord) no-repeat, var(--raccord-cn) bottom / 100% var(--raccord) no-repeat, linear-gradient(var(--kb-brume), var(--kb-brume)) center / 100% calc(100% - var(--raccord) * 1.98) no-repeat; }
.kb-zone--fin { padding-bottom: calc(var(--raccord) * .55); background: var(--raccord-nc) top / 100% var(--raccord) no-repeat, var(--raccord-cn) bottom / 100% var(--raccord) no-repeat, linear-gradient(var(--kb-brume), var(--kb-brume)) center / 100% calc(100% - var(--raccord) * 1.98) no-repeat; }
.kb-zone__repere { position: absolute; left: 0; right: 0; top: calc(var(--raccord) * .55); bottom: calc(var(--raccord) * .55); pointer-events: none; }
.kb-zone .sx-bloc { padding-block: clamp(2.5rem, 2rem + 2vw, 4.5rem); }

/* Offres */
.kb-modules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; margin-top: clamp(2.25rem, 2rem + 2vw, 3.5rem); }
.kb-module { padding: clamp(1.25rem, 1rem + 1vw, 1.9rem); min-height: 15rem; justify-content: flex-end; gap: .55rem; }
.kb-module .sx-etape__picto { width: 3rem; height: 3rem; margin-bottom: auto; }
.kb-module__titre { font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); letter-spacing: -.02em; line-height: 1.2; }
.kb-module__texte { color: rgb(255 255 255 / .84); line-height: 1.5; }
.kb-captures { margin-top: clamp(1.5rem, 1rem + 2vw, 2.5rem); -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.kb-captures li { flex: none; width: min(34rem, 80vw); }
.kb-captures img { display: block; width: 100%; height: auto; border-radius: 1.1rem; box-shadow: 0 0 0 1px rgb(7 19 58 / .08), 0 24px 50px -28px rgb(7 19 58 / .5); }
.kb-agents { display: grid; grid-template-columns: 1.3fr 1fr; gap: 1.1rem; margin-top: 1.1rem; }
.kb-agents__carte { padding: clamp(1.5rem, 1rem + 1.5vw, 2.5rem); gap: 1.4rem; }
.kb-puces { display: grid; gap: .9rem; }
.kb-puces li { display: flex; gap: .8rem; align-items: flex-start; line-height: 1.5; }
.kb-adapte__liste { display: grid; gap: .55rem; font-size: clamp(1.15rem, 1rem + .5vw, 1.4rem); letter-spacing: -.02em; line-height: 1.25; }
.kb-adapte__marque { margin-top: auto; }
@media (max-width: 900px) { .kb-modules { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kb-agents { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 620px) { .kb-modules { grid-template-columns: minmax(0, 1fr); } .kb-module { min-height: 0; gap: .5rem; } .kb-module .sx-etape__picto { margin-bottom: .6rem; } }

/* Cas client */
.kb-cas__carte { margin-top: clamp(2.25rem, 2rem + 2vw, 3.5rem); padding: clamp(1.5rem, 1rem + 2vw, 3rem); gap: 2rem; }
.kb-cas__chiffres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.kb-cas__chiffres .sx-montant { display: block; font-size: clamp(2.3rem, 1.6rem + 3vw, 4.4rem); white-space: nowrap; }
.kb-cas__chiffres p { margin-top: .5rem; color: rgb(255 255 255 / .84); }
.kb-cas__carte .kv2-cas__lignes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem 2.5rem; margin: 0; padding: 0; list-style: none; }
.kb-cas__carte .kv2-cas__ligne { padding: 1rem 0; border: 0; border-top: 1px solid rgb(255 255 255 / .1); background: none; box-shadow: none; }
.kb-cas__carte .kv2-cas__ligne-tete { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 .35rem; }
.kb-cas__carte .kv2-cas__ligne h3 { margin: 0; font-size: 1.125rem; letter-spacing: -.01em; color: #fff; }
.kb-cas__carte .kv2-cas__ligne p { margin: 0; color: rgb(255 255 255 / .82); font-size: 1rem; line-height: 1.5; }
.kb-cas__carte .kv2-cas__statut { padding: 0; border: 0; border-radius: 0; background: none; color: var(--kb-ciel); font-size: .9375rem; font-weight: 400; }
.kb-cas__carte .kv2-cas__statut--fait { color: #fff; }
.kb-cas__fin { font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); letter-spacing: -.01em; }
@media (max-width: 760px) { .kb-cas__carte .kv2-cas__lignes { grid-template-columns: minmax(0, 1fr); } .kb-cas__chiffres .sx-montant { font-size: clamp(1.45rem, 7.4vw, 2.2rem); } }

/* Bpifrance */
.kb-bpi { padding-block: clamp(2rem, 1.5rem + 2vw, 4rem); }
.kb-bpi__carte { display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(1.5rem, 1rem + 2vw, 3rem); align-items: center; padding: clamp(1.5rem, 1rem + 2.5vw, 3.75rem); }
.kb-bpi__texte { display: flex; flex-direction: column; align-items: flex-start; gap: 1.1rem; min-width: 0; }
.kb-bpi__stat { display: flex; align-items: baseline; gap: .8rem; flex-wrap: wrap; }
.kb-bpi__stat .sx-montant { font-size: clamp(2.6rem, 2rem + 2.4vw, 4rem); }
.kb-bpi__logos { display: grid; gap: 1rem; justify-items: center; padding: 1.5rem; border-radius: 1.25rem; background: #fff; color: var(--kb-nuit); text-align: center; }
.kb-bpi__bpi { width: 100%; max-width: 16rem; height: auto; border-radius: .5rem; }
.kb-bpi__logos > div { display: flex; gap: 1.5rem; align-items: center; justify-content: center; }
.kb-bpi__logos > div img { width: auto; height: 4rem; }
.kb-bpi__carte .kb-elig { grid-column: 1 / -1; }
.sx-vedette::before { background: conic-gradient(from var(--sx-angle), transparent 0 55%, rgb(185 200 242 / .9) 70%, #5c86f0 80%, transparent 90%); }
@media (max-width: 820px) { .kb-bpi__carte { grid-template-columns: minmax(0, 1fr); } }

/* FAQ */
.kb-faq__liste { max-width: 46rem; margin: clamp(2.25rem, 2rem + 2vw, 3.5rem) auto 0; }
.sx-faq__item summary { color: inherit; }
.sx-clair .sx-faq__rep { color: rgb(7 19 58 / .82); }
.kb-faq__pied { display: flex; flex-direction: column; align-items: center; gap: 1.1rem; margin-top: 2rem; text-align: center; }
.kb-ia { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .75rem 1rem; }
.kb-ia > div { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.kb-ia__lien { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: 0 1rem; border-radius: 12px; background: #fff; color: var(--kb-nuit); box-shadow: inset 0 0 0 1px rgb(7 19 58 / .12); text-decoration: none; transition: transform 300ms var(--sx-rebond); }
.kb-ia__lien:hover { transform: translateY(-2px); }

/* Encart équipe, engagements */
.kb-encart.sx-encart { grid-template-columns: 1.1fr .9fr; min-height: 0; background: radial-gradient(70% 90% at 100% 100%, rgb(28 85 224 / .55), transparent 72%), linear-gradient(160deg, #0e2159, var(--kb-nuit) 65%); box-shadow: var(--sx-carte-liseré); color: #fff; }
.kb-trio { display: flex; align-items: center; justify-content: center; gap: clamp(.6rem, 1.2vw, 1.25rem); padding: 1.5rem clamp(1rem, 2vw, 2.5rem); }
.kb-trio li { flex: 1; min-width: 0; max-width: 11rem; }
.kb-trio a { display: flex; flex-direction: column; color: #fff; text-decoration: none; transition: transform 500ms var(--sx-entree); }
.kb-trio a:hover { transform: translateY(-4px); }
.kb-trio img { display: block; width: 100%; height: auto; border-radius: 1.1rem; box-shadow: 0 0 0 1px rgb(255 255 255 / .14); }
.kb-trio__role { margin-top: .75rem; font-size: .9375rem; color: var(--kb-ciel); }
.kb-trio__nom { font-size: 1.0625rem; letter-spacing: -.01em; line-height: 1.25; }
.kb-engagements { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: 1.1rem; }
.kb-engagement { padding: 1.4rem; border-radius: 1.25rem; background: #fff; box-shadow: 0 1px 2px rgb(7 19 58 / .05), inset 0 0 0 1px rgb(7 19 58 / .07); color: var(--kb-nuit); }
.kb-engagement h3 { margin: 1rem 0 .35rem; font-size: 1.125rem; letter-spacing: -.01em; }
.kb-engagement p { color: rgb(7 19 58 / .82); line-height: 1.45; }
.kb-engagement__ic { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 28%; background: linear-gradient(160deg, #163184, var(--kb-nuit)); }
.kb-engagement__ic svg { width: 1.45rem; height: 1.45rem; fill: none; stroke: #fff; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 900px) { .kb-encart.sx-encart { grid-template-columns: minmax(0, 1fr); } .kb-engagements { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kb-trio { padding-top: 0; } }
@media (max-width: 480px) { .kb-engagements { grid-template-columns: minmax(0, 1fr); } }

/* Rendez-vous */
.kb-rdv { padding-bottom: 0 !important; scroll-margin-top: 5rem; }
.kb-rdv__carte { padding: clamp(1.25rem, 1rem + 2vw, 3rem); gap: 2rem; }
.kb-rdv__tete { display: flex; flex-direction: column; align-items: center; gap: 1rem; text-align: center; }
.kb-rdv__visages { display: flex; }
.kb-rdv__visages img { width: 3.25rem; height: 3.25rem; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px var(--kb-nuit), 0 0 0 3px rgb(255 255 255 / .4); }
.kb-rdv__visages img + img { margin-left: -.6rem; }
.kb-rdv__grille.kv2-rdv__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.25rem; align-items: start; margin: 0; max-width: none; }
.kb-rdv .kv2-cal { max-width: none; margin: 0; padding: 6px; border-radius: 1.25rem; background: #fff; box-shadow: none; overflow: hidden; }
.kb-rdv .kb-quiz__card { border-radius: 1.25rem; }
@media (max-width: 980px) { .kb-rdv__grille.kv2-rdv__grid { grid-template-columns: minmax(0, 1fr); } .kb-rdv .kv2-cal.kv2-rdv__col-right { width: 100%; max-width: 100%; } .kb-rdv .kv2-cal .calendly-inline-widget { width: 100% !important; min-width: 0 !important; } }

/* Pied */
.kb-pied { padding-top: clamp(1rem, 2vw, 2rem); background: radial-gradient(60rem 22rem at 50% 100%, rgb(28 85 224 / .35), transparent 72%), var(--kb-nuit); }
.kb-pied__haut { display: grid; grid-template-columns: minmax(0, 20rem) minmax(0, 1fr); gap: clamp(2rem, 3vw, 4rem); padding-bottom: 2.5rem; }
.kb-pied__signature img { display: block; width: auto; height: 2.3rem; }
.kb-pied__signature p { margin-top: 1rem; color: rgb(255 255 255 / .82); line-height: 1.5; }
.kb-pied__colonnes { display: grid; grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr)); gap: 2rem 1.5rem; }
.kb-pied__titre { margin-bottom: .75rem; font-size: .8125rem; letter-spacing: .14em; text-transform: uppercase; color: #fff; }
.kb-pied ul { display: grid; gap: .55rem; }
.kb-pied a { color: rgb(255 255 255 / .82); text-decoration: none; transition: color 300ms ease; line-height: 1.3; }
.kb-pied a:hover { color: #fff; }
.sx-pied__ligne { color: rgb(255 255 255 / .82); }
.sx-pied__ligne a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.sx-pied__mot { font-size: min(21.5vw, 22rem); }
.sx-pied__mot span { background: linear-gradient(100deg, #FFFFFF 0%, #E7EDFC 16%, #84A1EA 30%, #3A6DE8 42%, #003DD5 50%, #3A6DE8 58%, #84A1EA 70%, #E7EDFC 84%, #FFFFFF 100%) 0 0 / 200% 100% repeat-x; -webkit-background-clip: text; background-clip: text; }
@media (max-width: 760px) { .kb-pied__haut { grid-template-columns: minmax(0, 1fr); } .kb-pied__colonnes { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kb-pied__large { grid-column: 1 / -1; } }

@media (prefers-reduced-motion: reduce) { .sx-etape { position: static; margin-bottom: 1.1rem; } }


/* ─────────────── Pages intérieures ─────────────── */
body.sx .kv2-page { position: relative; isolation: isolate; }
.kb-haut { position: absolute; left: 0; right: 0; top: 0; pointer-events: none; }
body.sx { --c-text-title: #07133a; --c-text-default: #2c3a63; --c-text-muted: #3a4a76; --c-sage: #003dd5; --c-bg-light: #f1f5fe; --c-bg-border: rgb(7 19 58 / .1); }
.kv2-page *:not(.sx-btn):not(.sx-btn *) { font-weight: 400 !important; }
.kv2-page .kv2-btn, .kv2-page .sx-btn, .kv2-page button, .kv2-page input[type="submit"], .cmplz-cookiebanner .cmplz-btn { font-weight: 500 !important; }
.cmplz-cookiebanner * { font-weight: 400 !important; }
.kv2-page .kv2-btn { border-radius: var(--sx-r-bouton); box-shadow: none; }
.kv2-page .kv2-btn--dark, .kv2-page .kv2-btn--sage { background: var(--kb-bleu); color: #fff; border-color: transparent; }
.kv2-page .kv2-btn--dark:hover, .kv2-page .kv2-btn--sage:hover { background: #1c55e0; color: #fff; }
.kv2-page .kv2-btn--outline { background: none; border: 1.5px solid currentColor; color: inherit; }
.kv2-page .kv2-btn--white { background: #fff; color: var(--kb-nuit); }

/* Portée « sur la nuit » : les jetons du thème passent en clair. */
.kb-guide, .kb-eligp, .kb-diag, .gd-hero, .kb-expertise__hero, .kv2-content__title, .kb-expertise__crumb, .kb-expertise__section--dark, .kb-expertise__final, .kv2-q__kerbone {
  --c-text-title: #fff; --c-text-default: rgb(255 255 255 / .84); --c-text-muted: rgb(255 255 255 / .84); --c-sage: var(--kb-ciel);
}
/* Portée « sur carte claire » : on revient aux encres foncées. */
.kb-guide__panel, .kb-intro__form, .kb-eligp__form, .kb-eligp__gate, .kb-elig, .kb-quiz, .kb-diag--result .kb-diag__inner, .kb-rdv .kb-quiz__card, .kb-load, .kb-modal, .kb-eligp__modal, .kb-consent-card {
  --c-text-title: #07133a; --c-text-default: #2c3a63; --c-text-muted: #3a4a76; --c-sage: #003dd5; color: #07133a;
}

/* Questions, expertises, pages légales : haut bleu nuit, fondu long, corps clair */
body.sx .kv2-page:has(.kb-expertise, .kv2-content, .gd) { background: var(--kb-brume); color: var(--kb-nuit); }
.kb-fondu-fin { display: none; }
.kv2-page:has(.kb-expertise, .kv2-content, .gd) + .kb-fondu-fin { display: block; position: relative; height: calc(var(--raccord) * .8); background: var(--raccord-cn) left bottom / 100% var(--raccord) no-repeat; }
.kb-fondu-fin span { position: absolute; inset: 55% 0 0; pointer-events: none; }
.kb-expertise, .kv2-content { position: relative; }
.kb-expertise__crumb { position: relative; color: rgb(255 255 255 / .84); }
.kb-expertise__crumb a { color: inherit; }
.kb-expertise__hero, .kv2-content__title { position: relative; color: #fff; }
.kb-expertise__hero { margin-bottom: calc(var(--raccord) * .52) !important; text-align: center; }
.kb-expertise__hero::before, .kv2-content__title::before { content: ""; position: absolute; z-index: -1; left: calc(50% - 50vw); width: 100vw; top: -16rem; bottom: calc(var(--raccord) * -.6); pointer-events: none;
  background: radial-gradient(50rem 26rem at 72% 30%, rgb(28 85 224 / .42), transparent 70%), radial-gradient(32rem 22rem at 18% 10%, rgb(28 85 224 / .25), transparent 70%), var(--raccord-nc) left bottom / 100% var(--raccord) no-repeat, linear-gradient(var(--kb-nuit), var(--kb-nuit)) left top / 100% calc(100% - var(--raccord) + 1px) no-repeat; }
.kb-expertise__eyebrow.kv2-eyebrow { background: none; border: 0; padding: 0; font-size: .8125rem; letter-spacing: .16em; text-transform: uppercase; color: rgb(255 255 255 / .84); }
.kb-expertise__eyebrow.kv2-eyebrow::before { display: none; }
.kb-expertise__title { font-family: var(--sx-police); font-size: clamp(1.5rem, 1rem + 2.2vw, 3rem); letter-spacing: -.035em; line-height: 1.08; color: #fff; text-wrap: balance; }
.kb-expertise__lead { margin-inline: auto; color: rgb(255 255 255 / .84); font-size: clamp(1rem, .95rem + .3vw, 1.15rem); line-height: 1.55; max-width: 44rem; }
.kb-expertise__h2 { font-family: var(--sx-police); font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.25rem); letter-spacing: -.03em; line-height: 1.12; color: var(--kb-nuit); text-wrap: balance; }
.kb-expertise { max-width: 76rem; padding: 8.5rem var(--sx-gouttiere) 2.5rem; }
.kv2-q--article { max-width: 52rem; }
.kv2-q .kb-expertise__hero { margin-bottom: calc(var(--raccord) * .52); }
.kb-expertise__section, .kv2-q__list, .kv2-q__themes, .kv2-q__toc { position: relative; }

/* Sommaire des questions : une tête bleue, la liste dessous, comme sur salys.fr */
.kv2-q__themes { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.75rem, 1.5rem + 1.5vw, 3rem) 1.5rem; }
.kv2-q__theme { padding: 0; border: 0; background: none; gap: 1rem; }
.kv2-q__theme:hover { box-shadow: none; }
.kv2-q__theme h2 { display: flex; align-items: flex-end; min-height: 9.5rem; padding: 1.4rem; border-radius: var(--sx-r-carte); background: var(--sx-carte-fond); box-shadow: var(--sx-carte-liseré); font-size: clamp(1.35rem, 1.15rem + .6vw, 1.7rem); letter-spacing: -.03em; line-height: 1.12; }
.kv2-q__theme h2 a { color: #fff; }
.kv2-q__theme li a { color: var(--kb-nuit); font-size: 1rem; }
.kv2-q__theme li a:hover { color: var(--kb-bleu); }
.kv2-q__more { color: var(--kb-bleu); font-size: 1rem; }
.kv2-q__toc { justify-content: center; }
.kv2-q__toc a { padding: .55rem .9rem; font-size: .9375rem; border-radius: 12px; background: #fff; border: 0; box-shadow: inset 0 0 0 1px rgb(7 19 58 / .1); color: var(--kb-nuit); }
.kv2-q__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
.kv2-q__item { padding: 1.6rem; border: 0; border-radius: 1.25rem; background: #fff; box-shadow: 0 1px 2px rgb(7 19 58 / .05), inset 0 0 0 1px rgb(7 19 58 / .07); }
.kv2-q__item h2 { font-size: 1.3rem; letter-spacing: -.02em; }
.kv2-q__item p { color: #2c3a63; }
.kv2-q__date { color: rgb(255 255 255 / .84); font-size: .9375rem; }
.kv2-q__bref { background: #fff; border: 0; box-shadow: inset 0 0 0 1px rgb(7 19 58 / .08); border-radius: 1.25rem; }
.kv2-q__bref-label { font-size: .8125rem; letter-spacing: .14em; }
.kv2-q__kerbone { background: var(--sx-carte-fond); box-shadow: var(--sx-carte-liseré); border-radius: var(--sx-r-carte); color: #fff; }
.kv2-q__liees a { border: 0; box-shadow: inset 0 0 0 1px rgb(7 19 58 / .08); border-radius: 1rem; color: var(--kb-nuit); }
.kb-expertise__card, .kb-expertise__step, .kb-expertise__why li { border-radius: 1.25rem; }
.kb-expertise__section--dark, .kb-expertise__final { background: var(--sx-carte-fond); box-shadow: var(--sx-carte-liseré); border-radius: var(--sx-r-carte); color: #fff; }
.kb-expertise__section--dark .kb-expertise__h2, .kb-expertise__final .kb-expertise__h2 { color: #fff; }
.kb-expertise__final p { color: rgb(255 255 255 / .84); }
.kb-expertise__related a { color: var(--kb-nuit); }
.kv2-faq-item { border-color: rgb(7 19 58 / .12); }
@media (max-width: 900px) { .kv2-q__themes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .kv2-q__themes, .kv2-q__list { grid-template-columns: minmax(0, 1fr); } .kv2-q__theme h2 { min-height: 7rem; } }

/* Mentions, confidentialité, cookies */
.kv2-content { max-width: 52rem; margin-inline: auto; padding: 8.5rem var(--sx-gouttiere) 2.5rem; }
.kv2-content__title { margin-bottom: calc(var(--raccord) * .52); font-family: var(--sx-police); font-size: clamp(1.75rem, 1.2rem + 2.2vw, 3.25rem); letter-spacing: -.035em; text-align: center; }
.kv2-content__title { color: #fff; }
.kv2-prose, .kv2-prose p, .kv2-prose li { color: #2c3a63; }
.kv2-prose h2 { color: var(--kb-nuit); letter-spacing: -.02em; }
.kv2-prose a { color: var(--kb-bleu); }

/* Guide tableau de bord */
.gd { background: transparent; }
.gd-hero { padding-bottom: calc(var(--raccord) * .75); background: radial-gradient(50rem 26rem at 72% 30%, rgb(28 85 224 / .42), transparent 70%), var(--raccord-nc) left bottom / 100% var(--raccord) no-repeat, linear-gradient(var(--kb-nuit), var(--kb-nuit)) left top / 100% calc(100% - var(--raccord) + 1px) no-repeat; }
.gd-hero__arc, .gd-hero__grain { display: none; }
.gd-hero__title, .gd-sec__title { font-family: var(--sx-police); letter-spacing: -.035em; }
.gd-hero__title { font-size: clamp(1.75rem, 1rem + 3vw, 3.5rem); line-height: 1.06; }
.gd-hero__title span { color: var(--kb-ciel); }
.gd-sec--mist { background: transparent; }
.gd-sec__title { color: var(--kb-nuit); }
.gd-sec__title, .gd-sec__lead, .gd p { text-wrap: pretty; }
.gd-cta { display: inline-flex; width: fit-content; max-width: 100%; padding: 1rem 1.6rem; border-radius: var(--sx-r-bouton); background: var(--kb-bleu); color: #fff; font-size: 1rem; box-shadow: none; }
.gd-cta:hover { background: #1c55e0; color: #fff; }
.gd-mods li { color: #fff; }

/* Outils : tout sur la nuit, formulaires en cartes claires */
.kb-guide, .kb-eligp, .kb-diag { background: transparent; color: #fff; }
.kb-guide { padding: 8.5rem var(--sx-gouttiere) clamp(3rem, 2rem + 4vw, 6rem); background: radial-gradient(50rem 28rem at 80% 12%, rgb(28 85 224 / .38), transparent 70%); }
.kb-guide__eyebrow, .kb-eligp__eyebrow, .kb-intro .kb-eyebrow { background: none; border: 0; padding: 0; font-size: .8125rem; letter-spacing: .16em; text-transform: uppercase; color: rgb(255 255 255 / .84); }
.kb-guide__eyebrow::before, .kb-eligp__eyebrow::before { display: none; }
.kb-guide__title, .kb-eligp__title, .kb-intro__title { font-family: var(--sx-police); font-size: clamp(1.625rem, 1rem + 2.6vw, 3rem); letter-spacing: -.035em; line-height: 1.08; color: #fff; text-wrap: balance; }
.kb-guide__lead, .kb-eligp__lead, .kb-intro__lead, .kb-guide__note, .kb-guide__sommaire-titre, .kb-intro__note, .kb-intro__disclaimer, .kb-guide__cas-txt { color: rgb(255 255 255 / .84); font-size: 1rem; font-style: normal; }
.kb-guide__cas-num { color: var(--kb-ciel); }
.kb-guide__cas li { border-color: rgb(255 255 255 / .1); }
.kb-guide__panel { padding: clamp(1.25rem, 1rem + 1vw, 2rem); border-radius: var(--sx-r-carte); background: #fff; box-shadow: 0 40px 80px -40px rgb(3 10 34 / .9); }
.kb-guide__form label, .kb-eligp__form label { color: var(--kb-nuit); }
.kb-eligp { padding: 8.5rem var(--sx-gouttiere) clamp(3rem, 2rem + 4vw, 6rem); background: radial-gradient(50rem 28rem at 70% 10%, rgb(28 85 224 / .38), transparent 70%); }
.kb-eligp__stat { background: rgb(255 255 255 / .08); border: 0; box-shadow: inset 0 0 0 1px rgb(255 255 255 / .12); color: #fff; border-radius: 12px; }
.kb-eligp__panel.kv2-refbpi { background: var(--sx-carte-fond); box-shadow: var(--sx-carte-liseré); border: 0; border-radius: var(--sx-r-carte); }
.kb-eligp__panel .kv2-refbpi__blob { display: none; }
.kb-elig { padding: clamp(1rem, .75rem + 1vw, 1.75rem); border-radius: 1.25rem; background: #fff; }
.kb-bpi__carte .kb-elig { margin-top: 0; }
.kb-diag { padding: 8rem var(--sx-gouttiere) 4rem; }
.kb-diag.kb-diag--quiz { min-height: 100vh; padding-top: 7rem; }
.kb-intro__form { color: var(--kb-nuit); border: 0; border-radius: var(--sx-r-carte); }
.kb-intro__form .kb-lab { color: var(--kb-nuit); }
.kb-quiz { padding: clamp(1.25rem, 1rem + 1vw, 2rem); border-radius: var(--sx-r-carte); background: #fff; }
.kb-diag--result .kb-diag__inner { padding: clamp(1rem, .75rem + 1vw, 2rem); border-radius: var(--sx-r-ilot); background: var(--kb-brume); }
.kb-curtain { background: var(--kb-nuit); }
.kb-eligp__modal-card { background: linear-gradient(160deg, #163184, var(--kb-nuit) 70%); color: #fff; box-shadow: 0 30px 70px rgb(3 10 34 / .6), inset 0 0 0 1px rgb(255 255 255 / .1); --c-text-title: #fff; --c-text-default: rgb(255 255 255 / .84); --c-text-muted: rgb(255 255 255 / .84); --c-forest-deep: #fff; --c-forest: #fff; }

/* Tailles minimales et boutons à la taille de leur texte */
.kv2-page .kv2-btn { width: fit-content !important; max-width: 100%; font-size: .9375rem !important; padding-inline: 1.5rem; }
.kv2-page .kb-expertise__cta { justify-content: center; }
.kv2-page .kb-guide__form .kv2-btn, .kv2-page .kb-eligp__form .kv2-btn { margin-inline: auto; display: flex; }
.kv2-page :is(.kb-quiz__step, .kb-lab, .kb-microcopy, .kb-elig__count, .kb-eligp__official-label, .kb-eligp__team-eyebrow, .kb-eligp__team-role, .kb-guide__cas-num, .kb-quiz__count, .kb-eligp__stat, .btn-texte, .kb-consent-card__text) { font-size: .875rem !important; }
.kv2-page .kb-eligp__err, .kv2-page .kb-guide__err { font-size: .875rem; }
.kv2-page small { font-size: .875rem; }
.vgn__fichier--manque em, .vgn__alerte, .vgn__renouvel { color: var(--kb-bleu) !important; }
.vgn__puce--neuf { background: var(--kb-bleu) !important; border-color: var(--kb-bleu) !important; color: #fff !important; }
@media (max-width: 360px) {
  .kv2-q__item h2, .kv2-q__theme h2 { font-size: 1.1rem; }
  .kb-eligp__title, .kb-guide__title, .kb-intro__title, .kb-expertise__title { font-size: 1.3rem; }
  .kb-expertise__h2 { font-size: 1.25rem; }
}

body.sx .kv2-content__title { color: #fff; }
.kb-eligp__stat b { color: #fff; }
.kb-reco__grille.douleur-grille { display: grid !important; overflow: visible !important; }
/* Téléphone : l'en-tête reste lisible au défilement (même recette que salys.fr). */
@media (max-width: 1100px) {
  .sx-tete::before { inset: 0 0 -1.5rem; background: linear-gradient(180deg, rgb(7 19 58 / .97) 0%, rgb(7 19 58 / .92) 60%, rgb(7 19 58 / 0) 100%); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent); mask-image: linear-gradient(180deg, #000 60%, transparent); }
  .sx-tete:has(.sur-clair)::before { opacity: 0; background: linear-gradient(180deg, rgb(231 237 252 / .97) 0%, rgb(231 237 252 / .92) 60%, rgb(231 237 252 / 0) 100%); }
  .sx-tete.defile:has(.sur-clair)::before { opacity: 1; }
}
.gd .gd-mid { color: var(--kb-bleu); }
.gd-hero__eyebrow { font-size: .875rem; }
#kb-quiz span, #kb-quiz a, #kb-quiz label { font-size: max(.875rem, 1em); }
.cmplz-always-active { font-size: .875rem; }
@media (max-width: 340px) { .kb-demo .sx-t2 { font-size: 1.05rem; } .gd-sec__title { font-size: 1.3rem; } }
.gd-final, .gd-final__card, .gd-final * { --c-text-title: #fff; --c-text-default: rgb(255 255 255 / .84); }
.gd-final h2, .gd-final .gd-sec__title { color: #fff; }
.kb-expertise__title, .kb-eligp__title { margin-bottom: 1rem; }
.kb-eligp__lead + .kb-eligp__lead { margin-top: .75rem; }
.kv2-page .kv2-btn .btn-chevron { margin-left: .5rem; }
@media (max-width: 700px) { .gd-final__box { align-items: flex-start; } .gd-final__box h2 { font-size: calc((100vw - 5rem) / 13); } }
@media (max-width: 700px) { body.sx h2.sx-t2 { font-size: calc((100vw - 2rem) / 13.5) !important; } body.sx .kb-demo h2.sx-t2 { font-size: calc((100vw - 2rem) / 15.5) !important; } }

/* Fondus : le contenu entre dans la seconde moitié du fondu, comme sur salys.fr. */
.kb-zone--clair { padding-block: calc(var(--raccord) * .5); }
.kb-zone--fin { padding-bottom: calc(var(--raccord) * .42); }
.kb-zone--clair > .sx-bloc:first-of-type { padding-top: 0; }
/* Accroches du menu Outils : même encre et taille lisible. */
.kb-deroule__txt span + span { font-size: .9375rem; color: #fff; }
.kb-menu__outil span + span { font-size: 1rem; color: #fff; }
/* Parcours d'éligibilité : coordonnées sur carte blanche, titre lisible sur la nuit. */
.kb-eligp__gate { --c-text-title: #fff; --c-text-default: rgb(255 255 255 / .84); --c-text-muted: rgb(255 255 255 / .84); color: #fff; }
.kb-eligp__gate-title, .kb-eligp__gate-sub { color: #fff; }
.kb-eligp__form { --c-text-title: #07133a; --c-text-default: #2c3a63; --c-text-muted: #3a4a76; background: #fff !important; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: 0 30px 60px -30px rgb(3 10 34 / .8); }
.kb-eligp__form label, .kb-eligp__form span { color: var(--kb-nuit); }
/* Autodiagnostic : une seule famille de bleu, plus de teinte par pilier. */
.kb-diag.kb-diag--quiz, .kb-diag--quiz::before, .kb-diag--quiz::after { background: none !important; }
.kb-diag .kb-quiz { --kb-pc: #003dd5 !important; --kb-pc-tint: #e7edfc !important; }


/* ─────────────── Retours de Paul, 08/11/2026 (soir) ─────────────── */
/* Le défilement doux gère seul le scroll : le « smooth » natif de l'ancienne feuille le bloquait. */
html, html.lenis { scroll-behavior: auto !important; height: auto; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-smooth iframe { pointer-events: none; }

/* Clair franc (plus de gris bleu), fondus qui passent par le bleu vif. */
:root { --kb-brume: #f8faff; --raccord-nc: linear-gradient(180deg, rgb(7 19 58) 0.00%, rgb(7 19 58) 2.50%, rgb(7 19 58) 5.00%, rgb(7 19 59) 7.50%, rgb(7 20 61) 10.00%, rgb(8 21 63) 12.50%, rgb(8 22 66) 15.00%, rgb(9 24 71) 17.50%, rgb(9 26 76) 20.00%, rgb(10 28 83) 22.50%, rgb(11 31 90) 25.00%, rgb(12 35 99) 27.50%, rgb(13 38 109) 30.00%, rgb(15 42 120) 32.50%, rgb(16 47 131) 35.00%, rgb(17 51 144) 37.50%, rgb(19 56 157) 40.00%, rgb(21 62 171) 42.50%, rgb(22 67 185) 45.00%, rgb(24 72 199) 47.50%, rgb(26 78 214) 50.00%, rgb(47 94 218) 52.50%, rgb(67 110 222) 55.00%, rgb(88 126 225) 57.50%, rgb(107 141 229) 60.00%, rgb(126 155 232) 62.50%, rgb(144 169 236) 65.00%, rgb(160 182 239) 67.50%, rgb(176 194 242) 70.00%, rgb(190 205 244) 72.50%, rgb(202 214 247) 75.00%, rgb(213 223 249) 77.50%, rgb(222 230 250) 80.00%, rgb(230 236 252) 82.50%, rgb(236 241 253) 85.00%, rgb(241 244 254) 87.50%, rgb(244 247 254) 90.00%, rgb(246 249 255) 92.50%, rgb(247 250 255) 95.00%, rgb(248 250 255) 97.50%, rgb(248 250 255) 100.00%); --raccord-cn: linear-gradient(180deg, rgb(248 250 255) 0.00%, rgb(248 250 255) 2.50%, rgb(247 250 255) 5.00%, rgb(246 249 255) 7.50%, rgb(244 247 254) 10.00%, rgb(241 244 254) 12.50%, rgb(236 241 253) 15.00%, rgb(230 236 252) 17.50%, rgb(222 230 250) 20.00%, rgb(213 223 249) 22.50%, rgb(202 214 247) 25.00%, rgb(190 205 244) 27.50%, rgb(176 194 242) 30.00%, rgb(160 182 239) 32.50%, rgb(144 169 236) 35.00%, rgb(126 155 232) 37.50%, rgb(107 141 229) 40.00%, rgb(88 126 225) 42.50%, rgb(67 110 222) 45.00%, rgb(47 94 218) 47.50%, rgb(26 78 214) 50.00%, rgb(24 72 199) 52.50%, rgb(22 67 185) 55.00%, rgb(21 62 171) 57.50%, rgb(19 56 157) 60.00%, rgb(17 51 144) 62.50%, rgb(16 47 131) 65.00%, rgb(15 42 120) 67.50%, rgb(13 38 109) 70.00%, rgb(12 35 99) 72.50%, rgb(11 31 90) 75.00%, rgb(10 28 83) 77.50%, rgb(9 26 76) 80.00%, rgb(9 24 71) 82.50%, rgb(8 22 66) 85.00%, rgb(8 21 63) 87.50%, rgb(7 20 61) 90.00%, rgb(7 19 59) 92.50%, rgb(7 19 58) 95.00%, rgb(7 19 58) 97.50%, rgb(7 19 58) 100.00%); }

/* Premier écran propre à Kerbone : les arcs de la marque, la vraie plateforme */
.kb-hero { padding-bottom: 0; }
.kb-arcs { position: absolute; z-index: -1; left: 50%; top: clamp(21rem, 15rem + 16vw, 30rem); width: 0; height: 0; pointer-events: none; }
.kb-arcs i { position: absolute; left: 0; top: 0; width: var(--d); height: var(--d); margin: calc(var(--d) / -2) 0 0 calc(var(--d) / -2); border-radius: 50%; border: 1px solid rgb(132 161 234 / var(--a)); }
.kb-arcs i:nth-child(1) { --d: 44rem; --a: .34; } .kb-arcs i:nth-child(2) { --d: 66rem; --a: .24; } .kb-arcs i:nth-child(3) { --d: 90rem; --a: .16; } .kb-arcs i:nth-child(4) { --d: 116rem; --a: .1; }
.kb-preuve { font-size: 1rem; color: #fff; }
.kb-ronds { display: flex; justify-content: center; gap: .6rem; margin-top: -.35rem; }
.kb-ronds span { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; padding: .5rem; border-radius: 50%; background: #fff; box-shadow: 0 10px 26px -12px rgb(3 10 34 / .8); }
.kb-ronds img { display: block; width: 100%; height: auto; }
.kb-fenetre { margin-top: clamp(2.25rem, 1.5rem + 3vw, 4rem); max-width: 68rem; }
.kb-fenetre .sx-grandit__cadre { border-radius: 1.25rem; background: #fff; box-shadow: 0 0 0 1px rgb(255 255 255 / .14), 0 60px 120px -40px rgb(28 85 224 / .8); }
.kb-fenetre img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.kb-fenetre__note { margin-top: 1rem; text-align: center; color: #fff; }
.sx-constat { padding-top: clamp(3.5rem, 3rem + 3vw, 6rem); }

/* Logos sans plaque */
.kb-logos { padding-block: 1rem 2rem; }
.kb-logos .sx-defile__piste { align-items: center; gap: clamp(2.5rem, 2rem + 3vw, 5rem); padding-inline: 2rem; }
.kb-logos li { width: auto; height: auto; padding: 0; background: none; border-radius: 0; flex: none; }
.kb-logos img { display: block; height: 2.1rem; width: auto; max-width: none; opacity: .92; }
.kb-logos.defile .sx-defile__piste { animation-duration: 70s; }
@keyframes sx-defile { to { transform: translateX(calc(-50% - clamp(1.25rem, 1rem + 1.5vw, 2.5rem))); } }

/* Vous vous reconnaissez : de grandes phrases, pas de cartes */
.kb-reco__mise { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 4vw, 5rem); align-items: start; }
.kb-reco__gauche { position: sticky; top: 7rem; }
.kb-reco__lignes { display: grid; gap: clamp(2.5rem, 2rem + 3vw, 5rem); padding-block: 2vh 6vh; }
.kb-reco__lignes li { font-size: clamp(1.5rem, 1.1rem + 1.9vw, 2.75rem); line-height: 1.16; letter-spacing: -.03em; color: #fff; transition: opacity 600ms ease; text-wrap: balance; }
.kb-reco__lignes span { display: block; color: var(--kb-ciel); }
.kb-lit-actif .kb-reco__lignes li { opacity: .28; }
.kb-lit-actif .kb-reco__lignes li.est-lue { opacity: 1; }
.kb-reco__fin { display: flex; flex-direction: column; align-items: center; gap: 1.5rem; margin-top: 2rem; text-align: center; }
@media (max-width: 820px) { .kb-reco__mise { grid-template-columns: minmax(0, 1fr); } .kb-reco__gauche { position: static; text-align: center; } .kb-lit-actif .kb-reco__lignes li { opacity: .4; } .kb-reco__lignes { text-align: center; } }

/* Démonstration : centrée, quoi qu'en dise l'ancienne feuille */
.kb-demo__film.plateforme-demo { position: static !important; left: auto !important; right: auto !important; transform: none !important; width: 100% !important; max-width: 64rem; margin: clamp(2rem, 1.5rem + 2vw, 3rem) auto 0 !important; }

/* Étapes */
.kb-etape__chiffre { font-size: clamp(3.5rem, 3rem + 2.5vw, 5.5rem); line-height: 1; letter-spacing: -.05em; background: linear-gradient(160deg, #fff, var(--kb-ciel)); -webkit-background-clip: text; background-clip: text; color: transparent; margin-bottom: .75rem; }
.kb-etape__capture { max-width: 100%; }
.kb-visio { display: flex; justify-content: center; align-items: flex-end; width: 100%; }
.kb-visio span { flex: 0 1 15rem; min-width: 0; margin-inline: -1.1rem; }
.kb-visio span:nth-child(2) { position: relative; z-index: 1; flex-basis: 17rem; }
.kb-visio img { display: block; width: 100%; height: auto; -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent); mask-image: linear-gradient(180deg, #000 72%, transparent); }

/* Modules : une vraie image, plus de pictogramme */
.kb-module { padding: .75rem .75rem clamp(1.25rem, 1rem + .6vw, 1.6rem); min-height: 0; justify-content: flex-start; }
.kb-module__ecran { overflow: hidden; margin-bottom: .75rem; border-radius: 1.15rem; background: #fff; aspect-ratio: 1000 / 560; }
.kb-module__ecran img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top left; transition: transform 900ms var(--sx-entree); }
@media (hover: hover) { .kb-module:hover .kb-module__ecran img { transform: scale(1.04); } }
.kb-module__titre, .kb-module__texte { padding-inline: .65rem; }
@media (max-width: 620px) { .kb-module { gap: .4rem; } }

/* Équipe : deux lignes, photos détourées, plus de cartes à pictogrammes */
.kb-encart.sx-encart { grid-template-columns: 1.15fr .85fr; align-items: end; }
.kb-encart .sx-titre { font-size: clamp(1.5rem, 1.05rem + 1.9vw, 2.9rem); }
.kb-encart .sx-titre em { display: block; }
.kb-trio { align-items: flex-end; gap: 0; padding: 1.5rem 1rem 1.5rem 0; }
.kb-trio li { flex: 1 1 0; max-width: none; }
.kb-trio img { border-radius: 0; box-shadow: none; -webkit-mask-image: linear-gradient(180deg, #000 80%, transparent); mask-image: linear-gradient(180deg, #000 80%, transparent); }
.kb-trio__role { margin-top: .25rem; text-align: center; color: #fff; }
.kb-trio__nom { text-align: center; }
.kb-engagements { gap: 0; margin-top: clamp(2rem, 1.5rem + 2vw, 3.5rem); }
.kb-engagements li { padding: .25rem clamp(1rem, 1.5vw, 1.75rem); border-left: 1px solid rgb(7 19 58 / .14); }
.kb-engagements li:first-child { border-left: 0; padding-left: 0; }
.kb-engagements h3 { font-size: 1.2rem; letter-spacing: -.02em; color: var(--kb-nuit); }
.kb-engagements p { margin-top: .35rem; color: var(--kb-nuit); line-height: 1.45; }
@media (max-width: 900px) { .kb-engagements li { padding: 1rem 0; border-left: 0; border-top: 1px solid rgb(7 19 58 / .14); } .kb-engagements li:first-child { border-top: 0; } .kb-engagements { grid-template-columns: minmax(0, 1fr); } .kb-trio { padding: 0 1rem 1.5rem; } }

/* Rendez-vous : un seul geste à la fois, sur la nuit */
.kb-rdv__carte { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 4vw, 4.5rem); align-items: center; padding: clamp(1.5rem, 1rem + 3vw, 4rem); border-radius: var(--sx-r-ilot); background: radial-gradient(70% 90% at 100% 0%, rgb(28 85 224 / .5), transparent 72%), linear-gradient(160deg, #0e2159, var(--kb-nuit) 70%); color: #fff; box-shadow: var(--sx-carte-liseré); }
.kb-rdv__tete { align-items: flex-start; text-align: left; }
.kb-rdv__grille.kv2-rdv__grid { display: block; }
.kv2-cal.kb-cal--locked { display: none !important; }
.kb-rdv__grille:has(.kv2-cal:not(.kb-cal--locked)) .kv2-rdv__quiz { display: none; }
.kb-rdv .kb-quiz__card { --c-text-title: #fff; --c-text-default: rgb(255 255 255 / .84); --c-text-muted: rgb(255 255 255 / .84); --c-sage: var(--kb-ciel); padding: 0; border: 0; background: none !important; box-shadow: none; color: #fff; }
.kb-rdv .kb-quiz__card * { color: inherit; }
.kb-rdv .kb-quiz__card a { color: #fff; text-decoration: underline; }
.kb-rdv .kb-quiz__bar { background: rgb(255 255 255 / .14); }
.kb-rdv .kb-quiz__fill { background: var(--kb-ciel); }
.kb-rdv .kb-quiz__card input:not([type=checkbox]), .kb-rdv .kb-quiz__card select, .kb-rdv .kb-quiz__card [class*="phone"], .kb-rdv .kb-quiz__card [class*="field"] > span:has(input) { border: 0; background: rgb(255 255 255 / .07); color: #fff; box-shadow: inset 0 0 0 1px rgb(255 255 255 / .16); border-radius: var(--sx-r-bouton); }
.kb-rdv .kb-quiz__card input::placeholder { color: rgb(255 255 255 / .6); }
.kb-rdv .kb-quiz__card #kb-go { width: fit-content; background: var(--kb-bleu); color: #fff; border: 0; border-radius: var(--sx-r-bouton); opacity: 1; }
.kb-rdv .kb-quiz__card svg { color: var(--kb-ciel); }
.kb-rdv .kv2-cal { background: #fff; border-radius: 1.25rem; padding: 6px; }
@media (max-width: 900px) { .kb-rdv__carte { grid-template-columns: minmax(0, 1fr); } .kb-rdv__tete { align-items: center; text-align: center; } }
@media (max-width: 900px) {
  .kb-encart.sx-encart { grid-template-columns: minmax(0, 1fr); }
  .kb-encart .sx-titre { font-size: calc((100vw - 5rem) / 13); }
  .kb-encart .sx-btn { font-size: .9375rem; }
  .kb-trio { max-width: 26rem; margin-inline: auto; width: 100%; }
  .kb-trio__role, .kb-trio__nom { font-size: .9375rem; }
}
@media (max-width: 900px) { body.sx .kb-encart h2.sx-t2 { font-size: calc((100vw - 6rem) / 13.5) !important; } }
@media (max-width: 480px) { body.sx .kb-encart h2.sx-t2 { line-height: 1.16; } }


/* ─────────────── Retours de Paul, 08/11/2026 (2) ─────────────── */
/* Preuve : lauriers argent, logos sur médaillon de verre bleu cerclé d'argent */
.kb-preuve.sx-preuve { color: #fff; font-size: 1rem; }
.kb-preuve .sx-laurier { filter: drop-shadow(0 0 8px rgb(201 211 234 / .4)); }
.kb-ronds { gap: .75rem; margin-top: -.2rem; }
.kb-ronds span { position: relative; width: 4.5rem; height: 4.5rem; padding: .85rem; background: radial-gradient(120% 90% at 30% 15%, rgb(92 134 240 / .55), rgb(14 33 89 / .9) 62%); box-shadow: inset 0 1px 0 rgb(255 255 255 / .28), 0 18px 34px -16px rgb(3 10 34 / .95), 0 0 34px -8px rgb(92 134 240 / .7); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.kb-ronds span::before { content: ""; position: absolute; inset: 0; border-radius: 50%; padding: 1.25px; background: linear-gradient(150deg, #fff, #8391b8 45%, #e7edfc 70%, #6f7fa8); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); }

/* Trajectoire carbone sous les boutons */
.kb-traj { position: relative; margin-top: clamp(2.25rem, 1.5rem + 3vw, 4rem); height: clamp(13rem, 9rem + 14vw, 20rem); max-width: 70rem; }
.kb-traj svg { position: absolute; left: var(--sx-gouttiere); right: var(--sx-gouttiere); top: 0; width: calc(100% - 2 * var(--sx-gouttiere)); height: 100%; overflow: visible; }
.kb-traj__fond { fill: none; stroke: rgb(132 161 234 / .28); stroke-width: 1.5; vector-effect: non-scaling-stroke; stroke-dasharray: 2 7; stroke-linecap: round; }
.kb-traj__vif { fill: none; stroke: #e7edfc; stroke-width: 2.5; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; filter: drop-shadow(0 0 7px rgb(132 161 234 / .9)); }
.kb-traj__lumiere, .kb-traj__pt { position: absolute; }
.kb-traj { --mx: var(--sx-gouttiere); }
.kb-traj__lumiere { display: none; }
.kb-traj__pt { translate: -50% -50%; margin-left: 0; padding: .45rem .85rem; border-radius: 999px; font-size: .9375rem; white-space: nowrap; color: rgb(255 255 255 / .72); background: rgb(11 29 82 / .85); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .14); transition: color 450ms ease, background 450ms ease, box-shadow 450ms ease, scale 600ms var(--sx-rebond); }
.kb-traj__pt.on { color: #fff; background: linear-gradient(160deg, #1c55e0, #003dd5); box-shadow: inset 0 0 0 1px rgb(231 237 252 / .55), 0 0 26px -2px rgb(92 134 240 / .95); scale: 1.06; }
.kb-traj__pt:first-of-type { translate: 0 -50%; } .kb-traj__pt:last-of-type { translate: -100% -50%; }
@media (max-width: 760px) {
  .kb-traj { height: 15rem; }
  .kb-traj__pt { font-size: .8125rem; padding: .35rem .6rem; }
  .kb-traj__pt.haut { margin-top: -1.1rem; } .kb-traj__pt.bas { margin-top: 1.1rem; }
}

/* La plateforme arrive couchée et se redresse au défilement */
.kb-fenetre { perspective: 1400px; margin-top: clamp(1.5rem, 1rem + 2vw, 3rem); }
.kb-fenetre .sx-grandit__cadre { transform-origin: 50% 100%; transform: rotateX(calc((1 - var(--e)) * 72deg)) scale(calc(.86 + .14 * var(--e))) translateY(calc((1 - var(--e)) * -1.5rem)); }

/* Film */
.kb-film__legende { display: grid; gap: .1rem; justify-items: center; margin-top: 1.5rem; text-align: center; transition: opacity 240ms ease, transform 240ms ease; }
.kb-film__legende.change { opacity: 0; transform: translateY(6px); }
.kb-film__legende p:first-child { color: var(--kb-ciel); font-size: .9375rem; }
.kb-film__legende p:last-child { font-size: clamp(1.1rem, 1rem + .6vw, 1.5rem); letter-spacing: -.02em; }
.kb-film__barre { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; display: flex; align-items: center; gap: .9rem; padding: 2.2rem 1.1rem .9rem; background: linear-gradient(180deg, transparent, rgb(7 19 58 / .75)); }
.kb-film__barre button { display: grid; place-items: center; flex: none; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: rgb(255 255 255 / .14); color: #fff; cursor: pointer; }
.kb-film__barre svg { width: 16px; height: 16px; fill: currentColor; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.kb-film__l { display: none; } .kb-film__barre.en-pause .kb-film__l { display: block; } .kb-film__barre.en-pause .kb-film__p { display: none; }
.kb-film__piste { position: relative; flex: 1; height: 4px; border-radius: 99px; overflow: hidden; background: rgb(255 255 255 / .2); }
.kb-film__piste i { position: absolute; inset: 0; transform-origin: left; transform: scaleX(0); background: linear-gradient(90deg, #84a1ea, #fff); box-shadow: 0 0 12px rgb(132 161 234 / .8); }
.kb-film__fin { position: absolute; left: 0; right: 0; bottom: 14%; z-index: 4; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .75rem; }
.kb-film__fin[hidden] { display: none; }
.kb-film__revoir { min-height: 46px; padding: 0 1.1rem; border: 0; border-radius: 12px; background: none; color: #fff; font: inherit; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
[data-kb-film].est-fini .kb-film__barre { opacity: 0; pointer-events: none; }
.kb-demo__film .plateforme-demo__play { z-index: 4; bottom: 4.5rem; }
@media (max-width: 600px) { .kb-film__barre { padding: 1.5rem .6rem .5rem; } .kb-film__barre button { width: 36px; height: 36px; } .kb-film__fin { bottom: 8%; } .kb-film__fin .sx-btn { min-height: 40px; padding-inline: 1.6rem; font-size: .8125rem; } }

/* Étape 1 : Thomas au centre */
.kb-visio { display: flex; flex-direction: column; align-items: center; }
.kb-visio__rang { display: flex; justify-content: center; align-items: flex-end; width: 100%; }
.kb-visio__rang span { flex: 0 1 12rem; margin-inline: -1.4rem; opacity: .78; }
.kb-visio__rang .kb-visio__centre { position: relative; z-index: 1; flex: 0 1 19rem; opacity: 1; }
.kb-visio__nom { margin-top: .5rem; font-size: 1.125rem; letter-spacing: -.01em; }

/* Étape 2 : quatre sujets, pris en charge l'un après l'autre */
.kb-vc { display: grid; gap: 1.5rem; width: min(100%, 27rem); }
.kb-vc li { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .6rem .85rem; font-size: 1.125rem; letter-spacing: -.01em; }
.kb-vc__jauge { grid-column: 1; grid-row: 2; position: relative; height: 5px; border-radius: 99px; background: rgb(255 255 255 / .12); overflow: hidden; }
.kb-vc__jauge i { position: absolute; inset: 0; transform-origin: left; transform: scaleX(1); background: linear-gradient(90deg, #3a6de8, #b9c8f2); }
.kb-vc__ok { grid-column: 2; grid-row: 1 / 3; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: linear-gradient(160deg, #1c55e0, #003dd5); box-shadow: 0 0 22px -4px rgb(92 134 240 / .9); }
.kb-vc__ok svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: #fff; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
@media (prefers-reduced-motion: no-preference) {
  .js-motion .kb-vc__jauge i { transform: scaleX(0); } .js-motion .kb-vc__ok { opacity: 0; scale: .5; }
  .joue .kb-vc__jauge i, .joue.kb-vc .kb-vc__jauge i { transform: scaleX(1); transition: transform 1s cubic-bezier(.65, 0, .25, 1) calc(var(--k) * .55s); }
  .joue.kb-vc .kb-vc__ok { opacity: 1; scale: 1; transition: opacity .3s ease calc(var(--k) * .55s + .9s), scale .5s var(--sx-rebond) calc(var(--k) * .55s + .9s); }
}

/* Étape 3 : une courbe qui monte */
.kb-vp { position: relative; width: min(100%, 30rem); height: 18rem; }
.kb-vp svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.kb-vp__ligne { fill: none; stroke: #e7edfc; stroke-width: 2.5; vector-effect: non-scaling-stroke; stroke-linecap: round; filter: drop-shadow(0 0 7px rgb(132 161 234 / .9)); }
.kb-vp ul { position: absolute; left: 0; top: 0; display: grid; gap: .55rem; font-size: 1.125rem; letter-spacing: -.01em; }
@media (prefers-reduced-motion: no-preference) {
  .js-motion .kb-vp__ligne { stroke-dasharray: 1; stroke-dashoffset: 1; } .js-motion .kb-vp li { opacity: 0; translate: 0 8px; }
  .joue.kb-vp .kb-vp__ligne { stroke-dashoffset: 0; transition: stroke-dashoffset 1.8s cubic-bezier(.65, 0, .25, 1); }
  .joue.kb-vp li { opacity: 1; translate: 0 0; transition: opacity .5s ease calc(.4s + var(--k) * .4s), translate .7s var(--sx-entree) calc(.4s + var(--k) * .4s); }
}

/* Étape 4 : ça continue */
.kb-vr { display: grid; gap: 1.5rem; justify-items: center; width: min(100%, 24rem); }
.kb-vr__fil { display: grid; gap: .65rem; width: 100%; }
.kb-vr__fil p { padding: .95rem 1.15rem; border-radius: 1rem; background: rgb(255 255 255 / .06); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .12); font-size: 1.0625rem; }
.kb-vr__fil p:last-child { background: linear-gradient(160deg, #1c55e0, #003dd5); box-shadow: 0 0 26px -6px rgb(92 134 240 / .9); }
.kb-vr__visages { display: flex; }
.kb-vr__visages img { width: 3.25rem; height: 3.25rem; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px var(--kb-nuit), 0 0 0 3px rgb(255 255 255 / .4); }
.kb-vr__visages img + img { margin-left: -.6rem; }
@media (prefers-reduced-motion: no-preference) { .js-motion .kb-vr__fil p { opacity: 0; translate: 0 14px; } .joue.kb-vr .kb-vr__fil p { opacity: 1; translate: 0 0; transition: opacity .5s ease calc(var(--k) * .45s), translate .8s var(--sx-entree) calc(var(--k) * .45s); } }

/* Piliers : un visuel dessiné par pilier, sur le bleu */
.kb-module { padding: clamp(1.25rem, 1rem + .6vw, 1.6rem); }
.kb-module__titre, .kb-module__texte { padding-inline: 0; }
.kb-mv { height: 8.75rem; margin-bottom: 1rem; display: flex; align-items: flex-end; }
.kb-mv__barres { display: flex; align-items: flex-end; gap: 5%; width: 100%; height: 100%; }
.kb-mv__barres { gap: .35rem; }
.kb-mv__barres i { flex: 1; height: var(--h); border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg, #b9c8f2, #1c55e0); transform-origin: bottom; }
.kb-mv__lignes, .kb-mv__four, .kb-mv__bascules { display: grid; gap: .85rem; width: 100%; align-self: center; }
.kb-mv__lignes li { display: grid; grid-template-columns: 4.5rem 1fr; align-items: center; gap: .75rem; font-size: .9375rem; }
.kb-mv b { position: relative; display: block; height: 9px; border-radius: 99px; background: rgb(255 255 255 / .1); overflow: hidden; }
.kb-mv b i { position: absolute; left: 0; top: 0; bottom: 0; width: var(--w); border-radius: inherit; background: linear-gradient(90deg, #1c55e0, #b9c8f2); transform-origin: left; }
.kb-mv__equipe { display: grid; grid-template-columns: repeat(5, 1fr); gap: .5rem .4rem; width: 100%; align-self: center; justify-items: center; }
.kb-mv__equipe i { position: relative; width: 2.1rem; height: 3rem; }
.kb-mv__equipe i::before { content: ""; position: absolute; left: 50%; top: 0; width: 1.05rem; height: 1.05rem; translate: -50% 0; border-radius: 50%; background: #b9c8f2; }
.kb-mv__equipe i::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1.7rem; border-radius: 1.05rem 1.05rem .3rem .3rem; background: linear-gradient(180deg, #5c86f0, #1c55e0); }
.kb-mv__four li { display: grid; grid-template-columns: 1.5rem 1fr; align-items: center; gap: .75rem; }
.kb-mv__four em { width: 1.5rem; height: 1.5rem; border-radius: .45rem; background: linear-gradient(160deg, #84a1ea, #1c55e0); }
.kb-mv__bascules li { display: flex; align-items: center; justify-content: space-between; font-size: 1rem; }
.kb-mv__bascules u { position: relative; display: block; width: 2.7rem; height: 1.5rem; border-radius: 99px; background: linear-gradient(90deg, #1c55e0, #5c86f0); }
.kb-mv__bascules u::after { content: ""; position: absolute; right: .17rem; top: .17rem; width: 1.16rem; height: 1.16rem; border-radius: 50%; background: #fff; }
.kb-mv__anneau { display: grid; place-items: center; width: 100%; height: 100%; }
.kb-mv__anneau i { display: block; width: 8.4rem; height: 8.4rem; border-radius: 50%; background: conic-gradient(#b9c8f2 0 42%, #5c86f0 42% 71%, #1c55e0 71% 90%, rgb(255 255 255 / .12) 90%); -webkit-mask: radial-gradient(closest-side, transparent 62%, #000 63%); mask: radial-gradient(closest-side, transparent 62%, #000 63%); }
@media (prefers-reduced-motion: no-preference) {
  .js-motion .kb-mv__barres i, .js-motion .kb-mv b i { scale: 0 1; } .js-motion .kb-mv__barres i { scale: 1 0; }
  .js-motion .kb-mv__equipe i, .js-motion .kb-mv__bascules li { opacity: 0; }
  .js-motion .kb-mv__anneau i { rotate: -80deg; opacity: 0; }
  .joue.kb-mv .kb-mv__barres i { scale: 1 1; transition: scale .8s var(--sx-entree) calc(var(--k) * 45ms); }
  .joue.kb-mv b i { scale: 1 1; transition: scale 1s var(--sx-glisse) calc(var(--k) * 130ms); }
  .joue.kb-mv .kb-mv__equipe i, .joue.kb-mv .kb-mv__bascules li { opacity: 1; transition: opacity .45s ease calc(var(--k) * 70ms); }
  .joue.kb-mv .kb-mv__bascules li { transition-delay: calc(var(--k) * 200ms); }
  .joue.kb-mv .kb-mv__anneau i { rotate: 0deg; opacity: 1; transition: rotate 1.2s var(--sx-entree), opacity .5s ease; }
}

/* Encart équipe : les trois, posés sur le bord bas de la carte, sans légende en coin */
.kb-encart.sx-encart { align-items: stretch; }
.kb-encart__qui { color: #fff; }
.kb-trio { align-self: end; justify-content: center; padding: 1.5rem 1rem 0 0; }
.kb-trio li { flex: 1 1 0; min-width: 0; margin-inline: -1.1rem; opacity: .9; }
.kb-trio li.kb-trio__centre { position: relative; z-index: 1; flex: 1.5 1 0; opacity: 1; }
.kb-trio a { display: block; }
.kb-trio a:hover { transform: none; }
.kb-trio img { display: block; width: 100%; height: auto; -webkit-mask-image: none; mask-image: none; }
@media (max-width: 900px) { .kb-trio { padding: 0; max-width: 24rem; } .kb-encart__qui { font-size: .9375rem; } }
/* Finitions */
.kb-demo__film:not(.is-paused) .plateforme-demo__play { display: none; }
.kb-demo__film.is-paused .plateforme-demo__play { left: 50%; right: auto; top: 50%; bottom: auto; translate: -50% -50%; }
@media (max-width: 760px) {
  .kb-traj { height: 17rem; }
  .kb-traj__pt.haut { margin-top: -1.5rem; } .kb-traj__pt.bas { margin-top: 1.5rem; }
  .kb-traj__pt:first-of-type { translate: 0 -50%; }
  .kb-preuve.sx-preuve { font-size: .875rem; gap: .3rem; }
  .kb-preuve .sx-laurier { width: 1.2rem; height: 1.7rem; }
  .kb-ronds span { width: 4rem; height: 4rem; padding: .7rem; }
}
@media (min-width: 361px) { .kb-preuve span { white-space: nowrap; } }
@media (max-width: 360px) { .kb-preuve span { max-width: 13rem; text-align: center; text-wrap: balance; } }
@media (max-width: 760px) { .kb-traj__pt:nth-of-type(2n) { display: none; } }


/* ─────────────── Retours de Paul, 08/11/2026 (3) ─────────────── */
/* Police : Manrope, comme salys.fr (SIL OFL) */
@font-face { font-family: "Manrope"; src: url("../fonts/woff2/manrope-vf-kb.woff2") format("woff2"); font-weight: 200 800; font-display: swap; }
:root { --sx-police: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif; --font: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --raccord: clamp(24rem, 16rem + 26vw, 46rem);
  --raccord-nc: radial-gradient(135% 100% at 50% 100%, rgb(248 250 255) 0.00%, rgb(248 250 255) 1.67%, rgb(248 250 255) 3.33%, rgb(248 250 255) 5.00%, rgb(248 250 255) 6.67%, rgb(248 250 255) 8.33%, rgb(248 250 255) 10.00%, rgb(248 250 255) 11.67%, rgb(248 250 255) 13.33%, rgb(248 250 255) 15.00%, rgb(248 250 255) 16.67%, rgb(248 250 255) 18.33%, rgb(248 250 255) 20.00%, rgb(248 250 255) 21.67%, rgb(248 250 255) 23.33%, rgb(248 250 255) 25.00%, rgb(248 250 255) 26.67%, rgb(248 250 255) 28.33%, rgb(248 250 255) 30.00%, rgb(248 250 255) 31.67%, rgb(248 250 255) 33.33%, rgb(248 250 255) 35.00%, rgb(248 250 255) 36.67%, rgb(248 250 255) 38.33%, rgb(247 250 255) 40.00%, rgb(246 249 255) 41.67%, rgb(245 248 255) 43.33%, rgb(243 247 255) 45.00%, rgb(242 246 255) 46.67%, rgb(240 245 255) 48.33%, rgb(240 245 255) 50.00%, rgb(238 243 255) 51.67%, rgb(232 240 254) 53.33%, rgb(225 234 253) 55.00%, rgb(217 229 252) 56.67%, rgb(210 224 251) 58.33%, rgb(206 221 250) 60.00%, rgb(204 219 250) 61.67%, rgb(196 213 248) 63.33%, rgb(183 202 246) 65.00%, rgb(166 189 242) 66.67%, rgb(150 176 239) 68.33%, rgb(138 166 236) 70.00%, rgb(132 161 234) 71.67%, rgb(128 158 233) 73.33%, rgb(114 147 228) 75.00%, rgb(95 131 222) 76.67%, rgb(76 114 214) 78.33%, rgb(60 100 208) 80.00%, rgb(52 92 205) 81.67%, rgb(50 89 200) 83.33%, rgb(43 79 184) 85.00%, rgb(34 66 162) 86.67%, rgb(26 54 141) 88.33%, rgb(20 46 128) 90.00%, rgb(19 44 124) 91.67%, rgb(17 40 113) 93.33%, rgb(14 33 96) 95.00%, rgb(10 26 78) 96.67%, rgb(8 21 64) 98.33%, rgb(7 19 58) 100.00%);
  --raccord-cn: radial-gradient(135% 100% at 50% 0%, rgb(248 250 255) 0.00%, rgb(248 250 255) 1.67%, rgb(248 250 255) 3.33%, rgb(248 250 255) 5.00%, rgb(248 250 255) 6.67%, rgb(248 250 255) 8.33%, rgb(248 250 255) 10.00%, rgb(248 250 255) 11.67%, rgb(248 250 255) 13.33%, rgb(248 250 255) 15.00%, rgb(248 250 255) 16.67%, rgb(248 250 255) 18.33%, rgb(248 250 255) 20.00%, rgb(248 250 255) 21.67%, rgb(248 250 255) 23.33%, rgb(248 250 255) 25.00%, rgb(248 250 255) 26.67%, rgb(248 250 255) 28.33%, rgb(248 250 255) 30.00%, rgb(248 250 255) 31.67%, rgb(248 250 255) 33.33%, rgb(248 250 255) 35.00%, rgb(248 250 255) 36.67%, rgb(248 250 255) 38.33%, rgb(247 250 255) 40.00%, rgb(246 249 255) 41.67%, rgb(245 248 255) 43.33%, rgb(243 247 255) 45.00%, rgb(242 246 255) 46.67%, rgb(240 245 255) 48.33%, rgb(240 245 255) 50.00%, rgb(238 243 255) 51.67%, rgb(232 240 254) 53.33%, rgb(225 234 253) 55.00%, rgb(217 229 252) 56.67%, rgb(210 224 251) 58.33%, rgb(206 221 250) 60.00%, rgb(204 219 250) 61.67%, rgb(196 213 248) 63.33%, rgb(183 202 246) 65.00%, rgb(166 189 242) 66.67%, rgb(150 176 239) 68.33%, rgb(138 166 236) 70.00%, rgb(132 161 234) 71.67%, rgb(128 158 233) 73.33%, rgb(114 147 228) 75.00%, rgb(95 131 222) 76.67%, rgb(76 114 214) 78.33%, rgb(60 100 208) 80.00%, rgb(52 92 205) 81.67%, rgb(50 89 200) 83.33%, rgb(43 79 184) 85.00%, rgb(34 66 162) 86.67%, rgb(26 54 141) 88.33%, rgb(20 46 128) 90.00%, rgb(19 44 124) 91.67%, rgb(17 40 113) 93.33%, rgb(14 33 96) 95.00%, rgb(10 26 78) 96.67%, rgb(8 21 64) 98.33%, rgb(7 19 58) 100.00%);
  --kb-argent: linear-gradient(100deg, #6D8FEA 0%, #A9BFF5 20%, #DCE5FB 38%, #FFFFFF 50%, #DCE5FB 62%, #A9BFF5 80%, #6D8FEA 100%);
  --kb-argent-clair: linear-gradient(100deg, #003DD5 0%, #2A62E6 22%, #7E9FF0 42%, #BCCDF6 50%, #7E9FF0 58%, #2A62E6 78%, #003DD5 100%); }
body.sx, body.sx * { word-spacing: normal; }
body.sx, body.sx input, body.sx button, body.sx select, body.sx textarea { font-family: var(--sx-police); }
::selection { background: #1c55e0; color: #fff; }
[id] { scroll-margin-top: 5.5rem; }

/* Phrases en bleu argenté : dégradé qui glisse et reflet qui passe, comme l'or de salys.fr */
.sx-titre em, .sx-or, .kb-reco__lignes span, .sx-clair [data-fond="sombre"] .sx-titre em { font-style: normal; background-image: var(--sx-brille), var(--kb-argent); background-size: 45% 100%, 200% 100%; background-repeat: no-repeat, repeat-x; background-position: -120% 50%, 0% 50%; -webkit-background-clip: text; background-clip: text; color: transparent; padding-right: .04em; }
.sx-clair .sx-titre em, .sx-clair .sx-or { background-image: var(--sx-brille), var(--kb-argent-clair); }
.sx-mots > span { background: var(--kb-argent) 0 50% / 200% 100% repeat-x; -webkit-background-clip: text; background-clip: text; color: transparent; }
@keyframes kb-argent { 0% { background-position: -120% 50%, 0% 50%; } 45% { background-position: 220% 50%, 90% 50%; } 100% { background-position: 220% 50%, 200% 50%; } }
@keyframes kb-argent-mots { to { background-position: 200% 50%; } }
@media (prefers-reduced-motion: no-preference) {
  .sx-titre em, .sx-or, .kb-reco__lignes span { animation: kb-argent 7s cubic-bezier(.45, .05, .55, .95) infinite; }
  .sx-mots > span { animation: kb-argent-mots 5s linear infinite; }
}

/* Bouton de l'en-tête : mêmes dimensions que salys.fr */
.sx-tete .sx-btn.kb-tete__cta { min-height: 54px; min-width: 280px; padding: 0 2.6rem; font-size: 15px; }
@media (max-width: 760px) { .sx-tete .sx-btn.kb-tete__cta { min-height: 46px; min-width: 0; padding: 0 1.45rem; font-size: 13px; } }
@media (max-width: 360px) { .sx-tete .sx-btn.kb-tete__cta { padding: 0 .95rem; } }

/* Premier écran : plus d'air, un grand dégradé à la place des cercles */
.kb-hero { padding-top: clamp(7rem, 5.5rem + 5vw, 11.5rem); }
.kb-hero .sx-hero__centre { gap: clamp(1.25rem, 1rem + 1vw, 2rem); max-width: 88rem; }
.kb-h1.sx-t1 { font-size: clamp(2.2rem, 1rem + 3.9vw, 4.75rem); line-height: 1.05; letter-spacing: -.04em; }
.kb-h1 em { display: block; }
.kb-hero .sx-chapo { font-size: clamp(1.05rem, 1rem + .45vw, 1.35rem); }
.sx-hero__fond { background: radial-gradient(70% 60% at 86% 30%, rgb(28 85 224 / .85), transparent 72%), radial-gradient(55% 55% at 8% 12%, rgb(28 85 224 / .55), transparent 72%), radial-gradient(60% 40% at 50% 62%, rgb(58 109 232 / .4), transparent 75%), var(--kb-nuit); }
.sx-hero__fond i:nth-child(1) { width: 56rem; height: 56rem; background: rgb(28 85 224 / .75); }
.sx-hero__fond i:nth-child(2) { width: 34rem; height: 34rem; background: rgb(132 161 234 / .42); }
.sx-hero__fond i:nth-child(3) { width: 46rem; height: 46rem; background: rgb(28 85 224 / .5); }
@media (max-width: 700px) { .kb-hero { padding-top: 6.25rem; } .kb-h1.sx-t1 { font-size: calc((100vw - 2rem) / 14.2); line-height: 1.14; } .kb-h1 em { display: inline; } }

/* Trajectoire : pleine largeur, plus haute, plus lumineuse */
.kb-traj { --kb-tg: clamp(1rem, 6vw, 7rem); position: relative; width: 100%; max-width: none; height: clamp(17rem, 9rem + 25vw, 33rem); margin-top: clamp(2.75rem, 2rem + 4vw, 5.5rem); padding: 0; }
.kb-traj svg { left: var(--kb-tg); right: var(--kb-tg); width: calc(100% - 2 * var(--kb-tg)); }
.kb-traj__fond { stroke: rgb(185 200 242 / .4); stroke-width: 2; stroke-dasharray: 1.5 9; }
.kb-traj__vif { stroke-width: 4; stroke: url(#kb-traj-trait); filter: drop-shadow(0 0 10px rgb(185 200 242 / .95)); }
.kb-traj__halo { fill: none; stroke: #3a6de8; stroke-width: 26; vector-effect: non-scaling-stroke; stroke-linecap: butt; stroke-dasharray: 1; stroke-dashoffset: 1; opacity: .55; filter: blur(14px); }
.kb-traj__lumiere { display: block; width: 16px; height: 16px; translate: -50% -50%; border-radius: 50%; background: #fff; box-shadow: 0 0 0 5px rgb(255 255 255 / .22), 0 0 34px 14px rgb(132 161 234 / .95), 0 0 110px 44px rgb(28 85 224 / .85); }
.kb-traj__faisceau { width: 2px; height: 22rem; translate: -50% -50%; background: linear-gradient(180deg, transparent, rgb(231 237 252 / .75), transparent); filter: blur(.5px); }
.kb-traj__pt { padding: .7rem 1.2rem; border-radius: 14px; font-size: clamp(.9375rem, .85rem + .4vw, 1.2rem); letter-spacing: -.01em; color: rgb(255 255 255 / .78); background: rgb(11 29 82 / .72); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: inset 0 1px 0 rgb(255 255 255 / .16), inset 0 0 0 1px rgb(255 255 255 / .12); }
.kb-traj__pt::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: 0 0 0 1px rgb(231 237 252 / .8); opacity: 0; pointer-events: none; }
.kb-traj__pt.on { background: linear-gradient(160deg, #2a62e6, #003dd5); box-shadow: inset 0 1px 0 rgb(255 255 255 / .4), inset 0 0 0 1px rgb(231 237 252 / .5), 0 14px 44px -6px rgb(28 85 224 / 1); }
.kb-traj__pt.on::after { animation: kb-onde 1s var(--sx-entree) both; }
@keyframes kb-onde { 0% { opacity: .9; transform: scale(1); } 100% { opacity: 0; transform: scale(1.7, 2.1); } }
.kb-traj.arrive .kb-traj__pt:last-of-type { scale: 1.14; }
@media (max-width: 760px) { .kb-traj { height: 18rem; } .kb-traj__pt { font-size: .875rem; padding: .5rem .8rem; } .kb-traj__faisceau { height: 13rem; } }

/* Étape 1 : le premier échange, en un visuel */
.kb-vt { position: relative; display: grid; grid-template-columns: auto 1fr; gap: clamp(1.25rem, 3vw, 2.5rem); align-items: center; width: min(100%, 31rem); }
.kb-vt svg { width: clamp(10rem, 7rem + 9vw, 15rem); height: auto; overflow: visible; }
.kb-vt__fond, .kb-vt__arc { fill: none; stroke-width: 14; }
.kb-vt__fond { stroke: rgb(255 255 255 / .1); }
.kb-vt__arc { stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; filter: drop-shadow(0 0 10px rgb(132 161 234 / .85)); }
.kb-vt__cent { position: absolute; left: 0; top: 50%; translate: 0 -50%; width: clamp(10rem, 7rem + 9vw, 15rem); display: grid; justify-items: center; line-height: 1; }
.kb-vt__cent span { font-size: clamp(3rem, 2.2rem + 2.4vw, 4.5rem); letter-spacing: -.05em; }
.kb-vt__cent small { margin-top: .3rem; font-size: 1rem; color: var(--kb-ciel); }
.kb-vt ul { display: grid; gap: 1rem; font-size: clamp(1.05rem, 1rem + .4vw, 1.3rem); letter-spacing: -.02em; line-height: 1.2; }
@media (max-width: 480px) { .kb-vt { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; } .kb-vt__cent { left: 50%; top: 0; height: clamp(10rem, 7rem + 9vw, 15rem); translate: -50% 0; align-content: center; } }
@media (prefers-reduced-motion: no-preference) {
  .js-motion .kb-vt__arc { stroke-dashoffset: 1; } .js-motion .kb-vt li { opacity: 0; translate: 10px 0; }
  .joue.kb-vt .kb-vt__arc { stroke-dashoffset: 0; transition: stroke-dashoffset 1.8s var(--sx-glisse); }
  .joue.kb-vt li { opacity: 1; translate: 0 0; transition: opacity .5s ease calc(.45s + var(--k) * .45s), translate .8s var(--sx-entree) calc(.45s + var(--k) * .45s); }
}

/* Dégradés bleu vers blanc : les zones suivent désormais l'ellipse */
.kb-zone--clair, .kb-zone--fin { background: var(--raccord-nc) top / 100% var(--raccord) no-repeat, var(--raccord-cn) bottom / 100% var(--raccord) no-repeat, linear-gradient(#f8faff, #f8faff) center / 100% calc(100% - var(--raccord) * 1.98) no-repeat; }
.kb-zone--clair { padding-block: calc(var(--raccord) * .46); }
.kb-zone--fin { padding-bottom: calc(var(--raccord) * .4); }
.kb-zone__repere { top: calc(var(--raccord) * .42); bottom: calc(var(--raccord) * .42); }
.kv2-page:has(.kb-expertise, .kv2-content, .gd) + .kb-fondu-fin { height: var(--raccord); background: var(--raccord-cn) left bottom / 100% var(--raccord) no-repeat; }
body.sx .kv2-page:has(.kb-expertise, .kv2-content, .gd) { background: #f8faff; }
.kb-expertise__hero::before, .kv2-content__title::before { bottom: calc(var(--raccord) * -.55); background: radial-gradient(50rem 26rem at 72% 18%, rgb(28 85 224 / .55), transparent 70%), radial-gradient(34rem 22rem at 16% 6%, rgb(28 85 224 / .35), transparent 70%), var(--raccord-nc) left bottom / 100% var(--raccord) no-repeat, linear-gradient(var(--kb-nuit), var(--kb-nuit)) left top / 100% calc(100% - var(--raccord) + 1px) no-repeat; }
.kb-expertise__hero { margin-bottom: calc(var(--raccord) * .36) !important; }
.kv2-q .kb-expertise__hero { margin-bottom: calc(var(--raccord) * .36) !important; }
.kv2-content__title { margin-bottom: calc(var(--raccord) * .42); }
.gd-hero { padding-bottom: calc(var(--raccord) * .62); background: radial-gradient(50rem 26rem at 72% 18%, rgb(28 85 224 / .55), transparent 70%), var(--raccord-nc) left bottom / 100% var(--raccord) no-repeat, linear-gradient(var(--kb-nuit), var(--kb-nuit)) left top / 100% calc(100% - var(--raccord) + 1px) no-repeat; }
.kb-rdv__carte, .kb-rdv { position: relative; }

/* Lignes de niveau sur les zones claires */
.kb-formes { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; color: rgb(0 61 213 / .13); }
.kb-formes span { position: absolute; display: block; -webkit-mask-image: radial-gradient(closest-side, #000 25%, transparent); mask-image: radial-gradient(closest-side, #000 25%, transparent); }
.kb-formes svg { width: 100%; height: 100%; }
.kb-zone > .sx-bloc { position: relative; z-index: 1; }

/* Film qui grandit en arrivant à l'écran */
.kb-demo__film .plateforme-demo__cadre { transform-origin: 50% 20%; transform: perspective(1600px) rotateX(calc((1 - var(--e, 1)) * 14deg)) scale(calc(.8 + .2 * var(--e, 1))); will-change: transform; }

/* Équipe : grandes photos, comme l'encart de salys.fr */
.kb-encart.sx-encart { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); min-height: 30rem; }
.kb-encart .sx-encart__texte { padding-right: 0; }
.kb-trio { padding: 2rem 0 0; align-self: end; }
.kb-trio li { flex: 1 1 0; margin-inline: -2.2rem; }
.kb-trio li.kb-trio__centre { flex: 1.42 1 0; }
@media (max-width: 900px) { .kb-encart.sx-encart { grid-template-columns: minmax(0, 1fr); min-height: 0; } .kb-trio { max-width: none; padding: 0 .5rem; } .kb-trio li { margin-inline: -1.6rem; } }

/* Détails */
.sx-etape, .kb-module, .kb-agents__carte, .kb-bpi__carte, .kb-encart, .kb-rdv__carte { box-shadow: inset 0 1px 0 rgb(255 255 255 / .13), inset 0 0 0 1px rgb(255 255 255 / .08), 0 34px 70px -38px rgb(3 10 34 / .9); }
.kb-module { transition: transform 700ms var(--sx-entree); }
@media (hover: hover) { .kb-module:hover { transform: translateY(-5px); } }
.sx-faq__item summary { font-size: 1.125rem; letter-spacing: -.01em; }
/* Pages intérieures : fondu plus court, le texte du haut reste entièrement sur la nuit */
body.sx .kv2-page:has(.kb-expertise, .kv2-content, .gd) { --raccord: clamp(15rem, 11rem + 10vw, 24rem); }
.kb-expertise__hero::before, .kv2-content__title::before { bottom: calc(var(--raccord) * -.94); }
.kb-expertise__hero, .kv2-q .kb-expertise__hero { margin-bottom: calc(var(--raccord) * .66) !important; }
.kv2-content__title { margin-bottom: calc(var(--raccord) * .72); }
.gd-hero { padding-bottom: calc(var(--raccord) * 1.05); }
/* Premier écran : la trajectoire remonte dans le premier écran */
.kb-hero { padding-top: clamp(6.5rem, 5rem + 3.4vw, 9rem); }
.kb-traj { margin-top: clamp(2rem, 1.5rem + 2vw, 3.25rem); }
/* Équipe : titre sur deux lignes */
.kb-encart .sx-titre { font-size: clamp(1.5rem, 1.1rem + 1.5vw, 2.45rem); }
@media (min-width: 901px) { .kb-encart .sx-titre { white-space: nowrap; } }


/* ─────────────── Retours de Paul, 08/11/2026 (4) ─────────────── */
/* Logo plus présent */
.kb-marque img { height: 3.25rem; }
.kb-pied__signature img { height: 3.5rem; }
@media (max-width: 760px) { .kb-marque img { height: 2.6rem; } }
@media (max-width: 360px) { .kb-marque img { height: 2.2rem; } }
.kb-mono-mini { display: inline-block; width: 1.5rem; height: 1.5rem; background: currentColor; color: var(--kb-ciel); -webkit-mask: url("../img/kerbone-mark.png") center / contain no-repeat; mask: url("../img/kerbone-mark.png") center / contain no-repeat; }
.sx-clair .kb-mono-mini { color: var(--kb-bleu); }
.sx-clair [data-fond="sombre"] .kb-mono-mini { color: var(--kb-ciel); }
.kb-bpi__carte::after, .kb-rdv__carte::after, .kb-gens__tete::after { content: ""; position: absolute; z-index: 0; pointer-events: none; right: -3rem; bottom: -4rem; width: 22rem; height: 22rem; background: #fff; opacity: .05; -webkit-mask: url("../img/kerbone-mark.png") center / contain no-repeat; mask: url("../img/kerbone-mark.png") center / contain no-repeat; }
.kb-bpi__carte > *, .kb-rdv__carte > * { position: relative; z-index: 1; }
.kb-bpi__carte { position: relative; }

/* Preuve et trajectoire */
.kb-ronds span { width: 3.6rem; height: 3.6rem; padding: .65rem; }
@media (max-width: 760px) { .kb-ronds span { width: 3.2rem; height: 3.2rem; padding: .55rem; } }
.kb-hero .sx-hero__centre { gap: clamp(1rem, .8rem + .6vw, 1.5rem); }
.kb-traj { margin-top: clamp(.5rem, .2rem + 1vw, 1.25rem); }

/* Les étapes fusionnent et deviennent la plateforme, en boucle */
.kb-traj__pt { transition: color 450ms ease, background 450ms ease, box-shadow 450ms ease, scale 600ms var(--sx-rebond), transform 750ms cubic-bezier(.7, 0, .2, 1), opacity 600ms ease; }
.kb-traj.fusion .kb-traj__pt { transform: translate(var(--fx, 0), var(--fy, 0)) scale(.35); opacity: 0; }
.kb-traj.retour .kb-traj__pt { opacity: 0; transition: none; }
.kb-traj svg { transition: opacity 500ms ease; }
.kb-traj.fusion svg, .kb-traj.retour svg { opacity: 0; }
.kb-traj__eclat { position: absolute; left: 50%; top: 50%; width: 34rem; height: 34rem; margin: -17rem 0 0 -17rem; border-radius: 50%; background: radial-gradient(closest-side, rgb(231 237 252 / .95), rgb(92 134 240 / .55) 40%, transparent 72%); opacity: 0; transform: scale(.25); pointer-events: none; }
.kb-traj.fusion .kb-traj__eclat { animation: kb-eclat 1.3s cubic-bezier(.2, .8, .2, 1) .35s both; }
@keyframes kb-eclat { 0% { opacity: 0; transform: scale(.25); } 35% { opacity: 1; } 100% { opacity: 0; transform: scale(1.5); } }
.kb-traj__app { position: absolute; left: 50%; top: 50%; width: min(46rem, 76vw); aspect-ratio: 16 / 10; translate: -50% -50%; overflow: hidden; border-radius: 1.1rem; background: #fff; box-shadow: 0 0 0 1px rgb(255 255 255 / .2), 0 40px 120px -20px rgb(28 85 224 / .95); opacity: 0; transform: scale(.45); filter: blur(10px); transition: opacity 500ms ease, transform 500ms ease, filter 400ms ease; pointer-events: none; }
.kb-traj.plateforme .kb-traj__app { opacity: 1; transform: none; filter: none; transition: opacity 500ms ease, transform 850ms var(--sx-rebond), filter 500ms ease; }
.kb-traj__app img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }

/* Film : le bouton de lecture ne vient plus sur l'écran de fin */
[data-kb-film].est-fini .plateforme-demo__play { display: none !important; }
.kb-film__fin { bottom: 7%; }
@media (max-width: 600px) { .kb-film__fin { bottom: 3%; } }

/* Équipe : trois encarts horizontaux, à égalité */
.kb-gens { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem, 4vw, 4.5rem); align-items: center; }
.kb-gens__tete { display: flex; flex-direction: column; align-items: flex-start; gap: 1.1rem; }
.kb-gens__tete::after { display: none; }
.kb-gens__liste { display: grid; gap: .85rem; }
.kb-gens__liste a { display: flex; align-items: center; gap: clamp(1rem, 2vw, 1.6rem); padding: clamp(1rem, .8rem + .8vw, 1.5rem); border-radius: var(--sx-r-carte); background: radial-gradient(70% 120% at 100% 100%, rgb(28 85 224 / .55), transparent 72%), linear-gradient(160deg, #0e2159, var(--kb-nuit) 70%); box-shadow: inset 0 1px 0 rgb(255 255 255 / .13), inset 0 0 0 1px rgb(255 255 255 / .08), 0 30px 60px -36px rgb(3 10 34 / .9); color: #fff; text-decoration: none; transition: transform 600ms var(--sx-entree); }
@media (hover: hover) { .kb-gens__liste a:hover { transform: translateX(6px); } }
.kb-gens__photo { flex: none; width: clamp(5rem, 4rem + 3vw, 7rem); height: clamp(5rem, 4rem + 3vw, 7rem); border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 1.5px rgb(201 211 234 / .75), 0 0 0 5px rgb(132 161 234 / .12); }
.kb-gens__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kb-gens__txt { display: grid; gap: .15rem; min-width: 0; }
.kb-gens__role { color: var(--kb-ciel); font-size: .9375rem; }
.kb-gens__nom { font-size: clamp(1.2rem, 1.05rem + .5vw, 1.5rem); letter-spacing: -.025em; }
.kb-gens__fait { margin-top: .3rem; line-height: 1.45; color: rgb(255 255 255 / .86); }
@media (max-width: 900px) { .kb-gens { grid-template-columns: minmax(0, 1fr); } .kb-gens__tete { align-items: center; text-align: center; } }
@media (max-width: 480px) { .kb-gens__liste a { align-items: flex-start; } }

/* Engagements : pictos au trait dégradé, dessinés au survol */
.kb-engagements li { position: relative; }
.kb-picto { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; margin-bottom: .9rem; border-radius: 28%; background: radial-gradient(80% 80% at 30% 20%, #1c3a96, #07133a 75%); box-shadow: inset 0 1px 0 rgb(255 255 255 / .22), inset 0 0 0 1px rgb(255 255 255 / .08), 0 16px 30px -16px rgb(7 19 58 / .75); }
.kb-picto svg { width: 1.65rem; height: 1.65rem; }
.kb-picto svg :is(path, circle, rect) { stroke-dasharray: 90; stroke-dashoffset: 0; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) { .kb-engagements li:hover .kb-picto svg :is(path, circle, rect) { animation: kb-trace 1.1s cubic-bezier(.65, 0, .25, 1) both; } }
@keyframes kb-trace { from { stroke-dashoffset: 90; } to { stroke-dashoffset: 0; } }


/* ─────────────── Blog ─────────────── */
.kb-blog { position: relative; color: #fff; }
.kb-blog-hero { position: relative; isolation: isolate; overflow: clip; padding: clamp(8rem, 6.5rem + 5vw, 11.5rem) 0 clamp(3rem, 2rem + 4vw, 5.5rem); }
.kb-blog-hero__c { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1.15rem; }
.kb-fil { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; font-size: .9375rem; color: rgb(255 255 255 / .82); }
.kb-fil a { color: inherit; text-decoration: none; } .kb-fil a:hover { color: #fff; }
.kb-fil span[aria-current] { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-inline-size: 32ch; }
.kb-blog-titre { max-width: 54rem; font-size: clamp(1.6rem, 1.1rem + 2.4vw, 3.4rem); line-height: 1.08; letter-spacing: -.035em; }
.kb-blog-chapo { max-width: 46rem; }
.kb-blog-info { color: rgb(255 255 255 / .82); }
.kb-blog-outils { display: grid; justify-items: center; gap: 1rem; width: min(100%, 44rem); margin-top: 1rem; }
.kb-recherche { width: min(100%, 30rem); }
.kb-recherche input { width: 100%; min-height: 52px; padding: 0 1.15rem; border: 0; border-radius: var(--sx-r-bouton); background: rgb(255 255 255 / .08); color: #fff; font: inherit; box-shadow: inset 0 0 0 1px rgb(255 255 255 / .16); }
.kb-recherche input::placeholder { color: rgb(255 255 255 / .75); }
.kb-filtres { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; }
.kb-filtres button { min-height: 44px; padding: 0 1.05rem; border: 0; border-radius: 12px; background: rgb(255 255 255 / .07); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .12); color: #fff; font: inherit; cursor: pointer; transition: background 300ms ease; }
.kb-filtres button[aria-pressed="true"] { background: linear-gradient(160deg, #2a62e6, #003dd5); }
.kb-blog-liste { padding-block: clamp(1.5rem, 1rem + 2vw, 3rem); }
.kb-blog-liste .sx-titre { margin-bottom: 2rem; text-align: center; }
.kb-fiches { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.75rem, 1.5rem + 1vw, 2.75rem) 1.25rem; }
.kb-fiches li[hidden] { display: none; }
.kb-fiche a { display: flex; flex-direction: column; height: 100%; color: #fff; text-decoration: none; }
.kb-fiche__couv { position: relative; display: flex; align-items: flex-end; gap: .55rem; aspect-ratio: 16 / 10; padding: 1.35rem; border-radius: var(--sx-r-carte); overflow: hidden; font-size: clamp(1.25rem, 1.05rem + .6vw, 1.6rem); letter-spacing: -.03em; line-height: 1.1; box-shadow: inset 0 1px 0 rgb(255 255 255 / .14), inset 0 0 0 1px rgb(255 255 255 / .08); transition: transform 650ms var(--sx-entree), box-shadow 650ms ease; }
.kb-fiche__couv .kb-mono-mini { position: absolute; right: 1.2rem; top: 1.2rem; width: 2rem; height: 2rem; color: #fff; }
.kb-fiche__couv--0 { background: radial-gradient(120% 130% at 90% 0%, #2a62e6, #0e2159 48%, #07133a 82%); }
.kb-fiche__couv--1 { background: radial-gradient(120% 130% at 0% 100%, #84a1ea, #1c55e0 34%, #0a1a4e 82%); }
.kb-fiche__couv--2 { background: linear-gradient(140deg, #07133a 25%, #132a72 62%, #3a6de8 130%); }
.kb-fiche__couv--3 { background: radial-gradient(110% 120% at 60% 110%, #1c55e0, #0e2159 52%, #050d2c 92%); }
.kb-fiche a:hover .kb-fiche__couv { transform: translateY(-6px); box-shadow: inset 0 1px 0 rgb(255 255 255 / .2), 0 40px 60px -34px rgb(28 85 224 / .95); }
.kb-fiche h3 { margin-top: 1rem; font-size: 1.2rem; line-height: 1.25; letter-spacing: -.02em; }
.kb-fiche__temps { margin-top: .5rem; color: rgb(255 255 255 / .82); }
.kb-blog-vide { padding: 3rem 0; text-align: center; }
.kb-progres { position: fixed; left: 0; right: 0; top: 0; z-index: 60; height: 3px; background: rgb(255 255 255 / .08); }
.kb-progres i { display: block; height: 100%; transform: scaleX(0); transform-origin: left; background: linear-gradient(90deg, #5c86f0, #fff); }
.kb-blog-grille { display: grid; grid-template-columns: 17rem minmax(0, 46rem); justify-content: center; gap: clamp(2rem, 4vw, 4.5rem); padding-block: 1rem 3rem; }
.kb-sommaire { position: sticky; top: 7rem; align-self: start; display: grid; gap: .75rem; }
.kb-sommaire__boite { padding: 1.25rem; border-radius: 1.25rem; background: radial-gradient(90% 90% at 100% 0%, rgb(28 85 224 / .4), transparent 70%), rgb(255 255 255 / .04); box-shadow: inset 0 1px 0 rgb(255 255 255 / .12), inset 0 0 0 1px rgb(255 255 255 / .08); }
.kb-sommaire__t { margin-bottom: .75rem; font-size: .8125rem; letter-spacing: .14em; text-transform: uppercase; color: var(--kb-ciel); }
.kb-sommaire ol { display: grid; gap: .15rem; list-style: none; }
.kb-sommaire li a { display: grid; grid-template-columns: 1.6rem 1fr; gap: .3rem; padding: .45rem .4rem; border-radius: 10px; color: rgb(255 255 255 / .84); text-decoration: none; line-height: 1.3; font-size: .9375rem; transition: background 300ms ease, color 300ms ease; }
.kb-sommaire li a:hover, .kb-sommaire li a.actif { background: rgb(132 161 234 / .16); color: #fff; }
.kb-sommaire li a span:first-child { color: var(--kb-ciel); }
.kb-sommaire__rdv { display: block; padding: .9rem 1.1rem; border-radius: 1rem; background: linear-gradient(160deg, #2a62e6, #003dd5); color: #fff; text-decoration: none; }
.kb-texte { font-size: 1.0625rem; line-height: 1.7; color: rgb(255 255 255 / .9); min-width: 0; }
.kb-texte section { scroll-margin-top: 6rem; }
.kb-texte section + section { margin-top: clamp(2.25rem, 2rem + 1vw, 3.25rem); }
.kb-texte h2 { margin-bottom: .9rem; font-size: clamp(1.4rem, 1.2rem + .8vw, 1.9rem); line-height: 1.15; letter-spacing: -.03em; color: #fff; text-wrap: balance; }
.kb-texte p + p, .kb-texte ul, .kb-texte p + ul { margin-top: 1rem; }
.kb-texte ul { display: grid; gap: .55rem; list-style: none; }
.kb-texte ul li { position: relative; padding-left: 1.35rem; }
.kb-texte ul li::before { content: ""; position: absolute; left: 0; top: .72em; width: .5rem; height: .5rem; border-radius: 50%; background: linear-gradient(160deg, #e7edfc, #3a6de8); }
.kb-texte a { color: var(--kb-ciel); text-underline-offset: 3px; }
.kb-encadre { margin-top: 1.4rem; padding: 1.15rem 1.3rem; border-radius: 1.1rem; background: radial-gradient(100% 120% at 100% 100%, rgb(28 85 224 / .42), transparent 70%), rgb(255 255 255 / .05); box-shadow: inset 0 1px 0 rgb(255 255 255 / .12), inset 0 0 0 1px rgb(255 255 255 / .09); color: #fff; }
.kb-texte__faq { margin-top: .5rem; }
.kb-texte .sx-faq__rep { color: rgb(255 255 255 / .86); margin: 0; }
.kb-texte details ul { display: none; }
.kb-sources li { font-size: .9375rem; }
.kb-blog-fin__carte { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; gap: 1rem; padding: clamp(2rem, 1.5rem + 3vw, 4rem); border-radius: var(--sx-r-ilot); text-align: center; background: radial-gradient(70% 110% at 50% 110%, rgb(28 85 224 / .7), transparent 72%), linear-gradient(160deg, #0e2159, var(--kb-nuit) 70%); box-shadow: inset 0 1px 0 rgb(255 255 255 / .13), inset 0 0 0 1px rgb(255 255 255 / .08); }
@media (max-width: 980px) { .kb-blog-grille { grid-template-columns: minmax(0, 1fr); } .kb-sommaire { position: static; } .kb-fiches { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .kb-fiches { grid-template-columns: minmax(0, 1fr); } .kb-texte { font-size: 1rem; } }
.kb-gens__tete .sx-titre { font-size: clamp(1.45rem, 1.1rem + 1vw, 2.15rem); }
.kb-gens__tete .sx-titre em { display: block; }
@media (max-width: 700px) { body.sx .kb-gens__tete h2.sx-t2 { font-size: calc((100vw - 2.5rem) / 14); } }
/* En-tête : bouton à la taille de son texte. Second appel du premier écran : pas de soulignage, mais du relief */
.sx-tete .sx-btn.kb-tete__cta { min-width: 0; padding: 0 2.5rem 0 2.1rem; }
@media (max-width: 760px) { .sx-tete .sx-btn.kb-tete__cta { padding: 0 1.45rem; } }
@media (max-width: 360px) { .sx-tete .sx-btn.kb-tete__cta { padding: 0 .95rem; } }
.kb-hero__second { position: relative; isolation: isolate; overflow: hidden; display: inline-flex; align-items: center; gap: .7rem; min-height: 60px; padding: 0 1.6rem; border-radius: var(--sx-r-bouton); color: #fff; text-decoration: none; font-size: 1rem; font-weight: 500; background: linear-gradient(160deg, rgb(255 255 255 / .2), rgb(255 255 255 / .07)); box-shadow: inset 0 1px 0 rgb(255 255 255 / .34), inset 0 0 0 1px rgb(255 255 255 / .16), 0 20px 44px -18px rgb(28 85 224 / .95); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: transform 500ms var(--sx-rebond), box-shadow 500ms ease; }
.kb-hero__second span { background-image: var(--sx-brille), linear-gradient(100deg, #fff, #dce5fb 50%, #fff); background-size: 45% 100%, 100% 100%; background-repeat: no-repeat; background-position: -120% 50%, 0 50%; -webkit-background-clip: text; background-clip: text; color: transparent; }
.kb-hero__second svg { flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform 500ms var(--sx-rebond); }
.kb-hero__second:hover { transform: translateY(-2px); box-shadow: inset 0 1px 0 rgb(255 255 255 / .45), inset 0 0 0 1px rgb(255 255 255 / .3), 0 26px 54px -16px rgb(28 85 224 / 1); color: #fff; }
.kb-hero__second:hover svg { transform: translateX(5px); }
.kb-hero__second:focus-visible { outline: 2px solid var(--kb-ciel); outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) { .kb-hero__second span { animation: kb-argent 7s cubic-bezier(.45, .05, .55, .95) infinite; } }
@media (max-width: 480px) { .kb-hero__second { min-height: 54px; font-size: .9375rem; padding: 0 1.3rem; } }
/* Blog : le haut bleu se fond dans la nuit, sans ligne */
.kb-blog-hero .sx-hero__fond { -webkit-mask-image: linear-gradient(180deg, #000 45%, transparent 100%); mask-image: linear-gradient(180deg, #000 45%, transparent 100%); background: radial-gradient(70% 60% at 86% 30%, rgb(28 85 224 / .85), transparent 72%), radial-gradient(55% 55% at 8% 12%, rgb(28 85 224 / .55), transparent 72%); }
.kb-blog-hero { padding-bottom: clamp(4rem, 3rem + 5vw, 7.5rem); }
@media (max-width: 360px) { .kb-blog-titre { font-size: 1.2rem; } }

/* Fin de l'animation du premier écran : la plateforme dessinée, dans le même style que la trajectoire */
.kb-traj__app.kb-cockpit { aspect-ratio: auto; display: flex; flex-direction: column; gap: .75rem; padding: clamp(.8rem, .6rem + 1vw, 1.25rem); color: #fff; border-radius: 1.4rem; background: radial-gradient(70% 90% at 90% 0%, rgb(58 109 232 / .5), transparent 70%), linear-gradient(160deg, rgb(19 42 114 / .92), rgb(7 19 58 / .94)); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: inset 0 1px 0 rgb(255 255 255 / .28), inset 0 0 0 1px rgb(231 237 252 / .22), 0 0 90px -8px rgb(28 85 224 / .95), 0 40px 90px -30px rgb(3 10 34 / .9); }
.kb-cockpit__tete { display: flex; align-items: center; gap: .55rem; padding: .1rem .2rem; font-size: clamp(.875rem, .8rem + .35vw, 1.0625rem); letter-spacing: -.01em; }
.kb-cockpit__tete .kb-mono-mini { color: #fff; }
.kb-cockpit__grille { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .6rem; }
.kb-ck { display: flex; flex-direction: column; gap: .5rem; min-height: clamp(6rem, 4.5rem + 4vw, 9rem); padding: .8rem .9rem; border-radius: .95rem; background: rgb(255 255 255 / .06); box-shadow: inset 0 1px 0 rgb(255 255 255 / .14), inset 0 0 0 1px rgb(255 255 255 / .08); overflow: hidden; }
.kb-ck p { font-size: clamp(.8125rem, .75rem + .25vw, .9375rem); letter-spacing: -.01em; }
.kb-ck--carbone { grid-column: span 4; } .kb-ck--plan { grid-column: span 2; } .kb-ck--energie, .kb-ck--four, .kb-ck--eco { grid-column: span 2; }
.kb-ck svg { flex: 1; width: 100%; min-height: 3rem; overflow: visible; }
.kb-ck__ligne { fill: none; stroke: #e7edfc; stroke-width: 2.5; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-dasharray: 1; filter: drop-shadow(0 0 6px rgb(185 200 242 / .95)); }
.kb-ck ul { display: grid; gap: .55rem; margin-top: auto; }
.kb-ck li { height: 6px; border-radius: 99px; background: rgb(255 255 255 / .12); position: relative; overflow: hidden; }
.kb-ck li::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: var(--w); border-radius: inherit; background: linear-gradient(90deg, #2a62e6, #c9d6f8); }
.kb-ck--energie > div { flex: 1; display: flex; align-items: flex-end; gap: .25rem; min-height: 3rem; }
.kb-ck--energie i { flex: 1; height: var(--h); border-radius: 3px 3px 1px 1px; background: linear-gradient(180deg, #c9d6f8, #1c55e0); transform-origin: bottom; }
.kb-ck__anneau { align-self: center; margin-block: auto; width: clamp(3rem, 2.4rem + 2.2vw, 4.75rem); aspect-ratio: 1; border-radius: 50%; background: conic-gradient(#e7edfc 0 72%, rgb(255 255 255 / .12) 72%); -webkit-mask: radial-gradient(closest-side, transparent 66%, #000 67%); mask: radial-gradient(closest-side, transparent 66%, #000 67%); filter: drop-shadow(0 0 8px rgb(132 161 234 / .8)); }
@media (prefers-reduced-motion: no-preference) {
  .kb-ck { opacity: 0; transform: translateY(14px) scale(.96); }
  .kb-ck__ligne { stroke-dashoffset: 1; }
  .kb-ck li::after { transform: scaleX(0); transform-origin: left; }
  .kb-ck--energie i { transform: scaleY(0); }
  .kb-ck__anneau { rotate: -110deg; }
  .kb-traj.plateforme .kb-ck { opacity: 1; transform: none; transition: opacity 450ms ease calc(.18s + var(--k) * 90ms), transform 800ms var(--sx-entree) calc(.18s + var(--k) * 90ms); }
  .kb-traj.plateforme .kb-ck__ligne { stroke-dashoffset: 0; transition: stroke-dashoffset 1.1s var(--sx-glisse) .35s; }
  .kb-traj.plateforme .kb-ck li::after { transform: scaleX(1); transition: transform .9s var(--sx-glisse) .55s; }
  .kb-traj.plateforme .kb-ck--energie i { transform: scaleY(1); transition: transform .7s var(--sx-entree) calc(.45s + var(--j) * 55ms); }
  .kb-traj.plateforme .kb-ck__anneau { rotate: 0deg; transition: rotate 1.1s var(--sx-entree) .55s; }
}
@media (max-width: 760px) {
  .kb-traj__app.kb-cockpit { width: min(23rem, 86vw); }
  .kb-ck--plan, .kb-ck--four { display: none; }
  .kb-ck--carbone { grid-column: 1 / -1; min-height: 5.5rem; }
  .kb-ck--energie, .kb-ck--eco { grid-column: span 3; min-height: 5.75rem; }
}
/* Logo de l'en-tête : recadré sur son dessin, nettement plus grand */
.kb-marque img { width: clamp(9.5rem, 7rem + 7vw, 14rem); height: auto; }
@media (max-width: 760px) { .kb-marque img { width: 9rem; height: auto; } }
@media (max-width: 400px) { .kb-marque img { width: 7.6rem; } }
@media (max-width: 340px) { .kb-marque img { width: 6.4rem; } }

/* Courbe de la plateforme dessinée : la règle globale de la trajectoire ne s'applique pas ici */
.kb-traj .kb-ck svg, .kb-traj.fusion .kb-ck svg, .kb-traj.retour .kb-ck svg { position: static; left: auto; right: auto; width: 100%; height: auto; flex: 1; min-height: 3rem; opacity: 1; }
@media (max-width: 340px) { .kb-marque img { width: 5.6rem; } .sx-tete .sx-btn.kb-tete__cta { padding: 0 .75rem; } }

/* L'équipe : un bandeau bleu marine, le texte à gauche, les trois à droite sur la moitié de la largeur */
.kb-gens { position: relative; overflow: hidden; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 3vw, 3.5rem); padding: clamp(1.5rem, 1rem + 3vw, 4rem); border-radius: var(--sx-r-ilot); color: #fff; background: radial-gradient(70% 95% at 100% 100%, rgb(28 85 224 / .7), transparent 72%), radial-gradient(40% 60% at 96% 6%, rgb(58 109 232 / .28), transparent 70%), linear-gradient(160deg, #0e2159, var(--kb-nuit) 65%); box-shadow: inset 0 1px 0 rgb(255 255 255 / .13), inset 0 0 0 1px rgb(255 255 255 / .08), 0 40px 90px -46px rgb(3 10 34 / .9); }
.kb-gens .sx-chapo { color: rgb(255 255 255 / .86); }
.kb-gens__tete .sx-titre { font-size: clamp(1.6rem, 1.15rem + 1.45vw, 2.7rem); }
.kb-gens__liste a { background: rgb(255 255 255 / .06); box-shadow: inset 0 1px 0 rgb(255 255 255 / .13), inset 0 0 0 1px rgb(255 255 255 / .09); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
@media (max-width: 900px) { .kb-gens { grid-template-columns: minmax(0, 1fr); } }

/* Prise de rendez-vous : une question à la fois, comme salys.fr */
.kb-rdv__carte { align-items: start; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); }
.kb-rdv__tete { position: sticky; top: 7rem; }
.kb-rdv .kb-quiz__card { min-height: 26rem; display: flex; flex-direction: column; }
.kb-rdv #kb-step { display: none; }
.kb-rdv .kb-quiz__bar { height: 3px; margin-bottom: 1.5rem; }
.kb-rdv .kb-quiz__fill { background: linear-gradient(90deg, #5c86f0, #fff); box-shadow: 0 0 12px rgb(132 161 234 / .8); transition: width 600ms var(--sx-entree); }
.kb-tf-in { animation: kb-tf .55s var(--sx-entree) both; }
@keyframes kb-tf { from { opacity: 0; transform: translateY(26px); filter: blur(5px); } }
.kb-tf__haut { display: flex; align-items: center; justify-content: space-between; min-height: 2.25rem; }
.kb-tf__num { margin-left: auto; color: var(--kb-ciel); font-size: .9375rem; }
.kb-tf__retour { padding: .25rem 0; border: 0; background: none; color: rgb(255 255 255 / .86); font: inherit; font-size: .9375rem; cursor: pointer; }
.kb-tf__retour::before { content: "\2190\00a0"; }
.kb-tf__retour:hover { color: #fff; }
.kb-tf__q { margin: .4rem 0 1.25rem; font-size: clamp(1.45rem, 1.1rem + 1.3vw, 2.2rem); line-height: 1.12; letter-spacing: -.035em; color: #fff; text-wrap: balance; }
.kb-tf__opts { display: grid; gap: .55rem; }
.kb-tf__opt { display: flex; align-items: center; gap: .85rem; width: 100%; min-height: 3.5rem; padding: .7rem 1rem; border: 0; border-radius: 14px; background: rgb(255 255 255 / .06); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .14); color: #fff; font: inherit; font-size: 1.0625rem; font-weight: 400 !important; text-align: left; line-height: 1.3; cursor: pointer; transition: background 300ms ease, box-shadow 300ms ease, transform 400ms var(--sx-rebond); }
.kb-tf__opt:hover, .kb-tf__opt:focus-visible { background: rgb(132 161 234 / .18); box-shadow: inset 0 0 0 1px rgb(231 237 252 / .5); transform: translateX(4px); }
.kb-tf__opt.est-choisi { background: linear-gradient(160deg, #2a62e6, #003dd5); box-shadow: inset 0 0 0 1px rgb(231 237 252 / .55), 0 14px 34px -12px rgb(28 85 224 / 1); }
.kb-tf__l { display: grid; place-items: center; flex: none; width: 1.9rem; height: 1.9rem; border-radius: 8px; background: rgb(255 255 255 / .1); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .16); font-size: .875rem; }
.kb-rdv .kb-fields { margin-top: .25rem; }
@media (max-width: 900px) { .kb-rdv__tete { position: static; } .kb-rdv__carte { grid-template-columns: minmax(0, 1fr); } .kb-rdv .kb-quiz__card { min-height: 0; } }
@media (hover: none) { .kb-tf__opt:hover { transform: none; background: rgb(255 255 255 / .06); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .14); } .kb-tf__opt.est-choisi:hover { background: linear-gradient(160deg, #2a62e6, #003dd5); } }
.kb-rdv .kb-quiz__card .kb-tel-cc { border: 0; background: rgb(255 255 255 / .07); color: #fff; box-shadow: inset 0 0 0 1px rgb(255 255 255 / .16); border-radius: var(--sx-r-bouton); }

/* Grands écrans : toute l'échelle grandit, mêmes paliers que salys.fr */
@media (min-width: 1680px) { :root { font-size: 106.25%; } }
@media (min-width: 1920px) { :root { font-size: 112.5%; } }
@media (min-width: 2200px) { :root { font-size: 125%; } }
@media (min-width: 2560px) { :root { font-size: 137.5%; } }
body.sx { font-size: 1rem; }
.sx-tete .sx-btn.kb-tete__cta { font-size: .9375rem; min-height: 3.375rem; }
@media (max-width: 760px) { .sx-tete .sx-btn.kb-tete__cta { font-size: 13px; min-height: 46px; } }

/* Outils gratuits : largeurs en rem (elles suivent l'échelle des grands écrans), titres sur deux lignes, respirations */
.kb-guide__inner { max-width: 76rem; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: clamp(2.5rem, 2rem + 3vw, 5rem); }
.kb-eligp__hero { max-width: 62rem; margin-bottom: clamp(2.25rem, 2rem + 1.5vw, 3.5rem); }
.kb-eligp__panel { max-width: 60rem; }
.kb-intro { max-width: 52rem; }
.kb-diag__inner { max-width: 76rem; }
.gd__wrap { max-width: 76rem; padding-inline: var(--sx-gouttiere); }
.gd-sec__head { max-width: 46rem; }
.gd-hero__grid { gap: clamp(2.5rem, 2rem + 3vw, 5rem); }
.kb-guide__eyebrow, .kb-eligp__eyebrow, .kb-intro .kb-eyebrow, .gd-hero__eyebrow { display: block; margin: 0 0 1.25rem; }
.kb-guide__title, .kb-eligp__title, .kb-intro__title { margin: 0 0 1.5rem; font-size: clamp(1.625rem, 1rem + 2.4vw, 3.15rem); line-height: 1.1; }
.kb-guide__lead, .kb-eligp__lead, .kb-intro__lead { max-width: 44rem; margin: 0 0 1.1rem; font-size: clamp(1rem, .96rem + .22vw, 1.15rem); line-height: 1.6; }
.kb-eligp__lead, .kb-intro__lead { margin-inline: auto; }
.kb-intro__disclaimer { margin: .25rem 0 2rem; }
.kb-intro__form { margin-top: 2rem; }
.kb-intro__note { margin-top: 1.25rem; }
.kb-eligp__stats { margin-top: 1.75rem; gap: .6rem; }
.kb-guide__sommaire-titre { margin: 2.25rem 0 .9rem; }
.kb-guide__cas li { padding-block: .7rem; gap: .8rem; }
.gd-hero__title { margin: 0 0 1.5rem; }
.gd-hero__lead { margin: 0 0 1.75rem; line-height: 1.55; }
.gd-mods { margin-bottom: 2rem; gap: .5rem; }
.gd-hero__meta { margin-top: 2rem; gap: 2.25rem; }
.gd-sec__title { margin-bottom: 1rem; }
/* Les formulaires des outils sont écrits en px : ils suivent l'échelle des grands écrans par un zoom */
@media (min-width: 1680px) { :root { --kb-z: 1.0625; } }
@media (min-width: 1920px) { :root { --kb-z: 1.125; } }
@media (min-width: 2200px) { :root { --kb-z: 1.25; } }
@media (min-width: 2560px) { :root { --kb-z: 1.375; } }
@media (min-width: 1680px) {
  .kb-guide__form, .kb-eligp__form, .kb-intro__form, .kb-elig__inner, .kb-diag .kb-quiz, .gd-visual, .gd-form, .kb-diag--result .kb-result, .kb-rdv .kb-fields { zoom: var(--kb-z, 1); }
  .kb-intro__form { max-width: calc(440px * 1); }
}
.kb-intro__form, .kb-intro__form.kb-intro__form { max-width: 34rem; margin-inline: auto; }
@media (min-width: 1680px) { .kb-intro__form { max-width: 28rem; } }
.gd-hero__eyebrow { display: inline-flex; width: fit-content; }
@media (max-width: 700px) { .kb-guide__title, .kb-eligp__title, .kb-intro__title { font-size: calc((100vw - 2rem) / 15.5); } }
@media (max-width: 900px) { .kb-guide__inner { grid-template-columns: minmax(0, 1fr); gap: 2.25rem; } }
