/* Animations « clicavo » (5 scènes), isolées sous .cv */
.cv{--navy:#0c2442;--ink:#143151;--muted:#637e9b;--blue:#1869f3;--blue2:#3b95fc;--cyan:#12aaca;--pale:#eff6ff;--line:#dce9f5;--white:#fff;--shadow:0 28px 74px rgba(20,70,130,.12)}
.cv .showcase-stage{width:100%;aspect-ratio:690 / 485;position:relative;isolation:isolate;overflow:hidden;border-radius:25px;border:1px solid #e1edf9;background:radial-gradient(circle at 59% 36%,#e1efff 0%,#f4f9ff 51%,#ffffff 100%)}
.cv .showcase-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#acc7e81c 1px,transparent 1px),linear-gradient(90deg,#acc7e81c 1px,transparent 1px);background-size:27px 27px;mask-image:radial-gradient(ellipse at 54% 54%,black,transparent 75%)}
.cv .showcase-stage:after{content:"";position:absolute;width:510px;height:350px;left:120px;top:90px;background:radial-gradient(ellipse,#69acff26,transparent 68%);filter:blur(23px);z-index:-1}
.cv .stage-art{position:absolute;width:690px;height:485px;top:0;left:0;transform-origin:0 0;overflow:hidden}
.cv .cvs{position:absolute;inset:0;display:none;pointer-events:none}
.cv .cvs.is-visible{display:block;pointer-events:auto}
.cv .grid-label{position:absolute;bottom:19px;left:26px;font-size:10px;letter-spacing:1.5px;color:#8ba5c0;font-weight:740;text-transform:uppercase}
.cv .step-status{position:absolute;right:25px;top:23px;font-size:10px;letter-spacing:1.3px;color:#7893af;font-weight:750;text-transform:uppercase}
.cv .glass{background:#fff;box-shadow:0 20px 46px #183b671f;border:1px solid #d4e5f7}
.cv .surface{position:absolute;filter:drop-shadow(0 23px 24px #3565991e)}
.cv .screen-wrap{background:#fff;border:1px solid #cfe0f2;border-radius:15px;box-shadow:0 26px 55px #1c4a8726;overflow:hidden}
.cv .dots{display:flex;gap:4px}
.cv .dots i{display:block;width:5px;height:5px;background:#cad9ea;border-radius:50%}
.cv .mini-tab{font-size:7px;font-weight:720;color:#365d83;white-space:nowrap}
.cv .light-icon{color:#3985ef}
.cv .ui-line{height:5px;background:#d6e4f4;border-radius:4px}
.cv .icon-check{width:18px;height:18px;border:2px solid #2cb7c8;border-radius:50%;position:relative}
.cv .icon-check:after{content:"✓";font-size:12px;color:#159bb7;position:absolute;left:2px;top:-2px}
.cv .cursor-svg{width:43px;height:45px;filter:drop-shadow(0 6px 8px #143e6650);position:absolute;z-index:8;transition:transform .85s cubic-bezier(.2,.76,.22,1),left .85s,top .85s;pointer-events:none}
.cv .cursor-svg path{fill:#fff;stroke:#105cc6;stroke-width:2.5}
.cv .toast{position:absolute;display:flex;align-items:center;gap:10px;background:white;border:1px solid #cde7f4;box-shadow:0 18px 45px #2b5c9732;border-radius:11px;padding:12px 15px;font-size:11px;font-weight:700;color:#224a6b;opacity:0;transform:translateY(20px) scale(.96);transition:opacity .5s,transform .5s;z-index:8}
.cv .toast .circle-check{background:#e2f7fd;color:#149abb;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font-weight:800;font-size:13px}
.cv .cvs[data-step="3"] .toast{opacity:1;transform:translateY(0) scale(1)}
.cv .wiggle{animation:cv-floatTiny 4s ease-in-out infinite}
@keyframes cv-floatTiny{50%{transform:translateY(-7px)}}
.cv .v-browser{position:absolute;left:67px;top:70px;width:536px;height:345px;border-radius:15px;transform:perspective(1250px) rotateY(-6deg) rotateX(2deg);transform-origin:center;transition:transform .8s;overflow:hidden}
.cv .v-browser .chrome{height:34px;background:#f2f7fc;border-bottom:1px solid #e0ebf7;display:flex;align-items:center;padding:0 12px;gap:12px}
.cv .url{background:white;border:1px solid #e0ebf7;height:19px;line-height:17px;width:180px;text-align:center;border-radius:5px;font-size:8px;color:#7891ad}
.cv .v-web{height:calc(100% - 34px);background:#fff;padding:18px 23px;position:relative;overflow:hidden}
.cv .v-menu{display:flex;justify-content:space-between;align-items:center}
.cv .v-logo{font-family:Georgia,serif;font-weight:700;font-size:21px;letter-spacing:-.8px;color:#153857}
.cv .v-links{display:flex;gap:17px;color:#64819c;font-size:8px;font-weight:620}
.cv .v-topnav{background:#0c3157;color:#fff;padding:8px 11px;font-size:8px;border-radius:6px}
.cv .v-content{display:flex;gap:15px;margin-top:21px}
.cv .v-content-copy{width:50%;padding-top:13px}
.cv .v-eyebrow{font-size:7px;text-transform:uppercase;letter-spacing:1.5px;color:#1980dd;font-weight:800;margin-bottom:14px}
.cv .v-heading{font-size:32px;line-height:1.07;letter-spacing:-1.5px;color:#0a2c4a;font-weight:720}
.cv .v-sub{font-size:9px;color:#7892a7;line-height:1.6;margin:12px 0 16px;max-width:205px}
.cv .v-cta{background:#1468cf;border:0;color:white;border-radius:6px;font-weight:700;font-size:8px;padding:10px 12px}
.cv .v-outline{font-size:8px;color:#4e779b;margin-left:13px}
.cv .v-art{width:50%;height:191px;border-radius:11px;background:linear-gradient(130deg,#a2d2ee,#d3e8e5 41%,#cfe4f6);position:relative;overflow:hidden}
.cv .v-art svg{width:100%;height:100%}
.cv .v-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 75%,#0c284d19)}
.cv .v-below{display:flex;gap:7px;margin-top:10px}
.cv .v-below div{height:31px;width:33%;background:#f0f6fc;border-radius:5px;display:flex;align-items:center;gap:6px;padding:7px;font-size:7px;color:#577998}
.cv .v-below b{color:#2483e6;font-weight:800;font-size:13px}
.cv .v-phone{position:absolute;right:26px;top:235px;width:132px;height:231px;background:white;border:6px solid #123758;border-radius:23px;box-shadow:0 22px 35px #1b426641;z-index:3;transform:translateY(18px) rotate(7deg);transition:opacity .6s,transform .7s;opacity:0;overflow:hidden}
.cv .v-phone:before{content:"";position:absolute;top:3px;left:44px;width:36px;height:7px;background:#123758;border-radius:0 0 8px 8px;z-index:2}
.cv .v-phone .phone-content{margin:22px 8px}
.cv .v-phone .phone-content .v-logo{font-size:13px}
.cv .v-phone .phone-content .v-art{width:100%;height:83px;margin-top:7px}
.cv .v-phone .v-heading{font-size:13px;line-height:1.15;margin-top:11px}
.cv .v-phone .v-cta{font-size:6px;padding:7px 8px;margin-top:10px}
.cv .v-form{position:absolute;left:312px;top:243px;background:white;border:1px solid #d5e6f6;border-radius:10px;width:190px;height:120px;padding:13px;box-shadow:0 14px 24px #244e7c30;z-index:5;opacity:0;transform:translateY(20px) scale(.94);transition:all .55s}
.cv .v-form-title{font-size:11px;font-weight:740;color:#153758;margin-bottom:8px}
.cv .v-input{height:16px;background:#f1f6fc;border:1px solid #e3ecf6;border-radius:4px;margin-bottom:6px;color:#90a2b5;font-size:7px;padding:3px 6px}
.cv .v-submit{font-size:7px;text-align:center;background:#196beb;color:white;padding:6px;border-radius:4px;font-weight:760}
.cv .v-cursor{left:294px;top:316px;opacity:0}
.cv .v-toast{right:163px;top:363px}
.cv .scene-vitrine[data-step="0"] .v-browser{transform:perspective(1250px) rotateY(-12deg) translateY(24px) scale(.94)}
.cv .scene-vitrine[data-step="0"] .v-content-copy,.cv .scene-vitrine[data-step="0"] .v-art{opacity:.23;filter:grayscale(1)}
.cv .scene-vitrine[data-step="1"] .v-content-copy,.cv .scene-vitrine[data-step="1"] .v-art,.cv .scene-vitrine[data-step="2"] .v-content-copy,.cv .scene-vitrine[data-step="2"] .v-art,.cv .scene-vitrine[data-step="3"] .v-content-copy,.cv .scene-vitrine[data-step="3"] .v-art{opacity:1;filter:none;transition:all .7s}
.cv .scene-vitrine[data-step="1"] .v-phone,.cv .scene-vitrine[data-step="2"] .v-phone,.cv .scene-vitrine[data-step="3"] .v-phone{opacity:1;transform:translateY(0) rotate(7deg)}
.cv .scene-vitrine[data-step="2"] .v-form,.cv .scene-vitrine[data-step="3"] .v-form{opacity:1;transform:translateY(0) scale(1)}
.cv .scene-vitrine[data-step="2"] .v-cursor{opacity:1;left:435px;top:336px}
.cv .scene-vitrine[data-step="3"] .v-cursor{opacity:1;left:434px;top:337px}
.cv .b-admin{position:absolute;left:37px;top:85px;width:391px;height:291px;background:white;border:1px solid #cbdff4;border-radius:13px;box-shadow:0 23px 54px #1f4e852c;overflow:hidden;z-index:2;transform:rotate(-4deg);transition:transform .65s}
.cv .b-header{height:34px;background:#102e51;display:flex;justify-content:space-between;align-items:center;padding:0 13px;color:white;font-size:10px}
.cv .b-header b{letter-spacing:-.2px}
.cv .b-header span{opacity:.72;font-size:7px}
.cv .b-content{display:flex;height:calc(100% - 34px)}
.cv .b-sidebar{width:104px;background:#f4f8fc;border-right:1px solid #e5eef7;padding:16px 9px;font-size:8px;color:#7891a9}
.cv .b-side-item{padding:7px 7px;margin-bottom:6px;border-radius:6px}
.cv .b-side-item.active{color:#1869d8;background:#e3f0ff;font-weight:700}
.cv .b-editor{padding:18px 16px;width:calc(100% - 104px);position:relative}
.cv .b-hint{font-size:8px;letter-spacing:1px;font-weight:780;color:#81a0bd;text-transform:uppercase;margin-bottom:9px}
.cv .b-title{font-size:16px;font-weight:780;color:#1c3d5e;margin-bottom:12px}
.cv .b-label{font-size:8px;font-weight:650;color:#6988a5;margin-bottom:5px}
.cv .b-field{height:29px;border:1px solid #dae7f5;background:#fafcff;border-radius:6px;font-size:11px;font-weight:630;color:#1b5488;padding:8px}
.cv .b-field .edit-blink{display:inline-block;width:1px;height:12px;background:#2b85fa;vertical-align:middle;margin-left:2px;animation:cv-blink 1s steps(2) infinite}
@keyframes cv-blink{50%{opacity:0}}
.cv .b-description{margin-top:9px;height:43px;padding:9px;background:#fafcff;border:1px solid #dae7f5;border-radius:6px;color:#8095ac;font-size:7px;line-height:1.4}
.cv .b-publish{position:absolute;bottom:12px;right:14px;border:0;border-radius:6px;background:#1c71e6;color:white;padding:9px 12px;font-size:8px;font-weight:730}
.cv .b-status{position:absolute;bottom:20px;left:16px;color:#88a0b9;font-size:8px}
.cv .b-site{position:absolute;left:331px;top:119px;width:349px;height:280px;background:#fff;border:1px solid #cddff0;border-radius:12px;box-shadow:0 27px 46px #2654872c;z-index:3;transform:rotate(5deg) translateX(30px) scale(.89);transition:transform .65s}
.cv .b-site-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9f0f7;padding:14px 17px}
.cv .b-site-logo{font-family:Georgia,serif;font-size:18px;color:#184064;font-weight:750}
.cv .b-site-mini{font-size:7px;color:#7894aa}
.cv .b-site-body{padding:15px 18px}
.cv .b-site-hero{height:108px;overflow:hidden;position:relative;background:linear-gradient(125deg,#d0eaf4,#eff8fc 60%,#bfd9ed);border-radius:7px}
.cv .b-site-hero svg{width:100%;height:100%;opacity:.85}
.cv .b-site-title{font-size:14px;font-weight:760;margin-top:12px;color:#173959;transition:all .3s}
.cv .b-site-sub{font-size:7px;color:#87a1ba;margin-top:7px}
.cv .b-site-button{margin-top:12px;border-radius:4px;width:93px;text-align:center;background:#155bba;color:white;padding:8px;font-size:8px;font-weight:760}
.cv .b-stream{position:absolute;top:222px;left:363px;width:132px;height:46px;z-index:5;pointer-events:none}
.cv .b-stream svg{width:100%;height:100%;overflow:visible}
.cv .b-stream path{fill:none;stroke:#1781ef;stroke-width:3;stroke-linecap:round;stroke-dasharray:6 11;animation:cv-flowdash 2.4s linear infinite;filter:drop-shadow(0 2px 2px #0a81f14d)}
@keyframes cv-flowdash{to{stroke-dashoffset:-102}}
.cv .b-update-badge{position:absolute;right:78px;top:79px;border:1px solid #d0e9fc;background:#fff;color:#1c78d2;border-radius:50px;padding:8px 10px;box-shadow:0 7px 21px #1465be25;font-size:9px;font-weight:760;z-index:6;opacity:0;transform:translateY(12px);transition:all .45s}
.cv .b-cursor{left:240px;top:185px}
.cv .b-toast{left:335px;top:376px}
.cv .scene-backoffice[data-step="0"] .b-admin{transform:rotate(-4deg) translate(-14px,11px) scale(.95)}
.cv .scene-backoffice[data-step="0"] .b-site{transform:rotate(5deg) translate(53px,9px) scale(.82);opacity:.7}
.cv .scene-backoffice[data-step="1"] .b-cursor{left:209px;top:215px}
.cv .scene-backoffice[data-step="2"] .b-cursor{left:305px;top:332px}
.cv .scene-backoffice[data-step="2"] .b-update-badge,.cv .scene-backoffice[data-step="3"] .b-update-badge{opacity:1;transform:none}
.cv .scene-backoffice[data-step="2"] .b-site,.cv .scene-backoffice[data-step="3"] .b-site{transform:rotate(2deg) translateX(22px) scale(.98)}
.cv .scene-backoffice[data-step="3"] .b-site-title{color:#0e66c5}
.cv .scene-backoffice[data-step="3"] .b-cursor{left:314px;top:330px}
.cv .a-laptop{position:absolute;left:36px;top:65px;width:458px;height:322px;background:white;border:9px solid #173c63;border-bottom-width:19px;border-radius:16px;box-shadow:0 29px 45px #1c4e8133;transform:perspective(1100px) rotateY(6deg) rotateX(3deg);transition:transform .7s;z-index:2}
.cv .a-laptop:after{content:"";position:absolute;height:12px;left:45px;right:45px;bottom:-30px;border-radius:0 0 24px 24px;background:linear-gradient(180deg,#9ab7d0,#e9f0f7);box-shadow:0 6px 12px #8dabca65}
.cv .a-top{height:38px;display:flex;gap:10px;align-items:center;border-bottom:1px solid #e4edf6;padding:0 12px}
.cv .a-logo{font-size:12px;font-weight:780;color:#0c355b}
.cv .a-badge{border-radius:5px;background:#e5f2ff;padding:5px 7px;font-size:7px;color:#236ed1}
.cv .a-top small{margin-left:auto;font-size:7px;color:#6e93b3}
.cv .a-main{display:flex;height:calc(100% - 38px)}
.cv .a-nav{width:74px;border-right:1px solid #e7f0f7;background:#f6faff;padding:14px 10px}
.cv .a-nav div{height:12px;background:#e0eaf3;margin-bottom:12px;border-radius:4px}
.cv .a-nav div:nth-child(2){background:#90c7ff}
.cv .a-content{padding:16px;flex:1}
.cv .a-content-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.cv .a-content-head h3{font-size:14px;margin:0;color:#163858}
.cv .a-plus{font-size:8px;font-weight:710;padding:8px 10px;background:#1e74e2;border-radius:5px;color:#fff;border:0}
.cv .a-columns{display:flex;gap:9px}
.cv .a-column{width:33.3%;min-height:178px;border-radius:8px;background:#f2f7fc;padding:9px}
.cv .a-coltitle{font-size:8px;font-weight:800;color:#6b8ead;margin-bottom:11px;display:flex;justify-content:space-between}
.cv .a-card{background:white;border:1px solid #e4edf7;border-radius:6px;box-shadow:0 4px 9px #2559910c;margin-bottom:8px;padding:10px 7px;font-size:8px;font-weight:650;color:#2d5274;line-height:1.5;transition:all .5s}
.cv .a-card small{display:block;font-size:6px;color:#91a7bc;margin-top:6px}
.cv .a-card.newtask{opacity:0;transform:translateY(-30px) scale(.85);border-color:#a8ceff;box-shadow:0 0 0 1px #cee4fc}
.cv .a-phone{position:absolute;right:33px;top:132px;width:185px;height:321px;transform:rotate(7deg) translateY(16px);background:#143957;border:7px solid #163d61;border-radius:27px;z-index:5;box-shadow:0 24px 30px #22527e55;transition:transform .5s;overflow:hidden}
.cv .a-phone:before{content:"";position:absolute;top:4px;left:60px;width:55px;height:9px;border-radius:0 0 11px 11px;background:#173c63;z-index:4}
.cv .a-phone-inside{height:100%;background:#fff;border-radius:19px;overflow:hidden;padding:28px 12px 12px}
.cv .a-phone-title{font-size:15px;font-weight:760;color:#163756}
.cv .a-phone-sub{font-size:7px;color:#86a0b5;margin-top:4px}
.cv .a-phone-status{font-size:7px;color:#477eac;font-weight:760;margin-top:18px;margin-bottom:7px}
.cv .a-mobiletask{padding:10px;border-radius:8px;background:#f2f8ff;border:1px solid #e5eff9;font-size:8px;color:#375c7e;margin-bottom:7px;line-height:1.4}
.cv .a-mobiletask span{display:block;font-size:7px;color:#97a9bc;margin-top:4px}
.cv .a-mobiletask.newtask{opacity:0;transform:translateX(26px);border-color:#a8d1ff;transition:all .6s}
.cv .a-phone-bottom{position:absolute;bottom:9px;left:14px;right:14px;border-top:1px solid #e5eef8;padding-top:7px;display:flex;justify-content:space-around;color:#80a5c5}
.cv .a-phone-bottom b{font-size:10px}
.cv .a-sync{position:absolute;left:450px;top:205px;z-index:7;background:#fff;border:1px solid #bcdafa;border-radius:50%;width:69px;height:69px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;box-shadow:0 10px 28px #2b6eb336;color:#1878e5;transition:transform .55s}
.cv .a-sync svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.cv .a-sync label{font-size:7px;font-weight:800}
.cv .a-beam{position:absolute;left:410px;top:239px;width:168px;height:45px;z-index:4;pointer-events:none}
.cv .a-beam path{fill:none;stroke:#2b96ff;stroke-width:3;stroke-dasharray:5 10;animation:cv-flowdash 2s linear infinite}
.cv .a-toast{left:313px;top:398px}
.cv .scene-app[data-step="0"] .a-laptop{transform:perspective(1100px) rotateY(6deg) rotateX(3deg) translateX(-14px)}
.cv .scene-app[data-step="0"] .a-phone{transform:rotate(7deg) translate(11px,23px);opacity:.7}
.cv .scene-app[data-step="1"] .a-card.newtask,.cv .scene-app[data-step="2"] .a-card.newtask,.cv .scene-app[data-step="3"] .a-card.newtask{opacity:1;transform:none}
.cv .scene-app[data-step="2"] .a-mobiletask.newtask,.cv .scene-app[data-step="3"] .a-mobiletask.newtask{opacity:1;transform:none}
.cv .scene-app[data-step="2"] .a-sync{transform:rotate(180deg);border-color:#5cb6ff}
.cv .scene-app[data-step="3"] .a-sync{transform:rotate(360deg)}
.cv .e-browser{position:absolute;top:58px;left:62px;width:529px;height:357px;background:#fff;border-radius:16px;border:1px solid #d3e2f2;box-shadow:0 27px 59px #224d7f27;overflow:hidden;z-index:2;transform:perspective(1000px) rotateY(-5deg);transition:transform .7s}
.cv .e-chrome{height:31px;background:#f3f8fc;border-bottom:1px solid #e4edf5;display:flex;align-items:center;gap:10px;padding:0 13px}
.cv .e-url{font-size:7px;color:#8aa3b9;background:white;border:1px solid #e3edf7;padding:4px 25px;border-radius:4px}
.cv .e-nav{height:42px;display:flex;justify-content:space-between;align-items:center;padding:0 19px}
.cv .e-brand{font:700 23px Georgia,serif;color:#153b5a;letter-spacing:-.6px}
.cv .e-navright{display:flex;gap:18px;font-size:8px;color:#6f8ca8;align-items:center}
.cv .e-cart{border:1px solid #d5e7f7;background:#f2f8ff;border-radius:10px;padding:7px;color:#1b75ce;font-weight:760}
.cv .e-main{padding:8px 18px 16px;display:grid;grid-template-columns:218px 1fr;gap:17px}
.cv .e-product{height:235px;border-radius:10px;background:linear-gradient(140deg,#d9edf5,#e7f4f7 62%,#c5e2ee);position:relative;overflow:hidden}
.cv .e-product svg{width:100%;height:100%}
.cv .e-detail{padding:17px 0 0}
.cv .e-eyebrow{font-size:8px;letter-spacing:1.2px;color:#4387bd;font-weight:760}
.cv .e-name{font:650 27px Georgia,serif;color:#193b58;line-height:1.12;margin-top:9px}
.cv .e-desc{font-size:8px;color:#8ea3b3;line-height:1.55;margin-top:13px}
.cv .e-price{font-size:16px;font-weight:800;color:#1a405c;margin-top:13px}
.cv .e-stock{font-size:8px;color:#2e9bae;margin:9px 0}
.cv .e-add{border:0;border-radius:6px;background:#0d3158;color:white;font-size:8px;padding:12px 13px;font-weight:750}
.cv .e-cartpanel{position:absolute;right:7px;top:84px;width:228px;height:277px;border-radius:11px;border:1px solid #cbdff3;background:white;z-index:4;box-shadow:0 18px 34px #28578a35;padding:19px 16px;opacity:0;transform:translateX(64px);transition:opacity .5s,transform .5s}
.cv .e-panel-title{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:760;color:#173c5b}
.cv .e-panel-title span{font-size:8px;color:#8aa3b6}
.cv .e-item{margin-top:18px;display:flex;gap:10px;align-items:center}
.cv .e-thumb{background:#e3f1f7;border-radius:7px;width:51px;height:56px;display:grid;place-items:center}
.cv .e-thumb svg{width:44px;height:49px}
.cv .e-itemtext{font-size:9px;font-weight:750;color:#214966}
.cv .e-itemtext small{font-size:7px;color:#89a0b1;display:block;margin-top:5px}
.cv .e-total{display:flex;justify-content:space-between;font-weight:750;color:#244563;margin-top:32px;font-size:11px;border-top:1px solid #e6eef6;padding-top:16px}
.cv .e-pay{background:#1267d3;padding:12px;margin-top:19px;color:#fff;text-align:center;font-size:9px;font-weight:750;border-radius:6px}
.cv .e-paid{position:absolute;right:40px;top:164px;width:266px;height:223px;background:white;border:1px solid #bee0f9;box-shadow:0 21px 41px #1b4d863a;border-radius:15px;display:flex;align-items:center;flex-direction:column;justify-content:center;z-index:8;opacity:0;transform:translateY(28px) scale(.91);transition:all .5s}
.cv .e-paid-circle{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#e4f7ff;color:#1686d8;font-size:27px;margin-bottom:16px}
.cv .e-paid-title{font-size:16px;font-weight:800;color:#194160}
.cv .e-paid-sub{font-size:9px;color:#7995ad;text-align:center;line-height:1.5;margin-top:8px}
.cv .e-order-notif{position:absolute;left:91px;top:360px;background:white;border:1px solid #c7dff5;border-radius:9px;box-shadow:0 16px 23px #24558a30;padding:11px 13px;font-size:9px;color:#3c6585;z-index:9;opacity:0;transform:translateY(17px);transition:all .5s;display:flex;gap:9px;align-items:center}
.cv .e-order-notif b{color:#1768be}
.cv .e-cursor{left:398px;top:330px}
.cv .scene-ecommerce[data-step="0"] .e-browser{transform:perspective(1000px) rotateY(-10deg) translateY(13px) scale(.95)}
.cv .scene-ecommerce[data-step="1"] .e-cartpanel,.cv .scene-ecommerce[data-step="2"] .e-cartpanel,.cv .scene-ecommerce[data-step="3"] .e-cartpanel{opacity:1;transform:none}
.cv .scene-ecommerce[data-step="2"] .e-paid,.cv .scene-ecommerce[data-step="3"] .e-paid{opacity:1;transform:none}
.cv .scene-ecommerce[data-step="3"] .e-order-notif{opacity:1;transform:none}
.cv .scene-ecommerce[data-step="1"] .e-cursor{left:496px;top:335px}
.cv .scene-ecommerce[data-step="2"] .e-cursor{left:484px;top:349px}
.cv .scene-ecommerce[data-step="3"] .e-cursor{opacity:0}
@media (max-width:1100px){.cv .showcase-stage{max-width:770px;margin:0 auto}}
@media (max-width:670px){.cv .showcase-stage{border-radius:13px}}
.cv .software-dashboard{position:absolute;left:15px;top:1px;width:660px;height:472px;overflow:visible;pointer-events:none}
.cv .scene-software .step-status{z-index:5}
.cv .scene-software .grid-label{z-index:5}
.cv.is-paused .scene-software svg *{animation-play-state:paused!important}
@media (max-width:670px){.cv .software-dashboard{pointer-events:none}}
.cv .software-dashboard svg{overflow:visible;display:block;width:100%;height:100%}
.cv .software-dashboard svg text{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.cv .soft{filter:url(#softShadow)}
.cv .shadow{filter:url(#shadow)}
.cv .floater{animation:cv-float 5.2s ease-in-out infinite}
.cv .floater2{animation:cv-float 5.8s ease-in-out -.9s infinite}
.cv .horizon{animation:cv-horizon 12s linear infinite;transform-origin:center}
.cv .orbital{stroke-dasharray:5 14;animation:cv-orbit 19s linear infinite}
.cv .spark{animation:cv-spark 4.2s ease-in-out infinite;transform-origin:center}
.cv .spark2{animation:cv-spark 3.4s ease-in-out 1s infinite;transform-origin:center}
.cv .trace{stroke-dasharray:8 13;animation:cv-flow 2s linear infinite}
.cv .assemble-laptop{animation:cv-inLaptop 9s cubic-bezier(.26,.78,.18,1) infinite;transform-box:fill-box;transform-origin:center}
.cv .assemble-tablet{animation:cv-inTablet 9s cubic-bezier(.26,.78,.18,1) infinite;transform-box:fill-box;transform-origin:center}
.cv .assemble-phone{animation:cv-inPhone 9s cubic-bezier(.26,.78,.18,1) infinite;transform-box:fill-box;transform-origin:center}
.cv .part{transform-box:fill-box;transform-origin:center;animation-duration:9s;animation-iteration-count:infinite;animation-timing-function:cubic-bezier(.38,.3,.2,1)}
.cv .part.a{animation-name:cv-partA}
.cv .part.b{animation-name:cv-partB}
.cv .part.c{animation-name:cv-partC}
.cv .part.d{animation-name:cv-partD}
.cv .part.e{animation-name:cv-partE}
.cv .bar-rise{transform-box:fill-box;transform-origin:center bottom;animation:cv-barRise 7s ease-in-out infinite}
.cv .bar-rise:nth-child(2){animation-delay:-.13s}
.cv .bar-rise:nth-child(3){animation-delay:-.23s}
.cv .draw-line{stroke-dasharray:550;stroke-dashoffset:550;animation:cv-drawLine 7s ease-in-out infinite}
.cv .data-trail{stroke-dasharray:12 22;animation:cv-flow 3s linear infinite}
.cv .dashboard-body{animation:cv-dashboardIn 8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.cv .pop1{animation:cv-pop1 8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.cv .pop2{animation:cv-pop2 8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.cv .pop3{animation:cv-pop3 8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.cv .phone-arrive{animation:cv-phoneArrive 8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.cv .conveyor-flow{stroke-dasharray:14 22;animation:cv-conveyorFlow 2s linear infinite}
.cv .moving-cube{animation:cv-travel 10s cubic-bezier(.38,.04,.48,1) infinite;transform-box:fill-box;transform-origin:center}
.cv .cube-blue{animation:cv-cubeBlue 10s linear infinite}
.cv .cube-finish{animation:cv-cubeFinish 10s linear infinite}
.cv .laser-one{animation:cv-laserOne 10s ease-in-out infinite}
.cv .laser-two{animation:cv-laserTwo 10s ease-in-out infinite}
.cv .laser-three{animation:cv-laserThree 10s ease-in-out infinite}
.cv .final-reveal{animation:cv-finalReveal 10s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.cv .online-reveal{animation:cv-onlineReveal 10s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes cv-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes cv-horizon{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@keyframes cv-orbit{to{stroke-dashoffset:-400}}
@keyframes cv-spark{0%,100%{opacity:.24;transform:scale(.6)}50%{opacity:1;transform:scale(1.15)}}
@keyframes cv-flow{to{stroke-dashoffset:-160}}
@keyframes cv-inLaptop{0%,10%{opacity:0;transform:translate(-112px,86px) rotate(-12deg) scale(.7)}27%{opacity:1;transform:translate(12px,-7px) rotate(2deg) scale(1.04)}34%,89%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}97%,100%{opacity:0;transform:translate(0,-8px) scale(.98)}}
@keyframes cv-inTablet{0%,15%{opacity:0;transform:translate(118px,-82px) rotate(18deg) scale(.65)}34%{opacity:1;transform:translate(-7px,9px) rotate(-2deg) scale(1.04)}41%,89%{opacity:1;transform:none}97%,100%{opacity:0;transform:translate(4px,-5px) scale(.98)}}
@keyframes cv-inPhone{0%,23%{opacity:0;transform:translate(120px,60px) rotate(19deg) scale(.5)}42%{opacity:1;transform:translate(-5px,-6px) rotate(-3deg) scale(1.04)}49%,89%{opacity:1;transform:none}97%,100%{opacity:0;transform:translate(5px,-7px) scale(.98)}}
@keyframes cv-partA{0%,12%{opacity:1;transform:translate(-45px,-40px) rotate(-37deg)}34%{opacity:1;transform:translate(100px,82px) rotate(55deg) scale(.25)}39%,100%{opacity:0;transform:translate(135px,106px) rotate(70deg) scale(.08)}}
@keyframes cv-partB{0%,12%{opacity:.9;transform:translate(46px,-38px) rotate(15deg)}33%{opacity:1;transform:translate(-110px,98px) rotate(-60deg) scale(.2)}38%,100%{opacity:0;transform:translate(-140px,110px) rotate(-70deg) scale(.06)}}
@keyframes cv-partC{0%,12%{opacity:1;transform:translate(-26px,100px) rotate(30deg)}38%{opacity:1;transform:translate(100px,-50px) rotate(-30deg) scale(.26)}43%,100%{opacity:0;transform:translate(130px,-70px) scale(.05)}}
@keyframes cv-partD{0%,13%{opacity:.9;transform:translate(10px,-70px) rotate(-40deg)}38%{opacity:1;transform:translate(-30px,135px) rotate(10deg) scale(.28)}45%,100%{opacity:0;transform:translate(-40px,145px) scale(.05)}}
@keyframes cv-partE{0%,12%{opacity:.85;transform:translate(62px,80px) rotate(27deg)}38%{opacity:1;transform:translate(-110px,-55px) rotate(-34deg) scale(.2)}44%,100%{opacity:0;transform:translate(-140px,-70px) scale(.05)}}
@keyframes cv-barRise{0%,22%{transform:scaleY(.08)}40%,78%{transform:scaleY(1)}89%,100%{transform:scaleY(.08)}}
@keyframes cv-drawLine{0%,13%{stroke-dashoffset:550}45%,85%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:-550}}
@keyframes cv-dashboardIn{0%,8%{opacity:0;transform:translateY(32px) scale(.92)}21%,90%{opacity:1;transform:none}98%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes cv-pop1{0%,24%{opacity:0;transform:translate(43px,32px) scale(.74)}36%,89%{opacity:1;transform:none}98%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes cv-pop2{0%,32%{opacity:0;transform:translate(-30px,20px) scale(.75)}44%,89%{opacity:1;transform:none}98%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes cv-pop3{0%,42%{opacity:0;transform:translate(13px,36px) scale(.76)}54%,89%{opacity:1;transform:none}98%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes cv-phoneArrive{0%,47%{opacity:0;transform:translateX(80px) rotate(19deg) scale(.8)}61%,89%{opacity:1;transform:none}98%,100%{opacity:0;transform:translateX(12px)}}
@keyframes cv-conveyorFlow{to{stroke-dashoffset:-180}}
@keyframes cv-travel{0%,7%{opacity:0;transform:translateX(-35px) scale(.75)}13%{opacity:1;transform:translateX(0)}23%{transform:translateX(135px)}32%{transform:translateX(135px)}45%{transform:translateX(275px)}54%{transform:translateX(275px)}68%{opacity:1;transform:translateX(418px) scale(1)}73%,89%{opacity:0;transform:translateX(440px) scale(.3)}100%{opacity:0;transform:translateX(440px) scale(.3)}}
@keyframes cv-cubeBlue{0%,26%{opacity:0}30%,63%{opacity:1}68%,100%{opacity:0}}
@keyframes cv-cubeFinish{0%,53%{opacity:0}57%,72%{opacity:1}76%,100%{opacity:0}}
@keyframes cv-laserOne{0%,20%,33%,100%{opacity:0}24%,30%{opacity:1}}
@keyframes cv-laserTwo{0%,43%,56%,100%{opacity:0}47%,53%{opacity:1}}
@keyframes cv-laserThree{0%,65%,78%,100%{opacity:0}69%,75%{opacity:1}}
@keyframes cv-finalReveal{0%,69%{opacity:0;transform:translate(0,26px) scale(.72)}77%,91%{opacity:1;transform:none}97%,100%{opacity:0;transform:translateY(-5px)}}
@keyframes cv-onlineReveal{0%,75%{opacity:0;transform:translateY(15px) scale(.9)}82%,91%{opacity:1;transform:none}97%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.cv svg *{animation:none!important}}
/* Scène « Réservation », dans le même style que les scènes clicavo */
.cv .r-browser{position:absolute;left:52px;top:62px;width:440px;height:330px;border-radius:15px;transform:perspective(1250px) rotateY(-6deg) rotateX(2deg);transition:transform .8s;overflow:hidden}
.cv .scene-resa[data-step="0"] .r-browser{transform:perspective(1250px) rotateY(-12deg) translateY(24px) scale(.94)}
.cv .r-browser .chrome{height:34px;background:#f2f7fc;border-bottom:1px solid #e0ebf7;display:flex;align-items:center;padding:0 12px;gap:12px}
.cv .r-web{padding:16px 18px}
.cv .r-top{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.cv .r-logo{font:700 17px/1 Georgia,serif;color:#153758;letter-spacing:-.02em}
.cv .r-sub{font-size:8px;color:#7891ad}
.cv .r-cal{display:grid;grid-template-columns:34px repeat(6,1fr);gap:5px;align-items:center}
.cv .r-d{font-size:7.5px;font-weight:700;color:#7891ad;text-align:center}.cv .r-d.on{color:#196beb}
.cv .r-t{font-size:7.5px;color:#90a2b5;font-weight:600}
.cv .r-c{display:block;height:32px;border-radius:6px;background:#f1f6fc;border:1px solid #dfeaf6;transition:background .45s,border-color .45s,transform .45s,box-shadow .45s}
.cv .r-c.busy{background:repeating-linear-gradient(135deg,#e7eef6 0 4px,#f4f8fc 4px 8px);border-color:#e3ecf6}
.cv .scene-resa:not([data-step="0"]) .r-c.pick{background:#196beb;border-color:#196beb;box-shadow:0 8px 16px #196beb55;transform:scale(1.06)}
.cv .scene-resa[data-step="3"] .r-c.pick{background:#14a37f;border-color:#14a37f;box-shadow:0 8px 16px #14a37f55}
.cv .r-legend{display:flex;gap:14px;margin-top:12px;font-size:7.5px;color:#7891ad}.cv .r-legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:-1px;background:#f1f6fc;border:1px solid #dfeaf6}.cv .r-legend i.b{background:repeating-linear-gradient(135deg,#e7eef6 0 2px,#f4f8fc 2px 4px)}
.cv .r-panel{position:absolute;left:400px;top:150px;width:196px;padding:14px;background:#fff;border:1px solid #d5e6f6;border-radius:12px;box-shadow:0 18px 34px #244e7c30;z-index:5;opacity:0;transform:translateY(20px) scale(.94);transition:all .55s}
.cv .scene-resa:not([data-step="0"]) .r-panel{opacity:1;transform:none}
.cv .r-k{margin:0 0 4px;font-size:7px;font-weight:760;letter-spacing:1.2px;text-transform:uppercase;color:#196beb}
.cv .r-when{display:block;font-size:13px;color:#153758;margin-bottom:8px}
.cv .r-line{display:flex;justify-content:space-between;font-size:8.5px;color:#4d6a87;padding:6px 0;border-top:1px solid #e8f0f8}.cv .r-line b{color:#153758}
.cv .r-pay{margin-top:9px;display:flex;align-items:center;justify-content:center;gap:7px;background:#111;color:#fff;border-radius:6px;padding:8px;font-size:8.5px;font-weight:700;transition:transform .2s,opacity .4s}
.cv .r-tw{font:800 7px/1 sans-serif;letter-spacing:.5px;background:#fff;color:#111;padding:3px 4px;border-radius:3px}
.cv .r-ok{display:none;margin-top:9px;align-items:center;justify-content:center;gap:7px;font-size:9px;font-weight:700;color:#14866a;background:#e6f8f2;border-radius:6px;padding:7px}
.cv .r-ok .circle-check{width:16px;height:16px;font-size:10px;background:#c9f0e2;color:#14866a}
.cv .scene-resa[data-step="3"] .r-pay{display:none}.cv .scene-resa[data-step="3"] .r-ok{display:flex}
.cv .r-phone{position:absolute;right:30px;top:226px;width:128px;height:226px;background:#fff;border:6px solid #123758;border-radius:23px;box-shadow:0 22px 35px #1b426641;z-index:6;opacity:0;transform:translateY(18px) rotate(7deg);transition:opacity .6s,transform .7s;overflow:hidden}
.cv .r-phone:before{content:"";position:absolute;top:3px;left:42px;width:34px;height:7px;background:#123758;border-radius:0 0 8px 8px}
.cv .scene-resa[data-step="3"] .r-phone{opacity:1;transform:rotate(4deg)}
.cv .r-ph-in{padding:22px 10px 10px}.cv .r-ph-in small{font-size:6.5px;font-weight:760;letter-spacing:1px;text-transform:uppercase;color:#14a37f}.cv .r-ph-in b{display:block;font:700 13px Georgia,serif;color:#153758;margin:3px 0 10px}
.cv .r-ph-card{background:#f1f6fc;border:1px solid #dfeaf6;border-radius:8px;padding:8px}.cv .r-ph-card span{display:block;font-size:10px;font-weight:760;color:#153758}.cv .r-ph-card em{font-style:normal;font-size:7px;color:#7891ad}
.cv .r-ph-rem{margin-top:8px;font-size:7px;color:#4d6a87;background:#fff8e6;border:1px solid #f4e2b4;border-radius:7px;padding:6px}
.cv .r-cursor{left:250px;top:330px;opacity:0}
.cv .scene-resa[data-step="1"] .r-cursor{opacity:1;left:448px;top:156px}
.cv .scene-resa[data-step="2"] .r-cursor{opacity:1;left:500px;top:300px}
.cv .scene-resa[data-step="2"] .r-pay{transform:scale(.96)}
.cv .r-toast{left:120px;top:404px}
/* Scènes « holographiques » : même style que la scène Logiciel pour les 6 services */
.cv .shadow{filter:none}.cv .scene-software .shadow{filter:url(#cv-shadow)}
.cv .soft{filter:none}
.cv .scene-holo .step-status,.cv .scene-holo .grid-label{z-index:5}
.cv .pop-in{animation:cv-popIn 8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes cv-popIn{0%,18%{opacity:0;transform:translateY(-14px) scale(.9)}28%,90%{opacity:1;transform:none}98%,100%{opacity:0}}
.cv .scene-holo .pick{animation:cv-pick 8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes cv-pick{0%,20%{opacity:.15;transform:scale(.8)}28%,90%{opacity:1;transform:none}98%,100%{opacity:.15}}
.cv.is-paused .scene-holo svg *,.cv .scene-holo svg *{animation-play-state:running}
@media(prefers-reduced-motion:reduce){.cv .scene-holo svg *{animation:none!important}}
/* décor commun (thème de la scène Logiciel) derrière les animations d'origine */
.cv .cv-deco{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible}
/* Logiciel PME : la scène se construit une fois puis RESTE affichée (avant : tout s'effaçait à chaque boucle,
   laissant un écran vide qui donnait l'impression d'une animation cassée). Elle se rejoue quand la carte revient à l'écran. */
.cv .scene-software .dashboard-body{animation:cv-swBody 1.6s cubic-bezier(.2,.8,.2,1) .1s both}
.cv .scene-software .pop1{animation:cv-swPop 1s cubic-bezier(.2,.9,.25,1.1) 1.2s both;--fx:43px;--fy:32px}
.cv .scene-software .pop2{animation:cv-swPop 1s cubic-bezier(.2,.9,.25,1.1) 1.8s both;--fx:-30px;--fy:20px}
.cv .scene-software .pop3{animation:cv-swPop 1s cubic-bezier(.2,.9,.25,1.1) 2.4s both;--fx:13px;--fy:36px}
.cv .scene-software .phone-arrive{animation:cv-swPhone 1.2s cubic-bezier(.2,.9,.25,1) 3s both}
.cv .scene-software .draw-line{stroke-dasharray:550;animation:cv-swLine 1.8s ease-in-out 1s both}
.cv .scene-software .bar-rise{animation:cv-swBars 1s cubic-bezier(.2,.9,.25,1.1) 2.8s both}
@keyframes cv-swBody{from{opacity:0;transform:translateY(32px) scale(.92)}to{opacity:1;transform:none}}
@keyframes cv-swPop{from{opacity:0;transform:translate(var(--fx),var(--fy)) scale(.75)}to{opacity:1;transform:none}}
@keyframes cv-swPhone{from{opacity:0;transform:translateX(80px) rotate(19deg) scale(.8)}to{opacity:1;transform:none}}
@keyframes cv-swLine{from{stroke-dashoffset:550}to{stroke-dashoffset:0}}
@keyframes cv-swBars{from{transform:scaleY(.08)}to{transform:none}}
