/* Home: visual circular discreto. Solo este bloque se reemplaza. */
.cerodos-orbit-stage{width:100%;height:320px;display:flex;align-items:center;justify-content:center;border-radius:24px;background:radial-gradient(ellipse at center,#fff 0%,#fff 70%,rgba(255,255,255,.97) 86%,rgba(255,255,255,.85) 100%);}
.cerodos-orbit{display:block;width:100%;height:100%;overflow:visible;}
@keyframes orbit-company-in{from{opacity:0;transform:translate(-10px,-6px)}to{opacity:1;transform:translate(0,0)}}
@keyframes orbit-process-in{from{opacity:0;transform:translate(10px,-4px)}to{opacity:1;transform:translate(0,0)}}
@keyframes orbit-data-in{from{opacity:0;transform:translate(0,10px)}to{opacity:1;transform:translate(0,0)}}
@keyframes orbit-connect{from{stroke-dashoffset:1;opacity:0}to{stroke-dashoffset:0;opacity:1}}
.cerodos-orbit-stage.is-playing .orbit-company{animation:orbit-company-in 640ms ease-out both;}
.cerodos-orbit-stage.is-playing .orbit-process{animation:orbit-process-in 640ms ease-out 128ms both;}
.cerodos-orbit-stage.is-playing .orbit-data{animation:orbit-data-in 640ms ease-out 256ms both;}
.cerodos-orbit-stage.is-playing .orbit-link{stroke-dasharray:1;animation:orbit-connect 960ms ease-in-out 440ms both;}
.cerodos-orbit-stage.is-waiting .orbit-item,.cerodos-orbit-stage.is-waiting .orbit-link{opacity:0;}
@media(prefers-reduced-motion:reduce){.cerodos-orbit-stage .orbit-item,.cerodos-orbit-stage .orbit-link{animation:none!important;opacity:1!important;stroke-dasharray:none!important;transform:none!important;}}

/* v18: sin panel, contorno blanco individual con margen de 4 unidades SVG y sombra discreta. */
.cerodos-orbit-stage{background:none;border-radius:0;}

/* v19: órbita continua tras la aparición inicial.
   .orbit-spin envuelve líneas + íconos y rota como una sola rueda
   alrededor del centro del viewBox (300,210): así las conexiones curvas
   se mueven junto con los íconos, no se desarman. Cada ícono tiene
   además un <g class="orbit-spin__counter"> propio que gira en sentido
   contrario a la misma velocidad, así el dibujo queda derecho aunque su
   posición recorra la circunferencia (no gira sobre sí mismo).
   Arranca recién cuando JS agrega .is-orbiting, en el mismo instante en
   que termina la aparición inicial (se quita .is-playing): el primer
   frame de la órbita es 0deg, idéntico al reposo post-intro, así que no
   hay salto. Pausa (fuera de pantalla / pestaña oculta / botón) vía
   animation-play-state, que conserva el punto exacto de la vuelta. */
.cerodos-orbit-stage{position:relative;}
.orbit-spin{transform-box:view-box;transform-origin:300px 210px;}
.orbit-spin__counter{transform-box:fill-box;transform-origin:center;}

@keyframes cerodos-orbit-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes cerodos-orbit-spin-counter{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}

@media(prefers-reduced-motion:no-preference){
  .cerodos-orbit-stage.is-orbiting .orbit-spin{animation:cerodos-orbit-spin 28s linear infinite;}
  .cerodos-orbit-stage.is-orbiting .orbit-spin__counter{animation:cerodos-orbit-spin-counter 28s linear infinite;}
  .cerodos-orbit-stage.is-orbit-paused .orbit-spin,
  .cerodos-orbit-stage.is-orbit-paused .orbit-spin__counter{animation-play-state:paused;}
}

@media(prefers-reduced-motion:reduce){
  .orbit-spin,.orbit-spin__counter{animation:none!important;transform:none!important;}
  .orbit-toggle{display:none;}
}

/* Control de pausa/reanudación: discreto, esquina inferior derecha del
   visual, con objetivo táctil de 32px y foco visible propio. */
.orbit-toggle{
  position:absolute;
  right:10px;
  bottom:10px;
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid var(--color-border);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:var(--color-text-muted);
  cursor:pointer;
  transition:border-color 150ms ease,color 150ms ease,background-color 150ms ease;
}
.orbit-toggle:hover{border-color:var(--color-blue);color:var(--color-blue);}
.orbit-toggle svg{width:14px;height:14px;}
.orbit-toggle__icon-play{display:none;}
.orbit-toggle.is-paused .orbit-toggle__icon-pause{display:none;}
.orbit-toggle.is-paused .orbit-toggle__icon-play{display:block;}
