/* Cartomètre : pages de vente hébergées sur pokemael.com (Shopify). Tout est préfixé cm- et enfermé dans .cmx */
@font-face{font-family:'CmBrico';src:url(bricolage.woff2) format('woff2');font-weight:200 800;font-stretch:75% 100%;font-display:swap}
@font-face{font-family:'CmMono';src:url(martian-mono.woff2) format('woff2');font-weight:100 800;font-display:swap}
.main-page-title,.page-width--narrow>h1{display:none!important}
.page-width--narrow:has(.cmx){max-width:none!important;padding:0!important}
.cmx{--ink:#0B0F17;--s1:#121826;--s2:#1A2232;--line:#283146;--paper:#EEF1F6;--mute:#8E98AD;--cy:#19B5FE;--mag:#FF2D87;--yel:#FFD84A;--grn:#3BE08A;
  width:100vw;margin-left:calc(50% - 50vw);background:var(--ink);color:var(--paper);font-family:'CmBrico',system-ui,sans-serif;font-size:17px;line-height:1.5;overflow-x:clip;position:relative;-webkit-font-smoothing:antialiased}
.cmx *{box-sizing:border-box}
.cmx a{color:inherit;text-decoration:none}
.cmx img{display:block;max-width:100%}
.cmx h1,.cmx h2,.cmx h3{font-family:'CmBrico',system-ui,sans-serif;margin:0;letter-spacing:-.02em;line-height:1.02;color:var(--paper)}
.cmx p{margin:0}
.cm-w{max-width:1180px;margin:0 auto;padding:0 20px}
.cm-mono{font-family:'CmMono',ui-monospace,monospace;letter-spacing:.02em}
.cm-k{font-family:'CmMono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--cy)}
/* barre de navigation des pages Cartomètre */
.cm-nav{position:sticky;top:0;z-index:20;background:rgba(11,15,23,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.cm-nav .cm-w{display:flex;align-items:center;gap:18px;height:60px}
.cm-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;white-space:nowrap}
.cm-logo i{width:30px;height:30px;background:url(mark.svg) center/contain no-repeat}
.cm-logo small{font-family:'CmMono',monospace;font-size:10px;color:var(--mute);font-weight:400;letter-spacing:.08em}
.cm-links{display:flex;gap:4px;margin-left:auto;overflow-x:auto;scrollbar-width:none}
.cm-links::-webkit-scrollbar{display:none}
.cm-links a{padding:8px 12px;border-radius:999px;font-size:14px;color:var(--mute);white-space:nowrap;transition:.2s}
.cm-links a:hover,.cm-links a[aria-current]{color:var(--paper);background:var(--s2)}
.cm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:14px;font-weight:700;font-size:16px;border:1px solid var(--line);background:var(--s1);color:var(--paper);cursor:pointer;position:relative;transition:transform .2s,box-shadow .2s;white-space:nowrap}
.cm-btn:hover{transform:translateY(-2px)}
.cm-btn.pri{background:var(--cy);border-color:var(--cy);color:#03131D;box-shadow:0 10px 40px -10px rgba(25,181,254,.7)}
.cm-btn.pri:hover{box-shadow:0 14px 50px -8px rgba(25,181,254,.9)}
.cm-nav .cm-btn{padding:9px 14px;font-size:14px;border-radius:10px}
@media(max-width:760px){.cm-nav .cm-btn{display:none}.cm-logo small{display:none}}
/* hero */
.cm-hero{position:relative;min-height:calc(100vh - 60px);display:flex;align-items:center;padding:60px 0 80px;isolation:isolate}
.cm-grid{position:absolute;inset:-2px;z-index:-2;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;opacity:.35;mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 75%);animation:cm-gridmove 18s linear infinite}
@keyframes cm-gridmove{to{background-position:56px 56px}}
.cm-glow{position:absolute;z-index:-1;border-radius:50%;filter:blur(80px);opacity:.55;animation:cm-float 12s ease-in-out infinite alternate}
.cm-glow.a{width:520px;height:520px;background:var(--cy);left:-120px;top:-60px;opacity:.28}
.cm-glow.b{width:440px;height:440px;background:var(--mag);right:-100px;bottom:-80px;opacity:.22;animation-delay:-6s}
@keyframes cm-float{to{transform:translate(60px,40px) scale(1.1)}}
.cm-hero .cm-w{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;width:100%}
@media(max-width:900px){.cm-hero .cm-w{grid-template-columns:1fr;text-align:center}.cm-hero{padding:36px 0 60px}}
.cm-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 8px;border:1px solid var(--line);border-radius:999px;background:rgba(18,24,38,.7);font-size:13px;color:var(--mute)}
.cm-badge b{background:var(--grn);color:#062014;border-radius:999px;padding:2px 9px;font-size:12px}
.cm-h1{font-size:clamp(46px,8.4vw,104px);font-weight:800;margin:22px 0 18px!important}
.cm-h1 .cm-rot{display:inline-grid;vertical-align:bottom;height:1.02em;overflow:hidden}
.cm-h1 .cm-rot span{grid-area:1/1;color:var(--cy);transform:translateY(110%);opacity:0;transition:transform .6s cubic-bezier(.2,.9,.2,1.2),opacity .4s}
.cm-h1 .cm-rot span.on{transform:none;opacity:1}
.cm-h1 .cm-rot span.out{transform:translateY(-110%);opacity:0}
.cm-h1 em{font-style:normal;background:linear-gradient(90deg,var(--cy),var(--mag));-webkit-background-clip:text;background-clip:text;color:transparent}
.cm-lead{font-size:clamp(18px,2.1vw,22px);color:var(--mute);max-width:560px}
@media(max-width:900px){.cm-lead{margin:0 auto}}
.cm-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
@media(max-width:900px){.cm-cta{justify-content:center}}
.cm-trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:26px;font-size:13px;color:var(--mute)}
@media(max-width:900px){.cm-trust{justify-content:center}}
.cm-trust span:before{content:'✓ ';color:var(--grn);font-weight:700}
/* scène : téléphone + cartes flottantes */
.cm-stage{position:relative;height:620px;perspective:1200px}
@media(max-width:900px){.cm-stage{height:560px;margin-top:10px}}
.cm-phone{position:absolute;left:50%;top:50%;width:270px;aspect-ratio:9/19.5;transform:translate(-50%,-50%) rotateY(var(--ry,-8deg)) rotateX(var(--rx,4deg));transform-style:preserve-3d;border-radius:42px;padding:10px;background:linear-gradient(145deg,#2a3346,#0c111b);box-shadow:0 60px 120px -30px rgba(0,0,0,.9),0 0 0 1px #384259 inset,0 0 80px -20px rgba(25,181,254,.45);transition:transform .25s ease-out;z-index:3}
.cm-phone:before{content:'';position:absolute;top:16px;left:50%;width:62px;height:16px;border-radius:20px;background:#05070b;transform:translateX(-50%);z-index:4}
.cm-screen{position:relative;width:100%;height:100%;border-radius:33px;overflow:hidden;background:#0F141E}
.cm-screen img{position:absolute;left:0;right:0;top:22px;width:100%;height:calc(100% - 22px);object-fit:cover;object-position:top;opacity:0;transform:scale(1.04);transition:opacity .7s,transform 1.2s}
.cm-screen img.on{opacity:1;transform:none}
.cm-laser{position:absolute;left:6%;right:6%;height:3px;top:20%;border-radius:3px;background:var(--cy);box-shadow:0 0 18px 4px rgba(25,181,254,.8);z-index:3;animation:cm-laser 2.6s ease-in-out infinite;opacity:.0}
.cm-screen.scan .cm-laser{opacity:1}
@keyframes cm-laser{0%,100%{top:16%}50%{top:76%}}
.cm-fc{position:absolute;width:150px;border-radius:9px;box-shadow:0 30px 60px -15px rgba(0,0,0,.85);transform:translate3d(var(--tx,0),var(--ty,0),0) rotate(var(--r,0deg));transition:transform .35s ease-out;animation:cm-bob 6s ease-in-out infinite;z-index:2}
.cm-fc img{border-radius:9px}
.cm-fc.f1{left:2%;top:6%;--r:-14deg;animation-delay:-1s}
.cm-fc.f2{right:0;top:12%;--r:12deg;width:132px;animation-delay:-3s}
.cm-fc.f3{left:6%;bottom:6%;--r:9deg;width:124px;animation-delay:-2s}
.cm-fc.f4{right:4%;bottom:2%;--r:-8deg;width:140px;animation-delay:-4.5s}
@keyframes cm-bob{50%{margin-top:-14px}}
@media(max-width:600px){.cm-fc{width:104px}.cm-fc.f2,.cm-fc.f4{width:96px}.cm-phone{width:236px}}
.cm-chip{position:absolute;z-index:5;padding:10px 14px;border-radius:14px;background:rgba(18,24,38,.92);border:1px solid var(--line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 20px 40px -10px rgba(0,0,0,.7);font-size:13px;line-height:1.3;opacity:0;transform:translateY(10px) scale(.9);transition:.5s cubic-bezier(.2,.9,.2,1.3)}
.cm-chip.on{opacity:1;transform:none}
.cm-chip b{display:block;font-size:17px}
.cm-chip .up{color:var(--grn);font-family:'CmMono',monospace;font-size:12px}
.cm-chip.c1{left:-4%;top:40%}
.cm-chip.c2{right:-4%;top:58%}
.cm-chip.c3{left:12%;top:2%}
@media(max-width:600px){.cm-chip.c1{left:0}.cm-chip.c2{right:0}}
/* crop marks (épreuve d'imprimeur) */
.cm-crop{position:absolute;inset:0;pointer-events:none}
.cm-crop:before,.cm-crop:after{content:'';position:absolute;width:22px;height:22px;border:2px solid var(--mag);opacity:.8}
.cm-crop:before{left:-12px;top:-12px;border-right:0;border-bottom:0}
.cm-crop:after{right:-12px;bottom:-12px;border-left:0;border-top:0}
/* bandeau défilant */
.cm-marq{border-block:1px solid var(--line);background:var(--s1);overflow:hidden;padding:18px 0;transform:rotate(-1.5deg) scale(1.03);margin:10px 0 40px}
.cm-marq div{display:flex;gap:38px;width:max-content;animation:cm-marq 32s linear infinite;font-size:clamp(20px,3vw,30px);font-weight:800}
.cm-marq span{display:flex;align-items:center;gap:38px;white-space:nowrap}
.cm-marq span:after{content:'✦';color:var(--mag);font-size:.7em}
@keyframes cm-marq{to{transform:translateX(-50%)}}
/* sections */
.cm-sec{padding:90px 0;position:relative}
.cm-h2{font-size:clamp(36px,5.6vw,68px);font-weight:800;max-width:900px}
.cm-sub{color:var(--mute);font-size:19px;max-width:640px;margin-top:16px!important}
.cm-head{margin-bottom:48px}
.cm-center{text-align:center}.cm-center .cm-h2,.cm-center .cm-sub{margin-left:auto;margin-right:auto}
/* révélations au défilement */
.cm-rv{opacity:0;transform:translateY(40px);transition:opacity .8s,transform .9s cubic-bezier(.2,.8,.2,1)}
.cm-rv.in{opacity:1;transform:none}
.cm-rv.d1{transition-delay:.08s}.cm-rv.d2{transition-delay:.16s}.cm-rv.d3{transition-delay:.24s}.cm-rv.d4{transition-delay:.32s}.cm-rv.d5{transition-delay:.4s}
/* tuiles « ce que les autres ne font pas » */
.cm-only{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:980px){.cm-only{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.cm-only{grid-template-columns:1fr}}
.cm-t{position:relative;border:1px solid var(--line);background:linear-gradient(180deg,var(--s1),rgba(18,24,38,.4));border-radius:22px;padding:26px;overflow:hidden;min-height:300px;display:flex;flex-direction:column;transition:transform .3s,border-color .3s}
.cm-t:hover{transform:translateY(-6px);border-color:rgba(25,181,254,.6)}
.cm-t:before{content:'';position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%),rgba(25,181,254,.16),transparent 60%);opacity:0;transition:opacity .3s}
.cm-t:hover:before{opacity:1}
.cm-t h3{font-size:24px;font-weight:800;margin-top:auto!important}
.cm-t p{color:var(--mute);font-size:15px;margin-top:8px!important}
.cm-t .cm-vs{display:inline-block;font-family:'CmMono',monospace;font-size:11px;color:var(--mag);border:1px solid rgba(255,45,135,.45);border-radius:999px;padding:3px 9px;margin-bottom:14px;align-self:flex-start}
.cm-viz{height:130px;margin-bottom:18px;position:relative;display:flex;align-items:center;justify-content:center}
/* visuels animés des tuiles */
.cm-cent{width:92px;height:128px;border-radius:7px;background:url(c-dracau.webp) center/cover;position:relative;box-shadow:0 0 0 3px #e9c94b}
.cm-cent i{position:absolute;background:var(--mag)}
.cm-cent i.l,.cm-cent i.r{top:-12px;bottom:-12px;width:2px}
.cm-cent i.t,.cm-cent i.b{left:-12px;right:-12px;height:2px;background:var(--yel)}
.cm-cent i.l{left:-14px}.cm-cent i.r{right:-14px}.cm-cent i.t{top:-14px}.cm-cent i.b{bottom:-14px}
.in .cm-cent i.l{animation:cm-cl 2.2s .3s both}.in .cm-cent i.r{animation:cm-cr 2.2s .3s both}.in .cm-cent i.t{animation:cm-ct 2.2s .5s both}.in .cm-cent i.b{animation:cm-cb 2.2s .5s both}
@keyframes cm-cl{to{left:-3px}}@keyframes cm-cr{to{right:-3px}}@keyframes cm-ct{to{top:-3px}}@keyframes cm-cb{to{bottom:-3px}}
.cm-psa{position:absolute;right:8%;top:6px;font-family:'CmMono',monospace;font-weight:800;font-size:13px;background:var(--grn);color:#062014;padding:5px 10px;border-radius:8px;opacity:0;transform:scale(.4) rotate(-10deg)}
.in .cm-psa{animation:cm-pop .5s 2.4s cubic-bezier(.2,.9,.2,1.6) both}
@keyframes cm-pop{to{opacity:1;transform:none}}
.cm-flags{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;max-width:260px;margin:0 auto}
.cm-flags b{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-family:'CmMono',monospace;font-size:17px;background:var(--s2);border:1px solid var(--line);opacity:0;transform:translateY(20px) rotate(-8deg)}
.in .cm-flags b{animation:cm-pop .5s cubic-bezier(.2,.9,.2,1.6) both}
.in .cm-flags b:nth-child(2){animation-delay:.15s}.in .cm-flags b:nth-child(3){animation-delay:.3s}.in .cm-flags b:nth-child(4){animation-delay:.45s}
.cm-flags b:nth-child(5){animation-delay:.6s}
.cm-flags b:nth-child(6){animation-delay:.75s}
.cm-flags b:nth-child(7){animation-delay:.9s}
.cm-flags b.fr{color:var(--cy);border-color:var(--cy)}
.cm-bars{display:flex;align-items:flex-end;gap:34px;height:96px;margin-bottom:22px}
.cm-bars div{width:46px;border-radius:8px 8px 3px 3px;background:var(--s2);position:relative;height:0;transition:height 1.2s cubic-bezier(.2,.8,.2,1)}
.cm-bars div span{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-family:'CmMono',monospace;font-size:10px;white-space:nowrap;color:var(--mute)}
.cm-bars div.hi{background:linear-gradient(180deg,var(--cy),#0b6fa0)}
.cm-bars div.hi span{color:var(--cy)}
.in .cm-bars div{height:var(--h)}
.cm-slabs{position:relative;width:170px;height:120px;transform:scale(.92)}
.cm-slabs b{position:absolute;width:70px;height:100px;border-radius:8px;border:2px solid #c7cfdd;background:linear-gradient(180deg,#f1f3f7 0 22%,#cdd5e2 22%);color:#0b0f17;font-family:'CmMono',monospace;font-size:10px;padding:5px;text-align:center;box-shadow:0 14px 30px -10px #000;transition:transform .8s cubic-bezier(.2,.9,.2,1.3)}
.cm-slabs b:nth-child(1){left:50px;top:10px;z-index:4}.cm-slabs b:nth-child(2){left:50px;top:10px;z-index:3}.cm-slabs b:nth-child(3){left:50px;top:10px;z-index:2}.cm-slabs b:nth-child(4){left:50px;top:10px;z-index:1}
.in .cm-slabs b:nth-child(1){transform:translateX(-84px) rotate(-12deg)}.in .cm-slabs b:nth-child(2){transform:translateX(-28px) rotate(-4deg)}.in .cm-slabs b:nth-child(3){transform:translateX(28px) rotate(4deg)}.in .cm-slabs b:nth-child(4){transform:translateX(84px) rotate(12deg)}
.cm-box{display:flex;gap:10px;align-items:flex-end}
.cm-box img{width:64px;filter:drop-shadow(0 12px 18px rgba(0,0,0,.6));opacity:0;transform:translateY(30px)}
.in .cm-box img{animation:cm-up .6s cubic-bezier(.2,.9,.2,1.4) both}
.in .cm-box img:nth-child(2){animation-delay:.12s}.in .cm-box img:nth-child(3){animation-delay:.24s}
@keyframes cm-up{to{opacity:1;transform:none}}
.cm-deal{font-family:'CmMono',monospace;font-size:13px;background:var(--s2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;width:220px;position:relative}
.cm-deal .p{display:flex;justify-content:space-between;color:var(--mute)}
.cm-deal .v{margin-top:8px;padding:7px 10px;border-radius:9px;background:rgba(59,224,138,.15);color:var(--grn);font-weight:700;opacity:0;transform:scale(.6)}
.in .cm-deal .v{animation:cm-pop .5s 1s cubic-bezier(.2,.9,.2,1.6) both}
/* 5 applis en 1 */
.cm-merge{position:relative;height:440px;max-width:760px;margin:40px auto 30px}
.cm-merge .ap{position:absolute;left:50%;top:50%;width:132px;padding:14px;border-radius:20px;background:var(--s1);border:1px solid var(--line);text-align:center;font-size:14px;color:var(--mute);transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) rotate(var(--rr));transition:transform 1.1s cubic-bezier(.6,-.3,.2,1.3),opacity .6s .6s}
.cm-merge .ap b{display:block;font-size:26px;margin-bottom:4px}
.cm-merge.in .ap{transform:translate(-50%,-50%) scale(.5);opacity:0}
.cm-merge .one{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.2);opacity:0;padding:26px 34px;border-radius:28px;background:linear-gradient(135deg,var(--cy),#7a5cff 60%,var(--mag));color:#fff;text-align:center;box-shadow:0 30px 100px -20px rgba(25,181,254,.8);transition:transform .8s 1s cubic-bezier(.2,.9,.2,1.5),opacity .3s 1s}
.cm-merge.in .one{transform:translate(-50%,-50%);opacity:1}
.cm-merge .one b{display:block;font-size:30px;font-weight:800}
.cm-merge .one span{font-size:14px;opacity:.9}
/* récit avec téléphone collant */
.cm-story{display:grid;grid-template-columns:1fr 340px;gap:70px;align-items:start}
@media(max-width:900px){.cm-story{grid-template-columns:1fr}.cm-stick{display:none}}
.cm-stick{position:sticky;top:max(80px,calc(50vh - 300px))}
.cm-stick .cm-phone{position:relative;left:auto;top:auto;transform:rotateY(-6deg);margin:0 auto}
.cm-step{min-height:62vh;display:flex;flex-direction:column;justify-content:center;opacity:.3;transition:opacity .5s}
.cm-step.act{opacity:1}
@media(max-width:900px){.cm-step{min-height:auto;opacity:1;padding:30px 0}}
.cm-step .n{font-family:'CmMono',monospace;color:var(--mag);font-size:13px}
.cm-step h3{font-size:clamp(30px,4vw,48px);font-weight:800;margin:10px 0 14px!important}
.cm-step p{color:var(--mute);font-size:18px;max-width:520px}
.cm-step ul{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}
.cm-step li{padding-left:28px;position:relative}
.cm-step li:before{content:'';position:absolute;left:0;top:8px;width:14px;height:8px;border-left:2.5px solid var(--cy);border-bottom:2.5px solid var(--cy);transform:rotate(-45deg)}
.cm-step .mob{display:none;width:240px;margin:24px auto 0;border-radius:26px;border:8px solid #1e2636;box-shadow:0 30px 60px -20px #000}
@media(max-width:900px){.cm-step .mob{display:block}}
/* chiffres */
.cm-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:820px){.cm-nums{grid-template-columns:repeat(2,1fr)}}
.cm-num{border:1px solid var(--line);border-radius:20px;padding:24px;background:var(--s1)}
.cm-num b{display:block;font-size:clamp(34px,4.6vw,54px);font-weight:800;letter-spacing:-.03em;background:linear-gradient(90deg,var(--paper),var(--cy));-webkit-background-clip:text;background-clip:text;color:transparent}
.cm-num span{color:var(--mute);font-size:14px}
/* tarifs */
.cm-plans{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:880px;margin:0 auto}
@media(max-width:760px){.cm-plans{grid-template-columns:1fr}}
.cm-plan{border:1px solid var(--line);border-radius:26px;padding:30px;background:var(--s1);position:relative}
.cm-plan.pro{border-color:transparent;background:linear-gradient(var(--s1),var(--s1)) padding-box,linear-gradient(135deg,var(--cy),var(--mag)) border-box;border:2px solid transparent;box-shadow:0 30px 90px -30px rgba(25,181,254,.6)}
.cm-plan h3{font-size:26px;font-weight:800}
.cm-plan .pr{font-size:52px;font-weight:800;letter-spacing:-.03em;margin:14px 0 2px!important}
.cm-plan .pr small{font-size:16px;color:var(--mute);font-weight:500}
.cm-plan .alt{color:var(--mute);font-size:14px}
.cm-plan ul{list-style:none;padding:0;margin:22px 0 26px;display:grid;gap:11px;font-size:15px}
.cm-plan li{padding-left:26px;position:relative}
.cm-plan li:before{content:'✓';position:absolute;left:0;color:var(--grn);font-weight:800}
.cm-plan li.no{color:var(--mute)}.cm-plan li.no:before{content:'–';color:var(--mute)}
.cm-plan .cm-btn{width:100%}
.cm-tag{position:absolute;top:-13px;right:22px;background:var(--mag);color:#fff;font-size:12px;font-weight:800;padding:5px 12px;border-radius:999px}
.cm-note{color:var(--mute);font-size:14px;text-align:center;margin-top:22px!important}
/* tableau comparatif */
.cm-tab{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;font-size:15px}
.cm-tab th,.cm-tab td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.cm-tab tr:last-child td{border-bottom:0}
.cm-tab thead th{background:var(--s2);font-size:13px;color:var(--mute);font-weight:600}
.cm-tab td:first-child{font-weight:700}
.cm-tab td.y{color:var(--grn)}
.cm-tab td.m{color:var(--mute)}
.cm-scroll{overflow-x:auto}
/* FAQ */
.cm-faq{max-width:820px;margin:0 auto;display:grid;gap:12px}
.cm-faq details{border:1px solid var(--line);border-radius:16px;background:var(--s1);padding:0 20px;transition:background .2s}
.cm-faq details[open]{background:var(--s2)}
.cm-faq summary{cursor:pointer;list-style:none;padding:18px 30px 18px 0;font-weight:700;font-size:17px;position:relative}
.cm-faq summary::-webkit-details-marker{display:none}
.cm-faq summary:after{content:'+';position:absolute;right:0;top:14px;font-size:24px;color:var(--cy);transition:transform .25s}
.cm-faq details[open] summary:after{transform:rotate(45deg)}
.cm-faq details p{color:var(--mute);padding:0 0 18px;font-size:16px}
/* installer */
.cm-os{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.cm-os{grid-template-columns:1fr}}
.cm-os>div{border:1px solid var(--line);border-radius:22px;padding:26px;background:var(--s1)}
.cm-os h3{font-size:24px;font-weight:800;margin-bottom:14px!important}
.cm-os ol{margin:0;padding-left:0;list-style:none;counter-reset:s;display:grid;gap:12px}
.cm-os li{counter-increment:s;padding-left:40px;position:relative;color:var(--mute)}
.cm-os li b{color:var(--paper)}
.cm-os li:before{content:counter(s);position:absolute;left:0;top:-2px;width:28px;height:28px;border-radius:9px;background:var(--s2);border:1px solid var(--line);display:grid;place-items:center;font-family:'CmMono',monospace;font-size:13px;color:var(--cy)}
/* fonctionnalités */
.cm-feat{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:60px 0;border-top:1px solid var(--line)}
.cm-feat:nth-child(even) .cm-fimg{order:-1}
@media(max-width:860px){.cm-feat{grid-template-columns:1fr;gap:30px}.cm-feat:nth-child(even) .cm-fimg{order:0}}
.cm-feat h2{font-size:clamp(30px,4vw,46px);font-weight:800;margin:10px 0 14px!important}
.cm-feat p{color:var(--mute);font-size:17px}
.cm-fimg{display:flex;justify-content:center;position:relative}
.cm-fimg img{width:280px;border-radius:30px;border:9px solid #1e2636;box-shadow:0 40px 80px -25px #000,0 0 60px -20px rgba(25,181,254,.45)}
.cm-fimg.two img:last-child{position:absolute;width:200px;right:6%;bottom:-30px;transform:rotate(6deg)}
@media(max-width:600px){.cm-fimg.two img:last-child{display:none}}
/* final */
.cm-final{text-align:center;padding:120px 0 130px;position:relative}
.cm-final .cm-h2{margin:0 auto 18px!important;font-size:clamp(40px,7vw,86px)}
.cm-spark{position:fixed;pointer-events:none;width:8px;height:8px;border-radius:2px;z-index:9999;animation:cm-spark .9s ease-out forwards}
@keyframes cm-spark{to{transform:translate(var(--dx),var(--dy)) rotate(var(--dr));opacity:0}}
.cm-foot{border-top:1px solid var(--line);padding:30px 0;color:var(--mute);font-size:13px}
.cm-foot .cm-w{display:flex;flex-wrap:wrap;gap:14px 24px;justify-content:space-between}
.cm-foot nav{display:flex;flex-wrap:wrap;gap:14px}
.cm-foot a:hover{color:var(--paper)}
.cm-hero-s{padding:70px 0 40px;text-align:center;position:relative;isolation:isolate}
.cm-hero-s .cm-h2{margin:14px auto 0!important}
@media(prefers-reduced-motion:reduce){.cmx *,.cmx *:before,.cmx *:after{animation:none!important;transition:none!important}.cm-rv{opacity:1;transform:none}.cm-merge .ap{display:none}.cm-merge .one{opacity:1;transform:translate(-50%,-50%)}}

.cm-h1{font-size:clamp(44px,7.4vw,92px)}
.cm-h1 .w{display:block;opacity:0;transform:translateY(.4em) rotate(2deg);animation:cm-word .7s cubic-bezier(.2,.9,.2,1.2) forwards}
.cm-h1 .w:nth-child(2){animation-delay:.12s}.cm-h1 .w:nth-child(3){animation-delay:.24s}.cm-h1 .w:nth-child(4){animation-delay:.36s}
.cm-h1 .w.hl{background:linear-gradient(90deg,var(--cy),var(--mag),var(--cy));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:cm-word .7s .36s cubic-bezier(.2,.9,.2,1.2) forwards,cm-shine 4s 1.2s linear infinite}
@keyframes cm-word{to{opacity:1;transform:none}}
@keyframes cm-shine{to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.cmx .cm-h1 .w{opacity:1;transform:none}}
/* section extension navigateur */
.cm-extg{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
@media(max-width:900px){.cm-extg{grid-template-columns:1fr;gap:36px}}
.cm-extg ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}
.cm-extg li{padding-left:28px;position:relative}
.cm-extg li:before{content:'';position:absolute;left:0;top:8px;width:14px;height:8px;border-left:2.5px solid var(--cy);border-bottom:2.5px solid var(--cy);transform:rotate(-45deg)}
.cm-soon{display:inline-flex;gap:8px;align-items:center;margin-top:24px;font-family:'CmMono',monospace;font-size:12px;color:var(--yel);border:1px solid rgba(255,216,74,.4);border-radius:999px;padding:6px 12px}
.cm-br{position:relative;border-radius:16px;background:#f3f4f6;box-shadow:0 50px 100px -30px rgba(0,0,0,.9),0 0 0 1px #384259,0 0 90px -30px rgba(25,181,254,.5);overflow:hidden;transform:perspective(1400px) rotateY(-7deg) rotateX(3deg);transition:transform .6s}
.cm-br:hover{transform:none}
.cm-br .bar{height:38px;background:#e2e5ea;display:flex;align-items:center;gap:7px;padding:0 14px}
.cm-br .bar i{width:11px;height:11px;border-radius:50%;background:#c4c9d2}
.cm-br .bar span{margin-left:12px;flex:1;background:#fff;border-radius:7px;height:22px;font:12px/22px system-ui,sans-serif;color:#6b7280;padding:0 10px;white-space:nowrap;overflow:hidden}
.cm-br .pg{position:relative;display:grid;grid-template-columns:44% 1fr;gap:22px;padding:24px 22px 18px;min-height:360px;color:#111827;font-family:system-ui,sans-serif}
.cm-br .pg img.card{width:100%;border-radius:10px;box-shadow:0 10px 24px -10px rgba(0,0,0,.45)}
.cm-br .pg h4{margin:4px 0 10px;font-size:19px;line-height:1.2;color:#111827}
.cm-br .pg .pr{font-size:22px;font-weight:700}
.cm-br .pg .sm{font-size:12px;color:#6b7280;margin-top:4px}
.cm-br .pg .ln{height:9px;border-radius:5px;background:#e5e7eb;margin-top:12px}
.cm-br .panel{position:absolute;left:10px;top:52px;width:46%;max-width:250px;filter:drop-shadow(0 24px 40px rgba(0,0,0,.55));opacity:0;transform:translateX(-30px) scale(.9)}
.in .cm-br .panel,.cm-br.in .panel{animation:cm-slide .8s .4s cubic-bezier(.2,.9,.2,1.3) forwards}
@keyframes cm-slide{to{opacity:1;transform:none}}
.cm-br .row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 22px 22px}
.cm-br .row div{position:relative;background:#fff;border-radius:10px;padding:8px;box-shadow:0 4px 12px -6px rgba(0,0,0,.25)}
.cm-br .row img{width:100%;border-radius:6px}
.cm-br .row b{position:absolute;left:12px;top:12px;font:700 12px/1 'CmMono',monospace;padding:6px 8px;border-radius:8px;color:#fff;opacity:0;transform:scale(.4)}
.cm-br .row b.g{background:#16a34a}.cm-br .row b.y{background:#d97706}.cm-br .row b.r{background:#dc2626}
.in .cm-br .row b,.cm-br.in .row b{animation:cm-pop .5s cubic-bezier(.2,.9,.2,1.6) forwards}
.in .cm-br .row div:nth-child(1) b{animation-delay:1.2s}.in .cm-br .row div:nth-child(2) b{animation-delay:1.4s}.in .cm-br .row div:nth-child(3) b{animation-delay:1.6s}
@media(max-width:600px){.cm-br .pg{grid-template-columns:1fr 1fr;padding:16px 12px;min-height:0;gap:12px}.cm-br .pg h4{font-size:14px}.cm-br .panel{width:62%;top:46px}.cm-br .row{padding:0 12px 14px;gap:8px}}
@media(prefers-reduced-motion:reduce){.cmx .cm-br .panel,.cmx .cm-br .row b{opacity:1;transform:none}}
.cm-xs{position:relative;padding-bottom:30%}
.cm-xs img{border-radius:14px;box-shadow:0 40px 90px -25px rgba(0,0,0,.9),0 0 0 1px #384259}
.cm-xs .a{width:90%;opacity:0;transform:translateX(-40px) perspective(1400px) rotateY(8deg)}
.cm-xs .b{position:absolute;width:64%;right:0;bottom:0;opacity:0;transform:translate(40px,30px);box-shadow:0 40px 90px -20px rgba(0,0,0,.95),0 0 0 1px #384259,0 0 70px -20px rgba(25,181,254,.6)}
.cm-xs.in .a{animation:cm-xa 1s .1s cubic-bezier(.2,.9,.2,1) forwards}
.cm-xs.in .b{animation:cm-xb 1s .55s cubic-bezier(.2,.9,.2,1.2) forwards,cm-bob 7s 2s ease-in-out infinite}
@keyframes cm-xa{to{opacity:1;transform:perspective(1400px) rotateY(4deg)}}
@keyframes cm-xb{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.cmx .cm-xs img{opacity:1;transform:none}}

.cm-merge .ap{opacity:0;scale:.4;transition:scale .5s cubic-bezier(.2,.9,.2,1.5),opacity .4s}
.cm-merge.show .ap{opacity:1;scale:1}
.cm-merge.show .ap:nth-child(2){transition-delay:.12s}.cm-merge.show .ap:nth-child(3){transition-delay:.24s}.cm-merge.show .ap:nth-child(4){transition-delay:.36s}.cm-merge.show .ap:nth-child(5){transition-delay:.48s}
.cm-merge.in .ap{opacity:0;filter:blur(3px) brightness(1.8);transform:translate(-50%,-50%) scale(.35) rotate(0);box-shadow:0 0 40px 10px rgba(25,181,254,.7);transition:transform .9s cubic-bezier(.65,-.3,.35,1),opacity .3s .8s,filter .5s .45s,box-shadow .5s .4s}
.cm-merge .one:before{content:'';position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:3px solid rgba(25,181,254,.9);opacity:0;pointer-events:none}
.cm-merge.in .one:before{animation:cm-wave 1s 1s ease-out both}
@keyframes cm-wave{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(4.5)}}
.cm-merge.in .one{animation:cm-thump .5s 1.45s ease-out}
@keyframes cm-thump{40%{scale:1.08}100%{scale:1}}
.cm-merge:after{content:'Scanner · Collection · Scellé · Pré-grading · Alertes · Annonces';position:absolute;left:0;right:0;bottom:-34px;text-align:center;font-family:'CmMono',monospace;font-size:13px;color:var(--mute);opacity:0;transition:opacity .6s 1.6s}
.cm-merge.in:after{opacity:1}
@media(prefers-reduced-motion:reduce){.cmx .cm-merge:after{opacity:1}}
.cm-merge.in .ap:nth-child(n){transition-delay:0s,.8s,.45s,.4s}

@property --t{syntax:'<angle>';inherits:false;initial-value:0deg}
.cm-merge .ap:nth-child(1){--o:0deg}.cm-merge .ap:nth-child(2){--o:72deg}.cm-merge .ap:nth-child(3){--o:144deg}.cm-merge .ap:nth-child(4){--o:216deg}.cm-merge .ap:nth-child(5){--o:288deg}
.cm-merge.in.orb .ap{opacity:1;filter:none;box-shadow:0 0 30px -6px rgba(25,181,254,.55);transform:translate(-50%,-50%) rotate(calc(var(--o) + var(--t))) translateX(min(185px,38vw)) rotate(calc(-1 * (var(--o) + var(--t)))) scale(.62);transition:transform 1s cubic-bezier(.2,.9,.2,1.2),opacity .4s,filter .4s;animation:cm-spin 22s linear infinite}
.cm-merge.in.orb .ap:nth-child(n){transition-delay:0s}
@keyframes cm-spin{to{--t:360deg}}
.cm-merge.orb .one{background-size:200% 200%;animation:cm-grad 6s ease-in-out infinite}
@keyframes cm-grad{50%{background-position:100% 50%}}
.cm-merge.orb .one:after{content:'';position:absolute;inset:-2px;border-radius:30px;box-shadow:0 0 0 0 rgba(25,181,254,.6);animation:cm-ping 2.4s ease-out infinite;pointer-events:none}
@keyframes cm-ping{0%{box-shadow:0 0 0 0 rgba(25,181,254,.55)}100%{box-shadow:0 0 0 26px rgba(25,181,254,0)}}
/* 29/10 soir : titres de section centrés, exemple Vinted aéré, tuiles envies / objectif / photos */
.cm-head{text-align:center}.cm-head .cm-sub{margin-left:auto;margin-right:auto}
.cm-nums{text-align:center}
.cm-deal{width:290px;max-width:100%;font-size:13px;line-height:1.45;padding:12px 16px}.cm-deal .p span,.cm-deal .v{white-space:nowrap}
.cm-deal .p{gap:20px;padding:3px 0}.cm-deal .p span:last-child{color:#E9EEF7;font-weight:700}
.cm-deal .v{margin-top:10px;padding:8px 12px}
.cm-deal .v.b{background:rgba(25,181,254,.15);color:var(--cy)}
.cm-deal .bar{height:8px;border-radius:5px;background:var(--line);margin-top:10px;overflow:hidden}
.cm-deal .bar i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,#19B5FE,#FF2D87)}
.cm-viz:has(.cm-deal){height:142px}
.cm-t{text-align:center}.cm-t .cm-vs{align-self:center}.cm-t .cm-deal{text-align:left}
