/* HEATHOSTING • Ecosystem 3D / isolated to the preview only */
.ecosystem-art{isolation:isolate}
.ecosystem-art .eco3d{position:absolute;left:50%;top:50%;width:579px;height:208px;transform:translate(-50%,-50%) scale(var(--eco3d-scale,1));transform-origin:center;overflow:visible;perspective:700px;user-select:none;isolation:isolate}
.eco3d *{box-sizing:border-box}
.eco3d .eco3d-haze{position:absolute;inset:5px 0;background:radial-gradient(ellipse 29% 44% at 50% 52%,#80c7ff44,transparent 95%),radial-gradient(ellipse 70% 61% at 54% 50%,#ebf9ffbd,transparent 88%);pointer-events:none}
.eco3d-orbits{position:absolute;inset:0;width:579px;height:208px;overflow:visible;z-index:1;pointer-events:none}
.eco3d-orbits path{fill:none;stroke:#3289cb;stroke-width:1.05;opacity:.46}
.eco3d-orbits path.eco3d-bright{stroke:#66cafa;stroke-width:1.35;opacity:.67;stroke-dasharray:16 9;animation:eco3d-travel 8s linear infinite}
.eco3d-orbits .eco3d-dot{fill:#04192f;stroke:#278de7;stroke-width:2;filter:drop-shadow(0 0 3px #1a7dfb)}
.eco3d-orbits .eco3d-firefly{fill:#ffffff;filter:drop-shadow(0 0 4px #268bff) drop-shadow(0 0 6px #1279f9)}
.eco3d-sphere-wrap{position:absolute;z-index:4;left:calc(50% - 85px);top:calc(50% - 85px);width:170px;height:170px;filter:drop-shadow(0 7px 12px #04336a77);pointer-events:none}
.eco3d-sphere-wrap::before{content:"";position:absolute;inset:4px;border-radius:50%;background:radial-gradient(circle at 30% 21%,#95e7ff,#1359a1 30%,#031331 75%);box-shadow:inset -13px -12px 20px #000b,inset 8px 8px 18px #9feaff5c,0 0 18px #0d92ff6b}
.eco3d-sphere{position:absolute;inset:0;display:block;width:170px;height:170px;background:transparent;filter:drop-shadow(0 0 3px #168cfb)}
.eco3d-equator{position:absolute;left:-12px;top:68px;width:194px;height:38px;border:2px solid #25b4ff;border-left-color:transparent;border-right-color:transparent;border-radius:50%;transform:rotate(-22deg) skewY(-3deg);box-shadow:0 1px 3px #1c9cff,0 -1px 4px #0884f6,inset 0 1px 2px #31b8ff;animation:eco3d-ring-breathe 3s ease-in-out infinite alternate;pointer-events:none}
.eco3d-equator::after{content:"";position:absolute;left:5%;right:5%;top:14px;height:1px;background:linear-gradient(90deg,transparent,#59d1ff,transparent);opacity:.8}
.eco3d-logo-fallback{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#e8f9ff;text-shadow:0 1px 3px #fff,0 0 15px #168bff;font-size:71px;font-style:italic;font-weight:900;letter-spacing:-8px;opacity:.85;pointer-events:none}
.eco3d.webgl-ok .eco3d-logo-fallback{display:none}
.eco3d-card{position:absolute;z-index:6;display:flex;align-items:center;gap:9px;min-height:44px;padding:7px 10px 7px 9px;border-radius:13px;border:1px solid #acc7e9d9;background:linear-gradient(155deg,#ffffffeb 0%,#edf6ffea 54%,#dce9f9f0 100%);box-shadow:inset 0 1px 1px #fff,0 6px 12px #12407625,1px 1px 1px #86a7cf38;transform:translate3d(0,0,0) rotateY(var(--angle,0deg));animation:eco3d-float 4s ease-in-out var(--delay,0s) infinite alternate;text-decoration:none;color:#0b1b38;white-space:nowrap;will-change:transform;transition:box-shadow .2s,background-color .2s}
.eco3d-card:hover,.eco3d-card:focus-visible{animation-play-state:paused;transform:translate3d(0,-5px,16px) rotateY(0deg);box-shadow:inset 0 1px 1px #fff,0 13px 20px #0d54a851,0 0 0 2px #0f78eb}
.eco3d-card .eco3d-icon{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;flex:none;color:#076de2;background:linear-gradient(130deg,#e3f5ff,#a9d1fa);box-shadow:inset 0 1px 3px #fff,0 2px 3px #2973ae2a}
.eco3d-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linejoin:round;stroke-linecap:round}
.eco3d-card.eco3d-teal .eco3d-icon{color:#06a384;background:linear-gradient(130deg,#d9fcf7,#9ce8dd)}
.eco3d-card .eco3d-copy{display:block;min-width:0}
.eco3d-card strong{display:block;font-size:10px;font-weight:800;letter-spacing:-.3px;line-height:1.18}
.eco3d-card small{display:block;margin-top:2px;font-size:7.6px;line-height:1.15;color:#394b67;letter-spacing:-.2px}
.eco3d-card--hosting{top:2px;left:207px;width:170px;--angle:-4deg;--delay:-1s}
.eco3d-card--domain{top:43px;left:34px;width:157px;--angle:5deg;--delay:-2s}
.eco3d-card--vps{top:43px;left:410px;width:145px;--angle:-5deg;--delay:-3s}
.eco3d-card--backup{top:104px;left:36px;width:158px;--angle:4deg;--delay:-1.4s}
.eco3d-card--mail{top:105px;left:412px;width:160px;--angle:-5deg;--delay:-.4s}
.eco3d-card--panel{top:160px;left:213px;width:159px;--angle:4deg;--delay:-2.4s}
.eco3d-card--migration{top:161px;left:403px;width:169px;--angle:-3deg;--delay:-3.2s}
.eco3d-caption{position:absolute;bottom:5px;left:8px;font-size:8px;color:#375579;opacity:0;pointer-events:none}
@keyframes eco3d-float{0%{translate:0 1px}100%{translate:0 -3px}}
@keyframes eco3d-travel{to{stroke-dashoffset:-100}}
@keyframes eco3d-ring-breathe{to{filter:brightness(1.5);transform:rotate(-19deg) skewY(-3deg) scale(1.015)}}
@media(max-width:700px){.ecosystem-art{position:relative;height:140px;min-height:0!important;aspect-ratio:auto!important;overflow:visible}.ecosystem-art .eco3d{pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.eco3d-card,.eco3d-orbits path.eco3d-bright,.eco3d-equator{animation:none!important}.eco3d-card:hover{transition:none}}
