
/* =========================================================
   CHARTE v3 — « console » : sombre par défaut, pastels en lumière,
   verre dépoli, lignes fines, 3D en perspective
   ========================================================= */
:root{
  --mint:#9BE8D4; --lime:#E2F38E; --lav:#BBA8F8; --peach:#F8B597; --sky:#B7DDF8; --butter:#F4EC91;
  --r:16px; --r-m:12px; --r-s:8px;
  --wrap:1200px;
  --f:"Geist", "Inter", system-ui, sans-serif;
  --f-mono:"Geist Mono", "JetBrains Mono", ui-monospace, monospace;
}
:root,[data-theme="dark"]{
  --bg:#07080B;
  --ink:#EDEEF3; --ink-2:#A3A7B5; --ink-3:#6B7080;
  --glass:rgba(255,255,255,.035);
  --glass-2:rgba(255,255,255,.07);
  --glass-in:rgba(255,255,255,.028);
  --glass-border:rgba(255,255,255,.09);
  --glass-line:rgba(255,255,255,.065);
  --hi:rgba(255,255,255,.05);
  --grid:rgba(255,255,255,.04);
  --shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 30px 60px -32px rgba(0,0,0,.9);
  --accent:#C4B4FF; --accent-ink:#0A0A10;
  --grad-text:linear-gradient(92deg,#FFFFFF 0%,#D4C8FF 45%,#A6F0DC 100%);
  --tint:#fff;          /* ce avec quoi on mélange les pastels pour le texte */
  --tint-mix:72%;
  --blob-o:.16;
  --screen:#0B0C11;
}
[data-theme="light"]{
  --bg:#F2F3F6;
  --ink:#0E1016; --ink-2:#4B5060; --ink-3:#848999;
  --glass:rgba(255,255,255,.62);
  --glass-2:rgba(255,255,255,.85);
  --glass-in:rgba(14,16,22,.025);
  --glass-border:rgba(14,16,22,.09);
  --glass-line:rgba(14,16,22,.07);
  --hi:rgba(255,255,255,.7);
  --grid:rgba(14,16,22,.05);
  --shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 1px 2px rgba(14,16,22,.04), 0 24px 48px -28px rgba(40,36,90,.22);
  --accent:#5B43D6; --accent-ink:#fff;
  --grad-text:linear-gradient(92deg,#0E1016 0%,#5B43D6 55%,#138F7A 100%);
  --tint:#0E1016;
  --tint-mix:48%;
  --blob-o:.38;
  --screen:#0B0C11;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{background:var(--bg);color:var(--ink);font-family:var(--f);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .4s,color .4s;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
::selection{background:color-mix(in srgb,var(--lav) 40%,transparent)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
section{padding:110px 0;position:relative}
h1,h2,h3{font-weight:600;letter-spacing:-.035em;line-height:1.06}
h2{font-size:clamp(34px,calc(4.4 * 1vw / var(--z,1)),56px)}
h2 .l2{display:block;color:var(--ink-3)}
h3{font-size:19px;line-height:1.25;letter-spacing:-.02em}
.grad{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Couleurs d'accent : chaque p-* fournit sa teinte */
.p-mint{--c:var(--mint)} .p-lav{--c:var(--lav)} .p-peach{--c:var(--peach)}
.p-sky{--c:var(--sky)} .p-lime{--c:var(--lime)} .p-aurora{--c:var(--lav)}
.tinted{color:color-mix(in srgb,var(--c) var(--tint-mix),var(--tint))}

/* ---------- Fond : grille + lueurs ---------- */
.aura{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.aura::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 30%,transparent 80%)}
.aura i{position:absolute;border-radius:50%;filter:blur(110px);opacity:var(--blob-o);transition:opacity .4s}
.aura i:nth-child(1){width:700px;height:500px;background:var(--lav);top:-260px;left:20%;animation:drift 26s ease-in-out infinite}
.aura i:nth-child(2){width:520px;height:420px;background:var(--mint);top:30%;right:-260px;animation:drift 30s ease-in-out infinite reverse}
.aura i:nth-child(3){width:460px;height:380px;background:var(--peach);bottom:-220px;left:-120px;animation:drift 34s ease-in-out infinite}
.aura i:nth-child(4){width:360px;height:320px;background:var(--sky);bottom:10%;right:20%;animation:drift 28s ease-in-out infinite reverse}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(50px,30px)}}

/* ---------- Verre ---------- */
.glass{position:relative;
  background:linear-gradient(180deg,var(--hi) 0%,transparent 35%),var(--glass);
  backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);
  border:1px solid var(--glass-border);box-shadow:var(--shadow);border-radius:var(--r)}
.glass-in{background:var(--glass-in);border:1px solid var(--glass-line);border-radius:var(--r-m)}

/* Bloc « mis en lumière » : verre + lueur de couleur + liseré lumineux en haut */
.pastel{position:relative;color:var(--ink);border-radius:var(--r);
  background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--c) 16%,transparent) 0%,transparent 55%),
             linear-gradient(180deg,var(--hi),transparent 35%),var(--glass);
  backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);
  border:1px solid color-mix(in srgb,var(--c) 28%,var(--glass-border));box-shadow:var(--shadow)}
.pastel::after{content:"";position:absolute;top:-1px;left:12%;right:12%;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--c),transparent);box-shadow:0 0 14px 1px color-mix(in srgb,var(--c) 60%,transparent)}
.pastel > *{position:relative;z-index:1}
.p-aurora{--c:var(--lav);background:
  radial-gradient(60% 120% at 0% 0%,color-mix(in srgb,var(--lav) 18%,transparent),transparent 60%),
  radial-gradient(50% 120% at 100% 100%,color-mix(in srgb,var(--mint) 14%,transparent),transparent 60%),
  linear-gradient(180deg,var(--hi),transparent 35%),var(--glass)}
.p-aurora::after{background:linear-gradient(90deg,transparent,var(--lav),var(--sky),var(--mint),transparent)}

/* Petites pastilles teintées (numéros, icônes, badges) */
.chipc{background:color-mix(in srgb,var(--c) 12%,transparent);border:1px solid color-mix(in srgb,var(--c) 32%,transparent);
  color:color-mix(in srgb,var(--c) var(--tint-mix),var(--tint));box-shadow:0 0 22px -8px color-mix(in srgb,var(--c) 70%,transparent)}

/* Inclinaison 3D au survol */
[data-tilt]{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .3s;will-change:transform}
[data-tilt]::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;opacity:0;transition:opacity .3s;
  background:radial-gradient(360px circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.07),transparent 45%)}
[data-tilt]:hover::before{opacity:1}
[data-theme="light"] [data-tilt]::before{background:radial-gradient(360px circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.6),transparent 45%)}

/* Libellés */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);padding:6px 12px 6px 10px;border-radius:var(--r-s);margin-bottom:22px}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:1px;background:var(--dot,var(--lav));box-shadow:0 0 10px 1px var(--dot,var(--lav))}
.lead{font-size:18px;color:var(--ink-2);max-width:640px;line-height:1.65}
.sec-head{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:end;margin-bottom:56px}
.num{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;color:var(--ink-3)}

/* Boutons */
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;padding:13px 20px;border-radius:10px;white-space:nowrap;
  background:var(--accent);color:var(--accent-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 0 0 1px color-mix(in srgb,var(--accent) 70%,#000),0 10px 30px -10px color-mix(in srgb,var(--accent) 80%,transparent);
  transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 0 0 1px color-mix(in srgb,var(--accent) 70%,#000),0 14px 44px -10px var(--accent)}
.tag{font-family:var(--f-mono);font-size:11px;padding:4px 9px;border-radius:6px;background:var(--glass-in);border:1px solid var(--glass-line);color:var(--ink-2);white-space:nowrap}

/* ---------- En-tête ---------- */
.topbar{position:sticky;top:12px;z-index:50;padding:0 16px}
.nav{max-width:var(--wrap);margin:0 auto;display:flex;align-items:center;gap:12px;height:60px;padding:0 8px 0 12px;border-radius:14px}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.brand img{width:32px;height:32px;border-radius:8px}
.brand b{font-size:17px;font-weight:700;letter-spacing:-.02em;display:block;line-height:1.1}
.brand small{font-family:var(--f-mono);font-size:9px;letter-spacing:.12em;color:var(--ink-3);display:block}
.nav .brand small{display:none}
.nav-links{display:flex;gap:0;margin-left:auto}
.nav-links a{font-size:13px;font-weight:500;color:var(--ink-2);padding:7px 7px;border-radius:8px;white-space:nowrap;transition:background .2s,color .2s}
.nav-links a:hover{color:var(--ink);background:var(--glass-2)}
.nav .btn{padding:9px 14px;font-size:14px}
.icon-btn{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;background:var(--glass-in);border:1px solid var(--glass-line);color:var(--ink)}
.icon-btn svg{width:17px;height:17px}
.theme-toggle .sun{display:none}
[data-theme="dark"] .theme-toggle .sun{display:block}
[data-theme="dark"] .theme-toggle .moon{display:none}
.nav .burger{display:none}

/* ---------- Hero ---------- */
.hero{padding:96px 0 70px}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:32px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:12px;letter-spacing:.02em;color:var(--ink-2);padding:7px 12px 7px 10px;border-radius:var(--r-s)}
.pill i{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px 2px color-mix(in srgb,var(--mint) 70%,transparent);flex-shrink:0;animation:blink 2.4s ease-in-out infinite}
@keyframes blink{50%{opacity:.35}}
.hero h1{font-size:clamp(46px,calc(6.6 * 1vw / var(--z,1)),88px);font-weight:600;letter-spacing:-.055em;line-height:.98;margin:28px 0 26px}
.hero h1 span{display:block}
@media (min-width:1025px){.hero h1 span{white-space:nowrap}}
.hero .lead{font-size:19px}
.hero .actions{margin-top:36px;display:flex;gap:12px;flex-wrap:wrap}

/* Scène 3D : console en verre au-dessus d'une grille en perspective */
.scene{position:relative;height:540px;perspective:1600px}
.floor{position:absolute;left:-30%;right:-30%;bottom:-60px;height:360px;transform:rotateX(76deg);transform-origin:50% 100%;
  background-image:linear-gradient(color-mix(in srgb,var(--lav) 45%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--lav) 45%,transparent) 1px,transparent 1px);
  background-size:44px 44px;mask-image:radial-gradient(ellipse 60% 70% at 50% 40%,#000 10%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 60% 70% at 50% 40%,#000 10%,transparent 70%);opacity:.55;animation:floor 6s linear infinite}
@keyframes floor{to{background-position:0 44px,0 0}}
.stack{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(18deg) rotateY(-24deg) rotateZ(3deg);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.panel{position:absolute;padding:16px 18px;border-radius:14px;transform-style:preserve-3d}
.panel .bar{display:flex;gap:6px;margin-bottom:14px}
.panel .bar i{width:8px;height:8px;border-radius:50%;background:var(--glass-2);border:1px solid var(--glass-border)}
.pn-main{left:20px;top:70px;width:420px;height:270px;transform:translateZ(0)}
.pn-main svg{width:100%;height:200px;overflow:visible}
.pn-kpi{left:-10px;top:300px;width:230px;transform:translateZ(110px)}
.pn-kpi b,.pn-week b,.pn-ring b{font-size:44px;font-weight:600;letter-spacing:-.05em;line-height:1;display:block}
.pn-kpi p,.pn-week p{font-size:12px;color:var(--ink-2);margin-top:8px;line-height:1.4}
.pn-kpi .spark{display:flex;align-items:flex-end;gap:4px;height:34px;margin-top:12px}
.pn-kpi .spark span{flex:1;border-radius:2px;background:color-mix(in srgb,var(--mint) 70%,transparent);box-shadow:0 0 10px -2px var(--mint)}
.pn-kpi .spark span:last-child{background:var(--mint)}
.pn-ring{left:350px;top:230px;width:200px;height:200px;transform:translateZ(150px);display:grid;place-items:center;padding:0}
.pn-ring .in{position:absolute;text-align:center;width:118px}
.pn-ring b{font-size:30px}
.pn-ring small{font-size:10px;color:var(--ink-2);line-height:1.3;display:block;margin-top:4px}
.pn-chip{left:270px;top:22px;transform:translateZ(80px);display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;font-family:var(--f-mono);font-size:12px;white-space:nowrap}
.pn-chip i{width:7px;height:7px;border-radius:50%;box-shadow:0 0 8px 1px currentColor}
.pn-week{left:250px;top:405px;width:210px;transform:translateZ(190px)}
.pn-week .prog{height:4px;border-radius:4px;background:var(--glass-2);margin-top:12px;overflow:hidden}
.pn-week .prog span{display:block;height:100%;width:62%;background:linear-gradient(90deg,var(--lav),var(--sky));box-shadow:0 0 12px var(--lav)}
.glow-line{filter:drop-shadow(0 0 6px currentColor)}

/* ---------- Conviction ---------- */
.conv-card{padding:52px;display:grid;grid-template-columns:1fr 1.12fr;gap:52px;align-items:center}
.conv-card .big{font-size:26px;font-weight:500;margin-top:26px;line-height:1.3;letter-spacing:-.025em}
.conv-card .big em{font-style:normal;font-weight:700}
.conv-card p.body{color:var(--ink-2);margin-top:16px}
.device{perspective:1200px}
.device figure{background:var(--screen);border-radius:14px;padding:14px;border:1px solid rgba(255,255,255,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(0,0,0,.4),0 50px 80px -34px rgba(20,10,60,.7),0 0 80px -30px color-mix(in srgb,var(--lav) 60%,transparent);
  transform:rotateY(-12deg) rotateX(7deg);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.device:hover figure{transform:rotateY(0) rotateX(0)}

/* ---------- Constat ---------- */
.third{margin-top:24px;font-size:22px;font-weight:600;letter-spacing:-.025em}
.pains{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.pain{padding:22px 20px 24px;display:flex;flex-direction:column;gap:12px}
.pain .badge{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;font-family:var(--f-mono);font-size:12px}
.pain p:last-child{color:var(--ink-2);font-size:14.5px}
.manifesto{margin-top:70px;padding:64px}
.manifesto blockquote{font-size:clamp(24px,calc(3 * 1vw / var(--z,1)),38px);font-weight:500;line-height:1.22;letter-spacing:-.035em;max-width:980px}
.manifesto blockquote > span{display:block}
.manifesto blockquote .hl{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:600}
.manifesto cite{display:inline-block;margin-top:28px;font-style:normal;font-family:var(--f-mono);font-size:12px;padding:6px 12px;border-radius:var(--r-s);background:var(--glass-in);border:1px solid var(--glass-line);color:var(--ink-2)}

/* ---------- Pour qui ---------- */
.situations{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.situation{padding:32px;display:flex;flex-direction:column;gap:16px}
.situation .n{display:inline-flex;align-self:flex-start;font-family:var(--f-mono);font-size:11px;padding:4px 10px;border-radius:6px}
.situation h3{font-size:23px}
.situation h3 span{display:block}
.situation h3 span+span{color:var(--ink-3)}
.situation p.body{color:var(--ink-2);font-size:15.5px}
.situation .who{margin-top:auto;padding:12px 14px;font-size:14px;font-weight:500;display:flex;gap:12px;align-items:center;border-radius:10px}
.situation .who::before{content:"→";font-family:var(--f-mono);color:var(--ink-3)}

/* ---------- La Wapp ---------- */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pillar{padding:24px;display:flex;flex-direction:column;gap:14px}
.ico3d{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;margin-bottom:4px}
.ico3d svg{width:21px;height:21px}
.pillar p.body{color:var(--ink-2);font-size:15px;flex:1}
.pillar .tags{display:flex;flex-wrap:wrap;gap:6px}
.plus{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.plus > div{padding:26px}
.plus .n{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em}
.plus h3{margin:10px 0 10px;font-size:21px}
.plus p.body{font-size:15px;color:var(--ink-2)}

/* ---------- IA native ---------- */
.ia h2 span{display:block}
.ia h2 span:nth-child(3){color:var(--ink-3)}
.usecases{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--glass-line);border:1px solid var(--glass-border);border-radius:var(--r);overflow:hidden}
.usecase{padding:24px;background:var(--bg);border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.usecase .dot{display:block;width:6px;height:6px;border-radius:1px;margin-bottom:18px;background:var(--c);box-shadow:0 0 12px 2px color-mix(in srgb,var(--c) 70%,transparent)}
.usecase h3{font-size:16.5px;margin-bottom:8px}
.usecase p{color:var(--ink-2);font-size:14.5px}
.ia-bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin-top:14px}
.sovereign{padding:34px}
.sovereign .top{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.sovereign .flag{font-size:22px;width:52px;height:52px;border-radius:12px;display:grid;place-items:center;background:var(--glass-in);border:1px solid var(--glass-line);flex-shrink:0}
.sovereign .t1{font-size:26px;font-weight:600;letter-spacing:-.035em}
.sovereign .t2{font-family:var(--f-mono);font-size:12px;color:var(--ink-3)}
.sovereign .t2 b{font-weight:500;color:color-mix(in srgb,var(--lav) var(--tint-mix),var(--tint))}
.sovereign p{font-size:15px;color:var(--ink-2)}
.sovereign p+p{margin-top:12px}
.sovereign strong{font-weight:600;color:var(--ink)}
.sovereign a{display:inline-flex;margin-top:22px;font-weight:500;font-size:14px;font-family:var(--f-mono);padding:8px 12px;border-radius:8px;border:1px solid var(--glass-border);background:var(--glass-in)}
.sovereign a:hover{border-color:var(--lav)}
.principle{padding:34px;display:flex;flex-direction:column;gap:14px}
.principle .k{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;display:flex;gap:8px;color:var(--ink-3)}
.principle h3{font-size:27px}
.principle h3 span{display:block}
.principle h3 span+span{color:var(--ink-3)}
.principle p{font-size:15.5px;color:var(--ink-2)}
.principle p b{color:var(--ink);font-weight:600}
.principle .badge{margin-top:auto;align-self:flex-start;font-family:var(--f-mono);font-size:11.5px;padding:5px 10px;border-radius:6px}

/* ---------- Bibliothèque ---------- */
.lib-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;margin-bottom:52px;align-items:end}
.lib-intro .compose{font-size:24px;font-weight:500;line-height:1.3;margin-bottom:14px;letter-spacing:-.025em}
.lib-intro .compose em{font-style:normal;font-weight:700}
.lib-intro .missing{margin-top:20px;padding:16px 18px;font-size:15px;color:var(--ink-2)}
.lib-intro .missing b{color:var(--ink);font-weight:600}
.lib-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lib-group{padding:8px}
.lib-group .gh{padding:14px 14px 12px;display:flex;align-items:center;gap:12px}
.lib-group .gh .n{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font-family:var(--f-mono);font-size:11px}
.lib-group .gh p{font-weight:600;font-size:16px}
.brick{padding:16px;margin-top:6px;transition:border-color .25s,transform .25s}
.brick:hover{border-color:var(--glass-border);transform:translateX(3px)}
.brick h3{font-size:15.5px;margin-bottom:6px}
.brick p{font-size:14px;color:var(--ink-2)}
.more{margin-top:40px}
.more > p{color:var(--ink-2);font-size:15.5px;margin-bottom:16px}
.more > p b{color:var(--ink);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{font-family:var(--f-mono);font-size:12.5px;padding:7px 12px;border-radius:8px;display:inline-flex;align-items:center;gap:8px;color:var(--ink-2)}
.chips span::before{content:"";width:5px;height:5px;border-radius:1px;background:var(--c);box-shadow:0 0 8px 1px var(--c)}
.integration{margin-top:32px;display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:center;padding:30px 34px}
.integration .t{font-size:23px;font-weight:600;letter-spacing:-.03em;margin-bottom:8px}
.integration p{color:var(--ink-2);font-size:15px}
.integration p b{color:var(--ink);font-weight:600}
.integration ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.integration li{display:flex;gap:12px;align-items:center;font-weight:500;padding:10px 14px;border-radius:10px;font-size:15px}
.integration li span{font-size:10px;color:var(--mint)}

/* ---------- Studio ---------- */
.studio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.feat{padding:26px}
.feat h3{margin-bottom:10px}
.feat p{color:var(--ink-2);font-size:15px}
.stats-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stat{padding:20px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:180px}
.stat h3{font-size:clamp(34px,calc(3 * 1vw / var(--z,1)),42px);font-weight:600;letter-spacing:-.05em;color:color-mix(in srgb,var(--c) var(--tint-mix),var(--tint))}
.stat p{font-size:13.5px;color:var(--ink-2)}

/* ---------- Méthode ---------- */
.method-head h2 span{display:block}
.method-head h2 span+span{color:var(--ink-3)}
.method-head .four{font-size:26px;font-weight:600;letter-spacing:-.03em}
.method-head .four + p{color:var(--ink-2);font-size:17px;margin:4px 0 12px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative}
.step{padding:24px;position:relative}
.step .sphere{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-family:var(--f-mono);font-size:13px;margin-bottom:22px;
  background:color-mix(in srgb,var(--c1) 12%,transparent);border:1px solid color-mix(in srgb,var(--c1) 40%,transparent);
  color:color-mix(in srgb,var(--c1) var(--tint-mix),var(--tint));box-shadow:0 0 24px -6px var(--c1)}
.step:not(:last-child)::after{content:"";position:absolute;top:44px;left:calc(24px + 42px + 10px);right:-14px;height:1px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--c1) 70%,transparent),transparent)}
.step h3{margin-bottom:10px}
.step p{color:var(--ink-2);font-size:15px}
.engagement{margin-top:36px;display:grid;grid-template-columns:1fr 1.5fr;gap:40px;padding:42px}
.engagement .k{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;display:flex;gap:8px;margin-bottom:14px;color:var(--ink-3)}
.engagement h3{font-size:32px;font-weight:600}
.engagement h3 span{display:block}
.engagement .badge{display:inline-block;margin-top:24px;font-family:var(--f-mono);font-size:11.5px;padding:5px 10px;border-radius:6px}
.engagement ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.engagement li{padding:16px 18px;color:var(--ink-2);font-size:15.5px;display:flex;gap:14px;align-items:flex-start;border-radius:10px}
.engagement li::before{content:"✕";flex-shrink:0;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:10px;margin-top:1px;
  --c:var(--peach);background:color-mix(in srgb,var(--c) 12%,transparent);border:1px solid color-mix(in srgb,var(--c) 35%,transparent);color:color-mix(in srgb,var(--c) var(--tint-mix),var(--tint))}
.engagement li b{color:var(--ink);font-weight:600}

/* ---------- Chiffres ---------- */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kpi{padding:24px 22px 26px;min-height:180px;display:flex;flex-direction:column;justify-content:space-between;gap:18px}
.kpi h3{font-size:clamp(40px,calc(4.2 * 1vw / var(--z,1)),56px);font-weight:600;letter-spacing:-.055em}
.kpi.pastel h3{color:color-mix(in srgb,var(--c) var(--tint-mix),var(--tint));text-shadow:0 0 30px color-mix(in srgb,var(--c) 40%,transparent)}
.kpi p{font-size:14px;color:var(--ink-2)}
.kpi p.caps{text-transform:lowercase}
.kpi p.caps::first-letter{text-transform:uppercase}

/* ---------- Clients ---------- */
.clients-intro .lead b{color:var(--ink);font-weight:600}
.logos{display:grid;grid-template-columns:repeat(8,1fr);margin:0 0 90px;padding:0;overflow:hidden}
.logos p{padding:26px 10px;text-align:center;font-weight:600;font-size:15.5px;letter-spacing:-.01em;color:var(--ink-3);border-right:1px solid var(--glass-line);display:grid;place-items:center;transition:color .25s,background .25s}
.logos p:last-child{border-right:0}
.logos p:hover{color:var(--ink);background:var(--glass-in)}
.cases-head{margin-bottom:34px}
.cases-head h3{font-size:clamp(28px,calc(3.4 * 1vw / var(--z,1)),42px);font-weight:600}
.cases-head h3 span{display:block}
.cases-head h3 span+span{color:var(--ink-3)}
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.case{display:flex;flex-direction:column;padding:8px}
.case-top{padding:22px 20px;min-height:118px;display:flex;flex-direction:column;justify-content:flex-end;border-radius:10px}
.case-top h3{font-size:25px;font-weight:600}
.case-top p{font-family:var(--f-mono);font-size:11.5px;margin-top:6px;color:color-mix(in srgb,var(--c) var(--tint-mix),var(--tint))}
.case dl{padding:6px 14px 20px;flex:1}
.case dt{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:18px;margin-bottom:6px}
.case dd{font-size:15px;color:var(--ink-2)}
.case dd b{color:var(--ink);font-weight:600}
.case .soon{margin:0 6px 6px;padding:10px 12px;font-family:var(--f-mono);font-size:12px;color:var(--ink-3);display:flex;gap:10px;align-items:center;border-radius:8px}
.case .soon::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--butter);box-shadow:0 0 8px 1px var(--butter);flex-shrink:0;animation:blink 2s ease-in-out infinite}

/* ---------- FAQ ---------- */
.faq-layout{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start}
.faq-nav{position:sticky;top:100px;padding:10px}
.faq-nav > p{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:8px 10px 8px}
.faq-nav a{display:flex;gap:12px;padding:9px 10px;border-radius:8px;font-size:14.5px;font-weight:500;color:var(--ink-2);border-left:2px solid transparent;transition:all .2s}
.faq-nav a span{font-family:var(--f-mono);font-size:11.5px;color:var(--ink-3);padding-top:2px}
.faq-nav a:hover{background:var(--glass-in);color:var(--ink)}
.faq-nav a.on{background:color-mix(in srgb,var(--lav) 10%,transparent);color:var(--ink);border-left-color:var(--lav);border-radius:0 8px 8px 0}
.faq-nav a.on span{color:color-mix(in srgb,var(--lav) var(--tint-mix),var(--tint))}
.faq-body{padding:8px 28px}
.faq-group{padding:20px 0 14px}
.faq-group + .faq-group{border-top:1px solid var(--glass-line)}
.faq-group .gh{display:flex;gap:12px;align-items:center;margin-bottom:6px}
.faq-group .gh span{font-family:var(--f-mono);font-size:11px;padding:3px 8px;border-radius:6px;--c:var(--mint);background:color-mix(in srgb,var(--c) 12%,transparent);border:1px solid color-mix(in srgb,var(--c) 32%,transparent);color:color-mix(in srgb,var(--c) var(--tint-mix),var(--tint))}
.faq-group .gh p{font-size:20px;font-weight:600;letter-spacing:-.03em}
details{border-radius:10px;margin:4px 0;border:1px solid transparent;transition:background .25s}
details[open]{background:var(--glass-in);border-color:var(--glass-line)}
summary{list-style:none;cursor:pointer;padding:16px 14px;display:flex;justify-content:space-between;gap:24px;align-items:center}
summary::-webkit-details-marker{display:none}
summary h3{font-size:16.5px;font-weight:500}
summary .chev{flex-shrink:0;width:28px;height:28px;border-radius:7px;display:grid;place-items:center;color:var(--ink-3);border:1px solid var(--glass-line);transition:transform .3s,color .2s,border-color .2s;font-size:13px}
details[open] summary .chev{transform:rotate(180deg);color:var(--ink);border-color:var(--lav)}
details .ans{padding:0 60px 18px 14px;color:var(--ink-2);font-size:15.5px}
details .ans p+p{margin-top:12px}

/* ---------- CTA ---------- */
.cta-card{padding:72px;overflow:hidden}
.cta-card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.6;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:40px 40px;
  mask-image:radial-gradient(ellipse 60% 80% at 85% 30%,#000,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 60% 80% at 85% 30%,#000,transparent 70%)}
.cta-card .k{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;gap:10px;padding:6px 12px;border-radius:var(--r-s);background:var(--glass-in);border:1px solid var(--glass-line);color:var(--ink-2)}
.cta-card .k span{color:var(--lav)}
.cta-card h2{margin:24px 0 22px;max-width:780px}
.cta-card h2 span{display:block}
.cta-card h2 span+span{color:var(--ink-3)}
.cta-card .nopitch{margin-top:14px;font-weight:600}
.cta-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:34px}
.cta-actions a.mail{font-size:15px;color:var(--ink-2)}
.cta-actions a.mail b{color:var(--ink);font-weight:600;border-bottom:1px solid var(--lav)}
.guarantees{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:48px}
.guarantees > div{padding:18px 20px;border-radius:12px;background:var(--glass-in);border:1px solid var(--glass-line)}
.guarantees b{display:block;font-size:17px;font-weight:600;margin-bottom:4px}
.guarantees p{color:var(--ink-2);font-size:14.5px}

/* ---------- Pied de page ---------- */
footer{padding:20px 0 30px}
.foot-card{padding:44px 40px 26px}
.foot{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px}
.foot .brand{margin-bottom:18px}
.foot .brand .w{width:32px;height:32px;border-radius:8px;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-weight:700}
.foot .desc{color:var(--ink-2);font-size:15px;max-width:340px}
.foot h4{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:16px}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:15px;color:var(--ink-2)}
.foot ul a{transition:color .2s}
.foot ul a:hover{color:var(--ink)}
.foot-bottom{margin-top:44px;padding-top:22px;border-top:1px solid var(--glass-line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:var(--f-mono);font-size:12px;color:var(--ink-3)}

/* Apparition au défilement */
.js .reveal{opacity:0;translate:0 20px;transition:opacity .8s ease,translate .8s cubic-bezier(.2,.8,.2,1)}
.js .reveal.in{opacity:1;translate:0 0}

/* ---------- Responsive ---------- */
@media (max-width:1240px){
  .nav-links{display:none}
  .nav .burger{display:grid}
  .nav .theme-toggle{margin-left:auto}
  .nav > .btn{display:none}
}
@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr}
  .scene{height:540px;max-width:580px;width:100%;margin:0 auto}
  .pains{grid-template-columns:repeat(2,1fr)}
  .pain:last-child{grid-column:span 2}
  .pillars,.usecases,.kpis{grid-template-columns:repeat(2,1fr)}
  .cases,.lib-groups,.studio-grid{grid-template-columns:1fr 1fr}
  .conv-card,.ia-bottom,.engagement,.integration,.sec-head,.lib-intro{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .step::after{display:none}
  .foot{grid-template-columns:1fr 1fr}
  .logos{grid-template-columns:repeat(4,1fr)}
  .logos p:nth-child(4){border-right:0}
  .logos p:nth-child(-n+4){border-bottom:1px solid var(--glass-line)}
}
@media (max-width:720px){
  section{padding:70px 0}
  .wrap{padding:0 16px}
  .topbar{top:8px;padding:0 8px}
  .hero{padding:50px 0 10px}
  .scene{height:360px}
  .stack{scale:.58;transform-origin:0 0;left:40px;transform:rotateX(14deg) rotateY(-14deg) rotateZ(2deg)}
  .floor{bottom:-20px}
  .conv-card,.manifesto,.cta-card,.engagement,.foot-card{padding:26px}
  .pains,.situations,.pillars,.plus,.usecases,.kpis,.cases,.lib-groups,.studio-grid,.steps,.guarantees,.stats-pair{grid-template-columns:1fr}
  .pain:last-child{grid-column:auto}
  .logos{grid-template-columns:repeat(2,1fr)}
  .logos p{border-bottom:1px solid var(--glass-line)}
  .logos p:nth-child(2n){border-right:0}
  .logos p:nth-child(4){border-right:0}
  .faq-layout{grid-template-columns:1fr;gap:14px}
  .faq-nav{position:static;display:flex;gap:4px;overflow-x:auto;padding:6px}
  .faq-nav > p{display:none}
  .faq-nav a{white-space:nowrap}
  .faq-body{padding:6px 12px}
  details .ans{padding-right:14px}
  .foot{grid-template-columns:1fr}
  .situation{padding:22px}
  .device figure{transform:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .reveal{opacity:1;translate:0 0}
}

/* ---------- Nos marques ---------- */
.brands{padding-top:60px}
.brands-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.brand-card{padding:40px;display:flex;flex-direction:column;gap:20px}
.brand-card.studio{background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--c) 13%,transparent) 0%,transparent 55%),linear-gradient(180deg,var(--hi),transparent 35%),color-mix(in srgb,var(--glass) 60%,#000 0%)}
.bc-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.wordmark{font-size:30px;font-weight:600;letter-spacing:-.045em;line-height:1}
.wordmark span,.izy{font-weight:400;color:color-mix(in srgb,var(--c,var(--lav)) var(--tint-mix),var(--tint))}
.bc-tag{font-family:var(--f-mono);font-size:11.5px;padding:5px 11px;border-radius:999px;border:1px solid var(--glass-border);color:var(--ink-2);white-space:nowrap}
.bc-tag.live{border-color:color-mix(in srgb,var(--c) 55%,transparent);color:color-mix(in srgb,var(--c) var(--tint-mix),var(--tint));display:inline-flex;align-items:center;gap:8px}
.bc-tag.live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c);box-shadow:0 0 8px 1px var(--c);animation:blink 2s ease-in-out infinite}
.brand-card h3{font-size:clamp(26px,calc(2.6 * 1vw / var(--z,1)),34px);letter-spacing:-.04em;margin-top:22px}
.brand-card .body{color:var(--ink-2);font-size:15.5px;max-width:520px}
.brand-card ul{list-style:none;border-top:1px solid var(--glass-line);margin-top:4px}
.brand-card li{padding:13px 0;border-bottom:1px solid var(--glass-line);font-size:15px;display:flex;gap:12px;align-items:baseline}
.brand-card li::before{content:"→";font-family:var(--f-mono);font-size:13px;color:color-mix(in srgb,var(--c) var(--tint-mix),var(--tint))}
.brand-card .btn{align-self:flex-start;margin-top:auto}
.btn .arr{font-family:var(--f-mono);transition:transform .2s}
.btn:hover .arr{transform:translate(2px,-2px)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--glass-border)}
.btn.ghost:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c,var(--lav)) 70%,transparent),0 10px 30px -14px var(--c,var(--lav))}
.sol-head{margin:72px 0 28px}
.sol-title{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:14px}
.sol-title h3{font-size:clamp(24px,calc(2.4 * 1vw / var(--z,1)),30px);letter-spacing:-.04em;--c:var(--lime)}
.sol-side{font-family:var(--f-mono);font-size:12.5px;color:var(--ink-3)}
.sol-head .lead{font-size:16.5px;max-width:760px}
.sol-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sol-card{padding:32px;display:flex;flex-direction:column;gap:12px}
.sol-card .ico3d{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;margin-bottom:10px}
.sol-card .ico3d svg{width:21px;height:21px}
.sol-kicker{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--lav) var(--tint-mix),var(--tint))}
.sol-card h3{font-size:26px;letter-spacing:-.04em;--c:var(--lime)}
.sol-card .body{color:var(--ink-2);font-size:15.5px}
.sol-foot{margin-top:auto;padding-top:14px;font-family:var(--f-mono);font-size:11.5px;color:var(--ink-3);display:flex;align-items:center;gap:10px}
.sol-foot::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--butter);box-shadow:0 0 8px 1px var(--butter);animation:blink 2s ease-in-out infinite;flex-shrink:0}
.perso{margin-top:16px;padding:44px;display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.perso h3{font-size:clamp(28px,calc(3 * 1vw / var(--z,1)),38px);letter-spacing:-.045em;margin-top:14px}
.perso h3 span{color:var(--ink-3)}
.perso .body{color:var(--ink-2);font-size:15.5px}
.perso .body + .body{margin-top:14px}
.perso .btn{margin-top:24px}
.brands-note{margin-top:22px;font-family:var(--f-mono);font-size:12px;color:var(--ink-3)}
@media (max-width:1024px){.perso{grid-template-columns:1fr;gap:12px}}
@media (max-width:860px){.brands-grid,.sol-grid{grid-template-columns:1fr}}
@media (max-width:720px){.brand-card,.perso{padding:26px}.sol-card{padding:24px}.brands{padding-top:40px}}

/* izy Studio reste sombre en mode clair (contraste avec Factory) */
[data-theme="light"] .brand-card.studio{--ink:#EDEEF3;--ink-2:#A3A7B5;--ink-3:#6B7080;--glass-line:rgba(255,255,255,.08);--glass-border:rgba(255,255,255,.14);--hi:rgba(255,255,255,.05);--tint:#fff;--tint-mix:72%;
  color:var(--ink);background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--lime) 14%,transparent) 0%,transparent 55%),#121218;border-color:#121218}
.brand-card.pastel.p-lav{background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--lav) 24%,transparent) 0%,transparent 60%),linear-gradient(180deg,var(--hi),transparent 35%),var(--glass)}

/* =========================================================
   COUCHE MOTION v6 — mise en scène au défilement (esprit Apple / Google)
   ========================================================= */
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false}

/* Titres plus grands, plus « keynote » */
h2{font-size:clamp(40px,calc(5.8 * 1vw / var(--z,1)),82px);letter-spacing:-.05em;line-height:1}
.sec-head{margin-bottom:72px}
.lead{font-size:19px}

/* Barre de lecture */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:80;transform-origin:0 50%;transform:scaleX(var(--pg,0));
  background:linear-gradient(90deg,var(--lav),var(--sky),var(--mint),var(--lime));box-shadow:0 0 12px var(--lav)}

/* Dégradés de texte qui ondulent */
.grad{background-size:220% 100%;animation:sheen 7s ease-in-out infinite alternate}
@keyframes sheen{from{background-position:0% 50%}to{background-position:100% 50%}}

/* Apparition continue au défilement (réversible) — pilotée par --sp */
.wrap,.wrap > *,.hs-sticky,.pains{perspective:1600px}
.js .reveal{opacity:var(--sp,0);translate:0 calc((1 - var(--sp,0)) * 80px);scale:calc(.92 + var(--sp,0) * .08);
  rotate:x calc((1 - var(--sp,0)) * 18deg);transform-origin:50% 100%;transition:none}

/* ---------- Hero épinglé ---------- */
.hero-pin{height:calc(155 * 1vh / var(--z,1));padding:0}
.hero-sticky{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;align-items:center;overflow:hidden;padding-top:70px}
.hero-sticky > .wrap{width:100%}
.hero-copy{opacity:calc(1 - var(--hp,0) * 1.8);translate:0 calc(var(--hp,0) * -90px)}
.scene{will-change:transform}
.stack{transition:none}
.pn-main{transform:translateZ(calc(-40px * var(--spread,0)))}
.pn-chip{transform:translateZ(calc(80px + 120px * var(--spread,0)))}
.pn-kpi{transform:translateZ(calc(110px + 160px * var(--spread,0)))}
.pn-ring{transform:translateZ(calc(150px + 200px * var(--spread,0)))}
.pn-week{transform:translateZ(calc(190px + 240px * var(--spread,0)))}
.panel{animation:bob 6s ease-in-out infinite}
.pn-kpi{animation-delay:-1.5s}.pn-ring{animation-delay:-3s}.pn-week{animation-delay:-4.5s}.pn-chip{animation-delay:-2s}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -10px}}
.floor{opacity:calc(.55 - var(--hp,0) * .3)}
.scroll-hint{position:absolute;left:50%;bottom:28px;translate:-50% 0;width:22px;height:36px;border-radius:12px;border:1.5px solid var(--glass-border);opacity:calc(1 - var(--hp,0) * 4)}
.scroll-hint::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;border-radius:2px;background:var(--ink-2);translate:-50% 0;animation:hint 1.8s ease-in-out infinite}
@keyframes hint{0%{opacity:0;top:6px}40%{opacity:1}100%{opacity:0;top:18px}}

/* Entrée du titre au chargement : lignes qui montent hors d'un masque */
.hero h1 > span{overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.hero h1 > span > i{display:inline-block;font-style:normal;animation:rise 1.1s cubic-bezier(.16,1,.3,1) both}
.hero h1 > span:nth-child(2) > i{animation-delay:.12s}
.hero h1 .grad > i{background:inherit;-webkit-background-clip:text;background-clip:text;color:transparent}
@keyframes rise{from{transform:translateY(105%) rotate(4deg);filter:blur(6px)}to{transform:none;filter:none}}
.hero .pill,.hero .lead,.hero .actions{animation:fadeup 1s cubic-bezier(.16,1,.3,1) both}
.hero .pill{animation-delay:.05s}.hero .lead{animation-delay:.35s}.hero .actions{animation-delay:.5s}
.scene{animation:scenein 1.6s cubic-bezier(.16,1,.3,1) .2s both}
@keyframes fadeup{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes scenein{from{opacity:0;translate:0 60px;scale:.9}to{opacity:1;translate:0 0;scale:1}}

/* ---------- Constat : défilement horizontal épinglé ---------- */
.hs{position:relative}
.hs-sticky{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.hs-head .sec-head{margin-bottom:48px}
.hs .pains{display:flex;gap:20px;width:max-content;padding:0 max(24px,calc((calc(100 * 1vw / var(--z,1)) - 1152px) / 2));will-change:transform;translate:var(--hx,0) 0}
.hs .pain{width:min(400px,calc(80 * 1vw / var(--z,1)));min-height:300px;padding:34px 32px;flex:none}
.hs .pain h3{font-size:30px;letter-spacing:-.04em;margin-top:auto}
.hs .pain .badge{width:46px;height:46px;font-size:14px;border-radius:12px}
.hs .pain p:last-child{font-size:16px}
.hs-dots{display:flex;gap:6px;justify-content:center;margin-top:36px}
.hs-dots i{width:24px;height:3px;border-radius:2px;background:var(--glass-border);overflow:hidden;position:relative}
.hs-dots i::after{content:"";position:absolute;inset:0;background:var(--ink);transform-origin:0 50%;transform:scaleX(var(--f,0))}

/* ---------- Manifeste : texte qui s'allume mot à mot ---------- */
.manifesto{background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:150px 0 110px!important;margin-top:0!important}
.manifesto::after{display:none}
.manifesto blockquote{font-size:clamp(34px,calc(5.4 * 1vw / var(--z,1)),76px);font-weight:600;letter-spacing:-.05em;line-height:1.04;max-width:1100px}
.manifesto .wd{opacity:var(--o,.12);transition:opacity .25s linear}
.manifesto cite{margin-top:40px}

/* ---------- Offres izy : bordure en dégradé qui tourne ---------- */
.ring{position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;z-index:3;
  background:conic-gradient(from var(--ang),transparent 0 55%,var(--lav) 70%,var(--mint) 82%,var(--lime) 90%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  animation:spin 6s linear infinite;opacity:.9}
.brand-card.studio .ring{animation-duration:8s;animation-direction:reverse}
@keyframes spin{to{--ang:360deg}}

/* ---------- Cas d'usage IA : projecteur qui suit la souris ---------- */
.usecase{position:relative;overflow:hidden}
.usecase::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--c) 22%,transparent),transparent 70%)}
.usecases:hover .usecase::after{opacity:1}

/* ---------- Méthode : ligne de progression ---------- */
.steps-line{position:absolute;left:24px;right:24px;top:45px;height:2px;background:var(--glass-border);z-index:2;pointer-events:none;border-radius:2px}
.steps-line::after{content:"";position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(var(--lp,0));border-radius:2px;
  background:linear-gradient(90deg,var(--lav),var(--sky),var(--mint),var(--lime));box-shadow:0 0 14px var(--lav)}
.step{z-index:auto}
.step .sphere{position:relative;z-index:3;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s,background .5s;background:var(--bg)}
.step.lit .sphere{transform:scale(1.18);background:color-mix(in srgb,var(--c1) 30%,var(--bg));box-shadow:0 0 0 6px color-mix(in srgb,var(--c1) 14%,transparent),0 0 40px -4px var(--c1)}

/* ---------- Clients : bandeau de logos en continu ---------- */
.logos.marq{display:block!important;overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.logos .track{display:flex;width:max-content;animation:marq 32s linear infinite}
.logos.marq:hover .track{animation-play-state:paused}
.logos .track p{flex:none;padding:30px 52px;font-size:22px;letter-spacing:-.03em;border-right:1px solid var(--glass-line)!important;border-bottom:0!important}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- Chiffres : compteur + halo ---------- */
.kpi h3{font-variant-numeric:tabular-nums}

/* Boutons aimantés */
.btn{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .2s}

/* ---------- Mobile / tablette : pas d'épinglage ---------- */
@media (max-width:900px){
  .hero-pin{height:auto}
  .hero-sticky{position:static;height:auto;padding:110px 0 30px;overflow:visible;overflow-x:clip}
  .hero-copy{opacity:1;translate:none;filter:none}
  .scroll-hint{display:none}
  .hs-sticky{position:static;height:auto;overflow:visible;padding:70px 0 0}
  .hs .pains{display:grid;grid-template-columns:1fr;width:auto;padding:0 16px;translate:none}
  .hs .pain{width:auto;min-height:0}
  .hs-dots{display:none}
  .steps-line{display:none}
  .manifesto{padding:90px 0 60px!important}
}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;translate:none;scale:none;rotate:none;filter:none}
  .hero-copy{opacity:1;translate:none;filter:none}
  .manifesto .wd{opacity:1}
  .hero-pin{height:auto}.hero-sticky{position:static;height:auto;padding:120px 0 40px}
  .hs-sticky{position:static;height:auto;overflow:visible}
  .hs .pains{flex-wrap:wrap;width:auto;translate:none}
}
body{overflow-x:clip!important}

.steps-line{display:none}
.step:not(:last-child)::after{content:"";display:block;position:absolute;top:45px;left:calc(24px + 42px + 10px);right:-14px;height:2px;border-radius:2px;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,var(--c1),color-mix(in srgb,var(--c1) 40%,var(--mint))) no-repeat 0 0 / calc(var(--f,0) * 100%) 100%,var(--glass-border);
  box-shadow:0 0 12px -2px color-mix(in srgb,var(--c1) calc(var(--f,0) * 100%),transparent)}
@media (max-width:1024px){.step:not(:last-child)::after{display:none}}
.steps > .step:nth-child(2){--c1:var(--lav)}.steps > .step:nth-child(3){--c1:var(--sky)}.steps > .step:nth-child(4){--c1:var(--mint)}.steps > .step:nth-child(5){--c1:var(--lime)}

/* =========================================================
   v7 « MODERNE » — moins de cadres, bento, centré, grain, pilules blanches
   ========================================================= */
:root{--r:28px;--r-m:20px}
:root,[data-theme="dark"]{--tile:#101014;--tile-2:#15151A;--tile-line:rgba(255,255,255,.055);--btn-bg:#F5F5F7;--btn-ink:#0A0A0C}
[data-theme="light"]{--tile:#FFFFFF;--tile-2:#FAFAFB;--tile-line:rgba(14,16,22,.06);--btn-bg:#0E0F13;--btn-ink:#fff}

/* Grain + fond plus calme */
body::after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(/%23n)'/></svg>")}
.aura::before{opacity:.45}
.aura i{filter:blur(130px)}

section{padding:150px 0}
h2{font-size:clamp(44px,calc(6.4 * 1vw / var(--z,1)),96px);letter-spacing:-.055em;line-height:.98}
h2 .l2{color:var(--ink-3)}

/* Tuiles : plus de bordures appuyées, grands rayons */
.glass,.pastel{background:linear-gradient(180deg,var(--tile-2),var(--tile));border:1px solid var(--tile-line);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:var(--r)}
[data-theme="light"] .glass,[data-theme="light"] .pastel{box-shadow:0 1px 2px rgba(14,16,22,.04),0 20px 50px -30px rgba(14,16,22,.18)}
.pastel{background:radial-gradient(90% 70% at 100% 0%,color-mix(in srgb,var(--c) 14%,transparent),transparent 65%),linear-gradient(180deg,var(--tile-2),var(--tile))}
.pastel::after{display:none}
.glass-in{border-radius:14px}
.topbar .nav.glass{background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5)}

/* Intitulés : plus de pastille encadrée */
.eyebrow{background:none!important;border:0!important;padding:0;font-size:12.5px;letter-spacing:.14em;color:var(--ink-2);margin-bottom:26px}
.eyebrow::before{width:18px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--dot,var(--lav)),transparent);box-shadow:none}

/* En-têtes de section centrés */
.sec-head,.lib-intro{grid-template-columns:1fr!important;text-align:center;justify-items:center;gap:26px;margin-bottom:80px}
.sec-head .lead,.lib-intro .lead,.lib-intro p{margin-left:auto;margin-right:auto;max-width:700px}
.sec-head > div{display:flex;flex-direction:column;align-items:center}
.lib-intro > div{display:flex;flex-direction:column;align-items:center}
.lib-intro .missing{max-width:560px}
.cases-head{text-align:center;display:flex;flex-direction:column;align-items:center}

/* Boutons : pilule pleine façon Apple */
.btn{background:var(--btn-bg);color:var(--btn-ink);border-radius:999px;padding:14px 24px;font-weight:600;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--btn-bg) 85%,transparent),0 12px 40px -14px color-mix(in srgb,var(--lav) 70%,transparent)}
.btn:hover{box-shadow:0 0 0 1px var(--btn-bg),0 16px 50px -12px color-mix(in srgb,var(--lav) 90%,transparent)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--tile-line),inset 0 0 0 1px var(--glass-border)}
.nav .btn{padding:9px 18px;font-size:13.5px}

/* Navigation épurée : liens clés au centre, le reste dans le menu */
.nav{max-width:1240px;height:58px;border-radius:999px;padding:0 8px 0 16px}
.nav-links{margin:0 auto;gap:2px}
.nav-links a{font-size:13.5px;padding:7px 12px;border-radius:999px}
/* menu du haut : les sections de la page principale, toutes visibles */
.nav .burger{display:grid!important;border-radius:999px}
.nav .icon-btn{border-radius:999px}

/* Hero centré : la console dépasse en bas puis monte au centre */
.hero-grid{grid-template-columns:1fr!important;justify-items:center;text-align:center;gap:0}
.hero-sticky{align-items:flex-start;padding-top:150px}
.hero-copy{display:flex;flex-direction:column;align-items:center}
.hero h1{font-size:clamp(56px,calc(9.4 * 1vw / var(--z,1)),148px);letter-spacing:-.06em;line-height:.92;margin:30px 0 30px}
.hero h1 > span{white-space:nowrap}
.hero .lead{max-width:680px;margin:0 auto;font-size:20px}
.hero .actions{justify-content:center}
.pill{background:color-mix(in srgb,var(--tile-2) 80%,transparent);border-radius:999px;padding:7px 14px 7px 12px}
.scene{width:600px;height:540px;margin-top:70px}

/* Bento : Nos marques */
.brands-grid{grid-template-columns:7fr 5fr;gap:14px}
.brand-card{padding:48px;border-radius:32px;min-height:560px;overflow:hidden}
.brand-card.pastel.p-lav{background:radial-gradient(70% 60% at 85% 10%,color-mix(in srgb,var(--lav) 30%,transparent),transparent 70%),radial-gradient(50% 50% at 0% 100%,color-mix(in srgb,var(--sky) 14%,transparent),transparent 70%),linear-gradient(180deg,var(--tile-2),var(--tile))}
.brand-card.studio{background:radial-gradient(70% 60% at 90% 0%,color-mix(in srgb,var(--lime) 18%,transparent),transparent 70%),linear-gradient(180deg,#141418,#0C0C0F)!important}
.brand-card h3{font-size:clamp(30px,calc(3.2 * 1vw / var(--z,1)),46px);letter-spacing:-.05em}
.sol-head{text-align:center;display:flex;flex-direction:column;align-items:center;margin:110px 0 40px}
.sol-title{flex-direction:column;align-items:center;gap:8px}
.sol-title h3{font-size:clamp(30px,calc(3.4 * 1vw / var(--z,1)),48px)}
.sol-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sol-card{border-radius:32px;padding:36px}
.perso{margin-top:0;grid-template-columns:1fr!important;gap:10px;border-radius:32px;padding:36px}
.sol-grid + .perso{display:none}
.perso.in-grid{display:grid}
.brands-note{text-align:center}

/* Bento : la Wapp */
.pillars{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.pillar{padding:34px;min-height:300px}
.pillars .pillar:nth-child(1){grid-column:span 7}.pillars .pillar:nth-child(2){grid-column:span 5}
.pillars .pillar:nth-child(3){grid-column:span 5}.pillars .pillar:nth-child(4){grid-column:span 7}
.pillar h3{font-size:clamp(24px,calc(2.4 * 1vw / var(--z,1)),34px);letter-spacing:-.045em}
.plus{gap:14px}
.plus > div{border-radius:var(--r);padding:32px}

/* Bento : IA */
.usecases{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;background:none;border:0;border-radius:0;overflow:visible}
.usecase{background:linear-gradient(180deg,var(--tile-2),var(--tile));border:1px solid var(--tile-line);border-radius:var(--r);padding:30px;min-height:210px}
.usecase:nth-child(1),.usecase:nth-child(6),.usecase:nth-child(7),.usecase:nth-child(8){grid-column:span 2}
.usecase:nth-child(1) h3,.usecase:nth-child(6) h3{font-size:24px;letter-spacing:-.04em}

/* Bento : chiffres */
.kpis{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:14px}
.kpi{border-radius:var(--r);padding:30px}
.kpis .kpi:nth-child(1){grid-column:span 2;grid-row:span 2;justify-content:flex-end}
.kpis .kpi:nth-child(1) h3{font-size:clamp(80px,calc(11 * 1vw / var(--z,1)),170px);letter-spacing:-.07em;line-height:.9}
.kpis .kpi:nth-child(1) p{font-size:17px}
.kpis .kpi:nth-child(8){grid-column:span 2}

/* Divers */
.situation,.feat,.step,.case,.lib-group,.sovereign,.principle,.integration,.engagement,.faq-body,.faq-nav,.conv-card,.foot-card{border-radius:var(--r)}
.cta-card{border-radius:40px;text-align:center;display:flex;flex-direction:column;align-items:center;padding:96px 64px}
.cta-card h2{margin-left:auto;margin-right:auto}
.cta-card .lead{margin:0 auto}
.cta-actions{justify-content:center}
.guarantees{width:100%;text-align:left}
.logos .track p{font-size:26px}

@media (max-width:1100px){
  .sol-grid{grid-template-columns:1fr 1fr}
  .usecase:nth-child(n){grid-column:auto}
  .usecases{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .hero-sticky{padding-top:120px}
  .hero h1 > span{white-space:normal}
  .scene{width:100%;max-width:560px;margin-top:30px}
  .brands-grid{grid-template-columns:1fr}
  .brand-card{min-height:0;padding:30px}
  .pillars .pillar:nth-child(n){grid-column:span 12}
}
@media (max-width:720px){
  section{padding:90px 0}
  .sol-grid,.usecases,.kpis{grid-template-columns:1fr}
  .kpis .kpi:nth-child(n){grid-column:auto;grid-row:auto}
  .kpis .kpi:nth-child(1) h3{font-size:84px}
  .cta-card{padding:48px 24px}
  .sec-head,.lib-intro{margin-bottom:48px}
  .nav{padding:0 6px 0 12px}
}
.brand-card.studio h3{font-size:clamp(26px,calc(2.5 * 1vw / var(--z,1)),36px)}
@media (max-width:720px){.scene{margin-top:90px!important;height:340px}}

/* =========================================================
   OFFRES v8 — 3 portes, test, plongée plein écran
   ========================================================= */
.d-factory,.w-factory,[data-offer="factory"]{--oc:#A58BFF;--oc2:#7B4DFF;--obg:#100A26}
.d-studio,.w-studio,[data-offer="studio"]{--oc:#E2F38E;--oc2:#B9D94A;--obg:#0B0D07}
.d-solutions,.w-solutions,[data-offer="solutions"]{--oc:#9BE8D4;--oc2:#5CC9AE;--obg:#071210}

.pick-q{text-align:center;font-family:var(--f-mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:-30px 0 26px}

/* ---------- Les portes ---------- */
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;perspective:1400px}
.door{position:relative;isolation:isolate;overflow:hidden;text-align:left;cursor:pointer;color:var(--ink);
  display:flex;flex-direction:column;gap:10px;min-height:540px;padding:30px;border-radius:32px;
  background:linear-gradient(180deg,var(--tile-2),var(--tile));border:1px solid var(--tile-line);
  transition:transform .6s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .5s}
.door:hover,.door:focus-visible{border-color:color-mix(in srgb,var(--oc) 55%,transparent);
  box-shadow:0 40px 90px -40px color-mix(in srgb,var(--oc) 70%,transparent),inset 0 1px 0 color-mix(in srgb,var(--oc) 40%,transparent);outline:none}
.doors:hover .door:not(:hover){opacity:.55;filter:saturate(.6)}
.door{transition:transform .6s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .5s,opacity .4s,filter .4s}
.door-glow{position:absolute;inset:-30%;z-index:-1;background:radial-gradient(40% 35% at 70% 25%,color-mix(in srgb,var(--oc) 35%,transparent),transparent 70%);opacity:.55;transition:opacity .5s,transform .8s cubic-bezier(.16,1,.3,1)}
.door:hover .door-glow{opacity:1;transform:scale(1.15)}
.door-num{font-family:var(--f-mono);font-size:12px;color:var(--ink-3);margin-top:auto}
.door-name{font-size:clamp(30px,calc(3 * 1vw / var(--z,1)),42px);font-weight:600;letter-spacing:-.05em;line-height:1}
.door-name em{font-style:normal;font-weight:400;color:var(--oc)}
[data-theme="light"] .door-name em{color:var(--oc2)}
.door-tag{align-self:flex-start;font-family:var(--f-mono);font-size:11px;padding:4px 10px;border-radius:999px;border:1px solid var(--glass-border);color:var(--ink-2)}
.door-tag.live{border-color:color-mix(in srgb,var(--oc) 55%,transparent);color:var(--oc);display:inline-flex;gap:7px;align-items:center}
[data-theme="light"] .door-tag.live{color:#6E8A12}
.door-tag.live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--oc);box-shadow:0 0 8px var(--oc);animation:blink 2s infinite}
.door-pitch{font-size:19px;font-weight:600;letter-spacing:-.03em;line-height:1.25;margin-top:6px}
.door-for{font-size:14px;color:var(--ink-2);line-height:1.5}
.door-go{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin-top:14px;padding:11px 18px;border-radius:999px;font-weight:600;font-size:14px;
  background:var(--oc);color:#0A0A0C;transform:translateY(4px);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s}
.door-go b{transition:transform .3s}
.door:hover .door-go{transform:none;box-shadow:0 12px 30px -10px var(--oc)}
.door:hover .door-go b{transform:translateX(4px)}

/* Illustrations animées des portes */
.door-art{position:absolute;top:28px;left:30px;right:30px;height:200px;pointer-events:none}
.d-factory .blk{position:absolute;border-radius:12px;border:1px solid color-mix(in srgb,var(--oc) 45%,transparent);background:color-mix(in srgb,var(--oc) 10%,transparent);transition:transform .7s cubic-bezier(.16,1,.3,1)}
.d-factory .b1{left:0;top:30px;width:58%;height:110px}
.d-factory .b2{left:62%;top:0;width:38%;height:70px;background:color-mix(in srgb,var(--oc) 22%,transparent)}
.d-factory .b3{left:62%;top:78px;width:38%;height:62px}
.d-factory .b4{left:12%;top:150px;width:76%;height:34px;background:var(--oc);opacity:.85;border:0}
.d-factory .b1{transform:translate(-20px,10px) rotate(-4deg)}.d-factory .b2{transform:translate(20px,-14px) rotate(6deg)}
.d-factory .b3{transform:translate(26px,16px) rotate(-5deg)}.d-factory .b4{transform:translate(0,26px) rotate(3deg)}
.d-factory:hover .blk{transform:none}
.d-studio .code{position:absolute;left:0;height:10px;border-radius:5px;background:color-mix(in srgb,var(--oc) 70%,transparent);transform-origin:0 50%;animation:typeL 3.2s cubic-bezier(.65,0,.35,1) infinite}
.d-studio .l1{top:30px;width:62%}.d-studio .l2{top:56px;left:8%;width:46%;background:color-mix(in srgb,var(--sky) 70%,transparent);animation-delay:.3s}
.d-studio .l3{top:82px;left:8%;width:70%;background:rgba(255,255,255,.25);animation-delay:.6s}.d-studio .l4{top:108px;width:34%;animation-delay:.9s}
.d-studio .caret{position:absolute;top:130px;left:0;width:3px;height:22px;background:var(--oc);animation:blink 1s steps(1) infinite}
@keyframes typeL{0%{transform:scaleX(0)}35%,80%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}
.d-solutions .app{position:absolute;width:96px;height:96px;border-radius:26px;border:1px solid color-mix(in srgb,var(--oc) 45%,transparent);
  background:linear-gradient(145deg,color-mix(in srgb,var(--oc) 35%,transparent),color-mix(in srgb,var(--sky) 12%,transparent));animation:floatA 5s ease-in-out infinite;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.d-solutions .a1{left:4%;top:40px}.d-solutions .a2{left:38%;top:6px;animation-delay:-1.6s;background:linear-gradient(145deg,color-mix(in srgb,var(--lime) 35%,transparent),transparent)}
.d-solutions .a3{left:70%;top:70px;width:76px;height:76px;border-radius:20px;animation-delay:-3.2s}
@keyframes floatA{50%{translate:0 -12px}}

/* ---------- Le test ---------- */
.quiz-cta{display:flex;align-items:center;gap:20px;justify-content:center;flex-wrap:wrap;margin:22px auto 0;padding:18px 18px 18px 22px;border-radius:999px;max-width:820px;
  background:linear-gradient(180deg,var(--tile-2),var(--tile));border:1px solid var(--tile-line)}
.quiz-cta p{color:var(--ink-2);font-size:15px}
.quiz-cta p b{color:var(--ink)}
.quiz-ico{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#0A0A0C;
  background:conic-gradient(from 0deg,#BBA8F8,#E2F38E,#9BE8D4,#BBA8F8);animation:spinA 6s linear infinite}
@keyframes spinA{to{transform:rotate(360deg)}}
.brands-note{margin-top:26px}

.quiz{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px;background:rgba(5,5,8,.6);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:fadeIn .3s both}
.quiz[hidden]{display:none}
@keyframes fadeIn{from{opacity:0}}
.quiz-box{width:min(720px,100%);border-radius:32px;padding:26px 30px 32px;background:linear-gradient(180deg,var(--tile-2),var(--tile));border:1px solid var(--glass-border);
  box-shadow:0 60px 120px -40px rgba(0,0,0,.8);animation:popIn .5s cubic-bezier(.16,1,.3,1) both}
@keyframes popIn{from{opacity:0;transform:translateY(30px) scale(.96)}}
.quiz-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.quiz-steps{display:flex;gap:6px}
.quiz-steps i{width:46px;height:4px;border-radius:4px;background:var(--glass-border);overflow:hidden;position:relative}
.quiz-steps i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#BBA8F8,#9BE8D4,#E2F38E);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.quiz-steps i.done::after{transform:scaleX(1)}
.q-num{font-family:var(--f-mono);font-size:12px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase}
.q-title{font-size:clamp(26px,calc(3.4 * 1vw / var(--z,1)),38px);letter-spacing:-.045em;margin:10px 0 22px}
.q-opts{display:grid;gap:10px}
.q-opt{display:flex;align-items:center;gap:16px;text-align:left;padding:18px 20px;border-radius:18px;font-size:16px;color:var(--ink);
  background:var(--glass-in);border:1px solid var(--tile-line);transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,background .3s;animation:fadeup .5s cubic-bezier(.16,1,.3,1) both}
.q-opt:nth-child(2){animation-delay:.06s}.q-opt:nth-child(3){animation-delay:.12s}
.q-opt kbd{font-family:var(--f-mono);font-size:12px;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;border:1px solid var(--glass-border);color:var(--ink-2);flex-shrink:0}
.q-opt:hover,.q-opt:focus-visible{transform:translateX(6px);border-color:var(--lav);background:color-mix(in srgb,var(--lav) 10%,transparent);outline:none}
.q-opt.pick{border-color:var(--lav);background:color-mix(in srgb,var(--lav) 22%,transparent)}
.q-stage-out{animation:slideOut .3s ease both}
@keyframes slideOut{to{opacity:0;transform:translateX(-30px)}}
.q-result{text-align:center;padding:10px 0 4px;position:relative}
.q-result .q-num{display:block}
.q-badge{width:120px;height:120px;margin:18px auto 18px;border-radius:34px;display:grid;place-items:center;font-size:34px;font-weight:700;letter-spacing:-.05em;color:#0A0A0C;
  background:linear-gradient(145deg,var(--oc),var(--oc2));box-shadow:0 30px 60px -20px var(--oc),inset 0 1px 0 rgba(255,255,255,.6);animation:badge 1s cubic-bezier(.16,1,.3,1) both}
@keyframes badge{0%{transform:scale(.2) rotate(-30deg);opacity:0}60%{transform:scale(1.1) rotate(6deg)}100%{transform:none;opacity:1}}
.q-match{font-family:var(--f-mono);font-size:13px;color:var(--oc);margin-bottom:6px}
.q-result h4{font-size:clamp(30px,calc(4 * 1vw / var(--z,1)),44px);letter-spacing:-.05em;line-height:1.05;margin-bottom:10px}
.q-result h4 em{font-style:normal;font-weight:400;color:var(--oc)}
.q-result p{color:var(--ink-2);max-width:460px;margin:0 auto 24px}
.q-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.q-result .btn.go{background:var(--oc);color:#0A0A0C;box-shadow:0 14px 40px -12px var(--oc)}
.spark{position:absolute;width:8px;height:8px;border-radius:2px;pointer-events:none;left:50%;top:90px;animation:spark 1.1s cubic-bezier(.16,1,.3,1) forwards}
@keyframes spark{to{transform:translate(var(--dx),var(--dy)) rotate(var(--r));opacity:0}}

/* ---------- Plongée plein écran ---------- */
.dive{position:fixed!important;inset:0;z-index:110;overflow-y:auto;overscroll-behavior:contain;color:#F2F2F6;
  background:var(--obg);clip-path:circle(0 at var(--x,50%) var(--y,50%));transition:clip-path .9s cubic-bezier(.77,0,.18,1),background .6s}
.dive[hidden]{display:none!important}
.dive.open{clip-path:circle(150% at var(--x,50%) var(--y,50%));visibility:visible}
.dive.closing{transition-duration:.6s}
.dive::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(50% 50% at 80% 10%,color-mix(in srgb,var(--oc) 28%,transparent),transparent 70%),radial-gradient(40% 40% at 0% 100%,color-mix(in srgb,var(--oc2) 18%,transparent),transparent 70%);transition:background .6s}
.dive{--oc:#BBA8F8;--oc2:#8E76F2;--obg:#0D0B1A}
.dive.o-studio{--oc:#E2F38E;--oc2:#B9D94A;--obg:#0B0D07}
.dive.o-solutions{--oc:#9BE8D4;--oc2:#5CC9AE;--obg:#071210}
.dive-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:16px;padding:14px max(16px,calc((calc(100 * 1vw / var(--z,1)) - 1200px)/2));
  background:color-mix(in srgb,var(--obg) 75%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06)}
.dive-bar .brand img{width:30px;height:30px;border-radius:8px}
.dive-bar .brand b{font-size:16px}
.dive-tabs{margin:0 auto;display:flex;gap:4px;padding:4px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.dive-tabs button{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:13.5px;font-weight:500;color:rgba(255,255,255,.6);transition:all .3s}
.dive-tabs button em{font-style:normal;font-weight:400;color:var(--oc)}
.dive-tabs button i{width:7px;height:7px;border-radius:50%;background:var(--oc);opacity:.5}
.dive-tabs button:hover{color:#fff}
.dive-tabs button.on{background:var(--oc);color:#0A0A0C}
.dive-tabs button.on em{color:#0A0A0C}
.dive-tabs button.on i{background:#0A0A0C;opacity:1}
.dive .icon-btn{color:#fff;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);border-radius:999px}

.world{display:none;position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:60px 24px 40px;--ink:#F2F2F6;--ink-2:#B6B8C4;--ink-3:#7E8190}
.world.on{display:block}
.w-hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;min-height:calc(calc(100 * 1vh / var(--z,1)) - 220px)}
.w-copy .bc-head{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.w-copy .wordmark{font-size:28px;font-weight:600;letter-spacing:-.045em}
.w-copy .wordmark span,.world .izy{font-weight:400;color:var(--oc)}
.world .bc-tag{border-color:rgba(255,255,255,.15);color:var(--ink-2)}
.world .bc-tag.live{border-color:color-mix(in srgb,var(--oc) 55%,transparent);color:var(--oc)}
.w-title{font-size:clamp(44px,calc(6 * 1vw / var(--z,1)),92px);letter-spacing:-.06em;line-height:.95;margin:28px 0 24px}
.w-lead{font-size:19px;color:var(--ink-2);max-width:540px;line-height:1.6;margin-bottom:32px}
.world .btn{background:var(--oc);color:#0A0A0C;box-shadow:0 16px 44px -14px var(--oc)}

/* Entrée échelonnée des éléments d'un univers */
.world.on .w-copy > *,.world.on .w-steps li,.world.on .w-prod,.world.on .w-perso{animation:worldIn .9s cubic-bezier(.16,1,.3,1) both}
.world.on .w-copy > :nth-child(1){animation-delay:.35s}.world.on .w-copy > :nth-child(2){animation-delay:.45s}
.world.on .w-copy > :nth-child(3){animation-delay:.55s}.world.on .w-copy > :nth-child(4){animation-delay:.65s}
.world.on .w-steps li:nth-child(1),.world.on .w-prod:nth-child(1){animation-delay:.7s}
.world.on .w-steps li:nth-child(2),.world.on .w-prod:nth-child(2){animation-delay:.8s}
.world.on .w-steps li:nth-child(3),.world.on .w-perso{animation-delay:.9s}
.world.on .w-visual{animation:visIn 1.2s cubic-bezier(.16,1,.3,1) .3s both}
@keyframes worldIn{from{opacity:0;transform:translateY(40px);filter:blur(8px)}}
@keyframes visIn{from{opacity:0;transform:perspective(1200px) rotateY(-25deg) rotateX(10deg) scale(.85)}}

/* Étapes */
.w-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px;counter-reset:s}
.w-steps li{padding:28px;border-radius:28px;font-size:20px;font-weight:500;letter-spacing:-.025em;line-height:1.3;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08);min-height:170px;display:flex;flex-direction:column;gap:30px}
.w-steps li span{font-family:var(--f-mono);font-size:12px;color:var(--oc);width:34px;height:34px;border-radius:10px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--oc) 45%,transparent);background:color-mix(in srgb,var(--oc) 10%,transparent)}

/* Visuel Factory : la plateforme s'assemble */
.w-visual{position:relative;height:460px;perspective:1200px}
.fv-grid{position:absolute;inset:0;border-radius:30px;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px;
  mask-image:radial-gradient(circle at 50% 50%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 30%,transparent 75%)}
.fv-win{position:absolute;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.fv-a{left:4%;top:60px;width:66%;height:250px;padding:16px;animation:asm1 6s cubic-bezier(.16,1,.3,1) infinite}
.fv-a i{display:inline-block;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.2);margin-right:5px}
.fv-a span{display:block;height:12px;border-radius:6px;background:rgba(255,255,255,.1);margin-top:18px}
.fv-a span:nth-of-type(1){width:60%;background:var(--oc)}.fv-a span:nth-of-type(2){width:85%}.fv-a span:nth-of-type(3){width:45%}
.fv-b{right:4%;top:20px;width:34%;height:150px;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:8px;animation:asm2 6s cubic-bezier(.16,1,.3,1) infinite}
.fv-b b{border-radius:8px;background:color-mix(in srgb,var(--oc) 25%,transparent)}
.fv-phone{position:absolute;right:12%;bottom:30px;width:130px;height:240px;border-radius:26px;border:1px solid rgba(255,255,255,.18);background:rgba(10,10,20,.7);padding:24px 14px;display:flex;flex-direction:column;gap:10px;animation:asm3 6s cubic-bezier(.16,1,.3,1) infinite;box-shadow:0 40px 70px -30px var(--oc)}
.fv-phone span{height:34px;border-radius:10px;background:rgba(255,255,255,.08)}.fv-phone span:first-child{background:var(--oc);opacity:.8}
.fv-chip{position:absolute;left:14%;bottom:50px;padding:10px 16px;border-radius:999px;font-family:var(--f-mono);font-size:13px;color:#0A0A0C;background:linear-gradient(90deg,var(--oc),var(--mint));box-shadow:0 0 40px -6px var(--oc);animation:asm4 6s cubic-bezier(.16,1,.3,1) infinite}
@keyframes asm1{0%{transform:translate(-60px,30px) rotate(-8deg);opacity:0}20%,85%{transform:none;opacity:1}100%{opacity:0}}
@keyframes asm2{0%,8%{transform:translate(60px,-40px) rotate(10deg);opacity:0}28%,85%{transform:none;opacity:1}100%{opacity:0}}
@keyframes asm3{0%,16%{transform:translate(40px,80px) rotate(12deg);opacity:0}36%,85%{transform:none;opacity:1}100%{opacity:0}}
@keyframes asm4{0%,26%{transform:scale(0);opacity:0}42%,85%{transform:none;opacity:1}100%{opacity:0}}

/* Visuel Studio : éditeur + composants */
.sv-editor{position:absolute;left:0;top:40px;width:78%;height:300px;border-radius:20px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.1);overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.9);transform:rotateY(14deg) rotateX(6deg)}
.sv-bar{display:flex;gap:6px;padding:14px;border-bottom:1px solid rgba(255,255,255,.06)}
.sv-bar i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.15)}
.sv-code{padding:22px;display:flex;flex-direction:column;gap:14px}
.sv-code span{height:10px;border-radius:5px;transform-origin:0 50%;animation:typeL 4s cubic-bezier(.65,0,.35,1) infinite}
.sv-code .t1{width:55%;background:var(--oc)}.sv-code .t2{width:72%;margin-left:24px;background:rgba(183,221,248,.7);animation-delay:.25s}
.sv-code .t3{width:40%;margin-left:48px;background:rgba(255,255,255,.3);animation-delay:.5s}.sv-code .t4{width:64%;margin-left:24px;background:rgba(248,181,151,.7);animation-delay:.75s}
.sv-code .t5{width:30%;background:var(--oc);animation-delay:1s}
.sv-comp{position:absolute;border-radius:16px;border:1px solid color-mix(in srgb,var(--oc) 50%,transparent);background:color-mix(in srgb,var(--oc) 14%,rgba(0,0,0,.4));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 0 30px -10px var(--oc)}
.sv-comp.c1{right:2%;top:10px;width:150px;height:90px;animation:snap 5s cubic-bezier(.16,1,.3,1) infinite}
.sv-comp.c2{right:8%;top:170px;width:120px;height:120px;border-radius:50%;animation:snap 5s cubic-bezier(.16,1,.3,1) -1.6s infinite}
.sv-comp.c3{left:30%;bottom:20px;width:200px;height:64px;animation:snap 5s cubic-bezier(.16,1,.3,1) -3.2s infinite}
@keyframes snap{0%,100%{transform:translate(0,0)}40%{transform:translate(-30px,14px) scale(.94)}55%{transform:translate(-26px,12px) scale(1)}}

/* Visuel Solutions : 2 apps + nuancier « votre marque » */
.so-card{position:absolute;width:230px;height:300px;border-radius:30px;padding:22px;display:flex;flex-direction:column;gap:12px;
  background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 40px 80px -30px rgba(0,0,0,.9)}
.so-card i{width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,var(--lime),var(--oc))}
.so-card span{height:12px;border-radius:6px;background:rgba(255,255,255,.12)}.so-card span:nth-of-type(2){width:60%}
.so-card b{margin-top:auto;height:44px;border-radius:14px;background:color-mix(in srgb,var(--oc) 70%,transparent);transition:background .8s}
.so-a{left:6%;top:40px;transform:rotate(-7deg);animation:floatA 6s ease-in-out infinite}
.so-b{left:44%;top:90px;transform:rotate(6deg);animation:floatA 6s ease-in-out -2s infinite}
.so-b i{background:linear-gradient(145deg,var(--sky),var(--oc))}
.so-swatch{position:absolute;right:2%;top:10px;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.so-swatch i{width:26px;height:26px;border-radius:50%;cursor:pointer}
.so-swatch i:nth-child(1){background:#9BE8D4}.so-swatch i:nth-child(2){background:#BBA8F8}.so-swatch i:nth-child(3){background:#F8B597}.so-swatch i:nth-child(4){background:#E2F38E}
.sol-visual{animation:none}
.sol-visual.c2 .so-card b{background:#BBA8F8}.sol-visual.c3 .so-card b{background:#F8B597}.sol-visual.c4 .so-card b{background:#E2F38E}

/* Produits Solutions */
.w-products{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.w-prod{padding:34px;border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:12px}
.w-prod .ico3d{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:8px;--tint:#fff;--tint-mix:72%}
.w-prod .ico3d svg{width:22px;height:22px}
.world .sol-kicker{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--oc)}
.w-prod h4{font-size:32px;letter-spacing:-.045em;font-weight:600}
.w-prod p{color:var(--ink-2);font-size:16px}
.w-prod .sol-foot{margin-top:auto;padding-top:12px;font-family:var(--f-mono);font-size:12px;color:var(--ink-3)}
.w-perso{margin-top:14px;padding:44px;border-radius:30px;display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;
  background:radial-gradient(70% 90% at 100% 0%,color-mix(in srgb,var(--oc) 22%,transparent),transparent 70%),linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid color-mix(in srgb,var(--oc) 30%,transparent)}
.w-perso h4{font-size:clamp(32px,calc(3.6 * 1vw / var(--z,1)),50px);letter-spacing:-.05em;font-weight:600;line-height:1;margin-top:14px}
.w-perso h4 span{color:var(--ink-3)}
.w-perso p{color:var(--ink-2);font-size:16px}
.w-perso p + p{margin-top:12px}
.w-perso .btn{margin-top:24px}

/* Navigation entre univers */
.dive-next{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:30px 24px 60px;display:flex;justify-content:space-between;gap:12px}
.dive-next button{padding:16px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.12);color:#fff;font-size:15px;font-weight:500;transition:all .3s}
.dive-next button:hover{background:rgba(255,255,255,.08);border-color:var(--oc)}

/* Transition entre univers */
.world.leaving{display:block;animation:worldOut .4s cubic-bezier(.7,0,.84,0) both}
@keyframes worldOut{to{opacity:0;transform:scale(.96);filter:blur(10px)}}

@media (max-width:1024px){
  .doors{grid-template-columns:1fr}
  .door{min-height:420px}
  .doors:hover .door:not(:hover){opacity:1;filter:none}
  .w-hero{grid-template-columns:1fr;min-height:0}
  .w-visual{height:360px;order:-1}
  .w-steps,.w-products{grid-template-columns:1fr}
  .w-perso{grid-template-columns:1fr;padding:28px}
}
@media (max-width:720px){
  .dive-tabs{overflow-x:auto;max-width:calc(calc(100 * 1vw / var(--z,1)) - 140px)}
  .dive-tabs button{white-space:nowrap;padding:7px 11px;font-size:12.5px}
  .dive-bar .brand b{display:none}
  .quiz-cta{border-radius:28px;text-align:center}
  .w-visual{transform:scale(.72);transform-origin:0 0;height:300px;width:138%}
  .world{padding-top:30px}
  .quiz-box{padding:22px 18px 26px}
}
@media (prefers-reduced-motion:reduce){
  .dive{transition:none}
}

/* finitions v8 */
.btn em,.dive-next em,.q-result .btn em{font-style:normal;font-weight:400;opacity:.75}
.dive button:focus{outline:none}
.dive button:focus-visible,.quiz button:focus-visible,.door:focus-visible{outline:2px solid var(--oc,var(--lav));outline-offset:3px}
.quiz button:focus:not(:focus-visible){outline:none}
.world{--c:var(--oc)}
.w-title{font-size:clamp(42px,calc(5.2 * 1vw / var(--z,1)),78px)}
.w-hero{grid-template-columns:1.1fr .9fr}
@media (max-width:1024px){.w-hero{grid-template-columns:1fr}}
@media (max-width:720px){
  .dive-bar{gap:8px;padding:10px 12px}
  .dive-bar .brand{display:none}
  .dive-tabs{margin:0;flex:1;max-width:none;overflow:visible}
  .dive-tabs button{flex:1;justify-content:center;padding:8px 4px;font-size:12px;gap:4px}
  .dive-tabs button i{display:none}
  .w-visual{width:125%}
  .w-hero{overflow:hidden;overflow:clip}
  .dive{overflow-x:hidden}
}

/* Bordure lumineuse + 3D rétablies sur les portes */
.door .ring{inset:0;background:conic-gradient(from var(--ang),transparent 0 55%,var(--oc) 72%,color-mix(in srgb,var(--oc) 40%,#fff) 84%,transparent 100%);opacity:.75}
.door:hover .ring{opacity:1;animation-duration:3s}
.d-studio .ring{animation-direction:reverse;animation-duration:8s}
.d-solutions .ring{animation-duration:7s}
.w-perso{position:relative}
.w-perso .ring{background:conic-gradient(from var(--ang),transparent 0 55%,var(--oc) 75%,var(--lav) 88%,transparent 100%)}
.door[data-tilt]{transform-style:preserve-3d}
.door[data-tilt]::before{z-index:0}

/* =========================================================
   v9 « WAOUH »
   ========================================================= */
/* Écran d'ouverture */
.loader{position:fixed;inset:0;z-index:300;background:#050507;display:grid;place-items:center;
  clip-path:inset(0 0 0 0);transition:clip-path 1s cubic-bezier(.77,0,.18,1)}
.loader.out{clip-path:inset(0 0 100% 0)}
.loader.gone{display:none}
.ld-in{display:flex;align-items:center;gap:14px;color:#fff}
.ld-in img{width:46px;height:46px;border-radius:12px;animation:ldPop .8s cubic-bezier(.16,1,.3,1) both}
.ld-in b{font-size:40px;font-weight:600;letter-spacing:-.05em;animation:ldPop .8s cubic-bezier(.16,1,.3,1) .08s both}
.ld-num{font-family:var(--f-mono);font-size:13px;color:#8E89A0;width:44px;text-align:right;margin-left:10px}
.ld-bar{position:absolute;left:50%;bottom:22%;width:220px;height:2px;translate:-50% 0;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden}
.ld-bar i{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(var(--ld,0));background:linear-gradient(90deg,#BBA8F8,#B7DDF8,#9BE8D4,#E2F38E);box-shadow:0 0 14px #BBA8F8}
@keyframes ldPop{from{opacity:0;transform:translateY(20px) scale(.9);filter:blur(8px)}}
.is-loading .hero *{animation-play-state:paused!important}

/* Champ d'étoiles de l'en-tête */
.stars{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.hero-sticky > .wrap{position:relative;z-index:1}

/* Halo de curseur */
.cursor-glow,.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:250;opacity:0;transition:opacity .4s}
.cursor-glow{width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--lav) 22%,transparent),transparent 70%);mix-blend-mode:screen;z-index:2}
[data-theme="light"] .cursor-glow{mix-blend-mode:multiply;background:radial-gradient(closest-side,color-mix(in srgb,var(--lav) 18%,transparent),transparent 70%)}
.cursor-ring{width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--ink) 55%,transparent);
  transition:opacity .4s,width .35s cubic-bezier(.16,1,.3,1),height .35s cubic-bezier(.16,1,.3,1),margin .35s cubic-bezier(.16,1,.3,1),background .3s,border-color .3s}
.cursor-ring.hot{width:64px;height:64px;margin:-32px 0 0 -32px;background:color-mix(in srgb,var(--lav) 14%,transparent);border-color:var(--lav)}
.has-cursor .cursor-glow,.has-cursor .cursor-ring{opacity:1}

/* Décodage des intitulés */
.eyebrow.decoding{color:var(--ink)}

/* Logos inclinés selon la vitesse */
.logos.marq{transition:transform .5s cubic-bezier(.16,1,.3,1)}

/* Porte qui fonce vers l'écran */
.door.zoom{transform:perspective(900px) translateZ(140px) scale(1.04)!important;transition:transform .35s cubic-bezier(.7,0,.2,1)!important;z-index:5;
  box-shadow:0 0 0 1px var(--oc),0 0 120px -10px var(--oc)!important}
.door.zoom .door-glow{opacity:1;transform:scale(1.6)}

/* Titres de section : reflet qui balaie à l'apparition */
.sec-head h2{position:relative}
.sec-head h2::after{content:"";position:absolute;inset:-10% -5%;pointer-events:none;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.18) 50%,transparent 60%);background-size:250% 100%;background-position:150% 0;
  mix-blend-mode:overlay;opacity:calc(var(--sp,1) * 1)}
.sec-head.reveal h2::after{background-position:calc(150% - var(--sp,0) * 200%) 0}

@media (pointer:coarse){.cursor-glow,.cursor-ring{display:none}}
@media (prefers-reduced-motion:reduce){.loader{display:none}.cursor-glow,.cursor-ring{display:none}}

/* =========================================================
   v10 « VERRE » — glassmorphism renforcé
   ========================================================= */
:root,[data-theme="dark"]{
  --gl-bg:rgba(255,255,255,.055);--gl-bg2:rgba(255,255,255,.09);
  --gl-edge:rgba(255,255,255,.16);--gl-hi:rgba(255,255,255,.28);--gl-sh:0 20px 60px -20px rgba(0,0,0,.7);
  --blob-o:.3}
[data-theme="light"]{
  --gl-bg:rgba(255,255,255,.45);--gl-bg2:rgba(255,255,255,.65);
  --gl-edge:rgba(255,255,255,.85);--gl-hi:rgba(255,255,255,1);--gl-sh:0 20px 60px -24px rgba(50,40,120,.3);
  --blob-o:.55}
/* Halos de fond plus présents (sinon le verre n'a rien à flouter) */
.aura i{filter:blur(100px)}
.aura i:nth-child(1){width:760px;height:560px}
.aura i:nth-child(2){width:600px;height:520px;top:24%}

/* Recette de verre commune */
.lg{position:relative;background:linear-gradient(135deg,var(--gl-bg2),var(--gl-bg) 55%,rgba(255,255,255,.02));
  backdrop-filter:blur(26px) saturate(185%) brightness(1.06);-webkit-backdrop-filter:blur(26px) saturate(185%) brightness(1.06);
  box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 -1px 0 rgba(255,255,255,.04),inset 0 0 30px rgba(255,255,255,.03),var(--gl-sh)}
.lg::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(135deg,var(--gl-edge),rgba(255,255,255,.04) 40%,color-mix(in srgb,var(--lav) 45%,transparent) 75%,color-mix(in srgb,var(--mint) 40%,transparent));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}

/* ---------- Barre de navigation ---------- */
.topbar .nav.glass{background:linear-gradient(135deg,var(--gl-bg2),var(--gl-bg) 60%);border:0;
  backdrop-filter:blur(30px) saturate(190%) brightness(1.08);-webkit-backdrop-filter:blur(30px) saturate(190%) brightness(1.08);
  box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 -1px 0 rgba(255,255,255,.05),0 12px 40px -12px rgba(0,0,0,.55);
  transition:max-width .7s cubic-bezier(.16,1,.3,1),height .5s,box-shadow .4s;overflow:hidden}
.topbar .nav.glass::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(90deg,var(--gl-edge),rgba(255,255,255,.05) 30%,color-mix(in srgb,var(--lav) 60%,transparent) 55%,color-mix(in srgb,var(--mint) 55%,transparent) 80%,var(--gl-edge));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
/* reflet spéculaire qui suit la souris */
.topbar .nav.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(240px 120px at var(--nx,50%) 0%,rgba(255,255,255,.22),transparent 70%)}
.topbar .nav.glass:hover::before{opacity:1}
.topbar.slim .nav.glass{max-width:960px;height:54px}
.nav-links{position:relative;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);border-radius:999px;padding:4px}
[data-theme="light"] .nav-links{background:rgba(255,255,255,.35);border-color:rgba(255,255,255,.7)}
.nav-links a{position:relative;z-index:1;transition:color .3s}
.nav-links a:hover{background:transparent;box-shadow:none;color:var(--ink)}
.nav-links a.on{color:var(--ink)}
/* lentille de verre qui glisse sous la rubrique en cours */
.nav-lens{position:absolute;z-index:0;top:4px;bottom:4px;left:0;width:0;border-radius:999px;opacity:0;
  background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.06));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -1px 2px rgba(0,0,0,.15),0 4px 16px -4px color-mix(in srgb,var(--lav) 60%,transparent);
  backdrop-filter:blur(6px) saturate(200%);-webkit-backdrop-filter:blur(6px) saturate(200%);
  transition:transform .55s cubic-bezier(.16,1,.3,1),width .55s cubic-bezier(.16,1,.3,1),opacity .3s}
[data-theme="light"] .nav-lens{background:linear-gradient(180deg,#fff,rgba(255,255,255,.7));box-shadow:inset 0 1px 0 #fff,0 4px 14px -4px rgba(91,67,214,.35)}
.nav .icon-btn{background:linear-gradient(180deg,var(--gl-bg2),var(--gl-bg));border:0;box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px rgba(255,255,255,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}


/* ---------- Autres surfaces en verre ---------- */
.door{background:linear-gradient(160deg,var(--gl-bg2),var(--gl-bg) 55%,rgba(255,255,255,.015))!important;
  backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%);
  border:0!important;box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px rgba(255,255,255,.06),var(--gl-sh)}
.door:hover{box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px color-mix(in srgb,var(--oc) 45%,transparent),0 40px 90px -40px color-mix(in srgb,var(--oc) 70%,transparent)!important}
.quiz-cta,.faq-nav,.pill,.quiz-box{background:linear-gradient(135deg,var(--gl-bg2),var(--gl-bg))!important;border:0!important;
  backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px rgba(255,255,255,.07),var(--gl-sh)}
.quiz-box{background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04))!important;backdrop-filter:blur(40px) saturate(200%);-webkit-backdrop-filter:blur(40px) saturate(200%)}
[data-theme="light"] .quiz-box{background:linear-gradient(135deg,rgba(255,255,255,.85),rgba(255,255,255,.6))!important}
.q-opt{background:rgba(255,255,255,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.dive-bar{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02))!important;backdrop-filter:blur(30px) saturate(190%);-webkit-backdrop-filter:blur(30px) saturate(190%);
  border-bottom:0!important;box-shadow:inset 0 -1px 0 rgba(255,255,255,.08),0 10px 30px -15px rgba(0,0,0,.6)}
.dive-tabs{background:rgba(255,255,255,.06)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.15);border:0!important}
.dive-tabs button.on{box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 6px 20px -6px var(--oc)}
.w-steps li,.w-prod{backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.kpi,.usecase,.pillar{backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);
  background:linear-gradient(160deg,var(--gl-bg2),var(--gl-bg) 60%)!important;box-shadow:inset 0 1px 0 var(--gl-hi)!important}
.kpi.pastel{background:radial-gradient(90% 70% at 100% 0%,color-mix(in srgb,var(--c) 18%,transparent),transparent 65%),linear-gradient(160deg,var(--gl-bg2),var(--gl-bg) 60%)!important}



/* =========================================================
   v11 TEST « SCANNER » plein écran
   ========================================================= */
.qz{position:fixed;inset:0;z-index:130;color:#F2F2F6;background:#06060A;overflow:hidden;
  clip-path:circle(0 at var(--x,50%) var(--y,50%));transition:clip-path .9s cubic-bezier(.77,0,.18,1)}
.qz[hidden]{display:none!important}
.qz.open{clip-path:circle(150% at var(--x,50%) var(--y,50%));visibility:visible}
.qz::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;
  mask-image:radial-gradient(ellipse 70% 70% at 70% 50%,#000,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 70% at 70% 50%,#000,transparent 75%)}
.qz::after{content:"";position:absolute;inset:0;pointer-events:none;transition:background 1s;
  background:radial-gradient(38% 50% at var(--cx,70%) var(--cy,50%),rgba(var(--glow,187,168,248),.22),transparent 70%)}
.qz-cv{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.qz-top{position:relative;z-index:3;display:flex;align-items:center;gap:20px;padding:22px max(20px,calc((calc(100 * 1vw / var(--z,1)) - 1240px)/2))}
.qz-brand{display:flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#A3A7B5}
.qz-brand i{width:8px;height:8px;border-radius:50%;background:conic-gradient(#BBA8F8,#E2F38E,#9BE8D4,#BBA8F8);box-shadow:0 0 12px #BBA8F8;animation:spinA 3s linear infinite}
.qz-count{margin-left:auto;font-family:var(--f-mono);font-size:13px;color:#6B7080}
.qz-count b{font-size:28px;font-weight:500;color:#fff;letter-spacing:-.02em}
.qz .qz-x{color:#fff;background:rgba(255,255,255,.07);border:0;border-radius:999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.qz-main{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;
  height:calc(100% - 90px);padding:0 max(20px,calc((calc(100 * 1vw / var(--z,1)) - 1240px)/2)) 40px}
.qz-right{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none}
.qz-spot{width:min(440px,100%);aspect-ratio:1}
.qz-gauges{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:min(460px,100%);margin-top:18px}
.qz-gauges li{padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:box-shadow .5s,transform .5s}
.qz-gauges li span{display:block;font-size:12.5px;color:#B6B8C4;white-space:nowrap}
.qz-gauges li span em{font-style:normal;color:var(--gc)}
.qz-gauges li b{display:block;font-size:24px;font-weight:600;letter-spacing:-.04em;margin:2px 0 8px;font-variant-numeric:tabular-nums}
.qz-gauges li i{display:block;height:4px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.qz-gauges li s{display:block;height:100%;width:var(--g,33%);background:var(--gc);box-shadow:0 0 12px var(--gc);transition:width .9s cubic-bezier(.16,1,.3,1)}
.qz-gauges [data-k="factory"]{--gc:#BBA8F8}.qz-gauges [data-k="studio"]{--gc:#E2F38E}.qz-gauges [data-k="solutions"]{--gc:#9BE8D4}
.qz-gauges li.win{transform:translateY(-4px) scale(1.04);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 0 0 1px var(--gc),0 16px 40px -14px var(--gc)}

/* Question */
.qz-k{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#7E8190;margin-bottom:16px}
.qz-q{font-size:clamp(34px,calc(4.4 * 1vw / var(--z,1)),68px);font-weight:600;letter-spacing:-.05em;line-height:1;margin-bottom:34px}
.qz-q .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em}
.qz-q .w > span{display:inline-block;animation:qzRise .8s cubic-bezier(.16,1,.3,1) both}
@keyframes qzRise{from{transform:translateY(110%) rotate(6deg);filter:blur(6px)}}
.qz-opts{display:grid;gap:12px;perspective:1000px}
.qz-opt{position:relative;display:flex;align-items:center;gap:18px;text-align:left;width:100%;padding:22px 24px;border-radius:22px;font-size:17.5px;font-weight:500;color:#fff;
  background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 0 0 1px rgba(255,255,255,.06);
  backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);
  transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .35s,background .35s,opacity .4s;animation:qzIn .7s cubic-bezier(.16,1,.3,1) both}
.qz-opt:nth-child(1){animation-delay:.25s}.qz-opt:nth-child(2){animation-delay:.35s}.qz-opt:nth-child(3){animation-delay:.45s}
@keyframes qzIn{from{opacity:0;transform:translateX(-40px) rotateY(20deg)}}
.qz-opt kbd{font-family:var(--f-mono);font-size:12px;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;
  color:rgb(var(--oc3));background:rgba(var(--oc3),.12);box-shadow:inset 0 0 0 1px rgba(var(--oc3),.4)}
.qz-opt::after{content:"→";margin-left:auto;font-family:var(--f-mono);opacity:0;transform:translateX(-8px);transition:all .35s;color:rgb(var(--oc3))}
.qz-opt:hover,.qz-opt:focus-visible{outline:none;transform:translateX(10px) scale(1.01);
  background:linear-gradient(135deg,rgba(var(--oc3),.22),rgba(255,255,255,.03));box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 0 0 1px rgba(var(--oc3),.55),0 18px 50px -18px rgba(var(--oc3),.8)}
.qz-opt:hover::after,.qz-opt:focus-visible::after{opacity:1;transform:none}
.qz-opt.fly{transition:transform .65s cubic-bezier(.7,0,.3,1),opacity .65s ease-in;opacity:0;pointer-events:none}
.qz-opts.gone .qz-opt:not(.fly){opacity:0;transform:translateX(-30px);transition-duration:.35s}
.qz-left.out > *{opacity:0;transform:translateY(-20px);filter:blur(6px);transition:all .35s}

/* Analyse */
.qz-scan{font-family:var(--f-mono);font-size:13px;color:#7E8190;line-height:2}
.qz-scan b{display:block;font-family:var(--f);font-size:clamp(30px,calc(3.6 * 1vw / var(--z,1)),54px);font-weight:600;letter-spacing:-.05em;color:#fff;margin-bottom:18px}
.qz-scan b::after{content:"";display:inline-block;width:.5em;height:.08em;margin-left:.15em;background:currentColor;animation:blink .8s steps(1) infinite}
.qz-scan p{opacity:0;animation:fadeup .4s both}
.qz-scan p::before{content:"› ";color:#BBA8F8}

/* Résultat */
.qz-res .qz-k{color:rgb(var(--oc3))}
.qz-res h3{font-size:clamp(56px,calc(8 * 1vw / var(--z,1)),128px);font-weight:600;letter-spacing:-.065em;line-height:.9;margin:6px 0 18px;
  background:linear-gradient(100deg,#fff 10%,rgb(var(--oc3)) 60%,#fff 95%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:qzBig 1.1s cubic-bezier(.16,1,.3,1) both,sheen 4s ease-in-out 1s infinite alternate}
.qz-res h3 em{font-style:normal;font-weight:300}
@keyframes qzBig{from{opacity:0;transform:scale(.6) translateY(30px);filter:blur(20px);letter-spacing:.1em}}
.qz-match{display:flex;align-items:baseline;gap:12px;margin-bottom:10px;animation:fadeup .7s .3s both}
.qz-match b{font-size:46px;font-weight:600;letter-spacing:-.05em;color:rgb(var(--oc3));font-variant-numeric:tabular-nums}
.qz-match span{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#7E8190}
.qz-res > p.t{font-size:20px;color:#B6B8C4;max-width:480px;margin-bottom:30px;animation:fadeup .7s .45s both}
.qz-acts{display:flex;gap:12px;flex-wrap:wrap;animation:fadeup .7s .6s both}
.qz-acts .go{background:rgb(var(--oc3));color:#0A0A0C;box-shadow:0 0 0 1px rgba(var(--oc3),.6),0 18px 50px -12px rgb(var(--oc3));font-size:16px;padding:16px 26px}
.qz-acts .go em{font-style:normal;font-weight:400;opacity:.7}
.qz-acts .redo{background:rgba(255,255,255,.07);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}

@media (max-width:900px){
  .qz-main{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:6px;align-items:start;overflow-y:auto;height:calc(100% - 80px)}
  .qz-right{order:-1;height:auto}
  .qz-spot{width:200px}
  .qz-gauges{margin-top:8px}
  .qz-gauges li{padding:8px 10px}.qz-gauges li b{font-size:18px}.qz-gauges li span{font-size:11px}
  .qz-q{font-size:30px;margin-bottom:20px}
  .qz-opt{padding:16px 16px;font-size:15.5px}
  .qz-res h3{font-size:54px}
  .qz-top{padding:14px 16px}
}
@media (prefers-reduced-motion:reduce){.qz{transition:none}}

/* =========================================================
   v12 FOND FLUIDE + grille de points en projecteur
   ========================================================= */
.stars{filter:saturate(1.35);-webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 75%,transparent);mask-image:linear-gradient(180deg,transparent,#000 12%,#000 75%,transparent)}
.stars.nogl{background:radial-gradient(60% 50% at 30% 30%,rgba(187,168,248,.35),transparent 70%),radial-gradient(50% 50% at 75% 60%,rgba(155,232,212,.28),transparent 70%)}
.hero-sticky::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .5s;
  background-image:radial-gradient(circle,rgba(255,255,255,.55) 1px,transparent 1.6px);background-size:24px 24px;
  -webkit-mask-image:radial-gradient(260px circle at var(--gx,50%) var(--gy,50%),#000,transparent 75%);mask-image:radial-gradient(260px circle at var(--gx,50%) var(--gy,50%),#000,transparent 75%)}
[data-theme="light"] .hero-sticky::after{background-image:radial-gradient(circle,rgba(20,20,40,.45) 1px,transparent 1.6px)}
.hero-sticky.spot::after{opacity:1}
.floor{display:none}
@media (pointer:coarse){.hero-sticky::after{display:none}}

/* =========================================================
   v13 — 4 fonds à comparer + sélecteur (maquette)
   ========================================================= */
.bg2{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:0;transition:opacity .6s;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 78%,transparent);mask-image:linear-gradient(180deg,transparent,#000 12%,#000 78%,transparent)}
.stars{transition:opacity .6s}
.hero-sticky[data-bg="matrice"]::after,.hero-sticky[data-bg="relief"]::after{display:none}
.bg-switch{position:absolute;left:max(16px,calc((calc(100 * 1vw / var(--z,1)) - 1200px)/2));bottom:26px;z-index:4;display:flex;align-items:center;gap:4px;padding:5px 5px 5px 14px;border-radius:999px;
  background:linear-gradient(135deg,var(--gl-bg2),var(--gl-bg));backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);
  box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px rgba(255,255,255,.07),var(--gl-sh);opacity:calc(1 - var(--hp,0) * 5)}
.bg-switch span{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-right:6px}
.bg-switch button{font-size:13px;font-weight:500;padding:7px 12px;border-radius:999px;color:var(--ink-2);transition:all .3s}
.bg-switch button:hover{color:var(--ink)}
.bg-switch button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
@media (max-width:900px){.bg-switch{left:50%;bottom:14px;translate:-50% 0;opacity:1;padding-left:10px}.bg-switch button{padding:6px 9px;font-size:12px}.bg-switch span{display:none}.hero-sticky{padding-bottom:80px!important}}
.hero-sticky[data-bg="particules"]::after{display:none}
.hero-sticky[data-bg="particules"] .bg2{-webkit-mask-image:none;mask-image:none}
.pfx{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;transition:opacity .6s}
main,footer{position:relative}
.topbar{z-index:50}
.hero-sticky .stars,.hero-sticky .bg2{z-index:0}

/* =========================================================
   v18 — menu en verre raffiné (neutre, liseré fin, reflet discret)
   ========================================================= */
.topbar .nav.glass{
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.03))!important;
  backdrop-filter:blur(22px) saturate(160%)!important;-webkit-backdrop-filter:blur(22px) saturate(160%)!important;
  box-shadow:inset 0 .5px 0 rgba(255,255,255,.28),inset 0 0 0 .5px rgba(255,255,255,.1),0 8px 32px -10px rgba(0,0,0,.55),0 1px 2px rgba(0,0,0,.25)!important;
  height:56px;padding:0 6px 0 14px}
.topbar .nav.glass::after{background:linear-gradient(90deg,transparent 8%,rgba(255,255,255,.35) 50%,transparent 92%)!important;
  padding:0!important;inset:0 0 auto 0!important;height:1px;-webkit-mask:none!important;mask:none!important;opacity:.6}
.topbar .nav.glass::before{background:radial-gradient(200px 80px at var(--nx,50%) 0%,rgba(255,255,255,.1),transparent 70%)!important}
.topbar.slim .nav.glass{height:52px}
.nav-links{background:none!important;border:0!important;padding:0!important}
.nav-links a{font-size:13.5px;color:rgba(255,255,255,.62);padding:7px 12px;letter-spacing:-.005em}
.nav-links a:hover,.nav-links a.on{color:#fff}
.nav-lens{top:-2px;bottom:-2px;background:rgba(255,255,255,.08)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  box-shadow:inset 0 .5px 0 rgba(255,255,255,.18)!important}
.nav .icon-btn{background:transparent!important;box-shadow:none!important;width:38px;height:38px;color:rgba(255,255,255,.75)}
.nav .icon-btn:hover{background:rgba(255,255,255,.08)!important;color:#fff}
.nav .btn{padding:8px 16px;font-size:13.5px;box-shadow:0 1px 2px rgba(0,0,0,.3)!important}
.brand img{box-shadow:none}
[data-theme="light"] .topbar .nav.glass{background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.55))!important;
  box-shadow:inset 0 .5px 0 #fff,inset 0 0 0 .5px rgba(14,16,22,.08),0 8px 30px -12px rgba(30,30,60,.18)!important}
[data-theme="light"] .topbar .nav.glass::after{background:linear-gradient(90deg,transparent 8%,#fff 50%,transparent 92%)!important;opacity:1}
[data-theme="light"] .nav-links a{color:rgba(14,16,22,.6)}
[data-theme="light"] .nav-links a:hover,[data-theme="light"] .nav-links a.on{color:#0E1016}
[data-theme="light"] .nav-lens{background:rgba(14,16,22,.06)!important;box-shadow:none!important}
[data-theme="light"] .nav .icon-btn{color:rgba(14,16,22,.7)}
[data-theme="light"] .nav .icon-btn:hover{background:rgba(14,16,22,.06)!important}

/* ---------- v19 bandeau « Vous hésitez ? » ---------- */
.quiz-cta{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:18px!important;
  max-width:760px!important;margin:28px auto 0!important;padding:12px 12px 12px 14px!important;border-radius:22px!important;text-align:left}
.quiz-cta p{font-size:14.5px!important;line-height:1.45;color:var(--ink-3)!important}
.quiz-cta p b{display:block;font-size:16px;font-weight:600;color:var(--ink)!important;letter-spacing:-.01em}
.quiz-cta .btn{padding:11px 18px;font-size:14px}
.qc-orb{position:relative;width:44px;height:44px;border-radius:14px;flex-shrink:0;
  background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.08),rgba(255,255,255,.02));box-shadow:inset 0 .5px 0 rgba(255,255,255,.25),inset 0 0 0 .5px rgba(255,255,255,.08)}
.qc-orb i{position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px;border-radius:50%;animation:qcOrbit 3.2s linear infinite}
.qc-orb i:nth-child(1){background:#BBA8F8;box-shadow:0 0 8px #BBA8F8}
.qc-orb i:nth-child(2){background:#E2F38E;box-shadow:0 0 8px #E2F38E;animation-delay:-1.07s}
.qc-orb i:nth-child(3){background:#9BE8D4;box-shadow:0 0 8px #9BE8D4;animation-delay:-2.13s}
@keyframes qcOrbit{from{transform:rotate(0) translateX(11px) rotate(0)}to{transform:rotate(360deg) translateX(11px) rotate(-360deg)}}
.quiz-cta:hover .qc-orb i{animation-duration:1.2s}
[data-theme="light"] .qc-orb{background:rgba(14,16,22,.04);box-shadow:inset 0 0 0 .5px rgba(14,16,22,.08)}
[data-theme="light"] .qc-orb i:nth-child(1){background:#6A4FE4}[data-theme="light"] .qc-orb i:nth-child(2){background:#9AB52A}[data-theme="light"] .qc-orb i:nth-child(3){background:#1FA88F}
.brands-note{text-align:center;font-size:11.5px!important;margin-top:22px}
@media (max-width:640px){.quiz-cta{grid-template-columns:auto 1fr!important;row-gap:14px!important;padding:16px!important}.quiz-cta .btn{grid-column:1/-1;justify-content:center}}
@media (prefers-reduced-motion:reduce){.qc-orb i{animation:none}.qc-orb i:nth-child(1){transform:translate(-8px,4px)}.qc-orb i:nth-child(2){transform:translate(0,-8px)}.qc-orb i:nth-child(3){transform:translate(8px,4px)}}
.hero-sticky[data-bg="bulles"]::after{display:none}
.hero-sticky[data-bg="bulles"] .stars{-webkit-mask-image:linear-gradient(180deg,#000 80%,transparent);mask-image:linear-gradient(180deg,#000 80%,transparent);filter:none}

/* =========================================================
   v21 — verre façon visionOS (neutre, givré, lumineux) + portes en carrousel
   ========================================================= */
:root,[data-theme="dark"]{
  --vg:linear-gradient(160deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.07) 45%,rgba(255,255,255,.05) 100%);
  --vg-edge:inset 1px 1px 0 rgba(255,255,255,.32),inset -1px -1px 0 rgba(255,255,255,.06),inset 0 0 0 .5px rgba(255,255,255,.08);
  --vg-sh:0 30px 60px -30px rgba(0,0,0,.6);
  --vg-blur:blur(40px) saturate(170%) brightness(1.08)}
[data-theme="light"]{
  --vg:linear-gradient(160deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.5) 55%,rgba(255,255,255,.42) 100%);
  --vg-edge:inset 1px 1px 0 #fff,inset -1px -1px 0 rgba(255,255,255,.5),inset 0 0 0 .5px rgba(14,16,22,.06);
  --vg-sh:0 30px 60px -32px rgba(30,30,60,.28);
  --vg-blur:blur(40px) saturate(150%)}
.door,.quiz-cta,.faq-nav,.faq-body,.situation,.pillar,.usecase,.kpi,.feat,.step,.case,.lib-group,.principle,.integration,.engagement,.conv-card,.foot-card,.brand-card,.sol-card,.pain{
  background:var(--vg)!important;backdrop-filter:var(--vg-blur)!important;-webkit-backdrop-filter:var(--vg-blur)!important;
  border:0!important;box-shadow:var(--vg-edge),var(--vg-sh)!important}
.kpi.pastel,.pastel.p-mint,.pastel.p-lav,.pastel.p-peach{background:var(--vg)!important}
.door{border-radius:34px!important}
.door:hover{box-shadow:var(--vg-edge),0 40px 90px -40px color-mix(in srgb,var(--oc) 60%,transparent)!important}
.door .door-glow{opacity:.25}
.door:hover .door-glow{opacity:.5}
.door .ring{opacity:.35}
.door-go{background:rgba(255,255,255,.16)!important;color:var(--ink)!important;box-shadow:inset 1px 1px 0 rgba(255,255,255,.35),inset 0 0 0 .5px rgba(255,255,255,.1)!important;backdrop-filter:blur(10px)}
.door-go b{color:var(--oc)}
[data-theme="light"] .door-go{background:rgba(255,255,255,.7)!important;box-shadow:inset 1px 1px 0 #fff,0 4px 12px -6px rgba(0,0,0,.2)!important}
[data-theme="light"] .door-go b{color:var(--oc2)}
.doors:hover .door:not(:hover){opacity:.85;filter:none}

/* Carrousel en arc (ordinateur) */
@media (min-width:1025px){
  .doors{perspective:1800px;perspective-origin:50% 40%;gap:22px;transform-style:preserve-3d}
  .door.d-factory{transform:rotateY(18deg) translateZ(-40px) scale(.96);transform-origin:100% 50%}
  .door.d-studio{transform:rotateY(-18deg) translateZ(-40px) scale(.96);transform-origin:0 50%}
  .door.d-solutions{transform:translateZ(30px)}
  .door{transition:transform .8s cubic-bezier(.16,1,.3,1),box-shadow .5s,opacity .4s!important}
  .doors .door:hover{transform:translateZ(60px) scale(1.01)!important}
}
.doors + .quiz-cta{margin-top:34px!important}
[data-theme="light"] .d-studio .code{background:color-mix(in srgb,#9AB52A 75%,transparent)}
[data-theme="light"] .d-studio .l2{background:color-mix(in srgb,#5B8FD6 60%,transparent)}
[data-theme="light"] .d-studio .l3{background:rgba(14,16,22,.18)}
[data-theme="light"] .d-studio .caret{background:#9AB52A}
.hero-sticky[data-bg="bulles"] .stars{filter:none!important;-webkit-mask-image:none!important;mask-image:none!important;image-rendering:auto}
.hero-sticky[data-bg="bulles"]{background:var(--bg);position:sticky}
.hero-sticky[data-bg="bulles"] ~ *{}
html:has(.hero-sticky[data-bg="bulles"]) .aura{opacity:0;transition:opacity .6s}
.qz-spot{position:relative}
.qz-bub{position:absolute;inset:-12%;width:124%;height:124%;pointer-events:none}

/* Ouverture : bulle qui éclate */
.loader{clip-path:none!important;transition:background-color .7s ease .05s!important}
.loader.popped{background-color:transparent!important;pointer-events:none}
.ld-bub,.ld-drops{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ld-in{position:relative;z-index:2;flex-direction:column;gap:6px!important;transition:opacity .25s,transform .4s}
.ld-in img{width:40px!important;height:40px!important}
.ld-in b{font-size:30px!important}
.ld-num{margin:2px 0 0!important;width:auto!important;text-align:center!important}
.ld-bar{display:none}
.loader.popped .ld-in{opacity:0;transform:scale(1.25)}
.hero h1{font-size:clamp(44px,calc(6.6 * 1vw / var(--z,1)),104px)!important}
.hero .lead-2{margin-top:14px!important;font-size:16.5px!important;color:var(--ink-3)!important;max-width:640px}
.door-tags{display:flex;flex-wrap:wrap;gap:6px}

/* ---------- Contenu Factory dans la plongée ---------- */
.dive:not(.o-factory) .factory-more{display:none}
.factory-more{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.08);margin-top:40px;
  --bg:#0D0B1A;--ink:#F2F2F6;--ink-2:#B6B8C4;--ink-3:#7E8190;color:var(--ink)}
.factory-more section{background:transparent}
[data-theme="light"] .dive.o-factory{background:var(--bg)!important;color:var(--ink)}
[data-theme="light"] .dive.o-factory .world,[data-theme="light"] .dive.o-factory .factory-more{--ink:#0E1016;--ink-2:#4B5060;--ink-3:#848999;--bg:#F2F3F6;color:var(--ink)}
[data-theme="light"] .dive.o-factory .w-steps li{background:rgba(255,255,255,.7);border-color:rgba(14,16,22,.08)}
[data-theme="light"] .dive.o-factory .dive-bar{background:rgba(255,255,255,.7)!important}
[data-theme="light"] .dive.o-factory .dive-tabs button{color:rgba(14,16,22,.6)}
[data-theme="light"] .dive.o-factory .dive-tabs button.on{color:#0A0A0C}
[data-theme="light"] .dive.o-factory .icon-btn,[data-theme="light"] .dive.o-factory .dive-next button{color:#0E1016;border-color:rgba(14,16,22,.12)}
[data-theme="light"] .dive.o-factory .factory-more{border-color:rgba(14,16,22,.08)}

/* ---------- Fluidité dans les plongées ---------- */
.dive.open.settled{clip-path:none!important;transition:none!important}
.dive{-webkit-overflow-scrolling:touch;contain:layout paint}
.diving .aura,.diving .pfx,.diving .hero-sticky .stars,.diving .hero-sticky .bg2{visibility:hidden}
.diving main > section{visibility:hidden}
.dive .factory-more .glass,.dive .factory-more .pastel,.dive .factory-more .glass-in,
.dive .factory-more .situation,.dive .factory-more .pillar,.dive .factory-more .usecase,.dive .factory-more .kpi,.dive .factory-more .feat,
.dive .factory-more .step,.dive .factory-more .case,.dive .factory-more .lib-group,.dive .factory-more .principle,.dive .factory-more .integration,
.dive .factory-more .engagement,.dive .factory-more .conv-card,.dive .factory-more .faq-nav,.dive .factory-more .faq-body,.dive .factory-more .pain,
.dive .w-steps li,.dive .w-prod,.dive .dive-tabs{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.dive .factory-more .situation,.dive .factory-more .pillar,.dive .factory-more .usecase,.dive .factory-more .kpi,.dive .factory-more .feat,
.dive .factory-more .step,.dive .factory-more .case,.dive .factory-more .lib-group,.dive .factory-more .principle,.dive .factory-more .integration,
.dive .factory-more .engagement,.dive .factory-more .conv-card,.dive .factory-more .faq-nav,.dive .factory-more .faq-body,.dive .factory-more .pain{
  background:linear-gradient(160deg,rgba(255,255,255,.085),rgba(255,255,255,.035))!important}
[data-theme="light"] .dive .factory-more .situation,[data-theme="light"] .dive .factory-more .pillar,[data-theme="light"] .dive .factory-more .usecase,
[data-theme="light"] .dive .factory-more .kpi,[data-theme="light"] .dive .factory-more .feat,[data-theme="light"] .dive .factory-more .step,
[data-theme="light"] .dive .factory-more .case,[data-theme="light"] .dive .factory-more .lib-group,[data-theme="light"] .dive .factory-more .principle,
[data-theme="light"] .dive .factory-more .integration,[data-theme="light"] .dive .factory-more .engagement,[data-theme="light"] .dive .factory-more .conv-card,
[data-theme="light"] .dive .factory-more .faq-nav,[data-theme="light"] .dive .factory-more .faq-body,[data-theme="light"] .dive .factory-more .pain{
  background:linear-gradient(160deg,#fff,rgba(255,255,255,.75))!important}
.js .dive .reveal{filter:none!important;will-change:transform,opacity}
.dive-bar{backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important}

/* Halos du fond : dégradés doux au lieu d'un flou animé (bien plus léger) */
.aura i{filter:none!important;will-change:transform;background:radial-gradient(closest-side,var(--hc) 0%,color-mix(in srgb,var(--hc) 45%,transparent) 45%,transparent 100%)!important;transform:scale(1.6)}
.aura i:nth-child(1){--hc:var(--lav)}.aura i:nth-child(2){--hc:var(--mint)}.aura i:nth-child(3){--hc:var(--peach)}.aura i:nth-child(4){--hc:var(--sky)}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1.6)}50%{transform:translate(50px,30px) scale(1.7)}}
#marques{padding-bottom:40px!important}
main > #contact{padding-top:40px!important}
@media (max-width:720px){#marques{padding-bottom:24px!important} main > #contact{padding-top:24px!important}}
.cta-card h2{font-size:clamp(34px,calc(4.4 * 1vw / var(--z,1)),62px)!important;max-width:920px!important}
.cta-card{padding-top:72px!important;padding-bottom:72px!important}

/* =========================================================
   Accueil v33 — technologie, références, convictions, entreprise, contact
   ========================================================= */
.h2s{padding:120px 0}
.h2s-title{font-size:clamp(38px,calc(5 * 1vw / var(--z,1)),72px);font-weight:600;letter-spacing:-.05em;line-height:1.02}
.h2s-title span{display:block;color:var(--ink-3)}
.h2s-p{color:var(--ink-2);font-size:17.5px;line-height:1.65;max-width:600px}
.h2s-p + .h2s-p{margin-top:16px}
.h2s .eyebrow{margin-bottom:24px}
/* Technologie */
.tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.tech-copy .h2s-title{margin-bottom:32px}
.stack-card{position:relative;padding:32px;border-radius:32px;background:var(--vg);backdrop-filter:var(--vg-blur);-webkit-backdrop-filter:var(--vg-blur);box-shadow:var(--vg-edge),var(--vg-sh)}
.stack-k{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--lav);margin-bottom:22px}
[data-theme="light"] .stack-k{color:#5B43D6}
.tstack{list-style:none;position:relative;display:grid;gap:12px}
.tstack::before{content:"";position:absolute;left:31px;top:30px;bottom:30px;width:2px;border-radius:2px;background:linear-gradient(var(--lav),var(--sky),var(--mint),var(--lime));opacity:.6}
.tstack li{position:relative;display:flex;align-items:center;gap:18px;padding:18px 20px 18px 12px;border-radius:20px;
  background:rgba(255,255,255,.045);box-shadow:inset 0 .5px 0 rgba(255,255,255,.14),inset 0 0 0 .5px rgba(255,255,255,.06);transition:transform .45s cubic-bezier(.16,1,.3,1),background .3s}
[data-theme="light"] .tstack li{background:rgba(255,255,255,.75);box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(14,16,22,.05)}
.tstack li:hover{transform:translateX(8px);background:color-mix(in srgb,var(--c) 10%,transparent)}
.tstack .node{position:relative;z-index:1;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;
  color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--bg));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 45%,transparent),0 0 24px -6px var(--c)}
[data-theme="light"] .tstack .node{color:color-mix(in srgb,var(--c) 55%,#000)}
.tstack .node svg{width:20px;height:20px}
.tstack b{display:block;font-size:17px;font-weight:600;letter-spacing:-.02em}
.tstack small{display:block;font-size:14.5px;color:var(--ink-2);margin-top:2px}
.stack-foot{margin-top:20px;text-align:center;font-size:14px;color:var(--ink-3)}
/* Références */
.h2s-head{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:end;margin-bottom:48px}
.ref-logos{overflow:hidden;border-top:1px solid var(--glass-line);border-bottom:1px solid var(--glass-line);margin-bottom:40px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.ref-logos .track{display:flex;width:max-content;animation:marq 28s linear infinite}
.ref-logos:hover .track{animation-play-state:paused}
.ref-logos p{flex:none;padding:28px 56px;font-size:24px;font-weight:600;letter-spacing:-.03em;color:var(--ink-3);transition:color .3s}
.ref-logos p:hover{color:var(--ink)}
.ref-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ref-case{position:relative;padding:10px;border-radius:30px;background:var(--vg);backdrop-filter:var(--vg-blur);-webkit-backdrop-filter:var(--vg-blur);box-shadow:var(--vg-edge),var(--vg-sh);display:flex;flex-direction:column}
.ref-top{position:relative;overflow:hidden;min-height:170px;padding:26px 24px;border-radius:22px;display:flex;flex-direction:column;justify-content:flex-end;
  background:radial-gradient(120% 120% at 100% 0%,color-mix(in srgb,var(--c) 55%,transparent),transparent 60%),linear-gradient(160deg,color-mix(in srgb,var(--c) 22%,transparent),rgba(255,255,255,.02));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 30%,transparent)}
.ref-top p{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--c);margin-bottom:8px}
[data-theme="light"] .ref-top p{color:color-mix(in srgb,var(--c) 50%,#000)}
.ref-top h3{font-size:30px;font-weight:600;letter-spacing:-.04em}
.ref-desc{padding:20px 16px 18px;color:var(--ink-2);font-size:16px;line-height:1.6}
/* Convictions */
.conv3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:64px}
.cv{position:relative;padding-top:28px}
.cv::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--glass-border)}
.cv::after{content:"";position:absolute;left:0;top:0;height:2px;width:calc(var(--sp,1) * 100%);border-radius:2px;background:var(--c);box-shadow:0 0 14px var(--c);transition:width .2s}
.cv-n{font-family:var(--f-mono);font-size:13px;color:var(--c)}
[data-theme="light"] .cv-n{color:color-mix(in srgb,var(--c) 50%,#000)}
.cv h3{font-size:26px;font-weight:600;letter-spacing:-.035em;margin:22px 0 14px}
.cv p{color:var(--ink-2);font-size:16.5px;line-height:1.65}
/* Entreprise */
.ent-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.founders{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.fd{display:inline-flex;align-items:center;gap:12px;padding:8px 18px 8px 8px;border-radius:999px;font-size:15px;font-weight:500;
  background:var(--vg);box-shadow:var(--vg-edge)}
.fd i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:13px;font-weight:600;color:#0A0A0C;
  background:linear-gradient(145deg,var(--c),color-mix(in srgb,var(--c) 60%,#fff));box-shadow:0 0 20px -6px var(--c)}
/* Contact */
#contact.h2s{padding-top:60px}
.ct-card{position:relative;overflow:hidden;display:grid;grid-template-columns:1.4fr auto;gap:48px;align-items:center;padding:64px;border-radius:40px;
  background:radial-gradient(80% 120% at 0% 0%,rgba(187,168,248,.45),transparent 60%),radial-gradient(60% 100% at 100% 100%,rgba(155,232,212,.25),transparent 60%),linear-gradient(135deg,#5B43D6,#3E2EA8);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 40px 80px -40px rgba(91,67,214,.8);color:#fff}
.ct-card::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:40px 40px;
  -webkit-mask-image:radial-gradient(ellipse 60% 80% at 80% 50%,#000,transparent 75%);mask-image:radial-gradient(ellipse 60% 80% at 80% 50%,#000,transparent 75%)}
.ct-card > *{position:relative;z-index:1}
.ct-k{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:22px}
.ct-card .h2s-title{color:#fff}
.ct-card .h2s-title span{color:rgba(255,255,255,.65)}
.ct-card .h2s-p{color:rgba(255,255,255,.82);margin-top:22px}
.ct-actions{display:flex;flex-direction:column;gap:12px;min-width:280px}
.ct-actions .btn{justify-content:center;background:#fff!important;color:#14102E!important;padding:17px 26px;font-size:16px;box-shadow:0 14px 34px -14px rgba(0,0,0,.5)!important}
.ct-actions .btn.ghost{background:rgba(255,255,255,.12)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)!important}
.ct-mail{text-align:center;color:#fff;font-size:15px;text-decoration:underline;text-underline-offset:4px;opacity:.85;margin-top:4px}
.ct-mail:hover{opacity:1}
@media (max-width:1024px){
  .tech-grid,.ent-grid,.h2s-head,.ct-card{grid-template-columns:1fr;gap:36px}
  .ref-cases,.conv3{grid-template-columns:1fr}
  .conv3{gap:32px}
}
@media (max-width:720px){
  .h2s{padding:80px 0}
  .stack-card{padding:22px}
  .ct-card{padding:32px 24px;border-radius:28px}
  .ct-actions{min-width:0}
  .ref-logos p{padding:22px 32px;font-size:20px}
}
.tech-grid .h2s-title,.ent-grid .h2s-title{font-size:clamp(36px,calc(4 * 1vw / var(--z,1)),58px)}
.ent-grid{align-items:center}
.js .stack-card.reveal{rotate:none!important}

/* =========================================================
   v34 — animations au défilement des nouvelles sections
   ========================================================= */
.pinned{padding:0!important}
.pin{position:relative;height:var(--ph,calc(280 * 1vh / var(--z,1)))}
.pin-in{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;align-items:center;overflow:hidden}
.pin-in > .wrap{width:100%}
/* Technologie : les couches s'empilent */
.tstack li{opacity:var(--k,1);transform:translateY(calc((1 - var(--k,1)) * 90px)) scale(calc(.88 + var(--k,1) * .12));transition:none}
.tstack li.now{background:color-mix(in srgb,var(--c) 14%,rgba(255,255,255,.04));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 45%,transparent),0 20px 40px -20px var(--c)}
.tstack::before{transform-origin:50% 0;transform:scaleY(var(--lp,1))}
.tech-copy .h2s-p{opacity:var(--o,1);transition:opacity .3s}
.tech-copy .h2s-title,.tech-copy .eyebrow{opacity:var(--o,1);transform:translateY(calc((1 - var(--o,1)) * 30px))}
.stack-card{transform:perspective(1400px) rotateX(calc(var(--rx,0) * 1deg)) scale(var(--sc,1));transform-origin:50% 100%}
.tech-prog{display:flex;gap:6px;margin-top:22px}
.tech-prog i{flex:1;height:3px;border-radius:3px;background:var(--glass-border);overflow:hidden;position:relative}
.tech-prog i::after{content:"";position:absolute;inset:0;background:var(--c);transform-origin:0 50%;transform:scaleX(var(--f,0));box-shadow:0 0 10px var(--c)}
/* Références : cartes empilées qui se déploient */
.ref-cases.deal .ref-case{transform:translate(calc(var(--dx,0) * 1%),calc(var(--dy,0) * 1px)) rotate(calc(var(--dr,0) * 1deg)) scale(var(--ds,1));opacity:var(--do,1)}
.ref-cases.deal .ref-case:nth-child(2){z-index:2}
/* Convictions : une à une */
.cv{opacity:var(--o,1);transform:translateY(calc((1 - var(--o,1)) * 24px))}
.cv.now h3{color:var(--ink)}
.cv:not(.now) h3{color:var(--ink-2)}
.conv3{margin-top:72px}
/* Entreprise : titre qui s'allume */
.h2s-title.words .wd{opacity:var(--w,.15);transition:opacity .2s linear}
.h2s-title.words span{color:inherit}
.h2s-title.words span .wd{color:var(--ink-3)}
/* Contact : la carte s'agrandit */
.ct-card.grow{transform:scale(var(--g,1));border-radius:calc(40px + (1 - var(--g,1)) * 200px);transform-origin:50% 20%}
.ct-card.grow > *{opacity:var(--go,1);transform:translateY(calc((1 - var(--go,1)) * 30px))}
@media (max-width:900px){
  .pin{height:auto!important}.pin-in{position:static;height:auto;display:block;padding:80px 0;overflow:visible}
  .tstack li,.cv,.tech-copy *, .ref-cases.deal .ref-case,.ct-card.grow,.ct-card.grow > *{--k:1;--o:1;--dx:0;--dy:0;--dr:0;--ds:1;--do:1;--g:1;--go:1}
  .h2s-title.words .wd{--w:1}
}
@media (prefers-reduced-motion:reduce){
  .pin{height:auto!important}.pin-in{position:static;height:auto;display:block;padding:80px 0}
  .tstack li,.cv,.ref-case,.ct-card,.ct-card > *{--k:1!important;--o:1!important;--dx:0!important;--dy:0!important;--dr:0!important;--ds:1!important;--do:1!important;--g:1!important;--go:1!important}
  .h2s-title.words .wd{--w:1!important}
}
.h2s-title.words span.wd{display:inline!important}

/* Références épinglées */
#references .h2s-head{margin-bottom:28px;opacity:var(--o,1);transform:translateY(calc((1 - var(--o,1)) * 30px))}
#references .h2s-title{font-size:clamp(34px,calc(4.2 * 1vw / var(--z,1)),60px)}
#references .ref-logos{margin-bottom:28px;opacity:var(--o,1)}
#references .ref-logos p{padding:18px 48px;font-size:21px}
.ref-case{transition:box-shadow .4s}
.ref-case.focus{box-shadow:var(--vg-edge),0 0 0 1px color-mix(in srgb,var(--c) 60%,transparent),0 40px 80px -30px var(--c)!important}
.ref-case .ref-top{transition:min-height .5s cubic-bezier(.16,1,.3,1)}
.ref-case.focus .ref-top{background:radial-gradient(120% 120% at 100% 0%,color-mix(in srgb,var(--c) 80%,transparent),transparent 60%),linear-gradient(160deg,color-mix(in srgb,var(--c) 35%,transparent),rgba(255,255,255,.02))}
.ref-dots{display:flex;justify-content:center;gap:6px;margin-top:26px}
.ref-dots i{width:34px;height:3px;border-radius:3px;background:var(--glass-border);overflow:hidden;position:relative}
.ref-dots i::after{content:"";position:absolute;inset:0;background:var(--c);transform-origin:0 50%;transform:scaleX(var(--f,0));box-shadow:0 0 8px var(--c)}
@media (max-width:900px){#references .h2s-head,#references .ref-logos{--o:1}.ref-dots{display:none}}

/* =========================================================
   v36 — page izy Factory modernisée
   ========================================================= */
.w-factory{max-width:none!important;padding:0!important}
.fx-hero{position:relative;max-width:1200px;margin:0 auto;padding:110px 24px 40px;text-align:center;display:flex;flex-direction:column;align-items:center}
.fx-hero::before{content:"";position:absolute;left:50%;top:-80px;width:900px;height:600px;translate:-50% 0;pointer-events:none;z-index:-1;
  background:radial-gradient(closest-side,rgba(187,168,248,.35),rgba(187,168,248,.08) 55%,transparent)}
.fx-pill{display:inline-flex;align-items:center;gap:12px;padding:7px 16px 7px 10px;border-radius:999px;font-size:14px;
  background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.04));box-shadow:inset 1px 1px 0 rgba(255,255,255,.25),inset 0 0 0 .5px rgba(255,255,255,.08)}
.fx-pill i{width:8px;height:8px;border-radius:50%;background:var(--oc);box-shadow:0 0 12px var(--oc)}
.fx-pill .wordmark{font-size:15px;font-weight:600;letter-spacing:-.02em}
.fx-pill .wordmark span{color:var(--oc);font-weight:400}
.fx-pill b{font-family:var(--f-mono);font-size:11px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding-left:12px;border-left:1px solid rgba(255,255,255,.15)}
.fx-title{font-size:clamp(52px,calc(8.4 * 1vw / var(--z,1)),132px);font-weight:600;letter-spacing:-.06em;line-height:.94;margin:30px 0 28px}
.fx-title span{display:block;background:linear-gradient(100deg,#fff 0%,#D4C8FF 40%,var(--oc) 75%,#A6F0DC 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 7s ease-in-out infinite alternate}
.fx-lead{font-size:20px;line-height:1.6;color:var(--ink-2);max-width:640px}
.fx-actions{margin-top:34px;display:flex;gap:12px;justify-content:center}
.world.on .fx-copy > *{animation:worldIn .9s cubic-bezier(.16,1,.3,1) both}
.world.on .fx-copy > :nth-child(1){animation-delay:.3s}.world.on .fx-copy > :nth-child(2){animation-delay:.4s}.world.on .fx-copy > :nth-child(3){animation-delay:.5s}.world.on .fx-copy > :nth-child(4){animation-delay:.6s}
.fx-stage{width:min(980px,100%);margin-top:70px;perspective:1600px}
.fx-stage .fac-visual{height:520px;transform:rotateX(calc(var(--fxr,22) * 1deg)) scale(var(--fxs,.92));transform-origin:50% 0;transition:none;
  border-radius:32px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));box-shadow:inset 1px 1px 0 rgba(255,255,255,.2),inset 0 0 0 .5px rgba(255,255,255,.08),0 60px 120px -50px rgba(142,118,242,.6)}
.world.on .fx-stage .fac-visual{animation:none}
.world.on .fx-stage{animation:visIn 1.3s cubic-bezier(.16,1,.3,1) .45s both}
.fx-stage .fv-a{left:6%;top:70px;width:58%;height:300px}
.fx-stage .fv-b{right:6%;top:40px;width:30%;height:180px}
.fx-stage .fv-phone{right:14%;bottom:40px;width:150px;height:280px}
.fx-stage .fv-chip{left:12%;bottom:60px}
.fx-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:min(980px,100%);margin-top:28px;text-align:left}
.fx-kpis div{padding:24px 26px;border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:inset 1px 1px 0 rgba(255,255,255,.2),inset 0 0 0 .5px rgba(255,255,255,.06)}
.fx-kpis b{display:block;font-size:44px;font-weight:600;letter-spacing:-.05em;color:var(--oc);line-height:1}
.fx-kpis span{display:block;margin-top:10px;font-size:14px;color:var(--ink-2)}
/* Étapes épinglées */
.fx-steps-pin{position:relative;height:calc(210 * 1vh / var(--z,1))}
.fx-steps-in{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:0 24px}
.fx-steps{position:relative;display:block!important;width:min(1100px,100%);height:340px;margin:0!important;list-style:none}
.fx-steps li{position:absolute!important;inset:0;display:flex!important;flex-direction:column!important;justify-content:center;align-items:center;text-align:center;gap:26px!important;
  background:none!important;box-shadow:none!important;border:0!important;min-height:0!important;padding:0!important;
  opacity:var(--a,0);transform:translateY(calc(var(--y,0) * 1px)) scale(calc(.94 + var(--a,0) * .06));animation:none!important}
.fx-steps li span{width:auto!important;height:auto!important;border:0!important;background:none!important;font-family:var(--f)!important;font-size:clamp(90px,calc(12 * 1vw / var(--z,1)),180px)!important;font-weight:600;letter-spacing:-.06em;line-height:.8;
  background:linear-gradient(180deg,var(--oc),rgba(187,168,248,0))!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important}
.fx-steps li p{font-size:clamp(30px,calc(4.4 * 1vw / var(--z,1)),64px);font-weight:600;letter-spacing:-.045em;line-height:1.05;max-width:900px}
.fx-bars{display:flex;gap:8px;margin-top:40px}
.fx-bars i{width:60px;height:3px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden;position:relative}
.fx-bars i::after{content:"";position:absolute;inset:0;background:var(--oc);transform-origin:0 50%;transform:scaleX(var(--f,0));box-shadow:0 0 10px var(--oc)}
/* Contenu détaillé : en-têtes alignés à gauche, typo de l'accueil */
.factory-more{border-top:0!important;margin-top:0!important}
.factory-more .sec-head,.factory-more .lib-intro{grid-template-columns:1.2fr 1fr!important;text-align:left!important;justify-items:start!important;align-items:end!important;gap:48px!important}
.factory-more .sec-head > div,.factory-more .lib-intro > div{align-items:flex-start!important}
.factory-more .sec-head .lead,.factory-more .lib-intro p{margin-left:0!important}
.factory-more h2{font-size:clamp(38px,calc(5 * 1vw / var(--z,1)),72px)!important;letter-spacing:-.05em!important;line-height:1.02!important}
.factory-more .eyebrow{background:none!important;border:0!important;padding:0!important}
.factory-more .eyebrow::before{background:var(--oc)!important;box-shadow:0 0 10px var(--oc)!important}
.factory-more .cases-head{align-items:flex-start!important;text-align:left!important}
[data-theme="light"] .fx-pill{background:rgba(255,255,255,.75);box-shadow:inset 1px 1px 0 #fff,0 2px 8px -4px rgba(0,0,0,.15)}
[data-theme="light"] .fx-pill b{border-color:rgba(14,16,22,.12)}
[data-theme="light"] .fx-title span{background:linear-gradient(100deg,#0E1016 0%,#5B43D6 55%,#138F7A 100%);-webkit-background-clip:text;background-clip:text}
[data-theme="light"] .fx-kpis div,[data-theme="light"] .fx-stage .fac-visual{background:rgba(255,255,255,.75);box-shadow:inset 1px 1px 0 #fff,0 30px 60px -40px rgba(60,40,140,.35)}
[data-theme="light"] .fx-kpis b{color:#5B43D6}
[data-theme="light"] .fx-bars i{background:rgba(14,16,22,.1)}
@media (max-width:900px){
  .fx-hero{padding-top:60px}.fx-stage .fac-visual{height:380px}
  .fx-kpis{grid-template-columns:1fr}
  .fx-steps-pin{height:auto}.fx-steps-in{position:static;height:auto;padding:60px 16px}
  .fx-steps{height:auto}.fx-steps li{position:relative!important;--a:1!important;--y:0!important;padding:24px 0!important}
  .fx-bars{display:none}
  .factory-more .sec-head,.factory-more .lib-intro{grid-template-columns:1fr!important}
}
.fx-stage .fv-a{animation:fxIn1 1.4s cubic-bezier(.16,1,.3,1) .7s both!important}
.fx-stage .fv-b{animation:fxIn2 1.4s cubic-bezier(.16,1,.3,1) .9s both!important}
.fx-stage .fv-phone{animation:fxIn3 1.4s cubic-bezier(.16,1,.3,1) 1.1s both,floatA 6s ease-in-out 2.5s infinite!important}
.fx-stage .fv-chip{animation:fxIn4 1s cubic-bezier(.16,1,.3,1) 1.4s both,floatA 5s ease-in-out 2.5s infinite!important}
@keyframes fxIn1{from{transform:translate(-80px,40px) rotate(-8deg);opacity:0}}
@keyframes fxIn2{from{transform:translate(80px,-50px) rotate(10deg);opacity:0}}
@keyframes fxIn3{from{transform:translate(50px,100px) rotate(12deg);opacity:0}}
@keyframes fxIn4{from{transform:scale(0);opacity:0}}
.fx-stage .fv-a span:nth-of-type(1){animation:typeL 3.5s cubic-bezier(.65,0,.35,1) 2s infinite;transform-origin:0 50%}
.ref-logos .rlg{flex:none;display:flex;align-items:center;justify-content:center;height:96px;padding:0 54px}
.ref-logos .rlg img{display:block;height:34px;width:auto;max-width:170px;object-fit:contain;filter:brightness(0) invert(1);opacity:.62;transition:opacity .3s}
.ref-logos .rlg:nth-child(5n+3) img{height:30px}
.ref-logos .rlg:nth-child(5n) img{height:46px}
.ref-logos .rlg:hover img{opacity:1}
[data-theme="light"] .ref-logos .rlg img{filter:brightness(0);opacity:.55}
@media (max-width:720px){.ref-logos .rlg{height:78px;padding:0 32px}.ref-logos .rlg img{height:26px}}

/* =========================================================
   « Pour qui » — paquet de cartes 3D épinglé
   ========================================================= */
.sit-sec{padding:0!important}
.sit-pin{position:relative;height:calc(260 * 1vh / var(--z,1))}
.sit-in{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;align-items:center;overflow:hidden}
.sit-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:center;width:100%}
.sit-left h2{font-size:clamp(36px,calc(4.4 * 1vw / var(--z,1)),64px)!important;margin-bottom:20px}
.sit-left .lead{font-size:16.5px;max-width:480px}
.sit-navs{display:flex;flex-direction:column;gap:6px;margin-top:30px}
.sit-nav{position:relative;display:flex;align-items:center;gap:14px;text-align:left;padding:12px 16px;border-radius:16px;color:var(--ink-3);overflow:hidden;transition:color .4s,background .4s}
.sit-nav b{font-family:var(--f-mono);font-size:12px;font-weight:500;color:inherit}
.sit-nav span{font-size:16px;font-weight:500;letter-spacing:-.01em}
.sit-nav i{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--c);transform-origin:0 50%;transform:scaleX(var(--f,0));box-shadow:0 0 10px var(--c)}
.sit-nav.on{color:var(--ink);background:color-mix(in srgb,var(--c) 10%,transparent)}
.sit-nav.on b{color:var(--c)}
.sit-nav:hover{color:var(--ink)}
.sit-deck{position:relative;height:540px;perspective:1600px}
.sit-card{position:absolute;inset:0;display:flex;flex-direction:column;padding:42px;border-radius:36px;overflow:hidden;transform-style:preserve-3d;will-change:transform,opacity;
  background:radial-gradient(90% 70% at 100% 0%,color-mix(in srgb,var(--c) 26%,transparent),transparent 65%),linear-gradient(160deg,#1C1A2A,#121119);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.18),inset 0 0 0 1px color-mix(in srgb,var(--c) 25%,transparent),0 50px 90px -40px rgba(0,0,0,.9);
  transform:translate3d(calc(var(--tx,0) * 1px),calc(var(--ty,0) * 1px),calc(var(--tz,0) * 1px)) rotateZ(calc(var(--rz,0) * 1deg)) rotateY(calc(var(--ry,0) * 1deg)) rotateX(calc(var(--rx,0) * 1deg)) scale(var(--s,1));
  opacity:var(--o,1);z-index:var(--z,1)}
.sit-card::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(500px circle at var(--mx,70%) var(--my,0%),rgba(255,255,255,.1),transparent 45%)}
.sit-big{position:absolute;right:-10px;bottom:-60px;font-size:300px;font-weight:700;letter-spacing:-.08em;line-height:1;pointer-events:none;
  background:linear-gradient(180deg,color-mix(in srgb,var(--c) 50%,transparent),transparent 80%);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.55}
.sit-card .n{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--c);display:inline-flex;align-items:center;gap:8px}
.sit-card .n::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 12px var(--c)}
.sit-card h3{font-size:clamp(28px,calc(2.8 * 1vw / var(--z,1)),40px);font-weight:600;letter-spacing:-.045em;line-height:1.08;margin:22px 0 18px;color:#F2F2F6}
.sit-card h3 span{display:block}
.sit-card h3 span+span{color:var(--c)}
.sit-card .body{color:#B6B8C4;font-size:16px;line-height:1.65;max-width:520px;position:relative}
.sit-card .who{margin-top:auto;align-self:flex-start;position:relative;display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;font-size:14px;font-weight:500;color:#F2F2F6;
  background:rgba(255,255,255,.08);box-shadow:inset 1px 1px 0 rgba(255,255,255,.2)}
.sit-card .who::before{content:"→";color:var(--c);font-family:var(--f-mono)}
[data-theme="light"] .sit-card{background:radial-gradient(90% 70% at 100% 0%,color-mix(in srgb,var(--c) 40%,transparent),transparent 65%),linear-gradient(160deg,#fff,#F6F5FA);
  box-shadow:inset 1px 1px 0 #fff,inset 0 0 0 1px rgba(14,16,22,.06),0 50px 90px -40px rgba(40,30,90,.35)}
[data-theme="light"] .sit-card h3{color:#0E1016}
[data-theme="light"] .sit-card h3 span+span,[data-theme="light"] .sit-card .n{color:color-mix(in srgb,var(--c) 45%,#000)}
[data-theme="light"] .sit-card .body{color:#4B5060}
[data-theme="light"] .sit-card .who{color:#0E1016;background:rgba(14,16,22,.05)}
@media (max-width:900px){
  .sit-pin{height:auto}.sit-in{position:static;height:auto;display:block;padding:70px 0}
  .sit-grid{grid-template-columns:1fr}.sit-navs{display:none}
  .sit-deck{height:auto;display:grid;gap:16px}
  .sit-card{position:relative;inset:auto;--tx:0!important;--ty:0!important;--tz:0!important;--rz:0!important;--ry:0!important;--rx:0!important;--s:1!important;--o:1!important;padding:28px}
}

/* =========================================================
   Séquences épinglées Factory : Wapp (carrousel), IA (orbite), Bibliothèque (assemblage), Studio (projecteur)
   ========================================================= */
.fx-sec{padding:0!important}
.fxp{position:relative;height:var(--ph,calc(350 * 1vh / var(--z,1)))}
.fxp-in{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;align-items:center;overflow:hidden}
.fxp-in > .wrap{width:100%}
.fxp-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}
.factory-more .fxp-head{display:flex!important;flex-direction:column;align-items:flex-start;gap:18px!important;margin:0!important}
.factory-more .fxp-head h2{font-size:clamp(34px,calc(4 * 1vw / var(--z,1)),58px)!important}
.fxp-head .lead{font-size:16px!important;max-width:440px}
.fx-count{font-family:var(--f-mono);font-size:13px;color:var(--ink-3);text-align:center;margin-top:26px}
.fx-count b{font-size:28px;font-weight:500;color:var(--ink)}
/* 1. Carrousel des 4 promesses */
.flow-stage{position:relative}
.pillars.flow{position:relative!important;display:block!important;height:470px;perspective:1600px}
.pillars.flow .pillar{position:absolute!important;left:50%;top:0;width:380px;height:100%;margin-left:-190px;grid-column:auto!important;min-height:0!important;
  transform:translateX(calc(var(--d,0) * 230px)) translateZ(calc(var(--ad,0) * -260px)) rotateY(calc(var(--d,0) * -42deg)) scale(calc(1 - var(--ad,0) * .08));
  opacity:var(--op,1);z-index:var(--z,1);will-change:transform}
.pillars.flow .pillar.on{box-shadow:var(--vg-edge),0 0 0 1px color-mix(in srgb,var(--pc) 55%,transparent),0 50px 90px -40px var(--pc)!important}
.pillars.flow .pillar:nth-child(1){--pc:var(--lav)}.pillars.flow .pillar:nth-child(2){--pc:var(--sky)}.pillars.flow .pillar:nth-child(3){--pc:var(--mint)}.pillars.flow .pillar:nth-child(4){--pc:var(--peach)}
.pillars.flow .pillar h3{font-size:32px!important}
.pillars.flow .ico3d{width:58px!important;height:58px!important;border-radius:18px!important}
/* 2. Orbite IA */
.orbit-stage{position:relative;height:620px}
.orbit-core{position:absolute;left:50%;top:50%;width:150px;height:150px;margin:-75px;border-radius:50%;display:grid;place-items:center;z-index:5;
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.35),rgba(187,168,248,.35) 40%,rgba(91,67,214,.25) 75%);box-shadow:0 0 80px 10px rgba(187,168,248,.35),inset 0 0 30px rgba(255,255,255,.2)}
.orbit-core span{font-size:44px;font-weight:700;letter-spacing:-.04em;color:#fff}
.orbit-core::before,.orbit-core::after{content:"";position:absolute;inset:-60px;border-radius:50%;border:1px solid rgba(187,168,248,.25);animation:pulseR 3s ease-out infinite}
.orbit-core::after{animation-delay:1.5s}
@keyframes pulseR{from{transform:scale(.6);opacity:1}to{transform:scale(1.6);opacity:0}}
.usecases.orbit{position:absolute!important;inset:0;display:block!important;background:none!important;border:0!important}
.usecases.orbit .usecase{position:absolute!important;left:50%;top:50%;width:230px;margin:-40px 0 0 -115px;min-height:0!important;padding:18px 20px!important;grid-column:auto!important;
  transform:translate(calc(var(--ox,0) * 1px),calc(var(--oy,0) * 1px)) scale(var(--os,1));opacity:var(--oo,1);z-index:var(--z,1);transition:width .4s,margin .4s,box-shadow .4s}
.usecases.orbit .usecase h3{font-size:16px!important;margin:0!important}
.usecases.orbit .usecase .dot{display:none}
.usecases.orbit .usecase p{max-height:0;opacity:0;overflow:hidden;margin-top:0;transition:max-height .45s,opacity .35s,margin .4s;font-size:14.5px}
.usecases.orbit .usecase.on{width:320px;margin-left:-160px;box-shadow:var(--vg-edge),0 0 0 1px rgba(187,168,248,.5),0 30px 70px -30px rgba(187,168,248,.8)!important}
.usecases.orbit .usecase.on h3{font-size:20px!important}
.usecases.orbit .usecase.on p{max-height:140px;opacity:1;margin-top:10px}
/* 3. Bibliothèque : les briques s'assemblent */
#bibliotheque .lib-intro{margin-bottom:28px!important}
#bibliotheque .lib-intro h2{font-size:clamp(32px,calc(3.6 * 1vw / var(--z,1)),50px)!important}
.lib-groups.build .brick{transform:translate(calc(var(--bx,0) * 1px),calc(var(--by,0) * 1px)) rotate(calc(var(--br,0) * 1deg)) scale(var(--bs,1));opacity:var(--bo,1);will-change:transform}
.lib-groups.build .lib-group{transition:box-shadow .5s}
.lib-groups.build .lib-group.full{box-shadow:var(--vg-edge),0 0 0 1px rgba(155,232,212,.35),0 30px 70px -40px rgba(155,232,212,.6)!important}
.lib-groups.build .brick{padding:14px 16px!important}
.lib-groups.build .brick p{font-size:13.5px}
/* 4. Studio : projecteur sur la liste */
.spot-list{display:flex;flex-direction:column}
.spot-item{position:relative;padding:18px 0 18px 64px;border-top:1px solid var(--glass-line);cursor:default}
.spot-item:last-child{border-bottom:1px solid var(--glass-line)}
.spot-n{position:absolute;left:0;top:22px;font-family:var(--f-mono);font-size:13px;color:var(--ink-3);transition:color .4s}
.spot-item h3{font-size:clamp(24px,calc(2.6 * 1vw / var(--z,1)),38px)!important;font-weight:600;letter-spacing:-.04em;color:var(--ink-3);transition:color .4s;margin:0!important}
.spot-item p{max-height:0;opacity:0;overflow:hidden;color:var(--ink-2);font-size:16px;line-height:1.6;max-width:560px;transition:max-height .5s cubic-bezier(.16,1,.3,1),opacity .4s,margin .4s}
.spot-item::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:calc(var(--f,0) * 100%);background:linear-gradient(90deg,var(--lav),var(--mint));box-shadow:0 0 10px var(--lav)}
.spot-item.on h3{color:var(--ink)}
.spot-item.on .spot-n{color:var(--lav)}
.spot-item.on p{max-height:120px;opacity:1;margin-top:12px}
.fx-stats{max-width:620px;margin:0 auto 100px}
@media (max-width:900px){
  .fxp{height:auto!important}.fxp-in{position:static;height:auto;display:block;padding:70px 0}
  .fxp-grid{grid-template-columns:1fr}
  .pillars.flow{height:auto;display:grid!important;gap:14px}.pillars.flow .pillar{position:relative!important;left:auto;width:auto;margin:0;transform:none;opacity:1}
  .fx-count{display:none}
  .orbit-stage{height:auto}.orbit-core{display:none}.usecases.orbit{position:relative!important;display:grid!important;gap:12px}
  .usecases.orbit .usecase{position:relative!important;left:auto;top:auto;width:auto!important;margin:0!important;transform:none;opacity:1}
  .usecases.orbit .usecase p{max-height:none;opacity:1;margin-top:8px}
  .lib-groups.build .brick{transform:none;opacity:1}
  .spot-item p{max-height:none;opacity:1;margin-top:10px}.spot-item h3{color:var(--ink)}
}
#bibliotheque .fxp-in{padding-top:70px}
#bibliotheque .lib-intro{display:grid!important;grid-template-columns:1fr 1fr!important;gap:40px!important;align-items:end!important;margin-bottom:22px!important}
#bibliotheque .lib-intro h2{font-size:clamp(30px,calc(3.2 * 1vw / var(--z,1)),46px)!important}
#bibliotheque .lib-intro .compose{font-size:18px!important;margin-bottom:6px!important}
#bibliotheque .lib-intro .missing{margin-top:12px!important;padding:12px 16px!important;font-size:14px!important}
#bibliotheque .lib-intro > div:last-child > p:nth-child(2){font-size:14.5px}
.lib-groups.build .brick{margin-top:6px!important}
.lib-groups.build .lib-group .gh{padding:12px 14px 8px!important}
.flow-stage{margin-left:40px}
@media (max-width:900px){#bibliotheque .lib-intro{grid-template-columns:1fr!important}.flow-stage{margin-left:0}}
/* Maquette Factory : flottement vertical */
@keyframes fxBob{0%,100%{translate:0 0}50%{translate:0 var(--bob,-16px)}}
.fx-stage .fv-a{--bob:-14px;animation:fxIn1 1.4s cubic-bezier(.16,1,.3,1) .7s both,fxBob 6s ease-in-out 2.1s infinite!important}
.fx-stage .fv-b{--bob:18px;animation:fxIn2 1.4s cubic-bezier(.16,1,.3,1) .9s both,fxBob 5s ease-in-out 2.3s infinite!important}
.fx-stage .fv-phone{--bob:-26px;animation:fxIn3 1.4s cubic-bezier(.16,1,.3,1) 1.1s both,fxBob 4.2s ease-in-out 2.5s infinite!important}
.fx-stage .fv-chip{--bob:-20px;animation:fxIn4 1s cubic-bezier(.16,1,.3,1) 1.4s both,fxBob 3.4s ease-in-out 2.4s infinite!important}
.fx-stage .fac-visual{animation:fxBob 8s ease-in-out infinite!important;--bob:-8px}
.fx-kpis div{animation:fxBob 6s ease-in-out infinite;--bob:-6px}
.fx-kpis div:nth-child(2){animation-delay:-2s}.fx-kpis div:nth-child(3){animation-delay:-4s}
@media (prefers-reduced-motion:reduce){.fx-stage *,.fx-kpis div{animation:none!important}}

/* =========================================================
   Contact v40 — dégradé vivant, bordure lumineuse, centré
   ========================================================= */
.ct-card{grid-template-columns:1fr!important;justify-items:center;text-align:center;gap:36px!important;padding:96px 48px!important;
  background:#0E0C1C!important;box-shadow:0 60px 120px -50px rgba(142,118,242,.7)!important;isolation:isolate}
.ct-card::after{display:none!important}
.ct-copy{display:flex;flex-direction:column;align-items:center;max-width:860px}
.ct-card .h2s-title{font-size:clamp(40px,calc(5.6 * 1vw / var(--z,1)),84px)}
.ct-card .h2s-title span{background:linear-gradient(100deg,#fff 0%,#D9CEFF 40%,#BDF3E4 75%,#EEF8B5 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 6s ease-in-out infinite alternate}
.ct-card .h2s-p{max-width:560px;margin-left:auto;margin-right:auto}
.ct-k{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.08);box-shadow:inset 1px 1px 0 rgba(255,255,255,.2)}
.ct-k::before{content:"";width:7px;height:7px;border-radius:50%;background:#E2F38E;box-shadow:0 0 10px #E2F38E}
.ct-actions{flex-direction:row!important;flex-wrap:wrap;justify-content:center;align-items:center;min-width:0!important;gap:12px!important}
.ct-actions .ct-mail{flex-basis:100%;margin-top:6px}
.ct-mesh{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit;filter:saturate(1.2)}
.ct-mesh i{position:absolute;width:70%;height:120%;border-radius:50%;opacity:.75;mix-blend-mode:screen;will-change:transform}
.ct-mesh i:nth-child(1){left:-15%;top:-40%;background:radial-gradient(closest-side,#8E76F2,transparent);animation:ctA 14s ease-in-out infinite}
.ct-mesh i:nth-child(2){right:-20%;top:-30%;background:radial-gradient(closest-side,#5CC9AE,transparent);animation:ctB 17s ease-in-out infinite}
.ct-mesh i:nth-child(3){left:20%;bottom:-70%;background:radial-gradient(closest-side,#B9D94A,transparent);opacity:.45;animation:ctC 19s ease-in-out infinite}
.ct-mesh i:nth-child(4){right:10%;bottom:-60%;background:radial-gradient(closest-side,#5B43D6,transparent);animation:ctA 21s ease-in-out infinite reverse}
@keyframes ctA{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(18%,12%) scale(1.15)}}
@keyframes ctB{0%,100%{transform:translate(0,0) scale(1.1)}50%{transform:translate(-20%,15%) scale(.95)}}
@keyframes ctC{0%,100%{transform:translate(0,0)}50%{transform:translate(-15%,-20%) scale(1.2)}}
.ct-ring{position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;z-index:2;
  background:conic-gradient(from var(--ang),rgba(255,255,255,.08) 0 40%,#BBA8F8 55%,#9BE8D4 68%,#E2F38E 76%,rgba(255,255,255,.08) 90%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 7s linear infinite}
.ct-spot{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;opacity:0;transition:opacity .4s;
  background:radial-gradient(380px circle at var(--sx,50%) var(--sy,50%),rgba(255,255,255,.14),transparent 60%)}
.ct-card:hover .ct-spot{opacity:1}
.ct-card > .ct-copy,.ct-card > .ct-actions{position:relative;z-index:3}
[data-theme="light"] .ct-card{background:#F4F1FF!important;color:#0E1016;box-shadow:0 50px 100px -50px rgba(91,67,214,.45)!important}
[data-theme="light"] .ct-mesh i{mix-blend-mode:multiply;opacity:.35}
[data-theme="light"] .ct-card .h2s-title{color:#0E1016}
[data-theme="light"] .ct-card .h2s-title span{background:linear-gradient(100deg,#5B43D6,#138F7A);-webkit-background-clip:text;background-clip:text}
[data-theme="light"] .ct-card .h2s-p,[data-theme="light"] .ct-k{color:#4B5060}
[data-theme="light"] .ct-k{background:rgba(255,255,255,.7)}
[data-theme="light"] .ct-actions .btn{background:#0E1016!important;color:#fff!important}
[data-theme="light"] .ct-actions .btn.ghost{background:rgba(255,255,255,.7)!important;color:#0E1016!important;box-shadow:inset 0 0 0 1px rgba(14,16,22,.15)!important}
[data-theme="light"] .ct-mail{color:#0E1016}
@media (max-width:720px){.ct-card{padding:56px 22px!important}.ct-actions .btn{width:100%}}
@media (prefers-reduced-motion:reduce){.ct-mesh i,.ct-ring{animation:none}}
/* Halo de fond des offres : fond fixe du conteneur (plus de bande) */
.dive::before{display:none!important}
.dive{background:radial-gradient(50% 50% at 80% 10%,color-mix(in srgb,var(--oc) 22%,transparent),transparent 70%),radial-gradient(40% 40% at 0% 100%,color-mix(in srgb,var(--oc2) 14%,transparent),transparent 70%),var(--obg)!important;background-attachment:scroll!important}
[data-theme="light"] .dive.o-factory{background:radial-gradient(50% 50% at 80% 10%,rgba(187,168,248,.35),transparent 70%),radial-gradient(40% 40% at 0% 100%,rgba(155,232,212,.25),transparent 70%),#F2F3F6!important}
.fx-hero::before{display:none}

/* Cartes opaques (plus de texte superposé) */
.sit-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:radial-gradient(90% 70% at 100% 0%,color-mix(in srgb,var(--c) 22%,#16141F),#16141F 65%),#16141F!important}
[data-theme="light"] .sit-card{background:radial-gradient(90% 70% at 100% 0%,color-mix(in srgb,var(--c) 30%,#fff),#fff 65%)!important}
.pillars.flow .pillar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:linear-gradient(160deg,#1E1C2B,#14131D)!important}
.pillars.flow .pillar::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:#0D0B1A;opacity:calc(var(--ad,0) * .55)}
[data-theme="light"] .pillars.flow .pillar{background:linear-gradient(160deg,#fff,#F6F5FA)!important}
[data-theme="light"] .pillars.flow .pillar::after{background:#F2F3F6}
/* =========================================================
   100+ briques : de vraies briques qui tombent et s'empilent
   ========================================================= */
.lib-groups.build{align-items:end!important;gap:22px!important}
.lib-groups.build .lib-group{display:flex!important;flex-direction:column-reverse;gap:16px;padding:0!important;background:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important;overflow:visible!important}
.lib-groups.build .lib-group .gh{position:relative;margin:0!important;padding:14px 18px!important;border-radius:12px;justify-content:center;
  background:linear-gradient(180deg,color-mix(in srgb,var(--gc) 45%,#2A2738),color-mix(in srgb,var(--gc) 25%,#1A1825));box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 0 -4px color-mix(in srgb,var(--gc) 30%,#0D0B1A),0 20px 30px -10px rgba(0,0,0,.6)}
.lib-groups.build .lib-group:nth-child(1){--gc:#BBA8F8}.lib-groups.build .lib-group:nth-child(2){--gc:#9BE8D4}.lib-groups.build .lib-group:nth-child(3){--gc:#F8B597}
.lib-groups.build .gh p{color:#fff;font-size:15px!important}
.lib-groups.build .gh .n{background:rgba(0,0,0,.25)!important;color:#fff!important}
.lib-groups.build .brick{position:relative;margin:0!important;padding:18px 18px 16px!important;border-radius:10px!important;border:0!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--gc) 92%,#fff),var(--gc) 55%,color-mix(in srgb,var(--gc) 80%,#000))!important;color:#16131F;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -3px 0 rgba(0,0,0,.14),0 6px 0 -1px color-mix(in srgb,var(--gc) 60%,#000),0 16px 24px -10px rgba(0,0,0,.55)!important;
  transform:translateY(calc(var(--by,0) * 1px)) rotate(calc(var(--br,0) * 1deg))!important;opacity:var(--bo,1)!important;will-change:transform}
.lib-groups.build .brick::before{content:"";position:absolute;left:14px;right:14px;top:-9px;height:10px;pointer-events:none;
  background:radial-gradient(circle at 50% 70%,color-mix(in srgb,var(--gc) 95%,#fff) 0 7px,transparent 7.5px) 0 0/44px 10px repeat-x;filter:drop-shadow(0 -1px 0 rgba(255,255,255,.35)) drop-shadow(0 1px 0 rgba(0,0,0,.2))}
.lib-groups.build .brick h3{color:#16131F!important;font-size:16px!important;font-weight:700;margin-bottom:4px!important}
.lib-groups.build .brick p{color:rgba(22,19,31,.72)!important;font-size:13px!important;line-height:1.45}
.lib-groups.build .brick.landed{animation:brickSettle .35s ease-out}
@keyframes brickSettle{40%{scale:1.03 .95}100%{scale:1 1}}
.lib-groups.build .lib-group.full .gh{box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 0 -4px color-mix(in srgb,var(--gc) 30%,#0D0B1A),0 0 40px -6px var(--gc)}
@media (max-width:900px){.lib-groups.build .brick{--by:0!important;--br:0!important;--bo:1!important}}
.lib-groups.build{overflow:clip;overflow-clip-margin:0;padding-top:16px!important;margin-top:-16px}
@media (max-width:900px){.lib-groups.build{overflow:visible}}
/* Situations : transitions temporelles (jamais d'état intermédiaire figé) */
.sit-card{transition:transform .75s cubic-bezier(.16,1,.3,1),opacity .3s ease}
.sit-card > *{transition:opacity .25s ease}
.sit-card:not(.top) > *{opacity:0!important}
.sit-card.top > *{transition-delay:.22s}
.sit-card:not(.top)::after{opacity:0}
@media (max-width:900px){.sit-card > *{opacity:1!important}}
.pillars.flow .pillar{transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .4s,box-shadow .4s}
.pillars.flow .pillar:not(.on) > *{opacity:.0;transition:opacity .25s}
.pillars.flow .pillar.on > *{opacity:1;transition:opacity .3s .25s}
@media (max-width:900px){.pillars.flow .pillar > *{opacity:1!important}}

/* =========================================================
   Maquette Factory : effet accentué
   ========================================================= */
@keyframes fxFloat{0%,100%{translate:0 0}25%{translate:var(--fx1,6px) var(--fy1,-14px)}50%{translate:0 var(--bob,-30px)}75%{translate:var(--fx2,-6px) var(--fy2,-12px)}}
.fx-stage{perspective:1400px}
.fx-stage .fac-visual{transform-style:preserve-3d;transform:rotateX(calc(var(--fxr,0) * 1deg + var(--my3,0) * -8deg)) rotateY(calc(var(--mx3,0) * 10deg)) scale(var(--fxs,1))!important;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.fx-stage .fv-a{--bob:-26px;--fx1:8px;--fx2:-6px;transform:translateZ(40px);animation:fxIn1 1.4s cubic-bezier(.16,1,.3,1) .7s both,fxFloat 7s ease-in-out 2.1s infinite!important}
.fx-stage .fv-b{--bob:30px;--fy1:16px;--fy2:12px;--fx1:-10px;--fx2:8px;transform:translateZ(90px);animation:fxIn2 1.4s cubic-bezier(.16,1,.3,1) .9s both,fxFloat 5.5s ease-in-out 2.3s infinite!important}
.fx-stage .fv-phone{--bob:-44px;--fx1:-10px;--fx2:10px;--fy1:-20px;--fy2:-24px;transform:translateZ(140px);animation:fxIn3 1.4s cubic-bezier(.16,1,.3,1) 1.1s both,fxFloat 4.6s ease-in-out 2.5s infinite!important;
  box-shadow:0 60px 90px -30px var(--oc),0 0 0 1px rgba(255,255,255,.12)!important}
.fx-stage .fv-chip{--bob:-36px;--fx1:14px;--fx2:-10px;transform:translateZ(180px);animation:fxIn4 1s cubic-bezier(.16,1,.3,1) 1.4s both,fxFloat 3.8s ease-in-out 2.4s infinite!important}
.fx-stage .fv-chip::before,.fx-stage .fv-chip::after{content:"";position:absolute;inset:0;border-radius:inherit;border:1.5px solid var(--oc);animation:chipWave 2.4s ease-out infinite;pointer-events:none}
.fx-stage .fv-chip::after{animation-delay:1.2s}
@keyframes chipWave{from{transform:scale(1);opacity:.9}to{transform:scale(2.6);opacity:0}}
.fx-stage .fv-a span{transform-origin:0 50%;animation:typeL 3.2s cubic-bezier(.65,0,.35,1) infinite}
.fx-stage .fv-a span:nth-of-type(2){animation-delay:.35s}.fx-stage .fv-a span:nth-of-type(3){animation-delay:.7s}
.fx-stage .fv-b b{animation:tileOn 3.2s ease-in-out infinite}
.fx-stage .fv-b b:nth-child(2){animation-delay:.8s}.fx-stage .fv-b b:nth-child(3){animation-delay:1.6s}.fx-stage .fv-b b:nth-child(4){animation-delay:2.4s}
@keyframes tileOn{0%,70%,100%{background:color-mix(in srgb,var(--oc) 25%,transparent);box-shadow:none}15%,35%{background:color-mix(in srgb,var(--oc) 75%,transparent);box-shadow:0 0 24px -4px var(--oc)}}
.fx-stage .fv-phone span{animation:phoneRow 3s ease-in-out infinite}
.fx-stage .fv-phone span:nth-child(2){animation-delay:.25s}.fx-stage .fv-phone span:nth-child(3){animation-delay:.5s}
@keyframes phoneRow{0%,100%{translate:0 0;opacity:1}45%{translate:0 -8px;opacity:.6}55%{translate:0 8px;opacity:.6}}
.fx-stage .fv-grid{animation:gridDrift 12s linear infinite}
@keyframes gridDrift{to{background-position:32px 32px,32px 32px}}
@media (prefers-reduced-motion:reduce){.fx-stage *,.fx-stage *::before,.fx-stage *::after{animation:none!important}}
.fx-stage .fv-chip{left:16%!important;bottom:90px!important;--bob:-22px!important;--fx1:10px!important;--fx2:-6px!important}
.fx-kpis{position:relative;z-index:2;margin-top:40px!important}

/* =========================================================
   Conviction : graphique vivant épinglé
   ========================================================= */
.cv-sec{padding:0!important}
.cv-pin{position:relative;height:calc(210 * 1vh / var(--z,1))}
.cv-in{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;align-items:center;overflow:hidden}
.cv-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;width:100%}
.cv-title{font-size:clamp(40px,calc(5 * 1vw / var(--z,1)),76px)!important;letter-spacing:-.055em!important;line-height:.98!important;margin:6px 0 26px}
.cv-title .ln{display:block;opacity:var(--o,1);transform:translateY(calc((1 - var(--o,1)) * 40px))}
.cv-title .l2{color:var(--ink-3)}
.cv-big{font-size:clamp(20px,calc(1.9 * 1vw / var(--z,1)),27px)!important;font-weight:500;letter-spacing:-.025em;opacity:var(--o,1);transform:translateY(calc((1 - var(--o,1)) * 20px))}
.cv-w{font-style:normal;font-weight:700;position:relative;display:inline-block;transition:color .4s}
.cv-w::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;border-radius:3px;transform-origin:0 50%;transform:scaleX(var(--u,0));transition:transform .5s cubic-bezier(.16,1,.3,1)}
.cv-w1{color:#9BE8D4}.cv-w1::after{background:#9BE8D4;box-shadow:0 0 12px #9BE8D4}
.cv-w2{color:#F8B597}.cv-w2::after{background:#F8B597;box-shadow:0 0 12px #F8B597}
.cv-w.dim{color:var(--ink-3)}
.cv-body{color:var(--ink-2);font-size:16.5px;line-height:1.65;max-width:520px;margin-top:20px;opacity:var(--o,1)}
.cv-chart{position:relative;margin:0;padding:22px 22px 14px;border-radius:30px;
  background:radial-gradient(70% 60% at 85% 10%,rgba(248,181,151,.10),transparent 60%),radial-gradient(60% 60% at 10% 100%,rgba(155,232,212,.10),transparent 60%),linear-gradient(160deg,#17151F,#0F0E15);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),0 0 0 1px rgba(255,255,255,.05),0 50px 100px -40px rgba(142,118,242,.55);
  transform:perspective(1400px) rotateY(calc(var(--cr,0) * -14deg)) rotateX(calc(var(--cr,0) * 6deg)) scale(calc(.94 + (1 - var(--cr,0)) * .06))}
.cv-chart svg{display:block;width:100%;height:auto;overflow:visible}
.cv-ax{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;fill:rgba(255,255,255,.4)}
.cv-tick{font-size:11px;fill:rgba(255,255,255,.45)}
.cv-custom{stroke-dashoffset:calc(1000 - var(--dc,0) * 1000)}
.cv-custom{stroke-dasharray:7 7}
.cv-wapp{stroke-dasharray:1000;stroke-dashoffset:calc(1000 - var(--dw,0) * 1000)}
.cv-lbl{opacity:var(--o,0);transition:opacity .4s}
.cv-l1{font-size:15px;font-weight:700;fill:#fff}
.cv-wz{fill:#E2F38E}
.cv-l2{font-size:11px;font-style:italic;fill:rgba(255,255,255,.55)}
.cv-dot{opacity:var(--o,0)}
.cv-gap{opacity:var(--o,0)}
.cv-badge rect{fill:rgba(20,18,30,.9);stroke:#BBA8F8;stroke-width:1}
.cv-badge text{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;fill:#D9CEFF}
.cv-bricks rect{rx:3;opacity:0;transition:opacity .3s}
.cv-meter{position:absolute;right:26px;bottom:-22px;display:flex;align-items:center;gap:12px;padding:10px 18px;border-radius:999px;
  background:linear-gradient(160deg,#2A2440,#1A1726);box-shadow:inset 1px 1px 0 rgba(255,255,255,.2),0 20px 40px -16px rgba(0,0,0,.8);opacity:var(--o,0);transform:translateY(calc((1 - var(--o,0)) * 16px))}
.cv-meter span{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#A3A7B5}
.cv-meter b{font-size:26px;font-weight:600;letter-spacing:-.04em;background:linear-gradient(90deg,#F8B597,#E2F38E);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
[data-theme="light"] .cv-chart{background:linear-gradient(160deg,#fff,#F6F5FA);box-shadow:inset 1px 1px 0 #fff,0 0 0 1px rgba(14,16,22,.06),0 40px 80px -40px rgba(91,67,214,.35)}
[data-theme="light"] .cv-ax,[data-theme="light"] .cv-tick,[data-theme="light"] .cv-l2{fill:rgba(14,16,22,.5)}
[data-theme="light"] .cv-l1{fill:#0E1016}[data-theme="light"] .cv-wz{fill:#6E8A12}
[data-theme="light"] .cv-axes{stroke:rgba(14,16,22,.12)}
[data-theme="light"] .cv-gapline{stroke:#0E1016}
@media (max-width:900px){
  .cv-pin{height:auto}.cv-in{position:static;height:auto;display:block;padding:70px 0}
  .cv-grid{grid-template-columns:1fr}.cv-meter{position:static;margin-top:14px;align-self:flex-start;display:inline-flex}
}
/* =========================================================
   100+ briques : tours isométriques 3D
   ========================================================= */
.iso-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:40px;align-items:center;width:100%}
#bibliotheque .iso-left .lib-intro{display:flex!important;flex-direction:column;gap:14px!important;margin:0!important;text-align:left}
#bibliotheque .iso-left .lib-intro h2{font-size:clamp(30px,calc(3.4 * 1vw / var(--z,1)),50px)!important}
#bibliotheque .iso-left .lib-intro > div:last-child > p:not(.compose){display:none}
.iso-panel{margin-top:26px;padding:24px 26px;border-radius:24px;min-height:190px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));box-shadow:inset 1px 1px 0 rgba(255,255,255,.16)}
.iso-panel > *{transition:opacity .25s,transform .35s cubic-bezier(.16,1,.3,1)}
.iso-panel.swap > *{opacity:0;transform:translateY(8px)}
.iso-g{display:flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--pc,#BBA8F8)}
.iso-g i{width:9px;height:9px;border-radius:3px;background:var(--pc,#BBA8F8);box-shadow:0 0 12px var(--pc,#BBA8F8)}
.iso-g b{margin-left:auto;font-weight:500;color:var(--ink-3)}
.iso-t{font-size:clamp(24px,calc(2.4 * 1vw / var(--z,1)),32px)!important;font-weight:600;letter-spacing:-.04em;margin:14px 0 8px}
.iso-d{color:var(--ink-2);font-size:15.5px;line-height:1.6}
.iso-stage{position:relative;height:620px;perspective:2600px}
.iso{position:absolute;left:50%;top:58%;width:0;height:0;transform-style:preserve-3d;transform:rotateX(57deg) rotateZ(-40deg) translate(-245px,-52px);transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.iso-stage.done .iso{transform:rotateX(55deg) rotateZ(-34deg) translate(-245px,-52px)}
.iso-shadow{position:absolute;left:50%;top:60%;width:560px;height:200px;margin:-100px 0 0 -280px;border-radius:50%;background:radial-gradient(closest-side,rgba(142,118,242,.4),transparent);filter:blur(12px);pointer-events:none}
.ib,.ibase{--w:150px;--d:104px;--h:46px;position:absolute;left:0;top:0;width:var(--w);height:var(--d);transform-style:preserve-3d}
.ibase{--h:22px;transform:translate3d(calc(var(--x) * 172px),0,0)}
.ib{transform:translate3d(calc(var(--x) * 172px),0,calc(22px + var(--l) * 48px + var(--drop,460px)));opacity:var(--op,0);
  transition:transform .85s cubic-bezier(.3,1.4,.5,1),opacity .3s ease}
.ib.in{--drop:0px;--op:1}
.f{position:absolute;display:block;font-style:normal;backface-visibility:hidden}
.f.t{left:0;top:0;width:var(--w);height:var(--d);transform:translateZ(var(--h));border-radius:5px;display:flex;align-items:center;justify-content:center;padding:10px;text-align:center;
  background:linear-gradient(135deg,color-mix(in srgb,var(--c) 65%,#fff),var(--c) 55%,color-mix(in srgb,var(--c) 85%,#000));box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),inset 2px 2px 0 rgba(255,255,255,.55)}
.f.t span{font-size:13.5px;font-weight:700;letter-spacing:-.02em;color:#17131F;line-height:1.15}
.f.fr{left:0;top:var(--d);width:var(--w);height:var(--h);transform-origin:0 0;transform:rotateX(-90deg) translateY(calc(var(--h) * -1));
  background:linear-gradient(0deg,color-mix(in srgb,var(--c) 50%,#000),color-mix(in srgb,var(--c) 75%,#000))}
.f.sd{left:var(--w);top:0;width:var(--h);height:var(--d);transform-origin:0 0;transform:rotateY(90deg) translateX(calc(var(--h) * -1));
  background:linear-gradient(270deg,color-mix(in srgb,var(--c) 38%,#000),color-mix(in srgb,var(--c) 58%,#000))}
.ibase .f.t{background:linear-gradient(135deg,color-mix(in srgb,var(--c) 28%,#2A2738),color-mix(in srgb,var(--c) 14%,#17151F));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 45%,transparent)}
.ibase .f.fr{background:color-mix(in srgb,var(--c) 22%,#0F0E16);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ibase .f.fr span{font-family:var(--f-mono);font-size:9px;letter-spacing:.04em;color:color-mix(in srgb,var(--c) 85%,#fff);white-space:nowrap;transform:none}
.ibase .f.sd{background:color-mix(in srgb,var(--c) 14%,#0B0A12)}
.ib.cur .f.t{box-shadow:inset 0 0 0 2px #fff,0 0 50px 6px var(--c)}
.iso-stage.done .ib .f.t{box-shadow:inset 0 0 0 1px rgba(255,255,255,.6),0 0 30px -2px var(--c)}
[data-theme="light"] .iso-panel{background:rgba(255,255,255,.8);box-shadow:inset 1px 1px 0 #fff,0 20px 40px -24px rgba(40,30,90,.3)}
@media (max-width:900px){.iso-grid{grid-template-columns:1fr}.iso-stage{height:420px}.iso{scale:.62}.ib{--drop:0px!important;--op:1!important}.iso-panel{display:none}}
@media (prefers-reduced-motion:reduce){.ib{--drop:0px!important;--op:1!important;transition:none}}
.iso{scale:1.28}
.iso-stage{height:660px}
#bibliotheque .iso-left .lib-intro > div{align-items:flex-start!important;text-align:left!important}
#bibliotheque .iso-left .compose{margin:0!important;text-align:left}
@media (max-width:900px){.iso{scale:.62}}
#bibliotheque .iso-left .compose{align-self:flex-start!important;text-align:left!important;width:100%}
#bibliotheque .iso-left .lib-intro > div:last-child{width:100%;display:flex;flex-direction:column;align-items:flex-start}

/* ---------- Entreprise : équipe sans noms ---------- */
.team-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.team-strip span{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:999px;font-size:15px;font-weight:500;background:var(--vg);box-shadow:var(--vg-edge)}
.team-strip i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#0A0A0C;background:linear-gradient(145deg,var(--c),color-mix(in srgb,var(--c) 55%,#fff));box-shadow:0 0 18px -4px var(--c)}
.team-strip svg{width:17px;height:17px}
.team-btn{margin-top:26px}
/* =========================================================
   IA native : console d'assistant
   ========================================================= */
.ai-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;width:100%}
.ai-left .fxp-head h2{font-size:clamp(34px,calc(3.8 * 1vw / var(--z,1)),56px)!important}
.ai-left .fxp-head .lead{display:none}
.ai-list{list-style:none;margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.ai-list li{position:relative;display:flex;gap:10px;align-items:baseline;padding:9px 2px;font-size:14.5px;color:var(--ink-3);border-bottom:1px solid var(--glass-line);transition:color .3s}
.ai-list li b{font-family:var(--f-mono);font-size:11px;font-weight:500}
.ai-list li i{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--c);transform-origin:0 50%;transform:scaleX(0);transition:transform .5s cubic-bezier(.16,1,.3,1);box-shadow:0 0 10px var(--c)}
.ai-list li.on{color:var(--ink)}.ai-list li.on b{color:var(--c)}.ai-list li.on i{transform:scaleX(1)}
.ai-list li.done{color:var(--ink-2)}
.ai-console{position:relative;border-radius:28px;padding:0 0 22px;min-height:440px;
  background:linear-gradient(170deg,#1B1928,#111019);box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),0 0 0 1px rgba(255,255,255,.05),0 60px 120px -50px var(--ac,#8E76F2);transition:box-shadow .6s}
.ai-glow{position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;
  background:conic-gradient(from var(--ang),transparent 0 60%,var(--ac,#BBA8F8) 78%,#fff 84%,transparent 92%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 4s linear infinite;opacity:.9}
.ai-bar{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06)}
.ai-dots{display:flex;gap:6px}.ai-dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.14)}
.ai-title{font-family:var(--f-mono);font-size:12px;color:#8E91A0;letter-spacing:.04em}
.ai-badge{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-family:var(--f-mono);font-size:11px;color:#9BE8D4;padding:4px 10px;border-radius:999px;background:rgba(155,232,212,.08);box-shadow:inset 0 0 0 1px rgba(155,232,212,.25)}
.ai-badge i{width:6px;height:6px;border-radius:50%;background:#9BE8D4;box-shadow:0 0 8px #9BE8D4;animation:blink 2s infinite}
.ai-input{display:flex;align-items:center;gap:14px;margin:24px 22px 0;padding:18px 18px;border-radius:18px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 0 4px color-mix(in srgb,var(--ac,#BBA8F8) 10%,transparent)}
.ai-spark{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;color:#0A0A0C;background:linear-gradient(135deg,#BBA8F8,#9BE8D4,#E2F38E);flex-shrink:0;animation:spinA 6s linear infinite}
.ai-spark svg{width:16px;height:16px}
.ai-q{font-size:20px;font-weight:600;letter-spacing:-.02em;color:#F2F2F6;white-space:nowrap;overflow:hidden}
.ai-caret{width:2px;height:24px;background:var(--ac,#BBA8F8);animation:blink 1s steps(1) infinite;margin-left:-8px}
.ai-kbd{margin-left:auto;font-family:var(--f-mono);font-size:12px;color:#7E8190;padding:3px 8px;border-radius:6px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.ai-out{padding:24px 26px 0;min-height:230px;display:flex;flex-direction:column}
.ai-thinking{display:flex;align-items:center;gap:6px;color:#8E91A0;font-size:13px;height:22px;opacity:0;transition:opacity .2s}
.ai-console.think .ai-thinking{opacity:1}
.ai-thinking i{width:7px;height:7px;border-radius:50%;background:var(--ac,#BBA8F8);animation:thk 1s ease-in-out infinite}
.ai-thinking i:nth-child(2){animation-delay:.15s}.ai-thinking i:nth-child(3){animation-delay:.3s}
.ai-thinking span{margin-left:8px;font-family:var(--f-mono);font-size:11.5px}
@keyframes thk{50%{transform:translateY(-5px);opacity:.4}}
.ai-a{margin-top:10px;font-size:19px;line-height:1.6;color:#E6E6EE;min-height:120px}
.ai-a .w{opacity:0;animation:wIn .35s ease forwards}
@keyframes wIn{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:none}}
.ai-foot{margin-top:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s}
.ai-console.ready .ai-foot{opacity:1;transform:none}
.ai-chip{font-family:var(--f-mono);font-size:11px;padding:5px 10px;border-radius:999px;color:#B6B8C4;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.ai-n{margin-left:auto;font-family:var(--f-mono);font-size:12px;color:#7E8190}
[data-theme="light"] .ai-console{background:linear-gradient(170deg,#fff,#F6F5FA);box-shadow:inset 1px 1px 0 #fff,0 0 0 1px rgba(14,16,22,.06),0 50px 100px -50px var(--ac,#8E76F2)}
[data-theme="light"] .ai-q,[data-theme="light"] .ai-a{color:#0E1016}
[data-theme="light"] .ai-input{background:rgba(14,16,22,.03)}
[data-theme="light"] .ai-bar{border-color:rgba(14,16,22,.06)}
@media (max-width:900px){.ai-grid{grid-template-columns:1fr}.ai-list{display:none}.ai-q{white-space:normal}}
.ai-left .fxp-head{padding:0!important;margin:0!important;width:100%}
.ai-left .fxp-head > div{align-items:flex-start!important}

/* =========================================================
   Factory déstructurée : une composition par section
   ========================================================= */
@media (min-width:901px){
/* 1. Conviction : titre centré, grand graphique au centre */
.cv-grid{grid-template-columns:1fr!important;gap:22px!important;justify-items:center;text-align:center}
.cv-copy{display:flex;flex-direction:column;align-items:center;max-width:980px}
.cv-title{font-size:clamp(36px,calc(4 * 1vw / var(--z,1)),60px)!important;margin:4px 0 8px!important}
.cv-title .ln{display:inline!important}
.cv-big{font-size:20px!important}
.cv-body{display:none}
.cv-chart{width:min(800px,100%);padding:16px 20px 10px!important}
.cv-meter{right:-40px!important;bottom:40px!important}
/* 2. Pour qui : miroir */
.sit-grid{grid-template-columns:1.05fr .95fr!important}
.sit-deck{order:-1}
.sit-left{padding-left:20px}
/* 3. Promesses : bandeau en haut, carrousel au centre */
#wapp .fxp-grid{grid-template-columns:1fr!important;gap:30px!important}
#wapp .fxp-head{display:grid!important;grid-template-columns:1fr 1fr;align-items:end!important;gap:48px!important}
#wapp .fxp-head > div{align-items:flex-start!important}
#wapp .fxp-head .lead{max-width:520px!important}
#wapp .flow-stage{margin:0!important}
#wapp .pillars.flow{height:420px}
#wapp .pillars.flow .pillar{width:420px;margin-left:-210px}
/* 4. IA : console à gauche */
.ai-grid{grid-template-columns:1.1fr .9fr!important}
.ai-console{order:-1}
/* 5. Briques : scène au centre, textes aux coins */
.iso-grid{position:relative;grid-template-columns:1fr!important;height:calc(92 * 1vh / var(--z,1))}
.iso-left{position:static}
#bibliotheque .iso-left .lib-intro{position:absolute!important;left:0;top:0;width:min(440px,40%);z-index:3}
.iso-panel{position:absolute;right:0;bottom:0;width:360px;z-index:3;margin:0!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.iso-stage{position:absolute!important;inset:0;height:auto!important}
.iso{left:54%!important;top:52%!important;scale:1.45!important}
.iso-shadow{left:54%!important;top:54%!important;width:700px!important;margin-left:-350px!important}
/* 6. Studio : keynote centrée */
#studio .fxp-grid{grid-template-columns:1fr!important;gap:26px!important;justify-items:center;text-align:center}
#studio .fxp-head{align-items:center!important;text-align:center}
#studio .fxp-head > div{align-items:center!important}
#studio .fxp-head h2{font-size:clamp(26px,calc(2.4 * 1vw / var(--z,1)),34px)!important}
#studio .fxp-head h2 .l2{display:inline}
#studio .fxp-head .lead{display:none}
#studio .spot-list{width:min(900px,100%);align-items:center}
.spot-item{padding:8px 0!important;border:0!important;text-align:center;display:flex;flex-direction:column;align-items:center}
.spot-item::before{left:50%!important;translate:-50% 0;width:calc(var(--f,0) * 120px)!important;top:auto!important;bottom:0}
.spot-n{position:static!important;margin-bottom:2px}
.spot-item h3{font-size:clamp(34px,calc(4.6 * 1vw / var(--z,1)),68px)!important;letter-spacing:-.05em!important;line-height:1.05;color:rgba(255,255,255,.14)!important;transition:color .5s,transform .6s cubic-bezier(.16,1,.3,1)}
[data-theme="light"] .spot-item h3{color:rgba(14,16,22,.14)!important}
.spot-item.on h3{color:var(--ink)!important;transform:scale(1.04)}
.spot-item.on h3{background:linear-gradient(100deg,#fff,#D9CEFF 45%,#9BE8D4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
[data-theme="light"] .spot-item.on h3{background:linear-gradient(100deg,#0E1016,#5B43D6 55%,#138F7A);-webkit-background-clip:text;background-clip:text}
.spot-item p{margin-left:auto;margin-right:auto;text-align:center}
}
@media (min-width:901px){
.iso-grid{position:relative!important;height:calc(84 * 1vh / var(--z,1))!important}
#bibliotheque .iso-left .lib-intro{top:0!important;bottom:auto!important;width:min(420px,36%)!important}
.iso-panel{bottom:0!important;top:auto!important;width:340px!important}
.iso{left:52%!important;top:56%!important;scale:1.22!important}
.spot-item h3{font-size:clamp(30px,calc(3.6 * 1vw / var(--z,1)),54px)!important;white-space:nowrap}
}
.iso-left{perspective:none!important;transform:none!important}
.hero .lead-2 b{font-weight:600;color:var(--ink-2)}

/* ---------- +90 briques : bandeaux défilants ---------- */
.more2{margin:20px 0 40px}
.more2-head{display:flex;align-items:center;gap:28px;margin-bottom:28px}
.more2-big{font-size:clamp(70px,calc(9 * 1vw / var(--z,1)),140px);font-weight:700;letter-spacing:-.07em;line-height:.85}
.more2-big span{background:linear-gradient(120deg,#BBA8F8,#9BE8D4 55%,#E2F38E);-webkit-background-clip:text;background-clip:text;color:transparent}
.more2-txt{font-size:19px;color:var(--ink-2);max-width:520px;line-height:1.5}
.more2-txt b{color:var(--ink);font-weight:600}
.marq2{overflow:hidden;padding:7px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marq2 .mtrack{display:flex;gap:12px;width:max-content;animation:marq 34s linear infinite}
.marq2.rev .mtrack{animation-direction:reverse;animation-duration:40s}
.marq2:hover .mtrack{animation-play-state:paused}
.marq2 span{display:inline-flex;align-items:center;gap:12px;padding:16px 24px;border-radius:999px;font-size:17px;font-weight:500;white-space:nowrap;
  background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),inset 0 0 0 .5px rgba(255,255,255,.06);transition:background .3s,box-shadow .3s}
.marq2 span::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--c);box-shadow:0 0 12px var(--c)}
.marq2 span:hover{background:color-mix(in srgb,var(--c) 18%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 60%,transparent)}
/* ---------- Intégration : hub ---------- */
.hub{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;padding:48px;border-radius:32px;margin-bottom:110px;
  background:radial-gradient(60% 80% at 80% 50%,rgba(155,232,212,.12),transparent 70%),linear-gradient(160deg,#1B1928,#111019);box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),0 0 0 1px rgba(255,255,255,.05)}
.hub-k{display:none}
.hub-t{font-size:clamp(30px,calc(3.2 * 1vw / var(--z,1)),46px);font-weight:600;letter-spacing:-.045em;line-height:1.05}
.hub-p{margin-top:16px;color:var(--ink-2);font-size:16.5px;line-height:1.6}
.hub-p b{color:var(--ink);font-weight:600}
.hub-ben{list-style:none;display:flex;flex-direction:column;gap:12px;margin-top:26px}
.hub-ben li{display:flex;align-items:center;gap:14px;font-size:17px;font-weight:600;letter-spacing:-.01em}
.hub-ben i{width:28px;height:28px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 35% 30%,#fff 0 12%,#9BE8D4 45%,#5CC9AE);box-shadow:0 0 16px -2px #9BE8D4;position:relative}
.hub-ben i::after{content:"";position:absolute;left:9px;top:7px;width:6px;height:10px;border:solid #0A0A0C;border-width:0 2px 2px 0;transform:rotate(45deg)}
.hub-viz{position:relative;aspect-ratio:520/380}
.hub-viz svg{position:absolute;inset:0;width:100%;height:100%}
.hub-pulses circle{fill:#E2F38E;filter:drop-shadow(0 0 6px #E2F38E)}
.hn{position:absolute;transform:translate(-50%,-50%);padding:10px 16px;border-radius:14px;font-size:14.5px;font-weight:600;white-space:nowrap;
  background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03));box-shadow:inset 1px 1px 0 rgba(255,255,255,.2),0 10px 24px -12px rgba(0,0,0,.7);animation:fxBob 5s ease-in-out infinite;--bob:-6px}
.n1{left:15%;top:18.4%}.n2{left:15%;top:81.6%;animation-delay:-1.2s}.n3{left:83%;top:18.4%;animation-delay:-2.4s}.n4{left:83%;top:81.6%;animation-delay:-3.6s}
.hcore{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px;border-radius:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  background:linear-gradient(145deg,#BBA8F8,#8E76F2);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 0 0 8px rgba(187,168,248,.12),0 0 60px 6px rgba(187,168,248,.45);color:#0A0A0C}
.hcore b{font-size:40px;font-weight:800;letter-spacing:-.05em;line-height:1}
.hcore small{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em}
.hcore::after{content:"";position:absolute;inset:-8px;border-radius:40px;border:1px solid rgba(187,168,248,.5);animation:pulseR 2.6s ease-out infinite}
[data-theme="light"] .hub{background:linear-gradient(160deg,#fff,#F6F5FA);box-shadow:inset 1px 1px 0 #fff,0 30px 60px -40px rgba(91,67,214,.3)}
[data-theme="light"] .marq2 span,[data-theme="light"] .hn{background:rgba(255,255,255,.8);box-shadow:inset 1px 1px 0 #fff,0 4px 14px -8px rgba(0,0,0,.2)}
@media (max-width:900px){.more2-head{flex-direction:column;align-items:flex-start;gap:10px}.hub{grid-template-columns:1fr;padding:26px}.marq2 span{font-size:15px;padding:12px 18px}}
@media (prefers-reduced-motion:reduce){.marq2 .mtrack,.hn,.hcore::after{animation:none}}

/* =========================================================
   « En plus » : bento illustré
   ========================================================= */
.plus3{padding-top:30px;padding-bottom:110px}
.plus3-head{margin-bottom:34px}
.plus3-title{font-size:clamp(32px,calc(3.6 * 1vw / var(--z,1)),52px);font-weight:600;letter-spacing:-.05em;line-height:1.02}
.plus3-title span{display:block;color:var(--ink-3)}
.bento{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto;gap:16px}
.bt{position:relative;overflow:hidden;border-radius:30px;padding:34px;display:flex;flex-direction:column;gap:26px;
  background:radial-gradient(80% 70% at 100% 0%,color-mix(in srgb,var(--c) 16%,transparent),transparent 65%),linear-gradient(160deg,#1C1A29,#12111A);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),0 0 0 1px rgba(255,255,255,.05);transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .4s}
.bt:hover{transform:translateY(-4px);box-shadow:inset 1px 1px 0 rgba(255,255,255,.2),0 0 0 1px color-mix(in srgb,var(--c) 45%,transparent),0 40px 80px -40px var(--c)}
.bt-a{grid-row:span 2;justify-content:space-between}
.bt-b,.bt-c{flex-direction:row;align-items:center}
.bt .n{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;color:var(--c)}
.bt h3{font-size:clamp(28px,calc(2.6 * 1vw / var(--z,1)),38px);font-weight:600;letter-spacing:-.045em;margin:10px 0 10px}
.bt .body{color:var(--ink-2);font-size:15.5px;line-height:1.6}
.bt-a h3{font-size:clamp(40px,calc(4 * 1vw / var(--z,1)),58px)}
/* viz abonnement */
.viz-sub{display:flex;flex-direction:column;gap:22px;padding:22px;border-radius:20px;background:rgba(0,0,0,.25);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.vs-l{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8E91A0;margin-bottom:10px}
.vs-bars{display:flex;align-items:flex-end;gap:6px;height:90px}
.vs-bars i{flex:1;border-radius:5px 5px 2px 2px;transform-origin:50% 100%}
.vs-bars.capex i{height:var(--h);background:linear-gradient(180deg,#F8B597,rgba(248,181,151,.25));animation:barIn 3.6s ease-in-out infinite}
.vs-bars.sub i{height:34%;background:linear-gradient(180deg,#9BE8D4,rgba(155,232,212,.25));box-shadow:0 0 14px -4px #9BE8D4;animation:barIn 3.6s ease-in-out infinite}
.vs-bars i:nth-child(n){animation-delay:calc(var(--k,0) * .08s)}
.vs-bars i:nth-child(1){--k:0}.vs-bars i:nth-child(2){--k:1}.vs-bars i:nth-child(3){--k:2}.vs-bars i:nth-child(4){--k:3}.vs-bars i:nth-child(5){--k:4}.vs-bars i:nth-child(6){--k:5}
.vs-bars i:nth-child(7){--k:6}.vs-bars i:nth-child(8){--k:7}.vs-bars i:nth-child(9){--k:8}.vs-bars i:nth-child(10){--k:9}.vs-bars i:nth-child(11){--k:10}.vs-bars i:nth-child(12){--k:11}
@keyframes barIn{0%{transform:scaleY(0)}25%,85%{transform:scaleY(1)}100%{transform:scaleY(1)}}
/* viz 360 */
.viz-360{position:relative;width:200px;height:200px;flex-shrink:0}
.r360{position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(187,168,248,.35);animation:spinA 26s linear infinite}
.r360 span{position:absolute;left:50%;top:50%;font-family:var(--f-mono);font-size:10px;white-space:nowrap;color:#D9CEFF;padding:3px 7px;border-radius:999px;background:rgba(20,18,30,.85);box-shadow:inset 0 0 0 1px rgba(187,168,248,.35);
  transform:translate(-50%,-50%) rotate(calc(var(--i) * 51.43deg)) translateY(-100px) rotate(calc(var(--i) * -51.43deg));animation:counter 26s linear infinite}
@keyframes counter{to{rotate:-360deg}}
.c360{position:absolute;left:50%;top:50%;width:104px;height:104px;margin:-52px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:radial-gradient(circle at 35% 30%,#fff 0 6%,#BBA8F8 45%,#6A4FE4);box-shadow:0 0 40px -4px #BBA8F8;color:#0A0A0C}
.c360 b{font-size:28px;font-weight:800;letter-spacing:-.05em;line-height:1}
.c360 small{font-family:var(--f-mono);font-size:10px}
/* viz France */
.viz-fr{position:relative;width:200px;height:150px;flex-shrink:0;display:flex;gap:8px;align-items:stretch;padding:10px}
.viz-fr i{flex:1;border-radius:14px;animation:frW 4s ease-in-out infinite}
.fr1{background:linear-gradient(180deg,#5B8FF0,#2E55C4)}.fr2{background:linear-gradient(180deg,#fff,#DCDCE6);animation-delay:-1.3s!important}.fr3{background:linear-gradient(180deg,#F28B8B,#D94A4A);animation-delay:-2.6s!important}
@keyframes frW{0%,100%{transform:translateY(0) skewY(0)}50%{transform:translateY(-8px) skewY(-4deg)}}
.fr-badge{position:absolute;left:50%;bottom:-6px;translate:-50% 0;font-family:var(--f-mono);font-size:11px;padding:5px 12px;border-radius:999px;background:#12111A;color:#F8B597;box-shadow:inset 0 0 0 1px rgba(248,181,151,.5);white-space:nowrap}
[data-theme="light"] .bt{background:radial-gradient(80% 70% at 100% 0%,color-mix(in srgb,var(--c) 28%,transparent),transparent 65%),linear-gradient(160deg,#fff,#F6F5FA);box-shadow:inset 1px 1px 0 #fff,0 0 0 1px rgba(14,16,22,.06)}
[data-theme="light"] .viz-sub{background:rgba(14,16,22,.04)}
[data-theme="light"] .bt .n{color:color-mix(in srgb,var(--c) 50%,#000)}
@media (max-width:900px){.bento{grid-template-columns:1fr}.bt-a{grid-row:auto}.bt-b,.bt-c{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion:reduce){.bento *{animation:none!important}}
.bt-b,.bt-c{flex-direction:column!important;align-items:stretch!important;gap:18px!important}
.bt-b h3,.bt-c h3{font-size:clamp(24px,calc(2.2 * 1vw / var(--z,1)),32px)!important}
.viz-360{align-self:center;width:230px;height:190px}
.r360{inset:15px 30px}
.r360 span{transform:translate(-50%,-50%) rotate(calc(var(--i) * 51.43deg)) translateY(-80px) rotate(calc(var(--i) * -51.43deg))}
.c360{width:88px;height:88px;margin:-44px}
.c360 b{font-size:24px}
.viz-fr{align-self:center;width:240px;height:120px}
.bt-c{grid-column:2}
.viz-360{width:260px;height:220px}
.r360{inset:10px 20px;border-radius:50%}
.r360{inset:auto;left:50%;top:50%;width:200px;height:200px;margin:-100px}
.r360 span{transform:translate(-50%,-50%) rotate(calc(var(--i) * 51.43deg)) translateY(-100px) rotate(calc(var(--i) * -51.43deg))}
.c360{width:80px;height:80px;margin:-40px}
.c360 b{font-size:22px}
.r360{animation:none!important;border:0!important}
.r360::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(187,168,248,.4);animation:spinA 30s linear infinite}
.r360 span{animation:fxBob 4s ease-in-out infinite!important;--bob:-5px;animation-delay:calc(var(--i) * -.55s)!important}

/* Hub redessiné en SVG */
.hub-viz{aspect-ratio:520/400}
.hub-viz svg{overflow:visible}
.hub-flow path{animation:dashFlow 1.2s linear infinite}
@keyframes dashFlow{to{stroke-dashoffset:-22}}
.hub-pulses circle{fill:#E2F38E;filter:drop-shadow(0 0 5px #E2F38E)}
.hnode rect{fill:#1F1D2C;stroke:rgba(255,255,255,.14);stroke-width:1}
.hnode text{font-family:var(--f);font-size:14px;font-weight:600;fill:#F2F2F6;letter-spacing:-.01em}
.hnode{animation:hnBob 5s ease-in-out infinite;animation-delay:var(--d)}
@keyframes hnBob{50%{transform:translateY(-4px)}}
.hport{fill:#0D0B1A;stroke:#9BE8D4;stroke-width:2}
.hub-core .ring1{fill:none;stroke:rgba(187,168,248,.35);stroke-width:1}
.hub-core .ring2{fill:none;stroke:rgba(187,168,248,.18);stroke-width:1;transform-origin:260px 200px;animation:coreP 2.6s ease-out infinite}
@keyframes coreP{from{transform:scale(.85);opacity:1}to{transform:scale(1.25);opacity:0}}
.hub-core rect{filter:drop-shadow(0 0 26px rgba(187,168,248,.6))}
.hub-core .cw{font-size:44px;font-weight:800;fill:#0A0A0C;letter-spacing:-.05em}
.hub-core .cs{font-family:var(--f-mono);font-size:10.5px;fill:#1A1530}
[data-theme="light"] .hnode rect{fill:#fff;stroke:rgba(14,16,22,.1)}
[data-theme="light"] .hnode text{fill:#0E1016}
[data-theme="light"] .hub-base{stroke:rgba(14,16,22,.06)}
/* =========================================================
   Vitrine des projets
   ========================================================= */
.showcase{position:relative;height:calc(215 * 1vh / var(--z,1));margin-top:10px}
.sc-in{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;flex-direction:column;justify-content:center;gap:24px}
.sc-tabs{display:flex;gap:6px;padding:5px;border-radius:999px;align-self:flex-start;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.sc-tabs button{position:relative;overflow:hidden;padding:10px 18px;border-radius:999px;font-size:14px;font-weight:500;color:var(--ink-3);transition:color .3s,background .3s}
.sc-tabs button i{position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:2px;background:var(--c);transform-origin:0 50%;transform:scaleX(var(--f,0))}
.sc-tabs button.on{color:#0A0A0C;background:var(--c)}
.sc-tabs button.on i{background:rgba(0,0,0,.35)}
.sc-stage{position:relative;height:min(640px,calc(72 * 1vh / var(--z,1)))}
.sc-slide{position:absolute;inset:0;display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center;padding:44px 48px;border-radius:36px;overflow:hidden;
  background:radial-gradient(70% 90% at 100% 50%,color-mix(in srgb,var(--c) 22%,transparent),transparent 65%),linear-gradient(160deg,#1C1A29,#100F17);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),0 0 0 1px rgba(255,255,255,.05);
  opacity:0;transform:translateY(30px) scale(.98);pointer-events:none;transition:opacity .45s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.sc-slide.on{opacity:1;transform:none;pointer-events:auto}
.sc-slide.on .sc-copy > *{animation:worldIn .8s cubic-bezier(.16,1,.3,1) both}
.sc-slide.on .sc-copy > :nth-child(2){animation-delay:.08s}.sc-slide.on .sc-copy > :nth-child(3){animation-delay:.14s}.sc-slide.on .sc-copy > :nth-child(4){animation-delay:.22s}
.sc-id{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.sc-logo{height:34px;width:auto;filter:brightness(0) invert(1)}
.sc-name{font-size:26px;font-weight:700}
.sc-sector{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--c);padding:5px 11px;border-radius:999px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 45%,transparent)}
.sc-big{margin-top:26px;font-size:clamp(64px,calc(8 * 1vw / var(--z,1)),124px);font-weight:700;letter-spacing:-.065em;line-height:.9;
  background:linear-gradient(110deg,#fff 0%,var(--c) 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.sc-bigl{font-size:18px;color:var(--ink-2);margin-top:8px}
.sc-dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08)}
.sc-dl dt{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--c);margin-bottom:8px}
.sc-dl dd{font-size:14px;line-height:1.55;color:var(--ink-2)}
.sc-dl dd b{color:var(--ink);font-weight:600}
.sc-soon{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-family:var(--f-mono);font-size:11.5px;color:var(--ink-3)}
.sc-soon i{width:6px;height:6px;border-radius:50%;background:#F4EC91;box-shadow:0 0 8px #F4EC91;animation:blink 2s infinite}
.sc-device{position:relative;display:grid;place-items:center;height:100%}
.ph{position:relative;z-index:1;width:230px;height:450px;border-radius:40px;padding:46px 16px 16px;display:flex;flex-direction:column;gap:10px;
  background:linear-gradient(170deg,#1E1C2C,#0D0C14);box-shadow:0 0 0 7px #1A1824,0 0 0 8px rgba(255,255,255,.12),0 50px 90px -30px var(--c);transform:rotate(-6deg);animation:fxBob 6s ease-in-out infinite;--bob:-14px}
.ph-notch{position:absolute;top:12px;left:50%;width:76px;height:22px;margin-left:-38px;border-radius:999px;background:#000}
.ph-h{font-size:17px;font-weight:700;letter-spacing:-.02em;color:#fff;margin-bottom:4px}
.ph-card{position:relative;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;gap:8px;overflow:hidden}
.ph-card span{font-size:12px;color:#E6E6EE;position:relative}
.ph-card em{font-style:normal;font-family:var(--f-mono);font-size:10px;color:#0A0A0C;background:var(--c);padding:2px 7px;border-radius:999px}
.ph-card i{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--c) 30%,transparent);transform-origin:0 50%;animation:barIn 3.6s ease-in-out infinite}
.ph-badge{margin-top:auto;align-self:center;font-size:12px;font-weight:600;color:#0A0A0C;background:var(--c);padding:8px 14px;border-radius:999px;box-shadow:0 0 24px -4px var(--c)}
.ph-av{display:flex;margin-bottom:4px}.ph-av b{width:38px;height:38px;border-radius:50%;margin-right:-10px;border:2px solid #15131F;background:linear-gradient(145deg,var(--c),#fff)}
.ph-av b:nth-child(2){background:linear-gradient(145deg,#9BE8D4,#fff)}.ph-av b:nth-child(3){background:linear-gradient(145deg,#F8B597,#fff)}.ph-av b:nth-child(4){background:linear-gradient(145deg,#E2F38E,#fff)}
.ph-gauge{position:relative;color:var(--c);display:grid;place-items:center}
.ph-gauge svg{width:170px}
.ph-gauge .g{stroke-dasharray:100;stroke-dashoffset:100;animation:gauge 3.5s ease-in-out infinite}
@keyframes gauge{0%{stroke-dashoffset:100}40%,100%{stroke-dashoffset:38}}
.ph-gauge b{position:absolute;bottom:4px;font-size:24px;font-weight:700;color:#fff}
.ph-bars{display:flex;align-items:flex-end;gap:6px;height:70px;padding:0 4px}
.ph-bars i{flex:1;height:var(--h);border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--c),color-mix(in srgb,var(--c) 30%,transparent));animation:barIn 3.5s ease-in-out infinite;transform-origin:50% 100%}
.sc-halo{position:absolute;width:320px;height:320px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--c) 45%,transparent),transparent);filter:blur(10px)}
[data-theme="light"] .sc-slide{background:radial-gradient(70% 90% at 100% 50%,color-mix(in srgb,var(--c) 35%,transparent),transparent 65%),linear-gradient(160deg,#fff,#F6F5FA);box-shadow:inset 1px 1px 0 #fff,0 0 0 1px rgba(14,16,22,.06)}
[data-theme="light"] .sc-logo{filter:brightness(0)}
[data-theme="light"] .sc-big{background:linear-gradient(110deg,#0E1016 0%,color-mix(in srgb,var(--c) 60%,#000) 80%);-webkit-background-clip:text;background-clip:text}
@media (max-width:900px){.showcase{height:auto}.sc-in{position:static;height:auto}.sc-stage{height:auto;display:grid;gap:16px}.sc-slide{position:relative;opacity:1;transform:none;grid-template-columns:1fr;padding:26px}.sc-dl{grid-template-columns:1fr}.sc-device{display:none}.sc-tabs{display:none}}
/* Maquette Factory : seulement la bascule 3D */
.fx-stage .fv-a,.fx-stage .fv-b,.fx-stage .fv-phone,.fx-stage .fv-chip,.fx-stage .fv-a span,.fx-stage .fv-b b,.fx-stage .fv-phone span,.fx-stage .fv-grid,
.fx-stage .fv-chip::before,.fx-stage .fv-chip::after,.fx-kpis div{animation:none!important}
.fx-stage .fv-chip::before,.fx-stage .fv-chip::after{display:none}
.fx-stage .fac-visual{animation:none!important}
.fx-stage .fv-b b:nth-child(2){background:color-mix(in srgb,var(--oc) 70%,transparent)}

/* =========================================================
   4 promesses : une Wapp qui se transforme
   ========================================================= */
.pm-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;width:100%}
.pm-left .fxp-head{display:flex!important;flex-direction:column;gap:12px!important;margin:0!important}
.pm-left .fxp-head .lead{display:none}
.pm-left .fxp-head h2{font-size:clamp(32px,calc(3.6 * 1vw / var(--z,1)),52px)!important}
.pm-src{display:none}
.pm-text{margin-top:34px;min-height:250px}
.pm-text > *{transition:opacity .3s,transform .45s cubic-bezier(.16,1,.3,1)}
.pm-text.swap > *{opacity:0;transform:translateY(12px)}
.pm-n{display:flex;align-items:baseline;gap:8px;font-family:var(--f-mono)}
.pm-n b{font-size:56px;font-weight:500;letter-spacing:-.04em;color:var(--pc);line-height:1}
.pm-n span{font-size:14px;color:var(--ink-3)}
.pm-t{font-size:clamp(30px,calc(3 * 1vw / var(--z,1)),44px)!important;font-weight:600;letter-spacing:-.045em;margin:14px 0 12px}
.pm-b{color:var(--ink-2);font-size:16.5px;line-height:1.6;max-width:460px}
.pm-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.pm-tags span{font-family:var(--f-mono);font-size:11px;padding:5px 10px;border-radius:999px;color:var(--pc);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pc) 45%,transparent)}
.pm-steps{display:flex;gap:6px;margin-top:22px}
.pm-steps i{width:46px;height:3px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden;position:relative}
.pm-steps i::after{content:"";position:absolute;inset:0;background:var(--pc);transform-origin:0 50%;transform:scaleX(var(--f,0))}
/* Scène */
.pm-stage{position:relative;height:560px;--E:cubic-bezier(.16,1,.3,1);--T:.9s}
.dv{position:absolute;border-radius:20px;background:linear-gradient(170deg,#211F2E,#13121B);box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),0 0 0 1px rgba(255,255,255,.06),0 40px 80px -40px rgba(0,0,0,.9);transition:all var(--T) var(--E)}
.dv-desk{left:6%;top:12%;width:86%;height:70%;padding:14px}
.dk-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:10px;background:var(--brand,#BBA8F8);transition:background .6s}
.dk-bar i{width:8px;height:8px;border-radius:50%;background:rgba(0,0,0,.25)}
.dk-bar span{margin-left:10px;width:30%;height:8px;border-radius:4px;background:rgba(0,0,0,.25)}
.dk-body{display:flex;gap:12px;height:calc(100% - 42px);margin-top:12px}
.dk-side{width:22%;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:12px;background:rgba(255,255,255,.04)}
.dk-side b{height:12px;border-radius:6px;background:rgba(255,255,255,.1)}.dk-side b:first-child{background:color-mix(in srgb,var(--brand,#BBA8F8) 70%,transparent);transition:background .6s}
.dk-tiles{flex:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;transition:gap var(--T) var(--E)}
.tl{position:relative;border-radius:12px;padding:12px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);transition:all var(--T) var(--E)}
.tl em{display:block;width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--brand,#BBA8F8) 35%,transparent);font-style:normal;transition:background .6s}
.tl span{display:block;margin-top:12px;height:8px;width:70%;border-radius:4px;background:rgba(255,255,255,.1)}
.t5{position:absolute;right:-14%;bottom:-18%;width:34%;height:42%;opacity:0;transform:translateY(-60px) rotate(8deg);background:linear-gradient(145deg,#F8B597,#E8906F)!important}
.t5 em{display:grid;place-items:center;color:#0A0A0C;font-size:22px;font-weight:700;background:rgba(255,255,255,.5)}
.dv-tab{left:62%;top:30%;width:30%;height:52%;padding:10px;opacity:0;transform:translateX(-120px) scale(.8)}
.dv-tab .dk-bar{height:18px;border-radius:7px}
.dv-phone{left:84%;top:40%;width:15%;height:52%;border-radius:22px;padding:22px 8px 8px;opacity:0;transform:translateX(-200px) scale(.7)}
.ph-n{position:absolute;top:8px;left:50%;width:34%;height:6px;margin-left:-17%;border-radius:4px;background:#000}
.mini{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;height:calc(100% - 28px)}
.mini.col{grid-template-columns:1fr}
.mini b{border-radius:7px;background:rgba(255,255,255,.07)}.mini b:first-child{background:color-mix(in srgb,var(--brand,#BBA8F8) 55%,transparent)}
.sync{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s}
.sync i{position:absolute;top:56%;height:2px;border-radius:2px;background:repeating-linear-gradient(90deg,#B7DDF8 0 6px,transparent 6px 12px);animation:dashX 1s linear infinite}
.sync i:nth-child(1){left:55%;width:8%}.sync i:nth-child(2){left:82%;width:3%}
@keyframes dashX{to{background-position:24px 0}}
.pm-orb{position:absolute;left:46%;top:44%;width:64px;height:64px;border-radius:20px;display:grid;place-items:center;color:#0A0A0C;opacity:0;transform:scale(.3);
  background:linear-gradient(135deg,#BBA8F8,#9BE8D4,#E2F38E);box-shadow:0 0 0 10px rgba(155,232,212,.12),0 0 60px 10px rgba(155,232,212,.45);transition:all .8s var(--E)}
.pm-orb svg{width:28px;height:28px}
.pm-bub{position:absolute;padding:10px 14px;border-radius:14px 14px 14px 4px;font-size:13px;font-weight:500;color:#F2F2F6;white-space:nowrap;
  background:rgba(30,28,44,.92);box-shadow:inset 0 0 0 1px rgba(155,232,212,.4),0 20px 40px -20px rgba(0,0,0,.9);opacity:0;transform:translateY(14px);transition:all .6s var(--E)}
.b1{left:56%;top:24%}.b2{left:20%;top:64%}
.pm-sw{position:absolute;left:8%;bottom:4%;display:flex;gap:8px;padding:8px;border-radius:999px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:all .6s var(--E)}
.pm-sw i{width:22px;height:22px;border-radius:50%;background:var(--k);box-shadow:0 0 12px -2px var(--k)}
.pm-sw i.on{outline:2px solid #fff;outline-offset:2px}
/* États */
.pm-stage[data-s="0"] .dv-desk{transform:perspective(1400px) rotateY(-8deg) rotateX(4deg)}
.pm-stage:not([data-s="0"]) .pm-sw{opacity:0;transform:translateY(20px)}
.pm-stage[data-s="1"] .dv-desk,.pm-stage[data-s="2"] .dv-desk{left:0;width:58%;top:16%;height:62%}
.pm-stage[data-s="1"] .dv-tab,.pm-stage[data-s="2"] .dv-tab,.pm-stage[data-s="1"] .dv-phone,.pm-stage[data-s="2"] .dv-phone{opacity:1;transform:none}
.pm-stage[data-s="1"] .sync{opacity:1}
.pm-stage[data-s="2"] .pm-orb{opacity:1;transform:none}
.pm-stage[data-s="2"] .pm-bub{opacity:1;transform:none}.pm-stage[data-s="2"] .b2{transition-delay:.2s}
.pm-stage[data-s="2"] .dv-desk,.pm-stage[data-s="2"] .dv-tab,.pm-stage[data-s="2"] .dv-phone{box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),0 0 0 1px rgba(155,232,212,.25),0 40px 80px -40px rgba(155,232,212,.5)}
.pm-stage[data-s="3"] .dv-desk{left:4%;top:8%;width:84%;height:76%;background:transparent;box-shadow:none;transform:perspective(1400px) rotateX(18deg) rotateZ(-4deg)}
.pm-stage[data-s="3"] .dk-bar,.pm-stage[data-s="3"] .dk-side{opacity:.35}
.pm-stage[data-s="3"] .dk-tiles{gap:26px}
.pm-stage[data-s="3"] .tl{background:linear-gradient(170deg,#25223A,#16141F);box-shadow:inset 1px 1px 0 rgba(255,255,255,.18),0 24px 40px -20px rgba(0,0,0,.9)}
.pm-stage[data-s="3"] .t1{transform:translate(-10px,-10px)}.pm-stage[data-s="3"] .t2{transform:translate(10px,-10px)}.pm-stage[data-s="3"] .t3{transform:translate(-10px,10px)}.pm-stage[data-s="3"] .t4{transform:translate(10px,10px)}
.pm-stage[data-s="3"] .t5{opacity:1;transform:none;transition-delay:.35s}
[data-theme="light"] .dv{background:linear-gradient(170deg,#fff,#F3F2F8);box-shadow:inset 1px 1px 0 #fff,0 0 0 1px rgba(14,16,22,.08),0 40px 80px -40px rgba(40,30,90,.35)}
[data-theme="light"] .tl,[data-theme="light"] .dk-side{background:rgba(14,16,22,.04)}
[data-theme="light"] .tl span,[data-theme="light"] .dk-side b,[data-theme="light"] .mini b{background:rgba(14,16,22,.1)}
@media (max-width:900px){.pm-grid{grid-template-columns:1fr}.pm-stage{height:360px}}

/* =========================================================
   « Pour qui » à la Apple : une phrase par écran
   ========================================================= */
.ap-sec{padding:0!important}
.ap-pin{position:relative;height:calc(330 * 1vh / var(--z,1))}
.ap-in{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));overflow:hidden;display:grid;place-items:center}
.ap-glow{position:absolute;left:50%;top:50%;width:900px;height:900px;margin:-450px;border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--gc,#BBA8F8) 28%,transparent),transparent 70%);transition:background .9s ease}
.ap-ch{grid-area:1/1;position:relative;width:min(1100px,calc(92 * 1vw / var(--z,1)));text-align:center;display:flex;flex-direction:column;align-items:center;
  opacity:0;transform:translateY(60px) scale(.97);filter:blur(10px);pointer-events:none;transition:opacity .6s ease,transform .9s cubic-bezier(.16,1,.3,1),filter .6s ease}
.ap-ch.on{opacity:1;transform:none;filter:none;pointer-events:auto}
.ap-ch.out{transform:translateY(-60px) scale(1.02)}
.ap-num{position:absolute;left:50%;top:50%;transform:translate(-50%,-55%);font-size:clamp(260px,calc(38 * 1vw / var(--z,1)),560px);font-weight:700;letter-spacing:-.08em;line-height:1;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,color-mix(in srgb,var(--c) 22%,transparent),transparent 75%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ap-k{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--c);display:inline-flex;align-items:center;gap:10px}
.ap-k::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c);box-shadow:0 0 12px var(--c)}
.ap-h{font-size:clamp(44px,calc(6.4 * 1vw / var(--z,1)),104px);font-weight:600;letter-spacing:-.055em;line-height:1;margin:26px 0 30px;color:var(--ink)}
.ap-h span{display:block}
.ap-hl{background:linear-gradient(100deg,var(--c),color-mix(in srgb,var(--c) 55%,#fff));-webkit-background-clip:text;background-clip:text;color:transparent}
.ap-intro .ap-hl{background:none;color:var(--ink-3)}
.ap-b{font-size:clamp(17px,calc(1.4 * 1vw / var(--z,1)),21px);line-height:1.6;color:var(--ink-2);max-width:720px}
.ap-who{margin-top:30px;display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;font-size:15px;font-weight:500;
  background:color-mix(in srgb,var(--c) 10%,rgba(255,255,255,.04));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 35%,transparent)}
.ap-who::before{content:"→";color:var(--c);font-family:var(--f-mono)}
.ap-ch.on .ap-k,.ap-ch.on .ap-h,.ap-ch.on .ap-b,.ap-ch.on .ap-who{animation:worldIn .9s cubic-bezier(.16,1,.3,1) both}
.ap-ch.on .ap-h{animation-delay:.08s}.ap-ch.on .ap-b{animation-delay:.18s}.ap-ch.on .ap-who{animation-delay:.28s}
.ap-prog{position:absolute;left:50%;bottom:44px;translate:-50% 0;display:flex;gap:8px}
.ap-prog i{width:54px;height:3px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden;position:relative}
.ap-prog i::after{content:"";position:absolute;inset:0;background:var(--c);transform-origin:0 50%;transform:scaleX(var(--f,0));box-shadow:0 0 8px var(--c)}
[data-theme="light"] .ap-prog i{background:rgba(14,16,22,.1)}
[data-theme="light"] .ap-hl{background:linear-gradient(100deg,color-mix(in srgb,var(--c) 55%,#000),color-mix(in srgb,var(--c) 75%,#000));-webkit-background-clip:text;background-clip:text}
[data-theme="light"] .ap-k{color:color-mix(in srgb,var(--c) 50%,#000)}
@media (max-width:900px){.ap-pin{height:auto}.ap-in{position:static;height:auto;display:block;padding:70px 16px}
  .ap-ch{opacity:1;transform:none;filter:none;margin:0 auto 70px}.ap-num{font-size:200px}.ap-prog{display:none}}
@media (prefers-reduced-motion:reduce){.ap-ch,.ap-ch *{animation:none!important;transition:none!important;filter:none!important}}

/* « En plus » : trois colonnes typographiques */
.plus4{padding-top:40px;padding-bottom:120px}
.plus4-head{margin-bottom:56px}
.hls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.hl{position:relative;padding:44px 40px 10px;border-left:1px solid rgba(255,255,255,.08);transition:background .5s}
.hl:first-child{border-left:0;padding-left:0}
.hl::before{content:"";position:absolute;left:0;right:40px;top:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--c),transparent);transform-origin:0 50%;transform:scaleX(var(--sp,1));box-shadow:0 0 14px var(--c)}
.hl:not(:first-child)::before{left:40px}
.hl-ico{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 35%,transparent);transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .4s}
.hl-ico svg{width:22px;height:22px}
.hl-k{margin-top:26px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.hl-t{margin:12px 0 16px;font-size:clamp(34px,calc(3.4 * 1vw / var(--z,1)),52px);font-weight:600;letter-spacing:-.05em;line-height:1;
  background:linear-gradient(110deg,var(--ink) 20%,var(--c) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hl-b{color:var(--ink-2);font-size:16px;line-height:1.65;max-width:340px}
.hl:hover .hl-ico{transform:translateY(-4px) scale(1.06);box-shadow:inset 0 0 0 1px var(--c),0 12px 30px -10px var(--c)}
[data-theme="light"] .hl{border-color:rgba(14,16,22,.08)}
[data-theme="light"] .hl-t{background:linear-gradient(110deg,#0E1016 30%,color-mix(in srgb,var(--c) 60%,#000) 100%);-webkit-background-clip:text;background-clip:text}
@media (max-width:900px){.hls{grid-template-columns:1fr}.hl,.hl:first-child{border-left:0;padding:36px 0 10px}.hl::before,.hl:not(:first-child)::before{left:0;right:0}}
.hl-t{font-size:clamp(30px,calc(2.7 * 1vw / var(--z,1)),42px)!important;overflow-wrap:normal}

/* Bulles de verre en fond de la page Factory */
.dv-bub{position:sticky;top:0;display:block;width:100%;height:calc(100 * 1vh / var(--z,1));margin-bottom:calc(-100 * 1vh / var(--z,1));z-index:0;pointer-events:none;opacity:0;transition:opacity .8s}
.dive.o-factory.settled .dv-bub{opacity:1}
.dive .dive-bar{z-index:6}

/* =========================================================
   4 promesses : carrousel en arc (verre dépoli)
   ========================================================= */
.cy-wrap{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}
.cy-head{display:flex;flex-direction:column;align-items:center;max-width:900px;padding:0 24px}
.cy-head .eyebrow{margin-bottom:14px}
.cy-h{font-size:clamp(36px,calc(4.4 * 1vw / var(--z,1)),64px)!important;letter-spacing:-.05em!important;line-height:1!important}
.cy-h .l2{display:inline!important}
.cy-lead{margin-top:14px;color:var(--ink-2);font-size:15.5px;max-width:620px;line-height:1.55}
.cy-stage{position:relative;width:100%;height:440px;margin-top:22px;perspective:1700px;perspective-origin:50% 45%}
.cy-ring{position:absolute;left:50%;top:0;width:0;height:100%;transform-style:preserve-3d;transform:translateZ(900px) rotateY(calc(var(--rot,0) * 1deg));transition:transform 1s cubic-bezier(.16,1,.3,1)}
.cy-card{position:absolute;left:-170px;top:10px;width:340px;height:410px;padding:22px 24px;border-radius:26px;text-align:center;display:flex;flex-direction:column;align-items:center;
  transform:rotateY(calc(var(--a) * -36deg)) translateZ(-900px);backface-visibility:hidden;
  background:linear-gradient(170deg,rgba(255,255,255,.13),rgba(255,255,255,.05));backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.3),inset 0 0 0 1px rgba(255,255,255,.08),0 40px 80px -40px rgba(0,0,0,.8);transition:box-shadow .6s,background .6s,opacity .6s;opacity:.55}
.cy-card.on{opacity:1;background:linear-gradient(170deg,rgba(255,255,255,.17),rgba(255,255,255,.06));box-shadow:inset 1px 1px 0 rgba(255,255,255,.4),inset 0 0 0 1px color-mix(in srgb,var(--c) 45%,transparent),0 50px 100px -40px var(--c)}
.cy-top{width:100%;display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:11px;color:var(--ink-3);letter-spacing:.06em}
.cy-n{color:var(--c)}
.cy-ico{margin-top:40px;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;color:#0A0A0C;
  background:radial-gradient(circle at 35% 30%,#fff 0 6%,var(--c) 45%,color-mix(in srgb,var(--c) 60%,#000));box-shadow:0 0 0 8px color-mix(in srgb,var(--c) 14%,transparent),0 20px 40px -14px var(--c)}
.cy-ico svg{width:38px;height:38px}
.cy-t{margin-top:26px;font-size:26px!important;font-weight:700;letter-spacing:-.035em}
.cy-b{margin-top:10px;font-size:14px;line-height:1.55;color:var(--ink-2)}
.cy-tags{margin-top:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.cy-tags span{font-family:var(--f-mono);font-size:10.5px;padding:4px 9px;border-radius:999px;color:var(--ink-2);background:rgba(255,255,255,.06)}
.cy-card:not(.on) .cy-b,.cy-card:not(.on) .cy-tags{opacity:.35;transition:opacity .4s}
.cy-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.cy-pills button{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:999px;font-size:14.5px;font-weight:500;color:var(--ink-2);
  background:linear-gradient(170deg,rgba(255,255,255,.1),rgba(255,255,255,.03));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 1px 1px 0 rgba(255,255,255,.22),inset 0 0 0 1px rgba(255,255,255,.07);transition:all .35s}
.cy-pills button i{width:8px;height:8px;border-radius:50%;background:var(--c);opacity:.5}
.cy-pills button.on{color:var(--ink);box-shadow:inset 1px 1px 0 rgba(255,255,255,.35),inset 0 0 0 1px color-mix(in srgb,var(--c) 60%,transparent),0 10px 30px -12px var(--c)}
.cy-pills button.on i{opacity:1;box-shadow:0 0 10px var(--c)}
[data-theme="light"] .cy-card{background:linear-gradient(170deg,rgba(255,255,255,.85),rgba(255,255,255,.6));box-shadow:inset 1px 1px 0 #fff,0 30px 60px -30px rgba(40,30,90,.35)}
[data-theme="light"] .cy-tags span{background:rgba(14,16,22,.05)}
@media (max-width:900px){.cy-stage{height:auto;perspective:none}.cy-ring{position:static;width:auto;transform:none;display:grid;gap:14px;padding:0 16px}
  .cy-card{position:relative;left:auto;top:auto;width:auto;height:auto;transform:none;opacity:1}.cy-pills{display:none}}
.cy-h{font-size:clamp(34px,calc(3.8 * 1vw / var(--z,1)),56px)!important}
.cy-card{width:360px;left:-180px}
.factory-more #wapp .cy-h{font-size:clamp(34px,calc(3.6 * 1vw / var(--z,1)),54px)!important}
/* Cartes de l'arc : plus grandes, sans icône */
.cy-ico{display:none!important}
.cy-stage{height:560px!important;margin-top:16px!important}
.cy-card{width:480px!important;left:-240px!important;height:520px!important;padding:34px 38px!important;justify-content:center;text-align:left!important;align-items:flex-start!important}
.cy-top{position:absolute;left:38px;right:38px;top:30px;width:auto!important}
.cy-t{margin-top:0!important;font-size:clamp(40px,calc(3.6 * 1vw / var(--z,1)),54px)!important;letter-spacing:-.05em!important;line-height:1!important;
  background:linear-gradient(110deg,var(--ink) 30%,var(--c));-webkit-background-clip:text;background-clip:text;color:transparent}
.cy-b{margin-top:22px!important;font-size:17px!important;line-height:1.6!important}
.cy-tags{position:absolute;left:38px;right:38px;bottom:30px;justify-content:flex-start!important;margin:0!important}
.cy-tags span{font-size:11.5px!important;padding:6px 11px!important}
.cy-card::after{content:"";position:absolute;left:38px;top:76px;width:44px;height:3px;border-radius:3px;background:var(--c);box-shadow:0 0 12px var(--c)}
.cy-card:not(.on){opacity:.22!important;filter:blur(1.5px) saturate(.6)}
.cy-card:not(.on) .cy-b,.cy-card:not(.on) .cy-tags{opacity:.2!important}
.cy-card{transition:opacity .6s,filter .6s,box-shadow .6s,background .6s!important}

/* =========================================================
   Après l'IA : principe humain + souveraineté
   ========================================================= */
.ia-after{padding-top:40px;padding-bottom:120px}
.hloop{text-align:center;display:flex;flex-direction:column;align-items:center;padding:40px 0 90px}
.hl-kk{font-family:var(--f-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#9BE8D4;display:flex;gap:10px}
.hl-big{margin:22px 0 46px;font-size:clamp(40px,calc(5.4 * 1vw / var(--z,1)),86px)!important;font-weight:600;letter-spacing:-.055em;line-height:1}
.hl-big span{display:block}
.hl-big .g{background:linear-gradient(100deg,#BBA8F8,#9BE8D4 60%,#E2F38E);-webkit-background-clip:text;background-clip:text;color:transparent}
.hl-duo{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;width:min(980px,100%)}
.hd{padding:28px 30px;border-radius:26px;text-align:left;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));box-shadow:inset 1px 1px 0 rgba(255,255,255,.14)}
.hd-who{display:block;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.hd b{font-size:clamp(22px,calc(2.2 * 1vw / var(--z,1)),30px);font-weight:600;letter-spacing:-.035em;line-height:1.15}
.hd-ai .hd-who{color:#BBA8F8}.hd-ai{box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),inset 0 0 0 1px rgba(187,168,248,.25)}
.hd-team .hd-who{color:#9BE8D4}.hd-team{background:linear-gradient(160deg,rgba(155,232,212,.14),rgba(155,232,212,.03));box-shadow:inset 1px 1px 0 rgba(255,255,255,.18),inset 0 0 0 1px rgba(155,232,212,.4),0 30px 60px -30px rgba(155,232,212,.5)}
.hd-arrow{position:relative;width:70px;height:2px;background:linear-gradient(90deg,#BBA8F8,#9BE8D4)}
.hd-arrow::after{content:"";position:absolute;right:-1px;top:-5px;width:10px;height:10px;border-top:2px solid #9BE8D4;border-right:2px solid #9BE8D4;transform:rotate(45deg)}
.hd-arrow i{position:absolute;top:-3px;left:0;width:8px;height:8px;border-radius:50%;background:#E2F38E;box-shadow:0 0 10px #E2F38E;animation:hdGo 1.8s ease-in-out infinite}
@keyframes hdGo{from{left:0;opacity:0}20%{opacity:1}to{left:60px;opacity:0}}
.hl-badge{margin-top:34px;font-family:var(--f-mono);font-size:12px;padding:8px 16px;border-radius:999px;color:#9BE8D4;box-shadow:inset 0 0 0 1px rgba(155,232,212,.4)}
.sov{display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:center;padding:56px 60px;border-radius:36px;
  background:radial-gradient(60% 100% at 0% 50%,rgba(91,143,240,.18),transparent 65%),linear-gradient(160deg,#1A1A2C,#0F0F18);box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),0 0 0 1px rgba(255,255,255,.05)}
.sov-stars{position:relative;width:220px;height:220px;display:grid;place-items:center}
.sov-ring{position:absolute;inset:0;animation:spinA 40s linear infinite}
.sov-ring i{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px;background:#F4D35E;filter:drop-shadow(0 0 6px rgba(244,211,94,.7));
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);transform:rotate(calc(var(--k) * 30deg)) translateY(-92px)}
.sov-stars span{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;font-size:30px;font-weight:800;letter-spacing:-.04em;color:#fff;
  background:radial-gradient(circle at 35% 30%,#5B8FF0,#2A4BB0);box-shadow:0 0 50px -6px rgba(91,143,240,.8)}
.sov-t{font-size:clamp(36px,calc(4 * 1vw / var(--z,1)),60px);font-weight:600;letter-spacing:-.05em;line-height:1}
.sov-p{margin-top:16px;color:var(--ink-2);font-size:16.5px;line-height:1.6;max-width:640px}
.sov-facts{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}
.sov-facts li{padding:18px 18px;border-radius:18px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.sov-facts b{display:block;font-size:19px;font-weight:600;letter-spacing:-.02em}
.sov-facts span{display:block;margin-top:4px;font-family:var(--f-mono);font-size:11.5px;color:#8FB3F5}
.sov-note{margin-top:22px;color:var(--ink-3);font-size:14.5px}
.sov-note a{color:#BBA8F8;font-weight:600;margin-left:8px}
[data-theme="light"] .sov{background:radial-gradient(60% 100% at 0% 50%,rgba(91,143,240,.18),transparent 65%),linear-gradient(160deg,#fff,#F6F5FA);box-shadow:inset 1px 1px 0 #fff,0 0 0 1px rgba(14,16,22,.06)}
[data-theme="light"] .hd{background:rgba(255,255,255,.8)}
[data-theme="light"] .sov-facts li{background:rgba(14,16,22,.03)}
@media (max-width:900px){.hl-duo{grid-template-columns:1fr}.hd-arrow{transform:rotate(90deg);margin:10px auto}.sov{grid-template-columns:1fr;padding:30px}.sov-stars{margin:0 auto}.sov-facts{grid-template-columns:1fr 1fr}}

/* ---------- +90 : mur incliné ---------- */
.wall90{position:relative;height:620px;margin:20px 0 60px;border-radius:36px;overflow:hidden;
  background:radial-gradient(60% 60% at 50% 50%,rgba(187,168,248,.12),transparent 70%)}
.wall-plane{position:absolute;inset:-30% -20%;display:flex;flex-direction:column;justify-content:center;gap:16px;transform:perspective(1200px) rotateX(52deg) rotateZ(-14deg) scale(1.15);
  -webkit-mask-image:radial-gradient(ellipse 55% 60% at 50% 50%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 55% 60% at 50% 50%,#000 30%,transparent 75%)}
.wr{overflow:visible}
.wtrack{display:flex;gap:14px;width:max-content;animation:marq 40s linear infinite}
.r1 .wtrack{animation-duration:52s;animation-direction:reverse;margin-left:-180px}.r2 .wtrack{animation-duration:36s;margin-left:-60px}
.r3 .wtrack{animation-duration:58s;animation-direction:reverse;margin-left:-260px}.r4 .wtrack{animation-duration:44s;margin-left:-120px}.r5 .wtrack{animation-duration:62s;animation-direction:reverse}
.wtrack span{display:inline-flex;align-items:center;gap:12px;padding:18px 26px;border-radius:18px;font-size:20px;font-weight:600;white-space:nowrap;color:#E9E8F2;
  background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03));box-shadow:inset 1px 1px 0 rgba(255,255,255,.2),0 20px 30px -20px rgba(0,0,0,.8)}
.wtrack span::before{content:"";width:12px;height:12px;border-radius:4px;background:var(--c);box-shadow:0 0 14px var(--c)}
.wall-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;
  background:radial-gradient(34% 40% at 50% 50%,rgba(8,7,16,.92),rgba(8,7,16,.6) 60%,transparent 80%)}
.wall-num{font-size:clamp(120px,calc(15 * 1vw / var(--z,1)),230px);font-weight:700;letter-spacing:-.08em;line-height:.85;display:flex}
.wall-num span,.wall-num b{background:linear-gradient(120deg,#BBA8F8,#9BE8D4 55%,#E2F38E);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.wall-txt{margin-top:18px;max-width:560px;font-size:18px;line-height:1.5;color:var(--ink-2)}
.wall-txt b{color:var(--ink)}
/* ---------- Intégration : faisceaux ---------- */
.beam{padding:70px 0 120px;text-align:center}
.beam-head{display:flex;flex-direction:column;align-items:center}
.beam-t{font-size:clamp(40px,calc(5 * 1vw / var(--z,1)),76px);font-weight:600;letter-spacing:-.055em;line-height:1}
.beam-p{margin-top:18px;max-width:640px;color:var(--ink-2);font-size:17px;line-height:1.6}
.beam-p b{color:var(--ink)}
.beam-viz{position:relative;width:min(1000px,100%);height:300px;margin:50px auto 0}
.beam-viz svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.bm-base path{fill:none;stroke:rgba(255,255,255,.08);stroke-width:2}
.bm-run path{fill:none;stroke:url(#bmG);stroke-width:3;stroke-linecap:round;stroke-dasharray:90 600;animation:beamRun 2s linear infinite;animation-delay:var(--d);filter:drop-shadow(0 0 6px #E2F38E)}
@keyframes beamRun{from{stroke-dashoffset:690}to{stroke-dashoffset:0}}
.bm-run path:nth-child(n+3){animation-direction:reverse}
.bn{position:absolute;transform:translate(-50%,-50%);padding:14px 22px;border-radius:16px;font-size:16px;font-weight:600;white-space:nowrap;
  background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03));box-shadow:inset 1px 1px 0 rgba(255,255,255,.22),0 20px 40px -20px rgba(0,0,0,.9)}
.bcore{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px;border-radius:34px;display:grid;place-items:center;
  background:conic-gradient(from var(--ang),#BBA8F8,#9BE8D4,#E2F38E,#BBA8F8);animation:spin 6s linear infinite;box-shadow:0 0 80px -6px rgba(187,168,248,.7)}
.bcore::before{content:"";position:absolute;inset:3px;border-radius:31px;background:#12101C}
.bcore b{position:relative;font-size:52px;font-weight:800;letter-spacing:-.06em;background:linear-gradient(120deg,#fff,#D9CEFF);-webkit-background-clip:text;background-clip:text;color:transparent}
.beam-ben{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 40px;margin-top:56px}
.beam-ben p{display:flex;align-items:center;gap:12px;font-size:clamp(20px,calc(1.8 * 1vw / var(--z,1)),26px);font-weight:600;letter-spacing:-.03em}
.beam-ben span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:14px;color:#0A0A0C;background:linear-gradient(135deg,#9BE8D4,#E2F38E)}
/* ---------- En plus : lignes éditoriales ---------- */
.plus5{padding-top:40px;padding-bottom:120px}
.xrows{margin-top:50px;border-top:1px solid rgba(255,255,255,.08)}
.xr{display:grid;grid-template-columns:150px 1.2fr 1fr;gap:30px;align-items:center;padding:42px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.xr-k{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--c)}
.xr-t{position:relative;font-size:clamp(44px,calc(5.6 * 1vw / var(--z,1)),92px)!important;font-weight:700;letter-spacing:-.06em;line-height:.95}
.xr-o{color:transparent;-webkit-text-stroke:1.2px rgba(255,255,255,.28)}
.xr-f{position:absolute;left:0;top:0;background:linear-gradient(100deg,#fff 10%,var(--c) 90%);-webkit-background-clip:text;background-clip:text;color:transparent;
  clip-path:inset(0 calc(100% - var(--fill,0%)) 0 0)}
.xr-b{color:var(--ink-2);font-size:16.5px;line-height:1.6}
[data-theme="light"] .xr-o{-webkit-text-stroke:1.2px rgba(14,16,22,.25)}
[data-theme="light"] .xr-f{background:linear-gradient(100deg,#0E1016 10%,color-mix(in srgb,var(--c) 55%,#000) 90%);-webkit-background-clip:text;background-clip:text}
[data-theme="light"] .wall-copy{background:radial-gradient(34% 40% at 50% 50%,rgba(242,243,246,.95),rgba(242,243,246,.6) 60%,transparent 80%)}
[data-theme="light"] .wtrack span,[data-theme="light"] .bn{color:#0E1016;background:rgba(255,255,255,.85)}
[data-theme="light"] .bcore::before{background:#fff}
@media (max-width:900px){.wall90{height:460px}.beam-viz{height:240px}.bn{font-size:12px;padding:9px 12px}.xr{grid-template-columns:1fr;gap:12px}}
@media (prefers-reduced-motion:reduce){.wtrack,.bm-run path,.bcore{animation:none}}
.xr{grid-template-columns:150px auto 1fr!important;gap:44px!important}
.xr-t{font-size:clamp(40px,calc(4.4 * 1vw / var(--z,1)),72px)!important;white-space:nowrap}
.wall-copy{background:radial-gradient(38% 46% at 50% 50%,rgba(8,7,16,.97),rgba(8,7,16,.8) 55%,transparent 82%)!important}
.bm-base path{stroke:rgba(255,255,255,.12)!important}
.bm-run path{stroke-width:4!important;stroke-dasharray:140 560!important}
@media (max-width:900px){.xr-t{white-space:normal}}
.xr{grid-template-columns:150px minmax(0,1.35fr) minmax(0,1fr)!important}

/* =========================================================
   Cas clients : salle « VR » à écrans incurvés
   ========================================================= */
.vr .vr-in{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;padding-top:70px}
.vr-room{position:absolute;inset:0;pointer-events:none}
.vr-ceil{position:absolute;left:-10%;right:-10%;top:-62%;height:80%;border-radius:0 0 50% 50%;
  border-bottom:3px solid transparent;background:linear-gradient(#0B0A12,#0B0A12) padding-box,linear-gradient(90deg,#E2F38E,#9BE8D4,#BBA8F8,#F2789B,#F8B597) border-box;
  box-shadow:0 18px 60px -10px rgba(187,168,248,.55),0 30px 90px -20px rgba(242,120,155,.35)}
.vr-floor{position:absolute;left:-30%;right:-30%;bottom:-8%;height:46%;transform:perspective(700px) rotateX(64deg);transform-origin:50% 100%;
  background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:70px 70px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 40%);mask-image:linear-gradient(180deg,transparent,#000 40%)}
.vr-floor::after{content:"";position:absolute;inset:0;background:radial-gradient(40% 50% at 50% 0%,color-mix(in srgb,var(--vc,#BBA8F8) 30%,transparent),transparent 70%);transition:background .8s}
.vr-tabs{position:relative;z-index:3;align-self:center!important;margin-bottom:8px}
.vr-stage{position:relative;z-index:2;width:100%;height:400px;perspective:1300px;perspective-origin:50% 40%}
.vr-ring{position:absolute;left:50%;top:10px;width:0;height:100%;transform-style:preserve-3d;transform:translateZ(1050px) rotateY(calc(var(--rot,0) * 1deg));transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.vr-scr{position:absolute;left:-330px;top:0;width:660px;height:370px;transform:rotateY(calc(var(--a) * -40deg)) translateZ(-1050px);transition:opacity .6s,filter .6s;opacity:.45;filter:saturate(.7) brightness(.75)}
.vr-scr.on{opacity:1;filter:none}
.vr-img{position:relative;height:300px;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:space-between;padding:30px 40px;
  background:radial-gradient(80% 120% at 85% 40%,color-mix(in srgb,var(--c) 55%,transparent),transparent 60%),linear-gradient(135deg,#1B1830,#0E0D18);
  box-shadow:0 0 0 3px rgba(255,255,255,.85),0 0 0 4px rgba(0,0,0,.6),0 0 60px -10px var(--c);-webkit-box-reflect:below 8px linear-gradient(transparent 65%,rgba(0,0,0,.25))}
.vr-img::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.35),transparent 18%,transparent 82%,rgba(0,0,0,.35))}
.vr-l img{height:30px;filter:brightness(0) invert(1)}
.vr-big{margin-top:22px;font-size:68px;font-weight:700;letter-spacing:-.06em;line-height:.9;background:linear-gradient(110deg,#fff,var(--c));-webkit-background-clip:text;background-clip:text;color:transparent}
.vr-bigl{margin-top:8px;font-size:14px;color:#C9C6D6;max-width:260px}
.vr-ph{transform:rotate(-6deg) scale(.58)!important;transform-origin:center;margin:-90px -50px -90px 0;animation:none!important}
.vr-cap{display:flex;align-items:center;gap:14px;margin-top:12px;padding:0 6px;color:#fff}
.vr-play{width:26px;height:26px;border-radius:50%;flex-shrink:0;border:2px solid rgba(255,255,255,.7);position:relative}
.vr-play::after{content:"";position:absolute;left:8px;top:6px;border-left:8px solid rgba(255,255,255,.8);border-top:5px solid transparent;border-bottom:5px solid transparent}
.vr-cap b{display:block;font-size:17px}.vr-cap small{font-family:var(--f-mono);font-size:11px;color:var(--c)}
.vr-cap em{margin-left:auto;font-style:normal;font-family:var(--f-mono);font-size:11px;color:#9A97A8}
.vr-ped{position:relative;z-index:3;width:min(760px,calc(90 * 1vw / var(--z,1)));margin-top:6px}
.vr-ped-top{height:46px;margin:0 50px;border-radius:12px 12px 0 0;transform:perspective(600px) rotateX(48deg);transform-origin:50% 100%;
  background:linear-gradient(180deg,#3A3850,#25233A);box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.vr-ped-front{position:relative;min-height:150px;padding:18px 34px 20px;border-radius:6px 6px 18px 18px;background:linear-gradient(180deg,#2A2840,#16151F);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 30px 60px -20px rgba(0,0,0,.9),0 0 60px -20px var(--vc,#BBA8F8)}
.vr-ped-c{display:none;text-align:center}
.vr-ped-c.on{display:block;animation:worldIn .7s cubic-bezier(.16,1,.3,1) both}
.vr-name{font-size:26px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#EDEDF5;text-shadow:0 0 18px var(--c)}
.vr-dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:12px;text-align:left}
.vr-dl dt{font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--c);margin-bottom:5px}
.vr-dl dd{font-size:12.5px;line-height:1.5;color:#B6B8C4}
.vr-dl dd b{color:#fff}
.vr .sc-tabs button.on{background:var(--c);color:#0A0A0C}
.factory-more .showcase.vr{height:calc(220 * 1vh / var(--z,1))}
@media (max-width:900px){.vr .vr-in{position:static;height:auto;padding:30px 0}.vr-room,.vr-tabs{display:none}.vr-stage{height:auto;perspective:none}
  .vr-ring{position:static;width:auto;transform:none;display:grid;gap:30px;padding:0 16px}.vr-scr{position:relative;left:auto;width:auto;height:auto;transform:none;opacity:1;filter:none}
  .vr-img{height:auto;flex-direction:column;align-items:flex-start;-webkit-box-reflect:none}.vr-ph{display:none}.vr-ped{display:none}}
.factory-more .showcase.vr{width:calc(100 * 1vw / var(--z,1));margin-left:calc(50% - calc(50 * 1vw / var(--z,1)))}
@media (max-width:900px){.factory-more .showcase.vr{width:auto;margin-left:0}}
.xr{grid-template-columns:140px minmax(0,1.5fr) minmax(0,1fr)!important;gap:40px!important}
.xr-t{font-size:clamp(34px,calc(3.4 * 1vw / var(--z,1)),58px)!important;white-space:nowrap}
.xr > *{min-width:0}
.vr-arc{position:absolute;left:0;top:0;width:100%;height:30%;overflow:visible}
.vr-arc .glow{opacity:.28;filter:blur(8px)}
.dive.cine .dv-bub{opacity:0!important}
/* Clients : tout dans un écran */
#clients{padding-top:0!important}
.vr .vr-in{padding-top:64px!important;justify-content:center!important}
.vr-head{position:relative;z-index:3;width:min(1200px,calc(92 * 1vw / var(--z,1)));display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:end;margin-bottom:6px}
.vr-head .eyebrow{margin-bottom:8px}
.factory-more .vr-h{font-size:clamp(30px,calc(3 * 1vw / var(--z,1)),46px)!important;letter-spacing:-.05em!important;line-height:1!important;white-space:nowrap}
.vr-h span{color:var(--ink-3)}
.vr-lead{font-size:14px;line-height:1.55;color:var(--ink-2);max-width:560px;justify-self:end;text-align:right}
.vr-lead b{color:var(--ink)}
.vr-sub{position:relative;z-index:3;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;color:var(--ink-3);margin:6px 0 8px}
.vr-sub b{color:var(--ink-2);font-weight:500}
.vr-tabs{margin-bottom:4px!important}
.vr-stage{height:300px!important}
.vr-ring{transform:translateZ(900px) rotateY(calc(var(--rot,0) * 1deg))!important}
.vr-scr{width:540px!important;left:-270px!important;height:300px!important;transform:rotateY(calc(var(--a) * -40deg)) translateZ(-900px)!important}
.vr-img{height:238px!important;padding:22px 30px!important}
.vr-big{font-size:52px!important;margin-top:14px!important}
.vr-bigl{font-size:12.5px!important}
.vr-l img{height:24px!important}
.vr-ph{transform:rotate(-6deg) scale(.46)!important;margin:-130px -70px -130px 0!important}
.vr-cap{margin-top:8px!important}.vr-cap b{font-size:15px!important}
.vr-ped{margin-top:0!important;width:min(820px,calc(92 * 1vw / var(--z,1)))!important}
.vr-ped-top{height:28px!important}
.vr-ped-front{min-height:0!important;padding:12px 28px 14px!important}
.vr-name{font-size:20px!important}
.vr-dl{margin-top:8px!important;gap:18px!important}
.vr-dl dd{font-size:12px!important;line-height:1.45!important}
.vr-arc{height:20%!important;top:7%!important}
@media (max-width:900px){.vr-head{grid-template-columns:1fr}.vr-lead{text-align:left;justify-self:start}.factory-more .vr-h{white-space:normal}}
/* Clients : moins de vide en haut, plus d'air entre les blocs */
.factory-more #chiffres{padding-bottom:0!important}
.vr .vr-in{justify-content:flex-start!important;padding-top:78px!important}
.vr-head{margin-bottom:0!important}
.vr-sub{margin:14px 0 14px!important}
.vr-tabs{margin-bottom:14px!important}
.vr-stage{height:300px!important}
.vr-ped{margin-top:18px!important}
.vr-arc{top:10%!important}
.vr-arc{top:21%!important;height:16%!important}
/* =========================================================
   Factory : même espacement entre tous les blocs
   ========================================================= */
.factory-more{--G:120px}
.factory-more > section{padding-top:0!important;padding-bottom:0!important;margin-top:var(--G)!important}
.factory-more > section:first-child{margin-top:var(--G)!important}
.factory-more > section:last-child{padding-bottom:var(--G)!important}
.factory-more .fx-sec > .wrap,.factory-more #constat > .wrap{margin-top:var(--G)!important}
.factory-more .plus5,.factory-more .ia-after,.factory-more .hloop,.factory-more .beam{padding-top:0!important;padding-bottom:0!important}
.factory-more .hloop + .sov,.factory-more .wall90 + .beam{margin-top:var(--G)!important}
.factory-more .wall90{margin:0!important}
.factory-more .fx-stats{margin-bottom:0!important}
.factory-more .manifesto{padding-top:0!important;padding-bottom:0!important}
/* Clients : plus d'air vertical */
.vr .vr-in{padding-top:clamp(96px,calc(12 * 1vh / var(--z,1)),130px)!important}
.vr-sub{margin:clamp(18px,calc(3 * 1vh / var(--z,1)),30px) 0 clamp(14px,calc(2.4 * 1vh / var(--z,1)),24px)!important}
.vr-tabs{margin-bottom:clamp(14px,calc(2.6 * 1vh / var(--z,1)),26px)!important}
.vr-stage{height:clamp(270px,calc(33 * 1vh / var(--z,1)),320px)!important}
.vr-ped{margin-top:clamp(16px,calc(3 * 1vh / var(--z,1)),32px)!important}
.vr-arc{top:24%!important}

/* =========================================================
   Principe + souveraineté, à la Apple
   ========================================================= */
.ap2{display:flex;flex-direction:column;align-items:center;text-align:center}
.ap2-blk{display:flex;flex-direction:column;align-items:center;max-width:980px}
.ap2-blk + .ap2-blk{margin-top:var(--G,120px)}
.ap2-k{font-size:17px;font-weight:600;color:#9BE8D4;letter-spacing:-.01em}
.ap2-h{margin-top:14px;font-size:clamp(40px,calc(5 * 1vw / var(--z,1)),80px)!important;font-weight:600;letter-spacing:-.05em!important;line-height:1.04!important}
.ap2-h span{color:var(--ink-3)}
.ap2-l{margin-top:34px;font-size:clamp(22px,calc(2.2 * 1vw / var(--z,1)),32px);font-weight:600;letter-spacing:-.03em;line-height:1.35;color:var(--ink)}
.ap2-l .dim{color:var(--ink-3)}
.ap2-note{margin-top:26px;font-size:15px;color:var(--ink-3)}
.ap2-eu{position:relative;width:96px;height:96px;margin-bottom:6px}
.ap2-eu i{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px;background:#F2C94C;
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);transform:rotate(calc(var(--k) * 30deg)) translateY(-40px)}
.ap2-p{margin-top:22px;max-width:680px;font-size:19px;line-height:1.55;color:var(--ink-2)}
.ap2-facts{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:56px;width:min(920px,100%)}
.ap2-facts li{padding:0 20px;border-left:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:6px}
.ap2-facts li:first-child{border-left:0}
.ap2-facts b{font-size:21px;font-weight:600;letter-spacing:-.025em}
.ap2-facts span{font-size:14px;color:var(--ink-3)}
.ap2-link{margin-top:40px;font-size:17px;color:#BBA8F8}
.ap2-link:hover{text-decoration:underline}
[data-theme="light"] .ap2-facts li{border-color:rgba(14,16,22,.12)}
[data-theme="light"] .ap2-k{color:#138F7A}
[data-theme="light"] .ap2-link{color:#5B43D6}
@media (max-width:720px){.ap2-facts{grid-template-columns:1fr 1fr;row-gap:28px}.ap2-facts li:nth-child(3){border-left:0}}

/* Principe + souveraineté : arrêts au scroll, texte qui se remplit en dégradé */
.ap2{display:block}
.ap2-pin{position:relative;height:calc(180 * 1vh / var(--z,1))}
.ap2-pin + .ap2-pin{margin-top:0}
.ap2-stk{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;align-items:center;justify-content:center;padding:0 24px}
.ap2-blk + .ap2-blk{margin-top:0}
.ap2-f{--f:0;display:inline;color:transparent;-webkit-background-clip:text;background-clip:text;-webkit-box-decoration-break:clone;box-decoration-break:clone;
  background-image:linear-gradient(90deg,#BBA8F8 0%,#9BE8D4 50%,#F8B597 100%),linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,.16));
  background-size:calc(var(--f) * 100%) 100%,100% 100%;background-repeat:no-repeat}
.ap2-h .ap2-f,.ap2-l .ap2-f{color:transparent}
.ap2-l .dim{color:inherit}
[data-theme="light"] .ap2-f{background-image:linear-gradient(90deg,#6B4EE6 0%,#13A38A 100%),linear-gradient(rgba(14,16,22,.14),rgba(14,16,22,.14))}
.ap2 [data-at]{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.ap2 [data-at].on{opacity:1;transform:none}
.ap2-eu i{opacity:0;transition:opacity .5s,transform .8s cubic-bezier(.16,1,.3,1);transform:rotate(calc(var(--k) * 30deg)) translateY(-18px) scale(.4)}
.ap2-eu.on i{opacity:1;transform:rotate(calc(var(--k) * 30deg)) translateY(-40px);transition-delay:calc(var(--k) * 45ms)}
@media (prefers-reduced-motion:reduce){.ap2-pin{height:auto}.ap2-stk{position:static;height:auto;padding:60px 24px}.ap2-f{--f:1!important}.ap2 [data-at],.ap2-eu i{opacity:1!important;transform:rotate(calc(var(--k,0) * 30deg)) translateY(calc(var(--k,0)*0px))}}
/* Clients : plus d'air au-dessus du carrousel */
.vr-sub{margin-bottom:clamp(30px,calc(6 * 1vh / var(--z,1)),64px)!important}
.vr-arc{top:calc(24% + clamp(16px,calc(3.6 * 1vh / var(--z,1)),40px))!important}
.vr .vr-in{padding-top:clamp(92px,calc(11 * 1vh / var(--z,1)),120px)!important}
.vr-stage{height:300px!important}
@media (max-height:940px){.vr-stage{zoom:.84}}
.vr-ped{margin-top:clamp(0px,calc(1.5 * 1vh / var(--z,1)),24px)!important}
.vr-ped-front{min-height:0!important;padding-top:14px!important;padding-bottom:16px!important}
.vr-ped-top{height:34px!important}

/* Arrêts au scroll : variante blanche + manifeste + « en plus » */
.ap2-f.w{background-image:linear-gradient(#fff,#fff),linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,.16))}
[data-theme="light"] .ap2-f.w{background-image:linear-gradient(#0E1016,#0E1016),linear-gradient(rgba(14,16,22,.14),rgba(14,16,22,.14))}
[data-ap2] [data-at]{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
[data-ap2] [data-at].on{opacity:1;transform:none}
.mf-pin{height:calc(170 * 1vh / var(--z,1))}
.mf-pin .ap2-stk{padding:0}
.mf-pin .manifesto{width:100%;padding:0!important;text-align:left}
.mf-pin .manifesto blockquote > span{display:block}
.mf-pin .manifesto blockquote{font-size:clamp(32px,calc(4.4 * 1vw / var(--z,1)),62px)!important;max-width:1060px}
.px-pin{height:calc(145 * 1vh / var(--z,1))}
.px-head{text-align:center;margin:0!important}
.px-head .eyebrow{justify-content:center;margin:0 auto 18px}
.px-head .plus3-title{font-size:clamp(44px,calc(6.4 * 1vw / var(--z,1)),96px)!important;line-height:1.02;letter-spacing:-.055em}
.px-head .plus3-title span{display:inline;color:transparent}
.factory-more .px-pin + .xrows{margin-top:0}
@media (prefers-reduced-motion:reduce){.mf-pin,.px-pin{height:auto}}

/* « En plus » : arrêt au scroll, les 3 lignes se remplissent l'une après l'autre */
.xr-pin{position:relative;height:calc(200 * 1vh / var(--z,1))}
.xr-stk{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;align-items:center;padding-top:60px}
.xr-stk .xrows{width:100%;margin-top:0!important}
.xr-pin .xr{padding:clamp(18px,calc(3.4 * 1vh / var(--z,1)),36px) 0!important}
.xr-pin .xr-t{font-size:clamp(34px,calc(3.9 * 1vw / var(--z,1)),66px)!important}
.xr-pin .xr{grid-template-columns:140px minmax(0,1.75fr) minmax(0,1fr)!important}
.xr-pin .xr-k,.xr-pin .xr-b{opacity:.22;transition:opacity .6s cubic-bezier(.16,1,.3,1)}
.xr-pin .xr.on .xr-k,.xr-pin .xr.on .xr-b{opacity:1}
@media (max-width:900px),(prefers-reduced-motion:reduce){.xr-pin{height:auto}.xr-stk{position:static;height:auto;padding-top:0}.xr-pin .xr-k,.xr-pin .xr-b{opacity:1}}

/* =========================================================
   100+ briques : mur typographique (remplace l'isométrie)
   ========================================================= */
.bw .fxp-in{display:flex;align-items:center}
.bw-in{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:40px}
.bw-head .eyebrow{margin:0 auto 18px}
.bw-h{font-size:clamp(46px,calc(5.6 * 1vw / var(--z,1)),88px)!important;font-weight:600;letter-spacing:-.055em!important;line-height:1!important}
.bw-h span{display:block;margin-top:12px;font-size:clamp(20px,calc(1.9 * 1vw / var(--z,1)),28px);letter-spacing:-.025em;line-height:1.25;color:var(--ink-3);font-weight:600}
.bw-compose{margin-top:12px;font-size:17px;font-weight:600;color:var(--ink-2)}
.bw-wall{margin-top:clamp(22px,calc(4 * 1vh / var(--z,1)),50px);max-width:1020px;display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(6px,calc(1 * 1vh / var(--z,1)),12px) 26px;
  font-size:clamp(17px,calc(1.6 * 1vw / var(--z,1)),24px);font-weight:600;letter-spacing:-.03em;line-height:1.15;
  }
.bw-wall span{color:rgba(255,255,255,.13);transition:color .8s cubic-bezier(.16,1,.3,1),opacity .8s}
.bw-wall .bw-c{--dim:rgba(255,255,255,.13);position:relative;display:inline-block;color:transparent!important;
  background-image:linear-gradient(100deg,#fff 0%,var(--c) 70%),linear-gradient(var(--dim),var(--dim));background-size:0% 100%,100% 100%;background-repeat:no-repeat;
  -webkit-background-clip:text;background-clip:text;transition:background-size .9s cubic-bezier(.16,1,.3,1),filter .8s,transform .8s cubic-bezier(.16,1,.3,1)}
.bw-wall .bw-c.in{background-size:100% 100%,100% 100%}
.bw.bw-done .bw-wall .bw-c{--dim:rgba(255,255,255,.26)}
.bw-wall .bw-c.cur{transform:scale(1.08);filter:drop-shadow(0 0 22px color-mix(in srgb,var(--c) 45%,transparent))}
.bw.bw-done .bw-wall span:not(.bw-c){color:rgba(255,255,255,.26)}
[data-theme="light"] .bw-wall span,[data-theme="light"] .bw-wall .bw-c{color:rgba(14,16,22,.12)}
[data-theme="light"] .bw-wall .bw-c{--dim:rgba(14,16,22,.12);background-image:linear-gradient(100deg,#0E1016 0%,color-mix(in srgb,var(--c) 60%,#000) 75%),linear-gradient(var(--dim),var(--dim))}
[data-theme="light"] .bw.bw-done .bw-wall span:not(.bw-c){color:rgba(14,16,22,.24)}
.bw-panel{--pc:#BBA8F8;margin-top:clamp(22px,calc(4 * 1vh / var(--z,1)),50px);max-width:640px;min-height:150px;transition:opacity .2s,transform .2s}
.bw-panel.swap{opacity:0;transform:translateY(6px)}
.bw-g{display:flex;justify-content:center;gap:14px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--pc)}
.bw-g b{font-weight:400;color:var(--ink-3)}
.bw-t{margin-top:10px;font-size:clamp(24px,calc(2.2 * 1vw / var(--z,1)),32px)!important;font-weight:600;letter-spacing:-.035em}
.bw-d{margin-top:8px;font-size:16px;line-height:1.55;color:var(--ink-2)}
.bw-miss{margin-top:10px;font-size:14px;color:var(--ink-3);opacity:0;transition:opacity .6s}
.bw.bw-done .bw-miss{opacity:1}
.bw-miss b{color:var(--ink)}
@media (max-width:900px){.bw-wall{-webkit-mask:none;mask:none;gap:6px 16px}.bw-in{padding-top:0}}

/* 100% Souverain : dégradé ciel → lavande → or (étoiles UE) */
.ap2-sov .ap2-f{background-image:linear-gradient(90deg,#B7DDF8 0%,#BBA8F8 55%,#F2D57E 100%),linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,.16))}
[data-theme="light"] .ap2-sov .ap2-f{background-image:linear-gradient(90deg,#2F7FC8 0%,#6B4EE6 55%,#C79A12 100%),linear-gradient(rgba(14,16,22,.14),rgba(14,16,22,.14))}

/* +90 : chiffre qui compte et se remplit, arrêt au scroll */
.n90-pin{position:relative;height:calc(160 * 1vh / var(--z,1));margin-top:var(--G,120px)}
.n90-stk{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-top:40px}
.n90-num{position:relative;font-size:clamp(150px,calc(21 * 1vw / var(--z,1)),330px);font-weight:700;letter-spacing:-.07em;line-height:.9;font-variant-numeric:tabular-nums}
.n90-o,.n90-f{display:inline-block;padding:0 .08em}
.n90-o{color:transparent;-webkit-text-stroke:1.2px rgba(255,255,255,.18)}
.n90-f{position:absolute;inset:0;background:linear-gradient(100deg,#BBA8F8 10%,#9BE8D4 55%,#E2F38E 95%);-webkit-background-clip:text;background-clip:text;color:transparent;clip-path:inset(0 calc(100% - var(--f,0) * 100%) 0 0)}
.n90-f b{font-weight:inherit}
.n90-txt{margin-top:28px;max-width:640px;font-size:clamp(18px,calc(1.6 * 1vw / var(--z,1)),22px);line-height:1.5;color:var(--ink-2)}
.n90-txt b{color:var(--ink)}
.n90-list{margin-top:18px;max-width:820px;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;line-height:1.9;color:var(--ink-3)}
[data-theme="light"] .n90-o{-webkit-text-stroke:1.2px rgba(14,16,22,.18)}
[data-theme="light"] .n90-f{background:linear-gradient(100deg,#6B4EE6 10%,#13A38A 55%,#8FA514 95%);-webkit-background-clip:text;background-clip:text}

/* Intégration : les 4 systèmes convergent vers « Votre Wapp. » */
.ig-pin{position:relative;height:calc(180 * 1vh / var(--z,1))}
.ig-stk{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 24px 0}
.ig-t{font-size:clamp(40px,calc(5 * 1vw / var(--z,1)),76px)!important;font-weight:600;letter-spacing:-.055em!important;line-height:1}
.ig-p{margin:18px auto 0;max-width:640px;font-size:17px;line-height:1.55;color:var(--ink-2)}
.ig-p b{color:var(--ink)}
.ig-stage{position:relative;width:min(1000px,100%);height:clamp(200px,calc(30 * 1vh / var(--z,1)),300px);margin-top:clamp(20px,calc(4 * 1vh / var(--z,1)),44px)}
.ig-w{position:absolute;left:50%;top:50%;white-space:nowrap;font-size:clamp(26px,calc(3 * 1vw / var(--z,1)),46px);font-weight:600;letter-spacing:-.04em;color:var(--ink);
  transform:translate(-50%,-50%) translate(var(--tx,0px),var(--ty,0px)) scale(var(--s,1));opacity:var(--o,1);will-change:transform,opacity}
.ig-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--cs,.85));opacity:var(--co,0);white-space:nowrap;
  font-size:clamp(48px,calc(6.4 * 1vw / var(--z,1)),104px);font-weight:700;letter-spacing:-.06em;
  background:linear-gradient(100deg,#fff 0%,#BBA8F8 45%,#9BE8D4 80%,#E2F38E 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
[data-theme="light"] .ig-core{background:linear-gradient(100deg,#0E1016 0%,#6B4EE6 45%,#13A38A 85%);-webkit-background-clip:text;background-clip:text}
.ig-ben{list-style:none;display:flex;justify-content:center;margin-top:clamp(20px,calc(4 * 1vh / var(--z,1)),44px)}
.ig-ben li{padding:0 26px;border-left:1px solid rgba(255,255,255,.12);font-size:clamp(16px,calc(1.4 * 1vw / var(--z,1)),20px);font-weight:600;letter-spacing:-.02em}
.ig-ben li:first-child{border-left:0}
[data-theme="light"] .ig-ben li{border-color:rgba(14,16,22,.12)}
[data-n90] [data-at],[data-ig] [data-at]{opacity:0;transform:translateY(12px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
[data-n90] [data-at].on,[data-ig] [data-at].on{opacity:1;transform:none}
@media (max-width:900px){.ig-ben{flex-direction:column;gap:10px}.ig-ben li{border:0}.ig-w{font-size:22px}}
@media (prefers-reduced-motion:reduce){.n90-pin,.ig-pin{height:auto}.n90-stk,.ig-stk{position:static;height:auto;padding:60px 24px}}

/* ÷10 / 8 sem. : deux chiffres géants, arrêt au scroll */
.st2-pin{height:calc(165 * 1vh / var(--z,1))}
.st2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:min(1100px,100%);text-align:center}
.st2-c{padding:0 clamp(20px,calc(4 * 1vw / var(--z,1)),60px)}
.st2-c + .st2-c{border-left:1px solid rgba(255,255,255,.12)}
[data-theme="light"] .st2-c + .st2-c{border-color:rgba(14,16,22,.12)}
.st2-n{font-size:clamp(80px,calc(10.5 * 1vw / var(--z,1)),176px);font-weight:700;letter-spacing:-.07em;line-height:.95;white-space:nowrap}
.st2-n .ap2-f{padding:0 .04em}
.st2-b{background-image:linear-gradient(90deg,#B7DDF8 0%,#BBA8F8 60%,#F8B597 100%),linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,.16))!important}
[data-theme="light"] .st2-b{background-image:linear-gradient(90deg,#2F7FC8 0%,#6B4EE6 55%,#13A38A 100%),linear-gradient(rgba(14,16,22,.14),rgba(14,16,22,.14))!important}
.st2-p{margin:22px auto 0;max-width:340px;font-size:clamp(17px,calc(1.5 * 1vw / var(--z,1)),21px);line-height:1.45;color:var(--ink-2)}
@media (max-width:760px){.st2{grid-template-columns:1fr;gap:56px}.st2-c + .st2-c{border:0}}

/* Clients : plus d'air entre les onglets et les écrans */
.vr-tabs{margin-bottom:clamp(44px,calc(7 * 1vh / var(--z,1)),72px)!important}
.vr-arc{top:calc(24% + clamp(20px,calc(3.4 * 1vh / var(--z,1)),40px))!important}
@media (max-height:940px){.vr-stage{zoom:.76}}

/* Studio : plus d'air entre les 5 points */
#studio .spot-item{padding:clamp(14px,calc(2.6 * 1vh / var(--z,1)),30px) 0!important}
#studio .spot-item::before{bottom:calc(clamp(14px,calc(2.6 * 1vh / var(--z,1)),30px) * -.5)}
#studio .spot-n{margin-bottom:clamp(6px,calc(1 * 1vh / var(--z,1)),12px)!important}
#studio .spot-item.on p{margin-top:clamp(12px,calc(1.8 * 1vh / var(--z,1)),20px)}
#studio .spot-list{margin-top:clamp(20px,calc(4 * 1vh / var(--z,1)),48px)}

/* Studio : la liste défile dans une fenêtre, le point actif reste au centre */
#studio .spot-vp{position:relative;width:min(1000px,100%);height:clamp(360px,calc(60 * 1vh / var(--z,1)),600px);overflow:hidden;margin-top:clamp(16px,calc(3 * 1vh / var(--z,1)),40px);
  -webkit-mask:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);mask:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent)}
#studio .spot-vp .spot-list{margin:0 auto!important;transform:translateY(var(--sy,0px));transition:transform .8s cubic-bezier(.16,1,.3,1)}
@media (max-width:900px){#studio .spot-vp{height:auto;overflow:visible;-webkit-mask:none;mask:none}#studio .spot-vp .spot-list{transform:none}}

/* =========================================================
   Méthode : 4 temps sur une frise, un temps par écran
   ========================================================= */
.mt-pin{position:relative;height:calc(260 * 1vh / var(--z,1))}
.mt-stk{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;align-items:center;padding-top:64px}
.mt-in{width:100%}
.mt-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:end}
.mt-h{font-size:clamp(40px,calc(4.8 * 1vw / var(--z,1)),76px)!important;letter-spacing:-.055em!important;line-height:1!important}
.mt-h span{display:block}.mt-h span+span{color:var(--ink-3)}
.mt-side .four{font-size:22px;font-weight:600;letter-spacing:-.03em}
.mt-side p{margin-top:6px;color:var(--ink-2);font-size:15.5px;line-height:1.55}
.mt-side .mt-lead{color:var(--ink-3)}
.mt-stage{position:relative;height:clamp(200px,calc(30 * 1vh / var(--z,1)),280px);margin-top:clamp(24px,calc(5 * 1vh / var(--z,1)),60px)}
.mt-pane{position:absolute;inset:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(28px,calc(4 * 1vw / var(--z,1)),64px);align-items:center;
  opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);pointer-events:none}
.mt-pane.on{opacity:1;transform:none}
.mt-pane.past{transform:translateY(-24px)}
.mt-num{font-size:clamp(130px,calc(17 * 1vw / var(--z,1)),260px);font-weight:700;letter-spacing:-.08em;line-height:.8;font-variant-numeric:tabular-nums;
  background:linear-gradient(160deg,#fff 0%,var(--c) 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.mt-t{font-size:clamp(32px,calc(3.6 * 1vw / var(--z,1)),56px)!important;font-weight:600;letter-spacing:-.045em;line-height:1.02}
.mt-p{margin-top:16px;max-width:560px;font-size:clamp(16px,calc(1.3 * 1vw / var(--z,1)),19px);line-height:1.55;color:var(--ink-2)}
[data-theme="light"] .mt-num{background:linear-gradient(160deg,#0E1016 0%,color-mix(in srgb,var(--c) 55%,#000) 80%);-webkit-background-clip:text;background-clip:text}
/* frise */
.mt-line{position:relative;list-style:none;margin:clamp(28px,calc(5 * 1vh / var(--z,1)),60px) 6px 0;height:2px;background:rgba(255,255,255,.1);border-radius:2px}
.mt-fill{position:absolute;left:0;top:0;height:2px;width:calc(var(--f,0) * 100%);border-radius:2px;background:linear-gradient(90deg,#BBA8F8,#B7DDF8,#9BE8D4,#E2F38E);background-size:calc(100% / max(var(--f,0),.001)) 100%;box-shadow:0 0 14px rgba(155,232,212,.35)}
.mt-line li{position:absolute;left:var(--x);top:1px;translate:-50% -50%;display:flex;flex-direction:column;align-items:center}
.mt-line li:first-of-type{translate:0 -50%;align-items:flex-start}
.mt-line li:last-of-type{translate:-100% -50%;align-items:flex-end}
.mt-line i{width:12px;height:12px;border-radius:50%;background:#14131c;border:1.5px solid rgba(255,255,255,.25);transition:background .4s,border-color .4s,box-shadow .4s,transform .4s}
.mt-line span{position:absolute;top:22px;white-space:nowrap;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);transition:color .4s}
.mt-line li.done i{background:var(--c);border-color:var(--c)}
.mt-line li.on i{background:var(--c);border-color:var(--c);transform:scale(1.35);box-shadow:0 0 0 6px color-mix(in srgb,var(--c) 22%,transparent),0 0 18px var(--c)}
.mt-line li.on span{color:var(--ink)}
[data-theme="light"] .mt-line{background:rgba(14,16,22,.1)}
[data-theme="light"] .mt-line i{background:#fff;border-color:rgba(14,16,22,.25)}
/* engagement */
.ev{margin-top:var(--G,120px);text-align:center}
.ev-k{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#9BE8D4}
.ev-h{margin-top:14px;font-size:clamp(36px,calc(4.4 * 1vw / var(--z,1)),68px)!important;font-weight:600;letter-spacing:-.055em!important;line-height:1.02}
.ev-h span:first-child{color:var(--ink-3)}
.ev-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(40px,calc(7 * 1vh / var(--z,1)),72px)}
.ev-list li{padding:0 clamp(16px,calc(2.6 * 1vw / var(--z,1)),40px);border-left:1px solid rgba(255,255,255,.1)}
.ev-list li:first-child{border-left:0}
.ev-pre{display:block;font-size:15px;color:var(--ink-3)}
.ev-w{position:relative;display:inline-block;margin-top:4px;font-size:clamp(30px,calc(3.2 * 1vw / var(--z,1)),48px);font-weight:600;letter-spacing:-.045em;color:var(--ink-3);transition:color .8s}
.ev-w::after{content:"";position:absolute;left:-4%;top:55%;height:4px;width:108%;border-radius:3px;background:linear-gradient(90deg,#F8B597,#F2789B);transform:scaleX(0);transform-origin:0 50%;transition:transform .9s cubic-bezier(.16,1,.3,1) var(--d,0s)}
.ev-pin{position:relative;height:calc(180 * 1vh / var(--z,1));margin-top:var(--G,120px)}
.ev-stk{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;align-items:center;justify-content:center;padding-top:60px}
.ev-pin .ev{margin-top:0;width:100%}
.ev-pin .ev-w::after{transform:scaleX(var(--s,0));transition:none}
.ev-pin .ev-w{color:color-mix(in srgb,var(--ink) calc(100% - var(--s,0) * 55%),transparent);transition:none}
.ev-pin .ev-list p{opacity:var(--s,0);transform:translateY(calc((1 - var(--s,0)) * 10px))}
.ev-pin .ev-list li.cur .ev-w{text-shadow:0 0 28px rgba(242,120,155,.35)}
@media (max-width:900px),(prefers-reduced-motion:reduce){.ev-pin{height:auto}.ev-stk{position:static;height:auto;padding:0}.ev-pin .ev-w::after,.ev-pin .ev-list p{--s:1}}
.ev-list li:nth-child(2){--d:.2s}.ev-list li:nth-child(3){--d:.4s}
.ev-list p{margin:14px auto 0;max-width:280px;font-size:16px;line-height:1.5;color:var(--ink-2)}
[data-theme="light"] .ev-list li{border-color:rgba(14,16,22,.1)}
[data-theme="light"] .ev-k{color:#138F7A}
@media (max-width:900px){.mt-pin{height:auto}.mt-stk{position:static;height:auto;padding:0}.mt-head{grid-template-columns:1fr;gap:16px}
  .mt-stage{height:auto}.mt-pane{position:relative;opacity:1;transform:none;margin-top:36px;grid-template-columns:1fr;gap:6px}.mt-num{font-size:90px}.mt-line{display:none}
  .ev-list{grid-template-columns:1fr;gap:36px}.ev-list li{border:0}}
@media (prefers-reduced-motion:reduce){.mt-pin{height:auto}.mt-stk{position:static;height:auto}.mt-stage{height:auto}.mt-pane{position:relative;opacity:1;transform:none;margin-top:30px}.mt-line{display:none}}
.mt-side .four{background:linear-gradient(90deg,#BBA8F8,#9BE8D4);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
[data-theme="light"] .mt-side .four{background:linear-gradient(90deg,#6B4EE6,#13A38A);-webkit-background-clip:text;background-clip:text}

/* =========================================================
   Les preuves : 8 chiffres géants qui défilent à l'horizontale
   ========================================================= */
.pv-pin{position:relative;height:calc(270 * 1vh / var(--z,1))}
.pv-stk{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;flex-direction:column;justify-content:center;padding-top:64px;overflow:hidden}
.pv-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:end}
.pv-h{font-size:clamp(40px,calc(4.8 * 1vw / var(--z,1)),76px)!important;letter-spacing:-.055em!important;line-height:1!important}
.pv-h span{display:block;color:var(--ink-3)}
.pv-lead{font-size:16.5px;line-height:1.55;color:var(--ink-2);max-width:460px}
.pv-vp{position:relative;margin-top:clamp(36px,calc(7 * 1vh / var(--z,1)),80px)}
.pv-track{list-style:none;display:flex;width:max-content;padding:0 calc(calc(50 * 1vw / var(--z,1)) - min(560px,calc(42 * 1vw / var(--z,1))) / 2);transform:translate3d(var(--tx,0px),0,0);will-change:transform}
.pv-it{width:min(560px,calc(42 * 1vw / var(--z,1)));padding:0 clamp(24px,calc(3 * 1vw / var(--z,1)),48px);border-left:1px solid rgba(255,255,255,.1);opacity:.22;transition:opacity .5s cubic-bezier(.16,1,.3,1)}
.pv-it:first-child{border-left-color:transparent}
.pv-it.on{opacity:1}
.pv-k{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;color:var(--c)}
.pv-n{display:block;margin-top:10px;font-size:clamp(84px,calc(10.5 * 1vw / var(--z,1)),170px);font-weight:700;letter-spacing:-.07em;line-height:.95;white-space:nowrap;
  background:linear-gradient(160deg,#fff 5%,var(--c) 75%);-webkit-background-clip:text;background-clip:text;color:transparent}
.pv-p{margin-top:18px;max-width:380px;font-size:clamp(16px,calc(1.35 * 1vw / var(--z,1)),19px);line-height:1.5;color:var(--ink-2)}
.pv-foot{display:flex;align-items:center;gap:20px;margin-top:clamp(28px,calc(6 * 1vh / var(--z,1)),64px)}
.pv-c{font-family:var(--f-mono);font-weight:400;font-size:12px;letter-spacing:.1em;color:var(--ink-3);white-space:nowrap}
.pv-bar{display:block;position:relative;flex:1;height:2px;background:rgba(255,255,255,.1);border-radius:2px}
.pv-bar i{display:block;position:absolute;left:0;top:0;height:100%;width:calc(var(--f,0) * 100%);border-radius:2px;background:linear-gradient(90deg,#9BE8D4,#BBA8F8,#F8B597)}
[data-theme="light"] .pv-it{border-color:rgba(14,16,22,.1)}
[data-theme="light"] .pv-n{background:linear-gradient(160deg,#0E1016 5%,color-mix(in srgb,var(--c) 55%,#000) 80%);-webkit-background-clip:text;background-clip:text}
[data-theme="light"] .pv-bar{background:rgba(14,16,22,.1)}
@media (max-width:900px){.pv-pin{height:auto}.pv-stk{position:static;height:auto;padding:0;overflow:visible}.pv-head{grid-template-columns:1fr;gap:14px}
  .pv-track{width:auto;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:36px 0;transform:none}.pv-it{width:auto;opacity:1;padding:0 16px}.pv-it:nth-child(odd){border-left-color:transparent}.pv-n{font-size:56px}.pv-foot{display:none}}
@media (prefers-reduced-motion:reduce){.pv-pin{height:auto}.pv-stk{position:static;height:auto}.pv-track{width:auto;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:40px 0;transform:none}.pv-it{width:auto;opacity:1}.pv-foot{display:none}}
.pv-head,.pv-foot{width:100%;align-self:center}

/* Clients : fiche épurée sous les écrans (remplace le socle) */
.vr-ped{width:min(1080px,calc(92 * 1vw / var(--z,1)))!important;margin-top:clamp(10px,calc(2 * 1vh / var(--z,1)),24px)!important}
.vr-ped-top{display:none!important}
.vr-ped-front{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:clamp(16px,calc(2.6 * 1vh / var(--z,1)),26px) 0 0!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.vr-ped-front{padding-top:0!important}
.vr-ped-c{position:relative;padding-top:clamp(16px,calc(2.6 * 1vh / var(--z,1)),26px)}
.vr-ped-c::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--c) 50%,transparent);opacity:.8}
.vr-ped::before,.vr-ped::after{display:none!important}
.vr-ped,.vr-ped-front{filter:none!important}
.vr-ped-front::after{display:none!important}
.vr-ped-c{text-align:left!important}
.vr-name{font-size:clamp(20px,calc(1.8 * 1vw / var(--z,1)),26px)!important;font-weight:600!important;letter-spacing:-.03em!important;text-transform:none!important;text-shadow:none!important;text-align:center;color:var(--ink)!important;margin-bottom:clamp(12px,calc(2 * 1vh / var(--z,1)),20px)!important}
.vr-dl{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important}
.vr-dl > div{padding:0 clamp(16px,calc(2 * 1vw / var(--z,1)),28px);border-left:1px solid rgba(255,255,255,.1)}
.vr-dl > div:first-child{border-left:0;padding-left:0}
.vr-dl > div:last-child{padding-right:0}
.vr-dl dt{font-family:var(--f-mono);font-size:11px!important;letter-spacing:.1em;text-transform:uppercase;color:var(--c)!important;margin-bottom:6px}
.vr-dl dd{font-size:clamp(13.5px,calc(1 * 1vw / var(--z,1)),15px)!important;line-height:1.5!important;color:var(--ink-2)!important}
.vr-dl dd b{color:var(--ink)}
[data-theme="light"] .vr-dl > div{border-color:rgba(14,16,22,.1)}
.vr-ped{margin-top:clamp(18px,calc(3 * 1vh / var(--z,1)),30px)!important}
.vr-ped-c{padding-top:clamp(12px,calc(2 * 1vh / var(--z,1)),20px)}
.vr-name{font-size:clamp(18px,calc(1.6 * 1vw / var(--z,1)),22px)!important;margin-bottom:clamp(8px,calc(1.4 * 1vh / var(--z,1)),14px)!important}
.vr-dl dd{font-size:clamp(13px,calc(.95 * 1vw / var(--z,1)),14.5px)!important;line-height:1.45!important}

/* =========================================================
   FAQ izy Factory — index éditorial
   ========================================================= */
:is(#faq,.fq-sec) .fq-head{grid-template-columns:1fr!important;justify-items:center!important;text-align:center!important;gap:22px!important;margin-bottom:44px!important}
:is(#faq,.fq-sec) .fq-head > div{align-items:center!important}
:is(#faq,.fq-sec) .fq-head .lead{margin:0 auto!important;max-width:620px;font-size:17px}
.fq-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:clamp(36px,calc(6 * 1vh / var(--z,1)),64px)}
.fq-pill{display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border-radius:999px;font-size:14px;font-weight:500;color:var(--ink-2);
  background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:color .3s,background .3s,box-shadow .3s}
.fq-pill i{width:7px;height:7px;border-radius:50%;background:var(--c)}
.fq-pill b{font-family:var(--f-mono);font-size:11px;font-weight:400;color:var(--ink-3)}
.fq-pill:hover{color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c,#fff) 45%,transparent)}
.fq-pill.on{color:#0A0A0C;background:var(--c,#F2F2F6);box-shadow:0 10px 30px -12px var(--c,rgba(255,255,255,.6))}
.fq-pill.on i{background:#0A0A0C}.fq-pill.on b{color:rgba(10,10,12,.6)}
.fq-list{max-width:1040px;margin:0 auto;border-top:1px solid rgba(255,255,255,.1)}
.fq{position:relative;margin:0!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.1)!important;border-radius:0!important;background:none!important;
  interpolate-size:allow-keywords;transition:opacity .35s}
.fq::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:linear-gradient(90deg,var(--c),transparent);box-shadow:0 0 14px var(--c);transition:width .6s cubic-bezier(.16,1,.3,1)}
.fq[open]::before{width:100%}
.fq::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(60% 120% at 0% 0%,color-mix(in srgb,var(--c) 9%,transparent),transparent 70%)}
.fq:hover::after,.fq[open]::after{opacity:1}
.fq[hidden]{display:none}
.fq::details-content{block-size:0;overflow:hidden;transition:block-size .5s cubic-bezier(.16,1,.3,1),content-visibility .5s allow-discrete}
.fq[open]::details-content{block-size:auto}
.fq-q{position:relative;z-index:1;display:grid!important;grid-template-columns:56px minmax(0,1fr) auto 44px;align-items:center;gap:20px!important;padding:26px 4px!important;cursor:pointer;list-style:none}
.fq-q::-webkit-details-marker{display:none}
.fq-n{font-family:var(--f-mono);font-size:13px;color:var(--ink-3);transition:color .3s}
.fq-q h3{font-size:clamp(19px,calc(1.75 * 1vw / var(--z,1)),25px)!important;font-weight:500!important;letter-spacing:-.025em;line-height:1.25;color:var(--ink-2);transition:color .3s}
.fq-k{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;opacity:.8}
.fq-x{position:relative;width:40px;height:40px;border-radius:50%;justify-self:end;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);transition:transform .5s cubic-bezier(.16,1,.3,1),background .3s,box-shadow .3s}
.fq-x::before,.fq-x::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;margin:-.75px 0 0 -7px;border-radius:2px;background:var(--ink);transition:transform .5s cubic-bezier(.16,1,.3,1),background .3s}
.fq-x::after{transform:rotate(90deg)}
.fq:hover .fq-q h3,.fq[open] .fq-q h3{color:var(--ink)}
.fq:hover .fq-n,.fq[open] .fq-n{color:var(--c)}
.fq:hover .fq-x{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 70%,transparent)}
.fq[open] .fq-x{transform:rotate(45deg);background:var(--c);box-shadow:0 8px 24px -8px var(--c)}
.fq[open] .fq-x::before,.fq[open] .fq-x::after{background:#0A0A0C}
.fq-a{position:relative;z-index:1;padding:0 64px 36px 80px;max-width:820px}
.fq-a p{font-size:16.5px;line-height:1.7;color:var(--ink-2)}
.fq-a p + p{margin-top:12px}
.fq-a p:first-child{color:var(--ink)}
.fq[open] .fq-a p{animation:fadeup .6s cubic-bezier(.16,1,.3,1) both}
.fq[open] .fq-a p:nth-child(2){animation-delay:.06s}.fq[open] .fq-a p:nth-child(3){animation-delay:.12s}
.fq-q:focus-visible{outline:2px solid var(--c);outline-offset:4px;border-radius:12px}
.fq-more{max-width:1040px;margin:clamp(36px,calc(6 * 1vh / var(--z,1)),56px) auto 0;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.fq-more p{font-size:17px;color:var(--ink-2)}.fq-more p b{color:var(--ink);font-weight:600}
[data-theme="light"] .fq-list,[data-theme="light"] .fq{border-color:rgba(14,16,22,.1)!important}
[data-theme="light"] .fq-pill{background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px rgba(14,16,22,.08)}
[data-theme="light"] .fq-pill.on{background:var(--c,#0E1016);color:#0A0A0C;box-shadow:0 10px 30px -12px var(--c,rgba(14,16,22,.4))}
[data-theme="light"] .fq-pill.on[data-f="all"]{color:#fff}[data-theme="light"] .fq-pill.on[data-f="all"] b{color:rgba(255,255,255,.65)}
[data-theme="light"] .fq-x{box-shadow:inset 0 0 0 1px rgba(14,16,22,.15)}
[data-theme="light"] .fq:hover .fq-n,[data-theme="light"] .fq[open] .fq-n{color:color-mix(in srgb,var(--c) 45%,#000)}
@media (max-width:720px){
  .fq-pills{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;margin-left:-16px;margin-right:-16px;padding:2px 16px 6px;scrollbar-width:none}
  .fq-pill{flex:none}
  .fq-q{grid-template-columns:minmax(0,1fr) 36px;grid-template-areas:"n x" "q x";row-gap:6px!important;padding:20px 0!important}
  .fq-n{grid-area:n}.fq-q h3{grid-area:q;font-size:18px!important}.fq-k{display:none}.fq-x{grid-area:x;width:34px;height:34px}
  .fq-a{padding:0 0 26px}
  .fq-more{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){.fq::details-content{transition:none}.fq[open] .fq-a p{animation:none}}

/* IA native : titre plus lisible */
.ai-left .fxp-head,.ai-left .fxp-head > div{align-items:stretch!important;text-align:left!important}
.factory-more .ai-h{font-size:clamp(34px,calc(3.4 * 1vw / var(--z,1)),52px)!important;line-height:1.08!important;letter-spacing:-.045em!important;max-width:560px}
.ai-h span{display:block!important;color:var(--ink)}
.ai-h .l2{color:var(--ink-3)!important;margin-top:4px}
.ai-h em{font-style:normal;color:#9BE8D4;text-shadow:0 0 28px rgba(155,232,212,.35)}
[data-theme="light"] .ai-h em{color:#138F7A;text-shadow:none}

/* IA native : section libre (sans épinglage), 8 cas lisibles d'un coup */
#ia .ai-free{padding-top:var(--G,120px)}
#ia .ai-top{margin-bottom:clamp(36px,calc(6 * 1vh / var(--z,1)),56px)!important}
#ia .ai-top .lead{display:block!important;font-size:16.5px;max-width:520px}
#ia .ai-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:clamp(28px,calc(4 * 1vw / var(--z,1)),56px)!important;align-items:start!important}
#ia .ai-console{order:0;position:sticky;top:110px;min-height:420px}
.ai-cases{display:block!important;margin:0!important;border-top:1px solid rgba(255,255,255,.08)}
.ai-cases li{display:grid!important;grid-template-columns:34px minmax(0,1fr);gap:12px!important;align-items:start!important;padding:11px 14px 11px 10px!important;
  border-bottom:1px solid rgba(255,255,255,.08);border-radius:0;cursor:pointer;position:relative;transition:background .3s;color:var(--ink-2)!important}
.ai-cases li::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:2px;background:var(--c);box-shadow:0 0 12px var(--c);transform:scaleY(0);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.ai-cases li b{padding-top:3px;font-family:var(--f-mono);font-size:11.5px;font-weight:500;color:var(--ink-3);transition:color .3s}
.ai-cases li strong{display:block;font-size:16px;font-weight:600;letter-spacing:-.015em;color:var(--ink);margin-bottom:3px}
.ai-cases li span{display:block;font-size:14px;line-height:1.45;color:var(--ink-2)}
.ai-cases li:hover,.ai-cases li:focus-visible{background:rgba(255,255,255,.03);outline:none}
.ai-cases li.on{background:linear-gradient(90deg,color-mix(in srgb,var(--c) 12%,transparent),transparent 75%)}
.ai-cases li.on::before{transform:scaleY(1)}
.ai-cases li.on b{color:var(--c)}
[data-theme="light"] .ai-cases,[data-theme="light"] .ai-cases li{border-color:rgba(14,16,22,.08)}
[data-theme="light"] .ai-cases li.on b{color:color-mix(in srgb,var(--c) 45%,#000)}
@media (max-width:900px){#ia .ai-free{padding-top:70px}#ia .ai-grid{grid-template-columns:1fr!important}#ia .ai-console{position:relative;top:auto;min-height:0}.ai-cases{display:block!important}}

/* Lisibilité du hero : voile doux derrière le texte, les formes passent en retrait */
.hero-copy{position:relative;isolation:isolate}
.hero-copy::before{content:"";position:absolute;left:50%;top:50%;width:min(1500px,calc(128 * 1vw / var(--z,1)));height:150%;translate:-50% -50%;z-index:-1;pointer-events:none;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--bg) 92%,transparent) 0%,color-mix(in srgb,var(--bg) 84%,transparent) 45%,color-mix(in srgb,var(--bg) 45%,transparent) 75%,transparent 100%)}
.hero h1,.hero .lead{text-shadow:0 2px 24px color-mix(in srgb,var(--bg) 70%,transparent)}
.hero .lead{color:var(--ink-2)}
.hero h1 .grad,.hero h1 .grad > i{text-shadow:none}
.hero h1 .grad{filter:drop-shadow(0 2px 18px color-mix(in srgb,var(--bg) 65%,transparent))}
.hero .lead-2{color:color-mix(in srgb,var(--ink-2) 80%,var(--ink-3))!important}

/* =========================================================
   izy Studio développé : Studio en action + sections
   ========================================================= */
.w-studio{padding-bottom:20px}
/* --- Visuel : mini Studio --- */
.st-app{perspective:1400px}
.st-app > *{position:absolute}
.sa-win{left:0;top:30px;width:86%;height:340px;border-radius:20px;background:linear-gradient(180deg,rgba(22,24,16,.92),rgba(10,11,8,.94));border:1px solid rgba(255,255,255,.1);box-shadow:0 50px 90px -30px rgba(0,0,0,.95),0 0 0 .5px rgba(255,255,255,.04);overflow:hidden;transform:rotateY(-10deg) rotateX(5deg);transform-origin:60% 50%}
.sa-bar{display:flex;align-items:center;gap:6px;padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.06);font-size:11px;color:var(--ink-3)}
.sa-bar i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.14)}
.sa-bar span{margin-left:10px;font-family:var(--f-mono);font-size:10.5px}
.sa-bar b{margin-left:auto;font-weight:600;font-size:10.5px;color:#0A0A0C;background:var(--oc);padding:4px 10px;border-radius:99px;animation:saPub 9s ease-in-out infinite}
.sa-body{display:grid;grid-template-columns:96px 1fr 112px;height:calc(100% - 37px)}
.sa-pal,.sa-props{padding:12px 10px;display:flex;flex-direction:column;gap:6px;font-size:10.5px;color:var(--ink-2)}
.sa-pal{border-right:1px solid rgba(255,255,255,.06)}
.sa-props{border-left:1px solid rgba(255,255,255,.06)}
.sa-pal p,.sa-props p{font-family:var(--f-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}
.pi{display:flex;align-items:center;gap:7px;padding:5px 6px;border-radius:7px}
.pi u{width:12px;height:12px;border-radius:4px;border:1.2px solid rgba(255,255,255,.3)}
.pi.p4{animation:saPick 9s ease-in-out infinite}
.pi.p6 u{border-color:var(--oc)}
.pr{display:flex;flex-direction:column;gap:2px;padding:6px 7px;border-radius:7px;background:rgba(255,255,255,.04)}
.pr em{font-style:normal;font-size:9px;color:var(--ink-3)}
.pr b{font-weight:500;font-size:10.5px;color:var(--ink)}
.pr:first-of-type b{color:var(--oc)}
.sw{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:10px}
.sw i{width:22px;height:12px;border-radius:99px;background:var(--oc);position:relative}
.sw i::after{content:"";position:absolute;right:2px;top:2px;width:8px;height:8px;border-radius:50%;background:#0A0A0C}
.sa-cv{padding:14px;display:flex;flex-direction:column;gap:9px;background:radial-gradient(circle,rgba(255,255,255,.05) 1px,transparent 1.3px) 0 0/14px 14px}
.cb{border-radius:9px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07)}
.cb-h{height:26px;display:flex;align-items:center;gap:8px;padding:0 10px}
.cb-h i{height:7px;border-radius:4px;background:rgba(255,255,255,.4);width:38%}.cb-h i+i{width:16%;margin-left:auto;background:rgba(255,255,255,.15)}
.cb-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cb-k{height:46px;padding:8px;display:flex;flex-direction:column;gap:6px}
.cb-k b{height:12px;width:50%;border-radius:4px;background:var(--oc)}.cb-k:nth-child(2) b{background:#B7DDF8}.cb-k:nth-child(3) b{background:#F8B597}
.cb-k i{height:5px;width:75%;border-radius:3px;background:rgba(255,255,255,.15)}
.cb-g{height:62px;padding:6px 8px}
.cb-g svg{width:100%;height:100%}
.cb-g path{fill:none;stroke:var(--oc);stroke-width:2;stroke-dasharray:260;stroke-dashoffset:260;animation:saLine 9s ease-in-out infinite;vector-effect:non-scaling-stroke}
.cb-t{height:58px;padding:9px;display:flex;flex-direction:column;gap:7px;border-style:dashed;border-color:color-mix(in srgb,var(--oc) 55%,transparent);background:color-mix(in srgb,var(--oc) 6%,transparent);animation:saDrop 9s ease-in-out infinite}
.cb-t i{height:6px;border-radius:3px;background:rgba(255,255,255,.18)}.cb-t i:nth-child(2){width:86%}.cb-t i:nth-child(3){width:64%}
.sa-ghost{position:absolute;left:22px;top:150px;padding:6px 12px;border-radius:8px;font-size:10.5px;font-weight:500;color:#0A0A0C;background:var(--oc);box-shadow:0 14px 30px -10px var(--oc);opacity:0;animation:saDrag 9s cubic-bezier(.6,0,.3,1) infinite}
.sa-ai{left:9%;bottom:28px;display:flex;align-items:center;gap:10px;padding:11px 16px 11px 13px;border-radius:16px;font-size:12.5px;color:var(--ink);background:rgba(16,18,12,.82);border:1px solid color-mix(in srgb,var(--oc) 40%,transparent);box-shadow:0 24px 50px -18px rgba(0,0,0,.9),0 0 34px -14px var(--oc);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:fxBob 6s ease-in-out infinite;--bob:-8px}
.sa-ai .sp{color:var(--oc);font-size:14px}
.sa-ai .tx{display:inline-block;overflow:hidden;white-space:nowrap;max-width:0;animation:saType 9s steps(40,end) infinite}
.sa-ai .car{width:1.5px;height:15px;background:var(--oc);animation:blinkC 1s steps(1) infinite}
.sa-phone{right:-3%;top:150px;width:118px;height:236px;border-radius:24px;padding:22px 9px 9px;display:flex;flex-direction:column;gap:7px;background:#0C0D09;border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 70px -24px rgba(0,0,0,.95),inset 0 0 0 3px rgba(255,255,255,.03);animation:fxBob 5s ease-in-out -1s infinite;--bob:-14px}
.sa-phone .nt{position:absolute;top:8px;left:50%;translate:-50% 0;width:34px;height:8px;border-radius:99px;background:rgba(255,255,255,.1)}
.sa-phone span{border-radius:7px;background:rgba(255,255,255,.06)}
.ph-h{height:16px}.ph-k{height:26px;position:relative}.ph-k::before{content:"";position:absolute;left:7px;top:8px;width:34%;height:9px;border-radius:3px;background:var(--oc)}
.ph-k + .ph-k::before{background:#B7DDF8}
.ph-g{height:44px}.ph-r{height:20px;border:1px dashed color-mix(in srgb,var(--oc) 50%,transparent);background:color-mix(in srgb,var(--oc) 6%,transparent)!important;animation:saDrop 9s ease-in-out infinite}
@keyframes blinkC{50%{opacity:0}}
@keyframes saPick{0%,8%,30%,100%{background:transparent;color:var(--ink-2)}12%,26%{background:color-mix(in srgb,var(--oc) 16%,transparent);color:var(--oc)}}
@keyframes saDrag{0%,10%{opacity:0;transform:translate(0,0) scale(.9)}14%{opacity:1;transform:translate(0,0) scale(1)}30%{opacity:1;transform:translate(130px,92px) scale(1)}34%,100%{opacity:0;transform:translate(130px,92px) scale(.9)}}
@keyframes saDrop{0%,30%{opacity:0;transform:scale(.96)}36%,92%{opacity:1;transform:none}100%{opacity:0}}
@keyframes saLine{0%,6%{stroke-dashoffset:260}24%,92%{stroke-dashoffset:0}100%{stroke-dashoffset:0;opacity:0}}
@keyframes saType{0%,40%{max-width:0}62%,90%{max-width:300px}100%{max-width:0}}
@keyframes saPub{0%,84%,100%{box-shadow:0 0 0 0 transparent}88%{box-shadow:0 0 0 6px color-mix(in srgb,var(--oc) 30%,transparent)}}
@media (max-width:1024px){.st-app{height:420px}.sa-win{width:86%}}
@media (max-width:720px){.st-app .sa-ai{bottom:4px;left:4%}.sa-phone{right:-10%}}

/* --- Étapes enrichies --- */
.st-steps li{display:flex;flex-direction:column;gap:14px}
.st-steps li small{display:block;font-size:15px;font-weight:400;letter-spacing:0;line-height:1.55;color:var(--ink-2)}

/* --- Sections --- */
.w-studio .st-sec{padding:0;margin-top:130px}
.st-head{max-width:760px;margin-bottom:44px}
.st-kick{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--oc);margin-bottom:16px}
.st-kick i{width:7px;height:7px;border-radius:50%;background:var(--oc);box-shadow:0 0 0 0 var(--oc);animation:stPulse 2.4s ease-out infinite}
@keyframes stPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--oc) 60%,transparent)}100%{box-shadow:0 0 0 12px transparent}}
.st-h{font-size:clamp(34px,calc(4.4 * 1vw / var(--z,1)),60px);font-weight:600;letter-spacing:-.05em;line-height:1}
.st-h span{display:block;color:var(--ink-3)}
.st-p{font-size:17px;line-height:1.6;color:var(--ink-2);margin-top:20px;max-width:520px}
.st-tile,.st-card,.st-split,.st-early,.st-faq details{background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.02));box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),inset 0 0 0 .5px rgba(255,255,255,.06);border-radius:28px}
/* Apparition au défilement (propre au monde Studio) */
.js .w-studio .st-rv{opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform 1s cubic-bezier(.16,1,.3,1)}
.js .w-studio .st-rv.in{opacity:1;transform:none}
.st-bento .st-rv:nth-child(2),.st-who .st-rv:nth-child(2){transition-delay:.08s}.st-bento .st-rv:nth-child(3){transition-delay:.16s}
.st-bento .st-rv:nth-child(5){transition-delay:.08s}.st-bento .st-rv:nth-child(6){transition-delay:.16s}
/* Bento */
.st-bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.st-tile{position:relative;padding:28px 28px 0;min-height:300px;display:flex;flex-direction:column;overflow:hidden}
.st-tile.t-edit,.st-tile.t-ai,.st-tile.t-sec{grid-column:span 2}
.st-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--oc);background:color-mix(in srgb,var(--oc) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--oc) 30%,transparent);margin-bottom:20px}
.st-ico svg{width:20px;height:20px}
.st-tile h5{font-size:22px;font-weight:600;letter-spacing:-.03em}
.st-tile p{font-size:15px;line-height:1.55;color:var(--ink-2);margin-top:8px;max-width:440px}
.st-tile > div:last-child{margin-top:auto}
.st-tile p{margin-bottom:22px}
.st-tile:hover .st-ico{box-shadow:inset 0 0 0 1px var(--oc),0 0 24px -6px var(--oc)}
.tv-edit{position:relative;height:110px;margin:0 -28px;border-top:1px solid rgba(255,255,255,.06);background:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1.3px) 0 0/16px 16px}
.tv-edit span{position:absolute;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09)}
.tv-edit .d1{left:28px;top:18px;width:30%;height:22px}.tv-edit .d2{left:28px;top:50px;width:18%;height:44px}.tv-edit .d3{left:calc(18% + 38px);top:50px;width:30%;height:44px;border-color:var(--oc);background:color-mix(in srgb,var(--oc) 12%,transparent);animation:tvSnap 5s cubic-bezier(.16,1,.3,1) infinite}
.tv-edit .d4{right:28px;top:18px;width:32%;height:76px}
.tv-edit .cur{position:absolute;left:calc(48% + 30px);top:78px;width:14px;height:14px;border-left:2px solid #fff;border-top:2px solid #fff;transform:rotate(-12deg) skew(8deg);animation:tvSnap 5s cubic-bezier(.16,1,.3,1) infinite}
@keyframes tvSnap{0%,15%{transform:translate(90px,-30px);opacity:.3}45%,85%{transform:none;opacity:1}100%{opacity:.3}}
.tv-data{display:flex;align-items:center;gap:6px;margin:0 0 28px;flex-wrap:wrap}
.tv-data b{font-family:var(--f-mono);font-size:11px;font-weight:500;padding:6px 9px;border-radius:8px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.tv-data b:first-child{color:var(--oc);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--oc) 45%,transparent)}
.tv-data i{width:16px;height:1.5px;background:linear-gradient(90deg,var(--oc),rgba(255,255,255,.2))}
.tv-flow{display:flex;flex-direction:column;gap:8px;margin:0 0 28px}
.tv-flow span{position:relative;font-size:12.5px;padding:8px 12px 8px 30px;border-radius:10px;background:rgba(255,255,255,.05);color:var(--ink-2)}
.tv-flow span::before{content:"";position:absolute;left:12px;top:50%;translate:0 -50%;width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3)}
.tv-flow span{animation:tvStep 4.5s ease-in-out infinite}.tv-flow span:nth-child(2){animation-delay:1.5s}.tv-flow span:nth-child(3){animation-delay:3s}
@keyframes tvStep{0%,10%,40%,100%{color:var(--ink-2);background:rgba(255,255,255,.05)}15%,35%{color:var(--ink);background:color-mix(in srgb,var(--oc) 13%,transparent)}}
.tv-flow span:nth-child(1)::before{background:var(--oc);border-color:var(--oc)}
.tv-ai{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0 0 28px}
.tv-ai .q{align-self:flex-end;font-size:13px;padding:10px 14px;border-radius:16px 16px 4px 16px;background:rgba(255,255,255,.08)}
.tv-ai .r{display:flex;gap:5px;padding:12px 14px;border-radius:16px 16px 16px 4px;background:color-mix(in srgb,var(--oc) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--oc) 30%,transparent)}
.tv-ai .r i{width:6px;height:6px;border-radius:50%;background:var(--oc);animation:tvDot 1.2s ease-in-out infinite}.tv-ai .r i:nth-child(2){animation-delay:.15s}.tv-ai .r i:nth-child(3){animation-delay:.3s}
@keyframes tvDot{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.tv-lib{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 0 28px}
.tv-lib i{aspect-ratio:1.4;border-radius:9px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);animation:tvLib 6s ease-in-out infinite}
.tv-lib i:nth-child(3n+2){animation-delay:-2s}.tv-lib i:nth-child(3n){animation-delay:-4s}
@keyframes tvLib{0%,70%,100%{background:rgba(255,255,255,.05)}80%,90%{background:color-mix(in srgb,var(--oc) 22%,transparent)}}
.tv-sec{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 28px}
.tv-sec span{font-size:12px;padding:6px 11px;border-radius:99px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);color:var(--ink-2)}
.tv-sec span:first-child{color:#0A0A0C;background:var(--oc);box-shadow:none}
/* Pour qui */
.st-who{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.st-card{padding:36px}
.st-tag{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.st-card h5,.st-split h5{font-size:clamp(24px,calc(2.4 * 1vw / var(--z,1)),32px);font-weight:600;letter-spacing:-.04em;line-height:1.1;margin:14px 0 22px}
.st-card ul,.st-split ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.st-card li,.st-split li{position:relative;padding-left:28px;font-size:16px;line-height:1.5;color:var(--ink-2)}
.st-card li::before,.st-split li::before{content:"";position:absolute;left:0;top:.3em;width:16px;height:16px;border-radius:50%;background:color-mix(in srgb,var(--oc) 16%,transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23E2F38E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
/* Partage des rôles */
.st-split{display:grid;grid-template-columns:1fr auto 1fr;gap:40px;align-items:start;padding:44px}
.st-plus{align-self:center}
.st-split > div:last-child li::before{background-color:color-mix(in srgb,var(--oc) 30%,transparent)}
.st-plus{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:28px;font-weight:300;color:#0A0A0C;background:var(--oc);box-shadow:0 0 50px -8px var(--oc)}
/* Accès anticipé */
.st-early{position:relative;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:56px;
  background:radial-gradient(80% 120% at 100% 0%,color-mix(in srgb,var(--oc) 18%,transparent),transparent 60%),linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02))}
.st-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:32px}
.st-ghost{font:inherit;font-size:14px;color:var(--ink-2);background:none;border:0;cursor:pointer;padding:12px 4px}
.st-ghost b{color:var(--ink);font-weight:600}.st-ghost b em{font-style:normal;font-weight:400;color:#BBA8F8}
.st-ghost:hover b{text-decoration:underline;text-underline-offset:4px}
.st-perks{list-style:none;display:flex;flex-direction:column;gap:10px}
.st-perks li{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:18px;background:rgba(0,0,0,.25);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);font-size:16px;font-weight:500;letter-spacing:-.01em}
.st-perks b{font-family:var(--f-mono);font-size:12px;font-weight:500;color:var(--oc)}
/* FAQ */
.st-faq-sec{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.st-faq-sec .st-head{position:sticky;top:110px}
.st-faq{display:flex;flex-direction:column;gap:10px}
.st-faq details{border-radius:20px;padding:0 26px}
.st-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:18px;font-weight:500;letter-spacing:-.02em}
.st-faq summary::-webkit-details-marker{display:none}
.st-faq summary::after{content:"+";flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:18px;color:var(--oc);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--oc) 40%,transparent);transition:transform .3s}
.st-faq details[open] summary::after{transform:rotate(45deg)}
.st-faq details p{padding:0 50px 24px 0;font-size:16px;line-height:1.6;color:var(--ink-2)}
.st-faq summary:focus-visible{outline:2px solid var(--oc);outline-offset:4px;border-radius:8px}
/* Responsive */
@media (max-width:1024px){
  .st-bento{grid-template-columns:1fr 1fr}
  .st-tile.t-edit,.st-tile.t-ai{grid-column:span 2}
  .st-early{grid-template-columns:1fr;padding:40px}
  .st-tile.t-sec{grid-column:auto}
  .st-faq-sec{grid-template-columns:1fr;gap:0}.st-faq-sec .st-head{position:static}
}
@media (max-width:720px){
  .w-studio .st-sec{margin-top:90px}
  .st-bento,.st-who{grid-template-columns:1fr}
  .st-tile.t-edit,.st-tile.t-ai,.st-tile.t-sec{grid-column:auto}
  .st-tile{padding:24px 22px 0;min-height:0}.tv-edit{margin:22px -22px 0}
  .st-card{padding:26px}
  .st-split{grid-template-columns:1fr;padding:28px;gap:24px}
  .st-plus{width:44px;height:44px;font-size:22px}
  .st-early{padding:28px 22px;gap:28px}
  .st-faq details{padding:0 18px}.st-faq summary{font-size:16px}.st-faq details p{padding-right:0}
}
@media (prefers-reduced-motion:reduce){
  .w-studio *,.w-studio *::before,.w-studio *::after{animation:none!important}
  .js .w-studio .st-rv{opacity:1;transform:none;transition:none}
  .cb-t,.ph-r{opacity:1}.cb-g path{stroke-dashoffset:0}.sa-ai .tx{max-width:300px}
}
.w-prod .w-logo{display:flex;align-items:center;height:46px;margin-bottom:8px}
.w-prod .w-logo img{height:38px;width:auto;display:block}
@media (max-width:720px){.w-prod .w-logo img{height:32px}}

/* izy Studio : espaces resserrés + animations légères */
.w-studio{padding-top:36px}
.w-studio .w-hero{min-height:0;padding:0}
.w-studio .st-steps{margin-top:56px}
.w-studio .st-sec{margin-top:84px}
.w-studio .st-head{margin-bottom:32px}
@media (max-width:720px){.w-studio .st-sec{margin-top:64px}.w-studio .st-steps{margin-top:36px}}
/* listes : apparition en cascade */
.w-studio .st-rv li{opacity:0;transform:translateX(-10px);transition:opacity .6s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.w-studio .st-rv.in li{opacity:1;transform:none}
.w-studio .st-rv.in li:nth-child(2){transition-delay:.1s}.w-studio .st-rv.in li:nth-child(3){transition-delay:.2s}.w-studio .st-rv.in li:nth-child(4){transition-delay:.3s}
/* Pour qui : un composant réutilisé chez 3 clients */
.tv-reuse,.tv-sync{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:8px}
.tv-reuse .src{font-family:var(--f-mono);font-size:11px;padding:7px 10px;border-radius:9px;color:#0A0A0C;background:var(--oc);box-shadow:0 0 22px -6px var(--oc)}
.tv-reuse .ln{flex:0 0 26px;height:1.5px;background:linear-gradient(90deg,var(--oc),transparent);background-size:200% 100%;animation:lnFlow 1.6s linear infinite}
@keyframes lnFlow{from{background-position:100% 0}to{background-position:-100% 0}}
.tv-reuse .cl{flex:1;display:flex;flex-direction:column;gap:7px;padding:9px 10px;border-radius:11px;font-size:11px;color:var(--ink-3);background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.tv-reuse .cl b{height:12px;border-radius:4px;background:color-mix(in srgb,var(--oc) 70%,transparent);transform-origin:0 50%;animation:clFill 4.5s cubic-bezier(.16,1,.3,1) infinite}
.tv-reuse .cl:nth-of-type(3) b{animation-delay:.5s}.tv-reuse .cl:nth-of-type(4) b{animation-delay:1s}
@keyframes clFill{0%,8%{transform:scaleX(0);opacity:0}22%,85%{transform:none;opacity:1}100%{opacity:0}}
/* Pour qui : web et mobile synchronisés */
.tv-sync{justify-content:center;gap:16px}
.tv-sync .dk,.tv-sync .mb{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:10px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}
.tv-sync .dk{width:150px;height:76px}.tv-sync .mb{width:46px;height:76px;border-radius:12px;padding:10px 7px}
.tv-sync i{height:6px;width:40%;border-radius:3px;background:rgba(255,255,255,.25)}
.tv-sync span{height:9px;border-radius:3px;background:rgba(255,255,255,.07);position:relative;overflow:hidden}
.tv-sync span::after{content:"";position:absolute;inset:0;background:var(--oc);transform-origin:0 50%;animation:syncFill 3.6s cubic-bezier(.65,0,.35,1) infinite}
.tv-sync span + span::after{background:#B7DDF8;animation-delay:.3s}
@keyframes syncFill{0%,10%{transform:scaleX(0)}45%,85%{transform:none}100%{transform:none;opacity:0}}
.tv-sync em{width:9px;height:9px;border-radius:50%;background:var(--oc);animation:stPulse 1.8s ease-out infinite}
/* Partage des rôles : le Studio coche ses tâches une à une, le + tourne */
.st-split > div:last-child li::before{animation:tick 6s ease-in-out infinite}
.st-split > div:last-child li:nth-child(2)::before{animation-delay:.5s}.st-split > div:last-child li:nth-child(3)::before{animation-delay:1s}.st-split > div:last-child li:nth-child(4)::before{animation-delay:1.5s}
@keyframes tick{0%,4%{transform:scale(.4);opacity:.2}10%{transform:scale(1.2);opacity:1}14%,88%{transform:none;opacity:1}100%{opacity:.2;transform:scale(.4)}}
.st-plus{position:relative}
.st-plus::before{content:"";position:absolute;inset:-9px;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--oc) 55%,transparent);animation:stPlusSpin 14s linear infinite}
@keyframes stPlusSpin{to{transform:rotate(360deg)}}
/* Accès anticipé : les avantages s'allument tour à tour */
.st-perks li{transition:none;animation:perk 7.5s ease-in-out infinite}
.st-perks li:nth-child(2){animation-delay:2.5s}.st-perks li:nth-child(3){animation-delay:5s}
@keyframes perk{0%,36%,100%{background:rgba(0,0,0,.25);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}6%,30%{background:color-mix(in srgb,var(--oc) 10%,rgba(0,0,0,.25));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--oc) 40%,transparent),0 0 30px -12px var(--oc)}}
@media (prefers-reduced-motion:reduce){.w-studio .st-rv li{opacity:1;transform:none;transition:none}.tv-reuse .cl b,.tv-sync span::after{transform:none;opacity:1}}

/* Pour qui : section resserrée */
.w-studio .st-sec.st-who-sec{margin-top:60px}
.st-who-sec .st-head{margin-bottom:24px}
.st-who-sec .st-kick{margin-bottom:10px}
.st-who-sec .st-h{font-size:clamp(30px,calc(3.6 * 1vw / var(--z,1)),48px)}
.st-who .st-card{padding:26px 28px 24px}
.st-who .st-card h5{margin:10px 0 16px}
.st-who .st-card ul{gap:8px}
.st-who .tv-reuse,.st-who .tv-sync{margin-top:18px;padding-top:16px}
.st-who .tv-sync .dk,.st-who .tv-sync .mb{height:62px}
@media (max-width:720px){.w-studio .st-sec.st-who-sec{margin-top:48px}.st-who .st-card{padding:22px 20px}}

/* Pour qui : visuels figés (barres animées retirées à la demande) */
.tv-reuse .ln,.tv-reuse .cl b,.tv-sync span::after,.tv-sync em{animation:none!important}
.tv-reuse .cl b,.tv-sync span::after{transform:none;opacity:1}
.tv-sync span + span::after{transform:scaleX(.7)!important}

/* Pastille izy Studio, calquée sur celle de Factory (reste sombre en mode clair) */
.fx-pill.st-pill{margin:0}
.fx-pill.st-pill i{animation:stPulse 2.4s ease-out infinite}
[data-theme="light"] .fx-pill.st-pill{background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03));box-shadow:inset 1px 1px 0 rgba(255,255,255,.18),inset 0 0 0 .5px rgba(255,255,255,.08)}
[data-theme="light"] .fx-pill.st-pill b{border-color:rgba(255,255,255,.15)}

/* ===== izy Studio : texte à gauche, Studio animé à droite ===== */
.w-studio .w-hero{grid-template-columns:1.1fr .9fr!important;gap:40px;align-items:center;padding-top:100px}
.w-studio .w-copy{display:flex;flex-direction:column;align-items:flex-start}
.w-studio .w-title{margin:26px 0 22px}
.w-studio .w-lead{margin:0 0 30px}
.w-studio .st-app{height:460px}
@media (max-width:1024px){.w-studio .w-hero{grid-template-columns:1fr!important}.w-studio .st-app{height:420px;order:0}}
@media (max-width:720px){.w-studio .w-hero{gap:24px;padding-top:10px}.w-studio .st-app{height:300px}}
/* ===== izy Studio : étapes en arrêt (même mécanique que Factory) ===== */
.st-steps-pin{height:calc(200 * 1vh / var(--z,1));margin-top:10px}
.st-fx li p{font-size:clamp(30px,calc(4.2 * 1vw / var(--z,1)),60px)!important}
.st-fx li small{display:block;max-width:620px;font-size:clamp(16px,calc(1.4 * 1vw / var(--z,1)),19px);font-weight:400;letter-spacing:0;line-height:1.55;color:var(--ink-2)}
.st-fx{height:420px!important}
@media (max-width:900px){.st-steps-pin{height:auto}.st-fx{height:auto!important}}
@media (max-width:720px){.w-studio .w-hero{gap:24px;padding-top:10px}.w-studio .st-app{height:300px}}

/* ===== izy Factory : petits arrêts rendus statiques (on garde étapes, cylindre, mur des briques) ===== */
.factory-more .cv-pin{height:auto}.factory-more .cv-in{position:static;height:auto;display:block;padding:70px 0}
.factory-more .ap-pin{height:auto}.factory-more .ap-in{position:static;height:auto;display:block;padding:70px 16px}
.factory-more .ap-ch{opacity:1!important;transform:none!important;filter:none!important;margin:0 auto 70px}.factory-more .ap-prog{display:none}
.factory-more .ap2-pin:not(.mf-pin):not(.ia-after > .ap2-pin){height:auto}.factory-more .ap2-pin:not(.mf-pin):not(.ia-after > .ap2-pin) .ap2-stk{position:static;height:auto;padding:60px 24px}
.factory-more .ap2-pin:not(.mf-pin):not(.ia-after > .ap2-pin) .ap2-f{--f:1!important}.factory-more .ap2-pin:not(.mf-pin):not(.ia-after > .ap2-pin):not(.ia-after > .ap2-pin) [data-at],.factory-more .ap2-pin:not(.mf-pin):not(.ia-after > .ap2-pin) [data-at]{opacity:1!important}
.factory-more .xr-pin{height:auto}.factory-more .xr-stk{position:static;height:auto;padding-top:0}.factory-more .xr-pin .xr-k,.factory-more .xr-pin .xr-b{opacity:1!important}
.factory-more .n90-pin{height:auto}.factory-more .n90-stk{position:static;height:auto;padding:60px 24px}
.factory-more .n90-f{--f:1!important}.factory-more .n90-pin [data-at]{opacity:1!important;transform:none!important}
.factory-more .mt-pin{height:auto}.factory-more .mt-stk{position:static;height:auto}.factory-more .mt-stage{height:auto}.factory-more .mt-pane{position:relative;opacity:1!important;transform:none!important;margin-top:30px}.factory-more .mt-line{display:none}
/* 07 · Wappizy en chiffres (plongée Factory) : grille de 8 cartes, compteurs à l'apparition */
.factory-more .pv-pin{height:auto}.factory-more .pv-stk{position:static;height:auto;padding:0;overflow:visible}
.factory-more .pv-foot{display:none!important}
.factory-more .pv-vp{max-width:1200px;margin:56px auto 0;padding:0 24px}
.factory-more .pv-track{width:auto!important;padding:0!important;transform:none!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.factory-more .pv-it{position:relative;width:auto!important;opacity:1!important;border:0!important;padding:26px 24px 26px!important;border-radius:24px;overflow:hidden;
  background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),inset 0 0 0 .5px rgba(255,255,255,.06);
  transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .4s}
.factory-more .pv-it::before{content:"";position:absolute;left:24px;right:24px;top:0;height:2px;border-radius:2px;background:var(--c);box-shadow:0 0 14px var(--c);opacity:.85}
.factory-more .pv-it::after{content:"";position:absolute;right:-40px;bottom:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 22%,transparent),transparent 70%);pointer-events:none}
.factory-more .pv-it:hover{transform:translateY(-4px);box-shadow:inset 1px 1px 0 rgba(255,255,255,.2),0 24px 50px -28px var(--c)}
.factory-more .pv-it:nth-child(1),.factory-more .pv-it:nth-child(6),.factory-more .pv-it:nth-child(7),.factory-more .pv-it:nth-child(8){grid-column:span 2}
.factory-more .pv-n{font-size:clamp(46px,calc(4.6 * 1vw / var(--z,1)),72px)!important;margin-top:14px;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.factory-more .pv-it:nth-child(1) .pv-n,.factory-more .pv-it:nth-child(6) .pv-n{font-size:clamp(64px,calc(7 * 1vw / var(--z,1)),104px)!important}
.factory-more .pv-p{margin-top:12px!important;font-size:15px!important;max-width:300px}
.js .factory-more .pv-it{opacity:0!important;transform:translateY(28px)}
.js .factory-more .pv-it.vis{opacity:1!important;transform:none;transition:opacity .7s ease,transform .9s cubic-bezier(.16,1,.3,1),box-shadow .4s}
.js .factory-more .pv-it.vis:hover{transform:translateY(-4px)}
@media (max-width:1024px){.factory-more .pv-track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.factory-more .pv-track{grid-template-columns:1fr}.factory-more .pv-it:nth-child(n){grid-column:auto}.factory-more .pv-vp{padding:0 16px;margin-top:36px}}
@media (prefers-reduced-motion:reduce){.js .factory-more .pv-it{opacity:1!important;transform:none}}

/* ===== izy Factory : haut de page en deux colonnes (titre à gauche, animation à droite, comme izy Studio) ===== */
.w-factory .fx-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center;text-align:left;max-width:1240px;padding-top:70px}
.w-factory .fx-copy{display:flex;flex-direction:column;align-items:flex-start}
.w-factory .fx-title{font-size:clamp(42px,calc(5.2 * 1vw / var(--z,1)),78px);margin:28px 0 24px}
.w-factory .fx-lead{max-width:540px}
.w-factory .fx-actions{justify-content:flex-start}
.w-factory .fx-stage{margin-top:0;width:100%}
.w-factory .fx-stage .fac-visual{height:460px}
.w-factory .fx-kpis{grid-column:1/-1;width:100%;margin-top:20px!important}
@media (max-width:1024px){.w-factory .fx-hero{grid-template-columns:minmax(0,1fr);gap:40px}.w-factory .fx-stage .fac-visual{height:400px}}
@media (max-width:720px){.w-factory .fx-hero{padding-top:40px}.w-factory .fx-stage .fac-visual{height:320px;width:100%}.w-factory .fx-stage .fv-phone{width:96px;height:190px;right:6%;bottom:24px;padding:18px 9px}.w-factory .fx-stage .fv-phone span{height:24px}.w-factory .fx-stage .fv-a{height:210px;width:64%}.w-factory .fx-stage .fv-b{height:120px}}

/* Solutions izy : visuel du haut retiré, texte seul */
.w-solutions .w-hero{grid-template-columns:1fr!important;min-height:0;padding:40px 0 30px}
.w-solutions .w-copy{max-width:820px}

/* izy Factory : haut de page calé sur izy Studio (même largeur, même marge sous le menu) */
@media (min-width:1025px){.w-factory .fx-hero{max-width:1200px;padding-top:136px}}

/* Méthode (Factory) en version statique : frise de 4 cartes au lieu des chiffres géants empilés */
.factory-more .mt-stk{padding:0}
.factory-more .mt-stage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:44px;counter-reset:none}
.factory-more .mt-pane{position:relative;inset:auto;margin:0!important;display:flex!important;flex-direction:column;gap:16px;padding:28px 24px 30px;border-radius:26px;filter:none!important;
  background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),inset 0 0 0 .5px rgba(255,255,255,.06);overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .4s}
.factory-more .mt-pane::before{content:"";position:absolute;left:24px;right:24px;top:0;height:2px;border-radius:2px;background:var(--c);box-shadow:0 0 14px var(--c);opacity:.85}
.factory-more .mt-pane:hover{transform:translateY(-4px)!important;box-shadow:inset 1px 1px 0 rgba(255,255,255,.2),0 24px 50px -28px var(--c)}
.factory-more .mt-num{font-size:56px!important;line-height:.9;letter-spacing:-.05em;text-align:left;align-self:flex-start;width:auto}
.factory-more .mt-t{font-size:22px!important;letter-spacing:-.03em;line-height:1.15}
.factory-more .mt-p{margin-top:10px;font-size:15px;line-height:1.55}
[data-theme="light"] .factory-more .mt-pane{background:rgba(255,255,255,.7);box-shadow:inset 1px 1px 0 #fff,0 20px 40px -30px rgba(30,30,60,.25)}
@media (max-width:1024px){.factory-more .mt-stage{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.factory-more .mt-stage{grid-template-columns:1fr}}

/* izy Factory : visuel du haut réduit (environ 80 %) */
@media (min-width:1025px){.w-factory .fx-stage{zoom:.7;width:580px;max-width:100%;justify-self:center}}

/* ===== Solutions izy : petite illustration à droite du titre ===== */
.w-solutions .w-hero{grid-template-columns:1.1fr .9fr!important;gap:40px;align-items:center;padding:100px 0 30px}
.so-illu{position:relative;width:min(420px,100%);height:330px;justify-self:center}
.so-illu > *{position:absolute}
.si-card{border-radius:20px;background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.025));box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),inset 0 0 0 .5px rgba(255,255,255,.07),0 30px 60px -30px rgba(0,0,0,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.si-campus{left:0;top:18px;width:78%;padding:18px 18px 20px;display:flex;flex-direction:column;gap:13px;animation:fxBob 7s ease-in-out infinite;--bob:-6px}
.si-head{display:flex;align-items:center;gap:9px;font-size:13px;margin-bottom:2px}
.si-logo{width:26px;height:26px;border-radius:8px;background:#0C0A11;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.si-logo svg{width:18px;height:18px}
.si-head b{font-weight:600}.si-head em{margin-left:auto;font-style:normal;font-family:var(--f-mono);font-size:10.5px;color:var(--ink-3)}
.si-row{display:grid;grid-template-columns:24px 1fr 38px;align-items:center;gap:10px}
.si-row .av{width:24px;height:24px;border-radius:50%}
.av.a1{background:linear-gradient(135deg,#BBA8F8,#9BE8D4)}.av.a2{background:linear-gradient(135deg,#F8B597,#E2F38E)}.av.a3{background:linear-gradient(135deg,#B7DDF8,#BBA8F8)}
.si-row span{display:flex;flex-direction:column;gap:6px}
.si-row span b{height:6px;width:62%;border-radius:3px;background:rgba(255,255,255,.22)}
.si-row span u{display:block;height:5px;border-radius:3px;background:rgba(255,255,255,.08);position:relative;overflow:hidden}
.si-row span u::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--p);border-radius:3px;background:var(--oc)}
.si-row small{font-family:var(--f-mono);font-size:10.5px;color:var(--ink-3);text-align:right}
.si-skills{right:0;bottom:4px;width:58%;padding:16px 16px 14px;animation:fxBob 6s ease-in-out -2s infinite;--bob:-10px;background:linear-gradient(160deg,rgba(30,40,38,.92),rgba(14,20,19,.92))}
.si-skills p{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.si-chips{display:flex;flex-wrap:wrap;gap:6px}
.si-chips span{font-size:11px;padding:5px 9px;border-radius:99px;color:var(--ink-2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.si-chips span.on{color:#071210;background:var(--oc);box-shadow:none}
.si-sug{display:flex;align-items:center;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07);font-size:11.5px;color:var(--ink)}
.si-sug i{font-style:normal;color:var(--oc)}
.si-brand{right:4%;top:0;display:flex;align-items:center;gap:5px;padding:7px 12px 7px 9px;border-radius:99px;font-size:11px;color:var(--ink-2);background:rgba(10,18,17,.85);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 14px 30px -14px rgba(0,0,0,.9);animation:fxBob 5s ease-in-out -1s infinite;--bob:-8px}
.si-brand i{width:10px;height:10px;border-radius:50%;background:#9BE8D4}.si-brand i:nth-child(2){background:#BBA8F8}.si-brand i:nth-child(3){background:#F8B597;margin-right:4px}
.world.on .so-illu{animation:visIn 1.2s cubic-bezier(.16,1,.3,1) .3s both}
@media (max-width:1024px){.w-solutions .w-hero{grid-template-columns:1fr!important;padding-top:40px}.so-illu{justify-self:start}}
@media (max-width:720px){.w-solutions .w-hero{padding-top:10px}.so-illu{height:300px}.si-campus{width:86%}.si-skills{width:70%}}
@media (prefers-reduced-motion:reduce){.so-illu *{animation:none!important}}

/* Factory : blocs-phrases (humain dans la boucle, Souverain, manifeste…) bien séparés */
.factory-more .ap2-pin:not(.mf-pin):not(.ia-after > .ap2-pin) .ap2-stk{padding:150px 24px!important}
.factory-more .ap2-pin:not(.mf-pin):not(.ia-after > .ap2-pin) [data-at]{transform:none!important;translate:none!important}
@media (max-width:720px){.factory-more .ap2-pin:not(.mf-pin):not(.ia-after > .ap2-pin) .ap2-stk{padding:90px 16px!important}}

/* ===== Solutions izy argumentée : reprend les blocs de la page izy Studio ===== */
.w-solutions{padding-bottom:20px}
.w-solutions .so-hero-btn{margin-top:30px}
.w-solutions .st-sec{padding:0;margin-top:84px}
.w-solutions .st-head{margin-bottom:32px}
.w-solutions .st-sec.st-who-sec{margin-top:84px}
.w-solutions .w-perso{margin-top:84px}
.js .w-solutions .st-rv{opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform 1s cubic-bezier(.16,1,.3,1)}
.js .w-solutions .st-rv.in{opacity:1;transform:none}
.w-solutions .st-rv li{opacity:0;transform:translateX(-10px);transition:opacity .6s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.w-solutions .st-rv.in li{opacity:1;transform:none}
.w-solutions .st-rv.in li:nth-child(2){transition-delay:.1s}.w-solutions .st-rv.in li:nth-child(3){transition-delay:.2s}.w-solutions .st-rv.in li:nth-child(4){transition-delay:.3s}
.so-tile{min-height:0;padding-bottom:30px}
.so-tile p{margin-bottom:0}
.so-bento .st-rv:nth-child(4){transition-delay:0s}
.so-proof .st-perks b{min-width:96px}
.so-proof .st-perks b{white-space:nowrap}
@media (max-width:720px){.so-proof .st-perks li{flex-direction:column;align-items:flex-start;gap:4px}}
.so-choice .st-kick{margin-bottom:0}
.so-choice .st-plus{font-size:16px;font-weight:600;letter-spacing:-.01em}
.so-go{margin-top:18px;padding-left:0}
@media (max-width:720px){.w-solutions .st-sec,.w-solutions .st-sec.st-who-sec,.w-solutions .w-perso{margin-top:64px}.so-proof .st-perks b{min-width:0}}
@media (prefers-reduced-motion:reduce){.js .w-solutions .st-rv,.w-solutions .st-rv li{opacity:1;transform:none;transition:none}}
/* ===== Solutions izy : animations façon izy Factory ===== */
.dive.o-solutions.settled .dv-bub{opacity:1}
.w-solutions .w-products,.w-solutions .w-hero{position:relative;z-index:1}
.so-steps-pin{margin-top:40px}
/* tuiles : on retrouve les visuels animés de Studio */
.so-tile{min-height:300px;padding-bottom:0}
.so-tile p{margin-bottom:22px}
.so-tile > div:last-child{margin-top:auto}
.so-tile .tv-sync{margin:0 -28px;padding:20px 0 24px}
.so-tile:hover{transform:translateY(-4px)}
.st-tile.so-tile{transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s}
.st-tile.so-tile:hover{box-shadow:inset 1px 1px 0 rgba(255,255,255,.2),inset 0 0 0 .5px rgba(255,255,255,.08),0 30px 60px -30px color-mix(in srgb,var(--oc) 45%,transparent)}
.so-chips span{animation:soChip 6s ease-in-out infinite}
.so-chips span:first-child{color:var(--ink-2);background:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.so-chips span:nth-child(2){animation-delay:1.5s}.so-chips span:nth-child(3){animation-delay:3s}.so-chips span:nth-child(4){animation-delay:4.5s}
@keyframes soChip{0%,4%,30%,100%{color:var(--ink-2);background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}8%,24%{color:#071210;background:var(--oc);box-shadow:0 0 18px -4px var(--oc)}}
.so-upd{display:flex;align-items:center;gap:10px;margin:0 0 28px;font-size:12px}
.so-upd .v{font-family:var(--f-mono);font-size:11px;padding:6px 9px;border-radius:8px;color:var(--oc);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--oc) 45%,transparent);white-space:nowrap}
.so-upd u{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.so-upd u b{display:block;height:100%;background:linear-gradient(90deg,var(--oc2),var(--oc));transform-origin:0 50%;animation:soUpd 4s cubic-bezier(.65,0,.35,1) infinite}
.so-upd .ok{color:var(--ink-3);animation:soOk 4s ease infinite;white-space:nowrap}
@keyframes soUpd{0%{transform:scaleX(0)}55%,90%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}
@keyframes soOk{0%,55%{color:var(--ink-3)}62%,92%{color:var(--oc)}100%{color:var(--ink-3)}}
.so-brandv{display:flex;align-items:center;gap:14px;margin:0 0 28px}
.so-brandv .bw{flex:1;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);border-top:3px solid #9BE8D4;animation:soBrand 7.5s steps(1) infinite}
.so-brandv .bw i{width:18px;height:18px;border-radius:6px;background:#9BE8D4;animation:soBrandBg 7.5s steps(1) infinite}
.so-brandv .bw b{height:6px;width:30%;border-radius:3px;background:rgba(255,255,255,.18)}.so-brandv .bw b + b{width:18%}
.so-brandv .sw{display:flex;gap:6px}
.so-brandv .sw i{width:16px;height:16px;border-radius:50%;background:#9BE8D4;box-shadow:0 0 0 2px transparent;animation:soSw 7.5s steps(1) infinite}
.so-brandv .sw i:nth-child(2){background:#BBA8F8;animation-delay:-5s}.so-brandv .sw i:nth-child(3){background:#F8B597;animation-delay:-2.5s}
@keyframes soBrand{0%{border-top-color:#9BE8D4}33.3%{border-top-color:#BBA8F8}66.6%{border-top-color:#F8B597}}
@keyframes soBrandBg{0%{background:#9BE8D4}33.3%{background:#BBA8F8}66.6%{background:#F8B597}}
@keyframes soSw{0%{box-shadow:0 0 0 2px #0b1513,0 0 0 4px rgba(255,255,255,.7)}33.3%{box-shadow:none}}
/* titres : la deuxième ligne se remplit au défilement */
.so-fill span{background:linear-gradient(90deg,var(--ink) 0,color-mix(in srgb,var(--oc) 70%,var(--ink)) var(--fill,0%),var(--ink-3) calc(var(--fill,0%) + 6%));-webkit-background-clip:text;background-clip:text;color:transparent}
/* haut de page : l'illustration vit */
.si-row span u::after{animation:soBar 6s cubic-bezier(.65,0,.35,1) infinite}
.si-row:nth-child(3) span u::after{animation-delay:.4s}.si-row:nth-child(4) span u::after{animation-delay:.8s}
@keyframes soBar{0%{width:0}35%,85%{width:var(--p)}100%{width:var(--p);opacity:.4}}
.si-chips span{transition:background .4s,color .4s}
.si-chips span:nth-child(2){animation:soChip 8s ease-in-out 1s infinite}.si-chips span:nth-child(4){animation:soChip 8s ease-in-out 5s infinite}
.si-sug{animation:soSug 3.2s ease-in-out infinite}
.si-sug i{display:inline-block;animation:soSpin 3.2s ease-in-out infinite}
@keyframes soSug{0%,100%{color:var(--ink)}50%{color:var(--oc)}}
@keyframes soSpin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.35)}100%{transform:rotate(360deg) scale(1)}}
.so-count{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){.so-chips span,.so-upd *,.so-brandv *,.si-sug,.si-sug i{animation:none!important}.so-upd u b{transform:none}}
/* ===== Menu contextuel (accueil / offre ouverte) ===== */
.dv-burger{display:none}
@media (max-width:900px){.dv-burger{display:grid;flex:none}}
/* S-01 : le ✕ « Revenir au site » reste visible sur téléphone (la barre est resserrée plus bas, « Recette du 15/10 ») */
@media (max-width:720px){.dive-bar > [data-dive-close].icon-btn{flex:none}}
/* Menu du haut : le bouton ☰ seulement quand les liens sont repliés (téléphone, tablette) */
@media (min-width:1241px){.nav .burger{display:none!important}}
/* Bandeau « Vous hésitez ? » : jamais flou */
.js .quiz-cta.reveal{filter:none!important;opacity:max(var(--sp,0),.85)}
/* izy Factory : visuel du haut vu de côté, comme le mini Studio */
@media (min-width:1025px){
  .w-factory .fx-stage{perspective:1400px}
  .w-factory .fx-stage .fac-visual{transform-origin:60% 50%!important;transform:rotateY(calc(-14deg + var(--mx3,0) * 5deg)) rotateX(calc(6deg + var(--my3,0) * -3deg))!important}
}

/* Factory · « Pour qui c'est fait » : grille de 4 cartes au lieu de 4 titres géants empilés */
.factory-more .ap-in{position:static!important;height:auto!important;overflow:visible!important;display:grid!important;place-items:stretch!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:1200px;margin:0 auto;padding:110px 24px!important}
.factory-more .ap-glow,.factory-more .ap-num{display:none!important}
.factory-more .ap-ch{grid-area:auto!important;place-self:stretch!important;position:relative!important;inset:auto!important;margin:0!important;max-width:none!important;width:auto!important;opacity:1!important;transform:none!important;filter:none!important;text-align:left!important;
  display:flex;flex-direction:column;align-items:flex-start;gap:0}
.factory-more .ap-ch[data-i="0"]{grid-column:1/-1!important;align-items:center;text-align:center!important;margin-bottom:30px!important}
.factory-more .ap-ch[data-i="0"] .ap-h{font-size:clamp(36px,calc(4.4 * 1vw / var(--z,1)),60px)!important;line-height:1.02!important}
.factory-more .ap-ch[data-i="0"] .ap-b{max-width:560px;margin:18px auto 0!important;font-size:17px!important}
.factory-more .ap-ch:not([data-i="0"]){padding:30px 30px 28px;border-radius:26px;
  background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),inset 0 0 0 .5px rgba(255,255,255,.06);
  transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .4s}
.factory-more .ap-ch:not([data-i="0"])::before{content:"";position:absolute;left:30px;right:30px;top:0;height:2px;border-radius:2px;background:var(--c);box-shadow:0 0 14px var(--c)}
.factory-more .ap-ch:not([data-i="0"]):hover{transform:translateY(-4px)!important;box-shadow:inset 1px 1px 0 rgba(255,255,255,.2),0 24px 50px -28px var(--c)}
.factory-more .ap-ch:not([data-i="0"]) .ap-k{margin:0 0 14px!important}
.factory-more .ap-ch:not([data-i="0"]) .ap-h{font-size:clamp(22px,calc(2 * 1vw / var(--z,1)),28px)!important;line-height:1.15!important;letter-spacing:-.03em!important;margin:0!important;text-align:left!important}
.factory-more .ap-ch:not([data-i="0"]) .ap-h span{display:inline!important}
.factory-more .ap-ch:not([data-i="0"]) .ap-b{font-size:15px!important;line-height:1.6!important;margin:14px 0 0!important;max-width:none!important;text-align:left!important;color:var(--ink-2)}
.factory-more .ap-ch:not([data-i="0"]) .ap-who{margin:auto 0 0!important;max-width:100%;white-space:normal!important}
.factory-more .ap-ch:not([data-i="0"]) .ap-b{margin-bottom:20px!important}
.factory-more .ap-ch{min-width:0}
.factory-more .ap-ch[data-i="0"] .ap-h span{display:inline!important}
.factory-more .ap-prog{display:none!important}
@media (max-width:900px){.factory-more .ap-in{grid-template-columns:1fr;padding:70px 16px!important}.factory-more .ap-ch:not([data-i="0"]){padding:24px 22px}}

/* « Pour qui » statique : le texte s'anime quand la carte entre à l'écran, pas selon l'ancien arrêt */
.factory-more .ap-ch .ap-k,.factory-more .ap-ch .ap-h,.factory-more .ap-ch .ap-b,.factory-more .ap-ch .ap-who{animation:none!important;opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1)}
.factory-more .ap-ch.vis .ap-k,.factory-more .ap-ch.vis .ap-h,.factory-more .ap-ch.vis .ap-b,.factory-more .ap-ch.vis .ap-who{opacity:1;transform:none}
.factory-more .ap-ch.vis .ap-h{transition-delay:.06s}.factory-more .ap-ch.vis .ap-b{transition-delay:.12s}.factory-more .ap-ch.vis .ap-who{transition-delay:.18s}
@media (prefers-reduced-motion:reduce){.factory-more .ap-ch .ap-k,.factory-more .ap-ch .ap-h,.factory-more .ap-ch .ap-b,.factory-more .ap-ch .ap-who{opacity:1;transform:none;transition:none}}




/* ===== FAQ lisible : en-tête fixe à gauche, questions en cartes à droite ===== */
:is(#faq,.fq-sec) .fq-list{border-top:0!important;display:flex;flex-direction:column;gap:10px;max-width:none}
:is(#faq,.fq-sec) .fq{position:relative;border:0!important;border-radius:20px!important;overflow:hidden;
  background:linear-gradient(160deg,rgba(22,20,32,.92),rgba(14,13,22,.92))!important;box-shadow:inset 1px 1px 0 rgba(255,255,255,.1),inset 0 0 0 .5px rgba(255,255,255,.06);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:box-shadow .3s}
:is(#faq,.fq-sec) .fq::before{content:"";position:absolute;left:0;top:18px;bottom:18px;height:auto;width:3px!important;border-radius:0 3px 3px 0;background:var(--c);box-shadow:none;opacity:.35;transition:opacity .3s}
:is(#faq,.fq-sec) .fq::after{display:none}
:is(#faq,.fq-sec) .fq:hover::before,:is(#faq,.fq-sec) .fq[open]::before{opacity:1}
:is(#faq,.fq-sec) .fq[open]{box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),0 0 0 1px color-mix(in srgb,var(--c) 35%,transparent),0 24px 50px -30px var(--c)}
:is(#faq,.fq-sec) .fq-q{grid-template-columns:34px minmax(0,1fr) 36px!important;gap:14px!important;padding:20px 20px 20px 22px!important;align-items:start!important}
:is(#faq,.fq-sec) .fq-q h3{font-size:18px!important;line-height:1.35!important;letter-spacing:-.015em!important;font-weight:500!important;color:var(--ink)!important}
:is(#faq,.fq-sec) .fq-n{padding-top:3px;color:var(--c)!important}
:is(#faq,.fq-sec) .fq-k{grid-column:2;grid-row:2;justify-self:start;margin-top:-4px;font-size:10.5px;padding:3px 9px;border-radius:99px;color:var(--c)!important;opacity:1!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 35%,transparent)}
:is(#faq,.fq-sec) .fq-x{grid-column:3;grid-row:1/3;width:34px!important;height:34px!important;align-self:start}
:is(#faq,.fq-sec) .fq-a{padding:0 30px 24px 70px!important;max-width:none!important}
:is(#faq,.fq-sec) .fq-a p{font-size:15.5px!important;line-height:1.65!important;color:var(--ink-2)!important}
:is(#faq,.fq-sec) .fq-a p:first-child{color:var(--ink)!important}
:is(#faq,.fq-sec) .fq-a p + p{margin-top:12px}
@media (min-width:1025px){
  :is(#faq,.fq-sec) .fq-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
  :is(#faq,.fq-sec) .fq-side{position:sticky;top:110px}
  :is(#faq,.fq-sec) .fq-head{justify-items:start!important;text-align:left!important;margin-bottom:28px!important}
  :is(#faq,.fq-sec) .fq-head h2{font-size:clamp(40px,calc(4.4 * 1vw / var(--z,1)),64px)!important}
  :is(#faq,.fq-sec) .fq-head .lead{margin:0!important;max-width:420px}
  :is(#faq,.fq-sec) .fq-pills{justify-content:flex-start;margin-bottom:32px}
  :is(#faq,.fq-sec) .fq-pill{padding:8px 13px;font-size:13px}
  :is(#faq,.fq-sec) .fq-more{max-width:none;margin:0;flex-direction:column;align-items:flex-start;gap:14px;padding:22px;border-radius:20px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
}
@media (max-width:720px){:is(#faq,.fq-sec) .fq-k{display:none}:is(#faq,.fq-sec) .fq-a{padding:0 20px 22px 22px!important}:is(#faq,.fq-sec) .fq-q h3{font-size:16.5px!important}:is(#faq,.fq-sec) .fq-more{margin-bottom:30px}}
[data-theme="light"] :is(#faq,.fq-sec) .fq{background:rgba(255,255,255,.85)!important}
@media (min-width:1025px){:is(#faq,.fq-sec) .fq-head > div{display:flex;flex-direction:column;align-items:flex-start}:is(#faq,.fq-sec) .fq-head .eyebrow{align-self:flex-start;margin-left:0}}
@media (max-width:720px){:is(#faq,.fq-sec) .fq-q{grid-template-columns:minmax(0,1fr) 34px!important;grid-template-areas:"n x" "q x"!important;padding:18px 16px 18px 20px!important}:is(#faq,.fq-sec) .fq-n{grid-area:n}:is(#faq,.fq-sec) .fq-q h3{grid-area:q}:is(#faq,.fq-sec) .fq-x{grid-area:x!important;grid-column:auto;grid-row:auto}}

/* Bouton « revenir en haut » : apparaît après une demi-hauteur d'écran défilée */
.to-top{position:fixed;right:24px;bottom:24px;z-index:130;width:48px;height:48px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;color:var(--ink,#F2F2F6);
  background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.05));box-shadow:inset 1px 1px 0 rgba(255,255,255,.3),inset 0 0 0 .5px rgba(255,255,255,.1),0 14px 30px -12px rgba(0,0,0,.7);
  backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);
  opacity:0;transform:translateY(14px) scale(.9);pointer-events:none;transition:opacity .35s ease,transform .45s cubic-bezier(.16,1,.3,1),box-shadow .3s}
.to-top svg{width:20px;height:20px;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{box-shadow:inset 1px 1px 0 rgba(255,255,255,.35),0 0 0 1px var(--oc,#BBA8F8),0 16px 34px -12px var(--oc,#BBA8F8)}
.to-top:hover svg{transform:translateY(-2px)}
.to-top:focus-visible{outline:2px solid var(--oc,#BBA8F8);outline-offset:3px}
body.diving .to-top{color:#F2F2F6}
[data-theme="light"] body:not(.diving) .to-top{color:#0E1016;background:rgba(255,255,255,.8);box-shadow:inset 1px 1px 0 #fff,0 0 0 1px rgba(14,16,22,.08),0 14px 30px -14px rgba(30,30,60,.35)}
@media (max-width:720px){.to-top{right:16px;bottom:16px;width:44px;height:44px}}
@media (prefers-reduced-motion:reduce){.to-top{transition:opacity .2s}}

/* FAQ : carte « Votre question n'y est pas ? » opaque et lisible */
:is(#faq,.fq-sec) .fq-more{position:relative;isolation:isolate;overflow:hidden;padding:26px!important;border-radius:22px!important;gap:16px!important;
  background:radial-gradient(120% 90% at 100% 0%,rgba(187,168,248,.22),transparent 60%),linear-gradient(160deg,#1C1830,#121020)!important;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),0 0 0 1px rgba(187,168,248,.28),0 30px 60px -34px rgba(142,118,242,.6)!important}
:is(#faq,.fq-sec) .fqm-ico{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#BBA8F8;background:rgba(187,168,248,.14);box-shadow:inset 0 0 0 1px rgba(187,168,248,.35)}
:is(#faq,.fq-sec) .fqm-ico svg{width:21px;height:21px}
:is(#faq,.fq-sec) .fq-more p{margin:0;font-size:16px!important;line-height:1.5!important;color:#C9CAD6!important}
:is(#faq,.fq-sec) .fq-more p b{display:block;font-size:21px;font-weight:600;letter-spacing:-.02em;color:#F4F3FA;margin-bottom:4px}
:is(#faq,.fq-sec) .fq-more .btn{background:#BBA8F8!important;color:#100D1C!important;box-shadow:0 14px 34px -14px #BBA8F8!important;border:0!important}
:is(#faq,.fq-sec) .fq-more .btn:hover{background:#CBBCFB!important}
[data-theme="light"] :is(#faq,.fq-sec) .fq-more{background:radial-gradient(120% 90% at 100% 0%,rgba(107,78,230,.14),transparent 60%),#fff!important;box-shadow:0 0 0 1px rgba(107,78,230,.2),0 30px 60px -34px rgba(91,67,214,.4)!important}
[data-theme="light"] :is(#faq,.fq-sec) .fq-more p{color:#4B5060!important}[data-theme="light"] :is(#faq,.fq-sec) .fq-more p b{color:#0E1016}
[data-theme="light"] :is(#faq,.fq-sec) .fqm-ico{color:#5B43D6;background:rgba(91,67,214,.1)}
[data-theme="light"] :is(#faq,.fq-sec) .fq-more .btn{background:#5B43D6!important;color:#fff!important}
@media (max-width:1024px){:is(#faq,.fq-sec) .fq-layout{display:flex;flex-direction:column}:is(#faq,.fq-sec) .fq-side{display:contents}:is(#faq,.fq-sec) .fq-list{order:2}:is(#faq,.fq-sec) .fq-more{order:3;margin:28px 0 0!important;max-width:none;flex-direction:column;align-items:flex-start}}

/* Chargement B : le texte se place au centre de la bulle fusionnée */
.ld-in{transition:none!important}.loader.popped .ld-in{transform:none!important}
.ld-in b{font-size:26px!important}.ld-in img{width:34px!important;height:34px!important}

/* ===== Harmonisation : izy Factory parle la même langue que Solutions izy et izy Studio =====
   On garde les animations de Factory, on aligne la voix : surtitre, titre sur deux tons, texte, cartes. */
/* Surtitres : la voix de .st-kick */
.dive .factory-more .eyebrow,.dive .factory-more .ap-k,.dive .factory-more .ev-k,.dive .factory-more .ct-k{font-family:var(--f-mono)!important;font-size:11.5px!important;font-weight:400!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--oc)!important;gap:8px!important;margin-bottom:16px!important}
.dive .factory-more .eyebrow::before,.dive .factory-more .ap-k::before{width:7px!important;height:7px!important;border-radius:50%!important;background:var(--oc)!important;box-shadow:none!important}
/* Titres : l'échelle de .st-h, seconde ligne en retrait */
.dive .factory-more h2,.dive .factory-more .ap-intro,.dive .factory-more .ev-h{font-size:clamp(34px,calc(4.4 * 1vw / var(--z,1)),60px)!important;font-weight:600!important;letter-spacing:-.05em!important;line-height:1!important}
.dive .factory-more h2 .l2,.dive .factory-more .cy-h .l2,.dive .factory-more .pv-h span,.dive .factory-more .vr-h span,.dive .factory-more .mt-h span+span{display:block!important;color:var(--ink-3)}
.dive .factory-more .ap-ch:not([data-i="0"]) .ap-h{font-size:clamp(34px,calc(4.6 * 1vw / var(--z,1)),68px)!important}
/* Textes : les tailles de .st-p et des cartes Studio, jamais en dessous de 15px */
.dive .factory-more .lead,.dive .factory-more .cy-lead,.dive .factory-more .pv-lead,.dive .factory-more .vr-lead,.dive .factory-more .mt-lead,.dive .factory-more .cv-body,.dive .factory-more .ap-b{font-size:17px!important;line-height:1.6!important;color:var(--ink-2)!important}
.dive .factory-more .pain p:last-child,.dive .factory-more .cy-b,.dive .factory-more .mt-p,.dive .factory-more .pv-p,.dive .factory-more .xr-b,.dive .factory-more .spot-item p,.dive .factory-more .ig-b,.dive .factory-more .bw-p{font-size:16px!important;line-height:1.55!important;color:var(--ink-2)!important}
/* Cartes : la surface de .st-tile */
.dive .factory-more .pain,.dive .factory-more .cy-card,.dive .factory-more .fq-more{background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.02))!important;box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),inset 0 0 0 .5px rgba(255,255,255,.06)!important;border:0!important;border-radius:28px!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.dive .factory-more .pain{padding:28px!important}
.dive .factory-more .pain h3{font-size:22px!important;font-weight:600;letter-spacing:-.03em}
.dive .factory-more .pain .badge{border-radius:10px!important;background:color-mix(in srgb,var(--oc) 10%,transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--oc) 45%,transparent)!important;color:var(--oc)!important}
/* FAQ : questions dans des cartes, comme .st-faq */
.dive .factory-more .fq-list{border-top:0!important;display:flex;flex-direction:column;gap:10px}
.dive .factory-more .fq{background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.02))!important;box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),inset 0 0 0 .5px rgba(255,255,255,.06)!important;border:0!important;border-radius:20px!important;padding:0 22px!important}
.dive .factory-more .fq-q h3{font-size:18px!important;color:var(--ink)!important}
.dive .factory-more .fq-more{padding:26px!important}

/* ===== Les trois offres, une même mise en scène =====
   Héro : pastille, titre à seconde ligne irisée, rangée de chiffres. Sections : perspective au défilement,
   titres qui se dévoilent, cartes inclinables, colonnes qui se rejoignent. */
.world .w-title span{display:block;background:linear-gradient(100deg,color-mix(in srgb,var(--oc) 40%,#fff) 0%,color-mix(in srgb,var(--oc) 70%,#fff) 40%,var(--oc) 75%,color-mix(in srgb,var(--oc) 60%,#9BE8D4) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 7s ease-in-out infinite}
.w-solutions .so-pill{margin:0}
.w-kpis{width:100%!important;max-width:none!important;margin-top:48px!important;position:relative;z-index:2}
.w-kpis b{font-size:clamp(32px,calc(3.2 * 1vw / var(--z,1)),44px)!important}
/* Héro : les calques flottent et suivent la souris, à des profondeurs différentes */
.w-studio .st-app > *,.w-solutions .so-illu > *{translate:calc(var(--mx3,0) * var(--dz,20px)) calc(var(--my3,0) * var(--dz,20px) + var(--hy,0) * var(--dz,20px) * -4)}
.w-studio .sa-ai,.w-solutions .si-skills{--dz:44px}.w-studio .sa-phone,.w-solutions .si-brand{--dz:70px}
.w-studio .w-hero .w-visual,.w-solutions .w-hero .so-illu{scale:calc(1 - var(--hy,0) * .08);opacity:calc(1 - var(--hy,0) * .6)}
/* Titres de section : chaque ligne monte et se met au point */
.w-studio .st-h,.w-solutions .st-h{opacity:calc(.15 + .85 * var(--o,1));translate:0 calc((1 - var(--o,1)) * 34px)}
.w-studio .st-h span,.w-solutions .st-h span{opacity:calc(var(--o2,1));translate:0 calc((1 - var(--o2,1)) * 26px);display:block}
.w-studio .st-kick::after,.w-solutions .st-kick::after{content:"";width:calc(var(--o,1) * 48px);height:1px;background:linear-gradient(90deg,var(--oc),transparent);margin-left:4px}
/* Grilles de cartes : elles se redressent en entrant, comme l'écran de Factory */
.w-studio .st-bento,.w-solutions .st-bento,.w-studio .st-who,.w-solutions .st-who{transform:perspective(1600px) rotateX(calc(var(--b,0) * 16deg)) scale(calc(1 - var(--b,0) * .06));transform-origin:50% 0;transform-style:preserve-3d}
.st-card{position:relative}
.st-tile[data-tilt]::before,.st-card[data-tilt]::before{z-index:0}
.st-tile > *,.st-card > *{position:relative;z-index:1}
/* Comparaisons : les deux colonnes se rejoignent, le « + » / « ou » tourne */
.w-studio .st-split > div:first-child,.w-solutions .st-split > div:first-child{translate:calc(var(--s,0) * -70px) 0;opacity:calc(1 - var(--s,0) * .8)}
.w-studio .st-split > div:last-child,.w-solutions .st-split > div:last-child{translate:calc(var(--s,0) * 70px) 0;opacity:calc(1 - var(--s,0) * .8)}
.w-studio .st-plus,.w-solutions .st-plus{rotate:calc(var(--s,0) * 270deg);scale:calc(1 + var(--s,0) * .8)}
/* Encadrés d'appel : un halo balaie la carte, les avantages s'allument un par un */
.w-studio .st-early::after,.w-solutions .st-early::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(520px circle at calc(var(--e,0) * 120% - 10%) 30%,color-mix(in srgb,var(--oc) 22%,transparent),transparent 60%)}
.w-studio .st-perks li,.w-solutions .st-perks li{transition:box-shadow .5s,background .5s,translate .6s cubic-bezier(.16,1,.3,1)}
.w-studio .st-perks li.lit,.w-solutions .st-perks li.lit{background:color-mix(in srgb,var(--oc) 10%,rgba(0,0,0,.25));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--oc) 55%,transparent),0 0 30px -10px var(--oc);translate:8px 0}
/* FAQ : les questions arrivent en cascade */
.w-studio .st-faq details,.w-solutions .st-faq details{opacity:calc(var(--q,1));translate:calc((1 - var(--q,1)) * 40px) 0}
@media (max-width:900px),(prefers-reduced-motion:reduce){
  .w-studio .st-h,.w-solutions .st-h,.w-studio .st-h span,.w-solutions .st-h span{opacity:1;filter:none;translate:none}
  .w-studio .st-bento,.w-solutions .st-bento,.w-studio .st-who,.w-solutions .st-who{transform:none}
  .w-studio .st-split > div,.w-solutions .st-split > div,.w-studio .st-faq details,.w-solutions .st-faq details{translate:none;opacity:1}
  .world.on .w-kpis div{animation:none}
}

/* ===== Solutions izy et izy Studio : le carrousel horizontal du « Constat » de Factory =====
   La section s'arrête, les cartes défilent de droite à gauche au rythme du défilement, des tirets suivent la progression. */
.st-hs{position:relative}
.sths-sticky{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));padding-top:64px;box-sizing:border-box;width:var(--dw,calc(100 * 1vw / var(--z,1)));margin-left:calc(50% - var(--dw,calc(100 * 1vw / var(--z,1))) / 2);display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.sths-head{width:min(1152px,100% - 48px);margin:0 auto}
.sths-head .st-head{margin-bottom:32px;max-width:1060px}
.st-bento.sths-track{display:flex!important;gap:20px;width:max-content;padding:20px max(24px,calc((var(--dw,calc(100 * 1vw / var(--z,1))) - 1152px) / 2));translate:var(--hx,0) 0;will-change:translate;transform:none!important}
.sths-track .st-tile{width:min(440px,calc(80 * 1vw / var(--z,1)));min-height:min(400px,calc(52 * 1vh / var(--z,1)));flex:none;grid-column:auto!important}
.sths-track .st-tile h5{font-size:30px;letter-spacing:-.04em;margin-top:18px}
.sths-track .st-tile p:not(.sths-n){font-size:16px}
.sths-track .st-ico{width:46px;height:46px;border-radius:12px}
.sths-n{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:14px 0 0!important}
.sths-dots{margin-top:28px}
.sths-dots i::after{background:var(--oc)}
@media (max-width:900px),(prefers-reduced-motion:reduce){
  .st-hs{height:auto!important}
  .sths-sticky{position:static;height:auto;padding-top:0;width:auto;margin-left:0;overflow:visible}
  .sths-head{width:auto}
  .st-bento.sths-track{display:grid!important;grid-template-columns:1fr;width:auto;padding:0;translate:none}
  .sths-track .st-tile{width:auto;min-height:0}
  .sths-dots{display:none}
}

/* ===== Solutions izy : « Bien choisir », les trois offres côte à côte =====
   Une colonne de critères à gauche, une carte par offre dans sa couleur, lignes alignées.
   Le défilement allume les lignes une à une ; la carte survolée prend le dessus. */
.vs{--ca:#9BE8D4;--cb:#BBA8F8;--cc:#E2F38E;display:grid;grid-template-columns:150px repeat(3,minmax(0,1fr));grid-template-rows:auto repeat(4,auto) auto;column-gap:14px}
.vs-crit{grid-column:1;grid-row:1 / -1;display:grid;grid-template-rows:subgrid}
.vs-card{grid-row:1 / -1;display:grid;grid-template-rows:subgrid;position:relative;border-radius:26px;padding:0 26px;outline:none;
  background:linear-gradient(160deg,color-mix(in srgb,var(--c) 9%,rgba(255,255,255,.04)),rgba(255,255,255,.015));
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),inset 0 0 0 1px color-mix(in srgb,var(--c) calc(16% + var(--lift,0) * 44%),transparent),0 40px 80px -50px color-mix(in srgb,var(--c) calc(var(--lift,0) * 90%),transparent);
  transition:opacity .5s,translate .6s cubic-bezier(.16,1,.3,1),box-shadow .5s,filter .5s}
.vs-a{--c:var(--ca);grid-column:2}.vs-b{--c:var(--cb);grid-column:3}.vs-z{--c:var(--cc);grid-column:4}
.vs-head{padding:28px 0 22px;position:relative}
.vs-head::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--c);transform-origin:0 50%;transform:scaleX(var(--v,1));box-shadow:0 0 16px var(--c)}
.vs-tag{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--c)}
.vs-tag i{width:7px;height:7px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c)}
.vs-tag em{font-style:normal;opacity:.75}
.vs-here{margin-left:auto;padding:4px 9px;border-radius:999px;font-size:10px;letter-spacing:.06em;color:#0A0A0C;background:var(--c)}
.vs-head h5{margin-top:14px;font-size:clamp(20px,calc(1.8 * 1vw / var(--z,1)),25px);font-weight:600;letter-spacing:-.035em;line-height:1.15}
.vs-row{display:flex;align-items:flex-start;gap:12px;padding:16px 0;border-top:1px solid rgba(255,255,255,.07);font-size:15.5px;line-height:1.45;color:var(--ink-2);
  opacity:calc(.2 + .8 * var(--on,1));translate:0 calc((1 - var(--on,1)) * 16px)}
.vs-row::before{content:"";flex:none;margin-top:1px;width:20px;height:20px;border-radius:50%;background:color-mix(in srgb,var(--c) 16%,transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 50%,transparent);scale:calc(.6 + .4 * var(--on,1))}
.vs-k{display:none}
.vs-foot{padding:20px 0 28px;border-top:1px solid rgba(255,255,255,.07)}
.vs-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;font:inherit;font-size:14.5px;font-weight:600;cursor:pointer;border:0;
  color:#0A0A0C;background:var(--c);box-shadow:0 14px 34px -14px var(--c)}
.vs-btn em{font-style:normal;font-weight:400}
.vs-btn span{transition:translate .4s cubic-bezier(.16,1,.3,1)}
.vs-btn:hover span{translate:4px 0}
.vs-btn:focus-visible{outline:2px solid var(--c);outline-offset:3px}
.vs-crit .vs-c{display:flex;align-items:center;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border-top:1px solid rgba(255,255,255,.07);opacity:calc(.3 + .7 * var(--on,1));transition:color .4s}
.vs-crit .vs-c-head,.vs-crit .vs-c-foot{border-top:0}
.vs-crit .vs-c[data-r]::before{content:"";width:6px;height:6px;margin-right:10px;border-radius:50%;background:linear-gradient(135deg,var(--ca),var(--cb),var(--cc));opacity:var(--on,1)}
/* La carte choisie prend le dessus */
.vs[data-lean] .vs-card{opacity:.45;filter:saturate(.5)}
.vs[data-lean="a"] .vs-a,.vs[data-lean="b"] .vs-b,.vs[data-lean="c"] .vs-z{opacity:1;filter:none;--lift:1;translate:0 -6px}
.vs[data-lean] .vs-crit .vs-c{color:var(--ink-2)}
@media (max-width:1100px){
  .vs{display:flex;flex-direction:column;gap:14px}
  .vs-crit{display:none}
  .vs-card{display:block}
  .vs-row{display:grid;grid-template-columns:20px 1fr;column-gap:12px;row-gap:4px}
  .vs-row::before{grid-row:1 / 3;grid-column:1}
  .vs-k{display:block;grid-column:2;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
  .vs-row{--on:1!important}
}
@media (prefers-reduced-motion:reduce){.vs-row,.vs-crit .vs-c{--on:1!important}}

/* ===== Solutions izy et izy Studio : le manifeste de Factory, aux couleurs de l'offre ===== */
.w-mf{margin-top:0!important}
.w-mf .ap2-stk{padding:0!important}
.w-solutions .w-mf .ap2-f:not(.w),.w-studio .w-mf .ap2-f:not(.w){background-image:linear-gradient(90deg,#fff 0%,var(--oc) 45%,color-mix(in srgb,var(--oc) 55%,#BBA8F8) 100%),linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,.16))}
.w-mf .manifesto cite{color:var(--oc);border-color:color-mix(in srgb,var(--oc) 35%,transparent)}

/* ===== Solutions izy : scènes animées (preuve Aftral, Pour qui, Votre marque) ===== */
.so-scene{margin-top:0!important}
/* Preuve Aftral : le compteur géant */
.xp-pin{height:calc(190 * 1vh / var(--z,1))}
.xp-in{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}
.xp-h{font-size:clamp(34px,calc(4.4 * 1vw / var(--z,1)),60px);font-weight:600;letter-spacing:-.05em;line-height:1}
.w-solutions .xp-h .ap2-f:not(.w){background-image:linear-gradient(90deg,#fff,var(--oc)),linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,.16))}
.xp-n{display:block;margin-top:18px;font-size:clamp(90px,calc(15 * 1vw / var(--z,1)),220px);font-weight:600;letter-spacing:-.065em;line-height:.9;font-variant-numeric:tabular-nums;
  background:linear-gradient(100deg,#fff 0%,var(--oc) 50%,#BBA8F8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  opacity:calc(.15 + .85 * var(--k,0));scale:calc(.86 + .14 * var(--k,0));filter:drop-shadow(0 0 calc(var(--k,0) * 40px) color-mix(in srgb,var(--oc) 35%,transparent))}
.xp-cap{margin-top:14px;font-size:18px;color:var(--ink-2)}.xp-cap b{color:var(--ink)}
.xp-facts{margin-top:44px!important;text-align:left}
.xp-facts b{color:var(--oc)}
.xp-p{margin-top:36px;max-width:620px;font-size:16px;line-height:1.6;color:var(--ink-3)}
/* Pour qui : deux chapitres qui se relaient */
.pq-pin{position:relative;height:calc(200 * 1vh / var(--z,1))}
.pq-stk{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;flex-direction:column;justify-content:center;padding-top:60px;box-sizing:border-box}
.pq-head{margin-bottom:34px!important}
.pq-stage{position:relative;height:440px}
.pq-ch{position:absolute;inset:0;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;
  opacity:var(--a,0);translate:0 calc(var(--y,0) * 1px);pointer-events:none}
.pq-ch.on{pointer-events:auto}
.pq-tag{display:flex;align-items:center;gap:12px;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--oc)}
.pq-tag span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--oc) 45%,transparent);background:color-mix(in srgb,var(--oc) 10%,transparent)}
.pq-ch h5{margin:20px 0 26px;font-size:clamp(30px,calc(3.4 * 1vw / var(--z,1)),48px);font-weight:600;letter-spacing:-.05em;line-height:1.02}
.pq-ch h5 span{display:block;background:linear-gradient(100deg,var(--oc),color-mix(in srgb,var(--oc) 55%,#fff));-webkit-background-clip:text;background-clip:text;color:transparent}
.pq-ch ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.pq-ch li{position:relative;padding-left:30px;font-size:17px;line-height:1.5;color:var(--ink-2);opacity:0;translate:-14px 0;transition:opacity .6s,translate .7s cubic-bezier(.16,1,.3,1)}
.pq-ch li::before{content:"";position:absolute;left:0;top:.35em;width:16px;height:16px;border-radius:50%;background:color-mix(in srgb,var(--oc) 22%,transparent);box-shadow:inset 0 0 0 1px var(--oc)}
.pq-ch.on li{opacity:1;translate:none}
.pq-ch.on li:nth-child(2){transition-delay:.12s}.pq-ch.on li:nth-child(3){transition-delay:.24s}.pq-ch.on li:nth-child(4){transition-delay:.36s}
.pq-vis{padding:28px;border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02));box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),0 40px 80px -40px color-mix(in srgb,var(--oc) 40%,transparent);
  transform:perspective(1200px) rotateY(calc(-14deg + var(--a,0) * 8deg)) rotateX(4deg);transition:transform .2s}
.pv-t{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:18px}
.pv-r{display:grid;grid-template-columns:30px 1fr 44px;gap:12px;align-items:center;padding:9px 0}
.pv-r .av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--oc),#BBA8F8);opacity:.75}
.pv-r span{height:8px;border-radius:5px;background:rgba(255,255,255,.08);overflow:hidden}
.pv-r u{display:block;height:100%;width:var(--w);border-radius:5px;background:var(--oc);transform-origin:0 50%;transform:scaleX(0);transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.pq-ch.on .pv-r u{transform:scaleX(1)}
.pq-ch.on .pv-r:nth-child(3) u{transition-delay:.15s}.pq-ch.on .pv-r:nth-child(4) u{transition-delay:.3s}.pq-ch.on .pv-r:nth-child(5) u{transition-delay:.45s}
.pv-r small{font-family:var(--f-mono);font-size:12px;color:var(--ink-2);text-align:right}
.pv-ai{display:flex;gap:10px;align-items:center;margin-top:18px;padding:12px 14px;border-radius:14px;font-size:14px;color:var(--ink);background:color-mix(in srgb,var(--oc) 12%,rgba(0,0,0,.2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--oc) 35%,transparent);
  opacity:0;translate:0 10px;transition:opacity .6s .9s,translate .6s .9s}
.pv-ai b{color:var(--oc)}
.pq-ch.on .pv-ai{opacity:1;translate:none}
.pv-g{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.pv-g i{aspect-ratio:1;border-radius:9px;background:color-mix(in srgb,var(--oc) calc(var(--l) * 85%),rgba(255,255,255,.05));opacity:.2;scale:.6;transition:opacity .5s,scale .6s cubic-bezier(.16,1,.3,1)}
.pq-ch.on .pv-g i{opacity:1;scale:1}
.pq-ch.on .pv-g i:nth-child(6n+2){transition-delay:.06s}.pq-ch.on .pv-g i:nth-child(6n+3){transition-delay:.12s}.pq-ch.on .pv-g i:nth-child(6n+4){transition-delay:.18s}.pq-ch.on .pv-g i:nth-child(6n+5){transition-delay:.24s}.pq-ch.on .pv-g i:nth-child(6n){transition-delay:.3s}
.pv-g i:nth-child(9),.pv-g i:nth-child(17){box-shadow:0 0 0 2px #F8B597;animation:vsPing 2s ease-out infinite;--c:#F8B597}
.pq-prog{display:flex;gap:6px;justify-content:center;margin-top:30px}
.pq-prog i{width:40px;height:3px;border-radius:2px;background:rgba(255,255,255,.1);position:relative;overflow:hidden}
.pq-prog i::after{content:"";position:absolute;inset:0;background:var(--oc);transform-origin:0 50%;transform:scaleX(var(--f,0))}
/* Votre marque : l'application change d'identité */
.so-brand{grid-template-columns:1fr 1fr!important;align-items:center}
.rb{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;perspective:1200px}
.rb-app{--b:#9BE8D4;width:min(340px,100%);padding:20px;border-radius:26px;background:#0E1114;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 40px 80px -30px color-mix(in srgb,var(--b) 45%,transparent);
  transform:rotateY(-10deg) rotateX(6deg);transition:box-shadow .8s;animation:fxBob 6s ease-in-out infinite;--bob:-10px}
.rb-app *{transition:background-color .8s,color .8s,border-color .8s,width 1s cubic-bezier(.16,1,.3,1)}
.rb-bar{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.07)}
.rb-logo{width:26px;height:26px;border-radius:8px;background:var(--b);transition:background-color .8s,border-radius .8s}
.rb-name{font-size:15px;font-weight:600;letter-spacing:-.02em;color:#fff;min-width:0;white-space:nowrap}
.rb-name.flip{animation:rbFlip .8s cubic-bezier(.16,1,.3,1)}
@keyframes rbFlip{0%{opacity:0;transform:translateY(8px);filter:blur(4px)}100%{opacity:1;transform:none;filter:none}}
.rb-av{margin-left:auto;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.12)}
.rb-hi{margin:16px 0 12px;font-size:17px;font-weight:600;color:#fff}
.rb-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.rb-kpis span{padding:12px;border-radius:14px;background:color-mix(in srgb,var(--b) 12%,rgba(255,255,255,.03));font-size:12px;color:var(--ink-3)}
.rb-kpis b{display:block;font-size:20px;color:var(--b)}
.rb-row{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;padding:7px 0}
.rb-row i{width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--b) 25%,transparent)}
.rb-row span{height:7px;border-radius:4px;background:rgba(255,255,255,.07);overflow:hidden}
.rb-row u{display:block;height:100%;width:var(--w);background:var(--b)}
.rb-btn{display:block;margin-top:14px;padding:12px;border-radius:999px;text-align:center;font-size:14px;font-weight:600;color:#0A0A0C;background:var(--b)}
.rb-sw{list-style:none;display:flex;gap:10px}
.rb-sw li{width:22px;height:22px;border-radius:50%;background:var(--b);opacity:.4;scale:.8;transition:opacity .4s,scale .4s,box-shadow .4s}
.rb-sw li.on{opacity:1;scale:1;box-shadow:0 0 0 3px #0E1114,0 0 0 5px var(--b)}
@media (max-width:900px),(prefers-reduced-motion:reduce){
  .xp-pin,.pq-pin{height:auto}
  .pq-stk{position:static;height:auto;padding-top:0}
  .pq-stage{height:auto;display:flex;flex-direction:column;gap:40px}
  .pq-ch{position:static;opacity:1;translate:none;grid-template-columns:1fr;gap:24px}
  .pq-ch li,.pv-ai,.pv-g i{opacity:1;translate:none;scale:1}
  .pv-r u{transform:none}
  .pq-vis{transform:none}
  .pq-prog{display:none}
  .xp-n{opacity:1;scale:1}
  .so-brand{grid-template-columns:1fr!important}
}

/* ===== Héros des trois offres : même marge haute, juste sous la barre ===== */
.dive .world{padding-top:0!important}
.dive .w-hero{min-height:0!important;padding-top:56px!important;align-items:center}
.dive .fx-hero{padding-top:56px!important}
.dive .w-hero .w-copy > :first-child,.dive .fx-copy > :first-child{margin-top:0!important}

/* ===== izy Studio : « Pour qui » en deux chapitres, comme Solutions ===== */
/* ESN · Agences : un composant part vers trois projets clients */
.sq-src{display:flex;align-items:center;gap:10px;width:max-content;margin:0 auto;padding:12px 16px;border-radius:14px;background:color-mix(in srgb,var(--oc) 14%,rgba(0,0,0,.2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--oc) 50%,transparent),0 0 30px -8px var(--oc)}
.sq-src i{width:22px;height:22px;border-radius:7px;background:var(--oc)}
.sq-src b{font-size:14px;font-weight:600}.sq-src small{font-family:var(--f-mono);font-size:11px;color:var(--ink-3)}
.sq-links{display:block;width:100%;height:56px}
.sq-links path{fill:none;stroke:var(--oc);stroke-width:1.5;stroke-dasharray:120;stroke-dashoffset:120;vector-effect:non-scaling-stroke;transition:stroke-dashoffset 1s cubic-bezier(.65,0,.35,1)}
.pq-ch.on .sq-links path{stroke-dashoffset:0}
.pq-ch.on .sq-links path:nth-child(2){transition-delay:.15s}.pq-ch.on .sq-links path:nth-child(3){transition-delay:.3s}
.sq-cls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sq-cl{padding:12px;border-radius:14px;background:rgba(0,0,0,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.sq-cl p{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.sq-cl span{display:block;height:6px;border-radius:3px;background:rgba(255,255,255,.08);margin-bottom:6px}
.sq-cl span+span{width:60%}
.sq-cl em{display:block;height:34px;margin-top:8px;border-radius:9px;background:color-mix(in srgb,var(--oc) 70%,transparent);transform:scale(.4);opacity:0;transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .5s}
.pq-ch.on .sq-cl em{transform:none;opacity:1;transition-delay:.9s}
.pq-ch.on .sq-cl:nth-child(2) em{transition-delay:1.05s}.pq-ch.on .sq-cl:nth-child(3) em{transition-delay:1.2s}
/* Équipes internes : trois applications posées sur un même socle */
.sq-apps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sq-app{display:flex;flex-direction:column;gap:6px;padding:14px 12px;border-radius:14px;background:rgba(0,0,0,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);
  opacity:0;translate:0 -18px;transition:opacity .5s,translate .7s cubic-bezier(.16,1,.3,1),box-shadow .5s}
.sq-app i{width:24px;height:24px;border-radius:7px;background:color-mix(in srgb,var(--oc) 30%,transparent)}
.sq-app b{font-size:14px;font-weight:600}.sq-app small{font-family:var(--f-mono);font-size:10.5px;color:var(--ink-3)}
.pq-ch.on .sq-app{opacity:1;translate:none}
.pq-ch.on .sq-app:nth-child(2){transition-delay:.12s}.pq-ch.on .sq-app:nth-child(3){transition-delay:.24s}
.sq-socle{position:relative;display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding:14px;border-radius:14px;overflow:hidden;
  background:color-mix(in srgb,var(--oc) 12%,rgba(0,0,0,.2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--oc) 45%,transparent)}
.sq-socle span{padding:5px 10px;border-radius:999px;font-size:12px;background:rgba(0,0,0,.3);color:var(--ink-2)}
.sq-socle b{width:100%;margin-top:4px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:400;color:var(--oc)}
.sq-socle::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--oc) 35%,transparent),transparent);translate:-100% 0}
.pq-ch.on .sq-socle::after{animation:sqSweep 3.2s ease-in-out .8s infinite}
.pq-ch.on .sq-app{animation:sqGlow 3.2s ease-in-out 1.4s infinite}
@keyframes sqSweep{0%{translate:-100% 0}45%,100%{translate:100% 0}}
@keyframes sqGlow{0%,30%,100%{box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}45%{box-shadow:inset 0 0 0 1px var(--oc),0 0 24px -8px var(--oc)}}
@media (max-width:900px),(prefers-reduced-motion:reduce){
  .sq-links path{stroke-dashoffset:0}.sq-cl em,.sq-app{opacity:1;transform:none;translate:none}
  .sq-socle::after,.sq-app{animation:none!important}
}

/* ===== Solutions izy et izy Studio : les bulles du fond ne traversent plus les cartes =====
   Même reflet vitré qu'avant, posé sur un fond plein à la couleur de l'offre. */
.w-solutions .st-tile,.w-studio .st-tile,.w-solutions .st-card,.w-studio .st-card,.w-solutions .st-early,.w-studio .st-early,
.w-solutions .st-split,.w-studio .st-split,.w-solutions .st-faq details,.w-studio .st-faq details,.w-solutions .w-perso,
.w-solutions .vs-card,.w-solutions .pq-vis,.w-studio .pq-vis,.w-solutions .fx-kpis div,.w-studio .fx-kpis div{
  background-color:color-mix(in srgb,var(--obg) 88%,var(--oc) 3%)!important}

/* ===== Chiffres du héro, dans les trois offres : entrée à l'ouverture =====
   Les cartes montent l'une après l'autre, un reflet les traverse, les nombres comptent. */
.dive .fx-kpis div{position:relative;overflow:hidden}
.dive .world.on .fx-kpis div{animation:kpiIn 1s cubic-bezier(.16,1,.3,1) both!important}
.dive .world.on .fx-kpis div:nth-child(1){animation-delay:.75s!important}
.dive .world.on .fx-kpis div:nth-child(2){animation-delay:.9s!important}
.dive .world.on .fx-kpis div:nth-child(3){animation-delay:1.05s!important}
.dive .fx-kpis div::after{content:"";position:absolute;inset:0;pointer-events:none;translate:-110% 0;
  background:linear-gradient(100deg,transparent 30%,color-mix(in srgb,var(--oc) 22%,transparent) 50%,transparent 70%)}
.dive .world.on .fx-kpis div::after{animation:kpiSweep 1.4s cubic-bezier(.65,0,.35,1) both}
.dive .world.on .fx-kpis div:nth-child(1)::after{animation-delay:1.3s}.dive .world.on .fx-kpis div:nth-child(2)::after{animation-delay:1.45s}.dive .world.on .fx-kpis div:nth-child(3)::after{animation-delay:1.6s}
.dive .fx-kpis b{font-variant-numeric:tabular-nums}
@keyframes kpiIn{from{opacity:0;transform:translateY(36px) scale(.96);filter:blur(8px)}}
@keyframes kpiSweep{to{translate:110% 0}}
@media (prefers-reduced-motion:reduce){.dive .world.on .fx-kpis div,.dive .world.on .fx-kpis div::after{animation:none!important}}

/* ===== Solutions izy : la gamme ===== */
.gm{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gm-card{position:relative;display:flex;flex-direction:column;padding:34px;border-radius:28px;overflow:hidden;
  background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.02));box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),inset 0 0 0 .5px rgba(255,255,255,.06)}
.gm-card > *{position:relative;z-index:1}
.gm-card header{display:flex;justify-content:space-between;align-items:center;gap:12px}
.gm-tag{display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--oc)}
.gm-tag i{width:7px;height:7px;border-radius:50%;background:var(--oc);animation:stPulse 2.4s ease-out infinite}
.gm-st{padding:5px 11px;border-radius:999px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.gm-card h5{margin-top:22px;font-size:clamp(36px,calc(3.6 * 1vw / var(--z,1)),52px);font-weight:600;letter-spacing:-.05em;line-height:1}
.gm-card h5 span{font-weight:400;color:var(--oc)}
.gm-pitch{margin-top:8px;font-size:19px;color:var(--ink-2)}
.gm-vis{margin:26px 0 24px;padding:18px;border-radius:18px;background:rgba(0,0,0,.25);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.gm-vis p{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
.gm-campus .r{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:center;padding:6px 0}
.gm-campus .r i{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--oc),#BBA8F8);opacity:.7}
.gm-campus .r span{height:7px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.gm-campus .r u{display:block;height:100%;width:var(--w);background:var(--oc);transform-origin:0 50%;animation:vsFill 4.2s cubic-bezier(.65,0,.35,1) infinite}
.gm-campus .r:nth-of-type(2) u{animation-delay:.3s}.gm-campus .r:nth-of-type(3) u{animation-delay:.6s}
.gm-rh .g{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}
.gm-rh .g i{aspect-ratio:1.6;border-radius:7px;background:color-mix(in srgb,var(--oc) calc(var(--l) * 85%),rgba(255,255,255,.05));animation:gmCell 4.2s ease-in-out infinite}
.gm-rh .g i:nth-child(3n+2){animation-delay:.35s}.gm-rh .g i:nth-child(3n){animation-delay:.7s}
.gm-rh .g i:nth-child(4),.gm-rh .g i:nth-child(9){box-shadow:0 0 0 2px #F8B597;animation:gmCell 4.2s ease-in-out infinite,vsPing 2s ease-out infinite;--c:#F8B597}
@keyframes gmCell{0%,100%{opacity:.35}40%,70%{opacity:1}}
.gm-card ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.gm-card li{position:relative;padding-left:28px;font-size:16px;line-height:1.5;color:var(--ink-2)}
.gm-card li::before{content:"";position:absolute;left:0;top:.3em;width:16px;height:16px;border-radius:50%;background:color-mix(in srgb,var(--oc) 20%,transparent);box-shadow:inset 0 0 0 1px var(--oc)}
.gm-foot{margin-top:auto;padding-top:22px;font-size:14px;color:var(--ink-3)}
.w-solutions .gm-card{background-color:color-mix(in srgb,var(--obg) 88%,var(--oc) 3%)}
.js .w-solutions .gm .st-rv{opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform 1s cubic-bezier(.16,1,.3,1)}
.js .w-solutions .gm .st-rv.in{opacity:1;transform:none}
.gm .st-rv:nth-child(2){transition-delay:.12s}
@media (max-width:900px){.gm{grid-template-columns:1fr}.gm-card{padding:26px}}
@media (prefers-reduced-motion:reduce){.gm-vis *{animation:none!important}.js .w-solutions .gm .st-rv{opacity:1;transform:none}}

/* La gamme : une preuve par carte, même place, même poids */
.gm-proof{margin-top:auto;padding-top:24px;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;border-top:1px solid rgba(255,255,255,.07);margin-top:24px}
.gm-card ul{margin-bottom:0}
.gm-proof b{font-size:clamp(26px,calc(2.4 * 1vw / var(--z,1)),34px);font-weight:600;letter-spacing:-.045em;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums;
  background:linear-gradient(100deg,#fff,var(--oc));-webkit-background-clip:text;background-clip:text;color:transparent}
.gm-proof span{font-size:14px;line-height:1.5;color:var(--ink-3)}
.gm-proof em{font-style:normal;color:var(--ink)}
@media (max-width:900px){.gm-proof{grid-template-columns:1fr;gap:8px}}

/* ===== Solutions izy : quatre solutions ===== */
.gm{grid-template-columns:1fr 1fr}
/* IA de confiance : registre et niveaux de risque */
.gm-ia .u,.pv-u{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid rgba(255,255,255,.06);font-size:13.5px}
.gm-ia .u:first-of-type,.pv-u:first-of-type{border-top:0}
.gm-ia .u b,.pv-u b{font-weight:500;color:var(--ink)}
.pv-u span{font-size:12px;color:var(--ink-3)}
.gm-ia em,.pv-u em{margin-left:auto;padding:3px 9px;border-radius:999px;font-style:normal;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.04em;white-space:nowrap}
em.hi{color:#F8B597;background:rgba(248,181,151,.12);box-shadow:inset 0 0 0 1px rgba(248,181,151,.4)}
em.lo{color:#F4EC91;background:rgba(244,236,145,.1);box-shadow:inset 0 0 0 1px rgba(244,236,145,.35)}
em.ok{color:var(--oc);background:color-mix(in srgb,var(--oc) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--oc) 40%,transparent)}
.gm-ia em{animation:gmScan 4.5s ease-in-out infinite}
.gm-ia .u:nth-of-type(2) em{animation-delay:.5s}.gm-ia .u:nth-of-type(3) em{animation-delay:1s}
@keyframes gmScan{0%,12%{opacity:0;transform:scale(.8)}22%,88%{opacity:1;transform:none}100%{opacity:0}}
.pq-ch .pv-u{opacity:0;translate:16px 0;transition:opacity .5s,translate .6s cubic-bezier(.16,1,.3,1)}
.pq-ch.on .pv-u{opacity:1;translate:none}
.pq-ch.on .pv-u:nth-of-type(2){transition-delay:.12s}.pq-ch.on .pv-u:nth-of-type(3){transition-delay:.24s}.pq-ch.on .pv-u:nth-of-type(4){transition-delay:.36s}
/* Courtage : un dossier avance d'étape en étape */
.gm-kb .k{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.gm-kb .k span{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.k-track{position:relative;height:56px}
.k-track i{position:absolute;top:10px;left:0;width:calc(25% - 6px);height:34px;border-radius:9px;background:color-mix(in srgb,var(--oc) 18%,rgba(0,0,0,.2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--oc) 45%,transparent);animation:kbMove 6s cubic-bezier(.65,0,.35,1) infinite}
.k-track .c2{animation-delay:-2s;opacity:.7}.k-track .c3{animation-delay:-4s;opacity:.45}
@keyframes kbMove{0%,10%{left:0}25%,35%{left:25%}50%,60%{left:50%}75%,90%{left:75%;background:var(--oc)}100%{left:75%;opacity:0}}
.pv-kb{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pv-kb > div{padding:10px 8px;border-radius:12px;background:rgba(0,0,0,.22);display:flex;flex-direction:column;gap:6px;min-height:150px}
.pv-kb p{font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}
.pv-kb i{height:26px;border-radius:7px;background:color-mix(in srgb,var(--oc) 16%,rgba(255,255,255,.03));box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);opacity:0;scale:.8;transition:opacity .5s,scale .6s cubic-bezier(.16,1,.3,1)}
.pq-ch.on .pv-kb i{opacity:1;scale:1}
.pq-ch.on .pv-kb > div:nth-child(2) i{transition-delay:.1s}.pq-ch.on .pv-kb > div:nth-child(3) i{transition-delay:.2s}.pq-ch.on .pv-kb > div:nth-child(4) i{transition-delay:.3s}
.pv-kb .mv{background:var(--oc)}
.pq-ch.on .pv-kb .mv{animation:kbHop 3s cubic-bezier(.65,0,.35,1) 1s infinite}
@keyframes kbHop{0%,35%{transform:none}55%,100%{transform:translateX(calc(100% + 8px))}}
.pq-4{height:calc(300 * 1vh / var(--z,1))}
@media (prefers-reduced-motion:reduce){.gm-ia em,.k-track i,.pv-kb .mv{animation:none!important}.pv-u,.pv-kb i{opacity:1;translate:none;scale:1}}
@media (max-width:900px){.pq-4{height:auto}.pv-u,.pv-kb i{opacity:1;translate:none;scale:1}}

.gm-st.gm-live{display:inline-flex;align-items:center;gap:7px;color:#0A0A0C;background:var(--oc);box-shadow:0 0 22px -6px var(--oc)}
.gm-live i{width:6px;height:6px;border-radius:50%;background:#0A0A0C;animation:stPulse 2.4s ease-out infinite}

/* ===== izy Campus : la gamification ===== */
.gm-campus .bd{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}
.gm-campus .bd span,.pv-bd span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:13px;color:#0A0A0C;
  background:radial-gradient(circle at 35% 30%,#fff,var(--oc) 55%,color-mix(in srgb,var(--oc) 60%,#000));box-shadow:0 0 0 2px color-mix(in srgb,var(--oc) 35%,transparent)}
.gm-campus .bd span{animation:bdPop 5.6s cubic-bezier(.34,1.56,.64,1) infinite}
.gm-campus .bd .b2{animation-delay:.6s}.gm-campus .bd .b3{animation-delay:1.2s}.gm-campus .bd .b4{animation-delay:1.8s}
.gm-campus .bd em,.pv-bd em{margin-left:auto;font-style:normal;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
@keyframes bdPop{0%,8%{transform:scale(.4);filter:grayscale(1) brightness(.35)}16%{transform:scale(1.18);filter:none}22%,86%{transform:none;filter:none}100%{transform:scale(.4);filter:grayscale(1) brightness(.35)}}
.pv-bd{display:flex;align-items:center;gap:8px;margin-top:14px}
.pv-bd span{transform:scale(.4);opacity:0;transition:transform .6s cubic-bezier(.34,1.56,.64,1),opacity .4s}
.pv-bd .lk{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);font-size:12px}
.pq-ch.on .pv-bd span{transform:none;opacity:1}
.pq-ch.on .pv-bd span:nth-child(1){transition-delay:1s}.pq-ch.on .pv-bd span:nth-child(2){transition-delay:1.2s}.pq-ch.on .pv-bd span:nth-child(3){transition-delay:1.4s}.pq-ch.on .pv-bd span:nth-child(4){transition-delay:1.6s}
@media (prefers-reduced-motion:reduce){.gm-campus .bd span{animation:none}.pv-bd span{transform:none;opacity:1}}
@media (max-width:900px){.pv-bd span{transform:none;opacity:1}}

/* ===== izy People : l'arrivée d'un collaborateur se prépare ===== */
.gm-ppl .t{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:13.5px;color:var(--ink-2)}
.gm-ppl .t i{flex:none;width:18px;height:18px;border-radius:6px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.2);position:relative;animation:pplBox 6s ease-in-out infinite}
.gm-ppl .t i::after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #0A0A0C;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);animation:pplTick 6s ease-in-out infinite}
.gm-ppl .t:nth-of-type(2) i,.gm-ppl .t:nth-of-type(2) i::after{animation-delay:.7s}
.gm-ppl .t:nth-of-type(3) i,.gm-ppl .t:nth-of-type(3) i::after{animation-delay:1.4s}
.gm-ppl .t:nth-of-type(4) i,.gm-ppl .t:nth-of-type(4) i::after{animation-delay:2.1s}
@keyframes pplBox{0%,10%{background:transparent}18%,85%{background:var(--oc);box-shadow:0 0 12px -2px var(--oc)}100%{background:transparent}}
@keyframes pplTick{0%,10%{transform:rotate(45deg) scale(0)}18%,85%{transform:rotate(45deg) scale(1)}100%{transform:rotate(45deg) scale(0)}}
@media (prefers-reduced-motion:reduce){.gm-ppl .t i,.gm-ppl .t i::after{animation:none}.gm-ppl .t i{background:var(--oc)}.gm-ppl .t i::after{transform:rotate(45deg)}}

/* ===== Votre marque : une marque et un écran par solution ===== */
.rb-app{display:grid}
.rb-bar{grid-row:1}
.rb-scr{grid-row:2;grid-column:1;opacity:0;translate:0 -8px;transition:opacity .22s,translate .22s;pointer-events:none}
.rb-scr.on{opacity:1;translate:none;transition:opacity .5s .24s,translate .6s cubic-bezier(.16,1,.3,1) .24s}
.rb-li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid rgba(255,255,255,.06);font-size:13px;color:var(--ink-2)}
.rb-li i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--b)}
.rb-li em{margin-left:auto;font-style:normal;font-family:var(--f-mono);font-size:10.5px;color:var(--ink-3)}
.rb-scr.on .rb-li{animation:rbIn .6s cubic-bezier(.16,1,.3,1) both}
.rb-scr.on .rb-li + .rb-li{animation-delay:.12s}
@keyframes rbIn{from{opacity:0;transform:translateX(12px)}}

/* ===== Solutions izy : « Avant, après » =====
   Pour chaque solution, un même moment vécu deux fois. Au défilement, un rideau balaie la scène :
   à gauche du rideau la version d'avant (grise, désordonnée), à droite la version avec la solution. */
.ba-pin{position:relative;height:calc(310 * 1vh / var(--z,1))}
.ba-stagewrap{position:relative;height:460px}
.ba-ch{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;opacity:var(--a,0);translate:0 calc((1 - var(--a,0)) * 30px);pointer-events:none}
.ba-ch.on{pointer-events:auto}
.ba-ch h5{margin:18px 0 22px;font-size:clamp(28px,calc(3 * 1vw / var(--z,1)),42px);font-weight:600;letter-spacing:-.045em;line-height:1.05}
.ba-txt{display:flex;flex-direction:column;gap:14px}
.ba-txt p{position:relative;padding:16px 18px 16px 18px;border-radius:16px;font-size:16px;line-height:1.5;transition:opacity .5s,background .5s,box-shadow .5s}
.ba-txt b{display:block;margin-bottom:4px;font-family:var(--f-mono);font-size:11px;font-weight:400;letter-spacing:.1em;text-transform:uppercase}
.ba-av{color:var(--ink-3);background:rgba(255,255,255,.03);opacity:calc(1 - var(--w,0) * .55)}
.ba-av b{color:var(--ink-3)}
.ba-ap{color:var(--ink-2);opacity:calc(.35 + var(--w,0) * .65);background:color-mix(in srgb,var(--oc) calc(var(--w,0) * 10%),transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--oc) calc(var(--w,0) * 40%),transparent)}
.ba-ap b{color:var(--oc)}
/* La scène */
.ba-stage{position:relative;height:340px;border-radius:26px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 40px 80px -40px color-mix(in srgb,var(--oc) calc(var(--w,0) * 50%),transparent)}
.ba-layer{position:absolute;inset:0;padding:26px}
.ba-before{background:#181B1E;filter:grayscale(1);color:var(--ink-2)}
.ba-after{background:linear-gradient(160deg,color-mix(in srgb,var(--oc) 10%,#111816),#0E1412);clip-path:inset(0 calc((1 - var(--w,0)) * 100%) 0 0)}
.ba-handle{position:absolute;top:0;bottom:0;left:calc(var(--w,0) * 100%);width:2px;margin-left:-1px;background:var(--oc);box-shadow:0 0 18px var(--oc);opacity:calc(var(--w,0) * (1 - var(--w,0)) * 6);z-index:3}
.ba-handle span{position:absolute;top:14px;padding:3px 8px;border-radius:999px;font-family:var(--f-mono);font-style:normal;font-size:10px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.ba-handle span:first-child{left:10px;color:var(--ink-3);background:rgba(0,0,0,.5)}
.ba-handle span:last-child{right:10px;color:#0A0A0C;background:var(--oc)}
/* Avant : le désordre */
.bb-sheet{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:70%;margin-top:6px}
.bb-sheet i{height:26px;background:rgba(255,255,255,.07);border-radius:3px}
.bb-sheet i.x{background:rgba(255,255,255,.18)}
.bb-note{position:absolute;font-family:var(--f-mono);font-size:11.5px;padding:7px 11px;border-radius:8px;background:rgba(255,255,255,.12);color:#cfd2d6}
.bb-note.bb-n1{left:26px;bottom:26px}.bb-note.bb-n2{right:26px;top:120px;rotate:4deg}
.bb-post{position:absolute;padding:14px 16px;width:150px;font-size:13px;color:#222;background:#cfcfcf;box-shadow:0 8px 20px rgba(0,0,0,.4)}
.bb-post.bb-p1{left:26px;top:30px;rotate:-6deg}.bb-post.bb-p2{left:190px;top:70px;rotate:5deg}.bb-post.bb-p3{left:80px;top:160px;rotate:-2deg}
.bb-q{position:absolute;padding:8px 14px;border-radius:999px;font-size:14px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.bb-q.bb-q1{left:30px;top:40px}.bb-q.bb-q2{left:200px;top:90px}.bb-q.bb-q3{left:60px;top:150px}.bb-q.bb-q4{left:300px;top:30px;font-size:30px;padding:6px 18px}
.bb-mail{margin:0 0 8px;padding:12px 14px;border-radius:10px;font-size:13.5px;background:rgba(255,255,255,.06)}
.ba-before > *{animation:bbJit 3.2s ease-in-out infinite}
.ba-before > *:nth-child(2n){animation-delay:-1.1s}.ba-before > *:nth-child(3n){animation-delay:-2s}
@keyframes bbJit{0%,100%{translate:0 0}50%{translate:2px -2px}}
/* Après : en ordre */
.ba-t{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:16px}
.ba-ok{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:12px;border-radius:12px;font-size:14px;color:var(--ink-2);background:color-mix(in srgb,var(--oc) 12%,rgba(0,0,0,.2))}
.ba-ok b{font-size:20px;color:var(--ink)}.ba-ok em{margin-left:auto;font-style:normal;color:var(--oc);font-weight:700}
.ba-after .pv-r u{transform:none}
.ba-bd{display:flex;align-items:center;gap:8px;margin-top:14px}
.ba-bd span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:13px;color:#0A0A0C;background:radial-gradient(circle at 35% 30%,#fff,var(--oc) 55%,color-mix(in srgb,var(--oc) 60%,#000))}
.ba-bd em{margin-left:auto;font-style:normal;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.ba-li{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid rgba(255,255,255,.06);font-size:14px}
.ba-li span{font-size:12px;color:var(--ink-3)}.ba-li em{margin-left:auto;font-style:normal;font-size:12.5px;color:var(--oc)}
.ba-after .pv-u{opacity:1;translate:none}
.ba-after .pv-ai{opacity:1;translate:none;margin-top:14px}
.ba-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:16px}
.ba-steps span{padding:10px 0;border-radius:9px;text-align:center;font-family:var(--f-mono);font-size:10.5px;text-transform:uppercase;color:var(--ink-3);background:rgba(255,255,255,.05)}
.ba-steps .d{color:var(--oc);background:color-mix(in srgb,var(--oc) 12%,transparent)}
.ba-steps .on{color:#0A0A0C;background:var(--oc)}
@media (max-width:900px),(prefers-reduced-motion:reduce){
  .ba-pin{height:auto}
  .ba-stagewrap{height:auto;display:flex;flex-direction:column;gap:56px}
  .ba-ch{position:static;opacity:1;translate:none;grid-template-columns:1fr;gap:24px;--w:1}
  .ba-handle{display:none}
  .ba-before > *{animation:none}
}

/* ===== « Quelle offre pour vous ? » sur les trois offres ===== */
.dive .vs-card{background-color:color-mix(in srgb,var(--obg) 88%,var(--oc) 3%)}
.vs-btn{text-decoration:none}
.factory-more .vs-sec{padding:140px 0 40px}
.factory-more .vs-sec .st-head{margin-bottom:44px}
.w-studio .vs-sec{margin-top:130px}

/* ===== Accueil : les références présentées comme les clients de Factory ===== */
.refs-vr{padding-top:40px}
.refs-vr .vr-head{width:100%!important;box-sizing:border-box;padding:0 4px;display:grid!important;grid-template-columns:1.5fr 1fr!important;gap:48px!important;align-items:end!important;text-align:left!important}
.refs-vr .vr-h{font-size:clamp(30px,calc(3.2 * 1vw / var(--z,1)),46px)!important;letter-spacing:-.05em;line-height:1;white-space:normal!important}
.refs-vr .vr-h span{display:block;color:var(--ink-3)}
.refs-vr .vr-lead{text-align:left!important;justify-self:stretch!important;max-width:none!important;font-size:15.5px;line-height:1.55}
.refs-vr .ref-logos{margin-top:40px}
@media (max-width:900px){.refs-vr .vr-head{grid-template-columns:1fr!important;gap:20px!important}}

/* ===== FAQ : la même présentation sur les trois offres (couleur de l'offre) ===== */
.fq-sec .fq-head{display:block!important}
.fq-sec .fq-head .st-h{margin-bottom:22px}
.fq-sec .fq-head > div{display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:left!important}
.fq-sec .fq-head .st-kick{align-self:flex-start!important;margin-left:0!important}
.fq-sec .fq-head .lead{font-size:17px;color:var(--ink-2);line-height:1.6;margin:0}
:is(#faq,.fq-sec) .fq.fq{background:linear-gradient(160deg,color-mix(in srgb,var(--obg) 82%,#fff 4%),color-mix(in srgb,var(--obg) 92%,#000))!important}
:is(#faq,.fq-sec) .fq-more{background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--oc) 22%,transparent),transparent 60%),linear-gradient(160deg,color-mix(in srgb,var(--obg) 80%,var(--oc) 8%),var(--obg))!important;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),0 0 0 1px color-mix(in srgb,var(--oc) 28%,transparent),0 30px 60px -34px color-mix(in srgb,var(--oc) 60%,transparent)!important}
:is(#faq,.fq-sec) .fqm-ico{color:var(--oc)!important;background:color-mix(in srgb,var(--oc) 14%,transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--oc) 35%,transparent)!important}
:is(#faq,.fq-sec) .fq-more .btn{background:var(--oc)!important;box-shadow:0 14px 34px -14px var(--oc)!important}
:is(#faq,.fq-sec) .fq-more .btn:hover{background:color-mix(in srgb,var(--oc) 80%,#fff)!important}
.w-studio .fq-sec,.w-solutions .fq-sec{margin-top:130px}
@media (max-width:1024px){.fq-sec .fq-more{margin:0 0 30px}}

/* ===== Petits écrans d'ordinateur (portable 13 pouces, fenêtre réduite) : version compacte =====
   Les grands titres, cartes et scènes fixes sont pensés pour un grand écran ; ici on les ramène
   à une taille qui tient dans la hauteur visible, sans toucher au mobile (≤ 900 px). */
@media (min-width:901px) and (max-height:820px), (min-width:901px) and (max-width:1280px){
  /* Pour qui (Factory) : les situations */
  .dive .factory-more .ap-ch:not([data-i="0"]) .ap-h{font-size:clamp(24px,calc(2.6 * 1vw / var(--z,1)),34px)!important;margin:14px 0 12px!important}
  .dive .factory-more .ap-ch:not([data-i="0"]) .ap-b{font-size:14px!important}
  /* Les 4 promesses */
  .dive .cy-stage{height:400px!important}
  .dive .cy-card{width:380px!important;left:-190px!important;height:380px!important;padding:26px 28px!important}
  .dive .cy-t{font-size:clamp(28px,calc(2.6 * 1vw / var(--z,1)),38px)!important}
  .dive .cy-b{font-size:14.5px!important;margin-top:14px!important}
  /* Chiffres du héro */
  .dive .fx-kpis b{font-size:clamp(26px,calc(2.4 * 1vw / var(--z,1)),34px)!important}
  .dive .fx-kpis div{padding:18px 20px!important}
  /* Carrousels horizontaux */
  .sths-track .st-tile{min-height:min(340px,calc(52 * 1vh / var(--z,1)))!important;width:min(380px,calc(70 * 1vw / var(--z,1)))!important}
  .sths-track .st-tile h5{font-size:24px!important}
  /* Scènes en chapitres (Pour qui Studio, Avant / après) */
  .pq-stage{height:380px!important}
  .pq-vis{padding:20px!important}
  .ba-stagewrap{height:360px!important}
  .ba-stage{height:280px!important}
  .ba-txt p{font-size:14.5px!important;padding:12px 14px!important}
  /* La gamme, comparatif, FAQ */
  .gm-card{padding:26px!important}.gm-card h5{font-size:clamp(28px,calc(2.8 * 1vw / var(--z,1)),40px)!important}
  .vs-head h5{font-size:clamp(17px,calc(1.6 * 1vw / var(--z,1)),21px)!important}.vs-row{font-size:14.5px!important;padding:12px 0!important}
  :is(#faq,.fq-sec) .fq-q h3{font-size:16px!important}
}

/* Vitrine clients : sur un écran peu haut, tout le contenu de la scène est réduit pour tenir */
@media (min-width:901px) and (max-height:820px){
  .vr .vr-in > :not(.vr-room){zoom:.84}
  .vr .vr-in{padding-top:58px!important}
}
@media (min-width:901px) and (max-height:680px){
  .vr .vr-in > :not(.vr-room){zoom:.72}
}

/* ===== « Une Wapp, c'est 4 promesses » : à l'arrêt, l'en-tête, la carte et les pastilles tiennent dans l'écran =====
   L'en-tête et les pastilles gardent leur taille ; la scène des cartes prend la hauteur qui reste. */
@media (min-width:901px){
  .fxp[data-fx="cyl"] .fxp-in{align-items:stretch;padding:76px 0 22px;box-sizing:border-box}
  .fxp[data-fx="cyl"] .cy-wrap{height:100%;justify-content:flex-start}
  .fxp[data-fx="cyl"] .cy-stage{flex:1 1 auto;min-height:0;height:auto!important;margin-top:18px!important}
  .fxp[data-fx="cyl"] .cy-card{top:0!important;height:min(520px,100%)!important;overflow:hidden}
  .fxp[data-fx="cyl"] .cy-pills{flex:none;margin-top:16px}
}

/* Cartes des 4 promesses : le contenu suit la hauteur de la carte au lieu d'être posé en absolu */
@media (min-width:901px){
  .fxp[data-fx="cyl"] .cy-card{justify-content:flex-start!important;padding:clamp(18px,calc(3.4 * 1vh / var(--z,1)),34px) clamp(22px,calc(3 * 1vw / var(--z,1)),38px)!important}
  .fxp[data-fx="cyl"] .cy-top{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:100%!important;margin-bottom:clamp(18px,calc(4 * 1vh / var(--z,1)),46px)}
  .fxp[data-fx="cyl"] .cy-card::after{display:none}
  .fxp[data-fx="cyl"] .cy-top::after{content:"";position:absolute;left:0;top:calc(100% + clamp(6px,calc(1.6 * 1vh / var(--z,1)),18px));width:44px;height:3px;border-radius:3px;background:var(--c);box-shadow:0 0 12px var(--c)}
  .fxp[data-fx="cyl"] .cy-t{font-size:clamp(22px,min(calc(4.8 * 1vh / var(--z,1)),calc(3.6 * 1vw / var(--z,1))),54px)!important}
  .fxp[data-fx="cyl"] .cy-b{margin-top:clamp(8px,calc(1.8 * 1vh / var(--z,1)),22px)!important;font-size:clamp(13px,calc(2.3 * 1vh / var(--z,1)),17px)!important;line-height:1.5!important}
  .fxp[data-fx="cyl"] .cy-tags{position:static!important;margin-top:auto!important;padding-top:12px}
}
@media (min-width:901px) and (max-height:720px){
  .fxp[data-fx="cyl"] .cy-tags{display:none!important}
}

/* Vitrine clients : plus d'air entre les onglets, l'écran, sa légende et la fiche */
.vr-tabs{margin-bottom:clamp(14px,calc(3 * 1vh / var(--z,1)),34px)!important}
.vr-cap{margin-top:clamp(12px,calc(1.8 * 1vh / var(--z,1)),18px)!important}
.vr-ped{margin-top:clamp(40px,calc(7 * 1vh / var(--z,1)),72px)!important}
.vr-ped-c{padding-top:clamp(22px,calc(3.4 * 1vh / var(--z,1)),36px)!important}
.vr-name{margin-bottom:clamp(14px,calc(2.4 * 1vh / var(--z,1)),24px)!important}

/* ===== izy Factory, « Pour qui » : un jeu de cartes =====
   Quatre situations : le visiteur répond « c’est moi » ou « pas vraiment » (glisser, boutons ou flèches),
   puis découvre ce que Wappizy ferait pour les situations qu’il a reconnues. */
.ss-sec{padding:clamp(90px,calc(13 * 1vh / var(--z,1)),150px) 0 clamp(40px,calc(6 * 1vh / var(--z,1)),80px)}
.ss-play{min-height:0!important}
.ss-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,calc(6 * 1vw / var(--z,1)),96px);align-items:center}
.ss-side .lead{margin-top:20px;max-width:440px}
.ss-prog{list-style:none;display:flex;gap:8px;margin-top:34px}
.ss-prog li{width:46px;height:6px;border-radius:4px;background:rgba(255,255,255,.1);position:relative;overflow:hidden;transition:background .4s}
.ss-prog li.cur{box-shadow:0 0 0 1px color-mix(in srgb,var(--c) 60%,transparent)}
.ss-prog li.yes{background:var(--c);box-shadow:0 0 14px -2px var(--c)}
.ss-prog li.no{background:rgba(255,255,255,.28)}
.ss-tip{margin-top:14px;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--ink-3)}
.ss-play{position:relative;min-height:540px;display:flex;flex-direction:column;align-items:center}
.ss-deck{position:relative;width:min(500px,100%);height:420px;outline:none;perspective:1400px}
.ss-deck:focus-visible{outline:2px solid var(--oc);outline-offset:8px;border-radius:30px}
.ss-card{position:absolute;inset:0;display:flex;flex-direction:column;padding:34px 34px 30px;border-radius:28px;cursor:grab;user-select:none;touch-action:pan-y;
  background:radial-gradient(120% 80% at 100% 0%,color-mix(in srgb,var(--c) 16%,transparent),transparent 60%),linear-gradient(160deg,#1C1A2C,#12111C);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),inset 0 0 0 1px color-mix(in srgb,var(--c) 22%,transparent),0 40px 80px -40px rgba(0,0,0,.8);
  transform:translate(var(--x,0px),calc(var(--k,0) * 16px)) rotate(var(--r,0deg)) scale(calc(1 - var(--k,0) * .05));opacity:calc(1 - var(--k,0) * .28);
  z-index:calc(10 - var(--k,0));transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .4s}
.ss-card.drag{transition:none;cursor:grabbing}
.ss-card.gone{pointer-events:none;opacity:0!important;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .35s ease!important}
.ss-card[data-k="hide"]{opacity:0;pointer-events:none}
.ss-k{display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--c)}
.ss-k i{width:7px;height:7px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c)}
.ss-k span{margin-left:auto;color:var(--ink-3)}
.ss-h{margin-top:26px;font-size:clamp(26px,calc(2.5 * 1vw / var(--z,1)),36px);font-weight:600;letter-spacing:-.045em;line-height:1.05}
.ss-h span{display:block;color:var(--c)}
.ss-b{margin-top:18px;font-size:16px;line-height:1.55;color:var(--ink-2)}
.ss-who{margin-top:auto;align-self:flex-start;padding:9px 14px;border-radius:999px;font-size:13.5px;color:var(--ink);background:color-mix(in srgb,var(--c) 10%,rgba(255,255,255,.03));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 35%,transparent)}
.ss-stamp{position:absolute;top:30px;padding:8px 14px;border-radius:12px;font-family:var(--f-mono);font-size:14px;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;opacity:0;border:2px solid}
.ss-yes{right:28px;color:var(--c);border-color:var(--c);rotate:8deg;opacity:var(--yes,0)}
.ss-no{left:28px;color:var(--ink-2);border-color:var(--ink-3);rotate:-8deg;opacity:var(--no,0)}
.ss-btns{display:flex;gap:12px;margin-top:34px}
.ss-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;border:0;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s}
.ss-btn span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:13px}
.ss-btn-no{color:var(--ink-2);background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.ss-btn-no span{background:rgba(255,255,255,.1)}
.ss-btn-yes{color:#0A0A0C;background:var(--oc);box-shadow:0 14px 34px -14px var(--oc)}
.ss-btn-yes span{background:rgba(0,0,0,.15)}
.ss-btn:hover{transform:translateY(-2px)}
.ss-btn:focus-visible{outline:2px solid var(--oc);outline-offset:3px}
/* Résultat */
.ss-res{width:min(560px,100%);animation:ssIn .7s cubic-bezier(.16,1,.3,1) both}
.ss-res[hidden],.ss-btns[hidden],.ss-deck[hidden]{display:none}
.ss-res-k{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--oc)}
.ss-res-h{margin-top:14px;font-size:clamp(26px,calc(2.6 * 1vw / var(--z,1)),38px);font-weight:600;letter-spacing:-.045em;line-height:1.05}
.ss-res-l{list-style:none;display:flex;flex-direction:column;gap:12px;margin-top:24px}
.ss-res-l li{padding:18px 20px;border-radius:18px;background:linear-gradient(160deg,#1C1A2C,#12111C);box-shadow:inset 1px 1px 0 rgba(255,255,255,.12),inset 0 0 0 1px color-mix(in srgb,var(--c) 28%,transparent);
  animation:ssIn .6s cubic-bezier(.16,1,.3,1) both}
.ss-res-l li:nth-child(2){animation-delay:.1s}.ss-res-l li:nth-child(3){animation-delay:.2s}.ss-res-l li:nth-child(4){animation-delay:.3s}
.ss-res-l b{display:block;font-size:16px;font-weight:600;color:var(--c)}
.ss-res-l span{display:block;margin-top:6px;font-size:15px;line-height:1.55;color:var(--ink-2)}
.ss-res-cta{display:flex;align-items:center;gap:18px;margin-top:26px;flex-wrap:wrap}
.ss-again{border:0;background:none;font:inherit;font-size:14px;color:var(--ink-2);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
@keyframes ssIn{from{opacity:0;transform:translateY(20px)}}
@media (max-width:900px){.ss-grid{grid-template-columns:1fr}.ss-play{min-height:0}.ss-deck{height:440px}}
@media (prefers-reduced-motion:reduce){.ss-card,.ss-res,.ss-res-l li{transition:none;animation:none}}

/* ===== Factory, « Le studio Wappizy » : titre centré et plus grand que la liste qu'il annonce ===== */
.dive .factory-more #studio .fxp-head h2{text-align:center;font-size:clamp(34px,calc(4.4 * 1vw / var(--z,1)),60px)!important;line-height:1.02!important}
.dive .factory-more #studio .fxp-head h2 .l2{display:block!important}
#studio .spot-item h3{font-size:clamp(26px,calc(3 * 1vw / var(--z,1)),44px)!important}
@media (min-width:901px){
  #studio .fxp-in{align-items:center!important;padding:84px 0 24px;box-sizing:border-box}
  #studio .spot-vp{height:clamp(260px,calc(calc(100 * 1vh / var(--z,1)) - 330px),600px)!important}
}

/* ===== Un même rythme vertical sur les trois offres =====
   Chaque section est séparée de la précédente par le même écart ; les scènes fixes centrent leur contenu
   dans l'écran, avec autant d'air au-dessus qu'en dessous. */
.dive{--sec-gap:clamp(96px,calc(13 * 1vh / var(--z,1)),140px)}
.dive .factory-more > section,.dive .factory-more > .wrap > section,
.dive .w-studio > section,.dive .w-solutions > section{margin-top:var(--sec-gap)!important;padding-top:0!important;padding-bottom:0!important}
.dive .factory-more > section:last-of-type,.dive .w-studio > section:last-of-type,.dive .w-solutions > section:last-of-type{padding-bottom:var(--sec-gap)!important}
.dive .factory-more .ap2-pin .ap2-stk,.dive .factory-more .n90-stk{padding-top:0!important;padding-bottom:0!important;justify-content:center;align-items:center}
.dive .ss-sec{padding:0!important}
.dive .vs-sec{padding:0!important}
@media (max-width:900px){.dive{--sec-gap:72px}}

/* ===== Factory, « Les preuves » : un tableau de bord de Wapp en production ===== */
.db-head{display:grid!important;grid-template-columns:1.2fr 1fr!important;gap:48px!important;align-items:end!important;text-align:left!important;margin-bottom:44px!important}
.db-head > div{display:flex;flex-direction:column;align-items:flex-start!important}
.db{border-radius:28px;overflow:hidden;background:linear-gradient(160deg,#17152A,#0F0E19);box-shadow:inset 1px 1px 0 rgba(255,255,255,.12),0 0 0 1px rgba(255,255,255,.06),0 60px 120px -60px rgba(142,118,242,.5)}
.db-bar{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.07);font-size:13px}
.db-bar b{font-weight:500;color:var(--ink-2)}
.db-dots{display:flex;gap:6px}.db-dots i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.14)}
.db-live{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-style:normal;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#9BE8D4}
.db-live i{width:7px;height:7px;border-radius:50%;background:#9BE8D4;animation:stPulse 2s ease-out infinite;--oc:#9BE8D4}
.db-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(170px,auto);gap:12px;padding:12px}
.db-t{position:relative;display:flex;flex-direction:column;padding:22px;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  opacity:0;transform:translateY(18px);transition:opacity .7s,transform .8s cubic-bezier(.16,1,.3,1),box-shadow .4s}
.db-t:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 45%,transparent),0 20px 40px -24px var(--c)}
.db.live .db-t{opacity:1;transform:none}
.db.live .db-t:nth-child(2){transition-delay:.08s}.db.live .db-t:nth-child(3){transition-delay:.16s}.db.live .db-t:nth-child(4){transition-delay:.24s}
.db.live .db-t:nth-child(5){transition-delay:.32s}.db.live .db-t:nth-child(6){transition-delay:.4s}.db.live .db-t:nth-child(7){transition-delay:.48s}.db.live .db-t:nth-child(8){transition-delay:.56s}
.db-k{font-size:13.5px;line-height:1.4;color:var(--ink-2);max-width:260px}
.db-n{display:block;margin-top:10px;font-size:clamp(34px,calc(3.4 * 1vw / var(--z,1)),48px);font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--c);font-variant-numeric:tabular-nums}
.db-users{grid-column:span 2;grid-row:span 2}
.db-users .db-n{font-size:clamp(64px,calc(7 * 1vw / var(--z,1)),104px)}
.db-spark{position:absolute;left:0;right:0;bottom:0;width:100%;height:55%}
.db-spark .l{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.4s cubic-bezier(.65,0,.35,1) .4s}
.db-spark .a{opacity:0;transition:opacity 1.2s 1.6s}
.db.live .db-spark .l{stroke-dashoffset:0}.db.live .db-spark .a{opacity:1}
.db-devs{display:flex;gap:6px;margin-top:auto;padding-top:14px}
.db-devs span{flex:1;padding:8px 0;border-radius:10px;text-align:center;font-family:var(--f-mono);font-size:11px;color:var(--ink-3);background:rgba(255,255,255,.04);animation:dbDev 3.6s ease-in-out infinite}
.db-devs span:nth-child(2){animation-delay:1.2s}.db-devs span:nth-child(3){animation-delay:2.4s}
@keyframes dbDev{0%,100%{color:var(--ink-3);background:rgba(255,255,255,.04)}15%,35%{color:#0A0A0C;background:var(--c)}}
.db-weeks{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;margin-top:auto;padding-top:14px}
.db-weeks i{height:16px;border-radius:4px;background:rgba(255,255,255,.06);transition:background .3s}
.db.live .db-weeks i{background:var(--c)}
.db.live .db-weeks i:nth-child(1){transition-delay:.6s}.db.live .db-weeks i:nth-child(2){transition-delay:.75s}.db.live .db-weeks i:nth-child(3){transition-delay:.9s}.db.live .db-weeks i:nth-child(4){transition-delay:1.05s}
.db.live .db-weeks i:nth-child(5){transition-delay:1.2s}.db.live .db-weeks i:nth-child(6){transition-delay:1.35s}.db.live .db-weeks i:nth-child(7){transition-delay:1.5s}.db.live .db-weeks i:nth-child(8){transition-delay:1.65s}
.db-bars{margin-top:auto;padding-top:14px;display:flex;flex-direction:column;gap:7px}
.db-bars p{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:8px}
.db-bars small{font-size:11px;color:var(--ink-3)}
.db-bars i{display:block;height:10px;border-radius:5px;width:var(--w);background:rgba(255,255,255,.18);transform-origin:0 50%}
.db-bars i.after{background:var(--c);width:100%;transform:scaleX(1);transition:transform 1.4s cubic-bezier(.65,0,.35,1) .8s}
.db.live .db-bars i.after{transform:scaleX(.5)}
.db-sov{align-items:center;text-align:center}
.db-gauge{position:relative;width:110px;height:110px;margin-top:auto}
.db-gauge svg{width:100%;height:100%}
.db-gauge .g{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2s cubic-bezier(.65,0,.35,1) .5s}
.db.live .db-gauge .g{stroke-dashoffset:0}
.db-gauge b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;letter-spacing:-.04em;color:var(--c)}
.db-apps{grid-column:span 2}
.db-tiles{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;padding-top:14px}
.db-tiles i{line-height:1.2;padding:6px 10px;border-radius:9px;font-style:normal;font-size:11.5px;color:var(--ink-2);background:color-mix(in srgb,var(--c) 10%,rgba(255,255,255,.03));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 25%,transparent);
  opacity:0;transform:scale(.7);transition:opacity .4s,transform .5s cubic-bezier(.34,1.56,.64,1)}
.db-tiles i.plus{color:#0A0A0C;background:var(--c)}
.db.live .db-tiles i{opacity:1;transform:none}
.db-loop{margin-top:auto;width:120px;height:50px}
.db-loop{width:150px!important;height:62px!important}.db-loop .run{stroke-dasharray:.28 .72;animation:dbLoop 3s linear infinite;filter:drop-shadow(0 0 6px #E2F38E)}
@keyframes dbLoop{to{stroke-dashoffset:-1}}
.db-pipe{display:flex;align-items:center;gap:4px;margin-top:auto;padding-top:14px;font-family:var(--f-mono);font-size:10px;color:var(--ink-3)}
.db-pipe i{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.08)}
.db.live .db-pipe i{animation:dbPipe 3.5s ease-in-out infinite}
.db.live .db-pipe i:nth-of-type(2){animation-delay:.3s}.db.live .db-pipe i:nth-of-type(3){animation-delay:.6s}.db.live .db-pipe i:nth-of-type(4){animation-delay:.9s}.db.live .db-pipe i:nth-of-type(5){animation-delay:1.2s}
@keyframes dbPipe{0%,8%{background:rgba(255,255,255,.08)}20%,80%{background:var(--c)}100%{background:rgba(255,255,255,.08)}}
@media (max-width:1024px){.db-grid{grid-template-columns:1fr 1fr}.db-users{grid-row:span 1}.db-head{grid-template-columns:1fr!important}}
@media (max-width:600px){.db-grid{grid-template-columns:1fr}.db-users,.db-apps{grid-column:auto}}
@media (prefers-reduced-motion:reduce){.db-t,.db-tiles i{opacity:1;transform:none;transition:none}.db-devs span,.db-loop path,.db-pipe i{animation:none}}

.db-evo .db-n{display:none}.db-evo .db-loop{width:180px!important;height:76px!important;margin:auto auto 0 0}
.db-tiles i.plus{flex:none;padding:6px 12px}

/* ===== Factory, « Notre méthode » : la Wapp se construit sous vos yeux =====
   À gauche les quatre temps, à droite une maquette qui passe du schéma au produit vivant,
   puis reçoit de nouvelles briques. Scène fixe : un temps par quart de défilement. */
.mb-pin{position:relative;height:calc(260 * 1vh / var(--z,1))}
.mb-stk{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;align-items:center;padding-top:60px;box-sizing:border-box}
.mb-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,calc(5 * 1vw / var(--z,1)),80px);align-items:center;width:100%}
.mb-left .mt-h{margin-top:4px}
.mb-steps{position:relative;list-style:none;margin-top:clamp(20px,calc(4 * 1vh / var(--z,1)),40px);padding-left:28px;display:flex;flex-direction:column;gap:clamp(10px,calc(2 * 1vh / var(--z,1)),18px)}
.mb-rail{position:absolute;left:5px;top:6px;bottom:6px;width:2px;border-radius:2px;background:rgba(255,255,255,.08)}
.mb-rail b{position:absolute;left:0;top:0;width:100%;height:calc(var(--p,0) * 100%);border-radius:2px;background:linear-gradient(180deg,#BBA8F8,#B7DDF8,#9BE8D4,#E2F38E);box-shadow:0 0 12px rgba(187,168,248,.6)}
.mb-step{position:relative;opacity:.35;transition:opacity .5s}
.mb-step::before{content:"";position:absolute;left:-28px;top:4px;width:12px;height:12px;border-radius:50%;background:#0D0B1A;box-shadow:inset 0 0 0 2px rgba(255,255,255,.2);transition:background .4s,box-shadow .4s}
.mb-step.done{opacity:.6}.mb-step.done::before{background:var(--c);box-shadow:none}
.mb-step.on{opacity:1}.mb-step.on::before{background:var(--c);box-shadow:0 0 0 5px color-mix(in srgb,var(--c) 25%,transparent),0 0 14px var(--c)}
.mb-w{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--c)}
.mb-step h3{margin-top:4px;font-size:clamp(18px,calc(1.6 * 1vw / var(--z,1)),22px);font-weight:600;letter-spacing:-.03em}
.mb-step p{max-height:0;overflow:hidden;font-size:15px;line-height:1.55;color:var(--ink-2);transition:max-height .5s cubic-bezier(.16,1,.3,1),margin .4s}
.mb-step.on p{max-height:90px;margin-top:6px}
/* La fenêtre */
.mb-win{border-radius:22px;overflow:hidden;background:linear-gradient(160deg,#17152A,#0F0E19);box-shadow:inset 1px 1px 0 rgba(255,255,255,.12),0 0 0 1px rgba(255,255,255,.06),0 60px 120px -60px var(--mbc,#BBA8F8);transition:box-shadow .6s}
.mb-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.07);font-size:13px}
.mb-bar span{display:flex;gap:6px}.mb-bar span i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.14)}
.mb-bar b{font-weight:500;color:var(--ink-2)}
.mb-ver{margin-left:auto;padding:3px 10px;border-radius:999px;font-style:normal;font-family:var(--f-mono);font-size:11px;color:#0A0A0C;background:var(--mbc,#BBA8F8);transition:background .5s}
.mb-body{position:relative;height:clamp(280px,calc(46 * 1vh / var(--z,1)),400px)}
.mb-l{position:absolute;inset:0;padding:22px;opacity:0;transform:scale(.97);transition:opacity .6s,transform .7s cubic-bezier(.16,1,.3,1);pointer-events:none}
.mb-l.on{opacity:1;transform:none}
/* 1. Schéma */
.mb-l0 svg{position:absolute;inset:22px;width:calc(100% - 44px);height:calc(100% - 44px)}
.mb-l0 path{stroke:rgba(187,168,248,.5);stroke-width:1.5;fill:none;stroke-dasharray:6 6;animation:mbDash 1.5s linear infinite}
@keyframes mbDash{to{stroke-dashoffset:-24}}
.mb-node{position:absolute;z-index:1;padding:8px 14px;border-radius:10px;font-size:12.5px;color:var(--ink);background:#1E1B33;box-shadow:inset 0 0 0 1px rgba(187,168,248,.4);transform:translate(-50%,-50%)}
.mb-node.big{background:rgba(187,168,248,.16)}
.n1{left:18%;top:20%}.n2{left:50%;top:20%}.n3{left:82%;top:20%}.n4{left:50%;top:50%}.n5{left:22%;top:82%}.n6{left:78%;top:82%}
/* 2 et 3. L'écran */
.mb-screen{display:grid;grid-template-columns:70px 1fr;gap:14px}
.s-side{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:12px;background:rgba(255,255,255,.04)}
.s-side i{height:10px;border-radius:4px;background:rgba(255,255,255,.1)}
.s-main{display:flex;flex-direction:column;gap:12px}
.s-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.s-kpis i{height:58px;border-radius:12px;background:rgba(255,255,255,.05);font-style:normal;font-size:11px;color:var(--ink-3);padding:10px}
.s-kpis b{display:block;font-size:20px;color:var(--ink);letter-spacing:-.03em}
.s-chart{flex:1;min-height:60px;border-radius:12px;background:rgba(255,255,255,.04);overflow:hidden}
.s-chart svg{width:100%;height:100%}
.s-chart path{fill:none;stroke:#9BE8D4;stroke-width:2.5;stroke-dasharray:400;stroke-dashoffset:400}
.mb-l2.on .s-chart path{animation:mbDraw 1.6s cubic-bezier(.65,0,.35,1) .3s forwards}
@keyframes mbDraw{to{stroke-dashoffset:0}}
.s-rows{display:flex;flex-direction:column;gap:6px}
.s-rows i{height:16px;border-radius:5px;background:rgba(255,255,255,.05);overflow:hidden}
.s-rows u{display:block;height:100%;width:0;background:rgba(155,232,212,.35)}
.mb-l2.on .s-rows u{animation:mbRow 1.2s cubic-bezier(.16,1,.3,1) forwards}
.mb-l2.on .s-rows i:nth-child(1) u{--w:86%}.mb-l2.on .s-rows i:nth-child(2) u{--w:60%;animation-delay:.15s}.mb-l2.on .s-rows i:nth-child(3) u{--w:42%;animation-delay:.3s}
@keyframes mbRow{to{width:var(--w)}}
.wire *{box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)!important;background:transparent!important}
.wire .s-chart{background:repeating-linear-gradient(135deg,transparent 0 8px,rgba(255,255,255,.04) 8px 9px)!important}
.live .s-side i.on{background:#9BE8D4}
.live .s-kpis i{background:rgba(155,232,212,.1);box-shadow:inset 0 0 0 1px rgba(155,232,212,.25)}
.mb-badge{position:absolute;right:22px;bottom:18px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;color:#0A0A0C;background:#9BE8D4;box-shadow:0 10px 30px -10px #9BE8D4}
/* 4. Les briques */
.mb-l3{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}
.mb-screen.mini{grid-template-columns:40px 1fr;gap:8px;transform:scale(.96)}
.mb-screen.mini .s-kpis i{height:36px}
.mb-bricks{display:flex;flex-direction:column;gap:10px}
.mb-bricks span{padding:12px 14px;border-radius:12px;font-size:13.5px;font-weight:500;color:#0A0A0C;background:#E2F38E;box-shadow:0 12px 30px -14px #E2F38E;opacity:0;transform:translateX(40px) rotate(4deg)}
.mb-l3.on .mb-bricks span{animation:mbSnap .7s cubic-bezier(.34,1.56,.64,1) forwards}
.mb-l3.on .k2{animation-delay:.35s!important;background:#9BE8D4!important}.mb-l3.on .k3{animation-delay:.7s!important;background:#B7DDF8!important}.mb-l3.on .k4{animation-delay:1.05s!important;background:#BBA8F8!important}
@keyframes mbSnap{to{opacity:1;transform:none}}
@media (max-width:900px){
  .mb-pin{height:auto}.mb-stk{position:static;height:auto;padding:0}
  .mb-in{grid-template-columns:1fr}
  .mb-step{opacity:1}.mb-step p{max-height:none;margin-top:6px}
  .mb-right{display:none}
}
@media (prefers-reduced-motion:reduce){.mb-l0 path,.mb-l2.on .s-chart path,.mb-l2.on .s-rows u,.mb-l3.on .mb-bricks span{animation:none}.mb-bricks span{opacity:1;transform:none}}

/* ===== Échelle d'affichage : sur ordinateur, tout le site est rendu à 90 % =====
   Équivalent d'un zoom navigateur à 90 %. Les tailles liées à l'écran (vh, vw) sont divisées par --z
   pour que les scènes fixes remplissent toujours toute la hauteur. */
:root{--z:1}
@media (min-width:901px){html{zoom:.9}:root{--z:.9}}

/* ===== Plus de mouvements horizontaux =====
   Chapitres « Pour qui » de Studio, « Avant, après » : on glisse de côté au lieu de monter. */
.pq-ch{translate:calc(var(--y,0) * 3px) 0!important}
.ba-ch{translate:calc((1 - var(--a,0)) * 70px) 0!important}
/* Le studio Wappizy : la liste devient une bande horizontale, l'élément actif au centre */
@media (min-width:901px){
  #studio .spot-vp{height:auto!important;width:var(--dw,100vw)!important;margin-left:calc(50% - var(--dw,100vw) / 2)!important;
    -webkit-mask:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)!important;mask:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)!important}
  #studio .spot-vp .spot-list{flex-direction:row!important;align-items:flex-start!important;width:max-content!important;gap:clamp(24px,4vw,64px);margin:0!important;
    transform:translateX(var(--sx,0px))!important;transition:transform .8s cubic-bezier(.16,1,.3,1)!important}
  #studio .spot-item{width:min(520px,60vw);flex:none;padding:18px 0!important}
  #studio .spot-item h3{white-space:normal!important}
  #studio .spot-item p{max-height:120px!important;opacity:.35;margin-top:12px!important;transition:opacity .5s}
  #studio .spot-item.on p{opacity:1}
  #studio .spot-item:not(.on){transform:scale(.92);opacity:.6;transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .5s}
  #studio .spot-item.on{transform:none;opacity:1;transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .5s}
}

/* ===== Factory, « 100 % Souverain » : à l'horizontale =====
   Le texte à gauche, le trajet des données à droite (de gauche à droite, sans jamais sortir de l'UE),
   les quatre faits arrivent par la droite. */
@media (min-width:901px){
  .sv{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,5vw,80px);align-items:center;text-align:left!important;width:min(1200px,100%)}
  .sv-left{display:flex;flex-direction:column;align-items:flex-start}
  .sv .ap2-h{text-align:left}
  .sv .ap2-p{text-align:left;max-width:460px}
  .sv .ap2-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px;margin-top:22px!important;width:100%}
  .sv .ap2-facts li{border:0!important;padding:16px 18px!important;border-radius:16px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
  [data-ap2] .sv [data-at]{transform:translateX(70px)!important}
  [data-ap2] .sv .sv-left [data-at]{transform:translateX(-30px)!important}
  [data-ap2] .sv [data-at].on{transform:none!important}
}
.sv-flow{padding:20px;border-radius:22px;background:linear-gradient(160deg,#17152A,#0F0E19);box-shadow:inset 1px 1px 0 rgba(255,255,255,.1),0 0 0 1px rgba(255,255,255,.06)}
.sv-path{display:grid;grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr;align-items:stretch;gap:0}
.sv-node{display:flex;flex-direction:column;justify-content:center;text-align:center;gap:4px;min-width:0;padding:14px 8px;border-radius:12px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.sv-node b{font-size:14px;font-weight:600;line-height:1.2}
.sv-node small{font-size:11px;line-height:1.3;color:var(--ink-3)}
.sv-node.eu{background:rgba(183,221,248,.08);box-shadow:inset 0 0 0 1px rgba(183,221,248,.4)}
.sv-node.eu small{color:#B7DDF8}
.sv-line{position:relative;align-self:center;height:2px;margin:0 4px;border-radius:2px;background:rgba(255,255,255,.1);overflow:hidden}
.sv-line u{position:absolute;top:0;left:-30%;width:30%;height:100%;background:linear-gradient(90deg,transparent,#B7DDF8,transparent);animation:svRun 1.8s linear infinite}
.sv-line:nth-of-type(2) u{animation-delay:.3s}.sv-line:nth-of-type(3) u{animation-delay:.6s}
@keyframes svRun{to{left:100%}}
.sv-no{display:flex;align-items:center;gap:10px;margin-top:16px;padding-left:18px;font-size:12.5px;color:var(--ink-3)}
.sv-no i{width:40px;height:2px;background:repeating-linear-gradient(90deg,rgba(248,181,151,.6) 0 5px,transparent 5px 9px)}
.sv-no span{text-decoration:line-through;text-decoration-color:#F8B597}
.sv-no b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;color:#0A0A0C;background:#F8B597}
@media (max-width:900px){.sv-path{grid-template-columns:1fr;gap:6px}.sv-line{height:14px;width:2px;justify-self:center}.sv-line u{display:none}}
@media (prefers-reduced-motion:reduce){.sv-line u{animation:none}}

/* Factory, « Pour qui » : la scène reste fixe pendant qu'on joue */
@media (min-width:901px){
  .ss-pin{position:relative;height:calc(165 * 1vh / var(--z,1))}
  .ss-stk{position:sticky;top:0;height:calc(100 * 1vh / var(--z,1));display:flex;align-items:center;padding-top:64px;box-sizing:border-box}
  .ss-stk > .wrap{width:100%}
}

/* « 100 % Souverain » : les quatre faits arrivent par la droite */
@media (min-width:901px){
  [data-ap2] .ap2-sov .ap2-facts li[data-at]{transform:translateX(80px)!important}
  [data-ap2] .ap2-sov .ap2-facts li[data-at].on{transform:none!important}
}

/* « 100 % Souverain » : tout le mouvement est horizontal */
@media (min-width:901px){
  .ap2-sov .ap2-h .ap2-f{display:inline-block;transform:translateX(calc((1 - var(--f,0)) * 180px))}
  [data-ap2] .ap2-sov .ap2-p[data-at]{transform:translateX(-60px)!important}
  [data-ap2] .ap2-sov .ap2-p[data-at].on{transform:none!important}
}
.sv-g{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:min(620px,100%);margin:18px auto 6px}
.sv-g span{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
.sv-bar{display:block;height:6px;-webkit-background-clip:border-box!important;background-clip:border-box!important;background-repeat:no-repeat;border-radius:4px;background-image:linear-gradient(90deg,#B7DDF8 0%,#BBA8F8 55%,#F2D57E 100%),linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.1))!important;box-shadow:0 0 18px -4px rgba(187,168,248,.6)}
.sv-pct{font-size:15px;font-weight:700;letter-spacing:-.02em;white-space:nowrap}
@media (max-width:900px){.sv-g{grid-template-columns:1fr auto}.sv-g span{grid-column:1 / -1}}

/* ===== Accueil, « Une équipe pluridisciplinaire » : les visages de l'équipe ===== */
.tm-row{list-style:none;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;margin-top:clamp(40px,6vh,64px)}
.tm-row li{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px 16px;border-radius:20px;
  background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015));box-shadow:inset 1px 1px 0 rgba(255,255,255,.1),inset 0 0 0 1px rgba(255,255,255,.05);
  opacity:0;transform:translateX(30px);transition:opacity .6s calc(var(--i) * 70ms),transform .7s cubic-bezier(.16,1,.3,1) calc(var(--i) * 70ms),box-shadow .4s}
.tm-row.in li{opacity:1;transform:none}
.tm-row li:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 50%,transparent),0 20px 40px -24px var(--c)}
.tm-av{width:44px;height:44px;margin-bottom:10px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:700;letter-spacing:.02em;color:#0A0A0C;
  background:radial-gradient(circle at 30% 25%,#fff,var(--c) 60%);box-shadow:0 8px 22px -8px var(--c)}
.tm-row b{font-size:14.5px;font-weight:600;letter-spacing:-.01em;line-height:1.25}
.tm-row small{font-size:12px;line-height:1.35;color:var(--ink-3)}
.tm-join{border:1px dashed color-mix(in srgb,var(--c) 45%,transparent);background:none!important}
.tm-join .tm-av{background:none;color:var(--c);box-shadow:inset 0 0 0 1.5px var(--c);font-size:20px}
[data-theme="light"] .tm-row li{background:rgba(255,255,255,.75);box-shadow:inset 0 0 0 1px rgba(14,16,22,.08)}
@media (max-width:1180px){.tm-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:600px){.tm-row{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.tm-row li{opacity:1;transform:none;transition:none}}

/* Équipe : plus vivante */
.tm-row{position:relative;perspective:1200px}
.tm-wire{position:absolute;left:4%;right:4%;top:40px;height:2px;z-index:0;border-radius:2px;background:rgba(255,255,255,.06);overflow:hidden;pointer-events:none}
.tm-wire::after{content:"";position:absolute;top:0;left:-25%;width:25%;height:100%;background:linear-gradient(90deg,transparent,#BBA8F8,#9BE8D4,transparent);animation:tmWire 4s linear infinite}
@keyframes tmWire{to{left:100%}}
.tm-row li{position:relative;z-index:1;transform:translateX(40px) rotateY(-55deg);transform-origin:0 50%;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  transition:opacity .6s calc(var(--i) * 90ms),transform .9s cubic-bezier(.16,1,.3,1) calc(var(--i) * 90ms),box-shadow .4s,translate .45s cubic-bezier(.16,1,.3,1)}
.tm-row.in li{transform:none}
.tm-row li:hover{translate:0 -8px}
.tm-av{position:relative;animation:tmBob 4.5s ease-in-out infinite;animation-delay:calc(var(--i) * -.55s)}
.tm-av::after{content:"";position:absolute;inset:-5px;border-radius:50%;background:conic-gradient(from var(--tmr,0deg),var(--c),transparent 40%,transparent 60%,var(--c));
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));animation:tmSpin 5s linear infinite;animation-delay:calc(var(--i) * -.6s)}
@property --tmr{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes tmSpin{to{--tmr:360deg}}
@keyframes tmBob{0%,100%{translate:0 0}50%{translate:0 -5px}}
.tm-d{display:block;max-height:0;overflow:hidden;opacity:0;font-style:normal;font-size:12px;line-height:1.4;color:var(--ink-2);transition:max-height .5s cubic-bezier(.16,1,.3,1),opacity .4s,margin .4s}
.tm-row li:hover .tm-d,.tm-row li:focus-within .tm-d{max-height:80px;opacity:1;margin-top:6px}
.tm-row li:hover .tm-av{animation-play-state:paused;transform:scale(1.08)}
.tm-row.in li .tm-av{transition:transform .4s}
@media (prefers-reduced-motion:reduce){.tm-av,.tm-av::after,.tm-wire::after{animation:none}.tm-row li{transform:none}}

/* ===== Accueil, « Parlons de ce que nous pouvons construire » : un encadré plus élégant ===== */
#contact .ct-card{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;justify-items:stretch!important;text-align:left!important;gap:clamp(40px,5vw,80px)!important;padding:clamp(48px,7vh,80px) clamp(32px,5vw,72px)!important;
  background:radial-gradient(60% 80% at 0% 0%,rgba(142,118,242,.35),transparent 60%),radial-gradient(50% 70% at 100% 100%,rgba(92,201,174,.22),transparent 60%),linear-gradient(160deg,#1A1630,#0E0C1A)!important;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.12),0 60px 120px -60px rgba(142,118,242,.6)!important;isolation:isolate}
#contact .ct-mesh{opacity:.35!important;filter:blur(30px) saturate(.8)}
#contact .ct-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;z-index:2;pointer-events:none;
  background:conic-gradient(from var(--ctr,0deg),transparent 0 70%,#BBA8F8 80%,#9BE8D4 88%,#E2F38E 94%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:ctSpin 8s linear infinite}
@property --ctr{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes ctSpin{to{--ctr:360deg}}
#contact .ct-copy{align-items:flex-start!important;max-width:none!important}
#contact .ct-card .h2s-title{font-size:clamp(38px,calc(4.4 * 1vw / var(--z,1)),66px)!important;text-align:left}
#contact .ct-card .h2s-p{margin-left:0!important;text-align:left;max-width:460px}
#contact .ct-k{display:inline-flex;align-items:center;gap:8px;padding:0!important;background:none!important;border:0!important;color:#D9CEFF;letter-spacing:.12em}
#contact .ct-k i{width:7px;height:7px;border-radius:50%;background:#E2F38E;box-shadow:0 0 10px #E2F38E;animation:stPulse 2.4s ease-out infinite;--oc:#E2F38E}
.ct-box{position:relative;padding:28px;border-radius:26px;background:rgba(10,8,22,.55);box-shadow:inset 1px 1px 0 rgba(255,255,255,.12),inset 0 0 0 1px rgba(255,255,255,.06);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.ct-q{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.ct-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.ct-chips button{display:flex;align-items:center;gap:9px;padding:12px 14px;border-radius:14px;border:0;font:inherit;font-size:14.5px;font-weight:500;color:rgba(255,255,255,.75);cursor:pointer;
  background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);transition:background .3s,box-shadow .3s,color .3s,transform .3s}
.ct-chips button em{font-style:normal;color:var(--c);font-weight:400}
.ct-chips button i{width:8px;height:8px;border-radius:50%;background:var(--c);opacity:.5;transition:opacity .3s,box-shadow .3s}
.ct-chips button:hover{transform:translateY(-1px);color:#fff}
.ct-chips button.on{color:#fff;background:color-mix(in srgb,var(--c) 14%,rgba(255,255,255,.03));box-shadow:inset 0 0 0 1.5px var(--c),0 10px 30px -14px var(--c)}
.ct-chips button.on i{opacity:1;box-shadow:0 0 10px var(--c)}
.ct-go{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:17px 22px;border-radius:16px;font-size:16px;font-weight:600;color:#0A0A0C;text-decoration:none;
  background:var(--ctc,#BBA8F8);box-shadow:0 18px 40px -16px var(--ctc,#BBA8F8);transition:background .4s,box-shadow .4s,transform .3s}
.ct-go span{transition:transform .35s cubic-bezier(.16,1,.3,1)}
.ct-go:hover{transform:translateY(-2px)}.ct-go:hover span{transform:translateX(5px)}
.ct-ways{list-style:none;margin-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.ct-ways a{display:flex;align-items:center;gap:14px;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.08);color:#fff;text-decoration:none;font-size:15.5px;font-weight:500}
.ct-ways i{width:38px;height:38px;flex:none;border-radius:12px;display:grid;place-items:center;color:#D9CEFF;background:rgba(187,168,248,.12);box-shadow:inset 0 0 0 1px rgba(187,168,248,.3)}
.ct-ways i svg{width:18px;height:18px}
.ct-ways small{display:block;font-size:11.5px;font-weight:400;color:rgba(255,255,255,.55)}
.ct-ways b{margin-left:auto;font-weight:400;color:rgba(255,255,255,.4);transition:transform .35s cubic-bezier(.16,1,.3,1),color .3s}
.ct-ways a:hover b{transform:translateX(5px);color:#fff}
@media (max-width:900px){#contact .ct-card{grid-template-columns:1fr!important}.ct-chips{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){#contact .ct-card::before{animation:none}}

#contact .ct-k::before{display:none!important}

/* =========================================================
   Mode clair des trois offres (plongée) : généré à partir des règles sombres
   ========================================================= */
[data-theme="light"] #dive.dive{--obg:#F3F1FB;color:#0E1016}
[data-theme="light"] #dive.dive.o-studio{--obg:#F4F7E8}
[data-theme="light"] #dive.dive.o-solutions{--obg:#EDF7F3}
[data-theme="light"] #dive .w-factory{--obg:#F3F1FB}[data-theme="light"] #dive .w-studio{--obg:#F4F7E8}[data-theme="light"] #dive .w-solutions{--obg:#EDF7F3}
[data-theme="light"] #dive .kpi.pastel h3{text-shadow:none}
[data-theme="light"] #dive.dive{color:#0E1016}
[data-theme="light"] #dive .dive-bar{border-bottom:1px solid rgba(24,22,48,0.051)}
[data-theme="light"] #dive .dive-tabs{background:rgba(24,22,48,0.043);border:1px solid rgba(24,22,48,0.068)}
[data-theme="light"] #dive .dive-tabs button{color:rgba(14,16,22,0.69)}
[data-theme="light"] #dive .dive-tabs button em{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .dive-tabs button:hover{color:#0E1016}
[data-theme="light"] #dive.dive .icon-btn{color:#0E1016;background:rgba(24,22,48,0.051);border-color:rgba(24,22,48,0.085)}
[data-theme="light"] #dive .world{--ink:#0E1016;--ink-2:#4B5060;--ink-3:#6B7080}
[data-theme="light"] #dive .w-copy .wordmark span{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .world .izy{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .world .bc-tag{border-color:rgba(24,22,48,0.128)}
[data-theme="light"] #dive .world .bc-tag.live{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .w-steps li{background:linear-gradient(180deg,rgba(24,22,48,0.051),rgba(24,22,48,0.017));border:1px solid rgba(24,22,48,0.068)}
[data-theme="light"] #dive .w-steps li span{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .fv-grid{background-image:linear-gradient(rgba(24,22,48,0.043) 1px,transparent 1px),linear-gradient(90deg,rgba(24,22,48,0.043) 1px,transparent 1px)}
[data-theme="light"] #dive .fv-win{background:rgba(24,22,48,0.043);border:1px solid rgba(24,22,48,0.102);box-shadow:0 30px 60px -30px rgba(40,30,90,0.256)}
[data-theme="light"] #dive .fv-a i{background:rgba(24,22,48,0.17)}
[data-theme="light"] #dive .fv-a span{background:rgba(24,22,48,0.085)}
[data-theme="light"] #dive .fv-phone{border:1px solid rgba(24,22,48,0.153);background:rgba(247,247,251,.7)}
[data-theme="light"] #dive .fv-phone span{background:rgba(24,22,48,0.068)}
[data-theme="light"] #dive .sv-bar{border-bottom:1px solid rgba(24,22,48,0.051)}
[data-theme="light"] #dive .sv-bar i{background:rgba(24,22,48,0.128)}
[data-theme="light"] #dive .world .sol-kicker{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .w-perso{background:radial-gradient(70% 90% at 100% 0%,color-mix(in srgb,var(--oc) 22%,transparent),transparent 70%),linear-gradient(180deg,rgba(24,22,48,0.06),rgba(24,22,48,0.017))}
[data-theme="light"] #dive .dive-next button{border:1px solid rgba(24,22,48,0.102);color:#0E1016}
[data-theme="light"] #dive .dive-next button:hover{background:rgba(24,22,48,0.068)}
[data-theme="light"] #dive .sec-head h2::after{background:linear-gradient(105deg,transparent 40%,rgba(24,22,48,0.153) 50%,transparent 60%)}
[data-theme="light"] #dive .topbar .nav.glass::before{background:radial-gradient(240px 120px at var(--nx,50%) 0%,rgba(24,22,48,0.187),transparent 70%)}
[data-theme="light"] #dive .nav .icon-btn{box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px rgba(24,22,48,0.068)}
[data-theme="light"] #dive .dive-bar{background:linear-gradient(180deg,rgba(24,22,48,0.06),rgba(24,22,48,0.017))!important;box-shadow:inset 0 -1px 0 rgba(255,255,255,.08),0 10px 30px -15px rgba(40,30,90,0.192)}
[data-theme="light"] #dive .dive-tabs{background:rgba(24,22,48,0.051)!important}
[data-theme="light"] #dive .qz-res > p.t{color:#4B5060}
[data-theme="light"] #dive .topbar .nav.glass::before{background:radial-gradient(200px 80px at var(--nx,50%) 0%,rgba(24,22,48,0.085),transparent 70%)!important}
[data-theme="light"] #dive .nav .icon-btn:hover{color:#0E1016}
[data-theme="light"] #dive .nav .btn{box-shadow:0 1px 2px rgba(40,30,90,0.096)!important}
[data-theme="light"] #dive .factory-more{border-top:1px solid rgba(24,22,48,0.068);--bg:var(--obg);--ink:#0E1016;--ink-2:#4B5060;--ink-3:#6B7080}
[data-theme="light"] #dive .ct-actions .btn{box-shadow:0 14px 34px -14px rgba(40,30,90,0.16)!important}
[data-theme="light"] #dive .fx-pill .wordmark span{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .fx-pill b{border-left:1px solid rgba(24,22,48,0.128)}
[data-theme="light"] #dive .fx-steps li span{background:linear-gradient(180deg,color-mix(in oklab,var(--oc) 56%,#000),rgba(187,168,248,0))!important;-webkit-background-clip:text;background-clip:text}
[data-theme="light"] #dive .sit-nav.on b{color:color-mix(in oklab,var(--c) 56%,#000)}
[data-theme="light"] #dive .fx-stage .fv-phone{box-shadow:0 60px 90px -30px var(--oc),0 0 0 1px rgba(24,22,48,0.102)!important}
[data-theme="light"] #dive .cv-w1{color:#138F7A}
[data-theme="light"] #dive .cv-w2{color:#C4552A}
[data-theme="light"] #dive .cv-badge rect{stroke:#5B43D6}
[data-theme="light"] #dive .cv-badge text{fill:#5B43D6}
[data-theme="light"] #dive .cv-meter{background:linear-gradient(160deg,#EBE9F3,#F2F1F7);box-shadow:inset 1px 1px 0 rgba(255,255,255,.2),0 20px 40px -16px rgba(40,30,90,0.256)}
[data-theme="light"] #dive .cv-meter span{color:#4B5060}
[data-theme="light"] #dive .cv-meter b{background:linear-gradient(90deg,#C4552A,#6E8A12);-webkit-background-clip:text;background-clip:text}
[data-theme="light"] #dive .f.t{box-shadow:inset 0 0 0 1px rgba(24,22,48,0.425),inset 2px 2px 0 rgba(255,255,255,.55)}
[data-theme="light"] #dive .ibase .f.t{background:linear-gradient(135deg,color-mix(in srgb,var(--c) 28%,#EDECF1),color-mix(in srgb,var(--c) 14%,#F4F4F7))}
[data-theme="light"] #dive .iso-stage.done .ib .f.t{box-shadow:inset 0 0 0 1px rgba(24,22,48,0.5),0 0 30px -2px var(--c)}
[data-theme="light"] #dive .ai-list li.on b{color:color-mix(in oklab,var(--c) 56%,#000)}
[data-theme="light"] #dive .ai-bar{border-bottom:1px solid rgba(24,22,48,0.051)}
[data-theme="light"] #dive .ai-dots i{background:rgba(24,22,48,0.119)}
[data-theme="light"] #dive .ai-title{color:#6B7080}
[data-theme="light"] #dive .ai-badge{color:#138F7A}
[data-theme="light"] #dive .ai-input{box-shadow:inset 0 0 0 1px rgba(24,22,48,0.068),0 0 0 4px color-mix(in srgb,var(--ac,#BBA8F8) 10%,transparent)}
[data-theme="light"] #dive .ai-kbd{color:#6B7080;box-shadow:inset 0 0 0 1px rgba(24,22,48,0.102)}
[data-theme="light"] #dive .ai-thinking{color:#6B7080}
[data-theme="light"] #dive .ai-chip{color:#4B5060;background:rgba(24,22,48,0.043);box-shadow:inset 0 0 0 1px rgba(24,22,48,0.068)}
[data-theme="light"] #dive .ai-n{color:#6B7080}
[data-theme="light"] #dive .sc-tabs{background:rgba(24,22,48,0.034);box-shadow:inset 0 0 0 1px rgba(24,22,48,0.06)}
[data-theme="light"] #dive .sc-tabs button.on i{background:rgba(24,22,48,0.063)}
[data-theme="light"] #dive .ph{background:linear-gradient(170deg,#F0EFF5,#F7F7FA);box-shadow:0 0 0 7px #F3F2F6,0 0 0 8px rgba(24,22,48,0.102),0 50px 90px -30px var(--c)}
[data-theme="light"] #dive .ph-h{color:#0E1016}
[data-theme="light"] #dive .ph-card{background:rgba(24,22,48,0.051);box-shadow:inset 0 0 0 1px rgba(24,22,48,0.051)}
[data-theme="light"] #dive .ph-card span{color:#0E1016}
[data-theme="light"] #dive .ph-av b{border:2px solid #F4F3F8}
[data-theme="light"] #dive .ph-gauge{color:color-mix(in oklab,var(--c) 56%,#000)}
[data-theme="light"] #dive .ph-gauge b{color:#0E1016}
[data-theme="light"] #dive .cy-card.on{background:linear-gradient(170deg,rgba(24,22,48,0.145),rgba(24,22,48,0.051))}
[data-theme="light"] #dive .cy-n{color:color-mix(in oklab,var(--c) 56%,#000)}
[data-theme="light"] #dive .cy-pills button{background:linear-gradient(170deg,rgba(24,22,48,0.085),rgba(24,22,48,0.025));box-shadow:inset 1px 1px 0 rgba(255,255,255,.22),inset 0 0 0 1px rgba(24,22,48,0.06)}
[data-theme="light"] #dive .cy-t{background:linear-gradient(110deg,var(--ink) 30%,color-mix(in oklab,var(--c) 56%,#000));-webkit-background-clip:text;background-clip:text}
[data-theme="light"] #dive .hl-big .g{background:linear-gradient(100deg,#5B43D6,#138F7A 60%,#6E8A12);-webkit-background-clip:text;background-clip:text}
[data-theme="light"] #dive .xrows{border-top:1px solid rgba(24,22,48,0.068)}
[data-theme="light"] #dive .xr{border-bottom:1px solid rgba(24,22,48,0.068)}
[data-theme="light"] #dive .xr-k{color:color-mix(in oklab,var(--c) 56%,#000)}
[data-theme="light"] #dive .vr-floor{background-image:linear-gradient(rgba(24,22,48,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(24,22,48,0.06) 1px,transparent 1px)}
[data-theme="light"] #dive .vr-img{background:radial-gradient(80% 120% at 85% 40%,color-mix(in srgb,var(--c) 55%,transparent),transparent 60%),linear-gradient(135deg,#EFEEF6,#F6F6FA);box-shadow:0 0 0 3px rgba(24,22,48,0.5),0 0 0 4px rgba(40,30,90,0.192),0 0 60px -10px var(--c)}
[data-theme="light"] #dive .vr-img::after{background:linear-gradient(90deg,rgba(24,22,48,0.063),transparent 18%,transparent 82%,rgba(24,22,48,0.063))}
[data-theme="light"] #dive .vr-l img{filter:brightness(0) }
[data-theme="light"] #dive .vr-big{background:linear-gradient(110deg,#0E1016,color-mix(in oklab,var(--c) 56%,#000));-webkit-background-clip:text;background-clip:text}
[data-theme="light"] #dive .vr-bigl{color:#4B5060}
[data-theme="light"] #dive .vr-cap{color:#0E1016}
[data-theme="light"] #dive .vr-play{border:2px solid rgba(24,22,48,0.5)}
[data-theme="light"] #dive .vr-play::after{border-left:8px solid rgba(24,22,48,0.5)}
[data-theme="light"] #dive .vr-cap small{color:color-mix(in oklab,var(--c) 56%,#000)}
[data-theme="light"] #dive .vr-cap em{color:#6B7080}
[data-theme="light"] #dive .vr-ped-top{background:linear-gradient(180deg,#3A3850,#ECEBF3)}
[data-theme="light"] #dive .vr-ped-front{background:linear-gradient(180deg,#EAE9F1,#F4F4F7);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 30px 60px -20px rgba(40,30,90,0.288),0 0 60px -20px var(--vc,#BBA8F8)}
[data-theme="light"] #dive .vr-name{color:#0E1016;text-shadow:none}
[data-theme="light"] #dive .vr-dl dt{color:color-mix(in oklab,var(--c) 56%,#000)}
[data-theme="light"] #dive .vr-dl dd{color:#4B5060}
[data-theme="light"] #dive .vr-dl dd b{color:#0E1016}
[data-theme="light"] #dive .ap2-facts li{border-left:1px solid rgba(24,22,48,0.102)}
[data-theme="light"] #dive .bw.bw-done .bw-wall .bw-c{--dim:rgba(24,22,48,0.221)}
[data-theme="light"] #dive .bw-g{color:color-mix(in oklab,var(--pc) 56%,#000)}
[data-theme="light"] #dive .ig-ben li{border-left:1px solid rgba(24,22,48,0.102)}
[data-theme="light"] #dive .st2-c + .st2-c{border-left:1px solid rgba(24,22,48,0.102)}
[data-theme="light"] #dive .ev-list li{border-left:1px solid rgba(24,22,48,0.085)}
[data-theme="light"] #dive .ev-pin .ev-list li.cur .ev-w{text-shadow:none}
[data-theme="light"] #dive .vr-name{text-shadow:none}
[data-theme="light"] #dive .vr-dl > div{border-left:1px solid rgba(24,22,48,0.085)}
[data-theme="light"] #dive .vr-dl dt{color:color-mix(in oklab,var(--c) 56%,#000)!important}
[data-theme="light"] #dive .fq-list{border-top:1px solid rgba(24,22,48,0.085)}
[data-theme="light"] #dive .fq{border-bottom:1px solid rgba(24,22,48,0.085)!important}
[data-theme="light"] #dive .ai-cases{border-top:1px solid rgba(24,22,48,0.068)}
[data-theme="light"] #dive .ai-cases li{border-bottom:1px solid rgba(24,22,48,0.068)}
[data-theme="light"] #dive .ai-cases li:hover{background:rgba(24,22,48,0.025)}
[data-theme="light"] #dive .ai-cases li:focus-visible{background:rgba(24,22,48,0.025)}
[data-theme="light"] #dive .hero .lead{text-shadow:none}
[data-theme="light"] #dive .sa-win{background:linear-gradient(180deg,rgba(248,249,246,.92),rgba(251,251,250,.94));border:1px solid rgba(24,22,48,0.085);box-shadow:0 50px 90px -30px rgba(40,30,90,0.304),0 0 0 .5px rgba(24,22,48,0.034)}
[data-theme="light"] #dive .sa-bar{border-bottom:1px solid rgba(24,22,48,0.051)}
[data-theme="light"] #dive .sa-bar i{background:rgba(24,22,48,0.119)}
[data-theme="light"] #dive .sa-pal{border-right:1px solid rgba(24,22,48,0.051)}
[data-theme="light"] #dive .sa-props{border-left:1px solid rgba(24,22,48,0.051)}
[data-theme="light"] #dive .pi u{border:1.2px solid rgba(24,22,48,0.255)}
[data-theme="light"] #dive .pr{background:rgba(24,22,48,0.034)}
[data-theme="light"] #dive .pr:first-of-type b{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .sa-cv{background:radial-gradient(circle,rgba(24,22,48,0.043) 1px,transparent 1.3px) 0 0/14px 14px}
[data-theme="light"] #dive .cb{background:rgba(24,22,48,0.043);border:1px solid rgba(24,22,48,0.06)}
[data-theme="light"] #dive .cb-h i{background:rgba(24,22,48,0.34)}
[data-theme="light"] #dive .cb-h i+i{background:rgba(24,22,48,0.128)}
[data-theme="light"] #dive .cb-k i{background:rgba(24,22,48,0.128)}
[data-theme="light"] #dive .cb-g path{stroke:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .cb-t i{background:rgba(24,22,48,0.153)}
[data-theme="light"] #dive .sa-ai{background:rgba(249,250,248,.82);box-shadow:0 24px 50px -18px rgba(40,30,90,0.288),0 0 34px -14px var(--oc)}
[data-theme="light"] #dive .sa-ai .sp{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .sa-phone{background:#FBFBF9;border:1px solid rgba(24,22,48,0.119);box-shadow:0 40px 70px -24px rgba(40,30,90,0.304),inset 0 0 0 3px rgba(24,22,48,0.025)}
[data-theme="light"] #dive .sa-phone .nt{background:rgba(24,22,48,0.085)}
[data-theme="light"] #dive .sa-phone span{background:rgba(24,22,48,0.051)}
[data-theme="light"] #dive .st-kick{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .st-tile{background:linear-gradient(160deg,rgba(24,22,48,0.064),rgba(24,22,48,0.017));box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),inset 0 0 0 .5px rgba(24,22,48,0.051)}
[data-theme="light"] #dive .st-split{background:linear-gradient(160deg,rgba(24,22,48,0.064),rgba(24,22,48,0.017));box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),inset 0 0 0 .5px rgba(24,22,48,0.051)}
[data-theme="light"] #dive .st-early{background:linear-gradient(160deg,rgba(24,22,48,0.064),rgba(24,22,48,0.017));box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),inset 0 0 0 .5px rgba(24,22,48,0.051)}
[data-theme="light"] #dive .st-ico{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .tv-edit{border-top:1px solid rgba(24,22,48,0.051);background:radial-gradient(circle,rgba(24,22,48,0.051) 1px,transparent 1.3px) 0 0/16px 16px}
[data-theme="light"] #dive .tv-edit span{background:rgba(24,22,48,0.051);border:1px solid rgba(24,22,48,0.076)}
[data-theme="light"] #dive .tv-data b{background:rgba(24,22,48,0.051);box-shadow:inset 0 0 0 1px rgba(24,22,48,0.085)}
[data-theme="light"] #dive .tv-data b:first-child{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .tv-data i{background:linear-gradient(90deg,var(--oc),rgba(24,22,48,0.17))}
[data-theme="light"] #dive .tv-flow span{background:rgba(24,22,48,0.043)}
[data-theme="light"] #dive .tv-flow span::before{border:1.5px solid rgba(24,22,48,0.255)}
[data-theme="light"] #dive .tv-ai .q{background:rgba(24,22,48,0.068)}
[data-theme="light"] #dive .tv-lib i{background:rgba(24,22,48,0.043);box-shadow:inset 0 0 0 1px rgba(24,22,48,0.068)}
[data-theme="light"] #dive .tv-sec span{box-shadow:inset 0 0 0 1px rgba(24,22,48,0.119)}
[data-theme="light"] #dive .st-early{background:radial-gradient(80% 120% at 100% 0%,color-mix(in srgb,var(--oc) 18%,transparent),transparent 60%),linear-gradient(160deg,rgba(24,22,48,0.068),rgba(24,22,48,0.017))}
[data-theme="light"] #dive .st-ghost b em{color:#5B43D6}
[data-theme="light"] #dive .st-perks li{background:rgba(24,22,48,0.045);box-shadow:inset 0 0 0 1px rgba(24,22,48,0.06)}
[data-theme="light"] #dive .st-perks b{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .tv-sync{border-top:1px solid rgba(24,22,48,0.051)}
[data-theme="light"] #dive .tv-sync .dk{background:rgba(24,22,48,0.034);box-shadow:inset 0 0 0 1px rgba(24,22,48,0.076)}
[data-theme="light"] #dive .tv-sync .mb{background:rgba(24,22,48,0.034);box-shadow:inset 0 0 0 1px rgba(24,22,48,0.076)}
[data-theme="light"] #dive .tv-sync i{background:rgba(24,22,48,0.212)}
[data-theme="light"] #dive .tv-sync span{background:rgba(24,22,48,0.06)}
[data-theme="light"] #dive .factory-more .pv-it{background:linear-gradient(160deg,rgba(24,22,48,0.06),rgba(24,22,48,0.017));box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),inset 0 0 0 .5px rgba(24,22,48,0.051)}
[data-theme="light"] #dive .si-card{background:linear-gradient(160deg,rgba(24,22,48,0.076),rgba(24,22,48,0.021));box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),inset 0 0 0 .5px rgba(24,22,48,0.06),0 30px 60px -30px rgba(40,30,90,0.256)}
[data-theme="light"] #dive .si-logo{background:#F9F8FB;box-shadow:inset 0 0 0 1px rgba(24,22,48,0.068)}
[data-theme="light"] #dive .si-row span b{background:rgba(24,22,48,0.187)}
[data-theme="light"] #dive .si-row span u{background:rgba(24,22,48,0.068)}
[data-theme="light"] #dive .si-skills{background:linear-gradient(160deg,rgba(241,244,244,.92),rgba(247,249,249,.92))}
[data-theme="light"] #dive .si-chips span{box-shadow:inset 0 0 0 1px rgba(24,22,48,0.119)}
[data-theme="light"] #dive .si-sug{border-top:1px solid rgba(24,22,48,0.06)}
[data-theme="light"] #dive .si-sug i{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .si-brand{background:rgba(248,251,250,.85);box-shadow:inset 0 0 0 1px rgba(24,22,48,0.102),0 14px 30px -14px rgba(40,30,90,0.288)}
[data-theme="light"] #dive .st-tile.so-tile:hover{box-shadow:inset 1px 1px 0 rgba(255,255,255,.2),inset 0 0 0 .5px rgba(24,22,48,0.068),0 30px 60px -30px color-mix(in srgb,var(--oc) 45%,transparent)}
[data-theme="light"] #dive .so-chips span:first-child{box-shadow:inset 0 0 0 1px rgba(24,22,48,0.119)}
[data-theme="light"] #dive .so-upd .v{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .so-upd u{background:rgba(24,22,48,0.068)}
[data-theme="light"] #dive .so-brandv .bw{background:rgba(24,22,48,0.034);box-shadow:inset 0 0 0 1px rgba(24,22,48,0.068)}
[data-theme="light"] #dive .so-brandv .bw b{background:rgba(24,22,48,0.153)}
[data-theme="light"] #dive .so-fill span{background:linear-gradient(90deg,var(--ink) 0,color-mix(in srgb,color-mix(in oklab,var(--oc) 56%,#000) 70%,var(--ink)) var(--fill,0%),var(--ink-3) calc(var(--fill,0%) + 6%));-webkit-background-clip:text;background-clip:text}
[data-theme="light"] #dive .factory-more .ap-ch:not([data-i="0"]){background:linear-gradient(160deg,rgba(24,22,48,0.06),rgba(24,22,48,0.017));box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),inset 0 0 0 .5px rgba(24,22,48,0.051)}
[data-theme="light"] #dive :is(#faq,.fq-sec) .fq{box-shadow:inset 1px 1px 0 rgba(255,255,255,.1),inset 0 0 0 .5px rgba(24,22,48,0.051)}
[data-theme="light"] #dive :is(#faq,.fq-sec) .fq-n{color:color-mix(in oklab,var(--c) 56%,#000)!important}
[data-theme="light"] #dive :is(#faq,.fq-sec) .fq-k{color:color-mix(in oklab,var(--c) 56%,#000)!important}
[data-theme="light"] #dive.dive .factory-more .eyebrow{color:color-mix(in oklab,var(--oc) 56%,#000)!important}
[data-theme="light"] #dive.dive .factory-more .ap-k{color:color-mix(in oklab,var(--oc) 56%,#000)!important}
[data-theme="light"] #dive.dive .factory-more .ev-k{color:color-mix(in oklab,var(--oc) 56%,#000)!important}
[data-theme="light"] #dive.dive .factory-more .ct-k{color:color-mix(in oklab,var(--oc) 56%,#000)!important}
[data-theme="light"] #dive.dive .factory-more .pain{box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),inset 0 0 0 .5px rgba(24,22,48,0.051)!important}
[data-theme="light"] #dive.dive .factory-more .cy-card{background:linear-gradient(160deg,rgba(24,22,48,0.064),rgba(24,22,48,0.017))!important;box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),inset 0 0 0 .5px rgba(24,22,48,0.051)!important}
[data-theme="light"] #dive.dive .factory-more .fq-more{background:linear-gradient(160deg,rgba(24,22,48,0.064),rgba(24,22,48,0.017))!important;box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),inset 0 0 0 .5px rgba(24,22,48,0.051)!important}
[data-theme="light"] #dive.dive .factory-more .pain .badge{color:color-mix(in oklab,var(--oc) 56%,#000)!important}
[data-theme="light"] #dive.dive .factory-more .fq{background:linear-gradient(160deg,rgba(24,22,48,0.064),rgba(24,22,48,0.017))!important;box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),inset 0 0 0 .5px rgba(24,22,48,0.051)!important}
[data-theme="light"] #dive .world .w-title span{background:linear-gradient(100deg,color-mix(in srgb,color-mix(in oklab,var(--oc) 56%,#000) 40%,#0E1016) 0%,color-mix(in srgb,color-mix(in oklab,var(--oc) 56%,#000) 70%,#0E1016) 40%,color-mix(in oklab,var(--oc) 56%,#000) 75%,color-mix(in srgb,color-mix(in oklab,var(--oc) 56%,#000) 60%,#138F7A) 100%);-webkit-background-clip:text;background-clip:text}
[data-theme="light"] #dive .w-studio .st-perks li.lit{background:color-mix(in srgb,var(--oc) 10%,rgba(24,22,48,0.045))}
[data-theme="light"] #dive .w-solutions .st-perks li.lit{background:color-mix(in srgb,var(--oc) 10%,rgba(24,22,48,0.045))}
[data-theme="light"] #dive .vs-card{background:linear-gradient(160deg,color-mix(in srgb,var(--c) 9%,rgba(24,22,48,0.034)),rgba(24,22,48,0.013))}
[data-theme="light"] #dive .vs-tag{color:color-mix(in oklab,var(--c) 56%,#000)}
[data-theme="light"] #dive .vs-row{border-top:1px solid rgba(24,22,48,0.06)}
[data-theme="light"] #dive .vs-foot{border-top:1px solid rgba(24,22,48,0.06)}
[data-theme="light"] #dive .vs-crit .vs-c{border-top:1px solid rgba(24,22,48,0.06)}
[data-theme="light"] #dive .w-solutions .w-mf .ap2-f:not(.w){background-image:linear-gradient(90deg,#fff 0%,var(--oc) 45%,color-mix(in srgb,var(--oc) 55%,#BBA8F8) 100%),linear-gradient(rgba(24,22,48,0.136),rgba(24,22,48,0.136))}
[data-theme="light"] #dive .w-studio .w-mf .ap2-f:not(.w){background-image:linear-gradient(90deg,#fff 0%,var(--oc) 45%,color-mix(in srgb,var(--oc) 55%,#BBA8F8) 100%),linear-gradient(rgba(24,22,48,0.136),rgba(24,22,48,0.136))}
[data-theme="light"] #dive .w-mf .manifesto cite{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .w-solutions .xp-h .ap2-f:not(.w){background-image:linear-gradient(90deg,#fff,var(--oc)),linear-gradient(rgba(24,22,48,0.136),rgba(24,22,48,0.136))}
[data-theme="light"] #dive .pq-tag{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .pq-ch h5 span{background:linear-gradient(100deg,color-mix(in oklab,var(--oc) 56%,#000),color-mix(in srgb,color-mix(in oklab,var(--oc) 56%,#000) 55%,#0E1016));-webkit-background-clip:text;background-clip:text}
[data-theme="light"] #dive .pq-vis{background:linear-gradient(160deg,rgba(24,22,48,0.068),rgba(24,22,48,0.017))}
[data-theme="light"] #dive .pv-r span{background:rgba(24,22,48,0.068)}
[data-theme="light"] #dive .pv-ai{background:color-mix(in srgb,var(--oc) 12%,rgba(24,22,48,0.036))}
[data-theme="light"] #dive .pv-ai b{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .pq-prog i{background:rgba(24,22,48,0.085)}
[data-theme="light"] #dive .rb-app{background:#F7F8F9;box-shadow:inset 0 0 0 1px rgba(24,22,48,0.068),0 40px 80px -30px color-mix(in srgb,var(--b) 45%,transparent)}
[data-theme="light"] #dive .rb-bar{border-bottom:1px solid rgba(24,22,48,0.06)}
[data-theme="light"] #dive .rb-name{color:#0E1016}
[data-theme="light"] #dive .rb-av{background:rgba(24,22,48,0.102)}
[data-theme="light"] #dive .rb-hi{color:#0E1016}
[data-theme="light"] #dive .rb-kpis span{background:color-mix(in srgb,var(--b) 12%,rgba(24,22,48,0.025))}
[data-theme="light"] #dive .rb-kpis b{color:color-mix(in oklab,var(--b) 56%,#000)}
[data-theme="light"] #dive .rb-row span{background:rgba(24,22,48,0.06)}
[data-theme="light"] #dive .rb-sw li.on{box-shadow:0 0 0 3px #F7F8F9,0 0 0 5px var(--b)}
[data-theme="light"] #dive .sq-src{background:color-mix(in srgb,var(--oc) 14%,rgba(24,22,48,0.036))}
[data-theme="light"] #dive .sq-links path{stroke:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .sq-cl{background:rgba(24,22,48,0.04);box-shadow:inset 0 0 0 1px rgba(24,22,48,0.06)}
[data-theme="light"] #dive .sq-cl span{background:rgba(24,22,48,0.068)}
[data-theme="light"] #dive .sq-app{background:rgba(24,22,48,0.04);box-shadow:inset 0 0 0 1px rgba(24,22,48,0.06)}
[data-theme="light"] #dive .sq-socle{background:color-mix(in srgb,var(--oc) 12%,rgba(24,22,48,0.036))}
[data-theme="light"] #dive .sq-socle span{background:rgba(24,22,48,0.054)}
[data-theme="light"] #dive .sq-socle b{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .gm-card{background:linear-gradient(160deg,rgba(24,22,48,0.064),rgba(24,22,48,0.017));box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),inset 0 0 0 .5px rgba(24,22,48,0.051)}
[data-theme="light"] #dive .gm-tag{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .gm-st{box-shadow:inset 0 0 0 1px rgba(24,22,48,0.119)}
[data-theme="light"] #dive .gm-card h5 span{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .gm-vis{background:rgba(24,22,48,0.045);box-shadow:inset 0 0 0 1px rgba(24,22,48,0.06)}
[data-theme="light"] #dive .gm-campus .r span{background:rgba(24,22,48,0.068)}
[data-theme="light"] #dive .gm-rh .g i{background:color-mix(in srgb,var(--oc) calc(var(--l) * 85%),rgba(24,22,48,0.043))}
[data-theme="light"] #dive .gm-proof{border-top:1px solid rgba(24,22,48,0.06)}
[data-theme="light"] #dive .gm-proof b{background:linear-gradient(100deg,#0E1016,color-mix(in oklab,var(--oc) 56%,#000));-webkit-background-clip:text;background-clip:text}
[data-theme="light"] #dive .gm-ia .u{border-top:1px solid rgba(24,22,48,0.051)}
[data-theme="light"] #dive .pv-u{border-top:1px solid rgba(24,22,48,0.051)}
[data-theme="light"] #dive em.hi{color:#C4552A}
[data-theme="light"] #dive em.lo{color:#9A8A10}
[data-theme="light"] #dive em.ok{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .gm-kb .k span{border-bottom:1px solid rgba(24,22,48,0.068)}
[data-theme="light"] #dive .k-track i{background:color-mix(in srgb,var(--oc) 18%,rgba(24,22,48,0.036))}
[data-theme="light"] #dive .gm-campus .bd{border-top:1px solid rgba(24,22,48,0.051)}
[data-theme="light"] #dive .gm-ppl .t i{box-shadow:inset 0 0 0 1.5px rgba(24,22,48,0.17)}
[data-theme="light"] #dive .rb-li{border-top:1px solid rgba(24,22,48,0.051)}
[data-theme="light"] #dive .ba-av{background:rgba(24,22,48,0.025)}
[data-theme="light"] #dive .ba-ap b{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .ba-stage{box-shadow:inset 0 0 0 1px rgba(24,22,48,0.085),0 40px 80px -40px color-mix(in srgb,var(--oc) calc(var(--w,0) * 50%),transparent)}
[data-theme="light"] #dive .ba-before{background:#F4F5F6}
[data-theme="light"] #dive .ba-after{background:linear-gradient(160deg,color-mix(in srgb,var(--oc) 10%,#F6F9F8),#F7F9F9)}
[data-theme="light"] #dive .ba-handle span:first-child{background:rgba(24,22,48,0.09)}
[data-theme="light"] #dive .bb-sheet i{background:rgba(24,22,48,0.06)}
[data-theme="light"] #dive .bb-sheet i.x{background:rgba(24,22,48,0.153)}
[data-theme="light"] #dive .bb-note{background:rgba(24,22,48,0.102)}
[data-theme="light"] #dive .bb-post{box-shadow:0 8px 20px rgba(40,30,90,0.128)}
[data-theme="light"] #dive .bb-q{background:rgba(24,22,48,0.068);box-shadow:inset 0 0 0 1px rgba(24,22,48,0.102)}
[data-theme="light"] #dive .bb-mail{background:rgba(24,22,48,0.051)}
[data-theme="light"] #dive .ba-ok{background:color-mix(in srgb,var(--oc) 12%,rgba(24,22,48,0.036))}
[data-theme="light"] #dive .ba-ok em{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .ba-li{border-top:1px solid rgba(24,22,48,0.051)}
[data-theme="light"] #dive .ba-li em{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .ba-steps span{background:rgba(24,22,48,0.043)}
[data-theme="light"] #dive .ba-steps .d{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .ss-prog li{background:rgba(24,22,48,0.085)}
[data-theme="light"] #dive .ss-prog li.no{background:rgba(24,22,48,0.238)}
[data-theme="light"] #dive .ss-card{background:radial-gradient(120% 80% at 100% 0%,color-mix(in srgb,var(--c) 16%,transparent),transparent 60%),linear-gradient(160deg,#F0EFF6,#F5F4F9);box-shadow:inset 1px 1px 0 rgba(255,255,255,.14),inset 0 0 0 1px color-mix(in srgb,var(--c) 22%,transparent),0 40px 80px -40px rgba(40,30,90,0.256)}
[data-theme="light"] #dive .ss-k{color:color-mix(in oklab,var(--c) 56%,#000)}
[data-theme="light"] #dive .ss-h span{color:color-mix(in oklab,var(--c) 56%,#000)}
[data-theme="light"] #dive .ss-who{background:color-mix(in srgb,var(--c) 10%,rgba(24,22,48,0.025))}
[data-theme="light"] #dive .ss-yes{color:color-mix(in oklab,var(--c) 56%,#000)}
[data-theme="light"] #dive .ss-btn-no{background:rgba(24,22,48,0.043);box-shadow:inset 0 0 0 1px rgba(24,22,48,0.119)}
[data-theme="light"] #dive .ss-btn-no span{background:rgba(24,22,48,0.085)}
[data-theme="light"] #dive .ss-btn-yes span{background:rgba(24,22,48,0.027)}
[data-theme="light"] #dive .ss-res-k{color:color-mix(in oklab,var(--oc) 56%,#000)}
[data-theme="light"] #dive .ss-res-l li{background:linear-gradient(160deg,#F0EFF6,#F5F4F9)}
[data-theme="light"] #dive .ss-res-l b{color:color-mix(in oklab,var(--c) 56%,#000)}
[data-theme="light"] #dive .db{background:linear-gradient(160deg,#F1F0F7,#F6F5FA);box-shadow:inset 1px 1px 0 rgba(255,255,255,.12),0 0 0 1px rgba(24,22,48,0.051),0 60px 120px -60px rgba(142,118,242,.5)}
[data-theme="light"] #dive .db-bar{border-bottom:1px solid rgba(24,22,48,0.06)}
[data-theme="light"] #dive .db-dots i{background:rgba(24,22,48,0.119)}
[data-theme="light"] #dive .db-live{color:#138F7A}
[data-theme="light"] #dive .db-t{background:rgba(24,22,48,0.025);box-shadow:inset 0 0 0 1px rgba(24,22,48,0.051)}
[data-theme="light"] #dive .db-n{color:color-mix(in oklab,var(--c) 56%,#000)}
[data-theme="light"] #dive .db-devs span{background:rgba(24,22,48,0.034)}
[data-theme="light"] #dive .db-weeks i{background:rgba(24,22,48,0.051)}
[data-theme="light"] #dive .db-bars i{background:rgba(24,22,48,0.153)}
[data-theme="light"] #dive .db-gauge b{color:color-mix(in oklab,var(--c) 56%,#000)}
[data-theme="light"] #dive .db-tiles i{background:color-mix(in srgb,var(--c) 10%,rgba(24,22,48,0.025))}
[data-theme="light"] #dive .db-pipe i{background:rgba(24,22,48,0.068)}
[data-theme="light"] #dive .mb-rail{background:rgba(24,22,48,0.068)}
[data-theme="light"] #dive .mb-step::before{background:#F6F5FB;box-shadow:inset 0 0 0 2px rgba(24,22,48,0.17)}
[data-theme="light"] #dive .mb-w{color:color-mix(in oklab,var(--c) 56%,#000)}
[data-theme="light"] #dive .mb-win{background:linear-gradient(160deg,#F1F0F7,#F6F5FA);box-shadow:inset 1px 1px 0 rgba(255,255,255,.12),0 0 0 1px rgba(24,22,48,0.051),0 60px 120px -60px var(--mbc,#BBA8F8)}
[data-theme="light"] #dive .mb-bar{border-bottom:1px solid rgba(24,22,48,0.06)}
[data-theme="light"] #dive .mb-bar span i{background:rgba(24,22,48,0.119)}
[data-theme="light"] #dive .mb-node{background:#EEEDF5}
[data-theme="light"] #dive .s-side{background:rgba(24,22,48,0.034)}
[data-theme="light"] #dive .s-side i{background:rgba(24,22,48,0.085)}
[data-theme="light"] #dive .s-kpis i{background:rgba(24,22,48,0.043)}
[data-theme="light"] #dive .s-chart{background:rgba(24,22,48,0.034)}
[data-theme="light"] #dive .s-chart path{stroke:#138F7A}
[data-theme="light"] #dive .s-rows i{background:rgba(24,22,48,0.043)}
[data-theme="light"] #dive .wire *{box-shadow:inset 0 0 0 1px rgba(24,22,48,0.153)!important}
[data-theme="light"] #dive .wire .s-chart{background:repeating-linear-gradient(135deg,transparent 0 8px,rgba(24,22,48,0.034) 8px 9px)!important}
@media (min-width:901px){
[data-theme="light"] #dive .sv .ap2-facts li{background:rgba(24,22,48,0.034);box-shadow:inset 0 0 0 1px rgba(24,22,48,0.068)}
}
[data-theme="light"] #dive .sv-bar{background-image:linear-gradient(90deg,#B7DDF8 0%,#BBA8F8 55%,#F2D57E 100%),linear-gradient(rgba(24,22,48,0.085),rgba(24,22,48,0.085))!important}
[data-theme="light"] #dive .ct-chips button.on{color:#0E1016;background:color-mix(in srgb,var(--c) 14%,rgba(24,22,48,0.025))}
/* Ajustements manuels du mode clair des offres */
[data-theme="light"] #dive .fx-kpis b{color:color-mix(in oklab,var(--oc) 56%,#000)!important}
/* Cartes : papier blanc posé sur le fond teinté de l'offre */
[data-theme="light"] #dive :is(.st-tile,.st-card,.st-split,.st-faq details,.pq-vis,.fx-kpis div,.gm-card,.w-steps li,.fq,.so-tile){
  background:linear-gradient(160deg,#fff,rgba(255,255,255,.78))!important;
  box-shadow:inset 1px 1px 0 #fff,0 0 0 1px rgba(24,22,48,.07),0 24px 50px -32px rgba(40,30,90,.3)!important}
[data-theme="light"] #dive :is(.st-early,.w-perso){
  background:radial-gradient(80% 120% at 100% 0%,color-mix(in srgb,var(--oc) 34%,transparent),transparent 60%),linear-gradient(160deg,#fff,rgba(255,255,255,.8))!important;
  box-shadow:inset 1px 1px 0 #fff,0 0 0 1px color-mix(in srgb,var(--oc) 40%,transparent),0 30px 60px -34px rgba(40,30,90,.3)!important}
[data-theme="light"] #dive .vs-card{background:linear-gradient(160deg,color-mix(in srgb,var(--c) 16%,#fff),#fff)!important;
  box-shadow:inset 1px 1px 0 #fff,inset 0 0 0 1px color-mix(in srgb,var(--c) calc(30% + var(--lift,0) * 40%),transparent),0 30px 60px -36px color-mix(in srgb,var(--c) calc(30% + var(--lift,0) * 50%),rgba(40,30,90,.3))!important}
/* Encart FAQ : à la couleur de l'offre, comme en sombre */
[data-theme="light"] #dive .fq-more{background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--oc) 30%,transparent),transparent 60%),#fff!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--oc) 45%,transparent),0 30px 60px -34px color-mix(in srgb,var(--oc) 70%,transparent)!important}
[data-theme="light"] #dive .fq-more .btn{background:var(--oc)!important;color:#0A0A0C!important;box-shadow:0 14px 34px -14px var(--oc)!important}
[data-theme="light"] #dive .fqm-ico{color:color-mix(in oklab,var(--oc) 56%,#000)!important;background:color-mix(in srgb,var(--oc) 22%,transparent)!important}
/* Avantages, puces, étapes : animations rejouées avec des fonds clairs */
[data-theme="light"] #dive .st-perks li{animation-name:perkL;background:#fff;box-shadow:inset 0 0 0 1px rgba(24,22,48,.08)}
[data-theme="light"] #dive .tv-flow span{animation-name:tvStepL}
[data-theme="light"] #dive .tv-lib i{animation-name:tvLibL}
[data-theme="light"] #dive :is(.so-chips span,.si-chips span:nth-child(2),.si-chips span:nth-child(4)){animation-name:soChipL}
[data-theme="light"] #dive .so-brandv .sw i{animation-name:soSwL}
[data-theme="light"] #dive .pq-ch.on .sq-app{animation-name:sqGlowL}
[data-theme="light"] #dive .db-devs span{animation-name:dbDevL}
[data-theme="light"] #dive .db.live .db-pipe i{animation-name:dbPipeL}
@keyframes perkL{0%,36%,100%{background:#fff;box-shadow:inset 0 0 0 1px rgba(24,22,48,.08)}6%,30%{background:color-mix(in srgb,var(--oc) 22%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--oc) 70%,transparent),0 0 30px -12px var(--oc)}}
@keyframes tvStepL{0%,10%,40%,100%{color:var(--ink-2);background:rgba(24,22,48,.04)}15%,35%{color:var(--ink);background:color-mix(in srgb,var(--oc) 30%,transparent)}}
@keyframes tvLibL{0%,70%,100%{background:rgba(24,22,48,.05)}80%,90%{background:color-mix(in srgb,var(--oc) 50%,transparent)}}
@keyframes soChipL{0%,4%,30%,100%{color:var(--ink-2);background:transparent;box-shadow:inset 0 0 0 1px rgba(24,22,48,.16)}8%,24%{color:#071210;background:var(--oc);box-shadow:0 0 18px -4px var(--oc)}}
@keyframes soSwL{0%{box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(24,22,48,.6)}33.3%{box-shadow:none}}
@keyframes sqGlowL{0%,30%,100%{box-shadow:inset 0 0 0 1px rgba(24,22,48,.08)}45%{box-shadow:inset 0 0 0 1px var(--oc),0 0 24px -8px var(--oc)}}
@keyframes dbDevL{0%,100%{color:var(--ink-3);background:rgba(24,22,48,.05)}15%,35%{color:#0A0A0C;background:var(--c)}}
@keyframes dbPipeL{0%,8%{background:rgba(24,22,48,.08)}20%,80%{background:var(--c)}100%{background:rgba(24,22,48,.08)}}
[data-theme="light"] #dive .sec-head h2::after{display:none}
[data-theme="light"] body.diving .to-top{color:#0E1016;background:rgba(255,255,255,.85);box-shadow:inset 1px 1px 0 #fff,0 0 0 1px rgba(14,16,22,.08),0 14px 30px -14px rgba(30,30,60,.35)}
.dive-bar .dv-theme{flex:none}
/* Portes des offres : l'illustration prend sa place au-dessus du texte au lieu de le recouvrir */
.door-art{position:relative;top:auto;left:auto;right:auto;height:210px;flex:none;margin-bottom:6px}
@media (max-width:1024px){.door{min-height:0}.door-num{margin-top:0}}
@media (max-width:720px){.door-art{height:180px}.d-factory .b4{top:132px}}
/* Cas clients (accueil et Factory) sur mobile : onglets, un écran à la fois, puis la fiche du client */
@media (max-width:900px){
  .showcase.vr,.factory-more .showcase.vr{height:auto!important;width:auto!important;margin-left:0!important}
  .vr .vr-in{position:static!important;height:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;padding:0!important;overflow:visible!important}
  .vr-room{display:none!important}
  .vr-head{width:100%!important}
  .vr-sub{margin:18px 0 0!important}
  .vr-tabs{display:flex!important;align-self:flex-start!important;max-width:100%;overflow-x:auto;scrollbar-width:none;margin:16px 0 18px!important}
  .vr-tabs button{white-space:nowrap;padding:9px 14px;font-size:13px}
  .vr-stage{height:auto!important;perspective:none!important;zoom:1!important}
  .vr-ring{position:static!important;width:auto!important;height:auto!important;transform:none!important;display:block!important;padding:0!important}
  .vr-scr{position:relative!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;transform:none!important;opacity:1!important;filter:none!important;display:none!important}
  .vr-scr.on{display:block!important}
  .vr-img{height:auto!important;min-height:190px;padding:24px!important;flex-direction:row!important;align-items:center!important;-webkit-box-reflect:below 0 linear-gradient(transparent,transparent)!important}
  .vr-big{font-size:clamp(38px,11vw,52px)!important}
  .vr-ph{display:none!important}
  .vr-ped{display:block!important;width:auto!important;margin-top:22px!important}
  .vr-ped-c{display:none!important}.vr-ped-c.on{display:block!important}
  .vr-name{text-align:left!important}
  .vr-dl{grid-template-columns:1fr!important;gap:14px!important}
  .vr-dl > div{border-left:0!important;padding:0!important}
}
/* ===== Menu ☰ : sa seule définition. Il ne sert que sous 1 241 px, où le burger remplace les liens du haut.
   Même air que le site : aurores pastel sur fond nuit, verre, dégradé du titre. #drawer l'emporte sur .glass sans !important. ===== */
#drawer{position:fixed;inset:0;z-index:150;display:none;margin:0;padding:0;border:0;border-radius:0;background:var(--bg);box-shadow:none;overflow:hidden;isolation:isolate}
#drawer.open{display:flex;justify-content:center;animation:drIn .4s ease both}
@keyframes drIn{from{opacity:0}}
/* aurores : assez de couleur pour l'ambiance, jamais derrière le texte au point de le noyer */
.dr-blobs{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.dr-blobs i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.38;animation:drAur 16s ease-in-out infinite}
.dr-blobs i:nth-child(1){width:320px;height:320px;left:-140px;top:-120px;background:var(--lav)}
.dr-blobs i:nth-child(2){width:260px;height:260px;right:-130px;top:34%;background:var(--mint);animation-delay:-5s;animation-direction:reverse}
.dr-blobs i:nth-child(3){width:300px;height:220px;left:10%;bottom:-150px;background:var(--lime);opacity:.26;animation-delay:-9s}
.dr-blobs i:nth-child(4){display:none}
@keyframes drAur{50%{translate:40px 30px}}
.dr-blobs::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 70% at 50% 45%,color-mix(in srgb,var(--bg) 55%,transparent),transparent 75%)}
[data-theme="light"] .dr-blobs i{opacity:.5}
.dr-panel{position:relative;display:flex;flex-direction:column;width:min(560px,100%);height:100%;padding:12px 20px calc(16px + env(safe-area-inset-bottom))}
#drawer .drawer-top{flex:none;display:flex;align-items:center;justify-content:space-between;height:52px;margin:0 0 6px}
#drawer .drawer-top .icon-btn{border:0;border-radius:999px;color:var(--ink);background:linear-gradient(180deg,var(--gl-bg2),var(--gl-bg));box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px rgba(255,255,255,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#drawer nav{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden auto;overscroll-behavior:contain;scrollbar-width:none;margin:0 -4px;padding:6px 4px 20px;counter-reset:dr}
#drawer nav::-webkit-scrollbar{display:none}
#drawer nav a{color:var(--ink);text-decoration:none}
#drawer nav a em{font-style:normal;font-weight:400;opacity:.75}
/* les cinq entrées principales : grandes, numérotées, le dégradé du titre de l'accueil au survol */
#drawer .dr-main{counter-increment:dr;display:flex;align-items:baseline;gap:14px;padding:11px 2px;border-bottom:1px solid var(--glass-line);
  font-size:clamp(28px,8.4vw,36px);font-weight:600;letter-spacing:-.045em;line-height:1.1}
#drawer .dr-main::before{content:counter(dr,decimal-leading-zero);flex:none;width:22px;font-family:var(--f-mono);font-size:11px;font-weight:400;letter-spacing:.06em;color:var(--ink-3);translate:0 -.9em}
#drawer .dr-main:hover,#drawer .dr-main:focus-visible{background:linear-gradient(92deg,#B9A2FF 0%,#8FB8FF 30%,#7FE3CC 62%,#E2F38E 100%) text;-webkit-background-clip:text;color:transparent;outline:0}
[data-theme="light"] #drawer .dr-main:hover,[data-theme="light"] #drawer .dr-main:focus-visible{background-image:linear-gradient(92deg,#4B2BD6 0%,#2F6FE0 35%,#0E9C82 70%,#6A8F00 100%)}
#drawer .dr-k{margin:26px 2px 12px;font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
#drawer .dr-k:first-child{margin-top:4px}
#drawer .dr-k em{font-style:normal;text-transform:none}
/* offres : trois cartes de verre, chacune avec le halo de sa couleur */
#drawer .dr-offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}
#drawer .dr-offer{--oc:var(--lav);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:92px;padding:14px;border-radius:18px;font-size:15px;font-weight:600;line-height:1.2;
  background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--oc) 30%,transparent),transparent 60%),linear-gradient(160deg,var(--gl-bg2),var(--gl-bg));
  box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px rgba(255,255,255,.07);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);transition:box-shadow .3s,translate .3s}
#drawer .dr-offer::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--oc);box-shadow:0 0 14px 2px color-mix(in srgb,var(--oc) 70%,transparent)}
#drawer .dr-offer:hover,#drawer .dr-offer:focus-visible{translate:0 -2px;outline:0;box-shadow:inset 0 1px 0 var(--gl-hi),inset 0 0 0 1px color-mix(in srgb,var(--oc) 55%,transparent),0 16px 36px -18px var(--oc)}
#drawer .dr-offer > span{display:block}
#drawer .dr-offer[data-o="factory"]{--oc:#A58BFF}
#drawer .dr-offer[data-o="solutions"]{--oc:#9BE8D4}
#drawer .dr-offer[data-o="studio"]{--oc:#E2F38E}
[data-theme="light"] #drawer .dr-offer{box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px rgba(24,22,48,.07)}
[data-theme="light"] #drawer .dr-offer[data-o="studio"]{--oc:#9DBB1F}
/* le reste du site, replié */
#drawer .dr-more{margin-top:18px;padding:0;border:0;border-top:1px solid var(--glass-line);border-radius:0;background:none;box-shadow:none}
#drawer .dr-more summary{display:flex;align-items:center;justify-content:space-between;padding:16px 2px;list-style:none;cursor:pointer;font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
#drawer .dr-more summary::-webkit-details-marker{display:none}
#drawer .dr-more summary::after{content:"+";font-family:var(--f);font-size:20px;letter-spacing:0;color:var(--ink);transition:rotate .25s}
#drawer .dr-more[open] summary::after{rotate:45deg}
#drawer .dr-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 16px}
#drawer .dr-list a{padding:9px 2px;font-size:16px;color:var(--ink-2);transition:color .2s}
#drawer .dr-list a:hover,#drawer .dr-list a:focus-visible{color:var(--ink)}
#drawer .dr-home{margin-top:22px;font-size:16px;color:var(--ink-2)}
#drawer .dr-panel > .btn{flex:none;width:100%;margin-top:12px;justify-content:center;box-shadow:0 14px 40px -12px color-mix(in srgb,var(--lav) 75%,transparent)}
/* entrée : les lignes montent l'une après l'autre */
#drawer.open nav > *{animation:drUp .55s cubic-bezier(.16,1,.3,1) both}
#drawer.open nav > :nth-child(2){animation-delay:.04s}#drawer.open nav > :nth-child(3){animation-delay:.08s}#drawer.open nav > :nth-child(4){animation-delay:.12s}
#drawer.open nav > :nth-child(5){animation-delay:.16s}#drawer.open nav > :nth-child(n+6){animation-delay:.2s}
@keyframes drUp{from{opacity:0;translate:0 14px}}
@media (prefers-reduced-motion:reduce){#drawer.open,#drawer.open nav > *,.dr-blobs i{animation:none}}

/* ===== Recette du 15/10 : plongée et modale « équipe » sur téléphone ===== */
/* S-14 : sur téléphone, le bouton « Revenir en haut » ne passe pas par-dessus la plongée ouverte ;
   sur grand écran il revient dans la plongée (comme sur l'accueil), dès qu'on y a défilé */
@media (max-width:720px){body.diving .to-top,body:has(#dive.open) .to-top{opacity:0;visibility:hidden;pointer-events:none}}
@media (max-width:720px){
  /* S-01 : la barre tient dans l'écran ; les offres « Coming soon » (désactivées) sont masquées, les onglets défilent au besoin */
  .dive .dive-tabs button.wz-off{display:none}
  .dive .dive-tabs{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}
  .dive .dive-tabs::-webkit-scrollbar{display:none}
  .dive .dive-bar > .icon-btn{flex:none}
  /* S-04 : « .xr-pin .xr » impose sa grille 3 colonnes en !important (bureau) : même sélecteur, une colonne */
  .xr-pin .xr{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .xr .xr-t,.xr .xr-o{white-space:normal}
  /* S-09 : graphique lisible (libellés ≥ 10 px) avec un léger défilement horizontal dans son cadre */
  #dive .cv-chart{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}
  [data-theme="light"] #dive .cv-chart{scrollbar-color:rgba(14,16,22,.2) transparent}
  #dive .cv-chart svg{min-width:480px}
  #dive .cv-ax,#dive .cv-tick,#dive .cv-l2,#dive .cv-badge text{font-size:13px}
  #dive .cv-badge text{letter-spacing:.04em}
  #dive .cv-l1{font-size:16px}
  /* S-05 : modale « Que dirait l'équipe » en une colonne (formulaire puis réponses), Dicter et compteur sous la zone de saisie */
  .eq-modal-body > .council{flex:none}
  .eq-modal-body .council-in{grid-template-columns:minmax(0,1fr);height:auto}
  .eq-modal-body .field-tools{position:static;margin-top:8px}
  .eq-modal-body .field-tools .count{white-space:nowrap}
  /* propal-equipe.css réserve 52px en !important pour les outils posés sur la zone : ils sont maintenant dessous */
  .eq-modal-body .council .field textarea{padding-bottom:14px!important}
}

/* ===== izy Factory allégée (15/10) : seules « Comment ça marche » et « 4 promesses » restent épinglées.
   Les sections .fx-calm (accueil-1.js) défilent normalement et montrent leur contenu entier, comme sur téléphone. ===== */
@media (min-width:901px){
  .fx-calm .ap2-pin,.fx-calm .ap2-pin.mf-pin,.fx-calm .ig-pin,.fx-calm .ev-pin,.fx-calm .mb-pin,.fx-calm .fxp{height:auto!important}
  .fx-calm .ap2-stk,.fx-calm .ig-stk{position:static!important;height:auto!important;padding:90px 24px!important}
  .fx-calm .ap2-f{--f:1!important}
  .fx-calm .ap2 [data-at],.fx-calm .ap2-eu i{opacity:1!important}
  .fx-calm .ev-stk,.fx-calm .mb-stk{position:static!important;height:auto!important;padding:80px 0!important}
  .fx-calm .ev-pin .ev-w::after,.fx-calm .ev-pin .ev-list p{--s:1}
  .fx-calm .mb-step{opacity:1!important;cursor:pointer}
  .fx-calm .mb-step p{max-height:none!important;margin-top:6px}
  .fx-calm .fxp-in{position:static!important;height:auto!important;padding:90px 0!important}
  .fx-calm .spot-item p{max-height:none!important;opacity:1!important;margin-top:10px}
  .fx-calm .spot-item h3{color:var(--ink)}
  .fx-calm .spot-vp{height:auto!important;overflow:visible!important;-webkit-mask:none!important;mask:none!important}
  .fx-calm .spot-vp .spot-list{transform:none!important}
  /* Cas clients : les onglets remplacent la salle qui tournait au défilement */
  .fx-calm .showcase{height:auto!important}
  .fx-calm .sc-in{position:static!important;height:auto!important}
  .fx-calm .vr .vr-in{position:static!important;height:auto!important;padding:30px 0!important}
  .fx-calm .vr-room,.fx-calm .vr-tabs{display:none!important}
  .fx-calm .vr-stage{height:auto!important;perspective:none!important}
  .fx-calm .vr-ring{position:static!important;width:auto!important;transform:none!important;display:grid!important;gap:30px!important;padding:0 16px!important}
  .fx-calm .vr-scr{position:relative!important;left:auto!important;width:auto!important;height:auto!important;transform:none!important;opacity:1!important;filter:none!important}
  .fx-calm .vr-img{height:auto!important;flex-direction:column!important;align-items:flex-start!important;-webkit-box-reflect:none!important}
  .fx-calm .vr-ph{display:none!important}
  .fx-calm .vr-ped{display:none!important}
  .fx-calm .showcase.vr{width:auto!important;margin-left:0!important}
  .fx-calm .vr-head{grid-template-columns:1fr!important}
  .fx-calm .vr-lead{text-align:left!important;justify-self:start!important}
  .fx-calm .vr-h{white-space:normal!important}
  .fx-calm .showcase.vr,.fx-calm .showcase.vr{height:auto!important;width:auto!important;margin-left:0!important}
  .fx-calm .vr .vr-in{position:static!important;height:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;padding:0!important;overflow:visible!important}
  .fx-calm .vr-room{display:none!important}
  .fx-calm .vr-head{width:100%!important}
  .fx-calm .vr-sub{margin:18px 0 0!important}
  .fx-calm .vr-tabs{display:flex!important;align-self:flex-start!important;max-width:100%;overflow-x:auto;scrollbar-width:none;margin:16px 0 18px!important}
  .fx-calm .vr-stage{height:auto!important;perspective:none!important;zoom:1!important}
  .fx-calm .vr-ring{position:static!important;width:auto!important;height:auto!important;transform:none!important;display:block!important;padding:0!important}
  .fx-calm .vr-scr{position:relative!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;transform:none!important;opacity:1!important;filter:none!important;display:none!important}
  .fx-calm .vr-scr.on{display:block!important}
  .fx-calm .vr-img{height:auto!important;min-height:190px;padding:24px!important;flex-direction:row!important;align-items:center!important;-webkit-box-reflect:below 0 linear-gradient(transparent,transparent)!important}
  .fx-calm .vr-ph{display:none!important}
  .fx-calm .vr-ped{display:block!important;width:auto!important;margin-top:22px!important}
  .fx-calm .vr-ped-c{display:none!important}
  .fx-calm .vr-ped-c.on{display:block!important}
  .fx-calm .vr-name{text-align:left!important}
  .fx-calm .vr-dl{grid-template-columns:1fr!important;gap:14px!important}
  .fx-calm .vr-dl > div{border-left:0!important;padding:0!important}
}

/* ===== izy Factory : sommaire (points à droite, nom de la section en cours ; survol = tous les noms) ===== */
.fx-toc{position:fixed;right:18px;top:50%;translate:0 -50%;z-index:120;display:none;flex-direction:column;gap:2px;padding:10px 8px;border-radius:16px;
  font:500 12px/1.2 var(--f,"Geist",system-ui,sans-serif);transition:background .25s,box-shadow .25s,opacity .3s;opacity:0;pointer-events:none}
.fx-toc.show{opacity:1;pointer-events:auto}
.fx-toc a{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:5px 4px;color:var(--ink-3,#9a9cab);text-decoration:none;white-space:nowrap}
.fx-toc a span{opacity:0;translate:6px 0;transition:opacity .2s,translate .2s}
.fx-toc a i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.55;flex:none;transition:scale .2s,opacity .2s,background .2s}
.fx-toc a.on{color:var(--ink,#F2F2F6)}
.fx-toc a.on i{opacity:1;scale:1.5;background:var(--oc,#BBA8F8)}
.fx-toc a.on span{opacity:1;translate:0 0}
.fx-toc:hover,.fx-toc:focus-within{background:rgba(14,16,24,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.fx-toc:hover a span,.fx-toc:focus-within a span{opacity:1;translate:0 0}
.fx-toc a:hover{color:var(--ink,#F2F2F6)}
[data-theme="light"] .fx-toc a.on,[data-theme="light"] .fx-toc a:hover{color:#0E1016}
[data-theme="light"] .fx-toc:hover,[data-theme="light"] .fx-toc:focus-within{background:rgba(255,255,255,.85);box-shadow:inset 0 0 0 1px rgba(14,16,22,.1)}
@media (min-width:1100px){ body:has(#dive.open.o-factory) .fx-toc{display:flex} }

/* Le constat (page allégée) : les douleurs en grille, plus de défilement horizontal piloté par la molette */
@media (min-width:901px){
  .fx-calm .hs{height:auto!important}
  .fx-calm .hs-sticky{position:static!important;height:auto!important;overflow:visible!important;padding:90px 0 40px}
  .fx-calm .pains{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));width:auto!important;max-width:1200px;margin:0 auto;padding:0 24px!important;translate:none!important;gap:14px}
  .fx-calm .pain{width:auto!important;min-height:0!important;padding:26px 22px!important}
  .fx-calm .hs-dots,.fx-calm .hs .dots{display:none}
}

/* Notre studio (page allégée) : les 5 points en grille au lieu de la bande qui défilait */
@media (min-width:901px){
  #studio.fx-calm .spot-vp .spot-list{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:40px 48px!important;width:auto!important;max-width:1180px!important;margin:0 auto!important;padding:0 24px!important;transform:none!important}
  #studio.fx-calm .spot-vp{width:auto!important;margin-left:0!important;left:0!important;height:auto!important;overflow:visible!important;-webkit-mask:none!important;mask:none!important}
  .fx-calm .spot-item{width:auto!important;opacity:1!important;filter:none!important;scale:1!important;transform:none!important}
}
