/* Superplural: figuras isométricas dos cartões de serviço */
.sph-svc-card.has-fig .sph-svc-icon{display:none}
.sp-fig{position:relative;height:150px;margin:0 0 var(--sp-2);display:flex;align-items:center;justify-content:center}
.sp-fig svg{width:100%;height:100%;overflow:visible}
.sp-fig polygon,.sp-fig polyline{stroke:rgba(255,255,255,.62);stroke-width:1;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.sp-fig .t{fill:#4a4a4a}.sp-fig .r{fill:#404040}.sp-fig .l{fill:#333}
.sp-fig .d{fill:none;stroke:rgba(255,255,255,.4)}
.sp-fig g{transition:transform .8s cubic-bezier(.16,1,.3,1)}

/* 1. camadas: abrem ao passar o mouse */
.sp-fig .pl{transform:translateY(calc(var(--i)*-3px))}
.sph-svc-card:hover .sp-fig .pl{transform:translateY(calc(var(--i)*-15px))}

/* 2. barras: crescem em sequência e a linha de tendência se desenha */
.sp-fig .bar{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(.66);transition-delay:calc(var(--i)*45ms)}
.sph-svc-card:hover .sp-fig .bar{transform:scaleY(1)}
.sp-fig .trend{vector-effect:none;fill:none;stroke:#fff;stroke-width:1.4;stroke-dasharray:1 1;stroke-dashoffset:1.02;stroke-linecap:butt;opacity:0;transition:stroke-dashoffset 1.1s cubic-bezier(.16,1,.3,1) .3s,opacity .2s .3s}
.sph-svc-card:hover .sp-fig .trend{stroke-dashoffset:0;opacity:1}

/* 3. cubos: se afastam como peças de uma plataforma */
.sp-fig .cb-d{transform:translateY(-3px)}
.sph-svc-card:hover .sp-fig .cb-d{transform:translateY(-17px)}
.sph-svc-card:hover .sp-fig .cb-b{transform:translate(11px,6px)}
.sph-svc-card:hover .sp-fig .cb-c{transform:translate(-11px,6px)}

/* sem mouse (celular/tablet): movimento suave sozinho */
@media (hover:none){
  .sp-fig .pl{animation:sp-pl 5s ease-in-out infinite}
  .sp-fig .bar{animation:sp-bar 5s ease-in-out infinite;animation-delay:calc(var(--i)*110ms)}
  .sp-fig .trend{animation:sp-tr 5s ease-in-out infinite}
  .sp-fig .cb-d{animation:sp-cd 5s ease-in-out infinite}
  .sp-fig .cb-b{animation:sp-cb 5s ease-in-out infinite}
  .sp-fig .cb-c{animation:sp-cc 5s ease-in-out infinite}
}
@keyframes sp-pl{0%,100%{transform:translateY(calc(var(--i)*-3px))}50%{transform:translateY(calc(var(--i)*-13px))}}
@keyframes sp-bar{0%,100%{transform:scaleY(.66)}50%{transform:scaleY(1)}}
@keyframes sp-tr{0%,100%{stroke-dashoffset:1.02;opacity:0}12%{opacity:1}55%,85%{stroke-dashoffset:0;opacity:1}}
@keyframes sp-cd{0%,100%{transform:translateY(-3px)}50%{transform:translateY(-15px)}}
@keyframes sp-cb{0%,100%{transform:translate(0,0)}50%{transform:translate(10px,6px)}}
@keyframes sp-cc{0%,100%{transform:translate(0,0)}50%{transform:translate(-10px,6px)}}
@media (prefers-reduced-motion:reduce){
  .sp-fig *{animation:none!important;transition:none!important}
}
