.nav-dots {
  position: fixed;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.nav-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(88, 166, 255, 0.3);
  border: 2px solid rgba(88, 166, 255, 0.5);
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}

.nav-dot:hover {
  transform: scale(1.3);
  background: rgba(88, 166, 255, 0.6);
}

.nav-dot.active {
  background: #58a6ff;
  box-shadow: 0 0 15px rgba(88, 166, 255, 0.8);
  transform: scale(1.5);
}

.nav-dot::after {
  content: attr(data-title);
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
  background: rgba(22, 27, 34, 0.95);
  padding: 0.5rem 1rem;
  border-radius: 6px;
  font-size: 0.875rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  border: 1px solid rgba(88, 166, 255, 0.3);
}

.nav-dot:hover::after {
  opacity: 1;
}