.fcgp{--blue:#2450E0;--blue-d:#1B3FB8;--blue-l:#3B62E8;--ink:#0B1524;--muted:#586777;--teal:#0A7873;--teal-d:#075E5A;--teal-l:#16C7C0;--soft:#F2F6FF;--line:#E3EAF6;--blue-050:#E9F0FF;--teal-050:#E2F7F5}
.fcgp *{box-sizing:border-box}
.fcgp{font-family:'Roboto Flex',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);line-height:1.45;-webkit-font-smoothing:antialiased}
.fcgp .wrap{max-width:1240px;margin:0 auto;padding:0 22px}
.fcgp svg{display:block}.fcgp a{color:inherit}
.fcgp .btn{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:16px;border-radius:14px;padding:15px 26px;text-decoration:none;border:0;cursor:pointer;transition:.15s}
.fcgp .btn-blue{background:var(--blue);color:#fff;box-shadow:0 10px 26px rgba(36,80,224,.3)}
.fcgp .btn-blue:hover{background:var(--blue-d);transform:translateY(-2px)}
.fcgp .btn-teal{background:var(--teal);color:#fff;box-shadow:0 10px 26px rgba(14,165,160,.32)}
.fcgp .btn-teal:hover{background:var(--teal-d);transform:translateY(-2px)}
.fcgp .btn-ghost{background:#fff;color:var(--ink);border:2px solid var(--line)}
.fcgp .btn-ghost:hover{border-color:var(--blue);color:var(--blue)}
.fcgp .btn-white{background:#fff;color:var(--blue)}
/* switch + header (repris de l'univers vif ; nav remplacée par le méga-menu au build) */
.fcgp .usw{background:#fff;border-bottom:1px solid var(--line)}
.fcgp .usw-in{display:flex;justify-content:center;align-items:center;height:44px}
.fcgp .usw-seg{display:inline-flex;background:#EEF2F9;border-radius:10px;padding:3px}
.fcgp .usw-seg a{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:13.5px;color:var(--muted);text-decoration:none;padding:7px 20px;border-radius:8px}
.fcgp .usw-seg a.on{background:var(--ink);color:#fff}
.fcgp .usw-seg .dot{width:6px;height:6px;border-radius:50%;background:var(--teal)}
.fcgp .hd{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.fcgp .hd-in{display:flex;align-items:center;gap:26px;height:74px}
.fcgp .lg img{height:30px;width:auto;display:block}
.fcgp .hd-cta{margin-left:auto;display:flex;gap:10px}
/* hero */
.fcgp .fhero{background:radial-gradient(1100px 460px at 10% -18%,var(--blue-050),transparent 60%),radial-gradient(860px 460px at 102% -12%,var(--teal-050),transparent 56%),#fff;padding:66px 0 30px}
.fcgp .fhero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.fcgp .eb{display:inline-flex;align-items:center;gap:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;font-size:12.5px;color:var(--teal-d)}
.fcgp .eb .d{width:7px;height:7px;border-radius:50%;background:var(--teal)}
.fcgp .fhero h1{font-size:52px;line-height:1.02;letter-spacing:-.03em;font-weight:900;margin:14px 0 16px;color:var(--ink)}
.fcgp .fhero h1 .u{color:var(--blue)}
.fcgp .fhero .lead{font-size:19px;color:#94A2C4;max-width:540px;margin-bottom:26px;font-weight:500}
.fcgp .fhero-cta{display:flex;gap:12px;flex-wrap:wrap}
/* mini-grille visuelle du hero */
.fcgp .hgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.fcgp .hg{aspect-ratio:1;border-radius:16px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;box-shadow:0 14px 30px rgba(11,21,36,.06);transition:.18s}
.fcgp .hg:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(36,80,224,.14);border-color:var(--blue-l)}
.fcgp .hg .i{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff}
.fcgp .hg span{font-size:11px;font-weight:700;color:#48566E}
@media(max-width:900px){.fcgp .fhero-in{grid-template-columns:1fr}.fcgp .fhero h1{font-size:36px}.fcgp .hgrid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:520px){.fcgp .hgrid{grid-template-columns:repeat(4,1fr)}}
/* sections */
.fcgp .sec{padding:60px 0}.fcgp .sec.soft{background:var(--soft)}
.fcgp .head{text-align:center;max-width:680px;margin:0 auto 34px}
.fcgp .head h2{font-size:40px;line-height:1.04;letter-spacing:-.03em;font-weight:900}
.fcgp .head .eb{justify-content:center;display:inline-flex}
.fcgp .head p{color:var(--muted);font-size:17px;margin-top:11px}
/* explorateur d'apps : onglets + grille filtrable */
.fcgp .tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:30px}
.fcgp .tab{appearance:none;border:2px solid var(--line);background:#fff;color:#33415C;font-weight:800;font-size:14px;padding:10px 18px;border-radius:99px;cursor:pointer;transition:.15s;font-family:inherit}
.fcgp .tab:hover{border-color:var(--blue-l)}
.fcgp .tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.fcgp .apps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fcgp .app{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column;transition:.18s;text-decoration:none}
.fcgp .app:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(11,21,36,.1);border-color:var(--blue-l)}
.fcgp .app.hide{display:none}
.fcgp .app .ic{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;color:#fff;margin-bottom:15px}
.fcgp .app h3{font-size:19px;font-weight:900;color:var(--ink)}
.fcgp .app .cat{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:3px}
.fcgp .app p{color:var(--muted);font-size:14.5px;margin:10px 0 16px;font-weight:500;flex:1}
.fcgp .app .go{font-weight:800;color:var(--blue);font-size:14px}
@media(max-width:900px){.fcgp .apps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fcgp .apps{grid-template-columns:1fr}}
/* comparatif 1 suite vs 10 outils */
.fcgp .vs{display:grid;grid-template-columns:1fr auto 1fr;gap:26px;align-items:stretch;max-width:960px;margin:0 auto}
.fcgp .vs-card{border-radius:24px;padding:30px}
.fcgp .vs-bad{background:#fff;border:2px dashed #E0C7C7}
.fcgp .vs-good{background:linear-gradient(160deg,var(--blue),var(--teal));color:#fff}
.fcgp .vs-card h3{font-size:20px;font-weight:900;margin-bottom:4px}
.fcgp .vs-card .sub{font-size:13px;margin-bottom:16px}
.fcgp .vs-bad .sub{color:var(--muted)}
.fcgp .scatter{display:flex;flex-wrap:wrap;gap:8px}
.fcgp .scatter span{background:#F6F7FA;border:1px solid #ECEEF3;color:#586777;border-radius:9px;padding:7px 11px;font-size:12.5px;font-weight:700;transform:rotate(var(--r,0deg))}
.fcgp .vs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.fcgp .vs-list li{display:flex;gap:10px;font-size:14.5px;font-weight:600;align-items:flex-start}
.fcgp .vs-list li .c{flex:none}
.fcgp .vs-mid{display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--muted);font-size:14px}
@media(max-width:820px){.fcgp .vs{grid-template-columns:1fr}.fcgp .vs-mid{display:none}}
/* intégration : vos apps se parlent */
.fcgp .flow{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;max-width:900px;margin:0 auto}
.fcgp .fstep{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;width:150px}
.fcgp .fstep .fi{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;color:#fff;box-shadow:0 12px 26px rgba(11,21,36,.12)}
.fcgp .fstep b{font-size:14px;font-weight:800}
.fcgp .fstep span{font-size:12.5px;color:var(--muted)}
.fcgp .farrow{color:var(--blue-l);flex:none;padding:0 4px;margin-bottom:34px}
@media(max-width:760px){.fcgp .farrow{transform:rotate(90deg);margin:0}.fcgp .flow{flex-direction:column}}
/* strip souveraineté */
.fcgp .vstrip{background:var(--ink);color:#fff;border-radius:22px;padding:26px 30px;display:flex;gap:34px;flex-wrap:wrap;justify-content:center;text-align:center}
.fcgp .vstrip .it b{display:block;font-size:24px;font-weight:900;color:var(--teal-l);letter-spacing:-.02em}
.fcgp .vstrip .it span{font-size:13px;color:#aeb9cf;font-weight:600}
/* band */
.fcgp .band{max-width:1040px;margin:0 auto;background:linear-gradient(120deg,var(--blue),var(--teal));color:#fff;border-radius:30px;padding:48px;text-align:center}
.fcgp .band h3{font-size:33px;font-weight:900;letter-spacing:-.03em;max-width:640px;margin:0 auto}
.fcgp .band p{opacity:.94;margin:12px auto 24px;max-width:520px;font-size:16.5px}

/* ===== HÉROS SOMBRE PREMIUM (option B) ===== */
.fcgp .fhero{position:relative;overflow:hidden;background:#070B14!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.fcgp .fhero .mesh{position:absolute;inset:0;z-index:0}
.fcgp .fhero .mesh b{position:absolute;border-radius:50%;filter:blur(74px)}
.fcgp .fhero .mesh .m1{width:580px;height:580px;left:-120px;top:-150px;background:radial-gradient(circle,#2E5BF6,transparent 65%);opacity:.5;animation:xmh1 19s ease-in-out infinite}
.fcgp .fhero .mesh .m2{width:540px;height:540px;right:-100px;top:-40px;background:radial-gradient(circle,#19D3CB,transparent 65%);opacity:.3;animation:xmh2 23s ease-in-out infinite}
@keyframes xmh1{50%{transform:translate(80px,60px) scale(1.1)}}@keyframes xmh2{50%{transform:translate(-60px,50px) scale(1.08)}}
.fcgp .fhero .pgrid{position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:62px 62px;mask-image:radial-gradient(ellipse 80% 60% at 40% 30%,#000,transparent 74%)}
.fcgp .fhero .wrap{position:relative;z-index:3}
.fcgp .fhero h1{color:#EAF0FF!important;-webkit-text-fill-color:#EAF0FF!important}.fcgp .fhero h1 u,.fcgp .fhero h1 .u,.fcgp .fhero h1 .free,.fcgp .fhero h1 em{color:#6D9BFF;-webkit-text-fill-color:#6D9BFF}
@supports ((-webkit-background-clip:text) or (background-clip:text)){.fcgp .fhero h1 u,.fcgp .fhero h1 .u,.fcgp .fhero h1 .free,.fcgp .fhero h1 em{background:linear-gradient(100deg,#6D9BFF,#19D3CB);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent!important;text-decoration:none;font-style:normal}}
.fcgp .fhero .lead,.fcgp .fhero p.lead{color:#94A2C4!important;-webkit-text-fill-color:#94A2C4!important}
.fcgp .fhero .eyebrow,.fcgp .fhero .eb,.fcgp .fhero .chip,.fcgp .fhero .kicker{color:#7FE7E1!important}
.fcgp .fhero .chip{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.12)!important}
.fcgp .fhero .btn-ghost{background:rgba(255,255,255,.05)!important;color:#EAF0FF!important;border-color:rgba(255,255,255,.16)!important}
.fcgp .fhero .kpi b,.fcgp .fhero .kpi span{color:#EAF0FF!important}.fcgp .fhero .kpi span{color:#8595B8!important}

/* ══ TEXTE EN DÉGRADÉ — RETIRÉ DE TOUT CE QUI PORTE DE L'INFORMATION ══════
   Historique, parce qu'il explique la décision :

   31/07, 23 h 59 — le prix « 0 € » de Share Free s'affiche en vert foncé sur
   un pavé bleu-turquoise. Cause : `background-clip:text` non appliqué, le
   dégradé peint donc un rectangle.
   1er/08 — après avoir mis la règle sous `@supports`, le prix ne s'affiche
   plus DU TOUT : le pavé reste seul. Ce second état est instructif — la règle
   protégée s'est appliquée, donc le moteur a répondu OUI au test de prise en
   charge, tout en ne découpant rien.

   Un test de fonctionnalité qui répond oui à tort ne protège de rien. Il n'y
   a donc pas de garde-fou possible pour cette technique, et deux tentatives
   ont suffi à l'établir. On la retire de tout ce qui doit être LU : prix,
   chiffres clés, mots de titre.

   Le moyen retenu est le seul qui ne dépende d'aucune prise en charge :
   `-webkit-text-fill-color: currentColor` — l'encre suit toujours `color`,
   quoi qu'il arrive au fond — et le dégradé est supprimé. Les blocs
   @supports plus haut deviennent inertes ; ils sont laissés en place, sans
   effet, pour que l'historique reste lisible dans le fichier.

   Ce qu'on perd : un effet de dégradé sur une dizaine de mots et de chiffres.
   Ce qu'on gagne : un prix qui s'affiche sur tous les navigateurs. */
.kz h1 .g,.kz .g,body.fcmq .g,.fcnum,.kz .stat b,.kz .zl .stat b,
.hero h1 .u,.stat .v,.kz .tier .price,.fcgp .tier .price{
  background-image:none !important;
  -webkit-text-fill-color:currentColor !important;
}
/* Chaque contexte garde une encre pleine lisible. */
.kz h1 .g,.kz .g{color:#6D9BFF}
body.fcmq .g,.kz .zl .g{color:#2E5BF6}
body.fcmq .hero .g,body.fcmq .ohero .g,body.fcmq .blk.dark .g,body.fcmq .blk.final .g{color:#6D9BFF}
.fcnum{color:#2E5BF6}
.kz .stat b{color:#EAF0FF}
.kz .zl .stat b{color:#0B1524}
.hero h1 .u,.stat .v{color:#2E5BF6}
/* Les prix payants gardent l'encre foncée du dessin d'origine ; seul le
   « 0 € » de l'offre gratuite est en turquoise, comme il l'était (en dégradé)
   avant. Ma première neutralisation les avait tous teintés — une correction
   ne doit pas emporter avec elle ce qui n'était pas cassé. */
.kz .tier .price,.fcgp .tier .price{color:#0B1524}
.kz .tier .price-free,.fcgp .tier .price-free{color:#075E5A}
.kz .tier .price small,.fcgp .tier .price small{color:#54637E}

/* ── Lien d'évitement ──────────────────────────────────────────────────────
   Il doit être invisible sans être retiré de l'ordre de tabulation :
   `display:none` ou `visibility:hidden` le rendraient inatteignable au
   clavier, ce qui est exactement l'inverse du but. On le sort donc du cadre,
   et il revient au premier coup de tabulation. */
.fc-evitement,.kz a.fc-evitement,body a.fc-evitement{
  position:absolute;left:-9999px;top:0;z-index:10000;
  background:#0B1524;color:#FFFFFF;padding:12px 20px;border-radius:0 0 10px 0;
  font-size:14px;font-weight:700;text-decoration:none}
.fc-evitement:focus,.kz a.fc-evitement:focus{left:0}
/* La cible reçoit le focus par programme (tabindex="-1") : sans cette règle,
   certains navigateurs y dessinent un contour permanent. */
main#contenu:focus{outline:none}

/* ── Focus visible ─────────────────────────────────────────────────────────
   `:focus-visible` ne s'affiche qu'à la navigation au clavier — la souris ne
   déclenche donc aucun contour, et l'usage au doigt non plus. */
.kz a:focus-visible,.kz button:focus-visible,.kz input:focus-visible,
.kz select:focus-visible,.kz textarea:focus-visible,.kz summary:focus-visible{
  outline:3px solid #6D9BFF;outline-offset:2px;border-radius:4px}
