.event-loading body{visibility:hidden}
.confirmation-pending main[data-route="/merci"] .card,.confirmation-pending main[data-route="/merci"] .ok-badge{display:none}
.top nav.language-switch{display:flex;margin-left:auto;gap:2px;flex-shrink:0;border:1px solid #ffffff45;border-radius:20px;padding:3px}
.language-switch a{font-size:12px;font-weight:700;color:#dbe6ff;text-decoration:none;padding:5px 8px;border-radius:16px}
.language-switch a[aria-current="page"]{background:#fff;color:#0A1A33}
.language-switch a:focus-visible{outline:2px solid #6EA8FF;outline-offset:3px}
.segs[hidden]{display:none}
.media-language-note{font-size:12px;color:#b8cae5;text-align:center;padding-top:10px}
@media(max-width:600px){.top .row1{flex-wrap:wrap}.event-back{order:3;width:100%;text-align:center;margin:0}.top nav.language-switch{gap:0}.language-switch a{padding:4px 7px}}
.event-back{color:#dbe6ff;font-size:13px;white-space:nowrap;margin-left:auto}
@media(max-width:600px){.hero h1 em{white-space:normal!important}.sk-top{flex-wrap:wrap;gap:4px 10px}}
.event-dates{color:#9fb4d9;font-size:14px;margin:0 0 18px}
@media(max-width:600px){.event-back{font-size:11px}.event-dates{font-size:12px}}
:root{
  --black:#0A1A33; --ink:#0F1E36; --blue:#2563EB; --blue-d:#1D4FC4; --sky:#6EA8FF; --paper:#F2F5FA; --white:#fff;
  --line:#D3DBE8; --muted:#55627A; --ok:#1E7A4C; --err:#B3261E;
  --h:'Archivo',system-ui,sans-serif; --b:'Public Sans',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--b);color:var(--ink);background:var(--paper);line-height:1.55;font-size:17px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--h);line-height:1.08;letter-spacing:-.01em}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--h);font-weight:800;font-size:17px;background:var(--blue);color:#fff;border:2px solid var(--blue);padding:15px 26px;border-radius:4px;text-decoration:none;cursor:pointer;transition:background .15s}
.btn:hover{background:var(--blue-d);border-color:var(--blue-d)}
.btn.ghost{background:transparent;color:var(--white);border-color:#555}
.btn.ghost:hover{border-color:var(--sky);color:var(--sky)}
.btn.dark{background:var(--black);color:var(--white);border-color:var(--black)}
.btn.dark:hover{background:#2a2a2a}
.btn.outline{background:transparent;color:var(--black);border-color:var(--black)}
.btn.outline:hover{background:var(--black);color:var(--white)}
.btn.block{width:100%}
.btn[disabled]{opacity:.4;pointer-events:none}
.eyebrow{font-family:var(--h);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--sky)}
.light .eyebrow{color:#1D4FC4}

/* Bannière */
.banner{background:var(--blue);color:#fff;font-size:15px;font-weight:600;text-align:center;padding:9px 16px}
.banner b{font-weight:800}
.banner.over{background:#2a2a2a;color:#ddd}

/* En-tête */
header.top{background:var(--black);color:var(--white);border-bottom:1px solid #262626;position:sticky;top:0;z-index:30}
.top .row1{display:flex;align-items:center;gap:18px;min-height:64px;padding-top:8px;padding-bottom:8px}
.logos{display:flex;align-items:center;gap:14px;text-decoration:none}
.chip{background:#fff;border-radius:5px;padding:3px 8px;display:flex;align-items:center}
.chip img{height:44px;display:block}
.lockup{display:flex;align-items:center;gap:14px;margin-bottom:26px;color:#dbe6ff;font-size:15px;line-height:1.35}
.lockup b{color:#fff}
[id]{scroll-margin-top:80px}
 .jny{display:none;position:fixed;left:14px;bottom:14px;z-index:35;font-size:13px}
.jny.show{display:block}
.jny-b{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:9px;padding:7px 14px 7px 8px;border-radius:30px;background:rgba(10,26,51,.68);color:#fff;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:.78;transition:opacity .2s}
.jny:hover .jny-b,.jny.open .jny-b,.jny-b:focus-visible{opacity:1}
.jny-b svg{display:block;flex:none}
.jny-b .t{line-height:1.2}
.jny-b .t small{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#9fb4d9}
.jny-b .t b{font-family:var(--h);font-size:13px;font-weight:700}
.jny-p{display:none;position:absolute;left:0;bottom:calc(100% + 8px);width:230px;padding:12px 14px;border-radius:14px;background:rgba(10,26,51,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);color:#fff}
.jny.open .jny-p{display:block}
@media (hover:hover){.jny:hover .jny-p{display:block}}
.jny-p ol{list-style:none;position:relative}
.jny-p li{position:relative;padding:0 0 0 24px;margin:0}
.jny-p li:before{content:"";position:absolute;left:5px;top:16px;bottom:-4px;width:1.5px;background:#2b4579}
.jny-p li:last-child:before{display:none}
.jny-p button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;gap:10px;width:100%;padding:5px 0;color:#8fa3c7;font-size:13px}
.jny-p button:hover{color:#fff}
.jny-p li:after{content:"";position:absolute;left:0;top:9px;width:11px;height:11px;border-radius:50%;border:1.5px solid #4a6496;background:transparent}
.jny-p li.done:after{background:#4a6496;border-color:#4a6496}
.jny-p li.now:after{background:var(--sky);border-color:var(--sky);box-shadow:0 0 0 3px rgba(110,168,255,.25)}
.jny-p li.done button{color:#b9c8e6}
.jny-p li.now button{color:#fff;font-weight:700}
.jny-p em{font-style:normal;font-size:11px;color:#9fc2ff}
.avg{font-size:13px;color:var(--muted);margin:-8px 0 14px}
.logos img.px{height:34px;display:block}
.lp{background:#14305f;border:1px solid #3f67ad;border-radius:30px;padding:8px 16px;font-size:14px;font-weight:600;color:#fff;white-space:nowrap}
.lp b{color:#8FBBFF;font-family:var(--h);font-size:20px;font-weight:900;margin-right:2px}
.lp.low{background:#4a1d17;border-color:#ff6a4d}.lp.low b{color:#ff9a84}
.quote{margin-top:22px;border:1px solid #2d4570;border-radius:8px;padding:22px 26px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;color:#dbe6ff}
.quote b{font-family:var(--h);font-size:20px;color:#fff;display:block;margin-bottom:2px}
.logo{font-family:var(--h);font-weight:900;font-size:19px;letter-spacing:.02em;border:2px dashed #666;padding:3px 10px;border-radius:3px;color:#cfcfcf}
.logo small{font-weight:500;font-size:10px;display:block;letter-spacing:.1em;color:#888}
.x{color:#666;font-family:var(--h)}
.tag{font-size:15px;color:#e6eefc;flex:1;border-left:1px solid #35507f;padding-left:18px;line-height:1.3}
.tag b{color:#fff;font-weight:700}
.top nav{display:flex;align-items:center;gap:18px}
.top nav a.link{font-size:14px;color:#cfcfcf;text-decoration:none}
.top nav a.link:hover{color:var(--sky)}
.top .btn{padding:10px 18px;font-size:15px}

/* Hero */
.hero{background:var(--black);color:var(--white);padding:56px 0 72px}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(36px,5.4vw,62px);font-weight:900;margin:14px 0 20px}
.hero h1 em{font-style:normal;color:var(--sky)}
.hero p.sub{font-size:19px;color:#d6d6d6;max-width:560px;margin-bottom:28px}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.reassure{font-size:14px;color:#a9a9a9;margin-top:16px}
.counter{margin-top:30px;border:1px solid #333;border-radius:6px;padding:16px 18px;max-width:460px}
.counter .row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:15px;color:#d6d6d6}
.counter .row b{font-family:var(--h);font-size:30px;color:var(--sky);font-weight:900}
.bar{height:8px;background:#2b2b2b;border-radius:2px;margin:10px 0 8px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--sky);transition:width .4s}
.counter .note{font-size:13px;color:#9a9a9a}
.counter.low .row b{color:#ff6a4d}

/* Écran dessiné */
.screen-wrap{display:flex;justify-content:center}
.led{width:230px}
.led .panel{background:#050505;border:6px solid #222;border-radius:6px;aspect-ratio:96/196;position:relative;overflow:hidden;box-shadow:0 0 0 2px #333,0 0 60px rgba(37,99,235,.45)}
.led .px{position:absolute;inset:0;opacity:.35}
.led .content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:18px 14px;text-align:center}
.led .c1{font-family:var(--h);font-weight:800;font-size:11px;letter-spacing:.14em;color:var(--sky)}
.led .c2{font-family:var(--h);font-weight:900;font-size:29px;line-height:1;color:#fff}
.led .c2 span{color:var(--sky)}
.led .c3{font-size:11px;color:#bbb}
.led .c3 b{display:block;font-family:var(--h);font-size:20px;color:var(--sky)}
.led .stand{height:14px;background:#222;margin:0 18px;border-radius:0 0 4px 4px}
.led .wheels{display:flex;justify-content:space-between;margin:0 24px}
.led .wheels i{width:14px;height:14px;background:#333;border-radius:50%;display:block}
.led .cap{margin-top:14px;text-align:center;font-size:12px;color:#8f8f8f}
.slide{animation:fade .5s}
@keyframes fade{from{opacity:0}to{opacity:1}}

/* Sections */
section.s{padding:72px 0}
section.s.dark{background:var(--black);color:var(--white)}
section.s.white{background:var(--white)}
.s h2{font-size:clamp(28px,4vw,42px);font-weight:900;margin:10px 0 14px}
.s .lead{font-size:19px;color:var(--muted);max-width:640px}
.dark .lead{color:#c9c9c9}
.head{margin-bottom:40px}
.center{text-align:center}.center .lead{margin:0 auto}

/* Vidéo */
.video{background:#1b1b1b;border:1px solid #333;border-radius:6px;aspect-ratio:16/9;max-width:820px;margin:0 auto;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:#aaa;cursor:pointer}
.play{width:78px;height:78px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center}
.play:after{content:"";border-left:22px solid #fff;border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:6px}
.video span{font-size:14px}

/* Étapes */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:28px}
.step .n{font-family:var(--h);font-weight:900;font-size:46px;color:var(--blue);line-height:1}
.step h3{font-size:22px;margin:12px 0 8px}
.step p{color:var(--muted);font-size:16px}

/* Offres */
.offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.offer{background:var(--white);border:2px solid var(--line);border-radius:8px;padding:32px;position:relative;display:flex;flex-direction:column}
.offer.best{border-color:var(--black)}
.badge{position:absolute;top:-14px;left:28px;background:var(--black);color:var(--sky);font-family:var(--h);font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:3px}
.offer h3{font-size:28px}
.value{margin:6px 0 18px;font-size:15px;color:var(--muted)}
.value b{color:var(--black)}
.price{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.price .now{font-family:var(--h);font-weight:900;font-size:46px;letter-spacing:-.02em}
.price .was{font-size:22px;color:var(--muted);text-decoration:line-through}
.price .unit{font-size:14px;color:var(--muted);margin-top:2px}
.save{display:inline-block;background:#E3ECFF;color:#1E3F8F;font-weight:700;font-size:14px;padding:4px 10px;border-radius:3px;margin:12px 0 20px;align-self:flex-start}
.checks{list-style:none;margin:0 0 26px;display:grid;gap:9px;flex:1}
.checks li{padding-left:28px;position:relative;font-size:16px}
.checks li:before{content:"";position:absolute;left:2px;top:7px;width:12px;height:7px;border-left:3px solid var(--ok);border-bottom:3px solid var(--ok);transform:rotate(-45deg)}
.specs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:34px;border:1px solid #333;border-radius:6px}
.specs div{padding:18px;border-right:1px solid #333}
.specs div:last-child{border:0}
.specs b{display:block;font-family:var(--h);font-size:24px;color:var(--sky);font-weight:800}
.specs span{font-size:14px;color:#bdbdbd}

/* Comparaison */
.vs{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.vs .col{border-radius:8px;padding:30px;border:2px solid var(--line);background:var(--white)}
.vs .col.led-col{background:var(--black);color:var(--white);border-color:var(--black)}
.vs h3{font-size:22px;margin-bottom:6px}
.vs .big{font-family:var(--h);font-size:48px;font-weight:900;margin:4px 0 14px}
.led-col .big{color:var(--sky)}
.vs ul{list-style:none;display:grid;gap:10px}
.vs li{padding-left:26px;position:relative;font-size:16px}
.vs li:before{content:"×";position:absolute;left:3px;color:var(--err);font-weight:800}
.led-col li:before{content:"";left:2px;top:7px;width:12px;height:7px;border-left:3px solid var(--sky);border-bottom:3px solid var(--sky);transform:rotate(-45deg);color:inherit}
.punch{margin-top:26px;font-family:var(--h);font-size:clamp(20px,2.6vw,28px);font-weight:800;text-align:center}
.punch em{font-style:normal;background:var(--blue);color:#fff;padding:0 8px}

/* Montage */
.montage{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.mont{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:28px}
.mont .p{font-family:var(--h);font-size:38px;font-weight:900}
.mont .p small{font-size:15px;font-weight:600;color:var(--muted)}
.mont h3{font-size:22px}
.mont p{color:var(--muted);margin-top:6px}
.free{margin-top:20px;background:var(--black);color:#ddd;border-radius:6px;padding:18px 22px;font-size:16px}
.free b{color:var(--sky)}

/* Réalisations */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ph{aspect-ratio:4/3;background:#e6e1d7;border:1px dashed #b3ad9f;border-radius:6px;display:flex;align-items:flex-end;padding:12px;font-size:13px;color:#6f695d}
.proof{text-align:center;margin-top:22px;color:var(--muted);font-size:15px}

/* FAQ */
details{background:var(--white);border:1px solid var(--line);border-radius:6px;margin-bottom:10px}
summary{font-family:var(--h);font-weight:700;font-size:18px;padding:18px 54px 18px 20px;cursor:pointer;list-style:none;position:relative}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:26px;color:#1D4FC4}
details[open] summary:after{content:"−"}
details p{padding:0 20px 20px;color:var(--muted)}

/* CTA final */
.final{text-align:center}
.final h2{font-size:clamp(30px,4.6vw,52px)}
.final .btn{margin-top:26px;font-size:19px;padding:18px 34px}

footer{background:#050505;color:#8d8d8d;font-size:14px;padding:34px 0 90px}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer a{color:#bbb}

/* CTA mobile collant */
.sticky{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--black);border-top:2px solid var(--sky);padding:10px 16px;gap:12px;align-items:center}
.sticky .t{flex:1;font-size:13px;color:#ddd;line-height:1.3}
.sticky .t b{color:var(--sky);font-family:var(--h);font-size:16px}
.sticky .btn{padding:12px 18px;font-size:15px}

/* Pages internes */
.page{padding:40px 0 90px}
.page h1{font-size:clamp(28px,4vw,40px);font-weight:900;margin-bottom:6px}
.crumbs{display:flex;gap:8px;margin:18px 0 28px;flex-wrap:wrap}
.crumbs span{font-family:var(--h);font-weight:700;font-size:14px;padding:8px 14px;border-radius:30px;border:1px solid var(--line);background:var(--white);color:var(--muted)}
.crumbs span.on{background:var(--black);color:var(--sky);border-color:var(--black)}
.crumbs span.done{background:#E3ECFF;color:#1E3F8F;border-color:#A9C2F5}
.grid2{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:start}
.card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:28px}
.card h2{font-size:22px;margin-bottom:16px}
.f{display:grid;gap:16px}
.f.two{grid-template-columns:1fr 1fr}
label{font-weight:600;font-size:15px;display:block;margin-bottom:6px}
label small{font-weight:400;color:var(--muted)}
input,select,textarea{width:100%;font:inherit;padding:13px 14px;border:1.5px solid #bdb7aa;border-radius:4px;background:var(--white);color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(37,99,235,.35);border-color:var(--black)}
.hint{font-size:13px;color:var(--muted);margin-top:5px}
.msg{font-size:14px;margin-top:6px;font-weight:600}
.msg.ok{color:var(--ok)}.msg.err{color:var(--err)}
.nav-row{display:flex;justify-content:space-between;gap:12px;margin-top:26px;flex-wrap:wrap}
.opt{display:flex;gap:14px;align-items:flex-start;border:2px solid var(--line);border-radius:8px;padding:18px;margin-bottom:12px;cursor:pointer;background:var(--white)}
.opt:has(input:checked){border-color:var(--black);background:#F0F5FF}
.opt input{width:20px;height:20px;margin-top:3px;accent-color:#000;flex:none}
.opt .t{flex:1}
.opt .t b{font-family:var(--h);font-size:19px;display:block}
.opt .t span{font-size:14px;color:var(--muted)}
.opt .pr{font-family:var(--h);font-weight:900;font-size:22px;text-align:right;white-space:nowrap}
.opt .pr s{display:block;font-size:14px;font-weight:500;color:var(--muted)}
.sum{position:sticky;top:90px;background:var(--black);color:var(--white);border-radius:8px;padding:26px}
.sum h3{font-size:20px;margin-bottom:16px;color:var(--sky)}
.sum .ln{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #2c2c2c;font-size:15px}
.sum .ln.t{border:0;font-family:var(--h);font-size:24px;font-weight:900;padding-top:16px}
.sum .ln.t span:last-child{color:var(--sky)}
.sum .mut{color:#aaa}
.sum .eb{margin-top:14px;font-size:13px;color:#d8d8d8;background:#1c1c1c;border-radius:4px;padding:10px 12px}
.sum .eb b{color:var(--sky)}
.lock{font-size:13px;color:var(--muted);margin-top:12px}
.pay-card{border:2px solid var(--line);border-radius:8px;padding:20px;margin-bottom:12px;background:var(--white);cursor:pointer}
.pay-card:has(input:checked){border-color:var(--black);background:#F0F5FF}
.pay-card .top2{display:flex;gap:12px;align-items:center}
.pay-card input{width:20px;height:20px;accent-color:#000}
.pay-card b{font-family:var(--h);font-size:19px}
.pay-card p{font-size:14px;color:var(--muted);margin:6px 0 0 32px}
.stripe{background:#F7F7F9;border:1px dashed #b9b9c4;border-radius:6px;padding:14px;font-size:13px;color:#555;margin-top:14px}

/* Confirmation / espace */
.ok-badge{width:64px;height:64px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.ok-badge:after{content:"";width:24px;height:13px;border-left:5px solid #fff;border-bottom:5px solid #fff;transform:rotate(-45deg) translate(2px,-3px)}
.timeline{list-style:none;display:grid;gap:0;margin-top:6px}
.timeline li{display:grid;grid-template-columns:36px 1fr;gap:14px;padding-bottom:22px;position:relative}
.timeline li:before{content:"";position:absolute;left:17px;top:34px;bottom:0;width:2px;background:var(--line)}
.timeline li:last-child:before{display:none}
.dot{width:36px;height:36px;border-radius:50%;border:2px solid var(--line);background:var(--white);font-family:var(--h);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px}
.timeline .done .dot{background:var(--ok);border-color:var(--ok);color:#fff}
.timeline .now .dot{background:var(--blue);border-color:var(--blue);color:#fff}
.timeline b{font-family:var(--h);font-size:17px;display:block}
.timeline span{font-size:14px;color:var(--muted)}
.pill{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;background:#E3ECFF;color:#1E3F8F;font-family:var(--h);letter-spacing:.04em}
.pill.g{background:#DDF1E5;color:var(--ok)}
.pill.r{background:#F9DAD7;color:var(--err)}
.drop{border:2px dashed #9b9588;border-radius:8px;padding:34px 20px;text-align:center;background:#FBFAF7;cursor:pointer}
.drop:hover{border-color:var(--black);background:#F0F5FF}
.drop b{font-family:var(--h);font-size:18px;display:block}
.drop span{font-size:14px;color:var(--muted)}
.file{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:6px;padding:12px 14px;margin-top:12px;background:var(--white);flex-wrap:wrap}
.tabs-demo{margin-top:12px}

/* Barre maquette */
.demo{position:fixed;right:12px;bottom:12px;z-index:60;background:#fff;border:2px solid var(--black);border-radius:8px;font-size:12px;max-width:260px;box-shadow:0 4px 18px rgba(0,0,0,.25)}
.demo summary{font-family:var(--b);font-size:12px;font-weight:700;padding:8px 12px;cursor:pointer;background:var(--sky);border-radius:6px}
.demo summary:after{display:none}
.demo .in{padding:10px 12px;display:grid;gap:8px}
.demo label{font-size:12px;margin:0}
.demo select{padding:6px;font-size:12px}
.demo a{font-size:12px}

@media (max-width:900px){
  .hero .wrap,.grid2{grid-template-columns:1fr}
  .hero{padding:36px 0 48px}
  .screen-wrap{order:-1}
  .led{width:150px}
  .led .c2{font-size:19px}.led .c1,.led .c3{font-size:8px}.led .c3 b{font-size:13px}
  .steps,.offers,.vs,.montage,.gal{grid-template-columns:1fr}
  .specs{grid-template-columns:1fr 1fr}
  .specs div:nth-child(2){border-right:0}
  .specs div:nth-child(-n+2){border-bottom:1px solid #333}
  .tag{display:none}
  .top nav .btn{display:none}
  .top nav{margin-left:auto}
  .top .row1{min-height:56px}
  .logos img.px{height:28px}
  .chip img{height:36px}
  .jny{bottom:78px;left:10px}
  .jny-p{width:210px}
  [id]{scroll-margin-top:70px}
  .top nav a.link{display:none}
  section.s{padding:52px 0}
  .sum{position:static}
  .sticky.show{display:flex}
  .f.two{grid-template-columns:1fr}
  .demo{bottom:70px}
}
@media (max-width:480px){
  body{font-size:16px}
  .opt{flex-wrap:wrap}
  .opt .pr{text-align:left;margin-left:34px}
  .logo{font-size:15px}
}

/* v5 : section 1 allégée */
.banner{font-size:14px;padding:8px 16px}
.top .row1{min-height:60px}
.x{color:#6f86b3;font-size:18px}
.chip.sm{padding:2px 6px}.chip.sm img{height:30px}
.hero{padding:44px 0 56px}
.hero .wrap{grid-template-columns:1.35fr .65fr;gap:40px}
.hero h1{font-size:clamp(34px,4.7vw,58px);margin:0 0 18px;max-width:14em}
.hero p.sub{font-size:19px;max-width:30em;margin-bottom:26px;color:#cdd9ef}
.hero .cta-row{gap:20px}
.btn.big{font-size:19px;padding:18px 34px}
.from{display:flex;align-items:center;gap:10px;line-height:1.25}
.from b{font-family:var(--h);font-size:34px;font-weight:900;color:#fff}
.from span{font-size:13px;color:#9fb4d9}
.trust{list-style:none;display:flex;gap:8px 22px;flex-wrap:wrap;margin:20px 0 0;font-size:14px;color:#b9c8e6}
.trust li{position:relative;padding-left:20px}
.trust li:before{content:"";position:absolute;left:1px;top:6px;width:10px;height:6px;border-left:2px solid var(--sky);border-bottom:2px solid var(--sky);transform:rotate(-45deg)}
.counter{border:0;padding:0;margin-top:28px;max-width:300px}
.counter .row{font-size:14px;color:#cdd9ef}
.counter .row b{font-size:22px}
.bar{height:5px;margin:8px 0 0}
.counter .note{display:none;margin-top:8px}
.counter.low .note{display:block;color:#ff9a84;font-size:13px}
.led{width:190px}
@media (max-width:900px){
  .hero{padding:30px 0 40px}
  .hero .wrap{grid-template-columns:1fr;gap:28px}
  .screen-wrap{order:0}
  .led{width:110px}
  .hero h1{font-size:34px}
  .hero p.sub{font-size:17px}
  .banner{font-size:13px}.hm{display:none}
  .from b{font-size:28px}
  .btn.big{width:100%}
  .chip.sm img{height:24px}
  .lw{display:none}
  .lp{padding:6px 12px;font-size:13px}.lp b{font-size:17px}
  .logos{gap:10px}.logos img.px{height:22px}
  .top .row1{gap:10px}
}
@media (min-width:901px){.hm{display:inline}}

/* v6 : sur téléphone, l'écran passe avant le bouton */
@media (max-width:900px){
  .hero .wrap{gap:16px}
  .hl{display:contents}
  .hl h1{order:1;margin:0}
  .hl .sub{order:2;margin:0}
  .screen-wrap{order:3}
  .led{width:128px}
  .hl .cta-row{order:4}
  .hl .trust{order:5;margin:0}
  .hl .counter{order:6;margin-top:4px;width:100%;max-width:none}
}

/* v7 */
.hero h1{font-size:clamp(32px,4.4vw,54px)}
.hero .cta-row{gap:12px}
.hero .cta-row .btn{font-size:16px;padding:13px 24px}
.from{margin-top:18px}
.from b{font-size:30px}
.from b s,.led-col .big s{font-size:.5em;font-weight:600;color:#8fa3c7;margin-left:6px}
.led-col .big s{opacity:.8}
.sticky .t s{font-weight:400;color:#8fa3c7;font-size:12px}
.banner s{opacity:.75;font-weight:500}
.dm{display:none}
@media (max-width:900px){.dm{display:inline}}
.flow{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:center}
.fl{position:absolute;top:28px;left:16.66%;right:16.66%;height:3px;background:var(--line);border-radius:2px}
.fl i{display:block;height:100%;width:0;background:var(--blue);border-radius:2px;transition:width 1.3s ease .25s}
.flow.in .fl i{width:100%}
.fs{position:relative;z-index:1;opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.flow.in .fs{opacity:1;transform:none}
.flow.in .fs:nth-child(2){transition-delay:.05s}
.flow.in .fs:nth-child(3){transition-delay:.55s}
.flow.in .fs:nth-child(4){transition-delay:1.05s}
.fn{width:58px;height:58px;border-radius:50%;margin:0 auto 14px;background:var(--paper);border:3px solid var(--blue);color:var(--blue);font-family:var(--h);font-weight:900;font-size:26px;display:flex;align-items:center;justify-content:center;transition:background .4s,color .4s}
.flow.in .fn{background:var(--blue);color:#fff}
.flow.in .fs:nth-child(2) .fn{transition-delay:.1s}
.flow.in .fs:nth-child(3) .fn{transition-delay:.6s}
.flow.in .fs:nth-child(4) .fn{transition-delay:1.1s}
.fs h3{font-size:20px;margin-bottom:6px}
.fs p{color:var(--muted);font-size:15px;max-width:230px;margin:0 auto}
.when{display:inline-block;margin-top:12px;font-family:var(--h);font-weight:700;font-size:12px;letter-spacing:.04em;background:#E3ECFF;color:#1E3F8F;padding:4px 10px;border-radius:20px}
@media (max-width:900px){
  .hl .cta-row{order:4;flex-wrap:nowrap}
  .hero .cta-row .btn{font-size:14px;padding:11px 12px;flex:1;white-space:nowrap}
  .hl .from{order:5;margin-top:0}
  .hl .trust{order:6}
  .hl .counter{order:7}
  .fl{top:22px}
  .fn{width:44px;height:44px;font-size:20px;border-width:2.5px;margin-bottom:10px}
  .fs h3{font-size:14px;line-height:1.15}
  .fs p{font-size:12px;line-height:1.35}
  .when{font-size:10px;padding:3px 7px;margin-top:8px}
  .flow{gap:6px}
}
@media (prefers-reduced-motion:reduce){.fs,.fn,.fl i{transition:none!important}}

/* v8 : animation kiosque */
.booth{width:100%;max-width:470px;margin:0 auto}
.booth svg{width:100%;height:auto;display:block;overflow:visible}
.booth .cap{margin-top:6px;text-align:center;font-size:13px;color:#9fb4d9}
@media (prefers-reduced-motion:reduce){}
.hero .wrap{grid-template-columns:1.05fr .95fr}
.hero h1{font-size:clamp(32px,3.9vw,48px)}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}.booth{max-width:330px}.booth .cap{font-size:12px}.hero h1{font-size:34px}}

/* v9 : preuves réelles */
.lg-t{text-align:center;font-family:var(--h);font-weight:700;font-size:15px;color:var(--ink);margin:0 0 14px}
.lg{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 34px;margin-bottom:40px}
.lg img{height:26px;width:auto;max-width:110px;object-fit:contain;opacity:.85}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gal figure,.tems figure{margin:0}
.gal .im{aspect-ratio:3/2;border-radius:10px;overflow:hidden;background:#dfe6f2}
.gal .im img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.gal figure:hover .im img{transform:scale(1.04)}
.gal figcaption,.tems figcaption{margin-top:10px;font-size:14px;color:var(--muted);line-height:1.35}
.gal figcaption b,.tems figcaption b{display:block;color:var(--ink);font-family:var(--h);font-size:16px}
.tems figcaption span{display:block;font-size:13px}
.tem-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:46px 0 18px;padding-top:30px;border-top:1px solid var(--line)}
.tem-h h3{font-size:26px}
.rate{font-size:15px;color:var(--ink)}.rate .stars{color:#F5A623;letter-spacing:2px;font-size:17px}
.tems{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.vf{aspect-ratio:9/16;max-height:480px;border-radius:12px;overflow:hidden;background:#000;box-shadow:0 8px 22px rgba(10,26,51,.18);margin:0 auto}
.vf video{width:100%;height:100%;object-fit:cover;display:block}
.quote-t{margin:30px auto 0;max-width:720px;padding:18px 22px;background:var(--white);border-left:4px solid var(--blue);border-radius:0 8px 8px 0;font-style:italic;font-size:16px;color:var(--ink)}
.quote-t cite{display:block;margin-top:8px;font-style:normal;font-size:13px;color:var(--muted)}
@media (max-width:900px){
  .snap{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px 8px;-webkit-overflow-scrolling:touch}
  .snap::-webkit-scrollbar{display:none}
  .snap figure{flex:0 0 82%;scroll-snap-align:center}
  .tems figure{flex:0 0 58%}
  .lg{gap:12px 22px}.lg img{height:22px}
  .tem-h{margin-top:34px}
}
@media (min-width:901px){.lg{flex-wrap:nowrap;gap:0 26px}.lg img{max-width:100px}}
.lg .more{font-family:var(--h);font-weight:800;font-size:15px;color:var(--blue-d);white-space:nowrap}
.rate{text-decoration:underline;text-decoration-color:#b4b8c6;text-underline-offset:3px}.rate:hover{text-decoration-color:var(--ink)}
@media (min-width:901px){.lg{gap:0 22px}.lg img{max-width:88px}}

/* v12 : scène kiosque */
@keyframes b-root{0%{opacity:0}2.0%{opacity:1}95%{opacity:1}100%{opacity:0}}
@keyframes b-floor{0%{opacity:0;transform:scale(.93)}4.0%,100%{opacity:1;transform:scale(1)}}
@keyframes b-roll0{0%,5.0%{opacity:0;transform:translate(130px,75px)}5.75%{opacity:1}10.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-up0{0%,10.5%{opacity:0;transform:scaleY(.04)}10.9%{opacity:1}16.5%,100%{opacity:1;transform:scaleY(1)}}
@keyframes b-hing0{0%,15.5%{opacity:0}17.0%{opacity:.9}21.0%,100%{opacity:0}}
@keyframes b-seam0{0%,16.5%{opacity:0}17.5%,100%{opacity:1}}
@keyframes b-ct0{0%,36.0%{opacity:0}39.5%{opacity:1}65.0%{opacity:1}70.0%,100%{opacity:0}}
@keyframes b-roll1{0%,13.0%{opacity:0;transform:translate(130px,75px)}13.75%{opacity:1}18.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-up1{0%,18.5%{opacity:0;transform:scaleY(.04)}18.9%{opacity:1}24.5%,100%{opacity:1;transform:scaleY(1)}}
@keyframes b-hing1{0%,23.5%{opacity:0}25.0%{opacity:.9}29.0%,100%{opacity:0}}
@keyframes b-seam1{0%,24.5%{opacity:0}25.5%,100%{opacity:1}}
@keyframes b-ct1{0%,38.0%{opacity:0}41.5%{opacity:1}65.0%{opacity:1}70.0%,100%{opacity:0}}
@keyframes b-roll2{0%,21.0%{opacity:0;transform:translate(130px,75px)}21.75%{opacity:1}26.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-up2{0%,26.5%{opacity:0;transform:scaleY(.04)}26.9%{opacity:1}32.5%,100%{opacity:1;transform:scaleY(1)}}
@keyframes b-hing2{0%,31.5%{opacity:0}33.0%{opacity:.9}37.0%,100%{opacity:0}}
@keyframes b-seam2{0%,32.5%{opacity:0}33.5%,100%{opacity:1}}
@keyframes b-ct2{0%,40.0%{opacity:0}43.5%{opacity:1}65.0%{opacity:1}70.0%,100%{opacity:0}}
@keyframes b-pano{0%,65.0%{opacity:0}70.0%,100%{opacity:1}}
@keyframes b-lit{0%,36.0%{opacity:0}43.0%,100%{opacity:1}}
@keyframes b-in0{0%,43.0%{opacity:0;transform:translate(8px,5px)}48.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-in1{0%,46.0%{opacity:0;transform:translate(8px,5px)}51.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-in2{0%,49.0%{opacity:0;transform:translate(8px,5px)}54.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-point{0%,63.0%{transform:rotate(0deg)}68.5%,87.5%{transform:rotate(78deg)}93.0%,100%{transform:rotate(0deg)}}
@keyframes b-nodA{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2.5deg)}}
@keyframes b-nodB{0%,100%{transform:rotate(2deg)}50%{transform:rotate(-2.5deg)}}
@keyframes b-talk{0%,100%{transform:rotate(0deg)}30%{transform:rotate(-3deg)}60%{transform:rotate(2deg)}}
@keyframes b-dim{0%,58.0%{opacity:0}62.0%,100%{opacity:1}}
.b-root{animation:b-root 20s linear infinite}
.b-floor,.b-up,.b-pt,.b-hd{transform-box:fill-box}
.b-floor{transform-origin:50% 50%;animation:b-floor 20s ease-out infinite}
.b-roll0{animation:b-roll0 20s cubic-bezier(.3,.7,.3,1) infinite}
.b-roll1{animation:b-roll1 20s cubic-bezier(.3,.7,.3,1) infinite}
.b-roll2{animation:b-roll2 20s cubic-bezier(.3,.7,.3,1) infinite}
.b-up{transform-origin:50% 100%}
.b-up0{animation:b-up0 20s cubic-bezier(.3,1.2,.5,1) infinite}
.b-up1{animation:b-up1 20s cubic-bezier(.3,1.2,.5,1) infinite}
.b-up2{animation:b-up2 20s cubic-bezier(.3,1.2,.5,1) infinite}
.b-hing0{animation:b-hing0 20s ease-out infinite}
.b-hing1{animation:b-hing1 20s ease-out infinite}
.b-hing2{animation:b-hing2 20s ease-out infinite}
.b-seam0{animation:b-seam0 20s linear infinite}
.b-seam1{animation:b-seam1 20s linear infinite}
.b-seam2{animation:b-seam2 20s linear infinite}
.b-ct0{animation:b-ct0 20s ease-out infinite}
.b-ct1{animation:b-ct1 20s ease-out infinite}
.b-ct2{animation:b-ct2 20s ease-out infinite}
.b-pano{animation:b-pano 20s ease-out infinite}
.b-lit{animation:b-lit 20s ease-out infinite}
.b-in0{animation:b-in0 20s ease-out infinite}
.b-in1{animation:b-in1 20s ease-out infinite}
.b-in2{animation:b-in2 20s ease-out infinite}
.b-pt{transform-origin:50% 6%;animation:b-point 20s ease-in-out infinite}
.b-hd{transform-origin:50% 100%}
.b-hdA{animation:b-nodA 3.4s ease-in-out infinite}
.b-hdB{animation:b-nodB 4.1s ease-in-out infinite}
.b-hdC{animation:b-talk 2.6s ease-in-out infinite}
.b-dim{animation:b-dim 20s ease-out infinite}
@media (prefers-reduced-motion:reduce){.b-root,.b-floor,.b-roll0,.b-roll1,.b-roll2,.b-up,.b-hing0,.b-hing1,.b-hing2,.b-seam0,.b-seam1,.b-seam2,.b-ct0,.b-ct1,.b-ct2,.b-lit,.b-in0,.b-in1,.b-in2,.b-pt,.b-hd,.b-dim{animation:none!important}.b-ct0,.b-ct1,.b-ct2,.b-hing0,.b-hing1,.b-hing2{opacity:0}.b-pano{animation:none!important;opacity:1}}

/* v12 : scène kiosque */
@keyframes b-root{0%{opacity:0}2.0%{opacity:1}95%{opacity:1}100%{opacity:0}}
@keyframes b-floor{0%{opacity:0;transform:scale(.93)}4.0%,100%{opacity:1;transform:scale(1)}}
@keyframes b-roll0{0%,5.0%{opacity:0;transform:translate(130px,75px)}5.75%{opacity:1}10.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-up0{0%,10.5%{opacity:0;transform:scaleY(.04)}10.9%{opacity:1}16.5%,100%{opacity:1;transform:scaleY(1)}}
@keyframes b-hing0{0%,15.5%{opacity:0}17.0%{opacity:.9}21.0%,100%{opacity:0}}
@keyframes b-seam0{0%,16.5%{opacity:0}17.5%,100%{opacity:1}}
@keyframes b-ct0{0%,36.0%{opacity:0}39.5%{opacity:1}65.0%{opacity:1}70.0%,100%{opacity:0}}
@keyframes b-roll1{0%,13.0%{opacity:0;transform:translate(130px,75px)}13.75%{opacity:1}18.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-up1{0%,18.5%{opacity:0;transform:scaleY(.04)}18.9%{opacity:1}24.5%,100%{opacity:1;transform:scaleY(1)}}
@keyframes b-hing1{0%,23.5%{opacity:0}25.0%{opacity:.9}29.0%,100%{opacity:0}}
@keyframes b-seam1{0%,24.5%{opacity:0}25.5%,100%{opacity:1}}
@keyframes b-ct1{0%,38.0%{opacity:0}41.5%{opacity:1}65.0%{opacity:1}70.0%,100%{opacity:0}}
@keyframes b-roll2{0%,21.0%{opacity:0;transform:translate(130px,75px)}21.75%{opacity:1}26.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-up2{0%,26.5%{opacity:0;transform:scaleY(.04)}26.9%{opacity:1}32.5%,100%{opacity:1;transform:scaleY(1)}}
@keyframes b-hing2{0%,31.5%{opacity:0}33.0%{opacity:.9}37.0%,100%{opacity:0}}
@keyframes b-seam2{0%,32.5%{opacity:0}33.5%,100%{opacity:1}}
@keyframes b-ct2{0%,40.0%{opacity:0}43.5%{opacity:1}65.0%{opacity:1}70.0%,100%{opacity:0}}
@keyframes b-pano{0%,65.0%{opacity:0}70.0%,100%{opacity:1}}
@keyframes b-lit{0%,36.0%{opacity:0}43.0%,100%{opacity:1}}
@keyframes b-in0{0%,43.0%{opacity:0;transform:translate(8px,5px)}48.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-in1{0%,46.0%{opacity:0;transform:translate(8px,5px)}51.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-in2{0%,49.0%{opacity:0;transform:translate(8px,5px)}54.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-point{0%,63.0%{transform:rotate(0deg)}68.5%,87.5%{transform:rotate(78deg)}93.0%,100%{transform:rotate(0deg)}}
@keyframes b-nodA{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2.5deg)}}
@keyframes b-nodB{0%,100%{transform:rotate(2deg)}50%{transform:rotate(-2.5deg)}}
@keyframes b-talk{0%,100%{transform:rotate(0deg)}30%{transform:rotate(-3deg)}60%{transform:rotate(2deg)}}
@keyframes b-dim{0%,58.0%{opacity:0}62.0%,100%{opacity:1}}
.b-root{animation:b-root 20s linear infinite}
.b-floor,.b-up,.b-pt,.b-hd{transform-box:fill-box}
.b-floor{transform-origin:50% 50%;animation:b-floor 20s ease-out infinite}
.b-roll0{animation:b-roll0 20s cubic-bezier(.3,.7,.3,1) infinite}
.b-roll1{animation:b-roll1 20s cubic-bezier(.3,.7,.3,1) infinite}
.b-roll2{animation:b-roll2 20s cubic-bezier(.3,.7,.3,1) infinite}
.b-up{transform-origin:50% 100%}
.b-up0{animation:b-up0 20s cubic-bezier(.3,1.2,.5,1) infinite}
.b-up1{animation:b-up1 20s cubic-bezier(.3,1.2,.5,1) infinite}
.b-up2{animation:b-up2 20s cubic-bezier(.3,1.2,.5,1) infinite}
.b-hing0{animation:b-hing0 20s ease-out infinite}
.b-hing1{animation:b-hing1 20s ease-out infinite}
.b-hing2{animation:b-hing2 20s ease-out infinite}
.b-seam0{animation:b-seam0 20s linear infinite}
.b-seam1{animation:b-seam1 20s linear infinite}
.b-seam2{animation:b-seam2 20s linear infinite}
.b-ct0{animation:b-ct0 20s ease-out infinite}
.b-ct1{animation:b-ct1 20s ease-out infinite}
.b-ct2{animation:b-ct2 20s ease-out infinite}
.b-pano{animation:b-pano 20s ease-out infinite}
.b-lit{animation:b-lit 20s ease-out infinite}
.b-in0{animation:b-in0 20s ease-out infinite}
.b-in1{animation:b-in1 20s ease-out infinite}
.b-in2{animation:b-in2 20s ease-out infinite}
.b-pt{transform-origin:50% 6%;animation:b-point 20s ease-in-out infinite}
.b-hd{transform-origin:50% 100%}
.b-hdA{animation:b-nodA 3.4s ease-in-out infinite}
.b-hdB{animation:b-nodB 4.1s ease-in-out infinite}
.b-hdC{animation:b-talk 2.6s ease-in-out infinite}
.b-dim{animation:b-dim 20s ease-out infinite}
@media (prefers-reduced-motion:reduce){.b-root,.b-floor,.b-roll0,.b-roll1,.b-roll2,.b-up,.b-hing0,.b-hing1,.b-hing2,.b-seam0,.b-seam1,.b-seam2,.b-ct0,.b-ct1,.b-ct2,.b-lit,.b-in0,.b-in1,.b-in2,.b-pt,.b-hd,.b-dim{animation:none!important}.b-ct0,.b-ct1,.b-ct2,.b-hing0,.b-hing1,.b-hing2{opacity:0}.b-pano{animation:none!important;opacity:1}}

/* v12 : scène kiosque */
@keyframes b-root{0%{opacity:0}2.0%{opacity:1}95%{opacity:1}100%{opacity:0}}
@keyframes b-floor{0%{opacity:0;transform:scale(.93)}4.0%,100%{opacity:1;transform:scale(1)}}
@keyframes b-roll0{0%,5.0%{opacity:0;transform:translate(130px,75px)}5.75%{opacity:1}10.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-up0{0%,10.5%{opacity:0;transform:scaleY(.04)}10.9%{opacity:1}16.5%,100%{opacity:1;transform:scaleY(1)}}
@keyframes b-hing0{0%,15.5%{opacity:0}17.0%{opacity:.9}21.0%,100%{opacity:0}}
@keyframes b-seam0{0%,16.5%{opacity:0}17.5%,100%{opacity:1}}
@keyframes b-ct0{0%,36.0%{opacity:0}39.5%{opacity:1}65.0%{opacity:1}70.0%,100%{opacity:0}}
@keyframes b-roll1{0%,13.0%{opacity:0;transform:translate(130px,75px)}13.75%{opacity:1}18.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-up1{0%,18.5%{opacity:0;transform:scaleY(.04)}18.9%{opacity:1}24.5%,100%{opacity:1;transform:scaleY(1)}}
@keyframes b-hing1{0%,23.5%{opacity:0}25.0%{opacity:.9}29.0%,100%{opacity:0}}
@keyframes b-seam1{0%,24.5%{opacity:0}25.5%,100%{opacity:1}}
@keyframes b-ct1{0%,38.0%{opacity:0}41.5%{opacity:1}65.0%{opacity:1}70.0%,100%{opacity:0}}
@keyframes b-roll2{0%,21.0%{opacity:0;transform:translate(130px,75px)}21.75%{opacity:1}26.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-up2{0%,26.5%{opacity:0;transform:scaleY(.04)}26.9%{opacity:1}32.5%,100%{opacity:1;transform:scaleY(1)}}
@keyframes b-hing2{0%,31.5%{opacity:0}33.0%{opacity:.9}37.0%,100%{opacity:0}}
@keyframes b-seam2{0%,32.5%{opacity:0}33.5%,100%{opacity:1}}
@keyframes b-ct2{0%,40.0%{opacity:0}43.5%{opacity:1}65.0%{opacity:1}70.0%,100%{opacity:0}}
@keyframes b-pano{0%,65.0%{opacity:0}70.0%,100%{opacity:1}}
@keyframes b-lit{0%,36.0%{opacity:0}43.0%,100%{opacity:1}}
@keyframes b-in0{0%,43.0%{opacity:0;transform:translate(8px,5px)}48.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-in1{0%,46.0%{opacity:0;transform:translate(8px,5px)}51.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-in2{0%,49.0%{opacity:0;transform:translate(8px,5px)}54.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-point{0%,63.0%{transform:rotate(0deg)}68.5%,87.5%{transform:rotate(78deg)}93.0%,100%{transform:rotate(0deg)}}
@keyframes b-nodA{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2.5deg)}}
@keyframes b-nodB{0%,100%{transform:rotate(2deg)}50%{transform:rotate(-2.5deg)}}
@keyframes b-talk{0%,100%{transform:rotate(0deg)}30%{transform:rotate(-3deg)}60%{transform:rotate(2deg)}}
@keyframes b-dim{0%,58.0%{opacity:0}62.0%,100%{opacity:1}}
.b-root{animation:b-root 20s linear infinite}
.b-floor,.b-up,.b-pt,.b-hd{transform-box:fill-box}
.b-floor{transform-origin:50% 50%;animation:b-floor 20s ease-out infinite}
.b-roll0{animation:b-roll0 20s cubic-bezier(.3,.7,.3,1) infinite}
.b-roll1{animation:b-roll1 20s cubic-bezier(.3,.7,.3,1) infinite}
.b-roll2{animation:b-roll2 20s cubic-bezier(.3,.7,.3,1) infinite}
.b-up{transform-origin:50% 100%}
.b-up0{animation:b-up0 20s cubic-bezier(.3,1.2,.5,1) infinite}
.b-up1{animation:b-up1 20s cubic-bezier(.3,1.2,.5,1) infinite}
.b-up2{animation:b-up2 20s cubic-bezier(.3,1.2,.5,1) infinite}
.b-hing0{animation:b-hing0 20s ease-out infinite}
.b-hing1{animation:b-hing1 20s ease-out infinite}
.b-hing2{animation:b-hing2 20s ease-out infinite}
.b-seam0{animation:b-seam0 20s linear infinite}
.b-seam1{animation:b-seam1 20s linear infinite}
.b-seam2{animation:b-seam2 20s linear infinite}
.b-ct0{animation:b-ct0 20s ease-out infinite}
.b-ct1{animation:b-ct1 20s ease-out infinite}
.b-ct2{animation:b-ct2 20s ease-out infinite}
.b-pano{animation:b-pano 20s ease-out infinite}
.b-lit{animation:b-lit 20s ease-out infinite}
.b-in0{animation:b-in0 20s ease-out infinite}
.b-in1{animation:b-in1 20s ease-out infinite}
.b-in2{animation:b-in2 20s ease-out infinite}
.b-pt{transform-origin:50% 6%;animation:b-point 20s ease-in-out infinite}
.b-hd{transform-origin:50% 100%}
.b-hdA{animation:b-nodA 3.4s ease-in-out infinite}
.b-hdB{animation:b-nodB 4.1s ease-in-out infinite}
.b-hdC{animation:b-talk 2.6s ease-in-out infinite}
.b-dim{animation:b-dim 20s ease-out infinite}
@media (prefers-reduced-motion:reduce){.b-root,.b-floor,.b-roll0,.b-roll1,.b-roll2,.b-up,.b-hing0,.b-hing1,.b-hing2,.b-seam0,.b-seam1,.b-seam2,.b-ct0,.b-ct1,.b-ct2,.b-lit,.b-in0,.b-in1,.b-in2,.b-pt,.b-hd,.b-dim{animation:none!important}.b-ct0,.b-ct1,.b-ct2,.b-hing0,.b-hing1,.b-hing2{opacity:0}.b-pano{animation:none!important;opacity:1}}

/* v12 : scène kiosque */
@keyframes b-root{0%{opacity:0}2.0%{opacity:1}95%{opacity:1}100%{opacity:0}}
@keyframes b-floor{0%{opacity:0;transform:scale(.93)}4.0%,100%{opacity:1;transform:scale(1)}}
@keyframes b-roll0{0%,5.0%{opacity:0;transform:translate(130px,75px)}5.75%{opacity:1}10.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-up0{0%,10.5%{opacity:0;transform:scaleY(.04)}10.9%{opacity:1}16.5%,100%{opacity:1;transform:scaleY(1)}}
@keyframes b-hing0{0%,15.5%{opacity:0}17.0%{opacity:.9}21.0%,100%{opacity:0}}
@keyframes b-seam0{0%,16.5%{opacity:0}17.5%,100%{opacity:1}}
@keyframes b-ct0{0%,36.0%{opacity:0}39.5%{opacity:1}65.0%{opacity:1}70.0%,100%{opacity:0}}
@keyframes b-roll1{0%,13.0%{opacity:0;transform:translate(130px,75px)}13.75%{opacity:1}18.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-up1{0%,18.5%{opacity:0;transform:scaleY(.04)}18.9%{opacity:1}24.5%,100%{opacity:1;transform:scaleY(1)}}
@keyframes b-hing1{0%,23.5%{opacity:0}25.0%{opacity:.9}29.0%,100%{opacity:0}}
@keyframes b-seam1{0%,24.5%{opacity:0}25.5%,100%{opacity:1}}
@keyframes b-ct1{0%,38.0%{opacity:0}41.5%{opacity:1}65.0%{opacity:1}70.0%,100%{opacity:0}}
@keyframes b-roll2{0%,21.0%{opacity:0;transform:translate(130px,75px)}21.75%{opacity:1}26.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-up2{0%,26.5%{opacity:0;transform:scaleY(.04)}26.9%{opacity:1}32.5%,100%{opacity:1;transform:scaleY(1)}}
@keyframes b-hing2{0%,31.5%{opacity:0}33.0%{opacity:.9}37.0%,100%{opacity:0}}
@keyframes b-seam2{0%,32.5%{opacity:0}33.5%,100%{opacity:1}}
@keyframes b-ct2{0%,40.0%{opacity:0}43.5%{opacity:1}65.0%{opacity:1}70.0%,100%{opacity:0}}
@keyframes b-pano{0%,65.0%{opacity:0}70.0%,100%{opacity:1}}
@keyframes b-lit{0%,36.0%{opacity:0}43.0%,100%{opacity:1}}
@keyframes b-in0{0%,43.0%{opacity:0;transform:translate(8px,5px)}48.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-in1{0%,46.0%{opacity:0;transform:translate(8px,5px)}51.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-in2{0%,49.0%{opacity:0;transform:translate(8px,5px)}54.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-point{0%,63.0%{transform:rotate(0deg)}68.5%,87.5%{transform:rotate(78deg)}93.0%,100%{transform:rotate(0deg)}}
@keyframes b-nodA{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2.5deg)}}
@keyframes b-nodB{0%,100%{transform:rotate(2deg)}50%{transform:rotate(-2.5deg)}}
@keyframes b-talk{0%,100%{transform:rotate(0deg)}30%{transform:rotate(-3deg)}60%{transform:rotate(2deg)}}
@keyframes b-dim{0%,58.0%{opacity:0}62.0%,100%{opacity:1}}
.b-root{animation:b-root 20s linear infinite}
.b-floor,.b-up,.b-pt,.b-hd{transform-box:fill-box}
.b-floor{transform-origin:50% 50%;animation:b-floor 20s ease-out infinite}
.b-roll0{animation:b-roll0 20s cubic-bezier(.3,.7,.3,1) infinite}
.b-roll1{animation:b-roll1 20s cubic-bezier(.3,.7,.3,1) infinite}
.b-roll2{animation:b-roll2 20s cubic-bezier(.3,.7,.3,1) infinite}
.b-up{transform-origin:50% 100%}
.b-up0{animation:b-up0 20s cubic-bezier(.3,1.2,.5,1) infinite}
.b-up1{animation:b-up1 20s cubic-bezier(.3,1.2,.5,1) infinite}
.b-up2{animation:b-up2 20s cubic-bezier(.3,1.2,.5,1) infinite}
.b-hing0{animation:b-hing0 20s ease-out infinite}
.b-hing1{animation:b-hing1 20s ease-out infinite}
.b-hing2{animation:b-hing2 20s ease-out infinite}
.b-seam0{animation:b-seam0 20s linear infinite}
.b-seam1{animation:b-seam1 20s linear infinite}
.b-seam2{animation:b-seam2 20s linear infinite}
.b-ct0{animation:b-ct0 20s ease-out infinite}
.b-ct1{animation:b-ct1 20s ease-out infinite}
.b-ct2{animation:b-ct2 20s ease-out infinite}
.b-pano{animation:b-pano 20s ease-out infinite}
.b-lit{animation:b-lit 20s ease-out infinite}
.b-in0{animation:b-in0 20s ease-out infinite}
.b-in1{animation:b-in1 20s ease-out infinite}
.b-in2{animation:b-in2 20s ease-out infinite}
.b-pt{transform-origin:50% 6%;animation:b-point 20s ease-in-out infinite}
.b-hd{transform-origin:50% 100%}
.b-hdA{animation:b-nodA 3.4s ease-in-out infinite}
.b-hdB{animation:b-nodB 4.1s ease-in-out infinite}
.b-hdC{animation:b-talk 2.6s ease-in-out infinite}
.b-dim{animation:b-dim 20s ease-out infinite}
@media (prefers-reduced-motion:reduce){.b-root,.b-floor,.b-roll0,.b-roll1,.b-roll2,.b-up,.b-hing0,.b-hing1,.b-hing2,.b-seam0,.b-seam1,.b-seam2,.b-ct0,.b-ct1,.b-ct2,.b-lit,.b-in0,.b-in1,.b-in2,.b-pt,.b-hd,.b-dim{animation:none!important}.b-ct0,.b-ct1,.b-ct2,.b-hing0,.b-hing1,.b-hing2{opacity:0}.b-pano{animation:none!important;opacity:1}}

/* v12 : scène kiosque */
@keyframes b-root{0%{opacity:0}2.0%{opacity:1}95%{opacity:1}100%{opacity:0}}
@keyframes b-floor{0%{opacity:0;transform:scale(.93)}4.0%,100%{opacity:1;transform:scale(1)}}
@keyframes b-roll0{0%,5.0%{opacity:0;transform:translate(130px,75px)}5.75%{opacity:1}10.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-up0{0%,10.5%{opacity:0;transform:scaleY(.04)}10.9%{opacity:1}16.5%,100%{opacity:1;transform:scaleY(1)}}
@keyframes b-hing0{0%,15.5%{opacity:0}17.0%{opacity:.9}21.0%,100%{opacity:0}}
@keyframes b-seam0{0%,16.5%{opacity:0}17.5%,100%{opacity:1}}
@keyframes b-ct0{0%,36.0%{opacity:0}39.5%{opacity:1}65.0%{opacity:1}70.0%,100%{opacity:0}}
@keyframes b-roll1{0%,13.0%{opacity:0;transform:translate(130px,75px)}13.75%{opacity:1}18.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-up1{0%,18.5%{opacity:0;transform:scaleY(.04)}18.9%{opacity:1}24.5%,100%{opacity:1;transform:scaleY(1)}}
@keyframes b-hing1{0%,23.5%{opacity:0}25.0%{opacity:.9}29.0%,100%{opacity:0}}
@keyframes b-seam1{0%,24.5%{opacity:0}25.5%,100%{opacity:1}}
@keyframes b-ct1{0%,38.0%{opacity:0}41.5%{opacity:1}65.0%{opacity:1}70.0%,100%{opacity:0}}
@keyframes b-roll2{0%,21.0%{opacity:0;transform:translate(130px,75px)}21.75%{opacity:1}26.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-up2{0%,26.5%{opacity:0;transform:scaleY(.04)}26.9%{opacity:1}32.5%,100%{opacity:1;transform:scaleY(1)}}
@keyframes b-hing2{0%,31.5%{opacity:0}33.0%{opacity:.9}37.0%,100%{opacity:0}}
@keyframes b-seam2{0%,32.5%{opacity:0}33.5%,100%{opacity:1}}
@keyframes b-ct2{0%,40.0%{opacity:0}43.5%{opacity:1}65.0%{opacity:1}70.0%,100%{opacity:0}}
@keyframes b-pano{0%,65.0%{opacity:0}70.0%,100%{opacity:1}}
@keyframes b-lit{0%,36.0%{opacity:0}43.0%,100%{opacity:1}}
@keyframes b-in0{0%,43.0%{opacity:0;transform:translate(8px,5px)}48.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-in1{0%,46.0%{opacity:0;transform:translate(8px,5px)}51.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-in2{0%,49.0%{opacity:0;transform:translate(8px,5px)}54.0%,100%{opacity:1;transform:translate(0,0)}}
@keyframes b-point{0%,63.0%{transform:rotate(0deg)}68.5%,87.5%{transform:rotate(78deg)}93.0%,100%{transform:rotate(0deg)}}
@keyframes b-nodA{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2.5deg)}}
@keyframes b-nodB{0%,100%{transform:rotate(2deg)}50%{transform:rotate(-2.5deg)}}
@keyframes b-talk{0%,100%{transform:rotate(0deg)}30%{transform:rotate(-3deg)}60%{transform:rotate(2deg)}}
@keyframes b-dim{0%,58.0%{opacity:0}62.0%,100%{opacity:1}}
.b-root{animation:b-root 20s linear infinite}
.b-floor,.b-up,.b-pt,.b-hd{transform-box:fill-box}
.b-floor{transform-origin:50% 50%;animation:b-floor 20s ease-out infinite}
.b-roll0{animation:b-roll0 20s cubic-bezier(.3,.7,.3,1) infinite}
.b-roll1{animation:b-roll1 20s cubic-bezier(.3,.7,.3,1) infinite}
.b-roll2{animation:b-roll2 20s cubic-bezier(.3,.7,.3,1) infinite}
.b-up{transform-origin:50% 100%}
.b-up0{animation:b-up0 20s cubic-bezier(.3,1.2,.5,1) infinite}
.b-up1{animation:b-up1 20s cubic-bezier(.3,1.2,.5,1) infinite}
.b-up2{animation:b-up2 20s cubic-bezier(.3,1.2,.5,1) infinite}
.b-hing0{animation:b-hing0 20s ease-out infinite}
.b-hing1{animation:b-hing1 20s ease-out infinite}
.b-hing2{animation:b-hing2 20s ease-out infinite}
.b-seam0{animation:b-seam0 20s linear infinite}
.b-seam1{animation:b-seam1 20s linear infinite}
.b-seam2{animation:b-seam2 20s linear infinite}
.b-ct0{animation:b-ct0 20s ease-out infinite}
.b-ct1{animation:b-ct1 20s ease-out infinite}
.b-ct2{animation:b-ct2 20s ease-out infinite}
.b-pano{animation:b-pano 20s ease-out infinite}
.b-lit{animation:b-lit 20s ease-out infinite}
.b-in0{animation:b-in0 20s ease-out infinite}
.b-in1{animation:b-in1 20s ease-out infinite}
.b-in2{animation:b-in2 20s ease-out infinite}
.b-pt{transform-origin:50% 6%;animation:b-point 20s ease-in-out infinite}
.b-hd{transform-origin:50% 100%}
.b-hdA{animation:b-nodA 3.4s ease-in-out infinite}
.b-hdB{animation:b-nodB 4.1s ease-in-out infinite}
.b-hdC{animation:b-talk 2.6s ease-in-out infinite}
.b-dim{animation:b-dim 20s ease-out infinite}
@media (prefers-reduced-motion:reduce){.b-root,.b-floor,.b-roll0,.b-roll1,.b-roll2,.b-up,.b-hing0,.b-hing1,.b-hing2,.b-seam0,.b-seam1,.b-seam2,.b-ct0,.b-ct1,.b-ct2,.b-lit,.b-in0,.b-in1,.b-in2,.b-pt,.b-hd,.b-dim{animation:none!important}.b-ct0,.b-ct1,.b-ct2,.b-hing0,.b-hing1,.b-hing2{opacity:0}.b-pano{animation:none!important;opacity:1}}

/* v14 : mobile compact */
.swipe-h{display:none}
@media (max-width:600px){
  body{font-size:15px}
  .wrap{padding:0 16px}
  .banner{font-size:12.5px;padding:6px 12px}
  .top .row1{min-height:50px;padding-top:6px;padding-bottom:6px}
  .logos img.px{height:19px}.chip.sm img{height:21px}.x{font-size:15px}
  .lp{padding:5px 10px;font-size:12px}.lp b{font-size:15px}
  .hero{padding:20px 0 26px}
  .hero .wrap{gap:10px}
  .hero h1{font-size:27px;margin-bottom:10px;line-height:1.08}
  .hero p.sub{font-size:15px;margin-bottom:0}
  .booth{max-width:290px}.booth .cap{font-size:11px;margin-top:0}
  .hero .cta-row .btn{font-size:13.5px;padding:10px 10px}
  .from{margin-top:12px}.from b{font-size:24px}.from span{font-size:11.5px}
  .trust{font-size:12px;margin-top:10px;gap:4px 14px}
  .counter{margin-top:10px}.counter .row{font-size:12.5px}.counter .row b{font-size:18px}
  section.s{padding:30px 0}
  section.s.dark{padding-top:0}
  .head{margin-bottom:18px}
  .s h2{font-size:22px;margin:4px 0 6px;line-height:1.12}
  .s .lead{font-size:14px}
  .eyebrow{font-size:10.5px}
  .video{border-radius:8px}.play{width:54px;height:54px}.play:after{border-left-width:16px;border-top-width:10px;border-bottom-width:10px;margin-left:4px}.video span{font-size:12px}
  .fs h3{font-size:13px}.fs p{font-size:11.5px}
  .center .btn.dark{padding:11px 18px;font-size:14px}
  .offers{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:18px 16px 6px;-webkit-overflow-scrolling:touch}
  .offers::-webkit-scrollbar{display:none}
  .offer{flex:0 0 78%;scroll-snap-align:center;padding:18px 16px}
  .offer h3{font-size:21px}.value{font-size:12.5px;margin:2px 0 8px}
  .price .now{font-size:32px}.price .was{font-size:16px}.price .unit{font-size:12px}
  .save{font-size:11.5px;margin:8px 0 10px;padding:3px 8px}
  .checks{gap:5px;margin-bottom:14px}.checks li{font-size:13px;line-height:1.35}
  .offer .btn{padding:11px 14px;font-size:14px}
  .badge{font-size:10px;top:-11px;left:16px;padding:4px 9px}
  .snap{margin:0 -16px;padding:0 16px 8px}
  .swipe-h{display:block;text-align:center;font-size:12px;color:#9fb4d9;margin:6px 0 0}
  .specs{margin-top:16px}.specs div{padding:10px 12px}.specs b{font-size:17px}.specs span{font-size:11.5px}
  .quote{margin-top:14px;padding:14px 16px;gap:10px}.quote b{font-size:16px}.quote{font-size:13px}.quote .btn{padding:10px 14px;font-size:14px}
  .vs{grid-template-columns:1fr 1fr;gap:10px}
  .vs .col{padding:14px 12px}.vs h3{font-size:14px}.vs .big{font-size:28px;margin:2px 0 8px}.avg{font-size:11px;margin:-4px 0 8px}
  .vs li{font-size:12.5px;padding-left:18px;line-height:1.35}.vs ul{gap:6px}
  .punch{font-size:16px;margin-top:16px}
  .montage{grid-template-columns:1fr 1fr;gap:10px}
  .mont{padding:14px}.mont h3{font-size:15px}.mont .p{font-size:26px}.mont .p small{font-size:11px;display:block;margin-top:-2px}.mont p{font-size:12.5px}
  .free{font-size:13px;padding:12px 14px;margin-top:12px}
  .lg-t{font-size:13px;margin-bottom:10px}.lg{margin-bottom:24px}.lg img{height:19px}.lg .more{font-size:13px}
  .gal figcaption,.tems figcaption{font-size:12.5px;margin-top:6px}.gal figcaption b,.tems figcaption b{font-size:14px}
  .vf{max-height:340px}
  .tem-h{margin:24px 0 12px;padding-top:18px}.tem-h h3{font-size:19px}.rate{font-size:13px}.rate .stars{font-size:14px}
  .quote-t{font-size:13.5px;padding:14px 16px;margin-top:18px}
  summary{font-size:14.5px;padding:13px 42px 13px 14px}summary:after{right:14px;font-size:22px}
  details p{font-size:13.5px;padding:0 14px 14px}details{margin-bottom:8px}
  .final h2{font-size:23px}.final .btn{margin-top:16px;font-size:16px;padding:14px 24px}
  footer{font-size:12px;padding:22px 0 80px}
  .sticky{padding:7px 12px}.sticky .t{font-size:12px}.sticky .t b{font-size:15px}.sticky .btn{padding:10px 16px;font-size:14px}
  .page{padding:16px 0 70px}.page h1{font-size:23px}
  .crumbs{margin:10px 0 14px;gap:6px}.crumbs span{font-size:11.5px;padding:5px 9px}
  .card{padding:16px}.card h2{font-size:18px;margin-bottom:10px}
  .f{gap:11px}label{font-size:13.5px;margin-bottom:4px}
  input,select,textarea{font-size:16px;padding:10px 12px}
  .hint{font-size:12px}
  .opt{padding:11px;gap:10px;margin-bottom:9px}.opt .t b{font-size:15.5px}.opt .t span{font-size:12px}.opt .pr{font-size:17px}
  .nav-row{margin-top:18px}.btn{font-size:15px}
  .sum{padding:16px}.sum h3{font-size:17px;margin-bottom:10px}.sum .ln{font-size:13.5px;padding:6px 0}.sum .ln.t{font-size:20px}.sum .eb{font-size:12px}
  .pay-card{padding:14px}.pay-card b{font-size:16px}.pay-card p{font-size:12.5px}
  .timeline b{font-size:15px}.timeline span{font-size:12.5px}
  .drop{padding:22px 14px}.drop b{font-size:15px}
  .jny-b{padding:5px 11px 5px 6px}.jny-b svg{width:24px;height:24px}
}
.wrap.page{padding-left:20px;padding-right:20px}
@media (max-width:600px){.wrap.page{padding-left:16px;padding-right:16px}}

/* v15 */
.from{display:none}
.pbox{display:inline-flex;flex-direction:column;gap:5px;margin-top:20px;padding:12px 16px 11px;border:1px solid #2f568f;background:#10264a;border-radius:12px}
.pb-top{display:flex;align-items:center;gap:10px}
.pb-tag{font-family:var(--h);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8fbaff}
.pb-save{background:#1f7a4d;color:#fff;font-family:var(--h);font-weight:700;font-size:12px;padding:3px 9px;border-radius:20px}
.pb-row{display:flex;align-items:baseline;gap:14px}
.pb-now{font-family:var(--h);font-weight:900;font-size:44px;line-height:1;color:#fff}
.pb-was{font-family:var(--h);font-weight:700;font-size:25px;color:#8ea3c8;text-decoration:line-through;text-decoration-thickness:3px;text-decoration-color:#ff6a4d}
.pb-sub{font-size:12.5px;color:#9fb4d9}
.trust{margin-top:16px;gap:6px 18px}
.trust li:before{border-color:#3ddc84}
.counter{max-width:310px;margin-top:20px;padding:11px 13px 10px;border:1px solid rgba(255,154,61,.5);background:rgba(255,154,61,.08);border-radius:10px}
.c-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.live{display:inline-flex;align-items:center;gap:6px;font-family:var(--h);font-weight:800;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#ffb36b}
.live i{width:8px;height:8px;border-radius:50%;background:#ff7a2f;box-shadow:0 0 0 0 rgba(255,122,47,.7);animation:livep 1.4s infinite}
@keyframes livep{0%{box-shadow:0 0 0 0 rgba(255,122,47,.7)}70%{box-shadow:0 0 0 8px rgba(255,122,47,0)}100%{box-shadow:0 0 0 0 rgba(255,122,47,0)}}
.c-t{font-size:13.5px;color:#fff;font-weight:600}.c-t b{font-family:var(--h);font-size:24px;font-weight:900;color:#ffb36b;margin-right:2px}
.segs{display:flex;gap:3px}
.segs i{flex:1;height:12px;border-radius:2px;background:#26324d}
.segs i.on{background:#ff9a3d}
.segs i.on.last{animation:segp 1.1s ease-in-out infinite}
@keyframes segp{0%,100%{opacity:1;background:#ff9a3d}50%{opacity:.35;background:#ff5a3d}}
.segs i.off{background:#26324d;opacity:.8}
.counter .note,.counter.low .note{display:block;margin-top:8px;font-size:12px;color:#ffb36b}
.counter.low{border-color:rgba(255,90,61,.7);background:rgba(255,90,61,.1)}
.counter.low .c-t b,.counter.low .live{color:#ff8a70}
.counter.low .segs i.on{background:#ff5a3d}
.offer{overflow:hidden}
.badge{position:absolute;top:16px;right:16px;left:auto;background:var(--black);color:#9fc2ff;font-family:var(--h);font-weight:800;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:20px}
.amp{margin:0 0 16px;padding:10px 12px;background:#F2F5FA;border-radius:8px;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;font-size:13px;color:var(--muted)}
.amp b{font-family:var(--h);font-size:17px;color:var(--ink)}
.amp small{flex-basis:100%;font-size:12px;color:var(--muted)}
.lg-t{font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:8px}
.lg{margin-bottom:28px}.lg img{height:18px;opacity:.55}.lg .more{font-size:13px;opacity:.8}
.opt .pr em{display:block;font-style:normal;font-size:12px;font-weight:500;color:var(--muted)}
@media (max-width:900px){.hl .pbox{order:5;margin-top:0}.hl .trust{order:6}.hl .counter{order:7;width:auto;max-width:300px;margin-top:2px}}
@media (max-width:600px){
  .pbox{padding:10px 13px 9px;gap:3px}.pb-now{font-size:34px}.pb-was{font-size:19px}.pb-sub{font-size:11.5px}.pb-save{font-size:11px}.pb-tag{font-size:10px}
  .trust{font-size:12px;gap:4px 14px;margin-top:2px}
  .counter{padding:9px 11px 8px}.c-t{font-size:12.5px}.c-t b{font-size:21px}.segs i{height:10px}
  section.s.dark#offres{padding-top:48px}
  #final{padding-top:64px!important}
  .badge{top:12px;right:12px;font-size:10px;padding:4px 8px}
  .amp{margin-bottom:12px;padding:8px 10px;font-size:12px}.amp b{font-size:15px}
  .lg img{height:15px}.lg-t{font-size:11.5px}
}
@media (max-width:900px){.hl .pbox{justify-self:start}}
.vs li{padding-left:32px}
.led-col li:before{left:3px}
@media (max-width:600px){.vs li{padding-left:27px}.led-col li:before{left:2px}}

/* v17 : nouveau titre + entonnoir mobile */
.hero h1{font-size:clamp(30px,3.5vw,44px);line-height:1.1;max-width:15em}
@media (max-width:900px){
  .hero h1{text-align:center;text-wrap:balance;justify-self:center;max-width:100%}
  .hero p.sub{text-align:center;text-wrap:balance;justify-self:center;max-width:82%}
}
@media (max-width:600px){
  .hero h1{font-size:25px;line-height:1.14}
  .hero p.sub{font-size:14.5px;max-width:76%}
  .hl .cta-row{justify-self:center;width:88%}
}

/* v18 */
#sticky{display:none;flex-direction:column;align-items:stretch;gap:5px;padding:8px 14px 9px;transform:translateY(115%);transition:transform .3s ease;border-top:2px solid #ff9a3d;z-index:45}
#sticky.show{display:flex}
#sticky.show.in{transform:none}
.sk-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;color:#dbe6ff}
.sk-cd{display:inline-flex;align-items:center;gap:7px;font-family:var(--h);font-weight:700;color:#ffb36b;white-space:nowrap}
.sk-cd i{width:8px;height:8px;border-radius:50%;background:#ff7a2f;animation:livep 1.4s infinite}
.sk-cd b{font-variant-numeric:tabular-nums;color:#fff;font-weight:800}
.sk-left{font-weight:600;white-space:nowrap}
.sk-bot{display:flex;justify-content:space-between;align-items:center;gap:12px}
.sk-price{display:flex;align-items:baseline;gap:8px;color:#9fb4d9;font-size:12.5px}
.sk-price b{font-family:var(--h);font-size:22px;color:#fff}
.sk-price b s{font-size:13px;font-weight:500;color:#8fa3c7;margin-left:4px}
#sticky .btn{padding:10px 22px;font-size:15px}
@media (min-width:901px){
  #sticky{flex-direction:row;justify-content:center;align-items:center;gap:34px;padding:9px 20px}
  .sk-top{gap:34px;font-size:14px}.sk-bot{gap:26px}
}
body.stk .jny{bottom:104px}
body.stk .demo{bottom:104px}
@media (min-width:901px){body.stk .jny{bottom:70px}body.stk .demo{bottom:70px}}
.counter .note:empty{display:none}
@media (max-width:900px){
  .top .row1{justify-content:center}
  .top nav{display:none}
  .logos{justify-content:center}
  .hl .pbox{justify-self:center;align-items:center;text-align:center}
  .pb-top,.pb-row{justify-content:center}
  .hl .trust{justify-self:center;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
  .hl .counter{justify-self:center;width:min(300px,100%);text-align:center}
  .c-head{justify-content:center;gap:16px}
  .counter .note{text-align:center}
}
@media (max-width:600px){.hl .cta-row{width:100%;justify-self:stretch}.hero .cta-row .btn{font-size:13px;padding:10px 6px}}

/* v19 : prix et crochets côte à côte (mobile) */
.pt-row{display:contents}
@media (max-width:900px){
  .hl .pt-row{order:5;display:flex;align-items:center;justify-content:center;gap:14px;width:100%;padding:0 4px}
  .pt-row .pbox{order:0;flex:0 0 auto;justify-self:auto;margin:0;padding:10px 12px 9px;gap:3px}
  .pt-row .pb-top{flex-direction:column;gap:4px}
  .pt-row .pb-row{gap:8px}
  .pt-row .pb-now{font-size:31px}
  .pt-row .pb-was{font-size:16px;text-decoration-thickness:2.5px}
  .pt-row .pb-sub{font-size:10.5px;max-width:130px;text-align:center;line-height:1.25}
  .pt-row .pb-save{font-size:10.5px;padding:2px 8px}
  .pt-row .pb-tag{font-size:9.5px}
  .pt-row .trust{order:0;flex:1;min-width:0;margin:0;gap:7px;font-size:12px;line-height:1.28;justify-self:auto}
  .pt-row .trust li{padding-left:18px}
  .pt-row .trust li:before{top:4px}
}

/* v20 : un seul grand encadré prix + crochets */
.pt-row{display:flex;align-items:center;gap:16px;margin-top:20px;max-width:540px;padding:12px 16px;border:1px solid #2f568f;background:#10264a;border-radius:14px}
.pt-row .pbox{border:0;background:transparent;padding:0;margin:0;border-radius:0}
.pt-row .trust{margin:0;gap:7px;display:flex;flex-direction:column;align-items:flex-start;padding-left:16px;border-left:1px solid #2f568f;flex:1;min-width:0}
@media (max-width:900px){
  .hl .pt-row{order:5;width:100%;max-width:none;margin:0;gap:12px;padding:12px 12px;justify-content:center}
  .pt-row .pbox{flex:0 0 auto;justify-self:auto}
  .pt-row .pb-sub{max-width:118px}
  .pt-row .trust{padding-left:12px;font-size:12px;gap:8px;line-height:1.28}
}
@media (max-width:360px){.pt-row .pb-now{font-size:27px}.pt-row .trust{font-size:11.5px}}
/* v21 : en-tête épuré */
.top nav{display:none}
@media (max-width:900px){header.top{position:static}[id]{scroll-margin-top:12px}}

/* v22 : étapes en boucle, formulaire */
@keyframes fn1{0%,7.14%{background:var(--paper);color:var(--blue);transform:scale(1);box-shadow:0 0 0 0 rgba(37,99,235,0)}12.14%{background:var(--blue);color:#fff;transform:scale(1.16);box-shadow:0 0 0 9px rgba(37,99,235,.18)}20.0%{background:var(--blue);color:#fff;transform:scale(1);box-shadow:0 0 0 0 rgba(37,99,235,0)}88.57%{background:var(--blue);color:#fff}95.71%,100%{background:var(--paper);color:var(--blue)}}
@keyframes fn2{0%,27.14%{background:var(--paper);color:var(--blue);transform:scale(1);box-shadow:0 0 0 0 rgba(37,99,235,0)}32.14%{background:var(--blue);color:#fff;transform:scale(1.16);box-shadow:0 0 0 9px rgba(37,99,235,.18)}40.0%{background:var(--blue);color:#fff;transform:scale(1);box-shadow:0 0 0 0 rgba(37,99,235,0)}88.57%{background:var(--blue);color:#fff}95.71%,100%{background:var(--paper);color:var(--blue)}}
@keyframes fn3{0%,47.14%{background:var(--paper);color:var(--blue);transform:scale(1);box-shadow:0 0 0 0 rgba(37,99,235,0)}52.14%{background:var(--blue);color:#fff;transform:scale(1.16);box-shadow:0 0 0 9px rgba(37,99,235,.18)}60.0%{background:var(--blue);color:#fff;transform:scale(1);box-shadow:0 0 0 0 rgba(37,99,235,0)}88.57%{background:var(--blue);color:#fff}95.71%,100%{background:var(--paper);color:var(--blue)}}
@keyframes fll{0%,8.57%{width:0}27.14%{width:50%}47.14%{width:100%}88.57%{width:100%}95.71%,100%{width:0}}
.flow.in .fn{background:var(--paper);color:var(--blue)}
.flow.in .fl i{width:0;transition:none}
.flow.run .fs:nth-child(2) .fn{animation:fn1 7s ease-in-out infinite;transition:none}
.flow.run .fs:nth-child(3) .fn{animation:fn2 7s ease-in-out infinite;transition:none}
.flow.run .fs:nth-child(4) .fn{animation:fn3 7s ease-in-out infinite;transition:none}
.flow.run .fl i{animation:fll 7s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.flow.in .fn{background:var(--blue);color:#fff}.flow.in .fl i{width:100%}.flow.run .fn,.flow.run .fl i{animation:none}}
.hero h1 u{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px;text-decoration-color:#6EA8FF}
.grid2.solo{grid-template-columns:1fr;max-width:680px}
.opt .t span strong{color:var(--ink)}
.hero h1 .seul{font-style:italic;display:inline-block;position:relative;line-height:1.1;padding-bottom:3px}
.hero h1 .seul:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:2px;background:#6EA8FF}

/* vidéo VSL */
.vsl{position:relative;max-width:860px;margin:0 auto;border-radius:10px;overflow:hidden;background:#000;aspect-ratio:16/9;box-shadow:0 12px 40px rgba(0,0,0,.45)}
.vsl video{width:100%;height:100%;display:block;object-fit:contain;background:#000}
.vsl-sound{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:30px;background:var(--blue);color:#fff;font-family:var(--h);font-weight:800;font-size:14px;padding:10px 16px;cursor:pointer;box-shadow:0 0 0 0 rgba(37,99,235,.7);animation:livep 1.6s infinite}
.vsl-sound[hidden]{display:none}
@media (max-width:600px){.vsl{border-radius:8px}.vsl-sound{top:8px;right:8px;font-size:12.5px;padding:8px 12px}}

@media (max-width:600px){
  .vsl{aspect-ratio:9/16;height:min(60vh,400px);width:auto;max-width:100%;margin:0 auto}
  .vsl video{object-fit:cover}
}
@media (max-width:900px){#video{padding-top:28px!important}}

/* production */
.consent{position:fixed;left:12px;bottom:12px;z-index:70;width:min(420px,calc(100% - 24px));background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:0 8px 30px rgba(0,0,0,.35);font-size:13.5px}
.consent[hidden]{display:none}
.consent p{margin:4px 0 0;color:var(--muted)}
.consent .row{display:flex;gap:10px;margin-top:12px}
.consent .btn{flex:1;font-size:14px;padding:10px 12px}
body.stk .consent{bottom:104px}
@media (min-width:901px){body.stk .consent{bottom:76px}}
body.nohome #banner{display:none}

/* ---- Fiches d'offres : mêmes proportions, 3e fiche à quantité variable ---- */
.o-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px}
.stepper{display:inline-flex;align-items:center;gap:8px}
.stepper button{width:34px;height:34px;border-radius:50%;border:2px solid var(--black);background:var(--white);color:var(--black);font-size:20px;line-height:1;cursor:pointer;font-family:var(--h);font-weight:800;padding:0}
.stepper button:hover:not(:disabled){background:var(--black);color:#fff}
.stepper button:disabled{opacity:.3;cursor:not-allowed}
.stepper b{font-family:var(--h);font-size:20px;min-width:24px;text-align:center}
.offer{padding-top:44px}
.offer .badge{top:14px;left:32px;right:auto;font-size:11px;padding:4px 10px}
.amp small{display:block;flex-basis:100%}
.amp small[hidden]{display:none}

/* Confirmation vérifiée : succès centré, reçu lisible, trois étapes. */
.confirmation-page{max-width:1000px;padding-top:52px}
.confirmation-hero{max-width:660px;margin:0 auto 32px;text-align:center}
.confirmation-hero .ok-badge{margin:0 auto 20px;background:var(--ok)}
.confirmation-hero h1{line-height:1.15;margin-bottom:14px}.confirmation-hero p{color:var(--muted);font-size:16px;max-width:520px;margin:0 auto;line-height:1.6}
.confirmation-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.confirmation-grid .card{margin:0;padding:28px;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px #10234605}
.confirmation-grid h2{font-size:21px;margin:0 0 8px}.receipt-card[hidden]{display:none!important}
.receipt-event{font-size:12px;color:var(--muted);margin-bottom:14px}
#receiptAmounts{margin:0}#receiptAmounts>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:5px 0;font-size:13px}#receiptAmounts dt{color:var(--muted)}#receiptAmounts dd{margin:0;text-align:right;font-weight:500;white-space:nowrap}
#receiptAmounts .receipt-included,#receiptAmounts .receipt-tax,#receiptAmounts .receipt-subtotal{font-size:11.5px;color:var(--muted)}#receiptAmounts .receipt-included dd,#receiptAmounts .receipt-tax dd,#receiptAmounts .receipt-subtotal dd{font-weight:400}
#receiptAmounts .receipt-subtotal{border-top:1px solid var(--line);margin-top:8px;padding-top:10px}
#receiptAmounts .receipt-total{border-top:1px solid var(--line);margin-top:10px;padding-top:16px;font-size:24px}#receiptAmounts .receipt-total dt{font-size:16px;color:var(--ink);font-weight:700}#receiptAmounts .receipt-total dd{color:#146346;font-weight:800}#receiptAmounts .receipt-total small{font-size:11px;font-weight:400;color:var(--muted)}
.confirmation-next .timeline{margin-top:24px}.confirmation-next .timeline li:last-child{padding-bottom:0}
.confirmation-next .timeline li>div:last-child>span:not(.step-state){display:block;line-height:1.55;margin-top:5px}
.timeline .step-state{display:inline-block;font-size:11px;font-weight:700;color:var(--blue);background:#eef4ff;border-radius:20px;padding:2px 8px;margin-top:7px}
.confirmation-contact{text-align:center;margin-top:30px;font-size:13px;color:var(--muted);line-height:1.8}
.creation-faq strong{display:block;color:var(--ink);margin-bottom:5px}.creation-faq a{font-size:14px;font-weight:700;color:var(--blue);text-decoration:underline}
@media(max-width:760px){.confirmation-page{padding-top:30px}.confirmation-hero{margin-bottom:24px}.confirmation-grid{grid-template-columns:1fr;gap:18px}.confirmation-grid .card{padding:22px}.confirmation-hero h1{font-size:28px}.confirmation-hero p{font-size:14px}#receiptAmounts .receipt-total{font-size:22px}}

/* Récapitulatif et montage facultatif avant l’unique paiement. */
.booking-dialog{width:min(620px,calc(100% - 28px));max-height:calc(100dvh - 32px);margin:auto;padding:28px;border:0;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 24px 100px #0005;overflow:auto;overscroll-behavior:contain}
.booking-dialog::backdrop{background:#06142bd9;backdrop-filter:blur(3px)}
.booking-dialog [hidden]{display:none!important}
.booking-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.booking-header h2{font-size:28px;line-height:1.15;margin:0}
.booking-close{border:0;background:#eef2f8;border-radius:50%;width:32px;height:32px;flex-shrink:0;font-size:24px;cursor:pointer;color:var(--ink)}
.booking-event{font-weight:700;margin:12px 0 20px}
.booking-options{border:0;padding:0;margin:0;min-width:0}.booking-options legend{font-weight:700;padding:0;margin-bottom:10px}
.booking-option{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:14px;margin:8px 0;cursor:pointer}
.booking-option:has(input:checked){border-color:var(--blue);background:#eef4ff;box-shadow:inset 0 0 0 1px var(--blue)}
.booking-option>input{width:18px;height:18px;flex-shrink:0;margin:3px 0 0;accent-color:var(--blue)}
.booking-option-content{display:block;min-width:0;flex:1}.booking-option-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.booking-option-price{white-space:nowrap}
.booking-option-description{display:block;font-size:12px;line-height:1.45;color:var(--muted);margin-top:4px}
.booking-summary{border-top:1px solid var(--line);padding-top:10px;margin:18px 0 0}.booking-summary>div{display:flex;justify-content:space-between;gap:16px;padding:3px 0;font-size:13px}.booking-summary dt{color:var(--muted)}.booking-summary dd{margin:0;white-space:nowrap;font-weight:500}
.booking-summary .booking-detail,.booking-summary .booking-included{font-size:11.5px;color:var(--muted)}.booking-summary .booking-detail dd,.booking-summary .booking-included dd{font-weight:400}
.booking-summary .booking-total{align-items:center;font-size:25px;border-top:1px solid var(--line);margin-top:10px;padding-top:14px}.booking-total dt{font-size:17px;color:var(--ink);font-weight:700}.booking-total dt small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:2px}.booking-total dd{font-weight:800}
.booking-status{font-size:14px;color:#8f381b;margin:12px 0}.booking-status:empty{display:none}.booking-retry{border:0;background:transparent;color:var(--blue);text-decoration:underline;cursor:pointer;font-weight:700}
.booking-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.booking-actions .btn{font-size:14px;padding:12px 18px}.booking-dialog button:disabled{opacity:.55;cursor:not-allowed}
.booking-dialog :focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:480px){.booking-dialog{padding:20px;max-height:calc(100dvh - 20px)}.booking-header h2{font-size:24px}.booking-actions{flex-direction:column-reverse}.booking-actions .btn{width:100%}.booking-option{padding:12px}.booking-option-top{font-size:14px}.booking-summary .booking-total{font-size:23px}}
@media (max-width:600px){
  .o-top{min-height:34px}
  .stepper button{width:30px;height:30px;font-size:18px}.stepper b{font-size:17px;min-width:20px}
  .offer{padding-top:34px}
  .offer .badge{top:10px;left:16px;right:auto;font-size:10px;padding:3px 8px}
}
