:root{--magenta:#d7004e;--magenta-light:#f5e6ed;--n1:#171726;--n2:#2c2c3c;--n3:#52525e;--n4:#88888e;--n5:#d9d9dd;--white:#fff;--font:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}.ecosystem-section{background:var(--white);color:var(--n1);font-family:var(--font);font-weight:400;margin:0 auto;-webkit-font-smoothing:antialiased;line-height:1.5}.sec-tag{color:var(--magenta);font-size:11px;letter-spacing:.16em;text-transform:uppercase}.sec-h,.sec-tag{font-weight:500;margin-bottom:14px}.sec-h{color:var(--n1);font-size:clamp(28px,3.5vw,42px);letter-spacing:-.02em;line-height:1.15}.sec-h .mg{color:var(--magenta)}.sec-p{color:var(--n3);font-size:15px;font-weight:300;line-height:1.7;max-width:620px}.ecosystem-inner{align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr;margin:0 auto}.ecosystem-copy{display:flex;flex-direction:column;gap:24px}.ecosystem-copy .sec-h{color:var(--n1);font-size:clamp(26px,3vw,36px);letter-spacing:-.02em;line-height:1.2}.ecosystem-copy .sec-p{color:var(--n3);font-size:15px;font-weight:300;line-height:1.75;max-width:460px}.eco-diagram{margin:0 auto;max-width:560px;width:100%}.eco-diagram .cycle{aspect-ratio:1/1;position:relative;width:100%}.eco-diagram .cycle svg.arcs{height:100%;inset:0;overflow:visible;position:absolute;width:100%;z-index:1}.eco-diagram .arc{fill:none;opacity:.9;stroke:var(--magenta);stroke-linecap:round;stroke-width:3.4}.eco-diagram .arc-head{fill:var(--magenta)}.eco-diagram .arc-flow{animation:eco-flow 1.4s linear infinite;fill:none;opacity:.9;stroke:#ff5c93;stroke-dasharray:1 11;stroke-linecap:round;stroke-width:3.4}@keyframes eco-flow{to{stroke-dashoffset:-12}}.eco-diagram .cycle:hover .arc-flow{animation-duration:.7s}.eco-diagram .brain{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:36%;z-index:3}.eco-diagram .brain img{animation:eco-pulse 3.4s ease-in-out infinite;display:block;height:auto;transition:transform .35s;width:100%}.eco-diagram .brain:hover img{transform:scale(1.05)}@keyframes eco-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}.eco-diagram .stage{position:absolute;transform:translate(-50%,-50%);transition:transform .3s;z-index:4}.eco-diagram .badge{align-items:center;background:var(--magenta);border-radius:50%;box-shadow:0 4px 12px rgba(215,0,78,.32),0 0 0 4px #fff,0 0 0 5px rgba(215,0,78,.18);cursor:pointer;display:flex;height:clamp(34px,4.6vw,52px);justify-content:center;margin:0 auto;transition:transform .3s,box-shadow .3s;width:clamp(34px,4.6vw,52px)}.eco-diagram .badge svg{height:58%;width:58%}.eco-diagram .stage-card{left:50%;pointer-events:none;position:absolute;text-align:center;transform:translateX(-50%);width:max(130px,12vw)}.eco-diagram .dir-up .stage-card{bottom:calc(100% + .5vw)}.eco-diagram .dir-down .stage-card{top:calc(100% + .5vw)}.eco-diagram .dir-left .stage-card{left:auto;right:calc(100% + .6vw);text-align:right;transform:none;width:max(108px,9.5vw)}.eco-diagram .dir-right .stage-card{left:calc(100% + .6vw);text-align:left;transform:none;width:max(108px,9.5vw)}.eco-diagram .stage-label{color:var(--n1);font-size:clamp(11px,1.1vw,14px);font-weight:600;letter-spacing:-.01em;line-height:1.15}.eco-diagram .stage-desc{color:var(--n4);font-size:clamp(9px,.82vw,11px);line-height:1.3;margin-top:.2em;max-height:0;opacity:0;overflow:hidden;transition:max-height .35s,opacity .3s,margin .3s}.eco-diagram .slots{display:flex;flex-wrap:wrap;gap:.3em;justify-content:center;margin-top:.4em}.eco-diagram .dir-left .slots{justify-content:flex-end}.eco-diagram .dir-right .slots{justify-content:flex-start}.eco-diagram .slot{background:var(--white);border:1px solid var(--n5);border-radius:999px;color:var(--n3);font-size:clamp(8px,.82vw,11px);font-weight:500;line-height:1.35;opacity:0;padding:.18em .55em;transform:translateY(6px) scale(.96);transition:opacity .3s,transform .3s,border-color .3s,color .3s;white-space:nowrap}.eco-diagram .stage:hover{transform:translate(-50%,-50%) scale(1.06);z-index:6}.eco-diagram .stage:hover .badge{box-shadow:0 8px 20px rgba(215,0,78,.45),0 0 0 4px #fff,0 0 0 6px rgba(215,0,78,.35);transform:scale(1.12)}.eco-diagram .stage:hover .stage-desc{margin-top:.35em;max-height:4em;opacity:1}.eco-diagram .stage:hover .slot{border-color:var(--magenta);color:var(--magenta);opacity:1;transform:translateY(0) scale(1)}.eco-diagram .stage:hover .slot:nth-child(2){transition-delay:.05s}.eco-diagram .stage:hover .slot:nth-child(3){transition-delay:.1s}.eco-diagram .stage:hover .slot:nth-child(4){transition-delay:.15s}.eco-diagram .cycle:has(.stage:hover) .stage:not(:hover){opacity:.32}.eco-diagram .cycle:has(.stage:hover) .brain{opacity:.5}.eco-diagram .cycle .brain,.eco-diagram .cycle .stage{transition:opacity .3s,transform .3s}.eco-diagram .stage{animation:eco-rise .7s ease-out both}.eco-diagram .brain{animation:eco-brain-fade .7s ease-out both}@keyframes eco-brain-fade{0%{opacity:0}to{opacity:1}}.eco-diagram .s-rec{animation-delay:.05s}.eco-diagram .s-mat{animation-delay:.12s}.eco-diagram .s-con{animation-delay:.19s}.eco-diagram .s-bra{animation-delay:.26s}.eco-diagram .s-was{animation-delay:.33s}@keyframes eco-rise{0%{opacity:0}to{opacity:1}}@media(max-width:980px){.ecosystem-inner{grid-template-columns:1fr}.eco-diagram{max-width:420px}}