/* X template: independent court, copy, cards and measured connector paths. */
#ecosystem{position:relative;isolation:isolate;box-sizing:border-box;background:#fff;color:#061b2c;min-height:min(680px,var(--ds-available));padding:28px var(--ds-gutter);font-family:var(--ds-body);font-synthesis:none}
#ecosystem *{box-sizing:border-box;min-width:0}
#ecosystem .eco-heading{position:relative;z-index:3;max-width:1360px;margin:0 auto}
#ecosystem .eco-heading p{font:600 var(--ds-eyebrow)/1.25 var(--ds-ui);letter-spacing:.14em;color:#0062ff;margin:0 0 12px}
#ecosystem h2{font:400 var(--ds-title)/1.1 var(--ds-display);letter-spacing:0;margin:0}
#ecosystem h2 em{font:inherit;font-style:normal;color:#0062ff}
.eco-scene{position:absolute;inset:76px 10% 22px;pointer-events:none}
.eco-scene img{width:100%;height:100%;object-fit:contain;display:block}
.eco-wires{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}
.eco-wire-paths{fill:none;stroke:#0084ff;stroke-width:2;filter:drop-shadow(0 0 3px #009dff)}
.eco-wire-pulses{fill:none;stroke:#a2eaff;stroke-width:3;stroke-dasharray:8 92;animation:eco-route 3.5s linear infinite}
@keyframes eco-route{to{stroke-dashoffset:-100}}
.eco-wire-dots{fill:white;stroke:#0084ff;stroke-width:3}
.eco-card{position:absolute;display:flex;align-items:center;gap:12px;z-index:2;width:28%;padding:20px;background:linear-gradient(130deg,#fff,#f4f9ff);border:1px solid #d6e7fa;border-radius:18px;box-shadow:0 12px 30px #0728501a}
.eco-card::before{content:'';position:absolute;left:0;top:12%;bottom:12%;width:4px;background:linear-gradient(#6fd4ff,#0062ff);border-radius:4px}
.eco-card>div{border-left:1px solid #0062ff;padding-left:12px;flex:1}
#ecosystem h3{font:400 var(--ds-card)/1.15 var(--ds-display);margin:0 0 8px;letter-spacing:0}
#ecosystem .eco-card p{font:400 1rem/1.5 var(--ds-body);margin:0;color:#3d5269}
.eco-icon{display:block;flex-shrink:0;width:56px;height:56px;background:url('/zinga-four/assets/art/icons.lossless.webp') no-repeat;background-size:300% 400%}
.eco-icon-person{background-position:0 0}.eco-icon-trophy{background-position:50% 0}.eco-icon-handshake{background-position:100% 0}.eco-icon-clubs{background-position:0 33.333%}.eco-icon-chart{background-position:50% 33.333%}
.eco-tour{left:2%;top:22%}.eco-player{right:2%;top:22%;background:linear-gradient(135deg,#00416a,#031426);color:#fff;border-color:#3bb8ff}#ecosystem .eco-player p{color:#ccd8e6}.eco-player>div{border-color:#d9ecff}.eco-clubs{left:2%;top:57%}.eco-sponsor{right:2%;top:57%}.eco-record{left:31%;bottom:20px;width:38%}
.eco-tabs,.eco-controls{display:none}
@media(max-width:1023px){
 #ecosystem{display:grid;grid-template-rows:auto auto 64px auto 48px;gap:8px;min-height:0;max-width:784px;margin-inline:auto;padding:20px var(--ds-gutter);}
 #ecosystem .eco-heading{margin:0;width:100%}
 #ecosystem .eco-heading p{margin-bottom:8px}
 #ecosystem h2{font-size:2rem;line-height:1.1}
 #ecosystem h2 em{display:block}
 .eco-scene{position:relative;inset:auto;height:clamp(120px,calc(var(--ds-available) - 420px),260px);margin:0 calc(-1 * var(--ds-gutter));}
 .eco-scene img{object-fit:contain;mask-image:linear-gradient(transparent,#000 8%,#000 88%,transparent)}
 .eco-wires{display:none}
 .eco-tabs{display:flex;gap:2px;z-index:2}
 .eco-tabs button{flex:1;border:1px solid transparent;border-radius:12px;background:transparent;color:#061b2c;padding:2px;font:600 .75rem/1.25 var(--ds-ui);position:relative;cursor:pointer;min-height:44px;transition:background-color .2s}
 .eco-tabs button[aria-selected=true]{background:#f4f9ff;border-color:#d6e7fa}
 .eco-tabs button[aria-selected=true]::after{content:'';position:absolute;bottom:0;left:8%;right:8%;height:3px;border-radius:6px;background:#0062ff}
 .eco-tabs .eco-icon{width:40px;height:40px;margin:0 auto 4px}
 .eco-cards{position:relative;display:grid;touch-action:pan-y}
 #ecosystem .eco-card{position:relative;inset:auto;grid-area:1/1;width:100%;min-height:132px;height:100%;padding:16px;gap:12px;border-radius:16px;background:linear-gradient(135deg,#fff,#f4f9ff);color:#061b2c}
 /* Inactive cards reserve the longest copy height without exposing hidden controls. */
 #ecosystem .eco-card[hidden]{display:flex;visibility:hidden;pointer-events:none}
 #ecosystem h3{font-size:1.5rem}
 #ecosystem .eco-card p{color:#3d5269}
 .eco-controls{display:flex;align-items:center;justify-content:center;gap:24px}
 .eco-controls>button{width:44px;height:44px;border:1.5px solid #0062ff;border-radius:50%;background:white;color:#0062ff;font:400 32px/1 var(--ds-body);cursor:pointer}
 .eco-pagination{text-align:center;font:400 .875rem/1.45 var(--ds-body);color:#3d5269}
 .eco-dots{display:flex;justify-content:center;gap:6px}.eco-dots span{width:7px;height:7px;border-radius:50%;background:#cbdced}.eco-dots span[aria-current=true]{background:#0062ff}
 .eco-hint{display:none}
}
#ecosystem button:hover{background:#eaf3ff}#ecosystem button:active{translate:0 1px}#ecosystem button:focus-visible{outline:3px solid #0062ff;outline-offset:2px}
#ecosystem[data-expanded]{min-height:680px}
@media(prefers-reduced-motion:reduce){.eco-wire-pulses{animation:none;display:none}}
.eco-count{margin:0 0 4px}

.eco-icon-clubs,.eco-icon-chart{clip-path:inset(14% 0 0)}

@media(min-width:768px) and (max-width:1023px){.eco-scene{height:clamp(120px,calc(var(--ds-available) - 420px),230px)}}
