/* =========================================================================
   Aktory : styles de la fiche entreprise.
   ========================================================================= */

/* ── Héros du dossier ───────────────────── */
.fiche-heros{padding-top:130px}
.retour{display:inline-flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--texte-3);text-decoration:none;margin-bottom:26px;transition:color .2s}
.retour svg{width:14px;height:14px;transition:transform .2s}
.retour:hover{color:var(--corail-fonce)}
.retour:hover svg{transform:translateX(-3px)}

.fiche-identite{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.fiche-logo{width:84px;height:84px;border-radius:22px;background:var(--blanc);border:1px solid var(--trait);box-shadow:var(--ombre);display:grid;place-items:center;flex-shrink:0}
.fiche-logo img{width:52px;height:52px;object-fit:contain}
.fiche-titres{min-width:0}
.fiche-nom{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.fiche-nom h1{font-size:clamp(34px,4vw,52px);line-height:1.05}
.fiche-titres .ref{margin-top:8px}
.site-officiel{margin-left:auto;font-size:14px}

.fiche-description{margin-top:22px;font-size:16.5px;line-height:1.7;color:var(--gris-encre);max-width:52em}

.bande-fiche{grid-template-columns:repeat(5,1fr);margin:6px auto 0}

/* les onglets du dossier : chaque section a sa propre adresse */
.onglets{display:flex;gap:4px;margin-top:28px;border-bottom:1px solid var(--trait-fort);overflow-x:auto;scrollbar-width:none}
.onglets::-webkit-scrollbar{display:none}
.onglets a{position:relative;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:500;color:var(--gris-encre);text-decoration:none;padding:12px 16px;transition:color .2s}
.onglets a::after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;border-radius:2px;background:var(--corail);transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.2,.7,.3,1)}
.onglets a:hover{color:var(--charbon)}
.onglets a:hover::after{transform:scaleX(1)}
.onglets a.actif{color:var(--charbon);font-weight:600}
.onglets a.actif::after{transform:scaleX(1)}
.onglets a svg{width:12px;height:12px;color:var(--texte-3);flex-shrink:0}

.onglet-corps{padding-bottom:8px}
.tete-onglet{margin-top:52px}

/* ── Résumé : repères et portes d'entrée ── */
.reperes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.repere{display:flex;flex-direction:column;gap:4px;border:1px solid var(--trait);border-radius:15px;background:var(--blanc);box-shadow:var(--ombre);padding:16px 20px;transition:border-color .25s, box-shadow .25s}
.repere:hover{border-color:rgba(255,122,89,.4);box-shadow:var(--ombre-survol)}
.repere-etiquette{font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--texte-3)}
.repere b{font-family:'Satoshi',sans-serif;font-weight:700;font-size:17px;letter-spacing:-.01em;line-height:1.3}
.repere-detail{font-size:11.5px;color:var(--texte-3)}
.explorer{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.explorer-carte{position:relative;display:flex;flex-direction:column;gap:7px;border:1px solid var(--trait);border-radius:18px;background:var(--blanc);box-shadow:var(--ombre);padding:22px 24px;text-decoration:none;color:var(--charbon);overflow:hidden;transition:transform .25s cubic-bezier(.2,.7,.3,1), border-color .25s, box-shadow .25s}
.explorer-carte::after{content:"";position:absolute;top:0;left:14%;right:14%;height:1px;opacity:0;transition:opacity .35s;background:linear-gradient(90deg,transparent,rgba(255,122,89,.7),transparent)}
.explorer-carte:hover{transform:translateY(-3px);border-color:rgba(255,122,89,.5);box-shadow:var(--ombre-survol)}
.explorer-carte:hover::after{opacity:1}
.explorer-carte .num{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--corail-fonce)}
.explorer-carte h3{font-family:'Satoshi',sans-serif;font-weight:700;font-size:18px;letter-spacing:-.012em}
.explorer-carte p{font-size:13px;line-height:1.6;color:var(--gris-encre)}
.explorer-carte .ouvrir{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--corail-fonce);margin-top:6px}
.explorer-carte .ouvrir svg{width:15px;height:15px;transition:transform .2s}
.explorer-carte:hover .ouvrir svg{transform:translateX(3px)}

.vide{font-size:14.5px;line-height:1.65;color:var(--gris-encre);border:1px dashed var(--trait-fort);border-radius:14px;padding:18px 22px;background:rgba(255,255,255,.5)}
.lien-source{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--corail-fonce);text-decoration:none;white-space:nowrap}
.lien-source svg{width:12px;height:12px}
.lien-source:hover{text-decoration:underline}

/* ── 01 · Jalons ────────────────────────── */
.jalons{position:relative;display:flex;flex-direction:column;gap:20px;padding-left:26px;max-width:820px}
.jalons::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;
  background:linear-gradient(180deg,transparent,rgba(43,34,58,.22) 6%,rgba(43,34,58,.22) 94%,transparent)}
.jalon{position:relative}
.jalon-noeud{position:absolute;left:-26px;top:5px;width:11px;height:11px;border-radius:50%;
  background:var(--ivoire);border:1.5px solid var(--trait-fort);transition:all .25s}
.jalon:hover .jalon-noeud{border-color:var(--corail);background:var(--corail);box-shadow:0 0 0 4px rgba(255,122,89,.14), 0 0 12px rgba(255,122,89,.7)}
.jalon-date{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--corail-fonce)}
.jalon-fait{margin-top:4px;font-size:14.5px;line-height:1.65;color:var(--charbon)}
.jalon-source{display:inline-flex;vertical-align:baseline;margin-left:6px;color:var(--texte-3);transition:color .2s}
.jalon-source svg{width:12px;height:12px}
.jalon-source:hover{color:var(--corail-fonce)}

/* ── Produits & formules : les grilles tarifaires ── */
.produit-bloc + .produit-bloc{margin-top:56px}
.produit-tete{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.produit-tete h3{font-family:'Satoshi',sans-serif;font-weight:700;font-size:22px;letter-spacing:-.015em}
.produit-description{margin-top:10px;font-size:14px;line-height:1.65;color:var(--gris-encre);max-width:56em}
.tarifs-groupe{margin-top:30px}
.tarifs-titre{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.tarifs-titre h4{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--texte-3)}
.tarifs-titre .ligne{flex-grow:1;height:1px;background:var(--trait)}
.tarifs{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:16px;align-items:stretch}
.tarif{position:relative;display:flex;flex-direction:column;gap:14px;border:1px solid var(--trait);border-radius:19px;background:var(--blanc);box-shadow:var(--ombre);padding:24px;overflow:hidden;transition:transform .25s cubic-bezier(.2,.7,.3,1), border-color .25s, box-shadow .25s}
.tarif:hover{transform:translateY(-3px);border-color:rgba(255,122,89,.45);box-shadow:var(--ombre-survol)}
.tarif-tete h5{font-family:'Satoshi',sans-serif;font-weight:700;font-size:19px;letter-spacing:-.015em}
.tarif-promesse{margin-top:5px;font-size:12.5px;line-height:1.55;color:var(--gris-encre)}
.tarif-prix b{font-family:'Satoshi',sans-serif;font-weight:900;font-size:33px;letter-spacing:-.025em}
.tarif-prix span{font-size:12px;color:var(--texte-3);margin-left:5px}
.tarif-puces{list-style:none;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--trait);padding-top:14px}
.tarif-puces li{position:relative;padding-left:16px;font-size:13px;line-height:1.55;color:var(--gris-encre)}
.tarif-puces li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--corail);opacity:.8}
.tarif-fonctions{font-size:11.5px;color:var(--texte-3)}
.tarif-limites{border-top:1px solid var(--trait);padding-top:12px}
.tarif-etiquette{font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--texte-3)}
.tarif-limites p{font-size:11.5px;line-height:1.6;color:var(--gris-encre);margin-top:4px}
.tarif-source{margin-top:auto;display:inline-flex;align-items:center;gap:5px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--texte-3);text-decoration:none;line-height:1.5}
.tarif-source svg{width:11px;height:11px;flex-shrink:0}
.tarif-source:hover{color:var(--corail-fonce)}
/* la formule mise en avant, en charbon */
.tarif.sombre{background:linear-gradient(160deg,#3D2F52 0%,var(--charbon) 100%);border-color:transparent;color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 26px 60px -24px rgba(43,34,58,.75)}
.tarif.sombre::before{content:"";position:absolute;top:0;left:16%;right:16%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,122,89,.8),transparent)}
.tarif.sombre:hover{border-color:rgba(255,122,89,.5)}
.tarif.sombre .tarif-promesse{color:rgba(255,255,255,.72)}
.tarif.sombre .tarif-puces{border-top-color:rgba(255,255,255,.14)}
.tarif.sombre .tarif-puces li{color:rgba(255,255,255,.82)}
.tarif.sombre .tarif-fonctions{color:rgba(255,255,255,.55)}
.tarif.sombre .tarif-limites{border-top-color:rgba(255,255,255,.14)}
.tarif.sombre .tarif-etiquette{color:rgba(255,255,255,.5)}
.tarif.sombre .tarif-limites p{color:rgba(255,255,255,.75)}
.tarif.sombre .tarif-prix span{color:rgba(255,255,255,.55)}
.tarif.sombre .tarif-source{color:rgba(255,255,255,.5)}
.tarif.sombre .tarif-source:hover{color:var(--corail)}

/* ── 03 · Modèles & gammes ──────────────── */
.encadre-gammes{position:relative;border:1px solid var(--trait);border-radius:16px;background:rgba(255,255,255,.6);padding:18px 24px;margin-bottom:22px;overflow:hidden}
.encadre-gammes::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--corail);box-shadow:0 0 12px rgba(255,122,89,.6)}
.encadre-gammes p{font-size:14px;line-height:1.7;color:var(--gris-encre)}
.gammes-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gamme-carte{display:flex;flex-direction:column;gap:12px;border:1px solid var(--trait);border-radius:16px;background:var(--blanc);box-shadow:var(--ombre);padding:18px 20px;text-decoration:none;color:var(--charbon);transition:transform .25s cubic-bezier(.2,.7,.3,1), border-color .25s, box-shadow .25s}
.gamme-carte:hover{transform:translateY(-3px);border-color:rgba(255,122,89,.45);box-shadow:var(--ombre-survol)}
.gamme-tete{display:flex;align-items:center;justify-content:space-between;gap:10px}
.gamme-tete h3{font-family:'Satoshi',sans-serif;font-weight:700;font-size:17px;letter-spacing:-.012em}
.gamme-versions{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--corail-fonce);border:1px solid rgba(255,122,89,.3);background:var(--corail-doux);border-radius:7px;padding:4px 8px;flex-shrink:0}
.gamme-dernier{display:flex;flex-direction:column;gap:3px}
.gamme-etiquette{font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--texte-3)}
.gamme-dernier b{font-size:14px;font-weight:600;line-height:1.3}
.gamme-date{font-size:11.5px;color:var(--texte-3)}
.statut{font-weight:600}
.statut-actif{color:var(--corail-fonce)}
.statut-deprecie{color:#B08968}
.statut-retire{color:var(--texte-3)}
.gamme-specs{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--trait);padding-top:11px}
.gamme-specs .spec{display:flex;align-items:baseline;gap:9px}
.spec-etiquette{font-size:11.5px;color:var(--gris-encre);white-space:nowrap}
.spec-fil{flex-grow:1;border-bottom:1px dashed var(--trait-fort);min-width:12px;transform:translateY(-3px)}
.gamme-specs .spec b{font-family:'Satoshi',sans-serif;font-weight:700;font-size:13.5px;color:var(--charbon);white-space:nowrap}
.gamme-specs .spec b i{font-style:normal;font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:400;color:var(--texte-3)}
/* la légende des termes, tirée du lexique */
.legende-termes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}
.legende-terme{border:1px dashed var(--trait-fort);border-radius:13px;padding:12px 16px;background:rgba(255,255,255,.45)}
.legende-terme dt{font-family:'Satoshi',sans-serif;font-weight:700;font-size:13px;letter-spacing:-.01em}
.legende-terme dd{margin:3px 0 0;font-size:11.5px;line-height:1.55;color:var(--gris-encre)}
.gamme-vie{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;flex-wrap:wrap}
.gamme-periode{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.08em;color:var(--texte-3)}
.gamme-statuts{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;color:var(--gris-encre);flex-wrap:wrap}
.gamme-statuts .point{width:6px;height:6px;border-radius:50%;display:inline-block;margin-left:6px}
.gamme-statuts .point:first-child{margin-left:0}
.point.actif{background:var(--corail)}
.point.deprecie{background:#C9A227}
.point.retire{background:var(--texte-3)}

/* ── 04 · Benchmarks ────────────────────── */
.benchmarks-intro{font-size:14.5px;line-height:1.7;color:var(--gris-encre);max-width:56em;margin-bottom:10px}
.benchmarks-intro b{color:var(--charbon)}
/* un groupe de tests : ce qu'ils mesurent, expliqué en tête */
.domaine{margin-top:34px}
.domaine-tete{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--trait)}
.domaine-tete h3{font-family:'Satoshi',sans-serif;font-weight:700;font-size:19px;letter-spacing:-.015em}
.domaine-tete p{margin-top:4px;font-size:13px;line-height:1.6;color:var(--gris-encre);max-width:52em}
.domaine-compte{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--corail-fonce);border:1px solid rgba(255,122,89,.3);background:var(--corail-doux);border-radius:7px;padding:5px 9px;flex-shrink:0;white-space:nowrap;margin-top:4px}
.scores{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.score{display:flex;flex-direction:column;gap:9px;border:1px solid var(--trait);border-radius:16px;background:var(--blanc);box-shadow:var(--ombre);padding:18px 20px;transition:transform .25s cubic-bezier(.2,.7,.3,1), border-color .25s, box-shadow .25s}
.score:hover{transform:translateY(-3px);border-color:rgba(255,122,89,.45);box-shadow:var(--ombre-survol)}
.score-tete{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.score-tete h3{font-family:'Satoshi',sans-serif;font-weight:700;font-size:15px;letter-spacing:-.01em;line-height:1.3}
.score-domaine{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.09em;text-transform:uppercase;color:var(--texte-3);border:1px solid var(--trait);border-radius:6px;padding:3px 7px;flex-shrink:0;text-align:right}
.score-valeur{display:flex;align-items:baseline;gap:6px}
.score-valeur b{font-family:'Satoshi',sans-serif;font-weight:900;font-size:30px;letter-spacing:-.02em}
.score-valeur span{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--texte-3)}
.jauge{position:relative;height:5px;border-radius:4px;background:rgba(43,34,58,.08);overflow:hidden}
.jauge span{position:absolute;inset:0 auto 0 0;border-radius:4px;background:linear-gradient(90deg,#FF8C6B,var(--corail-fonce));box-shadow:0 0 10px rgba(255,122,89,.55)}
.score-resume{font-size:12.5px;line-height:1.6;color:var(--gris-encre)}
.score-conditions{font-size:11px;line-height:1.55;color:var(--texte-3)}
.score-source{margin-top:auto;display:inline-flex;align-items:center;gap:5px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--texte-3);text-decoration:none}
.score-source svg{width:11px;height:11px}
.score-source:hover{color:var(--corail-fonce)}
.scores-note{margin-top:16px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.06em;color:var(--texte-3)}

/* ── Verrouillé ─────────────────────────── */
.verrous{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.verrous.verrou-seul{grid-template-columns:1fr;margin-top:44px}
.verrou-large{min-height:340px}
.verrou-carte{position:relative;border:1px solid var(--trait);border-radius:20px;background:var(--blanc);box-shadow:var(--ombre);overflow:hidden;min-height:300px}
.verrou-apercu{position:absolute;inset:0;padding:26px;filter:blur(7px) saturate(.9);opacity:.55;pointer-events:none;user-select:none}
.faux-graphe{display:flex;align-items:flex-end;gap:10px;height:100%}
.faux-graphe span{flex:1;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--corail),var(--rose-sable))}
.fausses-lignes{display:flex;flex-direction:column;gap:16px;padding-top:8px}
.fausses-lignes span{display:block;height:14px;border-radius:7px;background:linear-gradient(90deg,var(--rose-sable),rgba(238,217,210,.35))}
.verrou-voile{position:relative;z-index:1;height:100%;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:30px;
  background:radial-gradient(75% 90% at 50% 50%, rgba(248,245,242,.92), rgba(248,245,242,.55))}
.verrou-icone{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;margin-bottom:6px;
  border:1px solid rgba(255,122,89,.4);background:var(--corail-doux);color:var(--corail-fonce);
  box-shadow:0 10px 26px -14px rgba(255,122,89,.8)}
.verrou-icone svg{width:20px;height:20px}
.verrou-voile h3{font-family:'Satoshi',sans-serif;font-weight:700;font-size:19px;letter-spacing:-.015em}
.verrou-voile p{font-size:13.5px;line-height:1.6;color:var(--gris-encre);max-width:30em}
.verrou-niveau{display:inline-flex;align-items:center;gap:7px;margin-top:8px;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--corail-fonce);border:1px solid rgba(255,122,89,.45);background:var(--corail-doux);border-radius:8px;padding:7px 12px}
.verrou-bientot{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--texte-3)}

/* ── Fiche modèle et page lignée ────────── */
.statut-pastille{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border-radius:8px;border:1px solid var(--trait-fort)}
.statut-pastille.statut-actif{color:var(--corail-fonce);border-color:rgba(255,122,89,.45);background:var(--corail-doux)}
.statut-pastille.statut-deprecie{color:#8A6A2F;border-color:rgba(201,162,39,.4);background:rgba(201,162,39,.08)}
.statut-pastille.statut-retire{color:var(--texte-3);background:rgba(43,34,58,.04)}
.ref-lien{color:inherit;text-decoration:none}
.ref-lien:hover{color:var(--corail-fonce)}
.liens-officiels{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px}

/* les faits, chacun avec sa phrase */
.faits{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fait{display:flex;flex-direction:column;gap:5px;border:1px solid var(--trait);border-radius:16px;background:var(--blanc);box-shadow:var(--ombre);padding:18px 20px;transition:border-color .25s, box-shadow .25s}
.fait:hover{border-color:rgba(255,122,89,.4);box-shadow:var(--ombre-survol)}
.fait-etiquette{font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--corail-fonce)}
.fait b{font-family:'Satoshi',sans-serif;font-weight:900;font-size:24px;letter-spacing:-.02em}
.fait p{font-size:12px;line-height:1.55;color:var(--gris-encre)}

/* le cycle de vie */
.vie{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border:1px solid var(--trait);border-radius:18px;background:var(--blanc);box-shadow:var(--ombre);padding:26px 28px 22px}
.vie::before{content:"";position:absolute;top:31px;left:10%;right:10%;height:1px;background:var(--trait-fort)}
.vie-etape{position:relative;display:flex;flex-direction:column;gap:3px;padding-top:20px}
.vie-noeud{position:absolute;top:0;left:0;width:11px;height:11px;border-radius:50%;background:var(--ivoire);border:1.5px solid var(--trait-fort)}
.vie-etape.faite .vie-noeud{border-color:var(--corail);background:var(--corail);box-shadow:0 0 0 4px rgba(255,122,89,.14), 0 0 12px rgba(255,122,89,.6)}
.vie-etape b{font-size:13.5px;font-weight:600}
.vie-etape span{font-size:12.5px;color:var(--gris-encre)}
.vie-motif{margin-top:12px;font-size:13px;color:var(--gris-encre);border-left:3px solid var(--corail);padding-left:14px}

/* les capacités */
.capacites{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.capacite{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--trait);border-radius:14px;background:var(--blanc);box-shadow:var(--ombre);padding:14px 16px}
.capacite-signe{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;
  border:1px solid rgba(255,122,89,.35);background:var(--corail-doux);color:var(--corail-fonce)}
.capacite-signe svg{width:13px;height:13px}
.capacite.absente{opacity:.65;background:rgba(255,255,255,.5)}
.capacite.absente .capacite-signe{border-color:var(--trait);background:rgba(43,34,58,.04);color:var(--texte-3)}
.capacite b{font-size:13.5px;font-weight:600;display:block}
.capacite p{font-size:11.5px;line-height:1.55;color:var(--gris-encre);margin-top:2px}

/* la lignée : les frères et sœurs */
.freres{display:flex;gap:10px;flex-wrap:wrap}
.frere{display:flex;flex-direction:column;gap:2px;border:1px solid var(--trait);border-radius:12px;background:var(--blanc);padding:11px 15px;text-decoration:none;color:var(--charbon);transition:all .2s}
.frere:hover{border-color:rgba(255,122,89,.5);box-shadow:var(--ombre);transform:translateY(-2px)}
.frere b{font-size:13.5px;font-weight:600}
.frere span{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--texte-3)}
.frere.actuel{border-color:rgba(255,122,89,.55);background:var(--corail-doux)}
.frere.actuel span{color:var(--corail-fonce)}

/* l'accès par les formules */
.acces-formules{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:14px}
.acces-formule{display:flex;flex-direction:column;gap:7px;border:1px solid var(--trait);border-radius:15px;background:var(--blanc);box-shadow:var(--ombre);padding:16px 18px}
.acces-tete{display:flex;align-items:center;justify-content:space-between;gap:10px}
.acces-tete b{font-family:'Satoshi',sans-serif;font-weight:700;font-size:15px}
.acces-badge{font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:7px;border:1px solid var(--trait);color:var(--texte-3);flex-shrink:0}
.acces-badge.acces-inclus{color:var(--corail-fonce);border-color:rgba(255,122,89,.4);background:var(--corail-doux)}
.acces-badge.acces-limite{color:#8A6A2F;border-color:rgba(201,162,39,.4);background:rgba(201,162,39,.08)}
.acces-prix{font-family:'Satoshi',sans-serif;font-weight:700;font-size:15px}
.acces-formule p{font-size:11.5px;line-height:1.6;color:var(--gris-encre)}

/* « Intégrer ce modèle », replié */
.integration{border:1px solid var(--trait);border-radius:20px;background:var(--blanc);box-shadow:var(--ombre);overflow:hidden}
.integration summary{position:relative;list-style:none;cursor:pointer;padding:24px 30px;transition:background .25s}
.integration summary::-webkit-details-marker{display:none}
.integration summary:hover{background:rgba(255,122,89,.035)}
.integration summary .kicker{margin-bottom:6px}
.integration summary h2{font-family:'Satoshi',sans-serif;font-weight:900;font-size:clamp(21px,2.4vw,26px);letter-spacing:-.02em}
.integration-signe{position:absolute;right:28px;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:8px;border:1px solid var(--trait-fort);transition:all .3s}
.integration-signe::before,.integration-signe::after{content:"";position:absolute;background:var(--corail-fonce);border-radius:2px;transition:transform .35s}
.integration-signe::before{top:50%;left:6px;right:6px;height:1.5px;margin-top:-.75px}
.integration-signe::after{left:50%;top:6px;bottom:6px;width:1.5px;margin-left:-.75px}
.integration[open] .integration-signe{border-color:rgba(255,122,89,.4);background:var(--corail-doux)}
.integration[open] .integration-signe::after{transform:rotate(90deg);opacity:0}
.integration-corps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:4px 30px 28px;border-top:1px solid var(--trait);padding-top:22px}
.integration-groupe h3{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--texte-3);margin-bottom:14px}
.integration-groupe .champ-note{font-size:9px;letter-spacing:.06em;text-transform:none;color:var(--texte-3)}
.champ{margin-bottom:14px}
.champ-etiquette{display:block;font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--corail-fonce);margin-bottom:5px}
.champ code{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--charbon);background:var(--ivoire);border:1px solid var(--trait);border-radius:7px;padding:5px 9px;margin:0 4px 4px 0;word-break:break-all}
.champ p{font-size:11px;line-height:1.55;color:var(--texte-3);margin-top:4px}
.champ-texte{font-size:12.5px !important;color:var(--gris-encre) !important;line-height:1.6 !important}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--charbon);background:var(--rose-sable);padding:4px 10px;border-radius:7px}
.integration-groupe .spec{display:flex;align-items:baseline;gap:9px;margin-bottom:8px}
.integration-groupe .spec b{font-family:'Satoshi',sans-serif;font-weight:700;font-size:13.5px;white-space:nowrap}
.champ-note-basse{font-size:11px;line-height:1.55;color:var(--texte-3);margin-top:10px}

/* la grille des fonctions, formule par formule */
.grille-fonctions{margin-top:34px}
.fonctions-corps{border-top:1px solid var(--trait);padding:18px 30px 26px}
.fonctions-legende{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.06em;color:var(--texte-3);margin-bottom:14px}
.fonctions-defilement{overflow-x:auto;border:1px solid var(--trait);border-radius:14px}
.fonctions-table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}
.fonctions-table thead th{position:sticky;top:0;background:var(--ivoire);border-bottom:1px solid var(--trait-fort);padding:12px 14px;text-align:center;font-family:'Satoshi',sans-serif;font-weight:700;font-size:13px;letter-spacing:-.01em;white-space:nowrap}
.fonctions-table thead th i{display:block;font-style:normal;font-family:'JetBrains Mono',monospace;font-weight:400;font-size:9px;letter-spacing:.06em;color:var(--texte-3);margin-top:3px}
.fonctions-table thead th.fonction-nom{text-align:left}
.fonctions-table tbody th.fonction-nom{text-align:left;font-weight:500;color:var(--charbon);padding:9px 14px;border-bottom:1px solid var(--trait);white-space:nowrap;max-width:340px;overflow:hidden;text-overflow:ellipsis}
.fonctions-table .fonction-nom{position:sticky;left:0;background:var(--blanc);z-index:1}
.fonctions-table thead th.fonction-nom{background:var(--ivoire);z-index:2}
.fonctions-table tbody td{border-bottom:1px solid var(--trait);padding:9px 14px;text-align:center;font-size:14px}
.fonctions-table tbody tr:last-child td, .fonctions-table tbody tr:last-child th{border-bottom:0}
.fonctions-table tbody tr:hover td, .fonctions-table tbody tr:hover th{background:rgba(255,122,89,.045)}
.fonction-aide{display:inline-grid;place-items:center;width:14px;height:14px;margin-left:7px;border-radius:50%;border:1px solid rgba(255,122,89,.4);background:var(--corail-doux);color:var(--corail-fonce);font-family:'JetBrains Mono',monospace;font-size:8.5px;vertical-align:1px}
.etat-inclus{color:var(--corail-fonce);font-weight:700}
.etat-limite{color:#8A6A2F;font-weight:700;cursor:help}
.etat-absent{color:var(--texte-3)}
.etat-inconnu{color:rgba(43,34,58,.25)}

/* la page lignée : les versions */
.versions{display:flex;flex-direction:column;gap:10px;position:relative;padding-left:26px}
.versions::before{content:"";position:absolute;left:5px;top:16px;bottom:16px;width:1px;
  background:linear-gradient(180deg,transparent,rgba(43,34,58,.22) 6%,rgba(43,34,58,.22) 94%,transparent)}
.version{position:relative;display:grid;grid-template-columns:1.3fr 1fr auto;gap:20px;align-items:center;border:1px solid var(--trait);border-radius:16px;background:var(--blanc);box-shadow:var(--ombre);padding:16px 20px;text-decoration:none;color:var(--charbon);transition:transform .22s cubic-bezier(.2,.7,.3,1), border-color .22s, box-shadow .22s}
.version:hover{transform:translateY(-2px);border-color:rgba(255,122,89,.5);box-shadow:var(--ombre-survol)}
.version-noeud{position:absolute;left:-26px;top:50%;margin-top:-5px}
.version-noeud .point{width:11px;height:11px;border-radius:50%;display:block;border:1.5px solid var(--trait-fort);background:var(--ivoire)}
.version-noeud .point.actif{border-color:var(--corail);background:var(--corail);box-shadow:0 0 10px rgba(255,122,89,.6)}
.version-noeud .point.deprecie{border-color:#C9A227;background:#C9A227}
.version-noeud .point.retire{border-color:var(--texte-3);background:var(--texte-3)}
.version-tete{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.version-tete h3{font-family:'Satoshi',sans-serif;font-weight:700;font-size:16.5px;letter-spacing:-.012em}
.version-date{display:block;font-size:12px;color:var(--texte-3);margin-top:3px}
.version-specs{display:flex;gap:18px;flex-wrap:wrap}
.version-specs .spec{display:flex;flex-direction:column;gap:1px}
.version-specs .spec-etiquette{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--texte-3)}
.version-specs .spec b{font-family:'Satoshi',sans-serif;font-weight:700;font-size:14px}
.version-ouvrir{color:var(--texte-3);transition:all .2s}
.version-ouvrir svg{width:16px;height:16px}
.version:hover .version-ouvrir{color:var(--corail);transform:translateX(3px)}

/* ── Réactif ────────────────────────────── */
@media (max-width:1080px){
  .bande-fiche{grid-template-columns:repeat(3,1fr)}
  .gammes-grille{grid-template-columns:1fr 1fr}
  .scores{grid-template-columns:1fr 1fr}
  .reperes{grid-template-columns:1fr 1fr}
  .faits{grid-template-columns:1fr 1fr}
  .capacites{grid-template-columns:1fr 1fr}
  .integration-corps{grid-template-columns:1fr 1fr}
  .version{grid-template-columns:1fr;gap:12px}
  .version-ouvrir{display:none}
}
@media (max-width:820px){
  .fiche-heros{padding-top:110px}
  .site-officiel{margin-left:0;width:auto}
  .verrous{grid-template-columns:1fr}
  /* Zones tactiles : ces liens sont trop fins pour le doigt tels quels. */
  .retour{padding:6px 0;margin-bottom:20px}
  .source-lien, .lien-source{padding:5px 0}
}
@media (max-width:820px){
  .explorer{grid-template-columns:1fr}
}
@media (max-width:640px){
  .bande-fiche{grid-template-columns:1fr 1fr}
  .gammes-grille{grid-template-columns:1fr}
  .scores{grid-template-columns:1fr}
  .reperes{grid-template-columns:1fr}
  .fiche-nom h1{font-size:30px}
  .fiche-logo{width:64px;height:64px;border-radius:17px}
  .fiche-logo img{width:38px;height:38px}
  .onglets a{padding:11px 12px;font-size:13px}
  .faits{grid-template-columns:1fr}
  .capacites{grid-template-columns:1fr}
  .integration-corps{grid-template-columns:1fr;padding-left:22px;padding-right:22px}
  .vie{grid-template-columns:1fr;gap:18px}
  .vie::before{display:none}
}
