/* Full-width, decorative hero atmosphere. The parent .hero spans the viewport;
   neither the scene nor the geometry is attached to a content-width wrapper. */
.hv-scene {
  position: absolute;
  inset: -142px 0 0;
  z-index: 0;
  overflow: hidden;
  overflow: clip;
  pointer-events: none;
  user-select: none;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 11%, #000 67%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent, #000 11%, #000 67%, transparent 100%);
}
.hv-air,
.hv-light {
  position: absolute;
  inset: 0;
}
.hv-air {
  background:
    radial-gradient(ellipse at 0% 40%, #66a4ff23 0%, #8fbaff0d 29%, transparent 53%),
    radial-gradient(ellipse at 100% 30%, #5d9cff23 0%, #85b3ff0a 32%, transparent 54%),
    radial-gradient(ellipse at 50% 61%, #accaff22, transparent 55%);
}
.hv-light {
  inset: 2% -8% 8%;
  background:
    radial-gradient(ellipse at 17% 45%, #8ab7ff16, transparent 36%),
    radial-gradient(ellipse at 88% 38%, #6b9fff1d, transparent 36%);
}
.hv-wing {
  position: absolute;
  top: -12px;
  width: clamp(260px, 38.5vw, 900px);
  height: min(950px, 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 16%, #000 66%, transparent 96%);
  mask-image: linear-gradient(to bottom, transparent, #000 16%, #000 66%, transparent 96%);
}
.hv-wing-left { left: -3%; }
.hv-wing-right { right: -3%; top: -74px; }
.hv-parallax { width: 100%; height: 100%; }
.hv-scroll { width: 100%; height: 100%; }
.hv-wire {
  width: 100%;
  height: 100%;
  max-width: none;
  overflow: visible;
}
.hv-lines { stroke: #4388e8; stroke-width: .85; }
.hv-lines-quiet { opacity: .115; }
.hv-lines-primary { opacity: .25; }
.hv-optics { stroke: #4689eb; stroke-width: .85; opacity: .17; }
.hv-joints { fill: #4b8eeb; opacity: .32; }
.hv-sightline { stroke: #548eda; stroke-width: .9; opacity: .38; }
.hv-horizon {
  position: absolute;
  left: -15%;
  right: -15%;
  top: 62%;
  height: 42%;
  border-radius: 50%;
  background: radial-gradient(ellipse at 50% 0, #609eff15, transparent 65%);
  opacity: .75;
}
@media (min-width: 1921px) {
  .hv-wing { top: -40px; width: 39vw; height: min(1120px, 110%); }
  .hv-wing-right { top: -106px; }
}
@media (max-width: 1100px) {
  .hv-wing { width: 41vw; left: -7%; opacity: .8; }
  .hv-wing-right { left: auto; right: -7%; }
}
@media (max-width: 800px) {
  .hv-scene { top: -128px; }
  .hv-wing { top: 18px; width: 48vw; height: 730px; left: -14%; opacity: .66; }
  .hv-wing-right { top: -42px; left: auto; right: -14%; }
  .hv-air {
    background:
      radial-gradient(ellipse at -8% 36%, #66a4ff24, transparent 54%),
      radial-gradient(ellipse at 108% 32%, #74adff20, transparent 53%);
  }
}
@media (max-width: 560px) {
  .hv-scene { top: -115px; }
  .hv-wing { width: 270px; height: 650px; top: 2px; left: -157px; opacity: .52; }
  .hv-wing-right { left: auto; right: -149px; top: -32px; }
  .hv-lines-quiet { opacity: .1; }
  .hv-optics { opacity: .19; }
  .hv-horizon { top: 56%; }
}
@media (prefers-reduced-motion: reduce) {
  .hv-parallax, .hv-wire, .hv-light { transform: none !important; }
}
