/* LimeDesk-hub (homepage onder "Wat onze klanten zeggen"): 3D-baan met kanalen rond Limey.
   Bron/prototype: Marketing/visuals-bron/hub-animatie.html. JS: assets/js/limey-hub.js */
.ld-orbit-section { padding: 40px 0 110px; overflow: hidden; }
.ld-orbit { position: relative; width: min(1240px, calc(100% - 48px)); margin: 0 auto; user-select: none; -webkit-user-select: none; }
.ld-orbit__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.ld-orbit__limey { position: absolute; left: 0; top: 0; z-index: 100; pointer-events: none; transition: transform .45s cubic-bezier(.34,1.56,.64,1); will-change: transform; }
.ld-orbit__limey.is-bump { transform: translateY(-5px); }
.ld-orbit__node { position: absolute; left: 0; top: 0; transform-origin: 50% 100%; will-change: transform, opacity; }
.ld-orbit__tile { position: relative; width: 100%; height: 100%; border-radius: 27%; display: flex; align-items: center; justify-content: center;
  background: var(--bg); box-shadow: inset 0 1px 0 rgba(255,255,255,.55), inset 0 -2px 5px rgba(0,0,0,.12), 0 3px 0 var(--edge), 0 14px 22px -10px rgba(15,23,42,.45), 0 2px 5px rgba(15,23,42,.10); }
.ld-orbit__tile::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.42) 0%, rgba(255,255,255,.10) 42%, rgba(255,255,255,0) 52%); }
.ld-orbit__tile::before { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; box-shadow: 0 0 0 0 rgba(34,197,94,.55); }
.ld-orbit__tile--light { --bg: linear-gradient(180deg,#ffffff,#f1f5f9); --edge: #d5dde7; box-shadow: inset 0 0 0 1px #e2e8f0, inset 0 -2px 5px rgba(0,0,0,.05), 0 3px 0 var(--edge), 0 14px 22px -10px rgba(15,23,42,.35), 0 2px 5px rgba(15,23,42,.08); }
.ld-orbit__tile img, .ld-orbit__tile svg { width: 56%; height: 56%; object-fit: contain; position: relative; z-index: 1; pointer-events: none; }
.ld-orbit__tile img.lg { width: 68%; height: 68%; }
.ld-orbit__node.is-pop .ld-orbit__tile { animation: ldOrbitPop .7s cubic-bezier(.34,1.56,.64,1); }
.ld-orbit__node.is-pop .ld-orbit__tile::before { animation: ldOrbitRing .8s ease-out; }
@keyframes ldOrbitPop { 0% { transform: scale(1); } 35% { transform: scale(1.2) translateY(-6%); } 100% { transform: scale(1); } }
@keyframes ldOrbitRing { 0% { box-shadow: 0 0 0 0 rgba(34,197,94,.55); } 100% { box-shadow: 0 0 0 14px rgba(34,197,94,0); } }
.ld-orbit__pulse { fill: none; stroke-linecap: round; stroke-dasharray: 0 1; }
.ld-orbit__pulse--in  { stroke: #0ea5e9; filter: drop-shadow(0 0 5px rgba(14,165,233,.8)); }
.ld-orbit__pulse--out { stroke: #22c55e; filter: drop-shadow(0 0 5px rgba(34,197,94,.85)); }
@media (max-width: 640px) { .ld-orbit-section { padding: 16px 0 72px; } }

/* 09-10 (Robbin): zonder ringen, stippellijn, grijze lijnen en podium — alleen iconen, pulsen en Limey.
   De podium-gloed wordt een zachte schaduw onder Limey. */
.ld-orbit__rings, .ld-orbit__lines, .ld-orbit__pulses, .ld-orbit__podium .pod-side, .ld-orbit__podium .pod-top, .ld-orbit__podium .pod-ping { display: none; }
.ld-orbit__podium .pod-glow { fill: #0f172a; opacity: .13; }
