/* NEXORA signal atlas — a text-free, code-native hero illustration. */
.mentor-theme .mentor-visual {
  --mv-x: 0px;
  --mv-y: 0px;
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: 520px;
  aspect-ratio: 600 / 648;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

/* Without scripting, keep a circular signal motif instead of a rectangular panel. */
.mentor-theme .mentor-visual::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 11%;
  border: 1px dashed #93b2f47d;
  border-radius: 50%;
  background: radial-gradient(circle, #77d9ff25 0 18%, #7896d823 19% 33%, transparent 34%);
  box-shadow: 0 0 0 34px #7996ed0d, 0 0 0 70px #89aafa08;
}
.mentor-theme .mentor-visual.mv-ready::before { opacity: 0; }
.mentor-theme .mentor-visual .mv-svg { display: block; width: 100%; height: 100%; filter: drop-shadow(0 18px 34px #030a235c); }
.mentor-theme .mentor-visual .mv-depth {
  transform: translate3d(var(--mv-x), var(--mv-y), 0);
  transition: transform .25s ease-out;
}
.mentor-theme .mentor-visual .mv-ring-outer {
  transform-origin: 300px 323px;
  animation: mv-orbit 34s linear infinite;
}
.mentor-theme .mentor-visual .mv-ring-inner {
  transform-origin: 300px 323px;
  animation: mv-orbit 22s linear infinite reverse;
}
.mentor-theme .mentor-visual .mv-stream {
  stroke-dasharray: 5 15;
  animation: mv-flow 4.5s linear infinite;
}
.mentor-theme .mentor-visual .mv-stream-alt { animation-direction: reverse; }
.mentor-theme .mentor-visual .mv-node-glow,
.mentor-theme .mentor-visual .mv-avatar-glow {
  transform-box: fill-box;
  transform-origin: center;
  animation: mv-pulse 5s ease-in-out infinite;
}
.mentor-theme .mentor-visual .mv-node-glow:nth-of-type(2) { animation-delay: -1.6s; }
.mentor-theme .mentor-visual .mv-scan {
  animation: mv-scan 6.8s ease-in-out infinite;
}
.mentor-theme .mentor-visual .mv-spark {
  animation: mv-twinkle 3.5s ease-in-out infinite alternate;
}
.mentor-theme .mentor-visual .mv-spark:nth-child(2n) { animation-delay: -1.1s; }
.mentor-theme .mentor-visual .mv-spark:nth-child(3n) { animation-delay: -2.2s; }

@keyframes mv-orbit { to { transform: rotate(360deg); } }
@keyframes mv-flow { to { stroke-dashoffset: -160; } }
@keyframes mv-pulse { 50% { opacity: .5; transform: scale(1.13); } }
@keyframes mv-scan { 0%, 10% { transform: translateY(-180px); opacity: 0; } 22% { opacity: .75; } 82% { opacity: .55; } 100% { transform: translateY(245px); opacity: 0; } }
@keyframes mv-twinkle { to { opacity: .25; } }

@media (max-width: 1000px) {
  .mentor-theme .mentor-visual { max-width: 600px; }
}
@media (max-width: 600px) {
  .mentor-theme .mentor-visual { max-width: 400px; }
}
@media (prefers-reduced-motion: reduce) {
  .mentor-theme .mentor-visual *, .mentor-theme .mentor-visual::before, .mentor-theme .mentor-visual::after {
    animation: none !important;
    transition: none !important;
  }
}
