/* Neuwark 3D Automated Animator — layer that sits under hero copy */

.hero.hero-cinematic {
  position: relative;
  isolation: isolate;
}

.neuwark-3d-layer,
.neuwark-3d-mount {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}

.neuwark-3d-mount {
  position: relative;
  display: block;
  width: 100%;
  min-height: 420px;
  background: #070708;
}

.neuwark-3d-layer canvas,
.neuwark-3d-mount canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
}

/* Keep existing photography as a faint underlay; 3D sits above the photo, below copy */
.hero.hero-cinematic.has-neuwark-3d .hero-bg {
  opacity: 0.38;
  filter: saturate(0.85) contrast(1.05);
}

.hero.hero-cinematic.has-neuwark-3d .hero-motion-plate {
  opacity: 0.18;
}

.hero.hero-cinematic.has-neuwark-3d .hero-shapes,
.hero.hero-cinematic.has-neuwark-3d .hero-grid {
  opacity: 0.35;
}

.hero.hero-cinematic .hero-content,
.hero.hero-cinematic .hero-scroll {
  position: relative;
  z-index: 3;
}

.neuwark-3d-veil {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 28% 42%, rgba(196, 42, 48, 0.18), transparent 46%),
    linear-gradient(180deg, rgba(7, 7, 8, 0.18) 0%, rgba(7, 7, 8, 0.55) 100%);
}

@media (prefers-reduced-motion: reduce) {
  .neuwark-3d-layer,
  .neuwark-3d-mount {
    display: none;
  }

  .hero.hero-cinematic.has-neuwark-3d .hero-bg {
    opacity: 1;
  }
}
