/* The reference's photographic circle, adapted to Epic's dark art direction. */
.ecosystem-parts.ecosystem-orbit{display:block;width:calc(100% + 2*var(--pad));margin:28px calc(-1*var(--pad)) 0}
.ecosystem-wheel-canvas{width:100%;max-width:1200px;margin:auto}
.ecosystem-wheel-canvas>svg{display:block;width:100%;height:auto;overflow:visible;font-family:EpicSans,Arial,sans-serif}
.ecosystem-wheel-guide{fill:none;stroke:#6855a3;stroke-width:1.4}
.ecosystem-wheel-ring{fill:none;stroke-width:2;opacity:.7}
.ecosystem-hub-background{fill:var(--ink)}
.ecosystem-wheel-hub{fill:none;stroke:var(--cyan);stroke-width:5;pointer-events:none}
.ecosystem-hub-title{fill:#fff;font-size:30px;font-weight:700;letter-spacing:-.4px;text-anchor:middle;pointer-events:none}
.ecosystem-hub-title.mobile{font-size:40px}
.ecosystem-orbit .ecosystem-lab-hub{text-decoration:none;outline-offset:6px}
.ecosystem-lab-hub:hover .ecosystem-wheel-hub,.ecosystem-lab-hub:focus-visible .ecosystem-wheel-hub{stroke:#fff;stroke-width:7}
.ecosystem-node,.ecosystem-mobile-piece{text-decoration:none;outline-offset:6px}
.ecosystem-node-surface{fill:#151c38;stroke:#66567e;stroke-width:1}
.ecosystem-node-name{fill:#fff;font-size:24px;font-weight:700;letter-spacing:-.25px}
.ecosystem-node-summary{fill:#e8e5fa;font-size:21px}
.ecosystem-icon{fill:none;stroke:#10162f;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ecosystem-photo-edge{fill:none;stroke:#f5f2ff;stroke-width:1.2;stroke-opacity:.55}
.ecosystem-node:hover .ecosystem-node-surface,.ecosystem-node:focus-visible .ecosystem-node-surface{fill:#262048;stroke:var(--cyan);stroke-width:2}
.ecosystem-node:hover .ecosystem-photo-edge,.ecosystem-node:focus-visible .ecosystem-photo-edge,.ecosystem-mobile-piece:focus-visible .ecosystem-photo-edge{stroke:var(--cyan);stroke-width:5;stroke-opacity:1}
.ecosystem-wheel-canvas .ecosystem-wheel-mobile,.ecosystem-orbit .ecosystem-key{display:none}
.ecosystem-wheel-caption{text-align:center;margin:4px var(--pad) 0;font-size:1.125rem;line-height:1.5;font-weight:700;color:#fff}
.ecosystem-wheel-caption span{display:block;font-size:.9375rem;line-height:1.5;font-weight:400;color:#d8d3e8;margin-top:8px}
.ecosystem-wheel-marker{stroke:#fff;stroke-width:1.5}
@media(max-width:899px){
 .ecosystem-wheel-canvas{max-width:600px;padding:0 8px}
 .ecosystem-wheel-canvas .ecosystem-wheel-desktop{display:none}
 .ecosystem-wheel-canvas .ecosystem-wheel-mobile{display:block}
 .ecosystem-orbit .ecosystem-key{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;margin:28px var(--pad) 0;padding:0;list-style:none}
 .ecosystem-key li{min-width:0;border-top:1px solid #55466f}
 .ecosystem-key li a{display:flex;align-items:center;gap:12px;min-height:82px;padding:15px 0;color:#fff;text-decoration:none}
 .ecosystem-key-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:var(--node-accent)}
 .ecosystem-key-icon svg{width:23px;height:23px}
 .ecosystem-orbit .ecosystem-key h4{font-size:1rem;line-height:1.35;font-weight:700;margin:0;overflow-wrap:anywhere}
 .ecosystem-key a:hover h4,.ecosystem-key a:focus-visible h4{color:var(--cyan)}
 .ecosystem-wheel-caption{margin-top:30px}
}
@media(max-width:600px){
 .ecosystem-orbit .ecosystem-key{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin-top:22px}
 .ecosystem-key li:last-child{grid-column:1/-1}
 .ecosystem-key li a{min-height:80px;gap:10px;padding:14px 0}
 .ecosystem-key-icon{width:30px;height:30px;flex-basis:30px}
 .ecosystem-key-icon svg{width:21px;height:21px}
 .ecosystem-orbit .ecosystem-key h4{font-size:.9375rem;line-height:1.4}
 .ecosystem-wheel-caption{font-size:1rem}
}
@media(max-width:380px){
 .ecosystem-key li a{gap:6px}
 .ecosystem-key-icon{width:26px;height:26px;flex-basis:26px}
 .ecosystem-key-icon svg{width:19px;height:19px}
}
