@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-var-latin.woff) format("woff")}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/space-grotesk-var-latin.woff) format("woff")}

:root{
  --bg:#0c0a1f; --bg2:#14112e; --card:#1a1640; --line:rgba(190,180,255,.13);
  --text:#ece9fb; --muted:#a7a2c9; --accent:#b0a5fa; --accent2:#7461e0;
  --btn1:#6f5fd6; --btn2:#4f419e; --warn:#f59e0b;
  --radius:18px;
}
:root[data-theme="light"]{
  --bg:#f6f5fb; --bg2:#edeaf8; --card:#ffffff; --line:rgba(40,25,100,.11);
  --text:#17133a; --muted:#5d5880; --accent:#594d9f; --accent2:#8b6fe6;
  --btn1:#6a58cc; --btn2:#4a3d95;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Space Grotesk',Inter,sans-serif;line-height:1.15;letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.grad{background:linear-gradient(100deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}

/* NAV */
header{position:fixed;inset:0 0 auto 0;z-index:50;backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-family:'Space Grotesk',Inter,system-ui,sans-serif;font-weight:700;font-size:1.35rem;letter-spacing:.06em;display:flex;align-items:center;gap:10px;cursor:pointer}
.logo i{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--btn1),var(--btn2));display:inline-block;position:relative}
.logo i::after{content:"";position:absolute;inset:7px;border:2px solid #fff;border-radius:3px;transform:rotate(45deg)}
.logo-img{height:40px;width:auto;display:block;background:#fff;padding:4px 10px;border-radius:10px}
.logo-fb{display:none;align-items:center;gap:10px}
footer .logo-img{height:46px}
nav ul{display:flex;gap:6px;list-style:none}
nav .tab{background:none;border:0;color:var(--muted);font:500 .95rem Inter;padding:9px 15px;border-radius:999px;cursor:pointer;transition:.25s;display:flex;align-items:center;gap:7px}
nav .tab:hover{color:var(--text)}
nav .current-menu-item>.tab,nav .current-menu-ancestor>.tab,nav .tab.active{color:var(--text);background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.badge{font-size:.62rem;font-weight:700;padding:2px 7px;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent2));color:#fff;letter-spacing:.05em}
.right{display:flex;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;font:600 .95rem Inter;padding:12px 22px;border-radius:999px;transition:.25s}
.btn.primary{background:linear-gradient(100deg,var(--btn1),var(--btn2));color:#fff;box-shadow:0 8px 28px -8px var(--accent2)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px -8px var(--accent2)}
.btn.ghost{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}
.btn.ghost:hover{background:var(--card)}
.icon-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;font-size:1rem}
.burger{display:none}
@media(max-width:1100px){
  nav ul{position:fixed;top:68px;left:0;right:0;flex-direction:column;background:var(--bg);padding:14px 20px 22px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:.3s}
  nav ul.open{transform:none}
  .burger{display:inline-block}
  .right .btn{display:none}
}

/* PAGES */
.page{padding-top:68px;animation:fade .5s ease}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
section{padding:92px 0;position:relative}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
h2.title{font-size:clamp(1.9rem,4vw,2.9rem);margin-bottom:16px}
.lead{color:var(--muted);font-size:1.1rem;max-width:680px}
.center{text-align:center}.center .lead{margin:0 auto}

/* HERO */
.hero{min-height:calc(100vh - 68px);display:flex;align-items:center;overflow:hidden;padding:60px 0}
#net{position:absolute;inset:0;width:100%;height:100%;opacity:.7}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 40%,transparent,var(--bg))}
.hero .wrap{position:relative;z-index:2}
.pill{display:inline-flex;gap:8px;align-items:center;padding:7px 14px;border:1px solid var(--line);border-radius:99px;background:var(--card);font-size:.85rem;color:var(--muted);margin-bottom:26px}
.pill b{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--accent);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
.hero h1{font-size:clamp(2.5rem,6.5vw,5rem);max-width:900px;margin-bottom:22px}
.hero p.lead{margin-bottom:34px;font-size:1.2rem}
.cta{display:flex;flex-wrap:wrap;gap:14px}
.rot{display:inline-block;min-width:1ch}
.cursor{display:inline-block;width:3px;height:.9em;background:var(--accent);margin-left:4px;vertical-align:-.08em;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}

/* MARQUEE */
.marq{border-block:1px solid var(--line);background:var(--bg2);overflow:hidden;padding:18px 0}
.marq div{display:flex;gap:56px;width:max-content;animation:slide 32s linear infinite;color:var(--muted);font:600 1rem 'Space Grotesk',Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.marq span::before{content:"◆";color:var(--accent);margin-right:56px}
@keyframes slide{to{transform:translateX(-50%)}}

/* CARDS */
.grid{display:grid;gap:22px}
.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.g3,.g2,.g4{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:.35s;position:relative;overflow:hidden}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%),color-mix(in srgb,var(--accent) 16%,transparent),transparent 60%);opacity:0;transition:.3s}
.card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.card:hover::before{opacity:1}
.card>*{position:relative}
.ico{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;font-size:1.5rem;margin-bottom:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--accent2) 22%,transparent))}
.card h3{font-size:1.25rem;margin-bottom:10px}
.card p{color:var(--muted);font-size:.97rem}

/* STATS */
.stats{background:var(--bg2);border-block:1px solid var(--line)}
.stat{text-align:center}
.stat .n{font:700 clamp(2.4rem,5vw,3.8rem) 'Space Grotesk',Inter,system-ui,sans-serif}
.stat p{color:var(--muted);font-size:.95rem}

/* VALUE CHAIN */
.chain{display:flex;gap:0;flex-wrap:wrap;margin-top:40px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.chain div{flex:1 1 150px;padding:22px 16px;text-align:center;background:var(--card);border-right:1px solid var(--line);font-weight:600;transition:.3s;cursor:default}
.chain div:last-child{border-right:0}
.chain div small{display:block;color:var(--muted);font-weight:400;margin-top:4px}
.chain div:hover{background:linear-gradient(135deg,var(--btn1),var(--btn2));color:#fff}
.chain div:hover small{color:#ffffffcc}

/* ROI */
.roi{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
@media(max-width:850px){.roi{grid-template-columns:1fr}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:34px}
.field{margin-bottom:22px}
.field label{display:flex;justify-content:space-between;font-weight:500;margin-bottom:10px;font-size:.95rem}
.field label b{color:var(--accent)}
input[type=range]{width:100%;accent-color:var(--accent);height:6px}
.result{font:700 clamp(2.4rem,5vw,3.6rem) 'Space Grotesk',Inter,system-ui,sans-serif}
.bar{height:10px;border-radius:99px;background:var(--bg2);overflow:hidden;margin:10px 0 20px}
.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .6s cubic-bezier(.2,.8,.2,1)}
.note{font-size:.8rem;color:var(--muted);margin-top:16px}

/* TESTI */
.quote{max-width:820px;margin:0 auto;text-align:center}
.quote blockquote{font:500 clamp(1.2rem,2.4vw,1.7rem)/1.5 'Space Grotesk',Inter,system-ui,sans-serif;margin-bottom:24px}
.quote cite{font-style:normal;color:var(--muted)}
.quote cite b{color:var(--text);display:block}

/* FORM */
form.news{display:flex;gap:10px;flex-wrap:wrap;max-width:520px;margin:28px auto 0;justify-content:center}
input,select,textarea{font:inherit;color:var(--text);background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:13px 16px;width:100%;transition:.2s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
form.news input{flex:1 1 240px;width:auto}

/* AI PAGE */
.ai-hero{padding:90px 0 40px;text-align:center;position:relative;overflow:hidden}
.ai-hero::before{content:"";position:absolute;width:700px;height:700px;left:50%;top:-340px;transform:translateX(-50%);background:radial-gradient(circle,color-mix(in srgb,var(--accent2) 40%,transparent),transparent 65%);filter:blur(30px)}
.ai-hero>*{position:relative}
.ai-hero h1{font-size:clamp(2.2rem,5.5vw,4.2rem);max-width:880px;margin:0 auto 20px}
.chat{max-width:560px;margin:44px auto 0;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 30px 80px -30px #0008}
.msg{padding:11px 15px;border-radius:14px;margin-bottom:10px;max-width:86%;font-size:.93rem;opacity:0;transform:translateY(8px);animation:pop .5s forwards}
.msg.u{background:linear-gradient(100deg,var(--btn1),var(--btn2));color:#fff;margin-left:auto;border-bottom-right-radius:4px}
.msg.a{background:var(--bg2);border-bottom-left-radius:4px}
@keyframes pop{to{opacity:1;transform:none}}
.typing span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--muted);margin:0 2px;animation:bounce 1s infinite}
.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}
@keyframes bounce{50%{transform:translateY(-5px)}}

.subtabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:34px 0 30px}
.subtabs button{border:1px solid var(--line);background:var(--card);color:var(--muted);font:500 .92rem Inter;padding:10px 18px;border-radius:99px;cursor:pointer;transition:.25s}
.subtabs button:hover{color:var(--text)}
.subtabs button.on{background:linear-gradient(100deg,var(--btn1),var(--btn2));color:#fff;border-color:transparent}
.usecase{display:none;grid-template-columns:1.1fr .9fr;gap:34px}
.usecase.on{display:grid;animation:fade .45s}
@media(max-width:850px){.usecase.on{grid-template-columns:1fr}}
.usecase ul{list-style:none;margin:18px 0 24px}
.usecase li{padding:9px 0 9px 30px;position:relative;border-bottom:1px solid var(--line);color:var(--muted)}
.usecase li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start}
.kpi{background:var(--bg2);border-radius:14px;padding:20px}
.kpi b{font:700 2rem 'Space Grotesk',Inter,system-ui,sans-serif;display:block}
.kpi span{color:var(--muted);font-size:.85rem}

/* ROADMAP */
.road{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;margin-top:50px}
.road::before{content:"";position:absolute;top:27px;left:10%;right:10%;height:3px;background:var(--line)}
.road .prog{position:absolute;top:27px;left:10%;height:3px;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .5s}
.step{text-align:center;cursor:pointer;position:relative;padding:0 8px}
.step .dot{width:54px;height:54px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;font:700 1.1rem 'Space Grotesk',Inter,system-ui,sans-serif;background:var(--card);border:2px solid var(--line);transition:.35s;position:relative;z-index:1}
.step.done .dot,.step.cur .dot{background:linear-gradient(135deg,var(--btn1),var(--btn2));color:#fff;border-color:transparent}
.step.cur .dot{transform:scale(1.15);box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 20%,transparent)}
.step h4{font-size:.98rem}
.step small{color:var(--muted)}
.stepinfo{margin-top:34px;min-height:120px}
@media(max-width:700px){.road{grid-template-columns:1fr;gap:6px}.road::before,.road .prog{display:none}.step{display:flex;gap:14px;align-items:center;text-align:left}.step .dot{margin:0;flex:none}}

/* TECH */
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:30px}
.chips span{padding:9px 18px;border:1px solid var(--line);border-radius:99px;background:var(--card);font-size:.92rem;font-weight:500;transition:.25s}
.chips span:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-3px)}

/* QUIZ */
.quiz{max-width:720px;margin:36px auto 0}
.opts{display:grid;gap:10px;margin:18px 0}
.opts button{text-align:left;background:var(--bg2);border:1px solid var(--line);color:var(--text);padding:15px 18px;border-radius:12px;font:500 .96rem Inter;cursor:pointer;transition:.2s}
.opts button:hover{border-color:var(--accent)}
.opts button.sel{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent)}
.qprog{height:5px;background:var(--bg2);border-radius:9px;overflow:hidden}
.qprog i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));width:0;transition:.4s}

/* FAQ */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin-bottom:12px;transition:.2s}
.faq details[open]{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}
.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between}
.faq summary::after{content:"+";color:var(--accent);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{color:var(--muted);margin-top:12px}

/* CONTACT / CAREERS */
.two{display:grid;grid-template-columns:1fr 1.1fr;gap:40px}
@media(max-width:850px){.two{grid-template-columns:1fr}}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.row2{grid-template-columns:1fr}}
.form label{display:block;font-size:.88rem;color:var(--muted);margin:14px 0 6px}
.job{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.job h3{margin-bottom:4px}
.tag{display:inline-block;font-size:.75rem;padding:3px 10px;border-radius:99px;background:var(--bg2);color:var(--muted);margin-right:6px}

/* PLACEMENT */
.pf{display:flex;flex-direction:column;gap:12px}
.pf .fam{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.pf .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.pf .tags span{font-size:.75rem;padding:4px 10px;border-radius:99px;background:var(--bg2);color:var(--muted)}
.match-res{margin:22px 0;padding:16px 18px;border-radius:14px;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));font-size:.95rem}
.match-res b{color:var(--accent)}

/* FOOTER */
footer{border-top:1px solid var(--line);padding:50px 0 30px;background:var(--bg2)}
.foot{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.foot ul{list-style:none}.foot li{margin:8px 0;color:var(--muted)}.foot li a:hover{color:var(--accent)}
.copy{margin-top:34px;color:var(--muted);font-size:.85rem}

/* REVEAL */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}
.js .rv.in{opacity:1;transform:none}
.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,120px);background:var(--card);border:1px solid var(--accent);padding:14px 22px;border-radius:14px;z-index:99;transition:.4s;box-shadow:0 20px 50px -15px #000a}
.toast.show{transform:translate(-50%,0)}
.fab{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;align-items:center;gap:8px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}}

/* ===== v2 : fonctionnalités ===== */
section{scroll-margin-top:84px}
.logo{gap:12px}
.logo-mark{height:34px;width:auto;display:block}
.logo-word{font:300 1.2rem 'Space Grotesk',Inter,sans-serif;letter-spacing:.4em;text-transform:uppercase;margin-right:-.4em}
.logo-lock{height:92px;width:auto;display:block}
.ll{display:none}
:root[data-theme="light"] .ld{display:none}
:root[data-theme="light"] .ll{display:block}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
input[type=checkbox]{width:auto;margin-top:4px;accent-color:var(--accent);flex:none}
.chk{display:flex!important;gap:10px;align-items:flex-start;font-size:.88rem;color:var(--muted);margin-top:16px!important;line-height:1.45}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
#svc .card{cursor:pointer}
#svc .card .more{display:inline-block;margin-top:14px;color:var(--accent);font-weight:600;font-size:.92rem}
#svc .card:hover .more{text-decoration:underline}
.pf{cursor:pointer}
.pf .go{color:var(--accent);font-weight:600;font-size:.9rem}
.choice{text-align:left;font:inherit;color:inherit;cursor:pointer;width:100%;padding:20px!important}
.choice b{display:block;margin-bottom:4px}
.choice.on{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
[data-mode]{cursor:pointer}
.modal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(3,6,15,.68);backdrop-filter:blur(6px)}
.modal.open{display:flex;animation:fade .25s}
.mbox{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:22px;max-width:660px;width:100%;max-height:90vh;overflow:auto;padding:34px;position:relative;box-shadow:0 40px 100px -30px #000}
.mbox h3{font-size:1.5rem;margin-bottom:8px;padding-right:36px}
.mbox p.sub{color:var(--muted);margin-bottom:6px}
.mx{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--bg2);color:var(--text);font-size:1.1rem;cursor:pointer}
.mbox ul.ck{list-style:none;margin:14px 0 20px}
.mbox ul.ck li{padding:8px 0 8px 28px;position:relative;color:var(--muted);border-bottom:1px solid var(--line)}
.mbox ul.ck li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.mbox .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.mbox pre{white-space:pre-wrap;word-break:break-word;font:.9rem/1.5 Inter,sans-serif;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:16px;max-height:240px;overflow:auto;margin-top:14px}
.okmark{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--btn1),var(--btn2));color:#fff;font-size:1.6rem;margin-bottom:14px}
.chat #chatlog{max-height:330px;min-height:150px;overflow:auto;padding-right:4px;scroll-behavior:smooth}
.chat .qs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.chat .qs button{border:1px solid var(--line);background:var(--bg2);color:var(--muted);font:500 .82rem Inter;padding:7px 13px;border-radius:99px;cursor:pointer;transition:.2s}
.chat .qs button:hover{color:var(--text);border-color:var(--accent)}
.chat form{display:flex;gap:8px;margin-top:10px}
.chat form input{flex:1}
.chat form .btn{padding:10px 18px}
.chat .demo-note{font-size:.75rem;color:var(--muted);margin-top:10px;text-align:center}
.jobs-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:30px 0 10px}
.job p{color:var(--muted);font-size:.95rem;margin:8px 0 10px;max-width:560px}
.job .jl{flex:1 1 380px}
.hide{display:none!important}

/* en-tête : une seule ligne, sans retour à la ligne */
header .wrap{max-width:1360px}
nav .tab{white-space:nowrap;padding:9px 12px;font-size:.92rem}
.right .btn{white-space:nowrap;padding:10px 18px;font-size:.9rem}


/* ===== v3 : violet + icônes vectorielles ===== */
body{background:radial-gradient(1100px 650px at 85% -8%,rgba(116,97,224,.20),transparent 62%),radial-gradient(900px 600px at -5% 38%,rgba(89,77,159,.16),transparent 60%),var(--bg);background-repeat:no-repeat}
:root[data-theme="light"] body{background:radial-gradient(1000px 600px at 85% -8%,rgba(139,111,230,.14),transparent 62%),var(--bg)}
.ico svg{width:26px;height:26px;stroke:var(--accent);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ico{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 20%,transparent),color-mix(in srgb,var(--accent2) 14%,transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}
.ib{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;display:block;margin:auto}
.ib.big{width:28px;height:28px;stroke-width:2.2}
.icon-btn{display:inline-grid;place-items:center;padding:0}
.burger{display:none}
@media(max-width:1100px){.burger{display:inline-grid}}
.ci{width:18px;height:18px;vertical-align:-3px;margin-right:6px;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:inline-block}
.ci.w{stroke:#f5b342}.ci.o{stroke:#4ade80}
.okmark{font-size:0}
.mx{display:grid;place-items:center;padding:0}
.usecase li::before,.mbox ul.ck li::before{content:"";width:18px;height:18px;top:12px;background:var(--accent);-webkit-mask:var(--chk) center/contain no-repeat;mask:var(--chk) center/contain no-repeat;font-size:0}
.mbox ul.ck li::before{top:10px}
:root{--chk:url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2.4'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9.5'%20stroke-width='1.8'/%3E%3Cpath%20d='m8%2012.4%202.7%202.7L16%209.6'/%3E%3C/svg%3E")}
.marq span::before{content:"";display:inline-block;width:8px;height:8px;background:var(--accent);transform:rotate(45deg);margin-right:56px;vertical-align:middle}
.btn.primary{box-shadow:0 10px 30px -10px var(--btn1)}
.hero h1{max-width:1150px}
.rot{display:inline}
.grad{-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* ===== v3.1 : dégradés violets ===== */
:root{--hero-a:#34288a;--hero-b:#0c0a1f;--cta1:#2a2073;--cta2:#5b47c9;--cta3:#9078ec}
:root[data-theme="light"]{--hero-a:#d8d0fb;--hero-b:#f6f5fb}
header{background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 84%,transparent),color-mix(in srgb,var(--accent2) 16%,color-mix(in srgb,var(--bg) 84%,transparent)))}
header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--accent2),var(--accent),transparent);opacity:.65;pointer-events:none}
.hero{background:radial-gradient(900px 520px at 90% 8%,color-mix(in srgb,var(--accent) 34%,transparent),transparent 62%),radial-gradient(700px 480px at 4% 92%,color-mix(in srgb,var(--btn1) 40%,transparent),transparent 65%),linear-gradient(160deg,var(--hero-a) 0%,color-mix(in srgb,var(--hero-a) 40%,var(--hero-b)) 45%,var(--hero-b) 100%)}
.hero::after{background:linear-gradient(180deg,transparent 62%,var(--bg) 100%)}
.ai-hero{background:linear-gradient(180deg,color-mix(in srgb,var(--accent2) 30%,transparent) 0%,transparent 75%)}
section[style*="--bg2"]{background:linear-gradient(135deg,color-mix(in srgb,var(--accent2) 20%,var(--bg2)) 0%,var(--bg2) 52%,color-mix(in srgb,var(--btn2) 28%,var(--bg2)) 100%)!important}
.marq{background:linear-gradient(90deg,color-mix(in srgb,var(--btn2) 30%,var(--bg2)),var(--bg2) 50%,color-mix(in srgb,var(--btn1) 26%,var(--bg2)))}
.stats{background:linear-gradient(120deg,#2f2478 0%,#5744bd 50%,#8068e8 100%);border-color:transparent}
.stats .grad{background:none;-webkit-text-fill-color:#fff;color:#fff}
.stats .stat p{color:rgba(255,255,255,.82)}
.card{background:linear-gradient(160deg,color-mix(in srgb,var(--accent2) 14%,var(--card)) 0%,var(--card) 62%)}
.panel{background:linear-gradient(160deg,color-mix(in srgb,var(--accent2) 14%,var(--card)) 0%,var(--card) 65%)}
.ctaband{padding:92px 0;background:radial-gradient(600px 300px at 12% 0%,rgba(255,255,255,.18),transparent 60%),radial-gradient(520px 320px at 92% 100%,rgba(176,165,250,.35),transparent 62%),linear-gradient(120deg,var(--cta1) 0%,var(--cta2) 58%,var(--cta3) 100%);color:#fff;position:relative;overflow:hidden}
.ctaband .title{color:#fff;margin-bottom:12px}
.ctaband .lead{color:rgba(255,255,255,.86);margin:0 auto 30px}
.btn.light{background:#fff;color:#463a93;box-shadow:0 12px 30px -12px rgba(0,0,0,.5)}
.btn.light:hover{transform:translateY(-2px)}
.btn.outline{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6)}
.btn.outline:hover{background:rgba(255,255,255,.12)}
footer{background:linear-gradient(180deg,var(--bg2) 0%,color-mix(in srgb,var(--btn2) 38%,var(--bg)) 100%)}

/* ===== WordPress ===== */
a.btn,a.tab{text-decoration:none}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;margin:0;padding:10px 16px;background:var(--card);color:var(--text);z-index:200;left:10px;top:10px;border-radius:10px}
.admin-bar header{top:32px}
@media(max-width:782px){.admin-bar header{top:46px}}
.page.is-single{padding-top:68px}
.logo a{display:flex;align-items:center;gap:12px}
/* menu : sous-menus déroulants (menu contextuel) */
nav li{position:relative}
nav .sub-menu{list-style:none;position:absolute;top:100%;left:0;min-width:230px;padding:8px;margin-top:8px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px -24px #000;opacity:0;visibility:hidden;transform:translateY(6px);transition:.22s;z-index:60;display:block}
nav li.menu-item-has-children>.tab::after{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:2px;opacity:.7}
nav li:hover>.sub-menu,nav li:focus-within>.sub-menu,nav li.open>.sub-menu{opacity:1;visibility:visible;transform:none}
nav .sub-menu .tab{display:block;width:100%;border-radius:10px;padding:10px 14px;white-space:nowrap}
nav .sub-menu .tab:hover{background:var(--bg2)}
@media(max-width:1100px){
  nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;margin:0;padding:0 0 0 14px;min-width:0}
  nav li.menu-item-has-children>.tab::after{display:none}
}
.foot ul li a{color:inherit}
.copy a{text-decoration:underline}
.entry{max-width:820px;margin:0 auto;padding:60px 20px 90px}
.entry h1{font-size:2.4rem;margin-bottom:20px}
.entry .content>*+*{margin-top:1em}
.entry .content a{color:var(--accent);text-decoration:underline}
.entry .content ul,.entry .content ol{padding-left:1.4em}
.entry .content img{max-width:100%;height:auto;border-radius:12px}
.extra-content{padding:20px 0 60px}
.extra-content .wrap>*+*{margin-top:1em}
.nx-posts article{margin-bottom:34px}
.notice-nojs{padding:12px 16px;border:1px solid var(--line);border-radius:12px;color:var(--muted);margin-bottom:14px}
.js .notice-nojs{display:none}
.pagination{display:flex;gap:10px;justify-content:center;margin-top:30px}
.foot nav ul{display:block;gap:0}
.foot nav li{margin:8px 0}
