/* ============================================================
   OPTERIA — page « Cerveau IA » (05/10/2026, demande Axel) : la page gleap.ai/product/knowledge-base…
   reprise section par section, contenu OpterIA. Chargée seulement par cerveau-ia.html, après da-gleap.css.
   Mesures relevées sur gleap : sections à 84 px, cartes grises #edede8 à 24 px, cadres #dbdbd2 à 20 px,
   maquettes blanches à 16 px, texte gris à 70 %. Animations : cerveau.js.
   ============================================================ */
.page-cerveau { --gris-carte: #edede8; --gris-cadre: #dbdbd2; --encre: #0d0f14; --muet: rgba(53,53,53,.7); --vert: #3aa655; }
.cv-sec { padding: 84px 0; background: var(--paper); }

/* ---------- Premier écran : titre centré, preuves, boutons, puis le « centre d'aide » du cerveau ---------- */
.cv-hero { padding: 84px 0 64px; background: var(--paper); text-align: center; }
.cv-hero__tete { max-width: 860px; margin: 0 auto; }
.cv-hero .meta { margin-bottom: 18px; }
.cv-hero__sous { max-width: 780px; margin: 26px auto 0; font-size: 19px; line-height: 1.4; color: var(--muet); }
.cv-preuve { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 16px; margin-top: 32px; font-size: 14px; color: var(--muet); }
.cv-preuve i { width: 1px; height: 14px; background: rgba(0,0,0,.14); }
.cv-hero__actions { justify-content: center; margin-top: 32px; }

.cv-portail { position: relative; height: 690px; margin-top: 72px; border-radius: var(--r); background: #fff; overflow: hidden; text-align: left;
  box-shadow: 0 0 0 1px rgba(11,11,11,.07); }
html.js .cv-portail { opacity: 0; transform: translateY(24px) scale(.985); transition: opacity 1s ease .25s, transform 1.2s cubic-bezier(.22,1,.36,1) .25s; }
html.js .cv-portail.is-in { opacity: 1; transform: none; }
.cv-portail__tete { position: relative; padding: 30px 40px 76px; color: #fff; background: #8fa9dc var(--peinture) 50% 38% / cover no-repeat; }
.cv-portail__tete::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(40,58,110,.28), rgba(40,58,110,.08)); pointer-events: none; }
.cv-portail__tete > * { position: relative; }
.cv-portail__barre { display: flex; align-items: center; justify-content: space-between; max-width: 884px; margin: 0 auto; }
.cv-portail__marque { display: flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 500; letter-spacing: -.01em; }
.cv-portail__marque svg { width: 28px; height: 28px; }
.cv-portail__lien { font-size: 12.5px; color: rgba(255,255,255,.85); }
.cv-portail__titre { margin: 70px 0 22px; font-size: 28px; font-weight: 500; letter-spacing: -.02em; line-height: 1.2; text-align: center; text-shadow: 0 1px 12px rgba(30,40,80,.18); }
.cv-recherche { display: flex; align-items: center; gap: 16px; max-width: 620px; height: 56px; margin: 0 auto; padding: 0 24px; border-radius: 12px; border: 1px solid #e5e5e5; background: #fff; color: #222; font-size: 18px; box-shadow: none; }
.cv-recherche svg { flex: none; width: 20px; height: 20px; color: #444; }
.cv-recherche__txt { white-space: nowrap; overflow: hidden; text-overflow: clip; }
.cv-recherche__curseur { flex: none; width: 1.5px; height: 22px; margin-left: -14px; background: #222; animation: cv-curseur 1s steps(1) infinite; }
@keyframes cv-curseur { 50% { opacity: 0; } }
.cv-portail__cartes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; max-width: 884px; margin: 0 auto; padding: 40px 0; }
.cv-carte { position: relative; padding: 30px; border-radius: 10px; border: 1px solid #e7e7e7; background: #fff; color: #171717; box-shadow: none; transition: opacity .45s ease, transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease, border-color .45s ease; }
.cv-carte__ico { display: inline-grid; place-items: center; width: 33px; height: 33px; border-radius: 8px; background: #f4f4f4; color: #171717; }
.cv-carte__ico svg { width: 19px; height: 19px; }
.cv-carte h3 { margin: 20px 0 0; font-size: 16px; font-weight: 500; letter-spacing: -.005em; line-height: 1.45; color: #171717; }
.cv-carte p { margin: 8px 0 0; font-size: 14px; line-height: 22px; color: #555; }
.cv-carte__sait { position: absolute; top: 30px; right: 26px; display: inline-flex; align-items: center; gap: 6px; padding: 4px 9px; border-radius: 999px; background: #eef7ef; color: #2f7d3e; font-size: 12px; font-weight: 500; opacity: 0; transform: translateY(-4px); transition: opacity .35s ease, transform .35s ease; }
.cv-carte__sait::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--vert); }
/* une question tapée : les cartes qui y répondent s'avancent, les autres s'effacent */
.cv-portail.is-cherche .cv-carte { opacity: .42; }
.cv-portail.is-cherche .cv-carte.is-trouve { opacity: 1; transform: translateY(-3px); border-color: #d5d5d5; box-shadow: none; }
.cv-carte.is-trouve .cv-carte__sait { opacity: 1; transform: none; }

.cv-mini { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 18px; margin-top: 36px; }
.cv-mini p { display: flex; align-items: center; gap: 14px; margin: 0; font-size: 16px; color: var(--texte); }
.cv-mini__point { width: 6px; height: 6px; background: #4cc02b; animation: cv-point 2.4s ease-in-out infinite; }
@keyframes cv-point { 50% { opacity: .35; } }

/* ---------- Grand texte qui fonce mot à mot (styles .boucle__intro de da-gleap.css) + le chemin d'une information ---------- */
.cv-intro { padding-bottom: 72px; }
.cv-rail { margin-top: 64px; }
.cv-rail__noeud { cursor: default; }
.cv-rail__noeud--1 { --x: 5%; --y: 62.1%; } .cv-rail__noeud--2 { --x: 26%; --y: 31.58%; } .cv-rail__noeud--3 { --x: 50%; --y: 62.1%; }
.cv-rail__noeud--4 { --x: 74%; --y: 31.58%; } .cv-rail__noeud--5 { --x: 95%; --y: 62.1%; }
.cv-rail__noeud--1 .boucle__label, .cv-rail__noeud--5 .boucle__label { top: calc(100% - 2px); }
.cv-rail__logos { gap: 0; }
.cv-rail__logos img { width: 40px; height: 40px; box-sizing: border-box; padding: 8px; margin-left: -9px; border-radius: 50%; border: 1px solid #ececec; background: #fff; object-fit: contain; }
.cv-rail__logos img:first-child { margin-left: 0; }
.cv-rail__cerveau { color: #fff; }
.cv-rail__cerveau svg { width: 38px; height: 38px; overflow: visible; }
.cv-oeil { transform-box: fill-box; transform-origin: center; transition: transform .12s ease; }
.cv-rail__noeud.is-passage .boucle__id { transform: translateY(-4px); }
.cv-rail__noeud--3.is-passage .boucle__tuile { box-shadow: 0 0 0 4px rgba(251,77,23,.16); }
.cv-rail__noeud--3.is-passage .cv-oeil { transform: scaleY(.15); }
.cv-rail__bobbys { gap: 5px; padding: 0 12px; }
.cv-mini-tuile { display: grid; place-items: center; flex: none; width: 26px; height: 26px; border-radius: 8px; transition: transform .35s cubic-bezier(.3,1.4,.5,1); }
.cv-mini-tuile svg { width: 78%; height: 78%; overflow: visible; }
.cv-rail__noeud.is-passage .cv-mini-tuile { transform: translateY(-5px); }
.cv-rail__noeud.is-passage .cv-mini-tuile:nth-child(2) { transition-delay: .06s; }
.cv-rail__noeud.is-passage .cv-mini-tuile:nth-child(3) { transition-delay: .12s; }
.cv-rail__noeud.is-passage .cv-mini-tuile:nth-child(4) { transition-delay: .18s; }
.cv-rail .boucle__fin path { stroke-dasharray: 18; }
.cv-rail__noeud--5.is-passage .boucle__fin path { animation: boucle-trace .5s ease both; }

/* ---------- Défilement : colonne collante à gauche, étapes en cartes grises, la peinture s'allume sur l'étape lue ---------- */
.cv-etapes__grille { display: grid; grid-template-columns: 344px minmax(0, 1fr); gap: 24px; align-items: start; }
.cv-etapes__menu { position: sticky; top: 120px; display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.cv-etapes__menu a { font-size: 16px; line-height: 30.6px; color: var(--texte); opacity: .5; transition: opacity .2s; }
.cv-etapes__menu a:hover, .cv-etapes__menu a[aria-current="step"] { opacity: 1; }
.cv-etapes__liste { display: flex; flex-direction: column; gap: 24px; }
.cv-etape { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; padding: 18px; border-radius: 24px; background: var(--gris-carte); scroll-margin-top: 110px; }
.cv-etape__txt { padding-top: 0; }
.cv-badge { margin: 0 0 19px; font-size: 12px; line-height: 24px; color: #84738f; }
.cv-etape__titre { margin: 0 0 16px; font-size: 28px; line-height: 1.15; letter-spacing: -.035em; font-weight: 400; color: var(--ink); }
.cv-etape__p { margin: 0; font-size: 17px; line-height: 1.6; color: var(--muet); }

/* le cadre : gris, la peinture par-dessus (allumée sur l'étape lue), la maquette blanche au centre */
.cv-cadre { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); place-items: center; aspect-ratio: 1; padding: 32px 18px; border-radius: 20px; background: var(--gris-cadre); overflow: hidden; isolation: isolate; }
.cv-peinture { position: absolute; inset: 0; z-index: -1; background: var(--peint) var(--pos, center) / cover no-repeat; transition: opacity .45s ease, transform .35s ease-out; }
/* Les peintures restent toujours dans les carrés des étapes, lues ou non (05/10/2026, demande Axel) */
@media (hover: hover) { .cv-cadre:hover .cv-peinture { transform: scale(1.05); } }
.cv-cadre--bas { aspect-ratio: 1.08; }
.cv-cadre--large { aspect-ratio: 1.25; padding: 40px; }

/* la maquette blanche, langage commun à toutes les fiches de la page */
.cv-fiche { position: relative; width: 100%; max-width: 300px; padding: 16px; border-radius: 16px; background: #fff; color: var(--encre); font-size: 14px; line-height: 1.4; text-align: left;
  box-shadow: none; }
.cv-cadre--large .cv-fiche { max-width: 450px; padding: 14px 16px 12px; }
.cv-fiche p, .cv-fiche ul, .cv-fiche dl { margin: 0; }
.cv-fiche ul { list-style: none; padding: 0; }
.cv-fiche__lab { display: flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 500; color: var(--encre); }
.cv-av { display: inline-grid; place-items: center; flex: none; width: 24px; height: 24px; border-radius: 50%; background: #191919; color: #fff; font-size: 9.5px; font-weight: 500; letter-spacing: .02em; }
.cv-av svg { width: 15px; height: 15px; }
.cv-av--bobby { background: #f1f1f3; color: #191919; }
.cv-av--noir { border-radius: 7px; }
.cv-fiche [class*="cv-"], .cv-fiche li, .cv-fiche dl > div { transition: opacity .45s ease, transform .45s cubic-bezier(.22,1,.36,1), background-color .35s ease, border-color .35s ease, color .35s ease; }

/* 1) la consigne : votre message, Bobby écrit, il répond, l'étiquette « retenu » se pose */
.cv-consigne { display: grid; gap: 10px; }
.cv-bulle { padding: 10px 13px; border-radius: 14px; font-size: 13.5px; line-height: 1.4; }
.cv-bulle--vous { margin-left: 16px; border-top-left-radius: 4px; background: #f2f2f4; }
.cv-points, .cv-bulle--bobby { grid-row: 3; grid-column: 1; }
.cv-bulle--bobby { display: flex; align-items: flex-start; gap: 8px; padding: 2px 0 0; background: none; color: var(--encre); }
.cv-bulle--bobby .cv-av { margin-top: -2px; }
.cv-points { display: flex; gap: 4px; align-items: center; height: 24px; padding-left: 4px; }
.cv-points i { width: 6px; height: 6px; border-radius: 50%; background: #b9b9bf; animation: cv-saut 1s ease-in-out infinite; }
.cv-points i:nth-child(2) { animation-delay: .15s; } .cv-points i:nth-child(3) { animation-delay: .3s; }
@keyframes cv-saut { 0%, 60%, 100% { transform: none; } 30% { transform: translateY(-4px); } }
.cv-retenu { justify-self: end; display: inline-flex; align-items: center; gap: 7px; padding: 6px 11px; border-radius: 999px; border: 1px solid rgba(11,11,11,.1); font-size: 12.5px; box-shadow: none; }
.cv-retenu i, .cv-regles i, .cv-correction__note i, .cv-coffre__liste i { display: inline-grid; place-items: center; flex: none; width: 15px; height: 15px; border-radius: 50%; background: #191919; color: #fff; font-size: 9px; font-style: normal; font-weight: 500; }
.cv-consigne .cv-bulle--vous, .cv-consigne .cv-points, .cv-consigne .cv-bulle--bobby, .cv-consigne .cv-retenu { opacity: 0; transform: translateY(6px); }
.cv-consigne.e1 .cv-bulle--vous, .cv-consigne.e2:not(.e3) .cv-points, .cv-consigne.e3 .cv-bulle--bobby { opacity: 1; transform: none; }
.cv-consigne.e4 .cv-retenu { opacity: 1; transform: none; animation: cv-pose .5s cubic-bezier(.3,1.4,.5,1); }
@keyframes cv-pose { from { transform: scale(.85); } }

/* 2) les sources : une ligne par outil, chaque interrupteur s'allume à son tour */
.cv-lignes { display: flex; flex-direction: column; gap: 6px; margin-top: 12px !important; }
.cv-lignes li { display: flex; align-items: center; gap: 10px; height: 38px; padding: 0 10px; border-radius: 10px; border: 1px solid rgba(11,11,11,.08); }
.cv-lignes img { box-sizing: border-box; width: 26px; height: 26px; padding: 4px; border-radius: 7px; background: #f4f4f4; object-fit: contain; }
.cv-lignes b { font-size: 13.5px; font-weight: 500; white-space: nowrap; }
.cv-lignes span:not(.cv-mini-tuile) { margin-left: auto; font-size: 12px; color: #6b6b70; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cv-interr { position: relative; flex: none; width: 26px; height: 16px; border-radius: 999px; background: #d6d6db; transition: background .3s ease; }
.cv-interr::after { content: ""; position: absolute; top: 2px; left: 2px; width: 12px; height: 12px; border-radius: 50%; background: #fff; box-shadow: none; transition: transform .3s cubic-bezier(.3,1.3,.5,1); }
.cv-interr.is-on { background: #191919; } .cv-interr.is-on::after { transform: translateX(10px); }
.cv-sources.e1 li:nth-child(1) .cv-interr, .cv-sources.e2 li:nth-child(2) .cv-interr, .cv-sources.e3 li:nth-child(3) .cv-interr,
.cv-sources.e4 li:nth-child(4) .cv-interr, .cv-sources.e5 li:nth-child(5) .cv-interr { background: #191919; }
.cv-sources.e1 li:nth-child(1) .cv-interr::after, .cv-sources.e2 li:nth-child(2) .cv-interr::after, .cv-sources.e3 li:nth-child(3) .cv-interr::after,
.cv-sources.e4 li:nth-child(4) .cv-interr::after, .cv-sources.e5 li:nth-child(5) .cv-interr::after { transform: translateX(10px); }
.cv-sources[data-etape="1"] li:nth-child(1), .cv-sources[data-etape="2"] li:nth-child(2), .cv-sources[data-etape="3"] li:nth-child(3),
.cv-sources[data-etape="4"] li:nth-child(4), .cv-sources[data-etape="5"] li:nth-child(5) { border-color: rgba(251,77,23,.4); background: rgba(251,77,23,.045); }

/* 3) la correction : l'ancienne formule se barre, la vôtre la remplace, la note verte confirme */
.cv-correction__tete { display: flex; align-items: center; gap: 10px; }
.cv-correction__tete small { display: block; font-size: 11.5px; color: #6b6b70; }
.cv-correction__tete b { display: block; font-size: 15px; font-weight: 500; }
.cv-diff { margin: 14px 0 12px; border: 1px solid #ececea; border-radius: 10px; overflow: hidden; font-size: 13.5px; }
.cv-diff p { display: flex; gap: 10px; padding: 10px 12px; }
.cv-diff span { width: 10px; color: #8a8a90; }
.cv-diff__moins { background: #fdf3f1; }
.cv-diff__plus { background: #eff7f0; border-top: 1px solid #ececea; }
.cv-correction .cv-diff__moins, .cv-correction .cv-diff__plus, .cv-correction__note { opacity: 0; transform: translateY(5px); }
.cv-correction.e1 .cv-diff__moins, .cv-correction.e3 .cv-diff__plus, .cv-correction.e4 .cv-correction__note { opacity: 1; transform: none; }
.cv-correction.e2 .cv-diff__moins { text-decoration: line-through; text-decoration-color: rgba(200,60,40,.6); color: #8a8a90; }
.cv-correction__note { display: flex; align-items: center; gap: 8px; padding-top: 12px; border-top: 1px solid #ececea; font-size: 13px; color: #2f7d3e; }
.cv-correction__note i { background: var(--vert); }

/* 4) la nouvelle version : pastille orange, lecture, puis pastille verte « à jour » */
.cv-version__etat, .cv-version__txt, .cv-version__pied { display: grid; }
.cv-version__etat { grid-template-columns: auto 1fr; align-items: center; column-gap: 8px; font-size: 12.5px; font-weight: 500; }
.cv-version__etat i { width: 8px; height: 8px; border-radius: 50%; background: #f5a524; transition: background .35s ease; }
.cv-version__a, .cv-version__b { grid-area: 1 / 1; }
.cv-version__etat .cv-version__a, .cv-version__etat .cv-version__b { grid-column: 2; }
.cv-version__b { opacity: 0; }
.cv-version.e2 .cv-version__a { opacity: 0; } .cv-version.e2 .cv-version__b { opacity: 1; }
.cv-version.e2 .cv-version__etat i { background: var(--vert); }
.cv-version__doc { position: relative; display: flex; align-items: center; gap: 10px; margin: 14px 0 12px; padding: 10px; border-radius: 10px; border: 1px solid #ececea; overflow: hidden; }
.cv-version__doc b { display: block; font-size: 14px; font-weight: 500; }
.cv-version__doc small { display: block; font-size: 11.5px; color: #6b6b70; }
.cv-version__doc::after { content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 0; background: #191919; transition: width 1.2s ease; }
.cv-version.e1 .cv-version__doc::after { width: 100%; }
.cv-version.e2 .cv-version__doc::after { opacity: 0; transition: opacity .3s; }
.cv-version__txt { font-size: 13px; color: #3a3a40; }
.cv-version__pied { margin-top: 10px !important; padding-top: 10px; border-top: 1px solid #ececea; font-size: 12px; color: #8a8a90; }

/* ---------- Entretien : trois cartes grises serrées, comme « Built for maintenance » ---------- */
.cv-trois { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 44px; }
.cv-item { display: flex; flex-direction: column; gap: 24px; padding: 18px; border-radius: 24px; background: var(--gris-carte); }
.cv-item__txt { padding-bottom: 18px; }
.cv-item__txt h3 { margin: 0; font-size: 17px; font-weight: 400; letter-spacing: -.01em; line-height: 1.4; color: var(--ink); }
.cv-item__txt p { margin: 2px 0 0; font-size: 16px; line-height: 1.5; color: var(--muet); }
.cv-cadre--bas .cv-fiche { max-width: 290px; }
.cv-regles ul { margin-top: 10px; display: flex; flex-direction: column; }
.cv-regles li { display: flex; align-items: center; gap: 8px; padding: 8px 0; border-top: 1px solid #f0f0ef; font-size: 13px; }
.cv-regles li:first-child { border-top: 0; }
.cv-regles em { margin-left: auto; padding: 2px 8px; border-radius: 999px; background: #fff1eb; color: #c2410c; font-size: 11px; font-style: normal; font-weight: 500; }
.cv-regles__neuve { max-height: 0; padding: 0 !important; overflow: hidden; opacity: 0; transition: max-height .5s cubic-bezier(.22,1,.36,1), padding .5s ease, opacity .4s ease !important; }
.cv-regles.e1 .cv-regles__neuve { max-height: 44px; padding: 8px 0 !important; opacity: 1; }
.cv-regles.e1 .cv-regles__neuve + li { border-top: 1px solid #f0f0ef; }
.cv-regles__neuve + li { border-top: 0; }
.cv-regles.e2 .cv-regles__neuve em { animation: cv-pose .5s cubic-bezier(.3,1.4,.5,1); }
.cv-client dl { margin-top: 12px !important; display: flex; flex-direction: column; gap: 9px; }
.cv-client dl > div { display: grid; grid-template-columns: 96px 1fr; align-items: center; font-size: 12.5px; }
.cv-client dt { color: #8a8a90; }
.cv-client dd { position: relative; margin: 0; color: var(--encre); }
.cv-client dd::before { content: ""; position: absolute; left: 0; top: 50%; width: 80%; height: 8px; margin-top: -4px; border-radius: 4px; background: #efeff1; transition: opacity .35s ease; }
.cv-client dd { color: transparent; transition: color .45s ease .1s; }
.cv-client.e1 div:nth-child(1) dd, .cv-client.e2 div:nth-child(2) dd, .cv-client.e3 div:nth-child(3) dd, .cv-client.e4 div:nth-child(4) dd { color: var(--encre); }
.cv-client.e1 div:nth-child(1) dd::before, .cv-client.e2 div:nth-child(2) dd::before, .cv-client.e3 div:nth-child(3) dd::before, .cv-client.e4 div:nth-child(4) dd::before { opacity: 0; }
.cv-taches ul { margin-top: 10px; display: flex; flex-direction: column; }
.cv-taches li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0; border-top: 1px solid #f0f0ef; font-size: 13px; }
.cv-taches li:first-child { border-top: 0; }
.cv-taches small { display: block; margin-top: 2px; font-size: 11px; color: #c2410c; }
.cv-taches__neuve { max-height: 0; padding: 0 !important; overflow: hidden; opacity: 0; transition: max-height .5s cubic-bezier(.22,1,.36,1), padding .5s ease, opacity .4s ease !important; }
.cv-taches.e1 .cv-taches__neuve { max-height: 60px; padding: 9px 0 !important; opacity: 1; }
.cv-taches.e2 .cv-taches__neuve .cv-interr { background: #191919; } .cv-taches.e2 .cv-taches__neuve .cv-interr::after { transform: translateX(10px); }

/* ---------- Deux colonnes en zigzag : texte d'un côté, maquette sur la peinture de l'autre ---------- */
.cv-duo__grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: center; }
.cv-duo__txt { padding: 0 46px; }
.cv-duo__txt .p { margin-top: 28px; font-size: 17px; line-height: 1.6; color: var(--muet); }
.cv-fleche { display: inline-flex !important; align-items: center; gap: 10px; margin-top: 36px; }
.cv-fleche svg { width: 16px; height: 16px; transition: transform .25s cubic-bezier(.2,.8,.2,1); }
.cv-fleche:hover svg { transform: translateX(4px); }
.cv-equipe .cv-lignes li { height: 44px; }
.cv-equipe .cv-mini-tuile { width: 24px; height: 24px; border-radius: 7px; }
.cv-equipe[data-etape="1"] li:nth-child(1), .cv-equipe[data-etape="2"] li:nth-child(2), .cv-equipe[data-etape="3"] li:nth-child(3), .cv-equipe[data-etape="4"] li:nth-child(4) { border-color: rgba(251,77,23,.4); background: rgba(251,77,23,.045); }
.cv-equipe[data-etape="1"] li:nth-child(1) span:not(.cv-mini-tuile), .cv-equipe[data-etape="2"] li:nth-child(2) span:not(.cv-mini-tuile), .cv-equipe[data-etape="3"] li:nth-child(3) span:not(.cv-mini-tuile), .cv-equipe[data-etape="4"] li:nth-child(4) span:not(.cv-mini-tuile) { color: #c2410c; }
.cv-import { padding: 20px !important; }
.cv-import__titre { font-size: 16px; font-weight: 500; }
.cv-import__sous { margin-top: 4px !important; font-size: 12.5px; color: #6b6b70; }
.cv-import ul { margin-top: 14px; border-top: 1px solid #ececea; }
.cv-import li { display: flex; align-items: center; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid #ececea; font-size: 14px; }
.cv-import li:last-child { border-bottom: 0; padding-bottom: 2px; }
.cv-import li > span { display: flex; align-items: center; gap: 10px; }
.cv-import img, .cv-import__ico { box-sizing: border-box; width: 26px; height: 26px; padding: 4px; border-radius: 7px; background: #f4f4f4; object-fit: contain; }
.cv-import__ico { display: grid; place-items: center; color: #444; }
.cv-import__ico svg { width: 16px; height: 16px; }
.cv-import li > i { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; font-style: normal; font-size: 13px; color: #8a8a90; transition: background .3s ease, color .3s ease, transform .4s cubic-bezier(.3,1.4,.5,1); }
.cv-import li > i::before { content: "→"; }
.cv-import.e1 li:nth-child(1) > i, .cv-import.e2 li:nth-child(2) > i, .cv-import.e3 li:nth-child(3) > i, .cv-import.e4 li:nth-child(4) > i, .cv-import.e5 li:nth-child(5) > i { background: var(--vert); color: #fff; font-size: 10px; transform: scale(1.05); }
.cv-import.e1 li:nth-child(1) > i::before, .cv-import.e2 li:nth-child(2) > i::before, .cv-import.e3 li:nth-child(3) > i::before, .cv-import.e4 li:nth-child(4) > i::before, .cv-import.e5 li:nth-child(5) > i::before { content: "✓"; }

/* ---------- Sécurité : la grande carte grise du témoignage gleap, sans témoignage ---------- */
.cv-coffre__carte { display: grid; grid-template-columns: minmax(0, 432px) minmax(0, 1fr); min-height: 432px; border-radius: 12px; background: var(--gris-carte); overflow: hidden; }
.cv-coffre__toile { position: relative; display: grid; place-items: center; isolation: isolate; overflow: hidden; }
.cv-coffre__toile .cv-peinture { transform: scale(1.02); }
.cv-coffre__plaque { display: grid; place-items: center; width: 184px; height: 184px; border-radius: 40px; background: #fff; color: #191919; box-shadow: none; transform: rotate(-4deg); animation: cv-plaque 7s ease-in-out infinite; }
.cv-coffre__plaque svg { width: 84px; height: 84px; overflow: visible; }
/* Cadenas qui s'ouvre et se referme en continu (05/10/2026, demande Axel) : l'anse se lève et pivote sur sa branche droite,
   le trou de serrure s'allume en orange, puis l'anse redescend, le corps marque un petit « clic ». */
.cv-cad__anse, .cv-cad__corps { transform-box: view-box; }
.cv-cad__anse { transform-origin: 16px 11px; animation: cv-cad-anse 4.8s cubic-bezier(.65,0,.35,1) infinite; }
.cv-cad__corps { transform-origin: 12px 21px; animation: cv-cad-clic 4.8s ease-out infinite; }
.cv-cad__trou { animation: cv-cad-trou 4.8s ease-in-out infinite; }
@keyframes cv-cad-anse { 0%, 22% { transform: none; } 34% { transform: translateY(-2.6px); } 44%, 66% { transform: translateY(-2.6px) rotate(-28deg); } 76% { transform: translateY(-2.6px); } 86%, 100% { transform: none; } }
@keyframes cv-cad-clic { 0%, 85% { transform: none; } 89% { transform: scale(1.06, .95); } 94% { transform: scale(.98, 1.02); } 100% { transform: none; } }
@keyframes cv-cad-trou { 0%, 28%, 82%, 100% { stroke: currentColor; } 42%, 70% { stroke: #FB4D17; } }
@keyframes cv-plaque { 0%, 100% { transform: rotate(-4deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-6px); } }
.cv-coffre__corps { display: flex; flex-direction: column; justify-content: center; gap: 30px; padding: 40px 48px; }   /* titre et liste groupés au milieu de la carte, mêmes marges en haut et en bas (demande Axel) */
.cv-coffre__corps .meta { margin-bottom: 14px; }
.cv-coffre__titre { margin: 0; font-size: clamp(24px, 2.2vw, 28px); line-height: 1.3; letter-spacing: -.02em; font-weight: 400; }
.cv-coffre__liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.cv-coffre__liste li { display: flex; align-items: flex-start; gap: 10px; font-size: 16px; line-height: 1.45; color: var(--texte); }
.cv-coffre__liste i { margin-top: 3px; }
.cv-coffre__actif { margin: 18px 0 0; font-size: 15px; color: var(--muet); }

/* ---------- Questions : même bloc que l'accueil, espacement de la page ---------- */
.sec.cv-faq { padding: 84px 0; }

/* ---------- Mouvement réduit : tout est posé, rien ne bouge ---------- */
@media (prefers-reduced-motion: reduce) {
  html.js .cv-portail { opacity: 1; transform: none; transition: none; }
  .cv-recherche__curseur, .cv-mini__point, .cv-points i, .cv-coffre__plaque, .cv-cad__anse, .cv-cad__corps, .cv-cad__trou { animation: none; }
  .cv-peinture, .cv-carte, .cv-fiche [class*="cv-"], .cv-fiche li, .cv-fiche dl > div { transition: none !important; }
  .cv-cadre:hover .cv-peinture { transform: none; }
}

/* ---------- Tablette ---------- */
@media (max-width: 1080px) {
  .cv-etapes__grille { grid-template-columns: 220px minmax(0, 1fr); }
  .cv-duo__txt { padding: 0 12px; }
}
@media (max-width: 960px) {
  .cv-sec { padding: 64px 0; }
  .cv-hero { padding: 64px 0 48px; }
  .cv-etapes__grille { grid-template-columns: minmax(0, 1fr); }
  .cv-etapes__menu { display: none; }
  .cv-trois { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .cv-duo__grille { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .cv-duo__txt { padding: 0; }
  .cv-duo--inverse .cv-duo__txt { order: -1; }
  .cv-coffre__carte { grid-template-columns: minmax(0, 1fr); }
  .cv-coffre__toile { min-height: 240px; }
  .sec.cv-faq { padding: 64px 0; }
}

/* ---------- Téléphone (390 px) ---------- */
@media (max-width: 720px) {
  .cv-hero { padding: 48px 0 40px; }
  .cv-hero__sous { margin-top: 20px; font-size: 17px; }
  .cv-preuve { flex-direction: column; gap: 4px; margin-top: 24px; }
  .cv-preuve i { display: none; }
  .cv-hero__actions { margin-top: 26px; }
  .cv-hero__actions .btn { flex: 1 1 100%; justify-content: center; }
  .cv-portail { height: 560px; margin: 44px calc(var(--gutter) * -1 + 8px) 0; border-radius: 16px; }
  .cv-portail__tete { padding: 18px 16px 36px; }
  .cv-portail__marque { font-size: 16px; } .cv-portail__marque svg { width: 22px; height: 22px; }
  .cv-portail__lien { display: none; }
  .cv-portail__titre { margin: 34px 0 16px; font-size: 21px; }
  .cv-recherche { height: 48px; padding: 0 16px; gap: 12px; font-size: 15px; }
  .cv-recherche svg { width: 18px; height: 18px; }
  .cv-recherche__curseur { height: 18px; margin-left: -10px; }
  .cv-portail__cartes { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 18px 16px; }
  .cv-carte { padding: 18px 18px 20px; }
  .cv-carte h3 { margin-top: 12px; }
  .cv-carte__sait { top: 18px; right: 16px; }
  .cv-mini p { font-size: 15px; text-align: left; }

  .cv-rail { height: 225px; margin-top: 40px; }
  .cv-rail__noeud { height: 40px; }
  .cv-rail__noeud--1 { --x: 10%; --y: 21.33%; } .cv-rail__noeud--2 { --x: 42%; --y: 21.33%; } .cv-rail__noeud--3 { --x: 80%; --y: 21.33%; }
  .cv-rail__noeud--4 { --x: 80%; --y: 65.33%; } .cv-rail__noeud--5 { --x: 30%; --y: 65.33%; }
  .cv-rail .boucle__id { padding: 3px; border-radius: 13px; gap: 3px; }
  .cv-rail .boucle__id--rond { width: 30px; height: 30px; padding: 5px; } .cv-rail .boucle__id--rond svg { width: 19px; height: 19px; }
  .cv-rail .boucle__id--pilule { height: 40px; padding: 0 6px; border-radius: 28px; }
  .cv-rail__logos img { width: 30px; height: 30px; padding: 6px; margin-left: -7px; }
  .cv-rail .boucle__tuile { width: 34px; height: 34px; border-radius: 10px; } .cv-rail__cerveau svg { width: 26px; height: 26px; }
  .cv-rail__bobbys { gap: 3px; } .cv-rail__bobbys .cv-mini-tuile { width: 18px; height: 18px; border-radius: 6px; }
  .cv-rail .boucle__label { font-size: 10px; top: calc(100% + 7px); padding: 0 3px; max-width: 90px; }
  .cv-rail__noeud--1 .boucle__label, .cv-rail__noeud--5 .boucle__label { top: calc(100% + 4px); }

  .cv-etape { grid-template-columns: minmax(0, 1fr); padding: 14px; gap: 20px; border-radius: 20px; }
  .cv-etape__txt { padding: 6px 4px 0; }
  .cv-etape__titre { font-size: 25px; }
  .cv-etape__p { font-size: 16px; }
  .cv-cadre { aspect-ratio: auto; min-height: 320px; padding: 28px 14px; }
  .cv-cadre--large { padding: 28px 14px; }
  .cv-item { padding: 14px; gap: 18px; border-radius: 20px; }
  .cv-item__txt { padding: 0 4px 10px; }
  .cv-coffre__corps { padding: 24px 20px 26px; }
  .cv-coffre__toile { min-height: 200px; }
  .cv-coffre__plaque { width: 136px; height: 136px; border-radius: 30px; } .cv-coffre__plaque svg { width: 62px; height: 62px; }
  .cv-lignes b { font-size: 13px; overflow: hidden; text-overflow: ellipsis; }
  .cv-equipe .cv-lignes span:not(.cv-mini-tuile) { display: none; }
  .cv-equipe .cv-interr { margin-left: auto; }
}
