/* ━━ TOKENS — langage "Encre jade" du deck ━━ */
:root {
  --ground:  #0B1220;
  --raise:   #101929;
  --raise2:  #0E1520;
  --jade:    #3D7BFF;
  --jade-d:  #2F62E6;
  --jade-l:  #6699FF;
  --jade-i:  #1E50C8;
  --clair:   #F4F3F0;
  --clair-2: #9AA0AD;
  --clair-3: #6A6F7B;
  --cream:   #FBF8F2;
  --line:    #1E2330;
  --line-s:  rgba(255,255,255,.07);
  --display: "Inter Tight","Liberation Sans",Arial,sans-serif;
  --body:    "Inter","Liberation Sans",Arial,sans-serif;
  --h: 62px;
}
*,::before,::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;overflow-x:hidden;background:var(--ground)}
body{
  background:var(--ground) !important;color:var(--clair) !important;
  font-family:var(--body);font-weight:400;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
/* Fraunces italic — même classe que dans le deck */
.u{font-family:"Fraunces",Georgia,serif;font-style:italic;font-weight:500;letter-spacing:0;color:var(--jade)}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
::selection{background:var(--jade);color:#fff}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ━━ MESH BLOBS — identiques au deck ━━ */
.mesh{position:absolute;filter:blur(58px);pointer-events:none}
.m-jade{background:
  radial-gradient(44% 54% at 26% 28%,#5B9BFF,transparent 70%),
  radial-gradient(46% 56% at 80% 26%,#2F6BFF,transparent 72%),
  radial-gradient(52% 62% at 60% 84%,#123A9E,transparent 72%),
  radial-gradient(40% 50% at 16% 84%,#A9C8FF,transparent 70%);
  background-color:#CFE0FF}
.m-teal{background:
  radial-gradient(44% 54% at 28% 26%,#6FB0FF,transparent 70%),
  radial-gradient(46% 56% at 80% 30%,#2F6BFF,transparent 72%),
  radial-gradient(52% 60% at 58% 84%,#0E2E7A,transparent 72%),
  radial-gradient(40% 50% at 18% 82%,#9CC2FF,transparent 70%);
  background-color:#C6DAFF}
.m-mint{background:
  radial-gradient(44% 54% at 26% 28%,#89BEFF,transparent 70%),
  radial-gradient(46% 56% at 80% 26%,#3D7BFF,transparent 72%),
  radial-gradient(52% 62% at 60% 82%,#14409A,transparent 72%),
  radial-gradient(40% 50% at 16% 84%,#B7D3FF,transparent 70%);
  background-color:#D6E4FF}

/* ━━ NAV ━━ */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:var(--h);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 48px;
  background:rgba(11,18,32,.92);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
  transition:border-color .3s;
}
.logo{
  font-family:var(--display);font-weight:800;font-size:17px;
  letter-spacing:-.02em;color:var(--clair);cursor:pointer;
}
.logo .u{font-size:17px}

.nl{list-style:none;display:flex;gap:0}
.nl a{font-size:13px;font-weight:500;color:var(--clair-2);padding:7px 14px;cursor:pointer;transition:color .15s}
.nl a:hover,.nl a.on{color:var(--clair)}

.nav-cta{
  font-family:var(--display);font-size:13px;font-weight:700;
  color:var(--ground);background:var(--jade);
  padding:9px 22px;border-radius:6px;
  transition:background .15s;letter-spacing:-.01em;
}
.nav-cta:hover{background:var(--jade-d)}

.burg{display:none;flex-direction:column;gap:5px;padding:6px}
.burg s{display:block;width:20px;height:1.5px;background:var(--clair);transition:transform .2s,opacity .15s}
.burg.open s:first-child{transform:translateY(6.5px) rotate(45deg)}
.burg.open s:nth-child(2){opacity:0}
.burg.open s:last-child{transform:translateY(-6.5px) rotate(-45deg)}

.mob{
  display:none;position:fixed;inset:var(--h) 0 0;z-index:90;
  background:var(--ground);flex-direction:column;padding:40px 48px;gap:0;
  border-top:1px solid var(--line);
}
.mob.open{display:flex}
.mob a{
  font-family:var(--display);font-size:clamp(32px,7vw,52px);font-weight:800;
  color:var(--clair-3);padding:14px 0;border-bottom:1px solid var(--line);
  cursor:pointer;letter-spacing:-.02em;transition:color .15s;
}
.mob a:hover{color:var(--clair)}
.mob a:last-of-type{border:none}
.mob-cta{margin-top:28px;background:var(--jade);color:var(--ground);font-family:var(--display);font-size:14px;font-weight:700;padding:14px;border-radius:6px;width:100%;text-align:center}

/* ━━ PAGES ━━ */
.pg{display:none}.pg.on{display:block}

/* ══════════════════════════════════
   EYEBROW — copie du deck
══════════════════════════════════ */
.eyebrow{
  font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
  color:var(--jade);display:inline-flex;align-items:center;gap:12px;
}
.eyebrow::before{content:'';width:24px;height:2px;background:var(--jade)}

/* ══════════════════════════════════
   HEADLINE — Inter Tight 800 + .u Fraunces
══════════════════════════════════ */
.headline{
  font-family:var(--display);font-weight:800;letter-spacing:-.03em;
  line-height:.98;color:var(--clair);
}

/* ════════════════════════════════
   HERO
════════════════════════════════ */
.hero{
  position:relative;overflow:hidden;
  padding:calc(var(--h) + 72px) 48px 0;
  display:flex;flex-direction:column;
}
/* Mesh blob — droite comme dans la cover du deck */
.hero-mesh{
  position:absolute;right:-10%;top:-10%;
  width:60%;height:80%;
  border-radius:50%;
  opacity:.18;
  animation:heroDrift 34s ease-in-out infinite;
  will-change:transform;
}
@keyframes heroDrift{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(-2%,2%) scale(1.06)}
}
/* Décoration glyph éditorial */
.hero-glyph{
  position:absolute;right:-20px;bottom:-40px;
  font-family:"Fraunces",serif;font-style:italic;font-weight:500;
  font-size:clamp(200px,28vw,380px);line-height:1;
  color:transparent;
  -webkit-text-stroke:1.5px rgba(61,123,255,.12);
  user-select:none;pointer-events:none;z-index:0;
}
.hero-inner{position:relative;z-index:1;max-width:820px}
.hero-eyebrow{margin-bottom:28px}
.hero-h1{
  font-family:var(--display);font-weight:800;
  font-size:clamp(48px,7.5vw,108px);
  line-height:.95;letter-spacing:-.03em;color:var(--clair);
  margin-top:16px;
}
.hero-h1 .u{font-size:inherit;background:linear-gradient(135deg,var(--jade-l),var(--jade));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero-desc{
  font-size:clamp(15px,1.5vw,18px);color:var(--clair-2);
  line-height:1.55;max-width:520px;margin-top:20px;
  font-weight:400;
}
.hero-desc strong{color:var(--clair);font-weight:500}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}

/* KPI strip — identique au .kpi .row du deck */
.hero-kpis{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  position:relative;z-index:1;
  margin-top:56px;
}
.hk{padding:26px 24px 20px 24px;border-right:1px solid var(--line);transition:transform .25s ease,background .25s ease}
.hk:first-child{padding-left:0}
.hk:last-child{border-right:none}
.hk:hover{transform:translateY(-3px);background:rgba(61,123,255,.05)}
.hk-v{
  font-family:var(--display);font-weight:800;
  font-size:clamp(28px,3.5vw,48px);line-height:1;
  min-height:1em;display:flex;align-items:flex-end;
  letter-spacing:-.03em;color:var(--clair);
  font-variant-numeric:tabular-nums;
}
.hk-v small{font-size:.55em;color:var(--jade)}
.hk-l{margin-top:12px;font-size:12px;color:var(--clair-2);text-transform:uppercase;letter-spacing:.08em}
.hk-s{margin-top:4px;font-size:12px;color:rgba(154,160,173,.8)}

/* ━━ SECTIONS PARTAGÉES ━━ */
.S{padding:88px 48px;position:relative;overflow:hidden}
.S.alt{background:var(--raise)}
.S.lt{background:var(--cream);color:var(--ground)}
.S.lt .eyebrow{color:#1E50C8}
.S.lt .eyebrow::before{background:#1E50C8}
.S.lt .headline{color:#0B1220}
.S.lt .headline .u{color:var(--jade-i)}
.S.lt .lead{color:#5A6070}
.S.lt .s-p{color:#6A7080}
.S.lt .vs-cell{color:#5A6070}
.S.lt .vs-cell:first-child{color:#0B1220}
.S.lt .vs-cell.hl{color:#0B1220}
.S.lt .vs-head .vs-cell.hl{color:var(--jade-i)}
.inner{max-width:1100px;margin:0 auto}

.s-p{font-size:16px;color:var(--clair-2);line-height:1.72;max-width:440px;margin-top:14px;font-weight:400}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}

/* ━━ GRILLE À DIVIDERS — pour qui, services, blog ━━ */
.row-list{margin-top:48px}
.row-item{
  display:grid;grid-template-columns:56px 1fr;
  gap:24px;padding:26px 20px;margin:0 -20px;border-bottom:1px solid var(--line);align-items:start;
  border-radius:10px;transition:background .2s ease,transform .2s ease;
}
.row-item:hover{background:rgba(61,123,255,.05);transform:translateX(3px)}
.row-item:first-child{border-top:1px solid var(--line)}
.ri-n{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.02em;color:var(--jade);padding-top:2px}
.ri-h{font-family:var(--display);font-size:15px;font-weight:600;color:var(--clair);margin-bottom:4px;letter-spacing:-.01em}
.ri-b{font-size:13px;font-weight:400;color:var(--clair-2);line-height:1.65}
.S.lt .ri-h{color:#0B1220}
.S.lt .ri-b{color:#6A7080}

/* ━━ CHIFFRES MARCHÉ — grand format KPI slide ━━ */
.mkt-list{margin-top:52px}
.mkt-item{
  display:grid;grid-template-columns:48px 1fr 1fr;
  gap:40px;padding:36px 20px;margin:0 -20px;
  border-bottom:1px solid var(--line-s);align-items:center;
  border-radius:10px;transition:background .25s ease;
}
.mkt-item:hover{background:rgba(61,123,255,.06)}
.mkt-item:first-child{border-top:1px solid var(--line-s)}
.mkt-idx{font-family:var(--display);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--clair-3)}
.mkt-num{
  font-family:var(--display);font-weight:800;
  font-size:clamp(52px,8vw,96px);letter-spacing:-.04em;line-height:.9;
  color:var(--clair);font-variant-numeric:tabular-nums;
}
.mkt-txt{font-size:15px;color:var(--clair-2);line-height:1.6;max-width:340px}
.mkt-src{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--jade);margin-top:8px}

/* ━━ VS — deux colonnes texte ━━ */
.vs-table{margin-top:52px}
.vs-row{
  display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;
  padding:15px 0;border-bottom:1px solid var(--line);gap:20px;align-items:center;
}
.vs-head{border-top:1px solid var(--line)}
.vs-head .vs-cell{font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--clair-3);padding-bottom:2px}
.vs-head .vs-cell.hl{color:var(--jade)}
.vs-cell{font-size:13px;font-weight:400;color:var(--clair-2)}
.vs-cell:first-child{font-weight:500;color:var(--clair)}
.vs-cell.hl{font-weight:600;color:var(--clair)}
.ok{color:var(--jade)}
.no{color:var(--clair-3)}

/* ━━ SERVICES — cards avec mesh, comme slide cards ━━ */
.svc-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:20px;margin-top:48px;
}
.svc-grid-3{grid-template-columns:repeat(3,1fr)}
.svc-grid-3 .svc-card{min-height:280px}
.svc-grid .svc-card:nth-child(5){grid-column:1/-1;min-height:200px}
.svc-card{
  position:relative;border-radius:20px;overflow:hidden;
  border:1px solid var(--line);
  padding:0;
  transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s ease,border-color .35s ease;
  cursor:pointer;
  display:flex;flex-direction:column;justify-content:flex-end;
  min-height:260px;
  background:var(--raise);
}
.svc-card:hover{border-color:rgba(61,123,255,.45);transform:translateY(-5px);box-shadow:0 24px 56px rgba(61,123,255,.16)}
.svc-card .svc-mesh{
  position:absolute;inset:-35%;
  opacity:.55;
  transition:opacity .4s ease;
  animation:meshDrift 26s ease-in-out infinite;
  will-change:transform;
}
.svc-card:nth-of-type(2n) .svc-mesh{animation-duration:31s;animation-direction:reverse}
.svc-card:hover .svc-mesh{opacity:.72}
.svc-tag-top{
  position:absolute;top:20px;left:20px;
  font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ground);background:rgba(251,248,242,.92);
  padding:4px 11px;border-radius:999px;z-index:3;
  box-shadow:0 2px 10px rgba(0,0,0,.15);
}
.svc-pn{
  margin:16px;position:relative;z-index:3;
  background:linear-gradient(165deg,rgba(251,248,242,.97),rgba(245,241,232,.95));
  border-radius:14px;
  padding:20px 22px;
  box-shadow:0 8px 30px rgba(0,0,0,.18);
  transition:transform .35s ease;
}
.svc-card:hover .svc-pn{transform:translateY(-2px)}
.svc-n{font-family:var(--display);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--jade-i);margin-bottom:6px}
.svc-h{font-family:var(--display);font-weight:800;font-size:clamp(17px,2vw,22px);letter-spacing:-.02em;color:#14131A;margin-bottom:8px;line-height:1.12}
.svc-d{font-size:13px;font-weight:400;color:#565B66;line-height:1.65;margin-bottom:14px}
.svc-chips{display:flex;gap:6px;flex-wrap:wrap}
.svc-chip{font-size:10px;font-weight:500;border:1px solid rgba(20,19,26,.14);color:#565B66;padding:3px 9px;border-radius:4px;transition:all .2s;background:rgba(255,255,255,.5)}
.svc-card:hover .svc-chip{border-color:var(--jade-i);color:var(--jade-i)}
@keyframes meshDrift{
  0%,100%{transform:translate(0,0) scale(1) rotate(0deg)}
  50%{transform:translate(3%,-3%) scale(1.08) rotate(4deg)}
}

/* ━━ PROCESS — phases slide ━━ */
.proc-row{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  margin-top:52px;
}
.proc-p{padding:28px 28px 20px 28px;border-right:1px solid var(--line)}
.proc-p:first-child{padding-left:0}
.proc-p:last-child{border-right:none}
.proc-ph{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--jade);font-weight:700;margin-bottom:10px}
.proc-h{font-family:var(--display);font-weight:700;font-size:clamp(18px,2vw,22px);letter-spacing:-.01em;color:var(--clair);margin-bottom:8px}
.proc-d{font-size:13px;line-height:1.6;color:var(--clair-2);max-width:26ch}
.proc-kpi{margin-top:18px;font-family:var(--display);font-size:24px;font-weight:800;color:var(--jade);letter-spacing:-.02em}
.proc-kl{font-size:11px;font-weight:500;color:var(--clair-3);margin-top:3px;letter-spacing:.05em;text-transform:uppercase}

/* ━━ MODÈLE — punch slide ━━ */
.model-list{margin-top:52px}
.model-item{
  display:grid;grid-template-columns:56px 1fr;
  gap:28px;padding:30px 20px;margin:0 -20px;border-bottom:1px solid var(--line);align-items:start;
  border-radius:10px;transition:background .25s ease;
}
.model-item:hover{background:rgba(61,123,255,.06)}
.model-item:first-child{border-top:1px solid var(--line)}
.mi-n{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.02em;color:rgba(61,123,255,.3);padding-top:3px}
.mi-badge{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--jade);margin-bottom:7px}
.mi-h{font-family:var(--display);font-size:17px;font-weight:700;color:var(--clair);letter-spacing:-.01em;margin-bottom:6px}
.mi-b{font-size:14px;font-weight:400;color:var(--clair-2);line-height:1.72}

/* ━━ MODÈLE — diagramme en couches façon Auxia ━━ */
.layer-diag{margin-top:52px}
.layer-item{
  background:#fff;border:1px solid rgba(20,19,26,.08);border-radius:16px;
  padding:26px 32px;margin-bottom:14px;
  display:grid;grid-template-columns:52px 1fr auto;gap:24px;align-items:center;
  box-shadow:0 10px 28px rgba(20,19,26,.07);
  transition:transform .25s ease,box-shadow .25s ease;
}
.layer-item:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(20,19,26,.1)}
.layer-item:last-child{margin-bottom:0}
.li-idx{font-family:var(--display);font-weight:800;font-size:22px;color:var(--jade-i)}
.li-badge{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--jade-i);background:rgba(27,79,138,.08);padding:5px 12px;border-radius:999px;width:fit-content;margin-bottom:8px}
.li-h{font-family:var(--display);font-size:18px;font-weight:800;color:#14131A;letter-spacing:-.01em;margin-bottom:5px}
.li-b{font-size:13px;font-weight:400;color:#565B66;line-height:1.65;max-width:60ch}
.li-tag{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--jade-i);background:rgba(27,79,138,.06);padding:6px 14px;border-radius:999px;white-space:nowrap}

/* ━━ HERO ━━ */
.hero-inner{position:relative;z-index:1;max-width:820px}

/* ━━ MARQUEE — signaux détectés (inspiré Auxia) ━━ */
.signal-marquee{background:var(--raise);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:16px 0}
.signal-track{display:flex;width:max-content;animation:signalScroll 32s linear infinite;gap:0}
.signal-chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--clair-3);white-space:nowrap;padding:0 22px;border-right:1px solid var(--line)}
.signal-chip::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--jade)}
@keyframes signalScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ━━ BIG NUMBER — moment chiffre géant (inspiré Auxia) ━━ */
.bignum-sec{padding:96px 48px;text-align:center;background:var(--ground);position:relative;overflow:hidden}
.bignum-fig{font-family:var(--display);font-weight:800;font-size:clamp(90px,14vw,220px);line-height:.85;letter-spacing:-.04em;color:var(--clair);position:relative;z-index:1}
.bignum-fig .u{color:var(--jade);font-size:.6em}
.bignum-cap{font-size:17px;color:var(--clair-2);max-width:46ch;margin:16px auto 0;line-height:1.6;position:relative;z-index:1}

/* ━━ TRUST ROW — engagements vérifiables (inspiré Auxia) ━━ */
.trust-row{padding:56px 48px;background:var(--cream);border-top:1px solid var(--ln2, rgba(20,19,26,.08))}
.trust-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(20,19,26,.08);border:1px solid rgba(20,19,26,.08);border-radius:14px;overflow:hidden}
.trust-item{background:var(--cream);padding:28px 26px}
.trust-h{font-family:var(--display);font-weight:800;font-size:15px;color:#14131A;margin-bottom:6px;letter-spacing:-.01em}
.trust-p{font-size:12.5px;color:#6A7080;line-height:1.6}

/* ━━ PROOF — kpi row ━━ */
.proof-row{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  margin-top:52px;
}
.pf{padding:28px 24px 20px 24px;border-right:1px solid var(--line);transition:transform .25s ease,background .25s ease}
.pf:first-child{padding-left:0}
.pf:last-child{border-right:none}
.pf:hover{transform:translateY(-3px);background:rgba(61,123,255,.06)}
.pf-tag{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--jade);margin-bottom:10px}
.pf-v{font-family:var(--display);font-weight:800;font-size:clamp(28px,4vw,52px);line-height:.9;letter-spacing:-.03em;color:var(--clair);margin-bottom:10px;font-variant-numeric:tabular-nums}
.pf-t{font-size:12px;color:var(--clair-2);line-height:1.55}

/* ━━ CITATION CENTRALE ━━ */
.quote-sec{
  padding:88px 48px;
  text-align:center;position:relative;overflow:hidden;
  background:var(--raise);
}
.amb-glow{position:absolute;width:560px;height:560px;border-radius:50%;filter:blur(64px);pointer-events:none;z-index:0}
.amb-glow.tr{right:-160px;top:-140px;background:radial-gradient(circle,rgba(61,123,255,.18),transparent 62%)}
.amb-glow.bl{left:-160px;bottom:-140px;background:radial-gradient(circle,rgba(61,123,255,.13),transparent 62%)}
.amb-glow.tl{left:-160px;top:-140px;background:radial-gradient(circle,rgba(61,123,255,.15),transparent 62%)}
.amb-glow.soft{background:radial-gradient(circle,rgba(61,123,255,.08),transparent 62%)}
@keyframes glowPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.06)}}
.amb-glow{animation:glowPulse 12s ease-in-out infinite}

.quote-glow{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:600px;height:400px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(61,123,255,.12),transparent 62%);
  filter:blur(48px);pointer-events:none;
}
.quote-mark{
  font-family:"Fraunces",serif;font-style:italic;font-weight:500;
  font-size:72px;color:var(--jade);opacity:.25;line-height:.8;margin-bottom:12px;
}
.quote-txt{
  font-family:var(--display);font-weight:700;
  font-size:clamp(22px,3.5vw,42px);letter-spacing:-.025em;line-height:1.1;
  color:var(--clair);max-width:720px;margin:0 auto 20px;
  position:relative;z-index:1;
}
.quote-txt .u{font-size:inherit;background:linear-gradient(135deg,var(--jade-l),var(--jade));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.quote-by{font-size:12px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--clair-3);position:relative;z-index:1}

/* ━━ MANIFESTO BLOCK — le texte "on ne vous facture pas notre structure" ━━ */
.manifesto{
  position:relative;overflow:hidden;
  background:var(--ground);
  padding:88px 48px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.manifesto .glow{
  position:absolute;right:-140px;top:-100px;width:600px;height:600px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(61,123,255,.14),transparent 62%);
  filter:blur(56px);pointer-events:none;z-index:0;
}
.manifesto-inner{position:relative;z-index:1;max-width:820px;margin:0 auto}
.manifesto-H{
  font-family:var(--display);font-weight:800;
  font-size:clamp(32px,5vw,64px);letter-spacing:-.03em;line-height:.98;
  color:var(--clair);margin:16px 0 32px;
}
.manifesto-H .u{font-size:inherit;background:linear-gradient(135deg,var(--jade-l),var(--jade));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.manifesto-body{
  display:grid;grid-template-columns:1fr 1fr;gap:48px;
  border-top:1px solid var(--line);padding-top:36px;
}
.mf-col p{font-size:15px;font-weight:400;color:var(--clair-2);line-height:1.78;margin-bottom:14px}
.mf-col p strong{color:var(--clair);font-weight:500}
.mf-col p em{font-family:"Fraunces",serif;font-style:italic;color:var(--jade)}

/* ━━ FAQ ━━ */
.faq-list{margin-top:48px}
.fq{border-bottom:1px solid var(--line)}
.fq:first-child{border-top:1px solid var(--line)}
.fq-q{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:20px 0;width:100%;text-align:left;background:none;border:none;
  font-family:var(--display);font-size:15px;font-weight:600;
  color:var(--clair);cursor:pointer;transition:color .15s;letter-spacing:-.01em;
}
.fq-q:hover{color:var(--jade)}
.S.lt .fq-q{color:#0B1220}
.S.lt .fq-q:hover{color:var(--jade-i)}
.S.lt .fq{border-color:rgba(11,18,32,.1)}
.fq-ic{
  width:24px;height:24px;flex-shrink:0;border-radius:50%;
  border:1px solid var(--line);color:var(--clair-3);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;transition:all .2s;
}
.S.lt .fq-ic{border-color:rgba(11,18,32,.15);color:#6A7080}
.fq.open .fq-ic{background:var(--jade);border-color:var(--jade);color:#fff;transform:rotate(45deg)}
.fq-a{
  font-size:14px;font-weight:400;color:var(--clair-2);line-height:1.8;
  max-height:0;overflow:hidden;transition:max-height .35s ease,padding .25s;
}
.S.lt .fq-a{color:#6A7080}
.fq.open .fq-a{max-height:300px;padding-bottom:20px}

/* ━━ BLOG ━━ */
.bl-list{margin-top:48px}
.bl-item{
  display:grid;grid-template-columns:56px 1fr 28px;
  gap:24px;padding:20px 0;border-bottom:1px solid var(--line);
  cursor:pointer;transition:background .15s;align-items:center;
  position:relative;
}
.bl-item:first-child{border-top:1px solid var(--line)}
.bl-item:hover .bl-n{color:var(--jade)}
.bl-item:hover .bl-arrow{color:var(--jade);transform:translate(3px,-3px)}
.bl-n{font-family:var(--display);font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--clair-3);transition:color .2s}
.bl-h{font-family:var(--display);font-size:15px;font-weight:600;color:var(--clair);letter-spacing:-.01em;margin-bottom:3px}
.bl-cat{font-size:11px;font-weight:400;color:var(--clair-3);letter-spacing:.05em}
.bl-arrow{font-size:16px;color:var(--clair-3);transition:all .2s}
.S.lt .bl-h{color:#0B1220}
.S.lt .bl-cat{color:#8A8E9A}
.S.lt .bl-n{color:#8A8E9A}
.S.lt .bl-arrow{color:#8A8E9A}
.S.lt .bl-item:hover .bl-h{color:var(--jade-i)}
.S.lt .bl-item:hover .bl-arrow,.S.lt .bl-item:hover .bl-n{color:var(--jade-i)}
.S.lt .bl-item{border-color:rgba(11,18,32,.1)}

/* Blog preview (home) */
.bp-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:48px;border:1px solid var(--line)}
.bpc{padding:32px 28px;cursor:pointer;border-right:1px solid var(--line);transition:background .2s;display:flex;flex-direction:column}
.bpc:last-child{border-right:none}
.bpc:hover{background:var(--raise)}
.bpc-cat{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--jade);margin-bottom:10px}
.bpc-h{font-family:var(--display);font-size:clamp(16px,1.8vw,21px);font-weight:800;color:var(--clair);line-height:1.1;letter-spacing:-.02em;margin-bottom:8px;flex:1}
.bpc-exc{font-size:13px;font-weight:400;color:var(--clair-2);line-height:1.6}
.bpc-meta{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--clair-3);margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}

/* ━━ CTA — closing slide style ━━ */
.cta-sec{
  position:relative;overflow:hidden;
  background:var(--jade-i);
  padding:88px 48px;
  display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;
}
.cta-glow{position:absolute;right:-100px;top:-100px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.1),transparent 60%);filter:blur(60px);pointer-events:none}
.cta-H{
  font-family:var(--display);font-weight:800;
  font-size:clamp(32px,5vw,64px);line-height:.98;
  letter-spacing:-.03em;color:#fff;
  position:relative;z-index:1;
}
.cta-H .u{color:rgba(255,255,255,.8);font-size:inherit}
.cta-right{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.cta-note{font-size:13px;font-weight:400;color:rgba(255,255,255,.85);line-height:1.65}

/* ━━ BOUTONS ━━ */
.btn{
  display:inline-block;font-family:var(--display);font-size:13px;font-weight:700;
  letter-spacing:-.01em;padding:11px 24px;border-radius:6px;cursor:pointer;
  transition:background .2s ease,box-shadow .2s ease,transform .2s ease,border-color .2s ease,color .2s ease;
}
.btn-jade{background:var(--jade);color:var(--ground)}.btn-jade:hover{background:var(--jade-d);box-shadow:0 8px 24px rgba(61,123,255,.35);transform:translateY(-1px)}
.btn-jade-d{background:var(--jade-d);color:#fff}.btn-jade-d:hover{opacity:.85;box-shadow:0 8px 24px rgba(61,123,255,.3);transform:translateY(-1px)}
.btn-w{background:#fff;color:var(--jade-i)}.btn-w:hover{background:rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(0,0,0,.2);transform:translateY(-1px)}
.btn-ol{background:none;border:1px solid var(--line);color:var(--clair-2)}.btn-ol:hover{border-color:rgba(61,123,255,.4);color:var(--clair);transform:translateY(-1px)}
.btn-ol-lt{background:none;border:1px solid rgba(255,255,255,.4);color:#fff}.btn-ol-lt:hover{border-color:#fff;background:rgba(255,255,255,.1);transform:translateY(-1px)}
.pill{font-size:12px;font-weight:600;background:var(--jade);color:var(--ground);padding:6px 14px;border-radius:999px;display:inline-block;letter-spacing:.02em}

/* ━━ FOOTER ━━ */
footer{background:var(--ground);border-top:1px solid var(--line);padding:52px 48px 28px}
.ft{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid var(--line)}
.ft-name{font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:-.02em;color:var(--clair);margin-bottom:10px;cursor:pointer}
.ft-desc{font-size:12px;font-weight:400;color:var(--clair-3);line-height:1.7;max-width:210px}
.ft-col h5{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--clair-3);margin-bottom:14px}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.ft-col li{font-size:13px;font-weight:400;color:var(--clair-3);cursor:pointer;transition:color .15s}
.ft-col li:hover{color:var(--clair)}
.ft-bot{display:flex;justify-content:space-between;padding-top:18px;font-size:11px;font-weight:400;color:var(--clair-3);flex-wrap:wrap;gap:8px;letter-spacing:.03em}

/* ━━ INNER PAGES ━━ */
.pg-hero{
  position:relative;overflow:hidden;
  padding:calc(var(--h) + 64px) 48px 72px;
  border-bottom:1px solid var(--line);
  background:var(--ground);
}
.pg-hero .glow{position:absolute;right:-100px;top:-100px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(61,123,255,.15),transparent 62%);filter:blur(56px);pointer-events:none}
.pg-H{
  font-family:var(--display);font-weight:800;
  font-size:clamp(44px,8vw,100px);letter-spacing:-.04em;line-height:.92;
  color:var(--clair);margin-top:16px;
}
.pg-H .u{font-size:inherit}
.pg-sub{font-size:16px;font-weight:400;color:var(--clair-2);max-width:480px;line-height:1.7;margin-top:20px}

/* Services detail */
.svc-det{padding:0 48px}
.sdr{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;padding:56px 0;border-bottom:1px solid var(--line)}
.sdr:last-child{border:none}
.sdr-n{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--clair-3);margin-bottom:10px}
.sdr-tag{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--jade);margin-bottom:10px}
.sdr-H{font-family:var(--display);font-size:clamp(22px,2.8vw,32px);font-weight:800;color:var(--clair);margin-bottom:12px;line-height:1.0;letter-spacing:-.02em}
.sdr-H .u{font-size:inherit}
.sdr-p{font-size:14px;font-weight:400;color:var(--clair-2);line-height:1.78;margin-bottom:20px}
.feat{list-style:none;display:flex;flex-direction:column;gap:10px}
.feat li{font-size:13px;font-weight:400;color:var(--clair-2);display:flex;align-items:center;gap:12px}
.feat li::before{content:'';width:7px;height:7px;background:var(--jade);border-radius:2px;flex-shrink:0}
.mbox{border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative}
.mbox::before{content:'';position:absolute;top:-40%;right:-20%;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(61,123,255,.14),transparent 65%);filter:blur(30px);pointer-events:none}
.mr{padding:20px 22px;border-bottom:1px solid var(--line);background:linear-gradient(150deg,var(--raise),var(--raise2));position:relative}
.mr:last-child{border:none;background:linear-gradient(150deg,var(--raise2),var(--ground))}
.mr-v{font-family:var(--display);font-size:26px;font-weight:800;color:var(--clair);letter-spacing:-.03em;line-height:1}
.mr-l{font-size:12px;font-weight:400;color:var(--clair-2);margin-top:4px}

.cmp-sec{padding:56px 48px;background:var(--raise);border-top:1px solid var(--line)}
.cmp table{width:100%;border-collapse:collapse;margin-top:36px;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.cmp th{padding:12px 14px;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--clair-3);text-align:left;border-bottom:1px solid var(--line);background:var(--raise2)}
.cmp th.hl{color:var(--jade)}
.cmp td{padding:13px 14px;font-size:13px;font-weight:400;color:var(--clair-2);border-bottom:1px solid var(--line)}
.cmp td.hl{color:var(--clair);font-weight:600;background:rgba(61,123,255,.06)}

/* Article */
.art{max-width:680px;margin:0 auto;padding:64px 48px 96px}
.art-cat{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--jade);margin-bottom:14px}
.art-H{font-family:var(--display);font-size:clamp(26px,4.5vw,44px);font-weight:800;letter-spacing:-.025em;line-height:1.02;margin-bottom:14px;color:var(--clair)}
.art-meta{font-size:10px;font-weight:600;color:var(--clair-3);letter-spacing:.1em;text-transform:uppercase;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:36px}
.art-body h2{font-family:var(--display);font-size:clamp(20px,2.5vw,26px);font-weight:800;letter-spacing:-.02em;margin:40px 0 12px;color:var(--clair)}
.art-body p{font-size:16px;font-weight:400;color:var(--clair-2);line-height:1.88;margin-bottom:16px}
.art-body ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin:12px 0}
.art-body li{font-size:15px;font-weight:400;color:var(--clair-2);line-height:1.65;padding-left:20px;position:relative}
.art-body li::before{content:'';position:absolute;left:0;top:9px;width:7px;height:7px;background:var(--jade);border-radius:2px}
.art-body a{color:var(--jade);text-decoration:underline;text-underline-offset:3px}
.art-pq{border-left:3px solid var(--jade);padding:12px 20px;margin:28px 0;font-family:var(--display);font-size:17px;font-style:italic;font-weight:600;line-height:1.45;color:var(--clair);background:var(--raise);border-radius:0 8px 8px 0}
.art-cta{background:var(--raise);border:1px solid var(--line);border-radius:12px;padding:36px;margin-top:48px;text-align:center}
.art-cta-H{font-family:var(--display);font-size:22px;font-weight:800;letter-spacing:-.02em;margin-bottom:8px;color:var(--clair)}
.art-cta-p{font-size:14px;font-weight:400;color:var(--clair-2);margin-bottom:18px}
.back{font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--clair-3);background:none;border:none;cursor:pointer;transition:color .15s;margin-bottom:24px;display:inline-flex;align-items:center;gap:8px}
.back:hover{color:var(--jade)}
.art-links{margin-top:44px;padding-top:28px;border-top:1px solid var(--line)}
.art-links-t{font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--clair-3);margin-bottom:12px}
.art-lnk{display:flex;align-items:center;justify-content:space-between;font-family:var(--display);font-size:14px;font-weight:600;color:var(--clair);padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:color .15s}
.art-lnk:hover{color:var(--jade)}
.art-lnk:last-child{border:none}
.art-lnk::after{content:'↗';font-size:13px;color:var(--clair-3)}

/* Contact */
.ct-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100svh - var(--h));margin-top:var(--h)}
.ct-l{
  background:var(--jade-i);padding:64px 52px;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;
}
.ct-l-glow{position:absolute;right:-80px;bottom:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 60%);filter:blur(56px);pointer-events:none}
.ct-r{background:var(--raise);padding:64px 52px}
.ct-H{font-family:var(--display);font-size:clamp(28px,4vw,52px);font-weight:800;color:#fff;letter-spacing:-.03em;line-height:.96;margin-bottom:16px}
.ct-H .u{color:rgba(255,255,255,.4);font-size:inherit}
.ct-p{font-size:14px;font-weight:400;color:rgba(255,255,255,.5);line-height:1.75;max-width:300px;position:relative;z-index:1}
.ct-dets{margin-top:32px;position:relative;z-index:1}
.ct-d{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:120px 1fr;align-items:center}
.ct-dl{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.ct-dv{font-size:14px;font-weight:500;color:#fff}
.ct-q{font-family:var(--display);font-size:16px;font-style:italic;font-weight:600;color:rgba(255,255,255,.4);border-top:1px solid rgba(255,255,255,.12);padding-top:22px;position:relative;z-index:1}
.form-t{font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--clair-3);margin-bottom:20px}
.form{display:flex;flex-direction:column;gap:13px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fg{display:flex;flex-direction:column;gap:5px}
.fl{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--clair-3)}
.fi,.fsel,.fta{background:var(--ground);border:1px solid var(--line);color:var(--clair);padding:11px 13px;font-family:var(--body);font-size:14px;font-weight:400;width:100%;outline:none;transition:border-color .15s;appearance:none;border-radius:6px}
.fi::placeholder,.fta::placeholder{color:var(--clair-3)}
.fi:focus,.fsel:focus,.fta:focus{border-color:var(--jade)}
.fta{resize:vertical;min-height:80px;line-height:1.6}
.fsub{background:var(--jade);color:var(--ground);font-family:var(--display);font-size:13px;font-weight:700;padding:13px;border:none;width:100%;cursor:pointer;transition:background .15s;border-radius:6px;letter-spacing:-.01em}
.fsub:hover{background:var(--jade-d)}
.f-note{font-size:11px;font-weight:400;color:var(--clair-3);text-align:center}

/* ━━ SCROLL REVEAL ━━ */
.sr{opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .55s ease}
.sr.in{opacity:1;transform:none}
.d1{transition-delay:.07s}.d2{transition-delay:.13s}

/* ━━ RESPONSIVE ━━ */
@media(max-width:960px){
  .two-col,.sdr,.ct-wrap,.manifesto-body{grid-template-columns:1fr}
  .layer-item{grid-template-columns:40px 1fr;row-gap:10px}
  .layer-item .li-tag{grid-column:2;justify-self:start}
  .trust-inner{grid-template-columns:1fr}
  .bignum-fig{font-size:clamp(60px,20vw,120px)}
  .hero-kpis,.proof-row{grid-template-columns:1fr 1fr}
  .hk:nth-child(2){border-right:none}
  .hk:nth-child(3){border-top:1px solid var(--line)}
  .pf:nth-child(2){border-right:none}
  .pf:nth-child(3){border-top:1px solid var(--line)}
  .proc-row{grid-template-columns:1fr}
  .proc-p{border-right:none;border-bottom:1px solid var(--line);padding-bottom:28px}
  .proc-p:last-child{border-bottom:none}
  .svc-grid{grid-template-columns:1fr}
  .mkt-item{grid-template-columns:40px 1fr}
  .mkt-txt{display:none}
  .vs-row,.vs-head{grid-template-columns:2fr 1fr 1fr}
  .vs-row .vs-cell:nth-child(3),.vs-head .vs-cell:nth-child(3){display:none}
  .bp-grid{grid-template-columns:1fr}
  .bpc{border-right:none;border-bottom:1px solid var(--line)}
  .bpc:last-child{border-bottom:none}
  .ft{grid-template-columns:1fr 1fr}
  .ct-l,.ct-r{padding:48px 28px}
  nav{padding:0 24px}
  .S,.quote-sec,.manifesto,.cta-sec{padding:64px 24px}
  .svc-det,.cmp-sec{padding-left:24px;padding-right:24px}
  .pg-hero{padding:calc(var(--h)+40px) 24px 52px}
  .art{padding:48px 24px 80px}
  .hero{padding:calc(var(--h)+52px) 24px 0}
  .row-list{margin-top:32px}
}
@media(max-width:640px){
  :root{--h:56px}
  nav{padding:0 20px}
  .nl,.nav-cta{display:none}
  .burg{display:flex}
  .hero-kpis,.proof-row{grid-template-columns:1fr 1fr}
  .hk,.pf{border-right:none;border-bottom:1px solid var(--line)}
  .hk:last-child,.pf:last-child{border-bottom:none}
  .ft{grid-template-columns:1fr}
  .f2{grid-template-columns:1fr}
  .vs-row,.vs-head{grid-template-columns:1.5fr 1fr}
  .vs-row .vs-cell:nth-child(2),.vs-head .vs-cell:nth-child(2){display:none}
  .vs-row .vs-cell:nth-child(3),.vs-head .vs-cell:nth-child(3){display:none}
  .mob{padding:32px 20px}
  .S,.quote-sec,.manifesto,.cta-sec{padding:56px 20px}
  .hero{padding:calc(var(--h)+40px) 20px 0}
  .svc-det,.cmp-sec{padding-left:20px;padding-right:20px}
  footer{padding:44px 20px 20px}
  .hero-glyph{right:-40px;bottom:-20px}
}
