/* =====================================================================
   BLYX — Page recrutement BDR (dérivé du site, DA fidèle) — v5
   ===================================================================== */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --blyx-black:#000; --blyx-ink:#111; --blyx-graphite:#333;
  --blyx-mid:#707070; --blyx-mist:#f4f4f4; --blyx-white:#fff;
  --blyx-line:#e5e5e5; --sec-alt:#eef0f4;
  --blyx-iris:#a78bfa; --blyx-iris-text:#7c3aed;
  --radius-card:24px; --radius-pill:9999px;
  --font-sans:"DM Sans",Arial,sans-serif;
  --grid:rgba(17,17,17,0.05);
  --ease-out:cubic-bezier(0.16,1,0.3,1);
}

html { scroll-behavior:smooth; overflow-x:clip; }
body { font-family:var(--font-sans); background:var(--blyx-white); color:var(--blyx-ink); line-height:1.55; -webkit-font-smoothing:antialiased; overflow-x:clip; }

.page { position:relative; background:var(--blyx-white); }
/* quadrillage : UNIQUEMENT le hero */
.grid-pattern { background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px); background-size:58px 58px; }

.container { margin-inline:auto; width:100%; max-width:1280px; padding-inline:24px; }
@media (min-width:768px){ .container{ padding-inline:40px; } }

.page > section:not(.hero) { position:relative; padding-block:6rem; }
@media (min-width:768px){ .page > section:not(.hero){ padding-block:8.5rem; } }
.sec-mist { background:var(--sec-alt); }
/* sections « blanches » OPAQUES : sinon le hero sticky (z-0) transparaît dessous pendant la transition cover */
.page > section:not(.hero):not(.sec-mist) { background:var(--blyx-white); }
.first-section { border-radius:40px 40px 0 0; box-shadow:0 -1px 0 rgba(0,0,0,.04); }
/* sections + footer glissent PAR-DESSUS le hero sticky (transition cover) */
.page > section:not(.hero), .page > .foot { position:relative; z-index:1; }
:where(#mission,#pourquoi,#gains,#evo,#process,#postuler,#faq,#final) { scroll-margin-top:90px; }

/* ---------- Typo helpers ---------- */
.eyebrow { display:inline-flex; align-items:center; gap:9px; font-size:12px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--blyx-iris-text); margin-bottom:22px; }
.eyebrow .dot { width:6px; height:6px; border-radius:50%; background:var(--blyx-iris); }
.on-ink .eyebrow { color:var(--blyx-iris); }
h2 { font-size:clamp(2.1rem,4.4vw,3.6rem); font-weight:700; line-height:1.08; letter-spacing:-0.03em; margin-bottom:18px; }
.on-ink h2 { color:var(--blyx-white); }
.em { font-style:italic; font-weight:700; color:var(--blyx-iris-text); }
.on-ink .em { color:var(--blyx-iris); }
.lede { font-size:clamp(1.05rem,1.5vw,1.3rem); color:var(--blyx-graphite); max-width:660px; margin-bottom:42px; line-height:1.55; }
.lede b { color:var(--blyx-ink); font-weight:700; }
.on-ink .lede { color:rgba(255,255,255,.72); } .on-ink .lede b { color:#fff; }
.uline { position:relative; display:inline-block; }
.uline svg { position:absolute; left:0; bottom:-6px; width:100%; height:11px; overflow:visible; pointer-events:none; }
.uline svg path { fill:none; stroke:var(--blyx-iris); stroke-width:2.5; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset .9s cubic-bezier(.65,0,.35,1) .35s; }
.uline.is-visible svg path { stroke-dashoffset:0; }

/* ---------- Boutons ---------- */
.cta { position:relative; display:inline-flex; min-height:56px; align-items:center; gap:8px; overflow:hidden; border-radius:16px; background:var(--blyx-ink); padding:8px 30px; font:600 15px var(--font-sans); color:var(--blyx-white); text-decoration:none; cursor:pointer; border:none; box-shadow:0 8px 24px rgba(17,17,17,.15), inset 0 0 0 1px rgba(255,255,255,.1); transition:box-shadow .3s ease-out, transform .3s ease-out; }
.cta:hover { box-shadow:0 12px 40px rgba(167,139,250,.55), inset 0 0 0 1px rgba(255,255,255,.1); transform:translateY(-1px); }
.cta:active { transform:translateY(1px); }
.cta .lbl { position:relative; z-index:1; display:inline-flex; align-items:center; gap:8px; }
.cta .arr { transition:transform .3s ease-out; }
.cta:hover .arr { transform:translateX(4px); }
.cta .sweep { position:absolute; inset:0; z-index:0; transform:translateX(-100%); background:linear-gradient(to right,rgba(167,139,250,0),rgba(167,139,250,.4),rgba(167,139,250,0)); transition:transform .7s ease-in-out; }
.cta:hover .sweep { transform:translateX(100%); }
.cta-ghost { display:inline-flex; min-height:56px; align-items:center; border-radius:16px; border:1px solid rgba(17,17,17,.15); background:transparent; padding:8px 28px; font:600 15px var(--font-sans); color:var(--blyx-ink); text-decoration:none; transition:all .3s ease-out; }
.cta-ghost:hover { transform:translateY(-2px); border-color:rgba(167,139,250,.6); background:rgba(167,139,250,.06); box-shadow:0 4px 20px rgba(167,139,250,.2); }

/* ---------- Nav ---------- */
.nav-header { position:fixed; inset:0 0 auto; top:0; z-index:70; padding:0 16px; }
.nav { margin:12px auto 0; display:flex; height:64px; width:100%; max-width:1100px; align-items:center; justify-content:space-between; gap:8px; border-radius:9999px; padding:0 10px 0 20px; background:rgba(255,255,255,.8); backdrop-filter:blur(24px); box-shadow:0 8px 30px -8px rgba(0,0,0,.12); transition:background-color .2s, box-shadow .2s; }
@media (min-width:640px){ .nav{ margin-top:16px; padding-left:24px; padding-right:12px; } }
.nav-logo { display:flex; align-items:center; perspective:600px; text-decoration:none; color:var(--blyx-ink); }
.logo-row { display:flex; align-items:center; gap:8px; color:var(--blyx-ink); transition:transform .7s ease-out; }
.nav-logo:hover .logo-row { transform:rotateY(360deg); }
.blyx-logo { flex-shrink:0; display:block; }
.wordmark { font:700 1.5rem/1 var(--font-sans); letter-spacing:-.02em; }
.nav-links { display:none; }
@media (min-width:1024px){ .nav-links{ display:flex; align-items:center; gap:30px; list-style:none; } }
.nav-links a { font:500 .875rem var(--font-sans); color:var(--blyx-ink); text-decoration:none; transition:color .2s; }
.nav-links a:hover { color:var(--blyx-graphite); }
.nav-right { display:flex; align-items:center; gap:8px; }
.nav-cta { display:none; height:40px; align-items:center; border-radius:9999px; background:var(--blyx-ink); padding:0 20px; font:500 .875rem var(--font-sans); color:var(--blyx-white); text-decoration:none; transition:background-color .2s; }
.nav-cta:hover { background:var(--blyx-graphite); }
@media (min-width:768px){ .nav-cta{ display:inline-flex; } }
.burger { display:inline-flex; width:40px; height:40px; align-items:center; justify-content:center; border:none; background:transparent; border-radius:9999px; cursor:pointer; transition:background-color .2s; }
.burger:hover { background:var(--blyx-mist); }
@media (min-width:1024px){ .burger{ display:none; } }
.burger span { display:block; width:16px; height:2px; background:var(--blyx-ink); border-radius:2px; position:relative; }
.burger span::before, .burger span::after { content:""; position:absolute; left:0; width:16px; height:2px; background:var(--blyx-ink); border-radius:2px; }
.burger span::before { top:-5px; } .burger span::after { top:5px; }
.m-overlay { position:fixed; inset:0; z-index:65; background:var(--blyx-white); display:flex; flex-direction:column; padding:96px 28px 28px; opacity:0; visibility:hidden; transition:opacity .2s, visibility .2s; }
.m-overlay.open { opacity:1; visibility:visible; }
.m-overlay a { font:600 1.5rem var(--font-sans); color:var(--blyx-ink); text-decoration:none; padding:14px 0; border-bottom:1px solid var(--blyx-line); opacity:0; transform:translateY(8px); transition:opacity .32s var(--ease-out), transform .32s var(--ease-out); }
.m-overlay.open a { opacity:1; transform:none; }
.m-overlay a:nth-child(1){ transition-delay:.05s; } .m-overlay a:nth-child(2){ transition-delay:.09s; } .m-overlay a:nth-child(3){ transition-delay:.13s; } .m-overlay a:nth-child(4){ transition-delay:.17s; } .m-overlay a:nth-child(5){ transition-delay:.21s; }
body.menu-lock { overflow:hidden; }

/* ---------- HERO ---------- */
.hero { position:sticky; top:0; z-index:0; height:100dvh; min-height:100dvh; overflow:clip; display:flex;
  background-color:var(--blyx-white); will-change:transform; }
.hero-card { position:relative; display:flex; flex-direction:column; justify-content:center; width:100%; min-height:100dvh; padding-block:96px 64px; overflow:hidden; }
.hero-halo { position:absolute; inset-inline:0; top:0; height:120%; z-index:0; pointer-events:none; }
.hero-halo.c1 { background:radial-gradient(ellipse 60% 50% at 50% 28%, rgba(167,139,250,.3) 0%, rgba(167,139,250,.1) 35%, transparent 70%); animation:blyxIrisBreath 12s ease-in-out infinite; }
.hero-halo.c2 { background:radial-gradient(ellipse 50% 40% at 16% 58%, rgba(167,139,250,.2) 0%, transparent 60%); animation:blyxIrisBreath 14s ease-in-out infinite 2s; }
.hero-halo.c3 { background:radial-gradient(ellipse 45% 38% at 84% 62%, rgba(167,139,250,.2) 0%, transparent 60%); animation:blyxIrisBreath 15s ease-in-out infinite 3s; }
.hero-grid { position:absolute; inset:0; z-index:0; width:100%; height:100%; pointer-events:none; }
.hero-follow { position:absolute; inset:0; z-index:0; pointer-events:none; background:radial-gradient(circle 220px at var(--mx,-300px) var(--my,-300px), rgba(167,139,250,.08) 0%, transparent 75%); }
.hero-grain { position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.05; mix-blend-mode:overlay; background-size:200px 200px; background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.65 0 0 0 0 0.55 0 0 0 0 0.98 0 0 0 0.55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"); }
.hero-particles { position:absolute; inset:0; z-index:0; pointer-events:none; }
.hero-particles i { position:absolute; border-radius:50%; background:var(--blyx-iris); box-shadow:0 0 12px rgba(167,139,250,.85); animation:blyxIrisFloat var(--d,11s) ease-in-out infinite var(--de,0s); }
.hero-streak { position:absolute; left:0; top:46%; width:100%; height:1px; overflow:hidden; z-index:0; pointer-events:none; }
.hero-streak::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent 0%, rgba(167,139,250,0) 30%, rgba(167,139,250,.8) 50%, rgba(167,139,250,0) 70%, transparent 100%); animation:blyxIrisStreak 7s ease-in-out infinite; }
/* voile de la transition cover (opacity pilotée au scroll) */
.hero-veil { position:absolute; inset:0; z-index:20; background:#070708; opacity:0; pointer-events:none; will-change:opacity; }

.hero-content { position:relative; z-index:10; display:flex; align-items:center; justify-content:center; }
.hero-inner { width:100%; max-width:720px; margin:0 auto; text-align:center; padding-inline:20px; }
.badge { position:relative; display:inline-flex; align-items:center; gap:10px; overflow:hidden; border:1px solid rgba(167,139,250,.4); background:rgba(255,255,255,.7); backdrop-filter:blur(8px); border-radius:9999px; padding:9px 18px; font:600 11px var(--font-sans); letter-spacing:.18em; text-transform:uppercase; color:var(--blyx-ink); box-shadow:0 4px 24px rgba(167,139,250,.18); }
.badge .ping { position:relative; display:inline-flex; width:8px; height:8px; }
.badge .ping::before { content:""; position:absolute; inset:0; border-radius:50%; background:var(--blyx-iris); opacity:.5; animation:ping 1.6s cubic-bezier(0,0,.2,1) infinite; }
.badge .ping::after { content:""; position:absolute; inset:0; border-radius:50%; background:var(--blyx-iris); }
.badge .txt { position:relative; z-index:1; }
.badge .pill-sweep { position:absolute; inset-block:0; left:-33%; width:33%; background:linear-gradient(90deg,transparent,rgba(167,139,250,.55),transparent); animation:blyxPillSweep 4.5s ease-in-out infinite; }
.hero-title { margin-top:22px; max-width:16ch; margin-inline:auto; font-weight:700; font-size:clamp(2.4rem,5.4vw,4.4rem); line-height:1; letter-spacing:-0.035em; color:var(--blyx-ink); }
@media (min-width:768px){ .hero-title{ margin-top:26px; } }
.hero-title .mask { display:inline-block; vertical-align:bottom; overflow:hidden; clip-path:inset(-0.35em -0.5em 0 -0.5em); padding-bottom:.16em; margin-bottom:-.16em; margin-right:.18em; }
.hero-title.clip-open .mask { overflow:visible; }
.hero-title .word { display:inline-block; transform-origin:0 100%; transform:translateY(130%) rotate(7deg); transition:transform .95s var(--ease-out); }
.hero-title.start .word { transform:none; }
.hero-title .accent { font-style:italic; font-weight:700; position:relative; display:inline-block; }
.hero-title .accent .word-color { color:var(--blyx-ink); transition:color .5s ease 1.45s; }
.hero-title.start .accent .word-color { color:var(--blyx-iris-text); }
.hero-title .accent svg { position:absolute; left:0; bottom:-6px; width:100%; height:12px; overflow:visible; }
.hero-title .accent svg path { fill:none; stroke:var(--blyx-iris); stroke-width:2.5; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 1.2s ease 1.65s; }
.hero-title.start .accent svg path { stroke-dashoffset:0; }
/* montant qui tourne sur lui-même (auto toutes les 8s + au survol), façon « décoller » du vrai site */
.hero-title .flip-amount { display:inline-block; transform-style:preserve-3d; cursor:default; }
.hero-title .flip-amount.flipping { animation:blyxFlipX 1.6s cubic-bezier(.45,0,.15,1); }
.hero-sub { margin:18px auto 0; max-width:520px; font-size:clamp(1.05rem,1.5vw,1.18rem); line-height:1.55; color:rgba(51,51,51,.9); }
.hero-sub b { color:var(--blyx-ink); font-weight:500; }
.hero-status { margin:13px auto 0; max-width:560px; font-size:14.5px; color:var(--blyx-mid); }
.hero-status b { color:var(--blyx-graphite); font-weight:700; }
.hero-actions { margin-top:64px; display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.trust { margin-top:44px; display:inline-flex; align-items:center; gap:12px; }
.trust .avs { display:flex; }
.trust .avs span { width:36px; height:36px; margin-left:-10px; border-radius:50%; border:2px solid #fff; display:grid; place-items:center; font:600 11px var(--font-sans); }
.trust .avs span:first-child { margin-left:0; }
.av-a{ background:var(--blyx-ink); color:#fff; } .av-b{ background:var(--blyx-mist); color:var(--blyx-ink); } .av-c{ background:var(--blyx-graphite); color:#fff; } .av-d{ background:var(--blyx-mist); color:var(--blyx-ink); }
.trust .tx { text-align:left; }
.trust .stars { color:#fbbf24; font-size:12px; letter-spacing:1.5px; line-height:1; }
.trust .tl { font-size:12.5px; color:var(--blyx-graphite); margin-top:3px; }
.trust .tl b { color:var(--blyx-ink); font-weight:700; }

/* cartes flottantes — verre clair → noir + rotation au survol (float sur l'enveloppe) */
.fcards { position:absolute; inset:0; z-index:5; pointer-events:none; display:none; }
@media (min-width:1200px){ .fcards{ display:block; } }
.fcard { position:absolute; width:204px; opacity:0; transition:opacity .8s var(--ease-out); }
.hero.start .fcard { opacity:1; }
.fcard.tl { left:7%;  top:22%; animation:floaty 7s ease-in-out infinite; }
.fcard.bl { left:8%;  top:52%; animation:floaty 8.5s ease-in-out infinite .6s; }
.fcard.tr { right:7%; top:24%; animation:floaty 9s ease-in-out infinite .3s; }
.fcard.br { right:8%; top:50%; animation:floaty 7.8s ease-in-out infinite .9s; }
.fcard:hover { animation-play-state:paused; }
@keyframes floaty { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-13px); } }
.fcard-inner { pointer-events:auto; background:rgba(255,255,255,.65); backdrop-filter:blur(14px); border:1px solid rgba(167,139,250,.28); border-radius:18px; padding:16px 18px; box-shadow:0 22px 50px -22px rgba(80,60,180,.4), 0 2px 8px rgba(80,60,180,.06); transform-origin:center; transition:background .35s ease, border-color .35s ease, transform .45s var(--ease-out), box-shadow .35s ease; }
.fcard-inner .ico { width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:rgba(167,139,250,.12); margin-bottom:12px; border:1px solid transparent; transition:background .35s ease, border-color .35s ease; }
.fcard-inner .ico svg { width:20px; height:20px; stroke:var(--blyx-iris-text); fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; transition:stroke .35s ease, filter .35s ease; }
.fcard-inner .stat { font-size:18px; font-weight:700; letter-spacing:-0.01em; color:var(--blyx-ink); line-height:1.1; transition:color .35s ease; }
.fcard-inner .desc { font-size:12.5px; color:var(--blyx-graphite); margin-top:4px; line-height:1.4; transition:color .35s ease; }
.fcard-inner:hover { background:var(--blyx-ink); border-color:rgba(167,139,250,.5); transform:translateY(-6px) rotate(-2.5deg) scale(1.03); box-shadow:0 30px 60px -20px rgba(80,60,180,.65); }
.fcard-inner:hover .ico { background:rgba(167,139,250,.16); border-color:rgba(167,139,250,.3); }
.fcard-inner:hover .ico svg { stroke:var(--blyx-iris); filter:drop-shadow(0 0 12px rgba(167,139,250,.6)); }
.fcard-inner:hover .stat { color:#fff; }
.fcard-inner:hover .desc { color:rgba(255,255,255,.72); }

/* logos clients (trust) — ronds qui se superposent (façon avatars du vrai site) */
.logos { display:flex; align-items:center; }
.logo-chip { width:36px; height:36px; margin-left:-10px; border-radius:50%; background:#fff; border:2px solid #fff; overflow:hidden; display:grid; place-items:center; position:relative; box-shadow:0 3px 10px rgba(80,60,180,.18); opacity:0; scale:.6; transition:scale .3s var(--ease-out), box-shadow .3s var(--ease-out), opacity .3s var(--ease-out); }
.logo-chip:first-child { margin-left:0; }
.hero.start .logo-chip { opacity:1; scale:1; animation:blyxAvatarBob 4.6s ease-in-out infinite; }
.logo-chip:nth-child(1){ z-index:4; transition-delay:.7s; animation-delay:.2s; }
.logo-chip:nth-child(2){ z-index:3; transition-delay:.78s; animation-delay:1.05s; }
.logo-chip:nth-child(3){ z-index:2; transition-delay:.86s; animation-delay:1.9s; }
.logo-chip:nth-child(4){ z-index:1; transition-delay:.94s; animation-delay:2.75s; }
.logo-chip img { width:100%; height:100%; object-fit:contain; padding:5px; }
.logo-chip:hover { scale:1.18; z-index:9; box-shadow:0 8px 24px rgba(167,139,250,.45); }

.h-rev { opacity:0; transform:translateY(16px); transition:opacity .7s var(--ease-out), transform .7s var(--ease-out); }
.hero.start .h-rev { opacity:1; transform:none; }
.hero.start .h-rev.d1{ transition-delay:.05s; } .hero.start .h-rev.d2{ transition-delay:.2s; } .hero.start .h-rev.d3{ transition-delay:.35s; } .hero.start .h-rev.d4{ transition-delay:.5s; } .hero.start .h-rev.d5{ transition-delay:.65s; }

/* ---------- Reveals ---------- */
.reveal { opacity:0; transform:translateY(32px); transition:opacity .7s var(--ease-out), transform .7s var(--ease-out); }
.reveal.is-visible { opacity:1; transform:none; }
.reveal[data-y="14"]{ transform:translateY(14px); } .reveal[data-y="18"]{ transform:translateY(18px); }
.reveal[data-d="1"]{ transition-delay:.12s; } .reveal[data-d="2"]{ transition-delay:.24s; } .reveal[data-d="3"]{ transition-delay:.36s; }
.sec-glow { position:absolute; z-index:0; border-radius:9999px; filter:blur(64px); pointer-events:none; background:radial-gradient(circle, rgba(167,139,250,.40) 0%, transparent 70%); }

/* ---------- Mission (cartes sombres style « Notre offre ») ---------- */
.pipeline { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:stretch; gap:14px; margin:8px 0 0; position:relative; z-index:1; }
.pipe { position:relative; overflow:hidden; background:var(--blyx-ink); color:#fff; border-radius:var(--radius-card); padding:30px 26px; text-align:left; transition:box-shadow .5s ease, transform .35s ease; }
.pipe:hover { transform:translateY(-4px); box-shadow:0 24px 56px rgba(167,139,250,.35); }
.pipe .mesh { position:absolute; inset:0; z-index:0; opacity:0; transition:opacity .5s; pointer-events:none; background:radial-gradient(circle 260px at var(--mx,50%) var(--my,50%), rgba(167,139,250,.22) 0%, transparent 70%); }
.pipe:hover .mesh { opacity:1; }
.pipe .corner { position:absolute; right:-44px; top:-44px; width:150px; height:150px; border-radius:50%; opacity:.5; filter:blur(30px); pointer-events:none; background:radial-gradient(circle, rgba(167,139,250,.45) 0%, transparent 70%); animation:blyxIrisBreath 11s ease-in-out infinite; }
.pipe .pico { position:relative; z-index:1; width:48px; height:48px; margin-bottom:16px; border-radius:13px; background:rgba(167,139,250,.14); border:1px solid rgba(167,139,250,.3); display:grid; place-items:center; }
.pipe .pico svg { width:24px; height:24px; stroke:var(--blyx-iris); fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 14px rgba(167,139,250,.6)); }
.pipe h3 { position:relative; z-index:1; font-size:18px; font-weight:700; margin-bottom:6px; }
.pipe p { position:relative; z-index:1; font-size:14px; color:rgba(255,255,255,.7); line-height:1.5; }
.pipe-ar { color:var(--blyx-iris-text); font-size:22px; align-self:center; }

/* ---------- Pourquoi Blyx (2 cartes contrastées) ---------- */
.why2 { display:grid; grid-template-columns:1fr 1fr; gap:20px; position:relative; z-index:1; }
.why2-col { border-radius:var(--radius-card); padding:32px 30px; }
.why2-col.bad { background:var(--blyx-white); border:1px solid var(--blyx-line); }
.why2-col.good { position:relative; overflow:hidden; background:var(--blyx-ink); color:#fff; box-shadow:0 30px 70px -30px rgba(80,60,180,.6); }
.why2-col.good::before { content:""; position:absolute; right:-50px; top:-50px; width:210px; height:210px; border-radius:50%; filter:blur(38px); opacity:.5; pointer-events:none; background:radial-gradient(circle, rgba(167,139,250,.5) 0%, transparent 70%); animation:blyxIrisBreath 13s ease-in-out infinite; }
.why2-tag { position:relative; z-index:1; display:inline-block; font:700 11px var(--font-sans); letter-spacing:.1em; text-transform:uppercase; padding:5px 12px; border-radius:999px; margin-bottom:22px; }
.why2-col.bad .why2-tag { color:var(--blyx-mid); background:var(--blyx-mist); }
.why2-col.good .why2-tag { color:var(--blyx-iris); background:rgba(167,139,250,.16); border:1px solid rgba(167,139,250,.3); }
.why2-col ul { position:relative; z-index:1; list-style:none; display:flex; flex-direction:column; gap:15px; }
.why2-col li { display:flex; gap:13px; align-items:flex-start; font-size:15px; line-height:1.4; }
.why2-col.bad li { color:var(--blyx-mid); }
.why2-col.good li { color:rgba(255,255,255,.92); }
.why2-col.good li b { color:#fff; font-weight:700; }
.why2-col .ic { flex:0 0 auto; width:26px; height:26px; border-radius:8px; display:grid; place-items:center; }
.why2-col.bad .ic { background:rgba(229,72,77,.10); color:#e5484d; font:700 12px var(--font-sans); }
.why2-col.good .ic { background:rgba(74,222,128,.14); border:1px solid rgba(74,222,128,.32); }
.why2-col.good .ic svg { width:15px; height:15px; stroke:#4ade80; fill:none; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:760px){ .why2{ grid-template-columns:1fr; } .why2-col.bad{ order:2; } .why2-col.good{ order:1; } }

/* ---------- Simulateur ---------- */
.trust-band { display:flex; align-items:flex-start; gap:14px; padding:18px 22px; margin-bottom:28px; border-radius:16px; background:rgba(167,139,250,.08); border:1px solid rgba(167,139,250,.25); position:relative; z-index:1; }
.trust-band .tb-ico { flex:0 0 auto; width:40px; height:40px; border-radius:11px; display:grid; place-items:center; background:rgba(167,139,250,.16); color:var(--blyx-iris-text); }
.trust-band .tb-ico svg { width:21px; height:21px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.trust-band p { font-size:15px; color:var(--blyx-graphite); line-height:1.5; }
.trust-band b { color:var(--blyx-ink); font-weight:700; }
.sim { display:grid; grid-template-columns:1fr 1.15fr; gap:36px; align-items:start; position:relative; z-index:1; }
.sim-controls { background:var(--blyx-white); border:1px solid var(--blyx-line); border-radius:var(--radius-card); padding:30px; }
.sim-ctl { margin-bottom:22px; } .sim-ctl:last-child { margin-bottom:0; }
.sim-lab { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:11px; }
.sim-lab .name { font-size:13.5px; font-weight:500; color:var(--blyx-graphite); }
.sim-lab .val { font:700 19px var(--font-sans); color:var(--blyx-iris-text); letter-spacing:-0.02em; }
input[type=range] { -webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:999px; background:var(--blyx-line); outline:none; }
input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:22px; height:22px; border-radius:50%; background:var(--blyx-ink); cursor:pointer; border:3px solid #fff; box-shadow:0 2px 8px rgba(167,139,250,.5); transition:transform .15s ease; }
input[type=range]::-webkit-slider-thumb:hover { transform:scale(1.15); }
input[type=range]::-moz-range-thumb { width:22px; height:22px; border-radius:50%; background:var(--blyx-ink); cursor:pointer; border:3px solid #fff; box-shadow:0 2px 8px rgba(167,139,250,.5); }
.sim-res { position:relative; overflow:hidden; color:#fff; border-radius:var(--radius-card); padding:36px 38px; background:#141019; }
.sim-res::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:radial-gradient(130% 120% at 82% 6%, rgba(167,139,250,.22) 0%, rgba(167,139,250,.05) 38%, transparent 62%); }
.sim-res::after { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:radial-gradient(90% 80% at 12% 100%, rgba(167,139,250,.1) 0%, transparent 55%); }
.sim-res .row { position:relative; z-index:1; margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.1); }
.sim-res .row:last-child { margin-bottom:0; padding-bottom:0; border-bottom:none; }
.sim-res .rl { font-size:11px; color:rgba(255,255,255,.5); letter-spacing:.1em; text-transform:uppercase; margin-bottom:7px; font-weight:500; }
.sim-res .num { font-size:34px; font-weight:700; letter-spacing:-0.03em; line-height:1; color:#fff; }
.sim-res .sl { display:flex; align-items:baseline; gap:13px; }
.sim-res .p { width:26px; height:26px; border-radius:8px; background:rgba(167,139,250,.18); color:var(--blyx-iris); font:700 12px var(--font-sans); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.sim-res .row.month .num { font-size:64px; color:var(--blyx-iris); text-shadow:0 0 40px rgba(167,139,250,.5); }
.sim-res .row.month .num .u { font-size:30px; color:rgba(255,255,255,.55); margin-left:4px; text-shadow:none; }
.sim-res .row.month .rl { color:rgba(167,139,250,.85); }
.sim-res .formula { font-size:11.5px; color:rgba(255,255,255,.4); margin-top:6px; }
.sim-disc { margin-top:24px; padding:16px 20px; background:rgba(167,139,250,.08); border-left:3px solid var(--blyx-iris); border-radius:0 8px 8px 0; font-size:14px; color:var(--blyx-graphite); line-height:1.5; position:relative; z-index:1; }
.sim-disc b { color:var(--blyx-ink); }

/* ---------- Aller plus loin (cartes empilées) ---------- */
.evo-wrap { display:grid; gap:36px; }
@media (min-width:1024px){ .evo-wrap{ grid-template-columns:0.92fr 1.08fr; gap:60px; align-items:start; } }
.evo-head { position:relative; z-index:1; }
@media (min-width:1024px){ .evo-head{ position:sticky; top:150px; } }
.evo-head .lede { font-size:1rem; max-width:none; margin-bottom:0; color:var(--blyx-graphite); }
.evo-head .lede b { color:var(--blyx-ink); }
.evo-stack { position:relative; z-index:1; display:flex; flex-direction:column; gap:24px; }
.evo-card { position:sticky; top:calc(86px + var(--i,0) * 14px); overflow:hidden; background:var(--blyx-ink); color:#fff; border-radius:var(--radius-card); padding:32px 34px; min-height:230px; box-shadow:0 30px 70px -30px rgba(80,60,180,.6); }
@media (min-width:1024px){ .evo-card{ top:calc(150px + var(--i,0) * 24px); } }
.evo-card::before { content:""; position:absolute; right:-50px; top:-50px; width:180px; height:180px; border-radius:50%; filter:blur(34px); opacity:.5; pointer-events:none; background:radial-gradient(circle, rgba(167,139,250,.5) 0%, transparent 70%); animation:blyxIrisBreath 12s ease-in-out infinite; }
.evo-card .evo-lvl { position:relative; z-index:1; display:inline-block; font:700 11px var(--font-sans); letter-spacing:.1em; text-transform:uppercase; color:var(--blyx-iris); background:rgba(167,139,250,.16); border:1px solid rgba(167,139,250,.3); padding:5px 12px; border-radius:999px; margin-bottom:16px; }
.evo-card h3 { position:relative; z-index:1; font-size:28px; font-weight:700; letter-spacing:-0.02em; margin-bottom:8px; }
.evo-card .evo-pay { position:relative; z-index:1; font-size:15px; font-weight:700; margin-bottom:10px; background:linear-gradient(90deg,#a78bfa,#fff); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.evo-card .evo-txt { position:relative; z-index:1; font-size:14.5px; color:rgba(255,255,255,.7); line-height:1.5; }

/* ---------- Parcours ---------- */
.steps { display:grid; gap:14px; position:relative; z-index:1; }
.stp { display:grid; grid-template-columns:54px 1fr; gap:20px; align-items:center; background:var(--blyx-white); border:1px solid var(--blyx-line); border-radius:18px; padding:20px 24px; transition:transform .3s ease, box-shadow .3s ease; }
.stp:hover { transform:translateX(4px); box-shadow:0 14px 34px -18px rgba(167,139,250,.4); }
.stp .n { width:54px; height:54px; border-radius:14px; border:2px solid rgba(167,139,250,.6); color:var(--blyx-iris-text); display:grid; place-items:center; font:700 21px var(--font-sans); }
.stp.first .n { background:var(--blyx-ink); color:#fff; border-color:var(--blyx-ink); box-shadow:0 0 0 5px rgba(167,139,250,.18); }
.stp h3 { font-size:18px; font-weight:700; letter-spacing:-0.01em; margin-bottom:3px; }
.stp p { font-size:14.5px; color:var(--blyx-graphite); line-height:1.45; }
.stp p b { color:var(--blyx-ink); font-weight:700; }

/* ---------- Postuler (conversion) ---------- */
.conv { padding-block:5rem; }
.conv-card { position:relative; overflow:hidden; background:var(--blyx-ink); color:#fff; border-radius:40px; padding:48px 28px; }
@media (min-width:768px){ .conv-card{ padding:64px 56px; } }
.conv-halo { position:absolute; border-radius:50%; filter:blur(60px); pointer-events:none; z-index:0; background:radial-gradient(circle, rgba(167,139,250,.5) 0%, transparent 70%); }
.conv-halo.a { right:-15%; top:-10%; width:640px; height:640px; opacity:.22; animation:blyxIrisBreath 18s ease-in-out infinite; }
.conv-halo.b { left:-10%; bottom:-20%; width:480px; height:480px; opacity:.18; animation:blyxIrisBreath 22s ease-in-out infinite reverse; }
.conv-inner { position:relative; z-index:1; display:grid; gap:36px; align-items:start; }
@media (min-width:1024px){ .conv-inner{ grid-template-columns:1fr 1fr; gap:48px; } }
.conv-left h2 { color:#fff; }
.conv-pills { list-style:none; display:grid; gap:10px; margin-top:24px; }
@media (min-width:480px){ .conv-pills{ grid-template-columns:1fr 1fr; } }
.conv-pills li { display:flex; align-items:center; gap:11px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.06); border-radius:9999px; padding:11px 18px; font-size:14.5px; color:rgba(255,255,255,.9); backdrop-filter:blur(4px); transition:all .3s ease; }
.conv-pills li:hover { transform:translateX(2px); border-color:rgba(167,139,250,.4); background:rgba(255,255,255,.1); box-shadow:0 8px 24px rgba(167,139,250,.18); }
.conv-pills .ck { flex:0 0 auto; color:var(--blyx-iris); font-weight:700; }
.cal-box { position:relative; background:#fff; border-radius:24px; overflow:hidden; box-shadow:0 30px 80px rgba(167,139,250,.18); }
.tally-slot { width:100%; min-height:520px; border:0; background:#fff; display:block; }

/* ---------- FAQ ---------- */
.faq-grid { position:relative; z-index:1; display:grid; gap:0 48px; }
@media (min-width:768px){ .faq-grid{ grid-template-columns:1fr 1fr; } }
.faq-item { border-bottom:1px solid var(--blyx-line); }
.faq-q { display:flex; align-items:center; gap:14px; width:100%; text-align:left; background:transparent; border:none; cursor:pointer; padding:22px 4px; font:inherit; }
.faq-q:hover { padding-left:8px; }
.faq-num { font:700 22px var(--font-sans); color:rgba(167,139,250,.4); font-variant-numeric:tabular-nums; transition:color .3s; }
.faq-item.open .faq-num { color:var(--blyx-iris-text); }
.faq-qt { flex:1; font-size:16px; font-weight:700; color:var(--blyx-ink); transition:color .3s; }
.faq-item.open .faq-qt { color:var(--blyx-iris-text); }
.faq-plus { font-size:22px; color:var(--blyx-mid); transition:transform .3s, color .3s; }
.faq-item.open .faq-plus { transform:rotate(45deg); color:var(--blyx-iris-text); }
.faq-a { overflow:hidden; height:0; transition:height .3s ease; }
.faq-a p { padding:0 4px 24px 50px; font-size:14.5px; color:var(--blyx-graphite); line-height:1.65; }

/* ---------- CTA final (bouton façon site) ---------- */
.final { text-align:center; }
.final h2 { max-width:20ch; margin:0 auto 24px; }
.final .lede { margin-inline:auto; margin-bottom:28px; }
.final-btn { position:relative; display:inline-block; margin-top:6px; }
.final-scribble { position:absolute; right:-46px; top:-30px; width:54px; height:54px; color:var(--blyx-ink); pointer-events:none; }
@media (max-width:600px){ .final-scribble{ display:none; } }
.final-scribble path { stroke:currentColor; stroke-width:3.5; stroke-linecap:round; fill:none; }
.cta-final { display:inline-flex; align-items:center; gap:12px; height:72px; min-width:300px; justify-content:center; border-radius:22px; border:3px solid var(--blyx-ink); background:var(--blyx-white); padding:0 40px; font:800 16px var(--font-sans); text-transform:uppercase; letter-spacing:-0.01em; color:var(--blyx-ink); text-decoration:none; box-shadow:8px 8px 0 var(--blyx-iris); transition:box-shadow .3s ease-out, transform .1s ease-out; }
.cta-final:hover { box-shadow:12px 12px 0 var(--blyx-iris); }
.cta-final:active { transform:translate(2px,2px); box-shadow:6px 6px 0 var(--blyx-iris); }
.cta-final .arr { transition:transform .3s ease-out; }
.cta-final:hover .arr { transform:translateX(4px); }
@media (max-width:600px){ .cta-final{ min-width:0; width:100%; height:64px; padding:0 24px; font-size:15px; } }
.final-note { margin-top:26px; font-size:14px; color:var(--blyx-graphite); }

/* ---------- Footer + BLYX massif (massif EN HAUT) ---------- */
.foot { position:relative; overflow:hidden; background:#000; color:#fff; padding-block:56px 64px; }
@media (min-width:768px){ .foot{ padding-block:72px 96px; } }
.foot-grid-overlay { position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.14; background-image:linear-gradient(rgba(167,139,250,1) 1px, transparent 1px), linear-gradient(90deg, rgba(167,139,250,1) 1px, transparent 1px); background-size:72px 72px; background-position:center top; -webkit-mask-image:radial-gradient(circle at 50% 35%, #000 55%, transparent 100%); mask-image:radial-gradient(circle at 50% 35%, #000 55%, transparent 100%); }
.foot-glow { position:absolute; inset:0; z-index:0; pointer-events:none; background:radial-gradient(ellipse 75% 50% at 50% 18%, rgba(167,139,250,.16) 0%, rgba(167,139,250,.04) 45%, transparent 70%); }
.blyx-massive { position:relative; z-index:1; width:100%; overflow:hidden; white-space:nowrap; text-align:center; user-select:none; font-family:var(--font-sans); font-weight:800; line-height:1; letter-spacing:-.05em; padding-inline:16px; font-size:clamp(96px,34vw,210px); filter:drop-shadow(0 24px 50px rgba(255,255,255,.12)) drop-shadow(0 0 80px rgba(167,139,250,.1)); }
@media (min-width:768px){ .blyx-massive{ font-size:clamp(96px,26vw,480px); } }
.blyx-massive span { display:inline-block; color:transparent; transform:translateY(108%); background-image:linear-gradient(90deg,#fff 0%,#e0e0e5 8%,#fff 16%,#c8c8d0 24%,#fff 32%,#b8b8c0 40%,#fff 48%,#d0d0d8 56%,#fff 64%,#c0c0c8 72%,#fff 80%,#e0e0e5 88%,#fff 100%); background-size:250% 100%; -webkit-background-clip:text; background-clip:text; animation:blyxChromeShift 12s linear infinite; will-change:background-position, transform; }
.blyx-massive span:nth-child(1){ animation-delay:0s; } .blyx-massive span:nth-child(2){ animation-delay:-2.6s; } .blyx-massive span:nth-child(3){ animation-delay:-5.2s; } .blyx-massive span:nth-child(4){ animation-delay:-7.8s; }
.foot .container { position:relative; z-index:1; }
.foot-sep { border:0; border-top:1px solid rgba(255,255,255,.1); margin-block:40px 48px; }
.foot-top { display:grid; gap:48px; }
@media (min-width:1024px){ .foot-top{ grid-template-columns:repeat(12,1fr); gap:64px; } }
.foot-brand { display:flex; flex-direction:column; }
@media (min-width:1024px){ .foot-brand{ grid-column:span 4; } }
.foot-brand .logo-row { color:#fff; } .foot-brand .wordmark { color:#fff; }
.foot-tag { margin-top:24px; max-width:280px; font-size:1rem; font-style:italic; line-height:1.5; color:rgba(255,255,255,.7); }
.foot-cols { display:grid; grid-template-columns:repeat(2,1fr); gap:40px; }
@media (min-width:640px){ .foot-cols{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1024px){ .foot-cols{ grid-column:span 8; } }
.foot-col h4 { margin-bottom:20px; font:500 12px var(--font-sans); letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.7); }
.foot-col ul { list-style:none; display:flex; flex-direction:column; gap:14px; }
.foot-col a { font-size:15px; color:#fff; text-decoration:none; transition:color .2s; }
.foot-col a:hover { color:var(--blyx-iris); text-decoration:underline; }
.foot-legal { margin-top:48px; border-top:1px solid rgba(255,255,255,.1); padding-top:32px; font-size:14px; color:rgba(255,255,255,.7); }
.foot-legal a { color:rgba(255,255,255,.85); text-decoration:underline; text-underline-offset:2px; transition:color .2s; }
.foot-legal a:hover { color:var(--blyx-iris); }

/* ---------- CTA flottant + pop-up + chatbot ---------- */
.float-cta { position:fixed; right:22px; bottom:22px; z-index:55; animation:floaty 4s ease-in-out infinite; }
.float-cta:hover { animation-play-state:paused; }
.float-cta.hidden { opacity:0; pointer-events:none; transform:scale(.9); transition:opacity .25s, transform .25s; }
.chatbox { position:fixed; right:22px; bottom:22px; z-index:80; display:flex; flex-direction:column; width:min(384px,calc(100vw - 32px)); max-height:min(660px,80vh); background:var(--blyx-ink); color:#fff; border-radius:22px; overflow:hidden; transform-origin:bottom right; transform:translateY(20px) scale(.94); opacity:0; pointer-events:none; box-shadow:0 30px 70px -10px rgba(0,0,0,.55), 0 0 0 1px rgba(167,139,250,.28); transition:opacity .3s var(--ease-out), transform .3s var(--ease-out); }
.chatbox.open { transform:none; opacity:1; pointer-events:auto; }
.chat-head { display:flex; align-items:center; justify-content:space-between; padding:16px 18px; border-bottom:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.02); }
.chat-id { display:flex; align-items:center; gap:9px; font-size:15px; font-weight:700; }
.chat-close { background:none; border:none; color:rgba(255,255,255,.6); font-size:24px; cursor:pointer; line-height:1; }
.chat-close:hover { color:#fff; }
.chat-body { padding:18px; overflow-y:auto; }
.chat-lede { font-size:13.5px; color:rgba(255,255,255,.72); margin-bottom:14px; line-height:1.5; }
.chat-body .cal-box { box-shadow:none; }

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .pipeline { grid-template-columns:1fr; }
  .pipe-ar { transform:rotate(90deg); margin:2px auto; }
  .sim { grid-template-columns:1fr; }
}
@media (max-width:600px){
  .float-cta { right:14px; bottom:14px; }
  .chatbox { right:14px; bottom:14px; }
  .nav-cta { display:none; }
  /* mobile : contenu centré (pas de gros trou en bas), boutons + trust groupés */
  .hero-card { padding-block:84px 72px; }
  .hero-actions { margin-top:44px; }
  .trust { margin-top:32px; }
}

/* ---------- Keyframes ---------- */
@keyframes blyxIrisBreath { 0%,100%{opacity:.55;transform:scale(1)} 50%{opacity:.95;transform:scale(1.06)} }
@keyframes blyxIrisStreak { 0%{transform:translateX(-100%);opacity:0} 20%,80%{opacity:1} 100%{transform:translateX(100%);opacity:0} }
@keyframes blyxIrisFloat { 0%,100%{transform:translate3d(0,0,0)} 33%{transform:translate3d(8px,-14px,0)} 66%{transform:translate3d(-6px,10px,0)} }
@keyframes blyxPillSweep { 0%{transform:translateX(-120%)} 60%{transform:translateX(380%)} 100%{transform:translateX(380%)} }
@keyframes blyxChromeShift { from{background-position:0% 50%} to{background-position:200% 50%} }
@keyframes ping { 75%,100%{transform:scale(2);opacity:0} }
@keyframes blyxFlipX { from{transform:rotateX(0)} to{transform:rotateX(360deg)} }
@keyframes blyxAvatarBob { 0%,100%{translate:0 0} 50%{translate:0 -4px} }

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal, .h-rev, .hero-title .word, .fcard { opacity:1 !important; transform:none !important; }
  .blyx-massive span { transform:none !important; }
  .uline svg path, .hero-title .accent svg path { stroke-dashoffset:0 !important; }
  .fcards { display:none; }
  .evo-card, .evo-head { position:relative !important; top:auto !important; }
  /* canvas inactif sans motion → grille de repos en CSS (fallback) */
  .hero { background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px); background-size:58px 58px; }
  .logo-chip { opacity:1 !important; scale:1 !important; }
  .flip-amount { animation:none !important; transform:none !important; }
  .hero-veil { opacity:0 !important; }
}
