/* A slow, restrained current behind the company identity. No animation loop. */
.nortiva-hero::before { display: none; }
.hero-atmosphere { --grid-step: 64px; position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; contain: paint; }
.hero-atmosphere__grid { position: absolute; inset: -64px; opacity: .3; background-image: linear-gradient(#3156df0d 1px,transparent 1px),linear-gradient(90deg,#3156df0d 1px,transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(90deg,transparent 16%,#000 73%); animation: nortiva-grid-current 28s linear infinite; }
.hero-atmosphere__glow { position: absolute; width: 680px; height: 680px; border-radius: 50%; background: radial-gradient(circle,#3156df1d 0%,#3156df0d 37%,transparent 69%); animation: nortiva-glow-current 13s ease-in-out infinite alternate; }
.hero-atmosphere__glow--one { right: -100px; top: -100px; }
.hero-atmosphere__glow--two { width: 500px; height: 500px; right: 21%; bottom: -235px; opacity: .65; animation-duration: 17s; animation-delay: -7s; animation-direction: alternate-reverse; }
.hero-atmosphere__streams { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .55; mask-image: linear-gradient(90deg,transparent 32%,#000 66%); }
.hero-atmosphere__tracks { stroke: url(#nortiva-stream); stroke-width: 1; opacity: .28; }
.hero-atmosphere__signals { stroke: url(#nortiva-stream); stroke-width: 1.6; stroke-linecap: round; }
.hero-atmosphere__signals path { stroke-dasharray: 140 1700; animation: nortiva-signal-current 12s linear infinite; }
.hero-atmosphere__signals path:nth-child(2) { animation-duration: 15s; animation-delay: -8s; }
.hero-atmosphere__signals path:nth-child(3) { animation-duration: 18s; animation-delay: -3s; }
.nortiva-hero__art--brand picture { animation: nortiva-brand-current 7s ease-in-out infinite; }
html[data-theme="dark"] .hero-atmosphere__grid { opacity: .4; background-image: linear-gradient(#83a1ff12 1px,transparent 1px),linear-gradient(90deg,#83a1ff12 1px,transparent 1px); }
html[data-theme="dark"] .hero-atmosphere__glow { background: radial-gradient(circle,#3156df34 0%,#3156df19 37%,transparent 69%); }
html[data-theme="dark"] .hero-atmosphere__streams { opacity: .75; }
html[data-theme="dark"] #nortiva-stream stop { stop-color: #83a1ff; }
@keyframes nortiva-grid-current { to { transform: translate3d(var(--grid-step),var(--grid-step),0); } }
@keyframes nortiva-glow-current { from { transform: translate3d(0,0,0) scale(.9); opacity: .65; } to { transform: translate3d(-52px,40px,0) scale(1.08); opacity: 1; } }
@keyframes nortiva-signal-current { from { stroke-dashoffset: 1840; } to { stroke-dashoffset: 0; } }
@keyframes nortiva-brand-current { 0%,100% { transform: translate3d(0,0,0) rotate(-.35deg); } 50% { transform: translate3d(0,-9px,0) rotate(.35deg); } }
@media (max-width:640px) {
  .hero-atmosphere { --grid-step: 44px; }
  .hero-atmosphere__grid { background-size: 44px 44px; opacity: .23; }
  .hero-atmosphere__glow--one { width: 560px; height: 560px; right: -285px; top: 60px; }
  .hero-atmosphere__glow--two { right: -110px; bottom: 110px; opacity: .5; }
  .hero-atmosphere__streams { mask-image: linear-gradient(180deg,transparent 20%,#000 58%); opacity: .35; }
  .nortiva-hero__art--brand picture { animation-name: nortiva-brand-current-small; }
}
@keyframes nortiva-brand-current-small { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,-5px,0); } }
@media (prefers-reduced-motion:reduce) {
  .hero-atmosphere__grid,.hero-atmosphere__glow,.hero-atmosphere__signals path,.nortiva-hero__art--brand picture { animation: none; }
  .hero-atmosphere__signals { display: none; }
}
