/* MSV — animação suave de seis símbolos em órbita em torno do círculo central.
   Preserve o centro imóvel, os ícones e legendas na vertical e a diagramação
   responsiva original. Projeto revisado em 21/10/2026. */
.msv-ecs-orbit {
  isolation: isolate;
}
.msv-ecs-orbit-track {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(calc(100% - 40px), 450px);
  aspect-ratio: 1;
  pointer-events: none;
  z-index: 2;
  transform-origin: 50% 50%;
  animation: msv-orbita-girar 36s linear infinite;
  will-change: transform;
}
.msv-ecs-orbit-track::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px dashed rgba(165, 132, 54, .22);
  border-radius: 50%;
  pointer-events: none;
}
.msv-ecs-core { z-index: 1; }
.msv-ecs-orbit-track .msv-ecs-orbit-item {
  position: absolute;
  display: block;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.msv-ecs-orbit-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  white-space: nowrap;
  animation: msv-orbita-manter-em-pe 36s linear infinite;
}
/* Seis lugares equidistantes, com o mesmo raio. */
.msv-ecs-orbit-track .ecs-health { left: 50%; top: 0%; }
.msv-ecs-orbit-track .ecs-balance { left: 93.3013%; top: 25%; }
.msv-ecs-orbit-track .ecs-longevity { left: 93.3013%; top: 75%; }
.msv-ecs-orbit-track .ecs-quality { left: 50%; top: 100%; }
.msv-ecs-orbit-track .ecs-vitality { left: 6.6987%; top: 75%; }
.msv-ecs-orbit-track .ecs-wellbeing { left: 6.6987%; top: 25%; }
@keyframes msv-orbita-girar {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes msv-orbita-manter-em-pe {
  from { transform: rotate(0deg); }
  to { transform: rotate(-360deg); }
}
/* Pausa a órbita enquanto o visitante observa os elementos. */
.msv-ecs-orbit:hover .msv-ecs-orbit-track,
.msv-ecs-orbit:hover .msv-ecs-orbit-badge { animation-play-state: paused; }
@media (max-width: 520px) {
  .msv-ecs-orbit-track {
    width: min(calc(100% - 60px), 294px);
  }
  .msv-ecs-orbit-badge { gap: 3px; }
}
@media (max-width: 360px) {
  .msv-ecs-core { width: 150px; height: 150px; }
  .msv-ecs-core span { font-size: 10px; }
}
/* Preferências de acessibilidade: pessoas sensíveis a movimento
   enxergam a mesma composição, parada. */
@media (prefers-reduced-motion: reduce) {
  .msv-ecs-orbit-track,
  .msv-ecs-orbit-badge { animation: none !important; }
}
