/* Civitas Nexus AI CRM V1.5 · Sede viva: animazione dell'immagine ufficiale della home */
.scene-life{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}
.scene-life i{position:absolute;display:block}
/* Ritagli delle persone: sfumati sui bordi per non mostrare giunture */
.sl-slice{background-repeat:no-repeat;-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 52%,transparent 74%);mask-image:radial-gradient(ellipse at 50% 50%,#000 52%,transparent 74%);animation-timing-function:ease-in-out;animation-iteration-count:infinite;will-change:transform}
.sl-head{transform-origin:50% 100%;animation-name:sl-head}
.sl-head-back{transform-origin:50% 100%;animation-name:sl-head-back}
.sl-breath{transform-origin:50% 100%;animation-name:sl-breath}
.sl-type{animation-name:sl-type;animation-direction:alternate}
.sl-gesture{transform-origin:100% 50%;animation-name:sl-gesture}
.sl-stand{transform-origin:50% 100%;animation-name:sl-stand;-webkit-mask-image:radial-gradient(ellipse at 50% 45%,#000 55%,transparent 72%);mask-image:radial-gradient(ellipse at 50% 45%,#000 55%,transparent 72%)}
@keyframes sl-head{0%,100%{transform:rotate(0) translateX(0)}22%{transform:rotate(-3deg) translateX(-.6px)}30%{transform:rotate(-3deg) translateX(-.6px)}58%{transform:rotate(2.4deg) translateX(.5px)}70%{transform:rotate(2.4deg) translateX(.5px)}86%{transform:rotate(0) translateY(.6px)}}
@keyframes sl-head-back{0%,100%{transform:rotate(0)}35%{transform:rotate(2deg)}48%{transform:rotate(2deg)}75%{transform:rotate(-1.6deg)}}
@keyframes sl-breath{0%,100%{transform:scale(1,1)}50%{transform:scale(1.008,1.022) translateY(-.4px)}}
@keyframes sl-type{0%{transform:translate(0,0)}35%{transform:translate(.6px,1.2px)}70%{transform:translate(-.5px,.3px)}100%{transform:translate(.3px,1px)}}
@keyframes sl-gesture{0%,100%{transform:rotate(0)}40%{transform:rotate(-4deg) translateY(-1px)}60%{transform:rotate(-2deg)}}
@keyframes sl-stand{0%,100%{transform:rotate(-.7deg)}50%{transform:rotate(.8deg)}}

/* Schermi che lavorano */
.sl-screen{mix-blend-mode:screen;border-radius:2px;overflow:hidden;animation:sl-flicker 4s ease-in-out infinite}
.sl-desk{background:repeating-linear-gradient(180deg,rgba(120,220,255,.22) 0 1px,transparent 1px 4px),linear-gradient(180deg,rgba(80,200,255,.28),rgba(40,120,255,.08));background-size:100% 9px,100% 100%;animation:sl-flicker 3.2s ease-in-out infinite,sl-scroll 1.6s linear infinite}
.sl-wall{background:linear-gradient(180deg,transparent 0,rgba(140,235,255,.55) 48%,transparent 54%) no-repeat,radial-gradient(ellipse at 50% 50%,rgba(70,170,255,.22),transparent 70%);background-size:100% 40%,100% 100%;animation:sl-flicker 5s ease-in-out infinite,sl-scan 3.6s linear infinite}
@keyframes sl-flicker{0%,100%{opacity:.45}40%{opacity:.9}55%{opacity:.6}70%{opacity:1}}
@keyframes sl-scroll{from{background-position:0 0,0 0}to{background-position:0 -9px,0 0}}
@keyframes sl-scan{from{background-position:0 -140%,0 0}to{background-position:0 240%,0 0}}

/* Globo della Direzione */
.sl-globe{border-radius:50%;mix-blend-mode:screen;background:linear-gradient(100deg,transparent 30%,rgba(130,230,255,.55) 46%,rgba(60,255,200,.25) 52%,transparent 66%);background-size:300% 100%;animation:sl-globe 6s linear infinite;box-shadow:0 0 24px rgba(60,180,255,.28)}
.sl-globe:after{content:"";position:absolute;width:7%;height:7%;left:46%;top:-3%;border-radius:50%;background:#bff6ff;box-shadow:0 0 10px #4fe3ff;transform-origin:50% 760%;animation:sl-orbit 7s linear infinite}
@keyframes sl-globe{from{background-position:100% 0}to{background-position:-100% 0}}
@keyframes sl-orbit{to{transform:rotate(360deg)}}

/* Luci di neon e città */
.sl-glow{top:0;right:0;bottom:0;left:0;background-size:100% 100%;mix-blend-mode:screen;filter:contrast(3.4) brightness(.55) saturate(1.7);opacity:0;animation:sl-neon 5.5s ease-in-out infinite}
@keyframes sl-neon{0%,100%{opacity:.05}50%{opacity:.34}}
.sl-star{width:3px;height:3px;border-radius:50%;background:#bfeaff;box-shadow:0 0 6px 1px rgba(120,210,255,.8);opacity:0;animation:sl-twinkle 3s ease-in-out infinite}
@keyframes sl-twinkle{0%,100%{opacity:0}50%{opacity:.85}}
.sl-sweep{top:-20%;bottom:-20%;width:18%;left:-30%;background:linear-gradient(100deg,transparent,rgba(160,230,255,.10),transparent);transform:skewX(-18deg);mix-blend-mode:screen;animation:sl-sweep 11s ease-in-out infinite}
@keyframes sl-sweep{0%{left:-30%}60%,100%{left:120%}}

/* Pulsante pausa sulla mappa */
.scene-top .float-pill.btn-scene-motion{cursor:pointer;font:inherit;font-size:11px}
.scene-top .float-pill.btn-scene-motion:hover{border-color:var(--green)}
.scene-live-badge .dot{animation:room-pulse 1.8s infinite ease-in-out}

/* Pausa e riduzione movimento */
:root[data-staff-motion="off"] .scene-life *,:root[data-staff-motion="off"] .scene-life *:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.scene-life{display:none}}
