/* Hero atom animation — local to home */
.atomviz { position: relative; width: min(100%, 440px); aspect-ratio: 1; margin-inline: auto; }
.atomviz svg { width: 100%; height: 100%; overflow: visible; }
.atomviz .orbit { transform-box: fill-box; transform-origin: center; animation: spin 22s linear infinite; }
.atomviz .orbit.o2 { animation-duration: 30s; animation-direction: reverse; }
.atomviz .orbit.o3 { animation-duration: 26s; }
.atomviz .electron { transform-box: fill-box; transform-origin: 220px 220px; }
.atomviz .e1 { animation: orbit1 7s linear infinite; }
.atomviz .e2 { animation: orbit2 9s linear infinite; }
.atomviz .e3 { animation: orbit3 11s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes orbit1 { to { transform: rotate(360deg); } }
@keyframes orbit2 { to { transform: rotate(-360deg); } }
@keyframes orbit3 { to { transform: rotate(360deg); } }
.atomviz .nucleus { animation: pulse 4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
@keyframes pulse { 0%,100%{ transform: scale(1); } 50%{ transform: scale(1.08); } }
@media (prefers-reduced-motion: reduce){ .atomviz * { animation: none !important; } }
.hero__badges { display: flex; gap: 22px; flex-wrap: wrap; margin-top: 40px; align-items: center; }
.hero__badge { display: flex; align-items: center; gap: 9px; font-size: .9rem; color: var(--slate-400); font-weight: 600; }
.hero__badge svg { width: 18px; height: 18px; color: var(--cyan-300); }
.logos-row { display: flex; flex-wrap: wrap; gap: 14px 44px; align-items: center; justify-content: center; opacity: .8; }
.logos-row span { font-family: var(--font-display); font-weight: 600; font-size: 1.25rem; color: var(--slate-400); letter-spacing: -.01em; }
