/* Ecosystem page — diagram sizing + partner cards */
.eco-diagram { max-width: 720px; margin: 0 auto; }

/* ecosystem SVG diagram */
.eco-spoke { fill: none; stroke: rgba(201,168,76,0.2); stroke-width: 0.75; stroke-dasharray: 3 4; }
.eco-orbit { fill: none; stroke: rgba(201,168,76,0.15); stroke-width: 0.75; stroke-dasharray: 4 5; }
.eco-label-sm { font-family: 'Outfit', sans-serif; font-size: 11px; fill: rgba(232,228,216,0.55); }
.eco-label-md { font-family: 'Outfit', sans-serif; font-size: 13px; font-weight: 500; fill: #e8e4d8; }
.eco-bond { font-family: 'JetBrains Mono', monospace; font-size: 9px; fill: rgba(201,168,76,0.7); }
@keyframes spinCW  { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes spinCCW { from { transform: rotate(0deg); } to { transform: rotate(-360deg); } }
@media (prefers-reduced-motion: no-preference) {
  #eco-orbit-a { transform-origin: 340px 340px; animation: spinCW 36s linear infinite; }
  #eco-orbit-b { transform-origin: 340px 340px; animation: spinCCW 52s linear infinite; }
}

.eco-partners { display: flex; flex-direction: column; gap: 28px; }
.eco-card { display: flex; gap: 28px; align-items: flex-start; }
.eco-card:nth-child(even) { flex-direction: row-reverse; }
.eco-card-icon { font-size: 48px; flex-shrink: 0; width: 72px; text-align: center; padding-top: 4px; line-height: 1; }
.eco-card-body { flex: 1; }
.eco-card-header { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 12px; }
.eco-card-header h3 { margin-bottom: 0; }
.eco-card-body p { margin-bottom: 18px; }

@media (max-width: 700px) {
  .eco-card, .eco-card:nth-child(even) { flex-direction: column; text-align: center; align-items: center; }
  .eco-card-header { justify-content: center; }
  .eco-card-icon { width: auto; }
}

/* HedgeKX flywheel (moved from home) */
.flywheel-svg { max-width: 520px; width: 100%; margin: 0 auto; }
