.ecosystem-section { padding: 48px 0; border-bottom: 1px solid var(--line); }
.ecosystem-section h2 { margin: 0 0 28px; font-size: 28px; }
.ecosystem-root { display: flex; justify-content: center; position: relative; padding-bottom: 36px; }
.ecosystem-root img { width: 210px; height: 44px; object-fit: contain; filter: brightness(0) invert(1); }
html[data-theme="light"] .ecosystem-root img { filter: brightness(0); }
.ecosystem-root::after { content: ''; position: absolute; bottom: 0; height: 28px; width: 1px; background: #ff9a3c; }
.ecosystem-branches { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.ecosystem-group { min-width: 0; position: relative; padding-top: 28px; border-top: 1px solid #ff9a3c; }
.ecosystem-group::before { content: ''; position: absolute; top: 0; left: 50%; height: 18px; width: 1px; background: #ff9a3c; }
.ecosystem-group h3 { font-size: 14px; line-height: 1.4; margin: 0 0 16px; }
.ecosystem-group ul { list-style: none; margin: 0; padding: 0; }
.ecosystem-group li + li { margin-top: 10px; }
.ecosystem-group a { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); font: 600 13px/1.45 Arial, sans-serif; text-decoration: none; overflow-wrap: anywhere; }
.ecosystem-group svg { width: 22px; height: 22px; flex: 0 0 22px; fill: none; stroke: #ff9a3c; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ecosystem-group a:hover, .ecosystem-group a:focus-visible { border-color: #ff9a3c; outline: none; }
@media (max-width: 1024px) { .ecosystem-branches { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 660px) { .ecosystem-section { padding: 30px 0; } .ecosystem-section h2 { font-size: 24px; } .ecosystem-branches { grid-template-columns: 1fr; gap: 24px; } .ecosystem-root { padding-bottom: 24px; } .ecosystem-group { padding-top: 20px; } .ecosystem-group a { min-height: 56px; } }
