.eco-map{--lime:#e3fd2e;--lime-soft:#e3fd2e4d;inline-size:100%;font-family:var(--font-geist-sans), "Helvetica Neue", Arial, sans-serif;color:#f5eee2;-webkit-font-smoothing:antialiased;position:relative;overflow-x:clip;container-type:inline-size}.eco-map__stage{aspect-ratio:var(--eco-aspect);perspective:1700px;perspective-origin:50% 35%;position:relative}.eco-map__scene{perspective:1100px;perspective-origin:50% 25%;transform-origin:50% 62%;transform:rotateX(calc(9deg + var(--tilt-x,0deg))) rotateY(var(--tilt-y,0deg));position:absolute;inset:0}.eco-map.is-mobile .eco-map__scene{transform:rotateX(5deg)}.eco-map__floor{transform-origin:50% 100%;opacity:0;pointer-events:none;background-image:linear-gradient(#e3fd2e13 1px,#0000 1px),linear-gradient(90deg,#e3fd2e13 1px,#0000 1px);background-size:3.4cqw 3.4cqw;height:70%;transition:opacity 1.6s;position:absolute;bottom:-6%;left:-14%;right:-14%;transform:rotateX(62deg);-webkit-mask-image:radial-gradient(55% 80% at 50% 38%,#000 10%,#0000 72%);mask-image:radial-gradient(55% 80% at 50% 38%,#000 10%,#0000 72%)}.eco-map.is-in .eco-map__floor{opacity:1}.eco-map__halo{pointer-events:none;background:radial-gradient(closest-side,#e3fd2e24,#e3fd2e0a 55%,#0000);block-size:40cqw;inline-size:70cqw;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.eco-map.is-mobile .eco-map__halo{block-size:90cqw;inline-size:110cqw}.eco-map__links{pointer-events:none;block-size:100%;inline-size:100%;position:absolute;inset:0;overflow:visible}.eco-orbit{fill:none;stroke:#e3fd2e2b;stroke-width:calc(var(--px,.1) * 1);stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 2.4s cubic-bezier(.65,0,.35,1) .15s}.eco-map.is-in .eco-orbit{stroke-dashoffset:0}.eco-orbit--outer{stroke:#e3fd2e1a;stroke-dasharray:calc(var(--px,.1) * 2) calc(var(--px,.1) * 8);stroke-dashoffset:0;opacity:0;transition:opacity 1.8s .5s}.eco-map.is-in .eco-orbit--outer{opacity:1}.eco-link{transition:opacity .35s}.eco-link__glow{fill:none;stroke:#e3fd2e21;stroke-width:calc(var(--px,.1) * 7);stroke-linecap:round;opacity:0;transition:opacity 1.2s 1s,stroke .35s}.eco-link__core{fill:none;stroke:#e3fd2ec7;stroke-width:calc(var(--px,.1) * 1.5);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.5s cubic-bezier(.65,0,.35,1) .45s,stroke .35s}.eco-map.is-in .eco-link__glow{opacity:1}.eco-map.is-in .eco-link__core{stroke-dashoffset:0}.eco-link.is-planned .eco-link__core{stroke:#e3fd2e80;stroke-dasharray:calc(var(--px,.1) * 5) calc(var(--px,.1) * 6);stroke-dashoffset:0;opacity:0;transition:opacity 1.2s 1.1s,stroke .35s}.eco-map.is-in .eco-link.is-planned .eco-link__core{opacity:1}.eco-link.is-planned .eco-link__glow{stroke:#e3fd2e0f}.eco-map[data-hover] .eco-link:not(.is-hot){opacity:.22}.eco-link.is-hot .eco-link__core{stroke:#f3ff9a}.eco-link.is-hot .eco-link__glow{stroke:#e3fd2e4d}.eco-pulse{opacity:0;transition:opacity .8s 1.8s}.eco-map.is-in .eco-pulse{opacity:1}.eco-map.is-in .eco-pulse.is-planned{opacity:.55}.eco-label{--d:.5;transform:translate(calc(-50% + var(--par-x,0px) * var(--d)), calc(-50% + var(--par-y,0px) * var(--d)));letter-spacing:.01em;color:#f5eee2d1;white-space:nowrap;pointer-events:none;opacity:0;background:#0d0e0bdb;border:1px solid #e3fd2e42;border-radius:999px;padding:.42cqw 1.15cqw;font-size:clamp(8.5px,.92cqw,12.5px);transition:opacity .9s 1.3s;position:absolute;box-shadow:0 0 1.4cqw #e3fd2e14}.eco-label--layer{color:var(--lime);font-family:var(--font-geist-mono), ui-monospace, monospace;text-transform:uppercase;letter-spacing:.18em;font-size:clamp(8px,.82cqw,11px)}.eco-map.is-in .eco-label{opacity:1}.eco-node{--d:1;--lift:0px;--s:1;transform:translate(calc(-50% + var(--par-x,0px) * var(--d)), calc(-50% + var(--par-y,0px) * var(--d) + var(--lift))) scale(var(--s));color:inherit;cursor:pointer;opacity:0;transition:opacity .8s ease calc(var(--i) * 85ms + .25s), transform .9s cubic-bezier(.22, 1, .36, 1) calc(var(--i) * 85ms + .25s);outline:none;text-decoration:none;display:block;position:absolute}.eco-map:not(.is-in) .eco-node{--lift:1.2cqw;--s:.94}.eco-map.is-in .eco-node{opacity:1}.eco-map.is-in .eco-node.is-hover,.eco-map.is-in .eco-node:focus-visible{--lift:-.6cqw;--s:1.03;z-index:3;transition-delay:0s}.eco-node--hub{--d:1.7;z-index:2}.eco-node--layer{--d:.6}.eco-node__shadow{height:34%;transform:translate(calc(var(--par-x,0px) * -.55), calc(var(--par-y,0px) * -.55 + var(--lift) * -1));pointer-events:none;background:radial-gradient(closest-side,#000000bf,#0000),radial-gradient(closest-side,#e3fd2e1f,#0000 70%);border-radius:50%;position:absolute;bottom:-30%;left:8%;right:8%}.eco-node__face{animation:6.5s ease-in-out infinite eco-bob;animation-delay:calc(var(--i) * -1.1s);background:linear-gradient(165deg,#383d26f0 0%,#161811f5 42%,#0a0b09f7 100%);border:1px solid #e3fd2e4d;border-radius:1.3cqw;flex-direction:column;justify-content:center;align-items:center;gap:.6cqw;padding:.8cqw;transition:border-color .35s,box-shadow .35s,opacity .35s;animation-play-state:paused;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 1px #ffffff1a,inset 0 0 1.6cqw #e3fd2e12,0 0 2.4cqw #e3fd2e26,0 2.6cqw 3.4cqw -1.6cqw #000000e6}.eco-map[data-running=true] .eco-node__face{animation-play-state:running}.eco-node__face:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff17 0%,#fff0 38%);position:absolute;inset:0}.eco-node.is-hover .eco-node__face,.eco-node:focus-visible .eco-node__face,.eco-node.is-focus .eco-node__face{border-color:#e3fd2ebf;box-shadow:inset 0 1px #ffffff24,inset 0 0 2cqw #e3fd2e1f,0 0 3.6cqw #e3fd2e52,0 3.2cqw 4cqw -1.6cqw #000000e6}.eco-map[data-hover] .eco-node:not(.is-hover) .eco-node__face{opacity:.55}@keyframes eco-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-.35cqw)}}.eco-node__icon{color:var(--lime);place-items:center;display:grid}.eco-node__icon svg{stroke-width:1.6px;filter:drop-shadow(0 0 .55cqw #e3fd2e8c);block-size:2.5cqw;inline-size:2.5cqw}.eco-node__text{flex-direction:column;align-items:center;gap:.45cqw;min-inline-size:0;display:flex}.eco-node__name{letter-spacing:-.02em;white-space:nowrap;font-size:clamp(10px,1.32cqw,17px);font-weight:500}.eco-node__status{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:#f5eee28c;white-space:nowrap;align-items:center;gap:.45cqw;font-size:clamp(7.5px,.74cqw,10.5px);display:inline-flex}.eco-node__dot{background:#f5eee259;border-radius:50%;block-size:.5cqw;min-block-size:5px;inline-size:.5cqw;min-inline-size:5px}.eco-node__status.is-live{color:var(--lime)}.eco-node__status.is-live .eco-node__dot{background:var(--lime);box-shadow:0 0 .8cqw var(--lime)}.eco-node--hub:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#e3fd2e42,#e3fd2e0f 60%,#0000);border-radius:3cqw;animation:4.8s ease-in-out infinite paused eco-breathe;position:absolute;inset:-22% -14%}.eco-map[data-running=true] .eco-node--hub:before{animation-play-state:running}@keyframes eco-breathe{0%,to{opacity:.7;transform:scale(.94)}50%{opacity:1;transform:scale(1.05)}}.eco-node--hub .eco-node__face{background:linear-gradient(165deg,#404628f5 0%,#181a11f7 45%,#090a08fa 100%);border-color:#e3fd2e8c;border-radius:1.8cqw;gap:.9cqw;box-shadow:inset 0 1px #ffffff24,inset 0 0 2.4cqw #e3fd2e1f,0 0 0 1px #e3fd2e1f,0 0 4cqw #e3fd2e4d,0 3.4cqw 4.4cqw -1.8cqw #000000f2}.eco-node--hub .eco-node__icon svg{stroke-width:1.4px;block-size:4.2cqw;inline-size:4.2cqw}.eco-node--hub .eco-node__name{letter-spacing:.02em;font-size:clamp(14px,2.35cqw,30px);font-weight:600}.eco-node--layer .eco-node__face{background:linear-gradient(170deg,#2c301ee6 0%,#10110df2 55%,#0a0b09f7 100%);border-radius:1.6cqw;flex-direction:row;gap:2cqw;padding-inline:2.4cqw}.eco-node__icons{color:var(--lime);align-items:center;gap:1.1cqw;display:flex}.eco-node__icons svg{stroke-width:1.5px;filter:drop-shadow(0 0 .5cqw #e3fd2e80);block-size:2.3cqw;inline-size:2.3cqw}.eco-node--layer .eco-node__text{align-items:flex-start}.eco-node--layer .eco-node__name{font-size:clamp(12px,1.7cqw,21px)}.eco-node__desc{color:#f5eee28c;font-size:clamp(8.5px,.95cqw,13px);font-weight:300;line-height:1.35}.eco-tip{z-index:5;pointer-events:none;background:#0a0b09f0;border:1px solid #e3fd2e4d;border-radius:1cqw;inline-size:min(25cqw,300px);padding:1cqw 1.2cqw;animation:.25s both eco-tip-in;position:absolute;transform:translate(-50%,1.1cqw);box-shadow:0 1.6cqw 3cqw -1cqw #000000e6,0 0 2cqw #e3fd2e1f}.eco-tip.is-above{transform:translate(-50%,calc(-100% - 1.1cqw))}.eco-tip p{color:#f5eee2d1;margin:0;font-size:clamp(10px,.98cqw,13px);line-height:1.45}.eco-tip__cta{color:var(--lime);align-items:center;gap:.3cqw;margin-top:.7cqw;font-size:clamp(9px,.85cqw,11.5px);display:inline-flex}.eco-tip__cta svg{block-size:1em;inline-size:1em}.eco-tip__cta.is-muted{color:#f5eee266}@keyframes eco-tip-in{0%{opacity:0}to{opacity:1}}.eco-map.is-mobile .eco-label{padding:1cqw 2.4cqw;font-size:2.5cqw}.eco-map.is-mobile .eco-label--layer{font-size:2.3cqw}.eco-map.is-mobile .eco-node__face{border-radius:3.6cqw;flex-direction:row;justify-content:flex-start;gap:2.6cqw;padding:0 3.2cqw;box-shadow:inset 0 1px #ffffff1a,0 0 5cqw #e3fd2e24,0 5cqw 7cqw -3cqw #000000e6}.eco-map.is-mobile .eco-node__icon svg{block-size:5.6cqw;inline-size:5.6cqw}.eco-map.is-mobile .eco-node__text{align-items:flex-start;gap:1cqw}.eco-map.is-mobile .eco-node__name{font-size:3.7cqw}.eco-map.is-mobile .eco-node__status{gap:1cqw;font-size:2.4cqw}.eco-map.is-mobile .eco-node__dot{block-size:1.4cqw;inline-size:1.4cqw}.eco-map.is-mobile .eco-node--hub .eco-node__face{border-radius:4.4cqw;justify-content:center;gap:3.4cqw}.eco-map.is-mobile .eco-node--hub .eco-node__icon svg{block-size:9cqw;inline-size:9cqw}.eco-map.is-mobile .eco-node--hub .eco-node__name{font-size:5.6cqw}.eco-map.is-mobile .eco-node--layer .eco-node__face{flex-direction:column;justify-content:center;align-items:flex-start;gap:1.8cqw;padding:0 4.5cqw}.eco-map.is-mobile .eco-node__icons svg{block-size:5cqw;inline-size:5cqw}.eco-map.is-mobile .eco-node--layer .eco-node__name{font-size:4cqw}.eco-map.is-mobile .eco-node__desc{font-size:2.8cqw}.eco-map.is-mobile .eco-tip{border-radius:3cqw;inline-size:62cqw;padding:3cqw 3.4cqw}.eco-map.is-mobile .eco-tip p{font-size:3.1cqw}.eco-map.is-mobile .eco-tip__cta{margin-top:1.6cqw;font-size:2.8cqw}@media (prefers-reduced-motion:reduce){.eco-node__face,.eco-node--hub:before{animation:none}.eco-orbit,.eco-link__core,.eco-link__glow,.eco-node,.eco-label,.eco-pulse{transition:none!important}}
