/* Continuous atmospheric motion replaces the previous line-and-node overlay. */
.hero .landscape-tech{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;opacity:.62}
.landscape-tech .connection{fill:none;stroke:#e2f9ef;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.4}
.landscape-tech .signal{fill:none;stroke:#f0fff9;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:4 170;animation:landscape-signal 24s linear infinite;opacity:.8}
.landscape-tech circle{fill:#f1fff9;stroke:#c8f3e0;stroke-width:.5;transform-box:fill-box;transform-origin:center;animation:landscape-breathe 7s ease-in-out infinite}
.landscape-tech circle:nth-of-type(2){animation-delay:-2s}.landscape-tech circle:nth-of-type(3){animation-delay:-4s}
.hero .illustrated-world>.atmosphere{position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 66% 47%,#f3faf420,transparent 42%);animation:landscape-mist 30s ease-in-out infinite alternate}
@keyframes landscape-signal{to{stroke-dashoffset:-348}}
@keyframes landscape-breathe{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:.8;transform:scale(1.18)}}
@keyframes landscape-mist{from{transform:translateX(-1%);opacity:.3}to{transform:translateX(1%);opacity:.55}}
@media(max-width:760px){.hero .landscape-tech{opacity:.35}.landscape-tech .signal,.hero .illustrated-world>.atmosphere{animation:none}.landscape-tech circle{animation:none;opacity:.5}}
@media(prefers-reduced-motion:reduce){.landscape-tech .signal,.landscape-tech circle,.hero .illustrated-world>.atmosphere{animation:none!important}}
.hero .landscape-tech{display:none}
.hero .illustrated-world>.town-scene{inset:-2%;width:104%;height:104%;animation:landscape-drift 34s ease-in-out infinite alternate}
.hero .illustrated-world>.atmosphere{inset:-12%;background:radial-gradient(ellipse 43% 12% at 55% 53%,#effaf7a0 0%,#effaf755 32%,#effaf700 75%),radial-gradient(ellipse 30% 10% at 85% 35%,#f5faf780,#f5faf700 80%);animation:mist-current 19s ease-in-out infinite alternate;opacity:.72}
.hero .atmosphere::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 46% 10% at 38% 67%,#e4f8f774,#e4f8f700 80%);animation:mist-return 23s ease-in-out infinite alternate}
.hero .atmosphere::after{content:"";position:absolute;left:0;bottom:5%;width:75%;height:35%;background:radial-gradient(ellipse at 45% 50%,#c4f1e630,#ecfffa00 70%);animation:water-lustre 14s ease-in-out infinite alternate}
.hero .illustrated-world>.scene-ai{display:block;top:28px;left:auto;right:5%;width:auto;padding:9px 13px;border:1px solid #e6f6ef66;border-radius:4px;background:#173f3b20;color:#f1fbf6;z-index:2}
.hero .scene-ai>span{font-size:12px;letter-spacing:2px}.hero .scene-ai small{display:none}
@keyframes landscape-drift{from{transform:translate3d(-.5%,0,0) scale(1)}to{transform:translate3d(.5%,-.5%,0) scale(1.015)}}
@keyframes mist-current{from{transform:translate3d(-3%,1%,0);opacity:.5}to{transform:translate3d(4%,-1%,0);opacity:.8}}
@keyframes mist-return{from{transform:translate3d(3%,0,0)}to{transform:translate3d(-4%,-2%,0)}}
@keyframes water-lustre{from{transform:translate3d(-3%,0,0);opacity:.3}to{transform:translate3d(5%,-2%,0);opacity:.75}}
@media(max-width:760px){.hero .illustrated-world>.town-scene{animation:none;inset:0;width:100%;height:100%}.hero .illustrated-world>.scene-ai{top:auto;bottom:100px;right:7%;padding:7px 10px}.hero .illustrated-world>.atmosphere{opacity:.5;animation:mist-current 25s ease-in-out infinite alternate}.hero .atmosphere::before{display:none}}
@media(prefers-reduced-motion:reduce){.hero .illustrated-world>.town-scene,.hero .illustrated-world>.atmosphere,.hero .atmosphere::before,.hero .atmosphere::after{animation:none!important}}
