.eco-flight { position:fixed; inset:0; width:100%; height:100%; pointer-events:none; z-index:80; }
.motion-control { position:fixed; bottom:20px; left:20px; z-index:90; padding:9px 13px; border:1px solid var(--border); border-radius:24px; color:var(--text); background:var(--surface); box-shadow:0 3px 18px #05241b20; font:inherit; font-size:11px; cursor:pointer; }
.motion-control:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.eco-orbits { display:none; position:absolute; right:4%; top:18%; width:min(40vw,540px); aspect-ratio:1; pointer-events:none; opacity:.6; }
.eco-motion .eco-orbits { display:block; }
.eco-orbits i { position:absolute; inset:0; border:1px solid #a1ebd83b; border-radius:50%; transform:rotateX(62deg) rotate(-25deg); }
.eco-orbits i:nth-child(2) { inset:12%; border-style:dashed; border-color:#70dced55; transform:rotateX(30deg) rotateY(50deg); }
.eco-orbits i:nth-child(3) { inset:28%; border-color:#e4ecbd66; box-shadow:0 0 55px #41caa916; }
.eco-orbits span { position:absolute; width:9px; height:9px; background:#c5ffe9; box-shadow:0 0 25px #75f5d6; border-radius:50%; left:50%; top:50%; transform-origin:0 0; }
.eco-motion .eco-orbits span { animation:eco-orbit 14s linear infinite; }
.eco-motion .eco-orbits i:nth-child(2) { animation:eco-ring 24s linear infinite; }
.eco-motion .hero-landscape { animation:eco-landscape 24s ease-in-out infinite alternate; }
.eco-motion .hero h1 span { background:linear-gradient(110deg,#c7dda0 15%,#d1fff0 40%,#7edcc7 55%,#c7dda0 75%); background-size:250% 100%; background-clip:text; -webkit-background-clip:text; color:transparent; animation:eco-spectrum 9s ease-in-out infinite; }
.eco-motion .hero-badge::before { content:''; display:inline-block; width:6px; height:6px; border-radius:50%; background:#b9f4cb; margin-right:10px; box-shadow:0 0 0 5px #b9f4cb18,0 0 15px #b9f4cb; animation:eco-signal 3s ease-in-out infinite; }
.eco-motion .product-show,.eco-motion .cap-card,.eco-motion .case-card { transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease; }
.eco-motion .motion-hover { background-image:radial-gradient(300px circle at var(--mx,50%) var(--my,50%),#56cda91c,transparent 75%); border-color:var(--accent); box-shadow:0 14px 42px #071e2726,0 0 0 1px #66ceaf22; }
.eco-motion .btn-primary { box-shadow:0 4px 28px #a8d88933; transition:transform .25s,box-shadow .25s; }
.eco-motion .btn-primary:hover { transform:translateY(-3px); box-shadow:0 8px 34px #a8d88966; }
.eco-motion .map-marker::before { animation:eco-map-ring 3.5s ease-out infinite; }
.eco-motion .map-marker:nth-child(3n)::before { animation-delay:-1.2s; }
.eco-motion .map-marker:nth-child(3n + 1)::before { animation-delay:-2.4s; }
@keyframes eco-orbit { from { transform:rotate(0deg) translateX(150px); } to { transform:rotate(360deg) translateX(150px); } }
@keyframes eco-ring { from { transform:rotateX(30deg) rotateY(50deg) rotate(0deg); } to { transform:rotateX(30deg) rotateY(50deg) rotate(360deg); } }
@keyframes eco-landscape { from { transform:scale(1); } to { transform:scale(1.065) translateX(-1%); } }
@keyframes eco-spectrum { 0%,100% { background-position:0 50%; } 50% { background-position:100% 50%; } }
@keyframes eco-signal { 0%,100% { opacity:.55; } 50% { opacity:1; } }
@keyframes eco-map-ring { 0% { transform:scale(.75); opacity:.75; } 80%,100% { transform:scale(1.5); opacity:0; } }
@media(max-width:700px) { .eco-orbits { width:220px; right:-70px; top:22%; opacity:.3; } .motion-control { left:12px; bottom:12px; padding:7px 10px; } }
@media(prefers-reduced-motion:reduce) { html:not(.eco-motion) .eco-orbits { display:none !important; } html:not(.eco-motion) .eco-flight { display:none; } }
