/* FlowchatAI — animations (prévisualisation). Tout est sous .anim : sans JS ou en "réduire les animations", la page reste statique. */

/* Hero : masqué jusqu'à ce que anim.js prenne la main (évite le flash) */
.anim:not(.anim-go) :is(.hero .pills,.hero .giant,.hero .pixel-wrap,.hero .device,.hero .micro,.hero .hero-copy,.hero .hero-specs){opacity:0}

/* Fenêtres fantômes derrière la démo : on voit la transparence + le décalage */
.ghost-wrap{position:absolute;left:50%;top:50%;width:300px;height:380px;margin:-190px 0 0 -150px;z-index:1;pointer-events:none}
.ghost-wrap .mac{width:100%;height:100%;border-radius:24px}
.ghost-body{padding:22px 20px;display:flex;flex-direction:column;gap:12px}
.ghost-body i{display:block;height:10px;border-radius:6px;background:rgba(22,21,19,0.09)}
.ghost-body i:nth-child(1){width:70%}.ghost-body i:nth-child(2){width:92%}.ghost-body i:nth-child(3){width:55%}
.ghost-body i.chip{width:38%;height:26px;border-radius:999px;background:rgba(255,91,51,0.28)}
@media (max-width:820px){.ghost-wrap{display:none}}

/* Ligne pointillée du process qui se dessine au scroll */
.anim .steps::before{transform:scaleX(var(--line,1));transform-origin:left center}

/* Léger soulèvement des fenêtres au survol */
.anim .plan .mac,.anim .step .mac,.anim .review-card .mac{transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.anim .plan:hover .mac,.anim .step:hover .mac{transform:translateY(-8px);box-shadow:0 40px 80px rgba(22,21,19,0.16),inset 0 1px 0 rgba(255,255,255,0.8)}

.anim .marquee-section{will-change:transform}

/* ===== HERO SCROLLYTELLING : avantages + chat 3D (écrans ≥ 900 px) ===== */
.scenes,.fx,.caps,.device-back,.fx-plat{display:none}
@media (min-width:900px){
  .anim .stage > .scenes{display:block;position:absolute;inset:0;z-index:0;border-radius:inherit;overflow:hidden;pointer-events:none}
  .scene{position:absolute;inset:0;opacity:0}
  .sc-a{background:radial-gradient(ellipse at 70% 30%,#fff 0%,transparent 60%),linear-gradient(180deg,#fbeee3 0%,#ffcfb3 100%)}
  .sc-b{background:radial-gradient(ellipse at 50% 110%,#c9dcff 0%,transparent 60%),linear-gradient(180deg,#f2f6ff 0%,#dfe9fb 100%)}
  .sc-c{background:#ece9e3}
  .sc-c .grid{position:absolute;inset:0;display:block;background-image:linear-gradient(rgba(22,21,19,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(22,21,19,.06) 1px,transparent 1px);background-size:56px 56px}
  .sc-d{background:linear-gradient(160deg,#effaf4 0%,#cdeedd 100%)}
  .sc-f{background:radial-gradient(ellipse at 70% 40%,#fff 0%,transparent 60%),linear-gradient(180deg,#eef1f6 0%,#dde3ec 100%)}
  .sc-f .grid{position:absolute;inset:0;display:block;background-image:linear-gradient(rgba(22,21,19,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(22,21,19,.05) 1px,transparent 1px);background-size:56px 56px}
  .sc-g{background:linear-gradient(160deg,#ffeaf0 0%,#ffc9d6 100%)}
  .sc-e{background:radial-gradient(ellipse at 30% 20%,#fff 0%,transparent 55%),linear-gradient(180deg,#fff7ef 0%,#f1efea 100%)}
  .fx-big{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:700 clamp(200px,30vw,440px)/0.8 'Space Grotesk',sans-serif;letter-spacing:-.06em;color:rgba(22,21,19,.07);white-space:nowrap;opacity:0}

  .anim .stage .fx{display:block;transform-style:preserve-3d;position:absolute;inset:0;z-index:2;pointer-events:none}
  .fx-file{position:absolute;left:50%;top:50%;opacity:0;display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:14px;font:500 14px var(--mono);color:var(--ink);
    background:rgba(255,255,255,.94);border:1px solid var(--line);color:var(--ink);box-shadow:0 18px 40px rgba(22,21,19,.14)}
  .fx-file b{color:var(--accent);font-size:18px}
  .fx-sws{position:absolute;right:9%;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-end;gap:26px;padding:22px 22px 24px;border-radius:22px;background:rgba(255,255,255,.7);border:1px solid var(--line);box-shadow:0 18px 40px rgba(22,21,19,.1);opacity:0}
  .fx-sws small{font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
  .fx-sw{position:relative;display:block;width:46px;height:46px;border-radius:50%;border:4px solid #fff;box-shadow:0 10px 24px rgba(22,21,19,.2);opacity:0}
  .fx-sw::after{content:attr(data-n);position:absolute;right:calc(100% + 14px);top:50%;transform:translateY(-50%);font:600 15px 'Space Grotesk',sans-serif;color:var(--ink)}
  .fx-sw.s1{background:#5b6bff}.fx-sw.s2{background:#1fa97a}.fx-sw.s3{background:#ff5b33}

  .fx-stat{position:absolute;opacity:0;padding:22px 26px 20px;border-radius:22px;min-width:230px;max-width:270px;color:var(--ink)}
  .fx-stat strong{font:700 58px/1 'Space Grotesk',sans-serif;letter-spacing:-.04em}
  .fx-stat span{font:600 20px 'Space Grotesk',sans-serif;margin-left:6px}
  .fx-stat small{display:block;margin-top:10px;font-size:13px;line-height:1.45;color:var(--ink2)}
  .fx-stat.st1{left:7%;top:13%}.fx-stat.st2{right:6%;top:15%}.fx-stat.st3{right:6%;bottom:17%}

  .anim .stage .fx-plat{display:block;position:absolute;left:50%;top:50%;z-index:0;opacity:0;pointer-events:none;
    padding:14px 26px;border-radius:999px;font:600 16px 'Space Grotesk',sans-serif;color:var(--ink);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-border);box-shadow:0 20px 40px rgba(22,21,19,.14)}
  .dots{position:absolute;right:22px;top:50%;margin-top:-60px;display:flex;flex-direction:column;gap:12px;opacity:0}
  .dots i{display:block;width:5px;height:14px;border-radius:3px;background:var(--ink);opacity:.35;transform-origin:center}

  .anim .frame > .caps{display:block;position:absolute;left:62px;bottom:62px;z-index:3;width:min(400px,28%);pointer-events:none}
  .cap{position:absolute;left:0;bottom:0;opacity:0;color:var(--ink)}
  .cap small{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;opacity:.7}
  .cap h2{font-size:clamp(28px,3vw,46px);line-height:1.04;letter-spacing:-.03em;perspective:800px}
  .cap h2 .cw{display:inline-block;transform-origin:50% 100%}
  .cap p{margin-top:16px;font-size:16px;line-height:1.5;opacity:.75;max-width:360px}
  .cap.c10 .btn{margin-top:26px;pointer-events:auto}

  /* Face arrière du chat (visible pendant les tours) */
  .anim .device{transform-style:preserve-3d}
  .anim .device > .mac,.anim .device-back{backface-visibility:hidden;-webkit-backface-visibility:hidden}
  .anim .device-back{display:block;position:absolute;inset:0;transform:rotateY(180deg)}
  .device-back .mac{height:100%;display:flex;flex-direction:column;border-radius:26px;box-shadow:0 50px 90px rgba(22,21,19,.3)}
  .back-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;padding:30px}
  .back-logo{font:700 40px/1 'Space Grotesk',sans-serif;letter-spacing:-.03em}
  .back-logo b{color:var(--accent)}
  .back-body p{font-size:15px;line-height:1.6;color:rgba(255,255,255,.7)}


  /* Fenêtres dashboard + newsletter */
  .fx-card{position:absolute;left:65%;top:44%;width:min(500px,46%);opacity:0;border-radius:22px}
  .fx-tag{font-family:var(--mono);font-size:10px;padding:3px 8px;border-radius:999px;border:1px solid currentColor;opacity:.6}
  .dash-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:16px;color:#fff}
  .dash-row{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}
  .dash-k small{font-size:11px;opacity:.6;font-family:var(--mono)}
  .dash-k svg{display:block;width:100%;height:84px;margin-top:6px;overflow:visible}
  .dash-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
  .dash-don{display:flex;align-items:center;gap:14px}
  .dash-don svg{width:84px;height:84px;transform:rotate(-90deg);flex-shrink:0}
  .dash-arc{fill:none;stroke-width:5;stroke-linecap:butt}
  .dash-arc.a1{stroke:#ff5b33}.dash-arc.a2{stroke:#ffb38a;transform:rotate(165.6deg);transform-origin:center}.dash-arc.a3{stroke:#8b877e;transform:rotate(273.6deg);transform-origin:center}
  .dash-don ul{list-style:none;font-size:12px;line-height:1.9}
  .dash-don li{display:flex;align-items:center;gap:7px}
  .dash-don b{width:8px;height:8px;border-radius:2px;display:block}
  .dash-don .d1{background:#ff5b33}.dash-don .d2{background:#ffb38a}.dash-don .d3{background:#8b877e}
  .dash-bars{display:flex;align-items:flex-end;gap:6px;height:96px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}
  .dash-bars i{flex:1;height:var(--h);border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--accent),rgba(255,91,51,.35))}
  .dash-foot{display:flex;justify-content:space-between;align-items:center;font-size:12px;opacity:.85}
  .dash-foot b{font-size:11px;font-weight:600;padding:6px 12px;border-radius:999px;background:#fff;color:var(--ink)}
  .news-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:14px;color:var(--ink)}
  .news-bot{align-self:flex-start;max-width:78%;padding:11px 15px;border-radius:16px 16px 16px 5px;background:rgba(255,255,255,.9);font-size:14px;line-height:1.45;box-shadow:0 8px 20px rgba(22,21,19,.06)}
  .news-form{display:flex;gap:10px}
  .news-input{flex:1;min-height:42px;padding:11px 16px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid var(--line);font:500 13px var(--mono);display:flex;align-items:center}
  .news-input .ph{color:var(--gray)}
  .news-input:not(:empty) .ph{display:none}
  .news-btn{padding:11px 20px;border-radius:999px;background:var(--ink);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center}
  .news-list{padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
  .news-head{display:flex;align-items:center;gap:10px;font:600 13px 'Space Grotesk',sans-serif}
  .news-badge{font-size:11px;padding:3px 9px;border-radius:999px;background:var(--accent);color:#fff}
  .news-row{padding:9px 14px;border-radius:12px;background:rgba(255,255,255,.7);font:500 12.5px var(--mono);color:var(--ink2)}
  .news-row.hot{background:#fff;color:var(--ink);box-shadow:0 6px 16px rgba(255,91,51,.18)}

  /* Suivi de commande + transfert vers un humain */
  .sc-h{background:#efecfb}
  .sc-h .grid{position:absolute;inset:0;display:block;background-image:radial-gradient(rgba(22,21,19,.09) 1px,transparent 1px);background-size:22px 22px}
  .sc-i{background:radial-gradient(ellipse at 65% 40%,#fff2c9 0%,transparent 60%),linear-gradient(180deg,#fffaeb 0%,#fbefcc 100%)}
  .fx-track,.fx-hand{width:min(440px,42%)}
  .trk-body,.hand-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:12px;color:var(--ink)}
  .trk-q{align-self:flex-end;max-width:80%;padding:10px 14px;border-radius:16px 16px 5px 16px;background:var(--ink);color:#fff;font-size:13.5px}
  .trk-check{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:500 12px var(--mono);color:var(--ink2)}
  .trk-ok{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:10px;background:#28c840}
  .trk-src{margin-left:auto;font-family:'Inter',sans-serif;font-weight:600;font-size:11px;padding:4px 10px;border-radius:999px;background:#95bf47;color:#fff}
  .trk-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:0 10px 26px rgba(22,21,19,.08)}
  .trk-st{font:700 15px 'Space Grotesk',sans-serif;display:flex;align-items:center;gap:8px}
  .trk-st::before{content:'';width:9px;height:9px;border-radius:50%;background:#28c840;box-shadow:0 0 0 4px rgba(40,200,64,.16)}
  .trk-meta{font:500 11.5px var(--mono);color:var(--gray);margin:4px 0 14px}
  .trk-line{position:relative;display:grid;grid-template-columns:repeat(4,1fr);font-size:11px;color:var(--gray)}
  .trk-line::before,.trk-fill{content:'';position:absolute;left:7px;right:calc(25% + 7px);top:6px;height:2px;background:var(--stone)}
  .trk-line::before{right:7px}
  .trk-fill{display:block;right:auto;width:calc(25% - 7px);background:var(--ink);transform:scaleX(0);transform-origin:left;z-index:1}
  .trk-line span{position:relative;z-index:2;display:flex;flex-direction:column;gap:6px}
  .trk-line span::before{content:'';width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--stone);box-sizing:border-box}
  .trk-line span.on{color:var(--ink);font-weight:600}
  .trk-line span.on::before{background:var(--ink);border-color:var(--ink)}
  .trk-line span.on:nth-child(3)::before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,91,51,.18)}
  .trk-link{margin-top:12px;font-size:12.5px;font-weight:600;color:var(--accent)}
  .hand-mail{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px}
  .hand-from{display:flex;justify-content:space-between;font-size:13.5px}
  .hand-from span{font:500 11px var(--mono);color:var(--gray)}
  .hand-sub{font-weight:600;font-size:13px;margin:3px 0 8px}
  .hand-sum{font-size:13px;line-height:1.55;color:var(--ink2)}
  .hand-reply{display:flex;align-items:center;gap:12px}
  .hand-btn{padding:9px 18px;border-radius:999px;background:var(--ink);color:#fff;font-size:12.5px;font-weight:600}
  .hand-sent{font-style:normal;font-size:12.5px;color:#1f9d3a;font-weight:600;opacity:0}
  /* Création du bot : formules, formulaire, liens, code */
  .fx-plans,.fx-form{left:58%;top:46%;width:min(540px,46%)}
  .fx-form .fm-row{padding:8px 12px}
  .fx-links,.fx-code{width:min(440px,42%)}
  .pl-body{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px 18px 12px;color:var(--ink)}
  .pl{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px 14px;border-radius:16px;background:#fff;border:1.5px solid var(--line);box-shadow:0 8px 20px rgba(22,21,19,.05)}
  .pl b{font:700 15px 'Space Grotesk',sans-serif}
  .pl span{font:700 22px/1 'Space Grotesk',sans-serif;letter-spacing:-.02em}
  .pl span small{font:500 11px Inter,sans-serif;color:var(--gray);margin-left:2px}
  .pl em{font-style:normal;font-size:11.5px;line-height:1.4;color:var(--ink2)}
  .pl-ok{position:absolute;top:-9px;right:-9px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font:700 12px Inter,sans-serif;font-style:normal;display:flex;align-items:center;justify-content:center;transform:scale(0)}
  .pl-cta{margin:4px 18px 18px;padding:11px;border-radius:999px;background:var(--ink);color:#fff;text-align:center;font-size:13px;font-weight:600}
  .fm-body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:9px;color:var(--ink)}
  .fm-row{display:grid;grid-template-columns:118px 1fr 20px;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:#fff;border:1px solid var(--line)}
  .fm-row small{font:600 10.5px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--gray)}
  .fm-val{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden}
  .fm-ok{width:18px;height:18px;border-radius:50%;background:#28c840;color:#fff;font:700 10px Inter,sans-serif;font-style:normal;display:flex;align-items:center;justify-content:center;transform:scale(0)}
  .fm-send{align-self:flex-end;margin-top:4px;padding:10px 18px;border-radius:999px;background:var(--ink);color:#fff;font-size:12.5px;font-weight:600}
  .lk-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:12px;color:var(--ink)}
  .lk-q{align-self:flex-end;max-width:82%;padding:10px 14px;border-radius:16px 16px 5px 16px;background:var(--ink);color:#fff;font-size:13.5px}
  .lk-a{align-self:flex-start;max-width:94%;padding:12px 14px;border-radius:16px 16px 16px 5px;background:#fff;border:1px solid var(--line);font-size:13.5px;line-height:1.5}
  .lk-btns{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
  .lk-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 12px 7px 9px;border-radius:999px;background:#fff;border:1px solid rgba(22,21,19,.14);font-size:12px;font-weight:600;box-shadow:0 2px 6px rgba(22,21,19,.06)}
  .lk-btn svg{width:15px;height:15px;flex-shrink:0}
  .cd-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;color:#fff;font:500 12.5px/1.6 var(--mono)}
  .cd-l{opacity:.55;white-space:nowrap;overflow:hidden}
  .cd-new{opacity:1;color:#ffb38a;min-height:20px;padding:4px 8px;margin:2px -8px;border-radius:6px;background:rgba(255,91,51,.14)}
  .cd-new:empty::after{content:'▍';color:#ffb38a}
  .cd-save{align-self:flex-start;margin-top:12px;padding:8px 16px;border-radius:999px;background:#fff;color:var(--ink);font:600 12px Inter,sans-serif}
  .cd-done{font:600 12.5px Inter,sans-serif;color:#7ee08f;opacity:0}
  .fx-env{position:absolute;left:50%;top:50%;width:54px;height:38px;margin:-19px 0 0 -27px;border-radius:7px;background:var(--accent);opacity:0;z-index:4;box-shadow:0 14px 30px rgba(255,91,51,.4)}
  .fx-env::before{content:'';position:absolute;inset:0;border-radius:7px;background:linear-gradient(150deg,transparent 48%,rgba(255,255,255,.6) 49%,transparent 52%),linear-gradient(210deg,transparent 48%,rgba(255,255,255,.6) 49%,transparent 52%)}

  /* Démo plein écran */
  .demo-scrim{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0;
    background:radial-gradient(ellipse at 50% 50%,rgba(22,21,19,.55),rgba(22,21,19,.88))}
}

/* Empêche la colonne de la démo de s'élargir quand le chat grossit */
.anim .demo-section .hero-visual{min-width:0}
/* La grille des fonctionnalités sert de version mobile / sans animation : sur grand écran animé, tout est dans l'animation du début */


/* Chapitres nommés de l'animation du début + invitation à défiler */
.chapters,.scroll-hint{display:none}
@media (min-width:900px){
  .anim .frame > .chapters{display:block;position:absolute;left:50%;top:18px;transform:translate(-50%,-10px);z-index:4;opacity:0;pointer-events:none;
    padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid var(--line);box-shadow:0 10px 30px rgba(22,21,19,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
  .chapters ol{list-style:none;display:flex;gap:2px;margin:0;padding:0}
  .chapters li{position:relative;display:flex;align-items:center;gap:7px;padding:6px 11px 8px;font:500 12px 'Inter',sans-serif;color:var(--ink);white-space:nowrap;opacity:.4}
  .chapters li b{display:inline-flex;width:18px;height:18px;border-radius:50%;align-items:center;justify-content:center;background:var(--ink);color:#fff;font:700 10px 'Space Grotesk',sans-serif}
  .chapters li i{position:absolute;left:11px;right:11px;bottom:2px;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left}
  .chapters .chap-bar{display:none}
  .anim .frame > .scroll-hint{display:flex;align-items:center;gap:10px;position:absolute;left:50%;bottom:32px;transform:translateX(-50%);z-index:4;pointer-events:none;
    padding:10px 18px;border-radius:999px;background:var(--ink);color:#fff;font:500 13px 'Inter',sans-serif;box-shadow:0 12px 30px rgba(22,21,19,.2)}
  .scroll-hint span{display:inline-block;animation:hintBob 1.4s ease-in-out infinite}
  .cap-n{display:inline-block;margin-right:10px;padding:3px 9px;border-radius:999px;background:var(--accent);color:#fff;letter-spacing:.04em}
}
@media (min-width:900px) and (max-width:1250px){ .chapters li{padding:6px 7px 8px;font-size:11px} .chapters li b{display:none} }
@keyframes hintBob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
/* ===== Cinéma : grands titres de scène + bandes noires (écrans ≥ 900 px) ===== */
.cine{display:none}
@media (min-width:900px){
  .anim .stage > .cine{display:block;position:absolute;inset:0;z-index:4;pointer-events:none;border-radius:inherit;overflow:hidden}
  .cine .bar{position:absolute;left:0;right:0;height:9%;background:#161513;transform:scaleY(0)}
  .cine .bar.top{top:0;transform-origin:50% 0}
  .cine .bar.bot{bottom:0;transform-origin:50% 100%}
  .cine .ct{position:absolute;left:50%;top:50%;width:86%;margin:0;text-align:center;opacity:0;
    font:700 clamp(56px,7.4vw,124px)/.95 'Space Grotesk',sans-serif;letter-spacing:-.045em;color:var(--ink);text-wrap:balance}
  .cine .ct span{display:inline-block}
}
/* ===== Caméra (29/10) : un seul décor, filmé ===== */
@media (min-width:900px){
  .anim .stage > .scenes{display:none}
  .anim .hero .frame{position:relative;overflow:hidden}
  .anim .hero .pills{position:relative;z-index:6}
  .anim .frame > .caps .cap{padding:22px 24px 24px;border-radius:24px;background:rgba(248,246,242,.86);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 20px 50px rgba(22,21,19,.14);width:100%;box-sizing:border-box}
}
/* ===== Monde 3D (29/10) ===== */
@media (min-width:900px){
  .anim .hero .stage{perspective:1700px;perspective-origin:50% 45%}
  .anim .stage > .world{position:absolute;inset:0;z-index:2;transform-style:preserve-3d;pointer-events:none}
  .anim .world > .device.in-world{position:absolute;margin:0;z-index:auto}
  .anim .world > .fx-big{position:absolute;left:50%;top:50%;transform:none}
  .anim .world > .fx-plat,.anim .world > .fx-big{backface-visibility:hidden;-webkit-backface-visibility:hidden}
  /* fluidité : pas de flou d'arrière-plan (très coûteux) sur les fenêtres filmées en 3D, verre plus opaque à la place */
  .anim .world .mac,.anim .world .fx-file,.anim .world .fx-sws{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
  .anim .world .mac:not(.dark){background:rgba(250,248,245,.94)}
}

