/* VideoMedico — pagina Collabora con noi */
.cb-ben>*{min-width:0}

/* ---------- hero: rete di strutture ---------- */
.cb-hero .panel{align-items:center}
.cb-ctas{display:flex;flex-wrap:wrap;gap:12px}
.cb-net{position:relative;width:100%;max-width:440px;justify-self:center;aspect-ratio:1/1;perspective:1100px}
.cb-orbit{position:absolute;inset:0;transform-style:preserve-3d;animation:cb-tilt 10s ease-in-out infinite alternate;will-change:transform}
@keyframes cb-tilt{from{transform:rotateX(14deg) rotateY(-12deg)}to{transform:rotateX(4deg) rotateY(12deg)}}
.cb-lines{position:absolute;inset:0;width:100%;height:100%}
.cb-lines path{stroke:rgba(188,210,234,.55);stroke-width:1.6;stroke-dasharray:5 7;animation:cb-dash 1.4s linear infinite}
@keyframes cb-dash{to{stroke-dashoffset:-24}}
.cb-lines circle:not([r="150"]):not([r="92"]){fill:#fff}
.cb-lines>circle[r="150"]{transform-origin:200px 200px;animation:spin 40s linear infinite}
.cb-core{position:absolute;left:50%;top:50%;width:26%;aspect-ratio:1;margin:-13% 0 0 -13%;border-radius:30%;display:grid;place-items:center;background:#fff;box-shadow:0 30px 60px rgba(5,20,38,.45),0 0 0 10px rgba(255,255,255,.08);transform:translateZ(50px)}
.cb-core::after{content:"";position:absolute;inset:-18px;border-radius:36%;border:1.5px solid rgba(255,255,255,.35);animation:ring 2.6s var(--ease-out) infinite}
.cb-core img{width:58%}
.cb-node{position:absolute;display:inline-flex;align-items:center;gap:9px;padding:9px 14px 9px 9px;border-radius:999px;background:rgba(255,255,255,.95);color:var(--ink);font-size:14px;font-weight:700;white-space:nowrap;box-shadow:var(--sh-l);transform:translate(-50%,-50%) translateZ(30px);animation:cb-float 5s ease-in-out infinite}
.cb-node i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--mist-2);color:var(--b700);flex:none}
.cb-node svg{width:17px;height:17px}
.n1{left:18%;top:24%}.n2{left:82.5%;top:27.5%;animation-delay:-1.2s}.n3{left:82.5%;top:74%;animation-delay:-2.4s}.n4{left:22%;top:75%;animation-delay:-3.6s}
@keyframes cb-float{0%,100%{transform:translate(-50%,-50%) translateZ(30px)}50%{transform:translate(-50%,calc(-50% - 10px)) translateZ(30px)}}
@media (max-width:860px){.cb-net{max-width:380px;margin-top:10px}}
@media (max-width:520px){
  .cb-net{max-width:330px}
  .cb-node{font-size:12.5px;padding:7px 11px 7px 7px;gap:7px}
  .cb-node i{width:26px;height:26px}.cb-node svg{width:14px;height:14px}
  .n1{left:24%;top:20%}.n2{left:76%;top:24%}.n3{left:78%;top:66%}.n4{left:32%;top:86%}
  .cb-ctas .btn{flex:1 1 100%}
}

/* ---------- vantaggi ---------- */
.cb-ic{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:var(--grad);color:#fff;box-shadow:0 14px 26px rgba(32,80,128,.3);margin-bottom:8px;transition:transform .5s var(--ease-out)}
.cb-ic svg{width:28px;height:28px}
@media (hover:hover) and (pointer:fine){.card:hover .cb-ic{transform:translateY(-4px) rotate(-6deg)}}
@keyframes cb-bob{0%,100%{transform:none}50%{transform:translateY(-5px) rotate(-5deg)}}
.touch .cb-ic{animation:cb-bob 3.6s ease-in-out infinite}
.touch .cb-ben .card:nth-child(2) .cb-ic{animation-delay:-1.2s}.touch .cb-ben .card:nth-child(3) .cb-ic{animation-delay:-2.4s}

/* ---------- a chi ci rivolgiamo ---------- */
.cb-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.cb-chips li{padding:10px 16px;border-radius:999px;background:var(--mist);border:1px solid var(--mist-2);color:var(--b700);font-weight:600;font-size:15px}

/* ---------- cosa succede dopo ---------- */
.cb-next-wrap{position:relative;margin-top:6px}
.cb-line{position:absolute;left:21px;top:22px;bottom:22px;width:2px;border-radius:2px;background:rgba(255,255,255,.18)}
.cb-line i{display:block;height:100%;border-radius:2px;background:linear-gradient(180deg,#fff,#9CC3E6);transform:scaleY(0);transform-origin:top}
.cb-next{list-style:none;margin:0;padding:0;display:grid;gap:20px}
.cb-st{position:relative;display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start}
.cb-st>div{opacity:.45;transition:opacity .5s ease}
.cb-st.on>div{opacity:1}
.cb-st .dot{color:#9CC3E6}

.cb-st .dot{position:relative;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#16385c;border:1.5px solid rgba(255,255,255,.28);font-weight:700;transition:background-color .4s ease,color .4s ease,transform .5s var(--ease-out)}
.cb-st.on .dot{background:#fff;color:var(--b700);border-color:#fff;transform:scale(1.05)}
.cb-st .dot::after{content:"";position:absolute;inset:-6px;border-radius:18px;border:2px solid rgba(255,255,255,.6);opacity:0}
.cb-st.cur .dot::after{animation:ring 1.8s var(--ease-out) infinite}
.cb-st b{display:block;font-size:17.5px;letter-spacing:-.01em;line-height:1.3;padding-top:2px}
.cb-st p{font-size:15px;color:#D8E6F4;margin-top:3px}
@media (max-width:900px){.cb-ben{grid-template-columns:1fr}}
