/* Brand and connected visuals shared by public page shells. */
.brand {
  min-width: 198px !important;
}
.brand img {
  display: block !important;
  width: 198px !important;
  height: auto !important;
  max-height: 68px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 26px rgba(66, 126, 224, 0.15));
}
.footer .brand img {
  width: 176px !important;
}
.nav {
  gap: 4px !important;
}
.nav a {
  padding-inline: 14px !important;
}
.nav a:first-child {
  color: #f7fbff;
}
.nav a:first-child.active {
  background: linear-gradient(
    180deg,
    rgba(80, 130, 220, 0.18),
    rgba(255, 255, 255, 0.05)
  );
  border: 1px solid rgba(151, 188, 238, 0.12);
}
.page-visual > .mini-loop,
.page-visual > .mini-core {
  display: none !important;
}
.page-visual-connected {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 390px !important;
  position: relative !important;
  overflow: visible !important;
}
.internal-network-visual {
  position: relative;
  width: min(390px, 90%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  isolation: isolate;
}
.internal-network-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
}
.internal-glow {
  position: absolute;
  inset: 5%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(72, 143, 255, 0.24),
    rgba(47, 108, 246, 0.08) 46%,
    transparent 72%
  );
  filter: blur(22px);
  animation: internalGlow 5.8s ease-in-out infinite alternate;
}
.internal-network-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  filter: drop-shadow(0 28px 54px rgba(18, 70, 158, 0.24));
  animation: internalFloat 7.5s ease-in-out infinite;
}
.internal-network-caption {
  position: relative;
  z-index: 3;
  width: 100%;
  display: grid;
  justify-items: center;
  gap: 4px;
  margin-top: -6px;
  text-align: center;
}
.internal-network-caption span {
  display: block;
  color: #8fa9c8;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
}
.internal-network-caption strong {
  display: block;
  color: #f6fbff;
  font-family: var(--font-display);
  font-size: 18px;
  letter-spacing: -0.015em;
}
@keyframes internalFloat {
  50% {
    transform: translateY(-7px) scale(1.012);
  }
}
@keyframes internalGlow {
  to {
    transform: scale(1.06);
    opacity: 0.78;
  }
}
@media (max-width: 1120px) {
  .brand {
    min-width: 182px !important;
  }
  .brand img {
    width: 182px !important;
  }
  .internal-network-visual {
    width: min(350px, 88%);
  }
}
@media (max-width: 760px) {
  .brand {
    min-width: 158px !important;
  }
  .brand img {
    width: 158px !important;
  }
  .page-visual-connected {
    min-height: 330px !important;
  }
  .internal-network-caption strong {
    font-size: 16px;
  }
  .internal-network-visual {
    width: min(300px, 84%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .internal-glow,
  .internal-network-canvas {
    animation: none !important;
  }
}
