/* Final NeuroVista homepage overrides. Loaded after styles.css. */
body {
  overflow-x: hidden;
  background:
    radial-gradient(ellipse 78% 38% at 50% 0%, rgba(5, 32, 74, 0.34), transparent 72%),
    radial-gradient(ellipse 48% 22% at 50% 20%, rgba(6, 20, 48, 0.24), transparent 78%),
    linear-gradient(180deg, #020407 0%, #050b15 44%, #020405 100%);
}

.home-page {
  --cyan: #d9e5f1;
  --line: rgba(132, 151, 176, 0.22);
  --line-strong: rgba(168, 188, 218, 0.34);
  --accent-warm: #f4b86a;
  --accent-violet: #8d86ff;
}

.home-page .hero-center {
  width: 100%;
  min-height: 1040px;
  margin: 0;
  padding: 76px clamp(18px, 4vw, 56px) 64px;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(ellipse 84% 42% at 50% 0%, rgba(5, 38, 88, 0.58), transparent 70%),
    radial-gradient(ellipse 56% 25% at 50% 19%, rgba(8, 25, 61, 0.36), transparent 76%),
    linear-gradient(180deg, rgba(3, 12, 27, 0.1), transparent 54%);
  box-shadow: none;
}

.home-page .hero-center::before {
  background:
    radial-gradient(ellipse 66% 31% at 50% 0%, rgba(28, 64, 124, 0.12), transparent 68%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.008), transparent 44%);
}

.home-page .hero-copy h1 {
  text-shadow: 0 0 24px rgba(37, 67, 104, 0.26);
}

.home-page .hero-slogan {
  color: rgba(226, 235, 244, 0.9);
  font-weight: 500;
  text-shadow: none;
}

.home-page .hero-center .btn,
.home-page .hero-center .btn.primary {
  border-color: rgba(132, 151, 176, 0.24);
  background: rgba(9, 15, 24, 0.52);
}

.home-page .hero-center .btn.primary {
  border-color: rgba(244, 184, 106, 0.55);
  box-shadow:
    inset 0 0 0 1px rgba(244, 184, 106, 0.08),
    0 0 28px rgba(244, 184, 106, 0.08);
}

.home-page .hero-center .btn:hover {
  border-color: rgba(244, 184, 106, 0.45);
  background: rgba(18, 24, 34, 0.62);
}

.home-page .hero-motion-demo {
  width: min(1100px, 100%);
  margin-top: 50px;
}

.home-page .hero-motion-demo .demo-inner {
  min-height: 0;
  padding: 0;
}

.home-page .motion-shell {
  min-height: 430px;
  padding: 24px;
  background:
    radial-gradient(circle at 50% 50%, rgba(39, 83, 145, 0.24), transparent 18rem),
    radial-gradient(circle at 78% 18%, rgba(73, 89, 158, 0.16), transparent 14rem),
    linear-gradient(180deg, rgba(8, 23, 43, 0.86), rgba(4, 10, 20, 0.82));
}

.home-page .motion-stage {
  min-height: 356px;
  grid-template-columns: 0.82fr 1.52fr 0.82fr;
}

.home-page .attention-field {
  height: 320px;
}

.home-page .orbit {
  inset: 28px 48px;
}

.home-page .orbit-b {
  inset: 56px 86px;
}

.home-page .orbit-c {
  inset: 84px 132px;
}

.home-page .motion-node {
  width: 54px;
  height: 54px;
}

.home-page .motion-node.q {
  left: 10%;
  top: 62%;
}

.home-page .motion-node.k {
  left: 44%;
  top: 10%;
}

.home-page .motion-node.v {
  right: 10%;
  top: 60%;
}

.home-page .attention-core {
  width: 156px;
  height: 98px;
}

.home-page .matrix-pulse {
  grid-template-columns: repeat(5, 30px);
  gap: 8px;
}

.home-page .matrix-pulse span {
  width: 30px;
  height: 30px;
}

.home-page .concept-shot {
  overflow: hidden;
}

.home-page .shot-main {
  min-width: 0;
}

.home-page .pipeline {
  flex-wrap: wrap;
  max-width: 100%;
  overflow: hidden;
}

.home-page .pipeline span:not(:nth-child(even)) {
  flex: 1 1 112px;
  max-width: 148px;
  min-width: 96px;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
}

.home-page .pipeline span:nth-child(even) {
  flex: 0 0 auto;
}

@media (max-width: 900px) {
  .home-page .hero-center {
    min-height: auto;
    padding-top: 48px;
    padding-bottom: 52px;
  }

  .home-page .motion-shell {
    min-height: 520px;
  }

  .home-page .motion-stage {
    min-height: 430px;
    grid-template-columns: 1fr;
  }

  .home-page .attention-field {
    height: 240px;
  }

  .home-page .matrix-pulse {
    grid-template-columns: repeat(10, 20px);
  }

  .home-page .matrix-pulse span {
    width: 20px;
    height: 20px;
  }
}
