/* Wolfram-inspired NTEXT network hero background */

.hero--network {
  position: relative;
  min-height: 0;
  align-items: center;
  padding: calc(clamp(5.5rem, 11vh, 7.5rem) + 6.25rem) 0
    clamp(2.25rem, 4.5vh, 3.25rem);
  overflow: hidden;
  background: var(--paper);
}

.hero--network .hero-plane {
  display: none;
}

.hero--network .brand {
  margin: 0 0 1rem;
}

.hero--network .logo-hero {
  width: min(100%, 16.5rem);
}

.hero--network .lede {
  margin-bottom: 1.35rem;
  color: var(--ink);
}

.hero--network .hero-inner {
  position: relative;
  z-index: 1;
  max-width: 40rem;
}

.ntext-network-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background: var(--paper, #c3b091);
  pointer-events: none;
}

.ntext-network-canvas {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.78;
}

.ntext-network-canvas canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
}

/* Desktop: left + bottom fade so text stays legible */
.ntext-network-canvas::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(195, 176, 145, 1) 0%,
      rgba(195, 176, 145, 0.97) 18%,
      rgba(195, 176, 145, 0.88) 32%,
      rgba(195, 176, 145, 0.55) 46%,
      rgba(195, 176, 145, 0.18) 58%,
      transparent 72%
    ),
    linear-gradient(180deg, transparent 48%, rgba(244, 244, 240, 0.78) 100%);
  pointer-events: none;
}

@media (max-width: 720px) {
  .hero--network {
    align-items: start;
    /* Extra top band so the network can sit above the logo */
    padding-top: clamp(10rem, 28vh, 14rem);
    padding-bottom: clamp(2.5rem, 5vh, 3.5rem);
  }

  .ntext-network-canvas {
    inset: auto;
    top: 0;
    left: 0;
    right: 0;
    height: clamp(10rem, 28vh, 14rem);
    opacity: 0.72;
  }

  /* Mobile: bottom-focused fade into the copy below */
  .ntext-network-canvas::after {
    background: linear-gradient(
      180deg,
      rgba(195, 176, 145, 0.12) 0%,
      rgba(195, 176, 145, 0.08) 28%,
      rgba(195, 176, 145, 0.45) 55%,
      rgba(195, 176, 145, 0.88) 78%,
      rgba(195, 176, 145, 1) 100%
    );
  }
}

@media (prefers-reduced-motion: reduce) {
  .ntext-network-canvas {
    display: none;
  }
}
