/* QTouch — version téléphone (classe html.qt-ph posée par lib/site/safe7.js) + mouvements réduits.
   Chargée en dernier. Sur téléphone : plus aucune section « collante » pilotée par le défilement ;
   des sections simples, empilées, avec au plus une apparition en fondu. Le bureau n'est pas concerné. */

/* ---------- mouvements réduits (partout, bureau compris) ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ---------- étapes statiques génériques (qtSnap) ---------- */
.qt-ph .qsn{height:auto!important;min-height:0!important;padding:64px 0 40px!important;overflow:hidden}
.qt-ph .qsn-hd{padding:0 20px 8px;text-align:center}
.qt-ph .qsn-it{padding:30px 0 6px;opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1)}
.qt-ph .qsn-it.in{opacity:1;transform:none}
.qt-ph .qsn-tx{padding:0 20px 14px}
.qt-ph .qsn-tx small{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#F26B1D}
.qt-ph .qsn-tx h3{margin:6px 0 0;font:600 26px/1.08 'Figtree',sans-serif;letter-spacing:-.035em;text-wrap:balance}
.qt-ph .qsn-tx h3 b{font-weight:inherit;color:#F26B1D}
.qt-ph .qsn-tx p{margin:8px 0 0;font-size:15px;line-height:1.5;color:#6B6672}
.qt-ph .qsn-box{position:relative!important;inset:auto!important;height:var(--qh,420px)!important;min-height:0!important;max-height:none!important;overflow:hidden!important;margin:0!important;padding:0!important;transform:none!important;opacity:1!important}
.qt-ph .qsn-box>*{position:relative!important;top:0!important;height:100%!important;min-height:0!important;max-height:none!important}
.qt-ph .qsn-box *{transition:none!important;animation-duration:1ms!important;animation-delay:0s!important;animation-iteration-count:1!important}
.qt-ph .qsn-ft{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:26px 16px 0}

/* ---------- accueil · vidéo ---------- */
.qt-ph .h7-vd{height:auto!important;padding:8px 16px 36px}
.qt-ph .h7-vd .pin{position:relative!important;height:auto!important;display:block!important;overflow:visible!important}
.qt-ph .h7-vd .fr{height:auto!important;aspect-ratio:16/9;transform:none!important;border-radius:20px!important;will-change:auto!important;box-shadow:0 24px 50px -30px rgba(20,18,24,.6)}
.qt-ph .h7-vd .ti{inset:0 0 auto 0!important;opacity:1!important;align-items:flex-start;justify-content:flex-start;text-align:left;padding:12px 14px 26px;background:linear-gradient(180deg,rgba(11,10,14,.55),rgba(11,10,14,0))}
.qt-ph .h7-vd .ti small{font-size:10.5px}
.qt-ph .h7-vd .ti b{margin-top:4px;font-size:17px!important;letter-spacing:-.02em}
.qt-ph .h7-vd .fr.on .ti{opacity:0!important}
.qt-ph .h7-vd .big{right:10px!important;bottom:10px!important;left:auto!important;top:auto!important;transform:none!important;padding:7px 14px 7px 7px!important;gap:8px;font-size:13.5px!important}
.qt-ph .h7-vd .big i{width:30px!important;height:30px!important}
.qt-ph .h7-vd .big i svg{width:16px;height:16px}
.qt-ph .h7-vd .snd{right:10px!important;bottom:10px!important;padding:8px 12px!important;font-size:12.5px!important}

/* ---------- accueil · « Pas juste un écran » ---------- */
.qt-ph .qz{height:auto!important}
.qt-ph .qz-pin{position:relative!important;height:auto!important;display:flex;flex-direction:column;gap:30px;padding:72px 20px 60px}
.qt-ph .qz-pin::before{opacity:.5!important}
.qt-ph .qz-glow,.qt-ph .qz-sc{display:none!important}
.qt-ph .qz-a,.qt-ph .qz-b,.qt-ph .qz-c{position:relative!important;inset:auto!important;left:auto!important;bottom:auto!important;opacity:1!important;transform:none!important;pointer-events:auto!important}
.qt-ph .qz-a{order:1}.qt-ph .qz-q{order:2}.qt-ph .qz-b{order:3}.qt-ph .qz-c{order:4}
.qt-ph .qz-a .l,.qt-ph .qz-a .r,.qt-ph .qz-b h2,.qt-ph .qz-b .r{position:static!important;transform:none!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;text-align:left!important}
.qt-ph .qz-a .l{font-size:36px!important;line-height:.98!important}
.qt-ph .qz-a .r{margin-top:14px!important;font-size:16px!important;line-height:1.45!important}
.qt-ph .qz-q{position:relative!important;left:auto!important;top:auto!important;width:min(48vw,200px)!important;margin:0 auto 10px!important;transform:none!important;opacity:1!important}
.qt-ph .qz-b h2{font-size:34px!important;line-height:1!important}
.qt-ph .qz-b em{text-align:left!important;margin:10px 0 0!important;font-size:14px!important}
.qt-ph .qz-b .r{margin-top:14px!important;font-size:14px!important;line-height:1.45!important}
.qt-ph .qz-c{display:grid!important;grid-template-columns:1fr 1fr;gap:16px 14px!important}
.qt-ph .qz-c b{font-size:15px!important}.qt-ph .qz-c small{font-size:12.5px!important}

/* ---------- accueil · « Avant QTouch / avec QTouch » (ml7.js → .ml7m) ---------- */
.qt-ph .ml7m{height:auto!important;padding:64px 16px 56px}
.ml7m .mm-blk{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1)}
.ml7m .mm-blk.in{opacity:1;transform:none}
.ml7m .mm-blk+.mm-blk{margin-top:56px}
.ml7m h2{margin:12px 0 0;font:600 30px/1.02 'Figtree',sans-serif;letter-spacing:-.045em;text-wrap:balance}
.ml7m h2 b{font-weight:inherit;color:#9A938C}
.ml7m .q h2 b{color:#F26B1D}
.ml7m .q .ml-k{background:#FDE3D3;color:#C2410C}
.ml7m p{margin:10px 0 0;font-size:15px;line-height:1.5;color:#6B6672}
.ml7m h3{margin:28px 0 0;font:600 26px/1.05 'Figtree',sans-serif;letter-spacing:-.04em}
.ml7m h3 b{font-weight:inherit;color:#F26B1D}
.ml7m .mm-d{display:flex;flex-direction:column;align-items:center;margin-top:24px}
.ml7m .mm-n{position:relative;display:flex;align-items:center;gap:14px;width:min(100%,320px);box-sizing:border-box;padding:14px 16px;border-radius:22px;background:#fff;box-shadow:0 24px 44px -34px rgba(20,18,24,.55),0 0 0 1px #ECE7E1;text-align:left}
.ml7m .mm-n .tile{flex:none;width:52px!important;height:52px!important;border-radius:16px!important}
.ml7m .mm-n .tile svg{width:26px!important;height:26px!important}
.ml7m .mm-n .tx b{display:block;font-size:17px;letter-spacing:-.02em}
.ml7m .mm-n .tx small{display:block;margin-top:2px;font-size:13px;color:#6B6672}
.ml7m .mm-n .ad{position:absolute;right:-8px;top:-10px;width:44px;height:44px;border-radius:13px;overflow:hidden;box-shadow:0 0 0 3px #fff,0 12px 24px -10px rgba(190,24,93,.6);transform:rotate(8deg)}
.ml7m .mm-n .ad img{width:100%;height:100%;object-fit:cover}
.ml7m .mm-n .tg{position:absolute;right:-6px;top:-10px;padding:5px 9px;border-radius:99px;background:#FEE2E2;color:#B91C1C;font-size:12px;font-weight:900}
.ml7m .mm-n .tg.ct{background:#FEF3C7;color:#92400E}
.ml7m .mm-sc{flex-direction:column;align-items:stretch;padding:10px 10px 14px;gap:10px}
.ml7m .mm-sc .ph{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:16/10}
.ml7m .mm-sc .ph>img{width:100%;height:100%;object-fit:cover;display:block}
.ml7m .mm-sc .scr{position:absolute;overflow:hidden;border-radius:2px}
.ml7m .mm-sc .scr img{width:100%;height:100%;object-fit:cover;display:block}
.ml7m .mm-sc .lv{position:absolute;left:8px;top:8px;display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:99px;background:#16A34A;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.06em}
.ml7m .mm-sc .lv i{width:6px;height:6px;border-radius:50%;background:#fff}
.ml7m .mm-sc .tx{padding:0 6px}
.ml7m .mm-q{justify-content:center;flex-direction:column;gap:4px;width:auto;padding:14px 26px;box-shadow:0 0 0 2px #F26B1D,0 20px 40px -24px rgba(242,107,29,.7)}
.ml7m .mm-q img{height:30px;width:auto}
.ml7m .mm-q small{font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#F26B1D}
.ml7m .mm-l{position:relative;display:flex;align-items:center;justify-content:center;min-height:46px;width:100%;padding:8px 0}
.ml7m .mm-l::before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:3px dashed #C9C1B8;transform:translateX(-50%)}
.ml7m .mm-l.go::before{border-left:4px solid #F26B1D}
.ml7m .mm-l span{position:relative;max-width:82%;padding:5px 11px;border-radius:12px;background:var(--h7-bg,#F2EFEA);font-size:12.5px;font-weight:700;line-height:1.35;color:#6B6672;text-align:center;box-shadow:0 0 0 1px #E4DFD8}
.ml7m .mm-l.go span{color:#C2410C;box-shadow:0 0 0 1px #FBD5BD}
.ml7m .mm-st{display:flex;gap:8px;margin-top:22px}
.ml7m .mm-st div{flex:1;padding:10px 6px;border-radius:16px;background:#fff;text-align:center;box-shadow:0 18px 36px -30px rgba(20,18,24,.5)}
.ml7m .mm-st small{display:block;font-size:11.5px;font-weight:700;color:#6B6672}
.ml7m .mm-st b{display:block;margin-top:2px;font-size:18px;letter-spacing:-.03em;color:#B91C1C}
.ml7m .mm-st.good b{color:#16A34A}

/* ---------- « Deux façons » (tw7.js → .tw7m) ---------- */
.qt-ph .tw7m .qsn-hd .tw-k{display:inline-block}
.qt-ph .tw7m .qsn-hd h2{margin:14px 0 0;font-size:34px!important}
.qt-ph .tw7m .qsn-hd .tw-two{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:18px}
.qt-ph .tw7m .qsn-box .tw-cv{position:absolute!important;inset:0!important;height:auto!important}
.qt-ph .tw7m .qsn-box .tw-cn{top:0!important}
.qt-ph .tw7m .tw-endm a{padding:13px 20px;border-radius:99px;font-weight:800;font-size:15px;text-decoration:none;white-space:nowrap}
.qt-ph .tw7m .tw-endm .p{background:linear-gradient(90deg,#F97316,#EC4899);color:#fff}
.qt-ph .tw7m .tw-endm .s{background:#fff;color:#1D1B26;box-shadow:inset 0 0 0 1.5px #E4DFF0}

/* ---------- Annonceurs · « Vous passez devant un lieu » (sc7.js → .sc7m) ---------- */
.qt-ph .sc7m .qsn-box .sc7-pin{display:block!important;padding:8px 16px!important;overflow:hidden!important}
.qt-ph .sc7m .qsn-box .sc7-sc{max-height:none!important;width:100%}

/* ---------- Établissements · « Pas juste une télé » (tvz.js → .tvzm) ---------- */
.qt-ph .tvzm .qsn-hd h2{margin:0;font:700 34px/.95 'Figtree',sans-serif;letter-spacing:-.04em;text-transform:uppercase;color:#F3EEE6}
.qt-ph .tvzm .qsn-hd p{margin:12px auto 0;max-width:34ch;font-size:15px;line-height:1.5;color:#C9C1B5}
.qt-ph .tvzm .qsn-tx h3{color:#F3EEE6}
.qt-ph .tvzm .qsn-tx p{color:#C9C1B5}
.qt-ph .tvzm .qsn-box .tz-pin{overflow:hidden!important}
/* b17 · 4 scènes fluides : la boîte prend la hauteur de son contenu, tout est dimensionné sur la largeur (cqw), jamais rogné */
.qt-ph .tvzm .qsn-box{height:auto!important;container-type:inline-size;background:none!important}
.qt-ph .tvzm .qsn-box>.tz-pin{height:auto!important;padding:4px 16px 8px!important;background:radial-gradient(70% 60% at 50% 50%,#2A2318 0%,transparent 75%)!important}
.qt-ph .tvzm .qsn-box .tz-pin::before{display:none}
.qt-ph .tvzm .qsn-box .tz-c{position:relative!important;left:auto!important;top:auto!important;width:100%!important;aspect-ratio:640/400;transform:none!important;opacity:1!important}
.qt-ph .tvzm .qsn-box .tz-tv{transform:none!important}
.qt-ph .tvzm .qsn-box .tz-tv .sl{box-shadow:0 30px 60px -30px rgba(0,0,0,.9),inset 0 0 0 2px #2E2A24}
.qt-ph .tvzm .qsn-box .tz-tv .sl,.qt-ph .tvzm .qsn-box .tz-tv .ft,.qt-ph .tvzm .qsn-box .tzs{opacity:1!important;transform:none!important}
/* 1 · installer : la TV seule */
.qt-ph .tvzm .tzm-in .tz-c{width:92%!important;margin:0 auto}
/* 2 · on scanne : TV (pub en direct + QR) et téléphone posé à droite, dans un cadre de hauteur fixe en cqw */
.qt-ph .tvzm .tzm-sc .tz-pin{height:calc(76cqw)!important;position:relative!important}
.qt-ph .tvzm .tzm-sc .tz-c{position:absolute!important;left:16px!important;top:17cqw!important;width:66cqw!important}
.qt-ph .tvzm .tzm-sc .tz-ph{position:absolute!important;left:auto!important;right:18px!important;top:3cqw!important;width:30cqw!important;height:auto!important;aspect-ratio:9/19;margin:0!important;padding:5px!important;border-radius:22px;transform:rotate(5deg)!important;opacity:1!important}
.qt-ph .tvzm .tzm-sc .tz-ph .s{border-radius:18px}
.qt-ph .tvzm .tzm-sc .tz-ph .cam{place-items:start center;padding-top:22%}
.qt-ph .tvzm .tzm-sc .tz-ph .cam img{width:58%}
.qt-ph .tvzm .tzm-sc .tz-ph .cam i{display:none}
.qt-ph .tvzm .tzm-sc .tz-ph .ok{inset:auto 6px 8px!important;padding:8px;border-radius:12px;transform:none!important}
.qt-ph .tvzm .tzm-sc .tz-ph .ok b{font-size:11px;line-height:1.15}
.qt-ph .tvzm .tzm-sc .tz-ph .ok small{font-size:9px;line-height:1.25;margin:2px 0 6px}
.qt-ph .tvzm .tzm-sc .tz-ph .ok span{padding:5px;font-size:10px;border-radius:8px}
/* 3 · marketplace : 4 lieux, 2 colonnes, pas de curseur ni de zoom */
.qt-ph .tvzm .tzm-mk .tz-mk{position:relative!important;left:auto!important;top:auto!important;width:100%!important;transform:none!important;opacity:1!important;box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.qt-ph .tvzm .tzm-mk .tz-mk .bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.qt-ph .tvzm .tzm-mk .tz-mk .gd{grid-template-columns:1fr 1fr!important;gap:10px;padding:12px}
.qt-ph .tvzm .tzm-mk .tz-mk .c{opacity:1!important;filter:none!important;transform:none!important;box-shadow:none}
.qt-ph .tvzm .tzm-mk .tz-mk .c:not(.me){opacity:.6!important}
.qt-ph .tvzm .tzm-mk .tz-mk .c.me{box-shadow:0 0 0 3px #F26B1D!important}
.qt-ph .tvzm .tzm-mk .tz-mk .c b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qt-ph .tvzm .tzm-mk .tz-mk .c em{top:12px;left:12px}
/* 4 · réseau : carte de Lyon (16/10) puis la campagne et votre part en dessous */
.qt-ph .tvzm .tzm-nt .tz-net{position:relative!important;left:auto!important;top:auto!important;width:100%!important;transform:none!important;opacity:1!important}
.qt-ph .tvzm .tzm-nt .tz-net .cy{opacity:1!important;transform:none!important}
.qt-ph .tvzm .tzm-nt .tz-net .zn{transform:translate(-50%,-50%) scale(1)!important}
.qt-ph .tvzm .tzm-nt .tz-net .v{opacity:1!important;transform:none!important}
.qt-ph .tvzm .tzm-nt .tz-net .v::after{display:none}
.qt-ph .tvzm .tzm-nt .tz-net .v.me b{font-size:11px;padding:4px 8px}
.qt-ph .tvzm .tzm-cd{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.qt-ph .tvzm .tzm-cd>div{position:static!important;transform:none!important;opacity:1!important;margin:0;padding:12px!important;border-radius:14px;text-align:left;box-shadow:none!important}
.qt-ph .tvzm .tzm-cd .cmp{background:#F26B1D;color:#fff}
.qt-ph .tvzm .tzm-cd small,.qt-ph .tvzm .tzm-cd b,.qt-ph .tvzm .tzm-cd span{display:block}
.qt-ph .tvzm .tzm-cd .cmp small,.qt-ph .tvzm .tzm-cd .sh small{font-size:11px}
.qt-ph .tvzm .tzm-cd .cmp b{font-size:15px;line-height:1.2;margin:3px 0}
.qt-ph .tvzm .tzm-cd .cmp span{font-size:12px}
.qt-ph .tvzm .tzm-cd .sh{background:#F3EEE6;color:#15130F}
.qt-ph .tvzm .tzm-cd .sh b{font-size:24px;line-height:1.1}
.qt-ph .tvzm .tzm-cd .sh span{font-size:11px;line-height:1.3}
.qt-ph .tvzm .tzm-cd .sh u{display:inline}
.qt-ph .tvzm .tz-cta{position:static!important;transform:none!important;opacity:1!important;display:inline-flex}

/* ---------- « Choisissez votre écran » (pscroll.js → .ps7.mob) : défilement horizontal natif ---------- */
.qt-ph .ps7.mob{height:auto!important;padding:64px 0 44px}
.qt-ph .ps7.mob .ps7-pin{position:relative!important;height:auto!important;overflow:visible!important}
.qt-ph .ps7.mob .ps7-head{position:relative!important;top:0!important;padding:0 20px}
.qt-ph .ps7.mob .ps7-track{position:relative!important;top:0!important;left:0;transform:none!important;margin-top:24px;width:100%;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scroll-padding:0 16px;padding:6px 16px 14px;gap:12px;scrollbar-width:none;will-change:auto}
.qt-ph .ps7.mob .ps7-track::-webkit-scrollbar{display:none}
.qt-ph .ps7.mob .ps7-track::after{content:"";flex:0 0 4px}
.qt-ph .ps7.mob .ps7-card{width:min(72vw,300px)!important;height:min(350px,56vh)!important;scroll-snap-align:start;scroll-snap-stop:normal}
.qt-ph .ps7.mob .ps7-card .pl::after{animation:none!important;display:none}

/* ---------- app QOYU · portail statique ---------- */
.qt-ph .qy-portal.qy-pt-static{height:auto!important}
.qt-ph .qy-pt-static .qy-pt-stick{position:relative!important;height:auto!important;min-height:0;padding-top:72px;padding-bottom:40px}
.qt-ph .qy-pt-static .qy-pt-hint{display:none!important}
.qt-ph .qy-pt-static .qy-pt-scene{margin-top:12px!important;max-height:none!important;transform:none!important}

/* ---------- animations décoratives continues : coupées sur téléphone ---------- */
.qt-ph .qy-pt-bob,.qt-ph .qy-pt-glow,.qt-ph .qy-pt-sp,.qt-ph .qy-pt-hint i::after,
.qt-ph .h7-nav nav a .nw::after,.qt-ph .n7 nav a .nw::after,.qt-ph .ps7-hint::after{animation:none!important}
.qt-ph .qy-pt-sp{display:none!important}
/* décor qui flotte / respire / tourne en boucle (accueil, établissements, app QOYU) : figé sur téléphone.
   Les petites scènes qui expliquent le jeu (QOYU qui marche, scan, combat) restent animées. */
.qt-ph .h7-end::before,.qt-ph .f7-end::before,.qt-ph .st6-hd::after,.qt-ph .st6-ch .st6-art img,.qt-ph .qis-sky img,.qt-ph .qis-cl1,.qt-ph .qis-cl2,.qt-ph .qy-screens.cf::before,.qt-ph .qy-screens.cf::after,.qt-ph .cf .qy-shot.on::before,.qt-ph .qy-media-map img,.qt-ph .qm-fx,.qt-ph .qy-loot-rays,.qt-ph .qp-rays,.qt-ph .qy-loot-chest,.qt-ph .qy-lc,.qt-ph .qy-lc-b::before,.qt-ph .qp.is-idle .qp-box,.qt-ph .qy-fg-fig img,.qt-ph .qy-mate.is-in:not(.is-hop) .qy-mate-stage img,.qt-ph .rk-shine::after,.qt-ph .qy-gv-heart,.qt-ph .qy-gv-card,.qt-ph .qy-gv-mascot,.qt-ph .show .tile,.qt-ph .qy-blob.float{animation:none!important}
/* entrées des chapitres (Annonceurs, Établissements…) : simple fondu, sans rotation ni rebond */
.qt-ph .st6-art img{transform:none!important;transition:opacity .5s ease!important}
.qt-ph .st6-card,.qt-ph .st6-ch.r .st6-card{transform:none!important;transition:opacity .5s ease!important}
.qt-ph .st6-s{transform:none!important}
.qt-ph .lv-txt,.qt-ph .lv-vis{transform:none!important;transition:opacity .45s ease!important}
/* boutique (Établissements) · grande tuile QBOX : texte lisible au-dessus de la photo */
.qt-ph .p6-tile.wide{position:relative}
.qt-ph .p6-tile.wide::after{content:"";position:absolute;left:0;right:0;top:0;height:62%;border-radius:inherit;background:linear-gradient(180deg,rgba(12,9,6,.88) 0%,rgba(12,9,6,.6) 55%,rgba(12,9,6,0) 100%);z-index:1;pointer-events:none}

/* accueil · « avant / avec QTouch » : séparateur net + chiffres compacts sur une ligne, collés à leur schéma */
.ml7m .mm-blk:not(.q){padding-bottom:4px}
.ml7m .mm-st{gap:6px!important;margin-top:16px!important;width:min(100%,340px);margin-left:auto;margin-right:auto}
.ml7m .mm-st div{flex:1 1 0;min-width:0;padding:8px 4px!important;border-radius:13px!important;box-shadow:0 0 0 1px #F1D5D0,0 10px 22px -18px rgba(20,18,24,.5)!important;background:#FFF7F5!important}
.ml7m .mm-st small{font-size:10.5px!important;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.ml7m .mm-st b{font-size:16px!important;white-space:nowrap}
.ml7m .mm-st.good div{background:#F2FBF5!important;box-shadow:0 0 0 1px #CDEBD7,0 10px 22px -18px rgba(20,18,24,.5)!important}
.ml7m .mm-sep{display:flex;align-items:center;gap:12px;margin:44px 0 30px}
.ml7m .mm-sep i{flex:1;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#F4B48D)}
.ml7m .mm-sep i:last-child{background:linear-gradient(90deg,#F4B48D,transparent)}
.ml7m .mm-sep span{display:inline-flex;align-items:center;gap:8px;padding:11px 18px 11px 14px;border-radius:99px;background:#F26B1D;color:#fff;font:800 13px/1 'Figtree',sans-serif;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 14px 28px -12px rgba(242,107,29,.75);white-space:nowrap}
.ml7m .mm-sep svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ml7m .mm-sep{opacity:0;transform:translateY(12px);transition:opacity .5s,transform .5s}
.ml7m .mm-sep.in{opacity:1;transform:none}
.ml7m .mm-sep+.mm-blk{margin-top:0!important}
.ml7m .mm-blk.q h2{margin-top:0}

/* accueil · « avec QTouch » : QTouch REMPLACE l'agence et le lieu (ml7.js → .mm-rep), boucle de 6 s quand le schéma est à l'écran */
.ml7m .mm-rep .mm-l.rl{min-height:52px}
.ml7m .mm-rep .mm-l.rl::before{border-left:3px dashed #C9C1B8;animation:mlRepDash 6s linear infinite paused both}
.ml7m .mm-rep .mm-l.rl::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:4px;margin-left:-2px;border-radius:2px;background:#F26B1D;transform-origin:50% 0;animation:mlLine 6s cubic-bezier(.3,.7,.2,1) infinite paused both}
.ml7m .mm-rep .mm-l.rl span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;white-space:nowrap}
.ml7m .mm-rep .mm-l.rl .ca{color:#B91C1C;box-shadow:0 0 0 1px #F5C2C2;animation:mlCa 6s linear infinite paused both}
.ml7m .mm-rep .mm-l.rl .cb{color:#C2410C;box-shadow:0 0 0 1px #FBD5BD;animation:mlCb 6s linear infinite paused both}
.ml7m .mm-rep .mm-l.rl .cb2{color:#C2410C;box-shadow:0 0 0 1px #FBD5BD;animation:mlCb 6s linear infinite paused both}
.ml7m .mm-swap{position:relative;width:100%;height:150px}
.ml7m .mm-old{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.ml7m .mm-old .mm-n{padding:10px 14px;width:min(100%,300px);box-shadow:0 18px 34px -30px rgba(20,18,24,.55),0 0 0 1px #ECE7E1}
.ml7m .mm-old .mm-n .tile{width:42px!important;height:42px!important;border-radius:13px!important}
.ml7m .mm-old .mm-n .tile svg{width:22px!important;height:22px!important}
.ml7m .mm-old .mm-n .tx b{font-size:15.5px}
.ml7m .mm-old .mm-n .tx small{font-size:12px}
.ml7m .mm-old .mm-ag{animation:mlOutL 6s cubic-bezier(.5,0,.2,1) infinite paused both}
.ml7m .mm-old .mm-li{animation:mlOutR 6s cubic-bezier(.5,0,.2,1) infinite paused both}
.ml7m .mm-old .ko{position:absolute;left:12px;right:12px;top:50%;height:3px;margin-top:-1.5px;border-radius:3px;background:#DC2626;transform-origin:0 50%;animation:mlKo 6s cubic-bezier(.6,0,.2,1) infinite paused both}
.ml7m .mm-old .kx{position:absolute;right:-7px;top:-9px;width:24px;height:24px;border-radius:50%;background:#DC2626;color:#fff;font:900 16px/23px 'Figtree',sans-serif;text-align:center;box-shadow:0 0 0 3px #fff;animation:mlKx 6s cubic-bezier(.3,1.5,.5,1) infinite paused both}
.ml7m .mm-swap .mm-q{position:absolute;left:50%;top:50%;margin:0;transform:translate(-50%,-50%);animation:mlIn 6s cubic-bezier(.3,1.35,.5,1) infinite paused both}
.ml7m .mm-rep.play .mm-l.rl::before,.ml7m .mm-rep.play .mm-l.rl::after,.ml7m .mm-rep.play .mm-l.rl span,.ml7m .mm-rep.play .mm-old .mm-n,.ml7m .mm-rep.play .ko,.ml7m .mm-rep.play .kx,.ml7m .mm-rep.play .mm-q{animation-play-state:running}
@keyframes mlRepDash{0%,40%{opacity:1}48%,90%{opacity:0}100%{opacity:1}}
@keyframes mlLine{0%,40%{transform:scaleY(0)}50%,90%{transform:scaleY(1);opacity:1}97%,100%{transform:scaleY(1);opacity:0}}
@keyframes mlCa{0%,32%{opacity:1}38%,94%{opacity:0}100%{opacity:1}}
@keyframes mlCb{0%,44%{opacity:0}52%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes mlKo{0%,16%{transform:scaleX(0)}26%,92%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@keyframes mlKx{0%,22%{transform:scale(0)}28%,92%{transform:scale(1)}100%{transform:scale(0)}}
@keyframes mlOutL{0%,30%{transform:none;opacity:1;filter:none}32%{opacity:.6;filter:grayscale(1)}44%,90%{transform:translateX(-120%) rotate(-6deg);opacity:0;filter:grayscale(1)}91%{transform:none;opacity:0;filter:none}100%{transform:none;opacity:1}}
@keyframes mlOutR{0%,30%{transform:none;opacity:1;filter:none}32%{opacity:.6;filter:grayscale(1)}44%,90%{transform:translateX(120%) rotate(6deg);opacity:0;filter:grayscale(1)}91%{transform:none;opacity:0;filter:none}100%{transform:none;opacity:1}}
@keyframes mlIn{0%,40%{transform:translate(-50%,-50%) scale(.5);opacity:0}50%{transform:translate(-50%,-50%) scale(1.08);opacity:1}56%,89%{transform:translate(-50%,-50%) scale(1);opacity:1}95%,100%{transform:translate(-50%,-50%) scale(.9);opacity:0}}
/* mouvements réduits : état final, figé (QTouch à la place des intermédiaires) */
.ml7m .mm-rep.rm .mm-old{display:none}
.ml7m .mm-rep.rm *,.ml7m .mm-rep.rm .mm-l.rl::before,.ml7m .mm-rep.rm .mm-l.rl::after{animation:none!important}
.ml7m .mm-rep.rm .mm-l.rl::before{opacity:0}
.ml7m .mm-rep.rm .ca{opacity:0}
.ml7m .mm-rep.rm .mm-swap{height:96px}
@media (prefers-reduced-motion:reduce){
  .ml7m .mm-rep .mm-old{display:none}
  .ml7m .mm-rep *,.ml7m .mm-rep .mm-l.rl::before,.ml7m .mm-rep .mm-l.rl::after{animation:none!important}
  .ml7m .mm-rep .mm-l.rl::before,.ml7m .mm-rep .ca{opacity:0}
  .ml7m .mm-rep .mm-swap{height:96px}
}

/* accueil · sur-titre du héros : une ligne, sans trait */
.qt-ph .h7-hero .h7-ey{font-size:10.5px;letter-spacing:.14em;gap:8px}

/* accueil · « Ils diffusent déjà avec QTouch » : centré, remonté vers le héros */
.qt-ph .h7-vd{padding-bottom:6px!important}
.qt-ph .h7-lg{padding:14px 0 18px!important;text-align:center}
.qt-ph .h7-lg p{margin:0 auto 12px!important;padding:0 16px;font-size:11.5px!important;text-align:center}
.qt-ph .h7-mq{-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
.qt-ph .h7-mq>div{gap:40px!important;padding-right:40px!important;align-items:center}
.qt-ph .h7-mq img{height:40px!important}

/* « Deux façons » : plus de pastilles 1 / 2 sur téléphone */
.qt-ph .tw7m .qsn-hd .tw-two{display:none!important}

/* anti-flash : le corps de page reste masqué tant que cette feuille (la dernière) n'est pas appliquée — voir safe7.js */
:root{--qt-gate:visible}
