/* ============================================================
   BENEXA
   Space Grotesk (titres) · Inter (texte) · JetBrains Mono (chiffres)
   Toutes les règles sont encapsulées sous au build,
   afin de ne jamais entrer en collision avec le thème WordPress.
   ============================================================ */:root{
  --ink:#101614;
  --ink-2:#2C3A34;
  --ink-soft:#5A6B63;
  --paper:#FBFBF8;
  --paper-2:#FFFFFF;
  --mint:#EFF8F1;
  --mint-2:#E2F2E7;

  --green:#2FAE54;
  --green-d:#1D7C3C;
  --green-deep:#125228;
  --green-deep2:#0A3319;
  --green-l:#E9F7ED;

  /* degrade du logo : vert vif, pour les blocs et pastilles (texte blanc) */
  --grad-logo:linear-gradient(140deg,#2FA456 0%,#3ABE5C 55%,#46CA6B 100%);
  /* version pale du meme vert, pour les fonds de section (texte sombre) */
  --grad-soft:linear-gradient(170deg,#F5FCF7 0%,#E0F4E7 100%);
  /* vert profond, reserve aux deux moments forts : CTA et offre recommandee */
  --grad:linear-gradient(150deg,var(--green-deep),var(--green-deep2));

  /* Turquoise, cale sur les barres du logo (#1CA2BA).
     Seconde couleur de la marque : elle occupe les elements de lecture
     (chiffres, libelles mono, contours) et alterne avec le vert sur les
     blocs pleins, sans jamais le remplacer sur le logo ni les boutons. */
  --cyan:#1CA2BA;
  --cyan-l:#3FC3DA;
  --cyan-d:#12798C;
  --cyan-deep:#0B5364;
  --cyan-soft:#E6F6F9;
  --grad-cyan:linear-gradient(140deg,#1CA2BA 0%,#2FB8CE 55%,#45CFE2 100%);
  --grad-soft-cyan:linear-gradient(170deg,#F4FCFD 0%,#DFF2F6 100%);
  /* degrade mixte vert vers turquoise, pour les contours animes */
  --grad-mix:linear-gradient(140deg,#2FA456 0%,#2BB48A 50%,#1CA2BA 100%);

  --line:rgba(16,22,20,.10);
  --line-2:rgba(16,22,20,.06);
  --shadow-s:0 12px 28px -20px rgba(16,22,20,.30);
  --shadow:0 28px 64px -32px rgba(16,22,20,.30);

  --r:18px;
  --r-l:26px;

  --sans:'Inter',system-ui,sans-serif;
  --display:'Space Grotesk','Inter',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}.bnx *{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);margin:0}.bnx{
  font-family:var(--sans);
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}.bnx h1, .bnx h2, .bnx h3, .bnx h4, .bnx h5{font-family:var(--display);letter-spacing:-.03em;line-height:1.08;font-weight:700}.bnx a{color:inherit;text-decoration:none}.bnx img{max-width:100%;display:block}.bnx .wrap{max-width:1160px;margin:0 auto;padding:0 24px}.bnx .num{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.03em}.bnx .eyebrow{
  font-family:var(--mono);font-size:.72rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.16em;color:var(--cyan-d);display:inline-block;
}.bnx .eyebrow:before{content:"// ";opacity:.5}.bnx a:focus-visible, .bnx button:focus-visible, .bnx input:focus-visible{outline:2px solid var(--green-d);outline-offset:3px}

/* ============================================================
   SYSTÈME DE MOUVEMENT
   ============================================================ */.bnx .reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.bnx .reveal.from-left{transform:translateX(-40px)}.bnx .reveal.in{opacity:1;transform:none}@keyframes drift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-30px,26px) scale(1.06)}100%{transform:translate(0,0) scale(1)}
}

/* Mode « animations réduites » :
   l'identité visuelle est intégralement conservée (couleurs, dégradés,
   retournement des cartes, gouttière, barre de progression).
   Seuls sont neutralisés les mouvements à risque vestibulaire :
   dérive des fonds, clignotement du curseur, apparitions au scroll. */@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.bnx .reveal{opacity:1;transform:none;transition:none}.bnx .hero-glow, .bnx .cta:before{animation:none}
}

/* ---------- BARRE DE PROGRESSION ---------- */.bnx .progress{
  position:fixed;top:0;left:0;right:0;height:3px;z-index:90;
  background:transparent;pointer-events:none;
}.bnx .progress i{display:block;height:100%;width:0;background:var(--grad-cyan);transition:width .1s linear}.bnx .progress-tag{
  position:fixed;top:104px;left:24px;z-index:55;font-family:var(--mono);font-size:.66rem;
  letter-spacing:.14em;color:var(--cyan-deep);background:var(--cyan-soft);
  border:1px solid rgba(28,162,186,.32);padding:.35em .7em;border-radius:999px;
  opacity:0;transition:opacity .3s ease,top .35s ease;pointer-events:none;
}.bnx .progress-tag.show{opacity:1}
/* elle ne reste pas affichee en permanence : elle chevaucherait le texte */.bnx .progress-tag.idle{opacity:0}
/* une fois la page defilee, l'etiquette se cale juste sous la barre de navigation */.bnx .progress-tag.up{top:88px}
/* entete masquee : l'etiquette prend sa place en haut */.bnx .progress-tag.top{top:14px}@media(min-width:1180px){.bnx .progress-tag{display:none}}

/* ---------- GOUTTIÈRE DE CODE ---------- */.bnx .gutter{
  position:fixed;left:20px;top:50%;transform:translateY(-50%);z-index:70;
  display:none;flex-direction:column;gap:13px;max-width:170px;pointer-events:auto;
}@media(min-width:1180px){.bnx .gutter{display:flex}}.bnx .gutter a{
  font-family:var(--mono);font-size:.68rem;color:var(--ink-soft);opacity:.45;
  display:flex;align-items:center;gap:9px;transition:opacity .3s,color .3s;
  letter-spacing:.04em;
}.bnx .gutter a:before{content:"";width:12px;height:1px;background:currentColor;flex-shrink:0;transition:width .3s,background .3s}.bnx .gutter .g-lab{display:none;white-space:nowrap}@media(min-width:1560px){.bnx .gutter .g-lab{display:inline}}.bnx .gutter a:hover{opacity:.85}.bnx .gutter a.is-active{opacity:1;color:var(--cyan-deep);font-weight:700}.bnx .gutter a.is-active:before{width:24px;background:var(--cyan)}

/* ---------- BOUTONS ---------- */
/* Bordure de 2px transparente sur tous les boutons : elle reserve la place
   du contour degrade affiche au survol, ce qui evite tout saut de taille. */.bnx .btn{
  display:inline-flex;align-items:center;gap:.5em;font-family:var(--display);
  font-weight:600;font-size:.98rem;padding:.85em 1.45em;border-radius:999px;
  border:2px solid transparent;cursor:pointer;white-space:nowrap;line-height:1.2;
  transition:transform .18s,box-shadow .18s,background .25s,color .25s,border-color .25s;
}.bnx .btn-primary{background:var(--ink);color:#fff}.bnx .btn-green{background:var(--grad-logo);color:#fff}.bnx .btn-mint{background:var(--grad-logo);color:#fff}.bnx .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.bnx .btn-light{background:#fff;color:var(--green-deep)}

/* Survol commun : fond blanc, contour en degrade vert, texte vert.
   Le degrade de bordure superpose deux calques, l'un cale sur la boite
   de padding, l'autre sur la boite de bordure. */.bnx .btn:hover, .bnx .btn:focus-visible{
  background:linear-gradient(#fff,#fff) padding-box, var(--grad-logo) border-box;
  color:var(--green-deep);
  border-color:transparent;
  transform:translateY(-2px);
  box-shadow:0 14px 28px -16px rgba(47,164,86,.55);
}

/* ---------- NAV ---------- */.bnx .nav{
  position:sticky;top:0;z-index:60;background:rgba(251,251,248,.9);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line-2);
  transition:transform .3s ease;
}
/* Sur mobile, l'entete se retire au defilement vers le bas et revient
   des qu'on remonte. L'etiquette de progression suit le mouvement. */.bnx .nav.nav-hidden{transform:translateY(-100%)}.bnx .nav-inner{display:flex;align-items:center;justify-content:space-between;height:88px;gap:16px}.bnx .logo-link{flex:0 0 auto;display:block}.bnx .logo-link img{height:46px;width:auto;max-width:none;object-fit:contain}.bnx .nav-links{display:flex;align-items:center;gap:28px;font-size:.95rem;font-weight:500}.bnx .nav-links a{color:var(--ink-soft);transition:color .2s;position:relative}.bnx .nav-links a:hover, .bnx .nav-links a.is-active{color:var(--ink)}.bnx .nav-links a.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-33px;height:2px;background:var(--green)}.bnx .nav-cta{display:flex;gap:10px;align-items:center}
/* burger : trois barres en degrade, plutot qu'un trait monochrome */.bnx .menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px 4px}.bnx .menu-btn i{display:block;width:26px;height:3px;border-radius:2px;background:var(--grad-logo)}@media(max-width:960px){.bnx .nav-links, .bnx .nav-cta .btn-ghost{display:none}.bnx .menu-btn{display:flex}.bnx .nav-inner{height:74px;gap:10px}.bnx .logo-link img{height:38px}.bnx .nav-cta .btn{font-size:.82rem;padding:.7em 1.05em}
}@media(max-width:400px){.bnx .logo-link img{height:34px}.bnx .nav-cta .btn{font-size:.76rem;padding:.65em .9em}}.bnx .mobile-drawer{display:none;flex-direction:column;background:#fff;border-bottom:1px solid var(--line);padding:8px 24px 20px}.bnx .mobile-drawer.open{display:flex}.bnx .mobile-drawer a{padding:13px 2px;font-weight:600;font-family:var(--display);border-bottom:1px solid var(--line-2)}.bnx .mobile-drawer .btn{margin-top:14px;justify-content:center}

/* ---------- SECTIONS ---------- */.bnx .sec{padding:92px 0}.bnx .sec-head{max-width:720px;margin-bottom:48px}.bnx .sec-head.center{margin:0 auto 52px;text-align:center}.bnx .sec-head h2{font-size:clamp(1.9rem,3.8vw,2.8rem);margin:16px 0 14px}.bnx .sec-head p{color:var(--ink-soft);font-size:1.08rem}.bnx .sec-head.center p{margin-inline:auto;max-width:620px}

/* ---------- HERO ---------- */.bnx .hero{position:relative;padding:86px 0 78px;overflow:hidden}.bnx .hero-glow{
  position:absolute;top:-260px;right:-180px;width:660px;height:660px;border-radius:50%;
  background:radial-gradient(circle,rgba(47,174,84,.18),transparent 66%);
  animation:drift 18s ease-in-out infinite;
}.bnx .hero-inner{position:relative;z-index:2;max-width:880px}.bnx .hero .badge{
  display:inline-flex;align-items:center;gap:9px;background:var(--green-l);color:var(--green-d);
  font-family:var(--mono);font-size:.74rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  padding:.5em 1em;border-radius:999px;border:1px solid rgba(47,174,84,.24);
}.bnx .hero h1{font-size:clamp(2.5rem,6vw,4.4rem);margin:26px 0 22px;font-weight:700}.bnx .hero h1 em{font-style:normal;color:var(--green-d)}.bnx .hero p.lead{font-size:1.18rem;color:var(--ink-2);max-width:none}.bnx .hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}.bnx .equation{
  margin-top:64px;position:relative;z-index:2;border-top:1px solid var(--line);
  padding-top:28px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
}.bnx .equation .eq-part{font-family:var(--mono);font-size:clamp(1.05rem,2.3vw,1.5rem);font-weight:500;color:var(--ink)}.bnx .equation .eq-op{color:var(--ink-soft);font-family:var(--mono);font-size:1.1rem}.bnx .equation .eq-res{font-family:var(--mono);font-size:clamp(1.05rem,2.3vw,1.5rem);font-weight:700;color:var(--green-d)}.bnx .equation .eq-q{
  width:100%;margin-top:10px;font-family:var(--display);font-weight:600;
  font-size:clamp(1.05rem,2.2vw,1.3rem);color:var(--ink);
}.bnx .equation .eq-q span{color:var(--ink-soft);font-weight:400}

/* ---------- CONSTAT ---------- */.bnx .constat{background:var(--paper-2);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}.bnx .constat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
/* au repos : plein vert. au survol : bascule en blanc, contour anime, elevation */.bnx .constat-card{
  padding:32px;transition:transform .3s,box-shadow .3s;
}.bnx .constat-card.gb:after{background:var(--grad-cyan)}.bnx .constat-card .gb-fill{background:#fff}.bnx .constat-card .cnum{font-family:var(--mono);font-size:.78rem;color:rgba(255,255,255,.78);letter-spacing:.1em;margin-bottom:16px;display:block;transition:color .45s}.bnx .constat-card h3{font-size:1.2rem;margin-bottom:10px;color:#fff;transition:color .45s}.bnx .constat-card p{color:rgba(255,255,255,.9);font-size:.96rem;transition:color .45s}.bnx .constat-card:hover{transform:translateY(-6px);box-shadow:0 26px 46px -26px rgba(16,22,20,.30)}.bnx .constat-card:hover .cnum{color:var(--green-d)}.bnx .constat-card:hover h3{color:var(--ink)}.bnx .constat-card:hover p{color:var(--ink-soft)}.bnx .constat-bridge{
  margin-top:44px;text-align:center;font-family:var(--display);font-weight:600;
  font-size:clamp(1.05rem,2.2vw,1.45rem);max-width:none;
}.bnx .constat-bridge em{font-style:normal;color:var(--green-d)}@media(max-width:860px){.bnx .constat-grid{grid-template-columns:1fr}}

/* ---------- SIMULATEUR ---------- */.bnx .sim{background:var(--grad-soft-cyan)}.bnx .sim-shell{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow);overflow:hidden}.bnx .sim-controls{padding:38px 40px;border-bottom:1px solid var(--line-2);display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.bnx .field label{display:flex;justify-content:space-between;align-items:baseline;font-weight:600;font-size:.92rem;margin-bottom:14px;gap:10px}.bnx .field label b{font-family:var(--mono);color:var(--cyan-d);font-size:1.15rem;font-weight:700}.bnx .field .hint{font-size:.76rem;color:var(--ink-soft);margin-top:9px;font-family:var(--mono)}.bnx input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:5px;border-radius:999px;background:var(--cyan-soft);outline:none}.bnx input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--cyan);cursor:pointer;border:4px solid #fff;box-shadow:0 3px 10px rgba(16,22,20,.25)}.bnx input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--cyan);cursor:pointer;border:4px solid #fff}.bnx .range-sub{display:flex;justify-content:space-between;font-size:.7rem;color:var(--ink-soft);margin-top:8px;font-family:var(--mono)}.bnx .sim-ca{padding:22px 40px;background:var(--paper);border-bottom:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.bnx .sim-ca span{color:var(--ink-soft);font-size:.94rem}.bnx .sim-ca b{font-family:var(--mono);font-size:1.5rem;font-weight:700}.bnx .sim-results{display:grid;grid-template-columns:repeat(3,1fr)}.bnx .res{padding:34px 32px;border-right:1px solid var(--line-2);position:relative;transition:background .35s}.bnx .res:last-child{border-right:0}.bnx .res.is-best{background:linear-gradient(180deg,var(--cyan-soft),#fff)}.bnx .res-tag{
  position:absolute;top:18px;right:18px;font-family:var(--mono);font-size:.62rem;
  letter-spacing:.1em;text-transform:uppercase;background:var(--grad-cyan);color:#fff;
  padding:.35em .7em;border-radius:999px;opacity:0;transform:translateY(-4px);
  transition:opacity .3s,transform .3s;
}.bnx .res.is-best .res-tag{opacity:1;transform:none}.bnx .res h3{font-size:1.15rem;margin-bottom:4px}.bnx .res .res-sub{font-size:.82rem;color:var(--ink-soft);margin-bottom:20px;min-height:34px}.bnx .res .res-net{font-family:var(--mono);font-size:2.3rem;font-weight:700;line-height:1;color:var(--ink);transition:color .35s}.bnx .res.is-best .res-net{color:var(--cyan-deep)}.bnx .res .res-unit{font-size:.84rem;color:var(--ink-soft);margin-top:6px;margin-bottom:20px}.bnx .res-bar{height:5px;border-radius:999px;background:var(--mint-2);margin-top:18px;overflow:hidden}.bnx .res-bar i{display:block;height:100%;background:var(--grad-cyan);border-radius:999px;transition:width .55s cubic-bezier(.34,1.36,.64,1)}.bnx .res-break{border-top:1px solid var(--line-2);padding-top:14px;margin-top:18px;display:flex;flex-direction:column;gap:9px}.bnx .res-break .row{display:flex;justify-content:space-between;font-size:.85rem;color:var(--ink-soft);gap:12px}.bnx .res-break .row b{font-family:var(--mono);color:var(--ink-2);font-weight:500}.bnx .res-perks{list-style:none;margin-top:18px;padding-top:14px;border-top:1px solid var(--line-2);display:flex;flex-direction:column;gap:8px}.bnx .res-perks li{font-size:.82rem;color:var(--ink-soft);display:flex;gap:9px;align-items:flex-start;line-height:1.4}.bnx .res-perks li:before{font-family:var(--mono);font-weight:700;flex-shrink:0}.bnx .res-perks li.ok:before{content:"+";color:var(--cyan-d)}.bnx .res-perks li.no:before{content:"−";color:var(--ink-soft);opacity:.6}@media(max-width:900px){.bnx .sim-controls{grid-template-columns:1fr;gap:26px;padding:28px 22px}.bnx .sim-results{grid-template-columns:1fr}.bnx .res{border-right:0;border-bottom:1px solid var(--line-2);padding:28px 22px}.bnx .sim-ca{padding:20px 22px}
}.bnx .sim-note{
  margin-top:24px;font-size:.86rem;color:var(--ink-soft);width:100%;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 28px;
}.bnx .sim-note b{color:var(--ink-2)}

/* ---------- SERVICES (cartes qui se retournent) ---------- */.bnx .serv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.bnx .serv-card{perspective:1400px;height:196px;cursor:pointer;border:0;background:none;padding:0;display:block;width:100%;text-align:left}.bnx .serv-inner{
  position:relative;width:100%;height:100%;transform-style:preserve-3d;
  transition:transform .6s cubic-bezier(.4,.2,.2,1);
}.bnx .serv-card:hover .serv-inner, .bnx .serv-card:focus-visible .serv-inner, .bnx .serv-card.is-open .serv-inner{transform:rotateY(180deg)}.bnx .serv-face{
  position:absolute;inset:0;border-radius:var(--r-l);padding:32px;
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
  display:flex;flex-direction:column;overflow:hidden;
}.bnx .serv-front{background:var(--grad-logo);color:#fff;justify-content:center;padding:26px 30px}.bnx .serv-front:after{
  content:"";position:absolute;top:-90px;right:-70px;width:250px;height:250px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%);
}
/* ligne 1 : le numero a cote du libelle, libelle en grand */.bnx .s-head{display:flex;align-items:baseline;gap:14px;position:relative}.bnx .serv-front .s-emo{font-size:1.6rem;line-height:1;position:relative;margin-bottom:12px}.bnx .serv-front .s-num{font-family:var(--mono);font-size:1.2rem;font-weight:700;line-height:1;color:rgba(255,255,255,.6)}.bnx .serv-front .s-lab{
  font-family:var(--display);font-size:1.65rem;font-weight:700;line-height:1;
  letter-spacing:-.03em;color:#fff;text-transform:none;
}
/* ligne 2 : le titre, juste en dessous */.bnx .serv-front h3{font-size:.98rem;font-weight:500;color:rgba(255,255,255,.86);margin-top:8px;position:relative}.bnx .serv-back{
  background:var(--paper-2);border:1px solid var(--line);color:var(--ink);
  transform:rotateY(180deg);justify-content:center;padding:26px 30px;
}.bnx .serv-back p{color:var(--ink-2);font-size:.94rem;line-height:1.5}.bnx .serv-back ul{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.bnx .serv-back li{font-family:var(--mono);font-size:.72rem;background:var(--green-l);color:var(--green-deep);padding:.35em .7em;border-radius:6px}@media(max-width:760px){.bnx .serv-grid{grid-template-columns:1fr}.bnx .serv-card{height:212px}}

/* ---------- QUIZ ---------- */.bnx .quiz{background:var(--grad-soft-cyan);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}.bnx .quiz-shell{padding:40px;max-width:860px;margin:0 auto}.bnx .q-progress{height:4px;background:var(--cyan-soft);border-radius:999px;margin-bottom:30px;overflow:hidden}.bnx .q-progress i{display:block;height:100%;background:var(--grad-cyan);border-radius:999px;transition:width .45s cubic-bezier(.34,1.36,.64,1);width:33%}.bnx .q-step{display:none}.bnx .q-step.active{display:block;animation:fade .34s ease}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.bnx .q-step h3{font-size:1.4rem;margin-bottom:6px}.bnx .q-step .qsub{color:var(--ink-soft);margin-bottom:24px;font-size:.95rem}.bnx .q-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bnx .q-opt{
  border:1.5px solid var(--line);border-radius:var(--r);padding:18px 20px;cursor:pointer;
  transition:.18s;background:#fff;text-align:left;width:100%;font-family:inherit;
}.bnx .q-opt:hover{border-color:var(--cyan);transform:translateY(-2px);box-shadow:var(--shadow-s)}.bnx .q-opt b{font-family:var(--display);display:block;margin-bottom:3px;font-size:1rem}.bnx .q-opt span{color:var(--ink-soft);font-size:.86rem}.bnx .q-result{display:none;text-align:center}.bnx .q-result.show{display:block;animation:fade .4s}.bnx .q-result .reco{font-family:var(--display);font-size:2rem;color:var(--green-deep);margin:14px 0 12px}.bnx .q-result p{color:var(--ink-soft);max-width:540px;margin:0 auto 24px}.bnx .q-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}@media(max-width:640px){.bnx .q-options{grid-template-columns:1fr}.bnx .quiz-shell{padding:28px 22px}}

/* ---------- CABINET ---------- */.bnx .cabinet-sec{background:var(--grad-soft)}.bnx .cabinet-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}.bnx .cabinet-text h2{font-size:clamp(1.8rem,3.6vw,2.6rem);margin:16px 0 18px}.bnx .cabinet-text p{color:var(--ink-2);font-size:1.04rem;margin-bottom:16px}.bnx .compare{padding:2px}.bnx .compare-head{display:grid;grid-template-columns:1.2fr 1fr 1fr;background:var(--paper);border-bottom:1px solid var(--line);border-radius:calc(var(--r-l) - 4px) calc(var(--r-l) - 4px) 0 0;overflow:hidden}.bnx .compare-head div{padding:16px 14px;font-family:var(--display);font-weight:600;font-size:.88rem}.bnx .compare-head div:nth-child(3){background:var(--grad-logo);color:#fff}.bnx .compare-row{
  display:grid;grid-template-columns:1.2fr 1fr 1fr;border-bottom:1px solid var(--line-2);
  opacity:0;transform:translateX(-12px);transition:opacity .45s ease,transform .45s ease;
}.bnx .compare.in .compare-row{opacity:1;transform:none}.bnx .compare-row:last-child{border-bottom:0;border-radius:0 0 calc(var(--r-l) - 4px) calc(var(--r-l) - 4px);overflow:hidden}.bnx .compare-row div{padding:15px 14px;font-size:.88rem;color:var(--ink-soft);display:flex;align-items:center}.bnx .compare-row div:first-child{color:var(--ink-2);font-weight:500}.bnx .compare-row div:nth-child(3){background:var(--green-l);color:var(--green-deep);font-weight:600}@media(max-width:900px){.bnx .cabinet-grid{grid-template-columns:1fr;gap:36px}}@media (prefers-reduced-motion: reduce){.bnx .compare-row{opacity:1;transform:none;transition:none}}

/* ---------- VOS MÉTIERS ---------- */.bnx .profils{background:var(--paper-2)}.bnx .profils-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
/* fond blanc, contour anime au survol. Le TJM devient l'element dominant :
   c'est le chiffre que le visiteur vient chercher dans cette grille. */.bnx .profil{
  padding:24px 22px;transition:transform .25s,box-shadow .25s;
  min-height:0;display:flex;flex-direction:column;gap:2px;
}.bnx .profil:hover{transform:translateY(-5px);box-shadow:var(--shadow-s)}.bnx .profil .emo{font-size:1.45rem;line-height:1;margin-bottom:10px}.bnx .profil h3{font-size:.86rem;color:var(--ink-soft);font-weight:500;line-height:1.35;min-height:2.4em}.bnx .profil .tjm{
  font-family:var(--mono);font-size:1.24rem;color:var(--green-deep);font-weight:700;
  margin-top:10px;letter-spacing:-.03em;
}@media(max-width:900px){.bnx .profils-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.bnx .profils-grid{grid-template-columns:1fr}.bnx .profil{min-height:0}}

/* ---------- TARIFS ---------- */.bnx .tarifs-sec{background:var(--grad-soft)}.bnx .price-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}.bnx .price-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:38px;position:relative;display:flex;flex-direction:column}.bnx .price-card.featured{background:var(--grad-logo);border:0;color:#fff;box-shadow:var(--shadow)}.bnx .price-card.featured>*{position:relative;z-index:1}
/* pastille compacte : en flux, alignee a gauche, elle ne s'etire plus
   sur toute la largeur comme le faisait la version en position absolue */.bnx .ptag{
  align-self:flex-start;background:#fff;color:var(--green-deep);
  font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:700;padding:.45em .9em;border-radius:999px;margin-bottom:18px;
}.bnx .price-card h3{font-size:1.3rem;margin-bottom:6px}.bnx .price-card.featured h3{color:#fff}.bnx .price-card .ptitle-sub{color:var(--ink-soft);font-size:.92rem;margin-bottom:26px}.bnx .price-card.featured .ptitle-sub{color:rgba(255,255,255,.9)}.bnx .amount{font-family:var(--mono);font-weight:700;font-size:2.7rem;line-height:1;display:flex;align-items:baseline;gap:10px}.bnx .amount s{font-size:1.15rem;font-weight:400;color:var(--ink-soft);opacity:.65}.bnx .price-card.featured .amount s{color:rgba(255,255,255,.75)}.bnx .amount em{font-style:normal;font-size:.9rem;font-weight:400;color:var(--ink-soft);font-family:var(--sans)}.bnx .price-card.featured .amount em{color:rgba(255,255,255,.9)}.bnx .amount .free{color:var(--green-deep)}.bnx .price-card.featured .amount .free{color:#fff}.bnx .psub{font-size:.86rem;color:var(--ink-soft);margin:10px 0 26px}.bnx .price-card.featured .psub{color:rgba(255,255,255,.92)}.bnx .plist{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:28px;flex:1}.bnx .plist li{display:flex;gap:11px;font-size:.94rem;line-height:1.45;color:var(--ink-2)}.bnx .price-card.featured .plist li{color:#fff;font-weight:500}.bnx .plist li:before{content:"→";color:var(--green-deep);font-family:var(--mono);flex-shrink:0}.bnx .price-card.featured .plist li:before{color:var(--green)}.bnx .price-card .btn{width:100%;justify-content:center}@media(max-width:760px){.bnx .price-grid{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */.bnx .faq{max-width:840px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.bnx .faq-item{
  border:1px solid var(--line);border-radius:var(--r);background:#fff;
  border-left:3px solid var(--line);transition:background .3s,border-color .3s;overflow:hidden;
}.bnx .faq-item.open{background:var(--green-l);border-color:rgba(47,174,84,.35);border-left-color:var(--green)}.bnx .faq-q{
  width:100%;text-align:left;background:none;border:0;padding:20px 22px;
  font-family:var(--display);font-weight:600;font-size:1.04rem;cursor:pointer;
  display:flex;align-items:center;gap:16px;color:var(--ink);
}.bnx .faq-n{font-family:var(--mono);font-size:.76rem;color:var(--green-d);flex-shrink:0;transition:color .45s}.bnx .faq-item.open .faq-n{color:var(--green-deep)}.bnx .faq-q .qtxt{flex:1}.bnx .faq-q .ic{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:1.05rem;
  transition:transform .3s,background .3s,color .3s,border-color .3s;color:var(--ink-soft);
}.bnx .faq-item.open .ic{background:var(--green);border-color:var(--green);transform:rotate(45deg);color:#fff}.bnx .faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;color:var(--ink-2)}.bnx .faq-a p{padding:0 22px 22px 60px;font-size:.96rem}@media(max-width:600px){.bnx .faq-a p{padding-left:22px}}

/* ---------- CTA ---------- */.bnx .cta{
  background:var(--grad-logo);color:#fff;text-align:center;
  border-radius:var(--r-l);padding:76px 30px;position:relative;overflow:hidden;
}.bnx .cta:before{
  content:"";position:absolute;top:-140px;left:50%;margin-left:-260px;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.20),transparent 70%);
  animation:drift 16s ease-in-out infinite;
}.bnx .cta h2{font-size:clamp(1.9rem,4.2vw,3rem);position:relative;margin-bottom:16px}.bnx .cta p{position:relative;color:rgba(255,255,255,.96);max-width:540px;margin:0 auto 30px;font-size:1.06rem}.bnx .cta-actions{display:flex;gap:13px;justify-content:center;flex-wrap:wrap;position:relative}.bnx .cta .btn-ghost{color:#fff;border-color:rgba(255,255,255,.55)}.bnx .cta .btn-ghost:hover{border-color:#fff}

/* ---------- FOOTER ---------- */.bnx .foot{background:var(--ink);color:#fff;padding:64px 0 28px}.bnx .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.12)}.bnx .foot-grid .logo-link img{height:42px}.bnx .foot-grid p{color:rgba(255,255,255,.55);font-size:.9rem;max-width:280px;margin-top:16px}.bnx .foot-col h5{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--green);margin-bottom:16px;font-weight:500}.bnx .foot-col a{display:block;color:rgba(255,255,255,.68);font-size:.92rem;padding:6px 0;transition:.2s}.bnx .foot-col a:hover{color:#fff}.bnx .foot-legal{padding-top:22px;color:rgba(255,255,255,.42);font-size:.8rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}@media(max-width:820px){.bnx .foot-grid{grid-template-columns:1fr 1fr}}

/* ============================================================
   PAGES INTERIEURES
   ============================================================ */

/* ---------- BANDEAU DE PAGE ---------- */.bnx .page-hero{position:relative;padding:64px 0 56px;overflow:hidden;background:var(--grad-soft)}.bnx .page-hero .hero-glow{top:-300px;right:-160px;opacity:.7}.bnx .page-hero-inner{position:relative;z-index:2;max-width:840px}.bnx .breadcrumb{font-family:var(--mono);font-size:.72rem;color:var(--ink-soft);margin-bottom:18px;letter-spacing:.08em}.bnx .breadcrumb a{color:var(--cyan-d)}.bnx .breadcrumb span{opacity:.5;margin:0 .4em}.bnx .page-hero h1{font-size:clamp(2.1rem,4.6vw,3.4rem);margin-bottom:18px}.bnx .page-hero p.lead{font-size:1.14rem;color:var(--ink-2)}

/* ---------- BLOCS ALTERNES (services) ---------- */.bnx .blk{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:16px 0}.bnx .blk + .blk{margin-top:76px}.bnx .blk.rev .blk-copy{order:2}.bnx .blk.rev .blk-panel{order:1}.bnx .blk-copy .eyebrow{display:block;margin-bottom:14px}.bnx .blk-copy h2{font-size:clamp(1.6rem,3.2vw,2.2rem);margin-bottom:16px}.bnx .blk-copy p{color:var(--ink-2);margin-bottom:16px}.bnx .blk-list{list-style:none;display:flex;flex-direction:column;gap:11px;margin:22px 0}.bnx .blk-list li{display:flex;gap:12px;font-size:.96rem;color:var(--ink-2);line-height:1.5}.bnx .blk-list li:before{content:"→";font-family:var(--mono);color:var(--cyan-d);flex-shrink:0}.bnx .blk-panel{
  background:var(--grad-cyan);border-radius:var(--r-l);padding:36px;color:#fff;
  position:relative;overflow:hidden;min-height:280px;display:flex;flex-direction:column;justify-content:center;
}.bnx .blk-panel:after{
  content:"";position:absolute;top:-80px;right:-60px;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);
}.bnx .blk-panel h4{font-size:1.1rem;margin-bottom:18px;position:relative}.bnx .panel-rows{display:flex;flex-direction:column;gap:10px;position:relative}.bnx .panel-rows div{
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:12px;
  padding:13px 16px;font-size:.92rem;display:flex;justify-content:space-between;align-items:center;gap:12px;
}.bnx .panel-rows b{font-family:var(--mono);font-weight:700}.bnx .panel-note{margin-top:16px;font-size:.8rem;color:rgba(255,255,255,.8);position:relative}@media(max-width:880px){.bnx .blk{grid-template-columns:1fr;gap:32px}.bnx .blk.rev .blk-copy, .bnx .blk.rev .blk-panel{order:initial}.bnx .blk + .blk{margin-top:56px}
}

/* ---------- ETAPES ---------- */.bnx .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.bnx .step{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:28px;
  position:relative;transition:transform .25s,box-shadow .25s;
}.bnx .step:hover{transform:translateY(-4px);box-shadow:var(--shadow-s)}.bnx .step .snum{font-family:var(--mono);font-weight:700;font-size:2rem;color:var(--cyan);line-height:1;display:block}.bnx .step h3{font-size:1.08rem;margin:14px 0 8px}.bnx .step p{font-size:.9rem;color:var(--ink-soft)}@media(max-width:900px){.bnx .steps{grid-template-columns:1fr 1fr}}@media(max-width:520px){.bnx .steps{grid-template-columns:1fr}}

/* ---------- AIDES ---------- */.bnx .aides{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.bnx .aide{color:#fff;border-radius:var(--r-l);padding:30px;position:relative;overflow:hidden}.bnx .aide .acode{font-family:var(--mono);font-size:1.5rem;font-weight:700;position:relative}.bnx .aide h3{font-size:1.05rem;margin:12px 0 8px;color:#fff;position:relative;font-weight:500}.bnx .aide p{font-size:.92rem;color:rgba(255,255,255,.9);position:relative}@media(max-width:860px){.bnx .aides{grid-template-columns:1fr}}

/* ---------- TABLEAU D'INCLUSIONS ---------- */.bnx .incl{border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;background:#fff}.bnx .incl-row{display:grid;grid-template-columns:1.6fr 1fr 1fr;border-bottom:1px solid var(--line-2)}.bnx .incl-row:last-child{border-bottom:0}.bnx .incl-row.head{background:var(--paper);font-family:var(--display);font-weight:600}.bnx .incl-row.head div:nth-child(2){background:var(--grad-cyan);color:#fff}.bnx .incl-row div{padding:15px 18px;font-size:.9rem;color:var(--ink-soft);display:flex;align-items:center}.bnx .incl-row div:first-child{color:var(--ink-2);font-weight:500}.bnx .incl-row:not(.head) div:nth-child(2){background:var(--cyan-soft);color:var(--cyan-deep);font-weight:600}@media(max-width:700px){.bnx .incl-row{grid-template-columns:1.4fr .8fr .8fr}.bnx .incl-row div{padding:12px;font-size:.82rem}}

/* ---------- NOTE LEGALE / ENCART ---------- */.bnx .callout{
  background:#fff;border:1px solid var(--line);border-left:3px solid var(--green);
  border-radius:var(--r);padding:24px 28px;font-size:.92rem;color:var(--ink-2);
}.bnx .callout b{color:var(--ink)}.bnx .callout + .callout{margin-top:14px}

/* ---------- ENGAGEMENTS ---------- */.bnx .vals{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.bnx .val{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:30px;transition:transform .25s,box-shadow .25s}.bnx .val:hover{transform:translateY(-3px);box-shadow:var(--shadow-s)}.bnx .val .vnum{font-family:var(--mono);font-size:.74rem;color:var(--cyan-d);letter-spacing:.12em;display:block;margin-bottom:14px}.bnx .val h3{font-size:1.15rem;margin-bottom:10px}.bnx .val p{color:var(--ink-soft);font-size:.95rem}@media(max-width:760px){.bnx .vals{grid-template-columns:1fr}}

/* ---------- FICHE CABINET ---------- */.bnx .ident{background:var(--grad-logo);color:#fff;border-radius:var(--r-l);padding:36px;position:relative;overflow:hidden}.bnx .ident:after{
  content:"";position:absolute;bottom:-90px;left:-70px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%);
}.bnx .ident h3{color:#fff;font-size:1.2rem;margin-bottom:20px;position:relative}.bnx .ident dl{display:flex;flex-direction:column;gap:14px;position:relative}.bnx .ident .line{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:12px}.bnx .ident .line:last-child{border-bottom:0;padding-bottom:0}.bnx .ident dt{font-size:.88rem;color:rgba(255,255,255,.8)}.bnx .ident dd{font-family:var(--mono);font-size:.88rem;font-weight:700;text-align:right}

/* ---------- CONTACT ---------- */.bnx .contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}.bnx .form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:36px;box-shadow:var(--shadow-s)}.bnx .form-card h2{font-size:1.5rem;margin-bottom:8px}.bnx .form-card>p{color:var(--ink-soft);font-size:.95rem;margin-bottom:26px}.bnx .frow{margin-bottom:18px}.bnx .frow label{display:block;font-family:var(--display);font-weight:600;font-size:.88rem;margin-bottom:8px}.bnx .frow label .req{color:var(--green-d)}.bnx .frow input, .bnx .frow select, .bnx .frow textarea{
  width:100%;border:1.5px solid var(--line);border-radius:12px;padding:.85em 1em;
  font-family:inherit;font-size:.95rem;background:var(--paper);color:var(--ink);transition:border-color .2s;
}.bnx .frow input:focus, .bnx .frow select:focus, .bnx .frow textarea:focus{border-color:var(--green);outline:none}.bnx .frow textarea{resize:vertical;min-height:130px}.bnx .f2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bnx .fhp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.bnx .fnote{font-size:.78rem;color:var(--ink-soft);margin-top:16px}.bnx .fmsg{border-radius:12px;padding:14px 18px;font-size:.9rem;margin-bottom:22px}.bnx .fmsg.ok{background:var(--green-l);color:var(--green-deep);border:1px solid rgba(47,174,84,.35)}.bnx .fmsg.ko{background:#FDEDEA;color:#9B3520;border:1px solid rgba(155,53,32,.25)}.bnx .contact-side{display:flex;flex-direction:column;gap:16px}.bnx .cinfo{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}.bnx .cinfo .clab{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan-d);display:block;margin-bottom:8px}.bnx .cinfo p, .bnx .cinfo a{color:var(--ink-2);font-size:.95rem}.bnx .cinfo a:hover{color:var(--green-d)}@media(max-width:880px){.bnx .contact-grid{grid-template-columns:1fr}.bnx .f2{grid-template-columns:1fr}}

/* ---------- SUITE DU PARCOURS ---------- */.bnx .after{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.bnx .after-card{background:var(--grad-soft-cyan);border:1px solid rgba(28,162,186,.18);border-radius:var(--r-l);padding:28px}.bnx .after-card .anum{font-family:var(--mono);font-size:.74rem;color:var(--cyan-d);letter-spacing:.12em;display:block;margin-bottom:12px}.bnx .after-card h3{font-size:1.05rem;margin-bottom:8px}.bnx .after-card p{font-size:.92rem;color:var(--ink-soft)}@media(max-width:860px){.bnx .after{grid-template-columns:1fr}}

/* ============================================================
   CONTOUR DEGRADE ANIME
   ------------------------------------------------------------
   Technique volontairement conservatrice : un pseudo-element
   carre porte un degrade conique et tourne sur lui-meme, un
   second pseudo-element pose le fond par-dessus en laissant
   2px visibles. Fonctionne sur tous les navigateurs, contrairement
   a l'animation d'un angle via @property, absente de Firefox.
   Par defaut l'animation est en pause : elle ne demarre qu'au
   survol, sauf pour les elements marques .gb-on (tableau et quiz),
   pour eviter de faire tourner douze animations en permanence.
   ============================================================ */@keyframes gbspin{to{transform:translate(-50%,-50%) rotate(360deg)}}.bnx .gb{position:relative;border-radius:var(--r-l);overflow:hidden;isolation:isolate;background:#fff}
/* Empilement : contour anime, puis fond de repos, puis fond actif en
   fondu, puis le contenu. Le fond actif apparait par variation
   d'opacite et non par changement de background : un degrade n'est pas
   interpolable, et une transition directe laissait apparaitre le
   contour conique pendant un instant, d'ou le disque sombre. */.bnx .gb:before{
  content:"";position:absolute;left:50%;top:50%;width:260%;aspect-ratio:1;
  background:conic-gradient(from 0deg,#2FA456,#2BB48A,#45CFE2,#1CA2BA,#12798C,#2FA456);
  transform:translate(-50%,-50%) rotate(0deg);
  animation:gbspin 7s linear infinite;animation-play-state:paused;
  z-index:0;
}.bnx .gb:after{
  content:"";position:absolute;inset:2px;border-radius:calc(var(--r-l) - 2px);
  background:#fff;z-index:1;
}.bnx .gb-fill{
  position:absolute;inset:2px;border-radius:calc(var(--r-l) - 2px);
  z-index:2;opacity:0;transition:opacity .45s ease;pointer-events:none;
}.bnx .gb.is-live>.gb-fill{opacity:1}.bnx .gb>*{position:relative;z-index:3}
/* Cette regle doit rester APRES .gb>* : a specificite egale, la derniere
   l'emporte, et sans elle la couche perdait son positionnement absolu,
   s'effondrait a zero pixel et n'apparaissait jamais. */.bnx .gb>.gb-fill{position:absolute;inset:2px;z-index:2}.bnx .gb:hover:before, .bnx .gb:focus-within:before, .bnx .gb.gb-on:before{animation-play-state:running}@media (prefers-reduced-motion: reduce){.bnx .gb:before{animation:none}
}


/* ---------- BOUTON A CONTOUR DEGRADE ANIME ---------- */.bnx .btn-anim{position:relative;overflow:hidden;background:#fff;color:var(--green-deep);border:0;isolation:isolate}.bnx .btn-anim:before{
  content:"";position:absolute;left:50%;top:50%;width:340%;aspect-ratio:1;
  background:conic-gradient(from 0deg,#2FA456,#2BB48A,#45CFE2,#1CA2BA,#12798C,#2FA456);
  transform:translate(-50%,-50%) rotate(0deg);animation:gbspin 6s linear infinite;z-index:0;
}.bnx .btn-anim:after{content:"";position:absolute;inset:2px;border-radius:999px;background:#fff;z-index:0;transition:background .25s}.bnx .btn-anim span{position:relative;z-index:1}.bnx .btn-anim:hover, .bnx .btn-anim:focus-visible{background:#fff;color:var(--green-deep);border-color:transparent;transform:translateY(-2px)}.bnx .btn-anim:hover:after{background:var(--green-l)}@media (prefers-reduced-motion: reduce){.bnx .btn-anim:before{animation:none}}


/* Retour a la ligne force apres le point sur les titres a deux temps.
   Desactive sous 700px, ou la ligne se couperait de toute facon et
   produirait quatre lignes bancales. */@media(max-width:700px){.bnx .brk{display:none}}

/* ============================================================
   ETATS DE SEQUENCE (.is-live)
   Le premier element est actif au chargement, puis l'actif suit
   le defilement sur mobile et le survol sur desktop.
   ============================================================ */

/* --- CONSTAT : vert au repos, blanc quand actif --- */.bnx .constat-card.is-live .cnum{color:var(--cyan-d)}.bnx .constat-card.is-live h3{color:var(--ink)}.bnx .constat-card.is-live p{color:var(--ink-soft)}.bnx .constat-card.is-live{transform:translateY(-6px);box-shadow:0 26px 46px -26px rgba(16,22,20,.30)}.bnx .constat-card.gb.is-live:before{animation-play-state:running}

/* --- SERVICES : la carte active est retournee --- */.bnx .serv-card.is-live .serv-inner{transform:rotateY(180deg)}
/* emoji et textes centres, tailles reequilibrees */.bnx .serv-front{align-items:center;text-align:center}.bnx .serv-front .s-emo{font-size:2rem;margin-bottom:16px}.bnx .serv-front .s-head{justify-content:center;gap:12px}.bnx .serv-front .s-lab{font-size:1.5rem}.bnx .serv-front h3{font-size:.94rem;margin-top:10px;max-width:22ch}.bnx .serv-back{align-items:center;text-align:center}.bnx .serv-back ul{justify-content:center}

/* --- METIERS : vert clair au repos, degrade quand actif --- */.bnx .profil{background:var(--mint)}.bnx .profil.gb:after{background:var(--mint)}.bnx .profil .gb-fill{background:var(--grad-logo)}.bnx .profil.is-live .emo{filter:none}.bnx .profil.is-live h3{color:rgba(255,255,255,.9)}.bnx .profil.is-live .tjm{color:#fff}.bnx .profil.is-live{transform:translateY(-5px);box-shadow:0 22px 40px -26px rgba(47,164,86,.7)}.bnx .profil.gb.is-live:before{animation-play-state:running}

/* --- AIDES : vert au repos, blanc quand actif --- */.bnx .aide{padding:32px}.bnx .aide.gb:after{background:var(--grad-cyan)}.bnx .aide .gb-fill{background:#fff}.bnx .aide.is-live .acode{color:var(--cyan-d)}.bnx .aide.is-live h3{color:var(--ink)}.bnx .aide.is-live p{color:var(--ink-soft)}.bnx .aide.is-live{transform:translateY(-5px);box-shadow:0 24px 44px -26px rgba(16,22,20,.28)}.bnx .aide.gb.is-live:before{animation-play-state:running}

/* --- ETAPES : contour degrade, fond degrade quand actif --- */.bnx .step{padding:28px}.bnx .step.gb:after{background:#fff}.bnx .step .gb-fill{background:var(--grad-cyan)}.bnx .step.is-live .snum{color:rgba(255,255,255,.75)}.bnx .step.is-live h3{color:#fff}.bnx .step.is-live p{color:rgba(255,255,255,.92)}.bnx .step.is-live{transform:translateY(-4px)}.bnx .step.gb.is-live:before{animation-play-state:running}

/* --- FAQ : vert clair au repos, degrade quand actif --- */.bnx .faq-item{background:var(--mint);border-color:rgba(47,174,84,.18);border-left-color:rgba(47,174,84,.35);transition:border-color .45s}.bnx .faq-item.is-live{background:var(--grad-logo);border-color:transparent;border-left-color:#fff}.bnx .faq-item.is-live .faq-q{color:#fff}.bnx .faq-item.is-live .faq-n{color:rgba(255,255,255,.75)}.bnx .faq-item.is-live .ic{border-color:rgba(255,255,255,.5);color:#fff}.bnx .faq-item.is-live .faq-a{color:rgba(255,255,255,.94)}.bnx .faq-item.is-live.open .ic{background:#fff;border-color:#fff;color:var(--green-deep)}

/* --- TARIFS : contour degrade sur la carte simple --- */.bnx .price-card.gb{padding:2px}.bnx .price-card .gb-fill{background:#fff}.bnx .price-card.gb .pc-in{padding:38px;display:flex;flex-direction:column;height:100%}

/* --- SERVICES : sous-cases des panneaux en vert clair --- */.bnx .panel-rows div{background:var(--mint);border-color:rgba(255,255,255,.5);color:var(--ink)}.bnx .panel-rows b{color:var(--cyan-deep)}@media(max-width:960px){.bnx .serv-front h3{max-width:26ch}.bnx .sec-head{margin-bottom:34px}
}

/* réassurance placée juste sous le bouton d'envoi, là où le doute survient */.bnx .freassure{
  margin-top:16px;font-size:.9rem;font-weight:500;color:var(--green-deep);
  background:var(--mint);border-radius:12px;padding:12px 16px;
}.bnx .after-card{padding:28px}.bnx .after-card.gb:after{background:var(--cyan-soft)}.bnx .after-card .gb-fill{background:var(--grad-cyan)}.bnx .after-card.is-live .anum{color:rgba(255,255,255,.78)}.bnx .after-card.is-live h3{color:#fff}.bnx .after-card.is-live p{color:rgba(255,255,255,.92)}.bnx .val{padding:30px}.bnx .val.gb:after{background:#fff}.bnx .val .gb-fill{background:var(--grad-logo)}.bnx .val.is-live .vnum{color:rgba(255,255,255,.78)}.bnx .val.is-live h3{color:#fff}.bnx .val.is-live p{color:rgba(255,255,255,.92)}

/* ---------- PAGES LEGALES ---------- */.bnx .legal{max-width:800px}.bnx .legal h2{font-size:1.32rem;margin:38px 0 14px}.bnx .legal h2:first-of-type{margin-top:30px}.bnx .legal p{color:var(--ink-2);margin-bottom:14px;font-size:.98rem}.bnx .legal ul{list-style:none;margin:0 0 18px}.bnx .legal li{display:flex;gap:11px;color:var(--ink-2);font-size:.96rem;padding:5px 0;line-height:1.5}.bnx .legal li:before{content:"—";color:var(--cyan-d);flex-shrink:0}.bnx .legal .callout{margin-bottom:8px}

/* ============================================================
   ECRAN DE TRANSITION ENTRE LES PAGES
   ------------------------------------------------------------
   Le retrait est porte par une animation CSS, pas par le script :
   meme si le JavaScript echoue, l'ecran disparait tout seul au
   bout d'une seconde et ne peut jamais bloquer le site.
   ============================================================ */.bnx .pageload{
  position:fixed;inset:0;z-index:200;background:var(--paper);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;
  animation:plOut .4s ease 1s forwards;
}.bnx .pageload img{width:62px;height:auto}.bnx .pl-bar{width:168px;height:3px;border-radius:999px;background:var(--mint-2);overflow:hidden}.bnx .pl-bar i{display:block;height:100%;width:0;background:var(--grad-mix);border-radius:999px;animation:plFill 1s ease forwards}@keyframes plOut{to{opacity:0;visibility:hidden}}@keyframes plFill{from{width:0}to{width:100%}}@media (prefers-reduced-motion: reduce){.bnx .pageload{animation-duration:.01s;animation-delay:.25s}.bnx .pl-bar i{animation-duration:.25s}
}

/* Arrivee depuis un lien interne : l'ecran s'efface presque aussitot,
   la transition se lit alors comme un seul mouvement continu. */
/* Arrivee depuis un lien interne : la barre etait deja pleine au depart,
   l'ecran est donc escamote immediatement plutot que rejoue. */.bnx .pageload.is-quick{animation:none;opacity:0;visibility:hidden}

/* ============================================================
   BANDEAU DE CONFIANCE
   ============================================================ */.bnx .trustbar{background:#fff;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);padding:26px 0}.bnx .trustbar-in{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap}.bnx .tb-lab{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.bnx .tb-logos{display:flex;align-items:center;justify-content:center;gap:44px;flex-wrap:wrap}
/* Les logos partenaires ont des chartes tres differentes : on les
   desature legerement au repos pour qu'aucun ne domine la ligne. */.bnx .tb-logos img{height:30px;width:auto;opacity:.75;filter:saturate(.85);transition:opacity .25s,filter .25s}.bnx .tb-logos img:hover{opacity:1;filter:none}@media(max-width:760px){.bnx .tb-logos{gap:26px}.bnx .tb-logos img{height:24px}
}

/* ============================================================
   AVIS CLIENTS
   ============================================================ */.bnx .avis-sec{background:var(--grad-soft-cyan)}.bnx .avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}.bnx .avis{padding:30px;display:flex;flex-direction:column;gap:14px;margin:0}.bnx .avis-note{color:#F5A623;letter-spacing:2px;font-size:.95rem}.bnx .avis blockquote{margin:0;font-size:.95rem;line-height:1.6;color:var(--ink-2);flex:1}.bnx .avis figcaption{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line-2);padding-top:14px}.bnx .avis-logo{width:38px;height:38px;border-radius:10px;object-fit:contain;background:var(--paper);flex-shrink:0}.bnx .avis-emo{display:flex;align-items:center;justify-content:center;font-size:1.25rem}.bnx .avis figcaption span{display:flex;flex-direction:column;font-size:.82rem;color:var(--ink-soft);line-height:1.4}.bnx .avis figcaption b{font-family:var(--display);font-size:.95rem;color:var(--ink)}.bnx .avis.is-live .gb-fill{background:var(--grad-cyan)}.bnx .avis .gb-fill{background:var(--grad-cyan)}.bnx .avis.is-live blockquote, .bnx .avis.is-live figcaption span{color:rgba(255,255,255,.94)}.bnx .avis.is-live figcaption b{color:#fff}.bnx .avis.is-live figcaption{border-top-color:rgba(255,255,255,.3)}.bnx .avis.is-live .avis-note{color:#FFD98A}@media(max-width:900px){.bnx .avis-grid{grid-template-columns:1fr}}

/* ============================================================
   PARCOURS ORIENTATION PUIS CHIFFRES
   ============================================================ */.bnx .reco-hint{
  margin:14px auto 0;max-width:560px;font-size:.95rem;color:var(--cyan-deep);
  background:var(--cyan-soft);border:1px solid rgba(28,162,186,.28);
  border-radius:999px;padding:.6em 1.2em;
}.bnx .reco-hint b{font-family:var(--display)}.bnx .sim-mini{margin-top:20px;font-size:.82rem;color:var(--ink-soft);text-align:center}.bnx .sim-cta{margin-top:22px;display:flex;justify-content:center}

/* ============================================================
   PARCOURS EN DEUX ETAPES
   La section des chiffres reste masquee tant que les trois
   questions ne sont pas repondues : sans cela, le simulateur
   apparait sous le quiz des l'arrivee et l'enchainement en deux
   temps perd tout son sens.
   Repli sans JavaScript : la section est visible par defaut,
   c'est la classe posee au chargement qui la masque.
   ============================================================ */.bnx .sim.is-locked{
  max-height:0;overflow:hidden;opacity:0;padding-top:0;padding-bottom:0;
  transition:max-height .5s ease,opacity .35s ease,padding .5s ease;
}.bnx .sim.is-unlocked{
  max-height:4000px;opacity:1;
  transition:max-height .7s ease,opacity .5s ease .1s,padding .5s ease;
}
