.neural-hero { isolation: isolate; }
/* Reserve the final line boxes, so typing never pushes the buttons or logo. */
.hero h1 .type-line { display: block; position: relative; white-space: nowrap; }
.type-reserve { display: block; visibility: hidden; white-space: nowrap; }
.type-ink { position: absolute; inset: 0 auto auto 0; white-space: pre; }
.type-ink.is-typing::after {
  content: '';
  display: inline-block;
  width: .035em;
  height: .72em;
  margin-left: .06em;
  background: var(--green);
  vertical-align: -.02em;
}
.neural-hero .neural-network {
  position: absolute;
  inset: -8%;
  width: 116%;
  height: 116%;
  z-index: 0;
  pointer-events: none;
}
.hero-symbol.neural-hero {
  display: grid;
  place-items: center;
}
.hero-symbol.neural-hero img {
  position: relative;
  width: 67%;
  z-index: 1;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 0 24px rgba(0,255,194,.28));
}
@media (prefers-reduced-motion: reduce) {
  .hero-symbol.neural-hero img { animation: none; }
}
@media (max-width: 560px) {
  .hero h1 .type-line,
  .hero h1 .type-reserve,
  .hero h1 .type-ink { white-space: normal; }
  .hero h1 .type-ink { width: 100%; }
}
