/* KAZAKOM — page Formation : tourniquet « Nos applications » (kz-apps.js)
   Classes propres (kza-*) : rien n'est partagé avec les carrousels existants. */
.kza{--kza-c:#27b4f5;--kza-c2:#8ad8ff;--kza-t:#f3f7fd;--kza-m:#a3b4cc;position:relative;margin:0;padding:clamp(48px,6vw,84px) 0;text-align:center}
.kza-h{margin:0;font-family:var(--display,'Plus Jakarta Sans',Arial,sans-serif);font-weight:800;font-size:clamp(44px,8.4vw,116px);line-height:1;letter-spacing:-.04em}
.kza-h span{display:inline-block;padding:.04em .06em .14em;color:transparent;background:linear-gradient(100deg,#f3f7fd 0%,#f3f7fd 38%,#8ad8ff 47%,#27b4f5 50%,#8ad8ff 53%,#f3f7fd 62%,#f3f7fd 100%);background-size:260% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;clip-path:inset(0 100% 0 0);transition:clip-path 1.3s cubic-bezier(.75,0,.2,1)}
.kza-h[data-in] span{clip-path:inset(-10% -2% -10% -2%);animation:kzaSweep 2.4s .8s cubic-bezier(.45,0,.2,1) forwards}
@keyframes kzaSweep{to{background-position:0 0}}
html[dir=rtl] .kza-h{letter-spacing:0;line-height:1.3}
html[dir=rtl] .kza-h span{clip-path:inset(0 0 0 100%)}
html[dir=rtl] .kza-h[data-in] span{clip-path:inset(-10% -2% -10% -2%)}
.kza-lead{max-width:34em;margin:22px auto 0;padding:0 20px;color:var(--kza-m);font-size:clamp(16px,1.5vw,19px);line-height:1.6}

.kza-stage{position:relative;width:var(--kza-vw,100vw);height:var(--kza-sh,720px);margin:clamp(24px,3.5vw,46px) calc(50% - var(--kza-vw,100vw) / 2) 0;overflow:hidden;perspective:1700px;perspective-origin:50% 36%;direction:ltr;outline:none;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.kza-stage:focus-visible{box-shadow:inset 0 0 0 2px rgba(39,180,245,.6)}
.kza-floor{position:absolute;left:50%;bottom:calc(var(--kza-base,110px) - 85px);width:min(1100px,96vw);height:170px;transform:translateX(-50%);pointer-events:none;background:radial-gradient(ellipse at 50% 50%,rgba(39,180,245,.32) 0%,rgba(39,180,245,.08) 42%,rgba(39,180,245,0) 70%)}
.kza-floor::before,.kza-floor::after{content:"";position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%)}
.kza-floor::before{width:min(760px,90vw);height:54px;border:1px solid rgba(138,216,255,.5);box-shadow:0 0 26px rgba(39,180,245,.45),inset 0 0 22px rgba(39,180,245,.3)}
.kza-floor::after{width:min(1080px,100vw);height:84px;border:1px solid rgba(120,175,235,.14)}

.kza-dev{position:absolute;left:50%;bottom:var(--kza-base,110px);transform-origin:50% 100%;transition:transform .95s cubic-bezier(.22,.9,.2,1),opacity .95s ease;will-change:transform,opacity;cursor:pointer}
.kza-dev[data-on]{cursor:default}
.kza-body{position:relative;padding:var(--b);border-radius:var(--r);background:linear-gradient(150deg,#34415e 0%,#0b1220 42%,#070b15 70%,#1d2840 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),inset 0 0 0 4px #04070d,0 50px 90px -40px rgba(39,180,245,.55),0 30px 60px rgba(0,0,0,.55)}
.kza-screen{position:relative;width:var(--sw);height:var(--sh);overflow:hidden;border-radius:var(--sr);background:#0d1b36;isolation:isolate}
.kza-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0;display:block}
.kza-screen iframe{position:absolute;left:0;top:0;border:0;margin:0;transform-origin:0 0;pointer-events:none;background:#fff;opacity:0;transition:opacity .45s ease}
.kza-screen iframe[data-ready]{opacity:1}
.kza-island{position:absolute;left:50%;top:calc(var(--b) + var(--sw) * .03);width:calc(var(--sw) * .3);height:calc(var(--sw) * .085);transform:translateX(-50%);border-radius:99px;background:#000;z-index:4;pointer-events:none}
.kza-cam{position:absolute;left:50%;top:calc(var(--b) / 2);width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#3a4c6e,#05080f 70%);pointer-events:none}
.kza-shade{position:absolute;inset:0;border-radius:var(--r);background:#030712;opacity:0;transition:opacity .95s ease;pointer-events:none;z-index:6}
.kza-ring{position:absolute;left:-6px;top:-6px;width:calc(100% + 12px);height:calc(100% + 12px);overflow:visible;pointer-events:none;opacity:0;transition:opacity .35s;z-index:7}
.kza-dev[data-on] .kza-ring{opacity:1}
.kza-ring rect{fill:none;stroke:#8ad8ff;stroke-width:2;stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(39,180,245,.95))}

.kza-touch{position:absolute;inset:0;pointer-events:none;z-index:5;overflow:hidden}
.kza-finger{position:absolute;left:0;top:0;width:var(--kza-f,40px);height:var(--kza-f,40px);margin:calc(var(--kza-f,40px) / -2) 0 0 calc(var(--kza-f,40px) / -2);opacity:0;transition:transform .5s cubic-bezier(.3,.8,.3,1),opacity .3s ease;will-change:transform}
.kza-finger.on{opacity:1}
.kza-dev:not([data-on]) .kza-finger{opacity:0}
.kza-finger i{display:block;width:100%;height:100%;border-radius:50%;background:rgba(255,255,255,.34);border:2px solid rgba(255,255,255,.92);box-shadow:0 4px 14px rgba(0,0,0,.35),0 0 0 6px rgba(39,180,245,.22);box-sizing:border-box;transition:transform .14s ease}
.kza-finger.down i{transform:scale(.76);background:rgba(138,216,255,.55)}
.kza-finger b{position:absolute;inset:0;border-radius:50%;border:2px solid #8ad8ff;opacity:0}
.kza-finger.hit b{animation:kzaRip .6s ease-out}
@keyframes kzaRip{0%{opacity:.9;transform:scale(.7)}100%{opacity:0;transform:scale(2.1)}}

.kza-cap{position:relative;min-height:116px;margin:6px auto 0;padding:0 20px;max-width:640px}
.kza-cap>div{transition:opacity .45s ease,transform .45s ease}
.kza-cap>div[data-out]{opacity:0;transform:translateY(8px)}
.kza-name{margin:0;color:var(--kza-t);font-weight:700;font-size:clamp(22px,2.4vw,30px);letter-spacing:-.01em}
.kza-kind{margin:6px 0 0;color:var(--kza-c2);font-weight:600;font-size:15px}
.kza-line{margin:10px auto 0;max-width:30em;color:var(--kza-m);font-size:16px;line-height:1.6}
html[dir=rtl] .kza-name{letter-spacing:0}

.kza-nav{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:14px;direction:ltr}
.kza-nav button{display:grid;place-items:center;width:54px;height:54px;padding:0;border-radius:50%;border:1px solid rgba(120,175,235,.28);background:rgba(8,19,40,.75);color:#f3f7fd;cursor:pointer;transition:border-color .25s,background-color .25s,transform .25s}
.kza-nav button:hover{border-color:#27b4f5;background:rgba(39,180,245,.16)}
.kza-nav button:active{transform:scale(.94)}
.kza-nav button:focus-visible{outline:2px solid #8ad8ff;outline-offset:3px}
.kza-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kza-count{min-width:84px;color:#a3b4cc;font-size:16px;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.kza-count b{color:#fff;font-weight:700}

@media (max-width:760px){
  .kza-nav button{width:48px;height:48px}
  .kza-cap{min-height:132px}
  .kza-line{font-size:15px}
}
@media (prefers-reduced-motion:reduce){
  .kza-dev,.kza-shade,.kza-cap>div{transition-duration:.01s}
  .kza-h span{transition:none}
  .kza-h[data-in] span{animation:none;background-position:0 0}
  .kza-finger{transition-duration:.15s}
}

/* Le même plateau sur l’accueil et la formation. */
#nos-applications{display:block;max-width:none;width:100%;clear:both;isolation:isolate}
#nos-applications .kza-head{display:block;position:relative;background:none;border:0;padding:0;min-height:0;text-align:center}
#nos-applications .kza-nav{position:relative;inset:auto}

/* Accueil : un plateau intégré entre l’introduction et nos clients. */
.kza-home{position:relative;background:radial-gradient(ellipse at 50% 58%,rgba(22,75,117,.16),transparent 63%);border-block:1px solid rgba(138,216,255,.08)}
.kza-home::before{content:"";position:absolute;top:0;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,#8ad8ff77,transparent);pointer-events:none}
.kza-home .kza-head{max-width:1080px;margin:auto}
.kza-home .kza-lead{max-width:36em}
.kza-home .kza-stage{perspective:1850px;perspective-origin:50% 42%}
.kza-home .kza-pause{width:40px;height:40px;margin-inline-start:8px;opacity:.72}
.kza-home .kza-pause:hover,.kza-home .kza-pause[aria-pressed=true]{opacity:1;border-color:#8ad8ff}
.kza-home .kza-pause svg{width:18px;height:18px}
.kza-orbit-glow{display:none;position:absolute;left:50%;bottom:calc(var(--kza-base,104px) - 80px);width:min(1200px,140vw);height:190px;border:1px solid #8ad8ff70;border-radius:50%;transform:translateX(-50%);box-shadow:0 0 70px #27b4f550,inset 0 0 65px #27b4f530;pointer-events:none}
.kza-spinning .kza-orbit-glow{display:block;animation:kzaOrbitGlow 4.4s ease-in-out both}
.kza-spinning .kza-dev,.kza-spinning .kza-shade{transition:none!important}
.kza-spinning .kza-ring{opacity:0}
.kza-spinning .kza-finger{opacity:0!important}
.kza-spinning .kza-floor{animation:kzaOrbitFloor 4.4s ease-in-out both}
.kza-motion-paused .kza-orbit-glow,.kza-motion-paused .kza-floor{animation-play-state:paused}
@keyframes kzaOrbitGlow{0%,100%{opacity:0;transform:translateX(-50%) scale(.68)}20%{opacity:.7}55%{opacity:1;transform:translateX(-50%) scale(1.04)}85%{opacity:.65}}
@keyframes kzaOrbitFloor{0%,100%{filter:brightness(1);transform:translateX(-50%) scale(1)}50%{filter:brightness(1.75);transform:translateX(-50%) scale(1.12)}}
@media(prefers-reduced-motion:reduce){.kza-orbit-glow{display:none!important}.kza-home .kza-floor{animation:none!important}}

.kza-tools{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px auto 0;padding:0 16px;direction:ltr}
.kza-tools button{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:42px;border:1px solid rgba(138,216,255,.28);border-radius:999px;background:#081328;color:#dcedfa;cursor:pointer;font:600 13px/1.2 system-ui;padding:0 16px;transition:background .2s,border-color .2s}
.kza-tools button:hover{background:#123049;border-color:#8ad8ff}
.kza-tools button:focus-visible{outline:2px solid #8ad8ff;outline-offset:4px}
.kza-tools svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.kza-tools .kza-pause{width:42px;height:42px;padding:0;margin:0}
.kza-audio[aria-pressed=false] .kza-speaker-waves,.kza-audio[aria-pressed=true] .kza-speaker-mute{display:none}
.kza-audio[aria-pressed=true]{border-color:#71cef2;background:#143b53}

/* Commandes audio sur le plateau, directement sous les appareils. */
.kza-stage .kza-tools{position:absolute;left:0;right:0;bottom:10px;z-index:120;margin:0;pointer-events:auto;user-select:none}
@media(max-width:760px){
  html.kza-view .kzk-whatsapp{width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important;box-sizing:border-box;padding:12px!important;border-radius:50%!important;gap:0!important;justify-content:center!important}
  html.kza-view .kzk-whatsapp span{display:none!important}
  .kza-stage .kza-tools{bottom:8px}
}

/* Shared controls and audio feedback on both pages. */
.kza .kza-pause{width:42px;height:42px;padding:0}
.kza-audio-status{margin:8px auto 0;max-width:34em;padding:0 18px;color:#ffcd87;font:14px/1.5 system-ui;min-height:0}
.kza-audio-status:empty{display:none}
@media(prefers-reduced-motion:reduce){.kza .kza-floor{animation:none!important}}
