.eco-desktop{--eco-accent:var(--accent);--eco-white:var(--base-opp-tint--dark);--eco-bg:var(--base--dark);--eco-ink:var(--base-opp--dark);--eco-muted:var(--t-muted--dark);--eco-surface:color-mix(in srgb,var(--eco-ink) 1.8%,var(--eco-bg));--eco-border:color-mix(in srgb,var(--eco-ink) 10.5%,var(--eco-bg));--eco-core:color-mix(in srgb,var(--eco-accent) 9%,var(--eco-white));min-height:600vh;position:relative;background:var(--eco-bg);color:var(--eco-ink);overflow:clip}.eco-desktop__sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.eco-desktop__bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.eco-desktop__dots{position:absolute;inset:-10%;background-image:radial-gradient(circle,var(--eco-white) 1.5px,transparent 1.5px);background-size:52px 52px;opacity:0}.eco-desktop__glow{position:absolute;width:1200px;height:600px;top:0;left:calc(50% - 600px);background:radial-gradient(ellipse at center top,color-mix(in srgb,var(--eco-white) 18%,transparent) 0,transparent 70%);opacity:0}.eco-desktop__accent{position:absolute;width:700px;height:700px;top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at center,color-mix(in srgb,var(--eco-accent) 35%,transparent) 0,transparent 65%);border-radius:50%;opacity:0}.eco-desktop__line{top:0;width:3px;transform:translateX(-50%);background:linear-gradient(to bottom,transparent 0,var(--eco-accent) 30%);box-shadow:0 0 14px 3px color-mix(in srgb,var(--eco-accent) 30%,transparent),0 0 36px 6px color-mix(in srgb,var(--eco-accent) 10%,transparent)}.eco-desktop__line,.eco-desktop__line-dot{position:absolute;left:50%;z-index:20;pointer-events:none}.eco-desktop__line-dot{width:12px;height:12px;border-radius:50%;background:var(--eco-accent);transform:translate(-50%,-50%);box-shadow:0 0 16px 4px color-mix(in srgb,var(--eco-accent) 50%,transparent),0 0 40px 8px color-mix(in srgb,var(--eco-accent) 15%,transparent)}.eco-desktop__lead{font:normal var(--fw-regular) clamp(1.4rem,1.6vw,1.7rem)/1.7 var(--_font-default);color:var(--eco-muted);text-align:center;max-width:520px}.eco-desktop__diagram{position:relative;width:900px;transform-origin:top center}.eco-desktop__svg{position:absolute;inset:0;overflow:visible}.eco-fill-accent{fill:var(--eco-accent)}.eco-stroke-accent{stroke:var(--eco-accent)}.eco-stroke-core{stroke:var(--eco-core)}.eco-desktop__hub{position:absolute;width:190px;height:190px;border-radius:50%;background:var(--eco-surface);border:1px solid var(--eco-border);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 10px var(--eco-bg);z-index:10}.eco-desktop__hub-img{width:160px;height:auto;pointer-events:none}.eco-node{position:absolute;width:160px;height:160px;border-radius:50%;background:var(--eco-surface);display:flex;align-items:center;justify-content:center;z-index:5;cursor:pointer;transition:border .3s,box-shadow .3s}.eco-node:hover{border-color:var(--eco-accent)!important;box-shadow:0 0 20px color-mix(in srgb,var(--eco-accent) 30%,transparent)!important}.eco-node__img{width:120px;height:auto;pointer-events:none}@keyframes ecoTooltipIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.eco-tooltip{position:absolute;transform:translate(-50%,-50%);background:var(--eco-surface);border:1px solid var(--eco-border);border-radius:12px;padding:16px 20px;width:320px;z-index:20;box-shadow:0 0 30px rgba(0,0,0,.6);animation:ecoTooltipIn .3s ease}.eco-tooltip__name{font-family:var(--_font-body);font-weight:600;color:var(--eco-ink);margin-bottom:4px}.eco-tooltip__tag{font-family:var(--_font-default);color:var(--eco-accent);margin-bottom:8px}.eco-tooltip__detail{font-family:var(--_font-default);color:var(--eco-ink);line-height:1.5}.eco-tooltip__cta{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 14px;border-radius:999px;background:var(--eco-accent);color:var(--on-accent);font-family:var(--_font-accent);font-size:12px;font-weight:700;text-decoration:none}.eco-mobile__hub-cta{margin-top:2.4rem}.eco-node__short{font:normal var(--fw-bold) 1.6rem/1 var(--_font-accent);color:var(--eco-accent);letter-spacing:.08em}