:root{--bg:#F7F8FA;--ink:#20365C;--mut:#5B6B85;--card:#FFFFFF;--line:#DCE7EC;--pale:#EAF7F5;--deep:#20365C;--acc:#0E7F80;--plate:transparent;--g:linear-gradient(120deg,#60BC9A,#20AFD0);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
/* @media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0C1730;--ink:#EAF7F5;--mut:#A9B8CF;--card:#142446;--line:#24375F;--pale:#12305A;--deep:#0A1228;--acc:#5ED6C6;--plate:#F7F8FA}} */
/* :root[data-theme="dark"]{--bg:#0C1730;--ink:#EAF7F5;--mut:#A9B8CF;--card:#142446;--line:#24375F;--pale:#12305A;--deep:#0A1228;--acc:#5ED6C6;--plate:#F7F8FA} */
html{scroll-behavior:smooth;scroll-padding-top:90px}
*{box-sizing:border-box;margin:0}
body{background:var(--bg);color:var(--ink);font:400 17px/1.6 Inter,Arial,sans-serif;overflow-x:hidden}
body::before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:49}
h1,h2,h3,.hd{font-family:Lexend,Inter,Arial,sans-serif;letter-spacing:-.02em;line-height:1.1}
.stripe{position:fixed;left:0;top:0;bottom:0;width:10px;background:linear-gradient(#60BC9A,#20AFD0 70%,#3FA0DD);z-index:60}
.prog{position:fixed;top:0;left:0;height:3px;width:0;background:var(--g);z-index:70}
.wrap{max-width:1160px;margin:auto;padding:0 28px}
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 80%,transparent);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:26px;height:68px}
.plate{background:var(--plate);border-radius:10px;padding:3px 8px;display:inline-flex}
.nav nav{margin-left:auto;display:flex;gap:26px;font-size:15px}
.nav nav a{color:var(--mut);text-decoration:none;transition:color .2s}.nav nav a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border-radius:999px;background:var(--g);color:#0F2040;font:600 15px Lexend,Inter,sans-serif;text-decoration:none;border:0;cursor:pointer;transition:transform .25s,box-shadow .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px -8px rgba(32,175,208,.65)}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}.btn.ghost:hover{box-shadow:none;border-color:var(--mint,#20AFD0)}
.btn.big{padding:16px 30px;font-size:16px}
a:focus-visible,button:focus-visible{outline:3px solid #20AFD0;outline-offset:3px}
section{padding:84px 0;position:relative}
.eyebrow{font:600 13px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--acc)}
h2{font-size:clamp(30px,4.2vw,52px);margin:14px 0 18px}
.lead{color:var(--mut);font-size:19px;max-width:620px}
.gt{background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.card{background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 60px -34px rgba(32,54,92,.35)}
.glow{position:relative;overflow:hidden}.glow::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(380px circle at var(--mx,70%) var(--my,0%),rgba(32,175,208,.16),transparent 60%)}
.rv{opacity:1}.js .rv{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.js .rv.in{opacity:1;transform:none}
/* hero */
.hero{padding:70px 0 90px;overflow:hidden;min-height:88vh;display:flex;align-items:center}
.mesh i{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45;animation:fl 20s ease-in-out infinite alternate}
.mesh i:nth-child(1){width:560px;height:560px;background:#60BC9A;right:-120px;top:-100px}
.mesh i:nth-child(2){width:520px;height:520px;background:#20AFD0;left:-160px;bottom:-200px;animation-delay:-8s}
.mesh i:nth-child(3){width:260px;height:260px;background:#60BC9A;left:45%;bottom:5%;opacity:.25;animation-delay:-4s}
@keyframes fl{to{transform:translate(50px,40px) scale(1.12)}}
.grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse at 62% 40%,#000 15%,transparent 70%);mask-image:radial-gradient(ellipse at 62% 40%,#000 15%,transparent 70%);opacity:.7}
.hero-in{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
h1{font-size:clamp(40px,6vw,76px);margin:18px 0 22px}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 26px}
.chips{display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0}
.chips li,.chip{padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);font:500 14px Inter,sans-serif}
.sim{padding:22px}
.sim-h{display:flex;align-items:center;gap:10px;font:600 14px Lexend,sans-serif}.sim-h em{margin-left:auto;font:500 12px Inter;color:var(--mut);font-style:normal}
.dot{width:9px;height:9px;border-radius:50%;background:var(--g);box-shadow:0 0 0 0 rgba(32,175,208,.6);animation:pl 2s infinite}
@keyframes pl{70%{box-shadow:0 0 0 10px rgba(32,175,208,0)}}
.who{display:flex;align-items:center;gap:14px;margin:20px 0 14px;padding:14px;border-radius:18px;background:var(--pale)}
.who b{font:600 15px Lexend,sans-serif;display:block;line-height:1.3}.who small{color:var(--mut)}
.av{width:46px;height:46px;border-radius:50%;background:var(--g);flex:none}
.wave{margin-left:auto;display:flex;gap:3px;align-items:center;height:30px}.wave i{width:4px;border-radius:3px;background:var(--g);height:8px;animation:wv 1.1s ease-in-out infinite alternate}
@keyframes wv{to{height:28px}}
.chat{min-height:210px;display:flex;flex-direction:column;gap:10px;padding:6px 0}
.b{max-width:84%;padding:11px 15px;border-radius:18px;font-size:15px;line-height:1.45;animation:bi .5s both}
.b.ia{background:var(--pale);border-bottom-left-radius:5px}.b.me{align-self:flex-end;background:var(--deep);color:#fff;border-bottom-right-radius:5px}
@keyframes bi{from{opacity:0;transform:translateY(10px)}}
.lm{display:flex;gap:6px;list-style:none;padding:14px 0 0;border-top:1px solid var(--line);flex-wrap:wrap}
.lm li{font:500 12.5px Inter;padding:5px 11px;border-radius:999px;color:var(--mut);transition:.4s}.lm li.on{background:var(--g);color:#0F2040;font-weight:600}
.live{display:flex;align-items:center;gap:8px;font:600 12.5px Inter;color:var(--acc);margin:16px 0 0}.mic{width:34px;height:34px;border-radius:50%;background:var(--g);display:grid;place-items:center;flex:none}.mic svg{width:17px;height:17px;stroke:#0F2040;fill:none;stroke-width:2;stroke-linecap:round}
.b small{display:block;font:600 11px Inter;opacity:.7;margin-bottom:2px}
.apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;margin-top:40px}.apps .card{padding:26px;border-radius:20px}.apps h3{font-size:20px;margin-bottom:8px}.apps p{color:var(--mut);font-size:16px}.apps ul{list-style:none;padding:0;margin:14px 0;display:grid;gap:6px;font-size:15px}.apps li::before{content:"–  ";color:var(--acc)}.role{font:600 13.5px Inter;color:var(--acc);padding-top:12px;border-top:1px solid var(--line)}
.sc small b{font:600 14px Inter;color:var(--acc)}
/* probleme */
.tbl{overflow:hidden}.tbl .th{padding:20px 24px;background:var(--pale);font:600 12px Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}.tbl .th b{display:block;font:600 19px Lexend;letter-spacing:0;text-transform:none;color:var(--ink);margin-top:2px}
.row{display:grid;grid-template-columns:1.3fr 1fr auto;gap:12px;padding:16px 24px;border-top:1px solid var(--line);align-items:center}
.row span:nth-child(2){color:var(--mut)}
.pill{padding:4px 13px;border-radius:999px;font:600 13px Inter;background:var(--pale);color:var(--acc);white-space:nowrap}.pill.on{background:var(--deep);color:#fff}
.row.hot{background:color-mix(in srgb,var(--pale) 60%,transparent)}.row.hot .pill{animation:pl 2s infinite;box-shadow:0 0 0 0 rgba(32,54,92,.4)}
.q{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:70px}
.q .card{padding:26px;border-radius:20px}.q .n{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--g);color:#0F2040;font:600 16px Lexend;margin-bottom:14px}.q b{font:600 18px/1.35 Lexend}
/* recherche */
.dark{background:var(--deep);color:#fff;overflow:hidden}.dark .eyebrow{color:#5ED6C6}.dark .lead{color:#C6D3E8}
.dark .mesh i{opacity:.28}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:46px;position:relative}
.big-n{font:700 clamp(52px,8vw,96px)/1 Lexend;letter-spacing:-.03em}
.bar{height:14px;border-radius:9px;background:rgba(255,255,255,.12);margin:18px 0 12px;overflow:hidden}.bar i{display:block;height:100%;width:0;border-radius:9px;background:var(--g);transition:width 1.8s cubic-bezier(.2,.8,.2,1)}.bar.m i{background:rgba(255,255,255,.5)}
.src{margin-top:34px;font-size:14px;color:#9FB1CF;position:relative}
/* methode */
.loopw{display:grid;grid-template-columns:.95fr 1.05fr;gap:50px;align-items:center;margin-top:50px}
#ring{width:100%;max-width:440px;margin:auto;display:block;overflow:visible}
.orbit{transform-origin:200px 200px;animation:sp 14s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
.nd circle{fill:var(--card);stroke:var(--line);stroke-width:2;transform-box:fill-box;transform-origin:center;transition:.45s}.nd text{font:600 18px Lexend,sans-serif;fill:var(--ink)}
.nd.on circle{fill:url(#rg);stroke:none;transform:scale(1.28);filter:drop-shadow(0 0 14px rgba(32,175,208,.65))}.nd.on text{fill:#0F2040}
.st{display:flex;gap:16px;align-items:center;width:100%;padding:16px 20px;border-radius:18px;border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:left;color:inherit;font:inherit;margin-bottom:12px;transition:.35s}
.st b{font:600 18px Lexend,sans-serif;display:block}.st small{color:var(--mut);font-size:15px;display:block;max-height:0;overflow:hidden;opacity:0;transition:.4s}
.st .k{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--pale);font:600 15px Lexend;color:var(--acc);transition:.35s}
.st.on{background:var(--deep);color:#fff;border-color:transparent;box-shadow:0 24px 40px -24px rgba(32,54,92,.6)}.st.on small{max-height:60px;opacity:1;color:#C6D3E8}.st.on .k{background:var(--g);color:#0F2040}
/* scenarios */
.langs{display:flex;gap:10px;margin:26px 0 22px}.lg{padding:10px 22px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:600 15px Lexend;cursor:pointer;transition:.3s}.lg.on{background:var(--deep);color:#fff;border-color:var(--deep)}
.sc{display:flex;gap:16px;align-items:center;padding:18px 24px;border-top:1px solid var(--line);transition:opacity .45s}.sc:first-child{border-top:0}.sc.dim{opacity:1}.sc .ic{width:44px;height:44px;border-radius:50%;background:var(--pale);flex:none;display:grid;place-items:center}.sc .ic i{width:14px;height:14px;border-radius:50%;background:var(--g)}
.sc b{font:600 17px Lexend;display:block;line-height:1.3}.sc small{color:var(--mut)}.sc .pill{margin-inline-start:auto}
/* secteurs */
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0 34px}
.pan{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;animation:bi .6s both}
.pan h3{font-size:clamp(24px,3vw,34px);margin-bottom:16px}.pan p{color:var(--mut)}.pan ul{list-style:none;padding:0;margin-top:22px;display:grid;gap:12px}.pan li{display:flex;gap:12px}.pan li::before{content:"";flex:none;width:10px;height:10px;margin-top:9px;border-radius:50%;background:var(--g)}
.fiche{padding:26px}.fiche>b{font:600 20px Lexend;display:block}.fiche .tg{font:600 12px Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.fiche dl{margin-top:16px}.fiche dt{font:600 12px Inter;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-top:14px}.fiche dd{margin:2px 0 0}
.fiche .chips{margin-top:20px}
/* final */
.final{text-align:center}.final h2{font-size:clamp(34px,5.4vw,66px)}
.final .wrap{position:relative}.final .mesh i:nth-child(1){left:-100px;right:auto}.final .cta{justify-content:center}
.mail{font:600 20px Lexend;color:#5ED6C6}
footer{padding:36px 0 50px;border-top:1px solid var(--line);color:var(--mut);font-size:14px}footer .wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap}footer .plate{margin-right:auto}
@media (max-width:880px){.two,.hero-in,.loopw,.pan,.stats{grid-template-columns:1fr}.nav .btn{margin-left:auto}section{padding:60px 0}.q{grid-template-columns:1fr}.hero{min-height:0}.row{grid-template-columns:1fr auto}.row span:nth-child(2){display:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}html{scroll-behavior:auto}}
/* Tablette */
@media (max-width: 880px) {
    .nav .btn {
        margin-left: auto;
        padding: 11px 18px;
        font-size: 14px;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .nav .btn {
        padding: 10px 14px;
        font-size: 12px;
        gap: 6px;
    }
}

/* Très petits écrans */
@media (max-width: 380px) {
    .nav .btn {
        padding: 9px 11px;
        font-size: 11px;
    }
}
/* ===== Motion graphic : simulation hero ===== */
.stage{max-width:620px;width:100%;margin-inline:auto}
.scene{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px;align-items:end;margin:16px 0 4px}
.pers{display:flex;flex-direction:column;align-items:center;gap:10px;position:relative;z-index:2}
.pers svg{width:100%;max-width:190px;height:auto;display:block;overflow:visible}
.body{animation:br 4.2s ease-in-out infinite alternate}@keyframes br{to{transform:translateY(3px)}}
.head{transform-origin:100px 192px}
.stage[data-spk=me] .head{animation:nd 1.6s ease-in-out infinite alternate}@keyframes nd{from{transform:rotate(-1.4deg)}to{transform:rotate(1.4deg)}}
/* Personne réelle (photo détourée) */
.photo{transform-box:fill-box;transform-origin:50% 100%;animation:zm 7s ease-in-out infinite alternate}@keyframes zm{to{transform:scale(1.025)}}
.halo{transform-origin:100px 128px;opacity:.35;transition:opacity .4s}
.stage[data-spk=me] .halo{opacity:.7}
.stage[data-spk=ia] .halo{opacity:1;animation:hl 1.8s linear infinite}@keyframes hl{to{transform:rotate(360deg)}}
.ok{opacity:0;transform:scale(.4);transform-box:fill-box;transform-origin:center;transition:opacity .4s,transform .5s cubic-bezier(.3,1.6,.5,1)}
.stage[data-ph=up] .ok{opacity:1;transform:none}
.snd{opacity:0}.stage[data-spk=me] .snd{animation:sn 1.1s ease-out infinite}@keyframes sn{0%{opacity:0;transform:translateX(-2px)}25%{opacity:1}100%{opacity:0;transform:translateX(30px)}}
.you{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:999px;background:var(--card);border:1px solid var(--line);font:600 12.5px Lexend,sans-serif}
.you .mic{width:26px;height:26px}.you .mic svg{width:13px;height:13px}
.lv{display:flex;gap:2px;align-items:center;height:14px}.lv i{width:3px;height:3px;border-radius:2px;background:var(--g)}
.stage[data-spk=me] .lv i{animation:lv .4s ease-in-out infinite alternate}.lv i:nth-child(2){animation-delay:.1s}.lv i:nth-child(3){animation-delay:.2s}.lv i:nth-child(4){animation-delay:.05s}.lv i:nth-child(5){animation-delay:.15s}
@keyframes lv{to{height:14px}}
.scr{border-radius:16px;background:var(--card);border:1px solid var(--line);box-shadow:0 22px 44px -22px rgba(32,54,92,.55);overflow:hidden;position:relative;min-width:0}
.scr-bar{display:flex;align-items:center;gap:5px;padding:9px 12px;background:var(--deep);color:#EAF7F5;font:500 11.5px Inter,sans-serif}
.scr-bar i{width:7px;height:7px;border-radius:50%;background:#60BC9A}.scr-bar i:nth-child(2){background:#20AFD0}.scr-bar i:nth-child(3){background:#3FA0DD}
.scr-bar span{margin-left:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scr-bar time{margin-left:auto;font-variant-numeric:tabular-nums}
.scr-body{position:relative;height:326px}
.pn{position:absolute;inset:0;padding:14px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .45s,transform .45s,visibility .45s}
.stage[data-ph=brief] .pn.brief,.stage[data-ph=talk] .pn.talk,.stage[data-ph=fb] .pn.fb,.stage[data-ph=redo] .pn.fb,.stage[data-ph=up] .pn.fb{opacity:1;visibility:visible;transform:none}
.pn h4{font:600 15px Lexend,sans-serif;margin-bottom:12px}
.kv{display:flex;flex-direction:column;gap:9px}
.kv .r{padding:9px 12px;border-radius:12px;background:var(--pale);display:flex;flex-direction:column;gap:1px}
.kv .r span{font-size:11.5px;color:var(--mut)}.kv .r b{font:600 13.5px Lexend,sans-serif;line-height:1.3}
.stage[data-ph=brief] .kv .r{animation:bi .5s both;animation-delay:calc(var(--i)*.14s + .2s)}
.go{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--g);color:#0F2040;font:600 13px Lexend,sans-serif;margin-top:auto;transition:transform .2s,box-shadow .3s}
.go svg{width:15px;height:15px;stroke:#0F2040;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.go.press{transform:scale(.95);box-shadow:0 0 0 9px rgba(32,175,208,.25)}
.scr .who{margin:0 0 8px;padding:10px;gap:10px}.scr .who b{font-size:13.5px}.scr .who small{font-size:12px}
.scr .av{width:38px;height:38px;display:grid;place-items:center}.av img{width:20px;height:auto}
.scr .wave{height:26px;gap:2px}.scr .wave i{width:3px;animation-play-state:paused}
.stage[data-spk=ia] .scr .wave i{animation-play-state:running}
.scr .chat{flex:1;min-height:0;overflow:hidden;justify-content:flex-end;gap:8px;padding:0}
.scr .b{font-size:13.5px;padding:9px 13px;max-width:90%;transition:opacity .4s}.scr .b:not(:last-child){opacity:.5}
.scr .live{margin:8px 0 0}
.fh{display:flex;align-items:center;gap:8px;margin-bottom:6px}.fh b{font:600 14px Lexend,sans-serif}
.try{margin-left:auto;font:600 11.5px Inter,sans-serif;padding:3px 10px;border-radius:999px;background:var(--pale);color:var(--acc)}
.sco{display:flex;align-items:baseline;gap:6px;margin-bottom:8px}.sco b{font:600 42px/1 Lexend,sans-serif;font-variant-numeric:tabular-nums}.sco small{color:var(--mut)}
.gain{margin-left:auto;align-self:center;font:600 13px Lexend,sans-serif;padding:4px 11px;border-radius:999px;background:var(--g);color:#0F2040;opacity:0;transform:scale(.7);transition:.45s cubic-bezier(.2,.9,.3,1.4)}
.stage[data-ph=up] .gain{opacity:1;transform:none}
.m{margin-bottom:9px}.m label{display:block;font-size:12px;color:var(--mut);margin-bottom:4px}
.bar{height:8px;border-radius:99px;background:var(--pale);overflow:hidden}.bar i{display:block;height:100%;width:0;border-radius:inherit;background:var(--g);transition:width 1.3s cubic-bezier(.2,.7,.2,1)}
.foot{margin-top:auto;display:flex}.foot .go{margin-top:0;width:100%}
.foot .done{display:none;font:600 13px/1.4 Lexend,sans-serif;color:var(--acc);padding:8px 0 2px}
.stage[data-ph=up] .foot .go{display:none}.stage[data-ph=up] .foot .done{display:block;animation:bi .5s both}
.cur{position:absolute;left:0;top:0;width:22px;height:22px;z-index:5;pointer-events:none;opacity:0;transform:translate(260px,280px);transition:transform .9s cubic-bezier(.5,0,.2,1),opacity .4s;filter:drop-shadow(0 3px 4px rgba(32,54,92,.35))}
.stage[data-ph=brief] .cur,.stage[data-ph=redo] .cur{opacity:1}
@media (max-width:560px){.scene{grid-template-columns:1fr;gap:12px}.pers svg{max-width:132px}.snd{display:none}.stage{padding:18px}}
/* ajustements du motion graphic */
.scene{grid-template-columns:.6fr 1.4fr;gap:6px}
.pers svg{max-width:150px}
.scr-body{height:346px}
.scr .who{line-height:1.25}.scr .who small{display:block;line-height:1.3}
.scr .who b{line-height:1.25}
.kv{gap:7px}.kv .r{padding:7px 11px;line-height:1.3}
.pn h4{margin-bottom:9px}
.m{margin-bottom:7px}.m label{line-height:1.3;margin-bottom:3px}
.fh b{line-height:1.2;font-size:13.5px}.try{white-space:nowrap}
.foot .done{line-height:1.35}
.scr .chat{-webkit-mask-image:linear-gradient(transparent,#000 22px);mask-image:linear-gradient(transparent,#000 22px)}
.stage .lm li{padding:5px 9px}
@media (max-width:560px){.scene{grid-template-columns:1fr}.pers svg{max-width:120px}}
.scr .av{background:#fff;border:1.5px solid var(--line)}.av img{width:22px}
.stage[data-spk=ia] .scr .av{box-shadow:0 0 0 4px rgba(32,175,208,.18)}

/* conversation vocale (sans texte) */
.call{display:flex;flex-direction:column;align-items:center;text-align:center;padding:6px 0 0;line-height:1.3}
.ai{position:relative;width:84px;height:84px;display:grid;place-items:center;margin-bottom:12px}
.ai .av{position:relative;z-index:1;width:68px;height:68px;border-radius:50%;background:#fff;border:2px solid var(--line);display:grid;place-items:center;box-shadow:0 10px 26px -10px rgba(32,54,92,.5)}
.ai .av img{width:34px;height:auto}
.ring{position:absolute;inset:8px;border-radius:50%;border:2px solid #20AFD0;opacity:0;animation:rg 1.8s ease-out infinite;animation-play-state:paused}
.ring:nth-child(2){animation-delay:.6s}.ring:nth-child(3){animation-delay:1.2s}
.stage[data-spk=ia] .ring{animation-play-state:running}
@keyframes rg{0%{transform:scale(.9);opacity:.7}100%{transform:scale(1.55);opacity:0}}
.call .cn{font:600 14px Lexend,sans-serif}.call .cs{color:var(--mut);font-size:12px;margin-bottom:12px}
.wv{display:flex;align-items:center;justify-content:center;gap:3px;height:56px;width:100%}
.wv i{width:4px;height:5px;border-radius:3px;background:var(--g);animation:wv2 .7s ease-in-out infinite alternate;animation-play-state:paused;transition:opacity .3s;opacity:.45}
.stage[data-spk=ia] #wave i{animation-play-state:running;opacity:1}
@keyframes wv2{to{height:var(--h,30px)}}
.yw{display:flex;align-items:center;gap:10px;margin-top:auto;padding:8px 12px;border-radius:16px;background:var(--pale)}
.yw .wv{height:30px}.yw .wv i{background:var(--deep);width:3px;gap:2px}
.stage[data-spk=me] #wave2 i{animation-play-state:running;opacity:1}
.stage[data-spk=me] .yw .mic{box-shadow:0 0 0 5px rgba(32,175,208,.2)}
.talk .live{justify-content:center;margin:10px 0 0}
.rcv{opacity:0}.stage[data-spk=ia] .rcv{animation:rc 1.1s ease-out infinite}
@keyframes rc{0%{opacity:0;transform:translateX(26px)}30%{opacity:1}100%{opacity:0;transform:translateX(0)}}
.stage[data-spk=ia] .head{animation:nd 2.2s ease-in-out infinite alternate}

/* ===== Langues FR / EN / Darija ===== */
.chips .chip-lang{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:5px 8px 5px 14px}
.chip-lang .lbl{font:500 14px Inter,sans-serif;color:var(--mut);margin-right:2px}
.lgc{display:inline-flex;align-items:center;gap:7px;padding:3px 12px 3px 4px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:600 13px Inter,sans-serif;text-decoration:none;transition:.25s}
.lgc:hover,.lgc:focus-visible{transform:translateY(-2px);border-color:var(--acc);box-shadow:0 6px 16px rgba(32,54,92,.12)}
.code{font:700 11px Lexend,sans-serif;font-style:normal;letter-spacing:.04em;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;flex:none}
.code.fr{background:linear-gradient(90deg,#2B4C9B 0 33%,#fff 33% 66%,#D9374A 66%);color:#20365C;text-shadow:0 0 3px #fff,0 0 3px #fff}
.code.en{background:linear-gradient(135deg,#20365C,#3E5C9A)}
.code.ma{background:linear-gradient(135deg,#C1272D,#8F1B20);box-shadow:inset 0 0 0 2px rgba(255,255,255,.25)}
.ar{font-family:'Noto Sans Arabic',Inter,sans-serif;font-weight:600;color:var(--acc)}
.langhint{color:var(--mut);margin:22px 0 -12px;font:500 14px Inter,sans-serif}
.lg{display:inline-flex;align-items:center;gap:10px;padding:7px 20px 7px 8px}
.lg .code{width:30px;height:30px;transition:.3s}
.lg:hover{border-color:var(--acc);transform:translateY(-2px)}
.lg.on .code{box-shadow:0 0 0 2px #fff}
.lg:focus-visible,.lgc:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
/* lignes de scénario : toutes visibles, contenu traduit */
.sc{flex-wrap:wrap;cursor:pointer}
.sc>div:nth-of-type(2){flex:1;min-width:0}
.sc .ic{position:relative;transition:.3s}
.sc .ic i{display:none}
.sc .ic .eq{display:flex;gap:2.5px;align-items:center;height:18px}
.sc .ic .eq u{display:block;width:3px;border-radius:2px;background:var(--g);height:6px;transition:height .3s}
.sc:hover .ic{background:var(--g)}.sc:hover .ic .eq u{background:#fff}
.sc.open .ic .eq u,.sc:hover .ic .eq u{animation:eq 0.9s ease-in-out infinite}
.sc .eq u:nth-child(2){animation-delay:.15s!important}.sc .eq u:nth-child(3){animation-delay:.3s!important}.sc .eq u:nth-child(4){animation-delay:.45s!important}
@keyframes eq{0%,100%{height:5px}50%{height:18px}}
.sc .say{flex-basis:100%;margin:0;margin-inline-start:60px;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s,opacity .4s,margin .4s}
.sc.open .say{max-height:120px;opacity:1;margin-top:12px}
.say q{display:block;quotes:none;padding:10px 14px;border-radius:14px 14px 14px 4px;background:var(--pale);color:var(--ink);font:500 14.5px/1.5 Inter,sans-serif}
.say q[dir=rtl]{font-family:'Noto Sans Arabic',Inter,sans-serif;border-radius:14px 14px 4px 14px;text-align:right}
.sc.swap>div:nth-of-type(2),.sc.swap .pill{animation:sw .45s}
@keyframes sw{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sc:hover{background:color-mix(in srgb,var(--pale) 45%,transparent)}
.sc .pill .code{display:none}
@media (max-width:560px){.sc{padding:16px}.sc .say{margin-inline-start:0}.chip-lang .lbl{width:100%}}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */

/* -- Base : empêcher les enfants de grille/flex de forcer la largeur -- */
.two>*,.hero-in>*,.loopw>*,.pan>*,.stats>*{min-width:0}
.langs{flex-wrap:wrap}
img,svg{max-width:100%}
.wrap{padding-left:max(28px,env(safe-area-inset-left,0px));padding-right:max(28px,env(safe-area-inset-right,0px))}
.hero{min-height:88vh;min-height:88svh}
.mail{overflow-wrap:anywhere}

/* -- Bouton menu (burger) : caché sur grand écran -- */
.burger{display:none;flex:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--card);cursor:pointer;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:var(--ink)}
.burger span{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;transition:transform .3s,opacity .2s}
.nav.open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.open .burger span:nth-child(2){opacity:0}
.nav.open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* -- Tablette et mobile : navigation en panneau déroulant -- */
@media (max-width:880px){
 .nav .wrap{gap:12px}
 .burger{display:inline-flex}
 .nav nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;flex-direction:column;gap:0;
  padding:6px max(20px,env(safe-area-inset-left,0px)) 14px;background:var(--bg);border-bottom:1px solid var(--line);
  box-shadow:0 24px 40px -24px rgba(32,54,92,.35);font-size:17px}
 .nav.open nav{display:flex;animation:bi .3s both}
 .nav nav a{padding:15px 4px;border-top:1px solid var(--line);color:var(--ink)}
 .nav nav a:first-child{border-top:0}
 .btn{min-height:44px}
 .hero{padding:48px 0 64px}
 .lead{font-size:18px}
}

/* -- Mobile large / petit : <= 600px -- */
@media (max-width:600px){
 .wrap{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
 .stripe{width:6px}
 .nav .wrap{height:60px}
 .plate img{height:32px!important}
 section{padding:52px 0}
 .hero{padding:36px 0 52px}
 h1{font-size:clamp(33px,10.2vw,48px);margin:14px 0 18px}
 h2{font-size:clamp(27px,8vw,36px)}
 .lead{font-size:17px}
 .cta{gap:10px;margin:24px 0 22px}
 .cta .btn{flex:1 1 100%;justify-content:center;text-align:center}
 .btn.big{padding:15px 24px}
 .chips .chip-lang{border-radius:22px;width:100%}
 .langs{gap:8px}
 .lg{padding:6px 16px 6px 6px;font-size:14px}
 .lg .code{width:28px;height:28px}
 .card{border-radius:20px}
 .th{padding:16px 18px!important;gap:10px}
 .th .hd{font-size:16px!important}
 .sc{padding:14px 16px;gap:12px}
 .sc .ic{width:40px;height:40px}
 .sc .pill{font-size:12px;padding:3px 10px}
 .apps{margin-top:28px;gap:14px}
 .apps .card{padding:20px}
 .loopw{margin-top:34px;gap:30px}
 .st{padding:14px 16px}
 .final h2{font-size:clamp(28px,8.4vw,40px)}
 .mail{font-size:clamp(15px,4.7vw,20px)}
 footer .wrap{flex-direction:column;text-align:center;gap:14px}
 footer .plate{margin-right:0}
}

/* -- Simulation du hero sur petits écrans -- */
@media (max-width:560px){
 .sim{padding:14px}
 .sim-h{font-size:13px}.sim-h em{font-size:11px}
 .scene{gap:8px}
 .pers svg{max-width:104px}
 .scr-body{height:372px}
 .pn{padding:12px}
 .lm{gap:4px}
 .stage .lm li{padding:4px 8px;font-size:12px}
}

/* -- Très petits écrans : <= 360px -- */
@media (max-width:360px){
 .wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
 .nav .wrap{gap:8px}
 .plate{padding:3px 4px}
 .plate img{height:28px!important}
 .nav .btn{padding:9px 10px;font-size:11px}
 .sim-h em{display:none}
 .scr-bar span{font-size:11px}
 .scr-body{height:392px}
 .kv .r b{font-size:13px}
}

/* -- Téléphone en paysage -- */
@media (max-height:520px) and (orientation:landscape){
 .hero{min-height:0;padding:32px 0 44px}
 html{scroll-padding-top:70px}
}

/* -- Écrans tactiles : pas d'effets de survol bloqués -- */
@media (hover:none){
 .btn:hover{transform:none;box-shadow:none}
 .lg:hover,.lgc:hover{transform:none}
 .st,.sc,.lg,.lgc,.btn,.burger{-webkit-tap-highlight-color:transparent}
}

/* -- Très grands écrans -- */
@media (min-width:1600px){
 .wrap{max-width:1280px}
 body{font-size:18px}
}

/* ===== Scénarios : Darija en RTL + défilement automatique ===== */
.scard.is-rtl,.scard.is-rtl .sc b,.scard.is-rtl .sc small,.scard.is-rtl .hd,.scard.is-rtl .pill{font-family:'Noto Sans Arabic',Lexend,Inter,sans-serif}
.scard.is-rtl .sc b{font-size:17.5px;line-height:1.5}.scard.is-rtl .sc small{font-size:15px;line-height:1.7}
.scard.is-rtl .hd{font-size:18px!important}
.scard.is-rtl .th,.scard.is-rtl .sc{text-align:right}
.scard.flip #scl,.scard.flip .th{animation:fl .5s ease}
@keyframes fl{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}
.lg{position:relative;overflow:hidden}
.lg::after{content:"";position:absolute;left:18px;right:18px;bottom:4px;height:2px;border-radius:2px;background:var(--g);transform:scaleX(0);transform-origin:left;opacity:0}
.langs.auto .lg.on.tick::after{opacity:1;animation:tk 5.2s linear forwards}
@keyframes tk{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* 4 cartes Applications : grille équilibrée 2 x 2 */
@media (min-width:700px){.apps{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===== Popup « Réserver une démo » ===== */
.dm{border:0;padding:0;background:transparent;max-width:min(560px,calc(100% - 32px));width:100%;max-height:calc(100dvh - 32px);margin:auto;overflow:visible;color:var(--ink)}
.dm::backdrop{background:rgba(12,23,48,.55);backdrop-filter:blur(6px)}
.dm[open]{animation:dmIn .35s cubic-bezier(.2,.8,.2,1)}.dm[open]::backdrop{animation:dmFade .3s ease}
@keyframes dmIn{from{opacity:0;transform:translateY(16px) scale(.98)}}@keyframes dmFade{from{opacity:0}}
.dm-in{position:relative;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:34px 32px 26px;box-shadow:0 40px 80px -30px rgba(12,23,48,.55);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
.dm-in::before{content:"";position:absolute;top:0;left:24px;right:24px;height:4px;border-radius:0 0 4px 4px;background:var(--g)}
.dm-x{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer;transition:.25s}
.dm-x svg{width:16px;height:16px;stroke:var(--ink);stroke-width:2.2;fill:none;stroke-linecap:round}.dm-x:hover{border-color:var(--acc);transform:rotate(90deg)}
.dm h2{font:600 clamp(24px,4vw,30px)/1.2 Lexend,sans-serif;margin:6px 0 10px;padding-right:36px}
.dm-lead{color:var(--mut);font-size:15.5px;margin-bottom:20px}
.fl{display:block;margin-bottom:14px}.fl>span{display:block;font:600 13.5px Inter,sans-serif;margin-bottom:6px}
.fl input,.fl textarea{width:100%;padding:13px 15px;border-radius:14px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);font:400 16px/1.45 Inter,sans-serif;transition:border-color .2s,box-shadow .2s,background .2s;resize:vertical}
.fl textarea{min-height:110px}
.fl input::placeholder,.fl textarea::placeholder{color:#8C9AB0}
.fl input:focus,.fl textarea:focus{outline:0;border-color:#20AFD0;background:var(--card);box-shadow:0 0 0 4px rgba(32,175,208,.16)}
.fl .er{display:none;font:500 12.5px Inter,sans-serif;font-style:normal;color:#B4233C;margin-top:5px}
.fl.bad input,.fl.bad textarea{border-color:#D9435B}.fl.bad .er{display:block}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.dm-err{padding:11px 14px;border-radius:12px;background:#FDECEF;color:#8E1C30;font-size:14px;margin-bottom:12px}.dm-err a{color:inherit;font-weight:600}
.dm-go{width:100%;justify-content:center;position:relative}
.dm-go .sp{display:none;width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(15,32,64,.25);border-top-color:#0F2040;animation:dmSpin .8s linear infinite}
.dm-go.busy{pointer-events:none;opacity:.85}.dm-go.busy .sp{display:block}@keyframes dmSpin{to{transform:rotate(360deg)}}
.dm-legal{color:var(--mut);font-size:12.5px;text-align:center;margin-top:12px}
.dm-ok{text-align:center;padding:12px 4px 4px;outline:0}.dm-ok h2{padding:0}.dm-ok p{color:var(--mut);margin:0 auto 22px;max-width:400px}.dm-ok b{color:var(--ink);overflow-wrap:anywhere}
.dm-ic{width:68px;height:68px;border-radius:50%;background:var(--g);display:grid;place-items:center;margin:4px auto 14px;box-shadow:0 0 0 10px var(--pale);animation:dmPop .5s cubic-bezier(.3,1.6,.5,1)}
.dm-ic svg{width:32px;height:32px;stroke:#0F2040;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
@keyframes dmPop{from{transform:scale(.4);opacity:0}}
body.dm-lock{overflow:hidden}
@media (max-width:560px){.dm-in{padding:28px 18px 20px;border-radius:20px}}
