.ecosystem-portal-section{position:relative;padding:clamp(78px,10vw,150px) 0;background:
radial-gradient(circle at 76% 48%,rgba(100,240,181,.08),transparent 24%),
radial-gradient(circle at 70% 58%,rgba(112,223,255,.055),transparent 32%),
linear-gradient(180deg,#050807,#07100d 48%,#050807);overflow:hidden;border-top:1px solid rgba(255,255,255,.055);border-bottom:1px solid rgba(255,255,255,.055)}
.ecosystem-portal-section:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,transparent,black 60%,transparent);opacity:.32}
.ecosystem-portal-wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr);gap:clamp(46px,7vw,110px);align-items:center}
.ecosystem-portal-copy h2{font-size:clamp(48px,6vw,86px);line-height:.92;letter-spacing:-.055em;margin:0 0 20px}.ecosystem-portal-copy h2 em{font-style:normal;color:#64f0b5}.ecosystem-portal-copy>p{max-width:620px;color:#9eaaa5;line-height:1.7;font-size:clamp(14px,1.2vw,18px)}
.ecosystem-portal-status{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.portal-live-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025);font-size:8px;letter-spacing:.1em;color:#aab6b1}.portal-live-chip i{width:6px;height:6px;border-radius:50%;background:#63706a}.portal-live-chip.ok i{background:#64f0b5;box-shadow:0 0 12px rgba(100,240,181,.72)}.portal-live-chip.warn i{background:#eab36b}.portal-live-chip.portal-model i{background:transparent;border:1px solid #70dfff}
.ecosystem-portal-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.ecosystem-portal-visual{position:relative;display:block;min-height:560px;color:inherit;text-decoration:none;perspective:1100px;isolation:isolate}
.portal-network{position:absolute;inset:7% 3% 2%;width:94%;height:91%;z-index:0;overflow:visible}.portal-network path,.portal-network circle{fill:none;stroke:rgba(100,240,181,.19);stroke-width:1}.portal-network path{stroke-dasharray:4 10;animation:portal-flow 18s linear infinite}.portal-network circle:nth-of-type(2){stroke:rgba(112,223,255,.12);stroke-dasharray:2 12}
.portal-core{position:absolute;z-index:4;left:50%;top:48%;transform:translate(-50%,-50%);width:132px;height:132px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle,rgba(20,49,39,.95),rgba(4,10,8,.92));border:1px solid rgba(100,240,181,.36);box-shadow:0 0 0 18px rgba(100,240,181,.025),0 0 70px rgba(100,240,181,.13)}.portal-core small{font-size:6px;letter-spacing:.14em;color:#7c8c84}.portal-core b{font-size:13px;line-height:1.05;letter-spacing:.09em;color:#f0f6f3;margin:4px 0}.portal-core span{position:absolute;inset:12px;border-radius:50%;border:1px solid rgba(112,223,255,.16)}
.portal-world{position:absolute;z-index:2;width:210px;height:148px;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#09110f;box-shadow:0 22px 60px rgba(0,0,0,.36);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.portal-world:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(2,7,6,.87));pointer-events:none}.portal-world img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.76) brightness(.68);transition:transform .6s ease,filter .35s ease}.portal-world div{position:absolute;z-index:2;left:13px;right:13px;bottom:11px}.portal-world small{display:block;font-size:7px;color:#64f0b5;letter-spacing:.12em}.portal-world b{display:block;font-size:12px;letter-spacing:.08em;color:#fff;margin:2px 0}.portal-world span{display:block;font-size:7px;color:#aab6b1}.portal-field{left:1%;top:2%;transform:rotateY(8deg) rotateZ(-1deg)}.portal-systems{right:1%;top:5%;transform:rotateY(-8deg) rotateZ(1deg)}.portal-intelligence{left:2%;bottom:11%;transform:rotateY(7deg)}.portal-habitat{right:1%;bottom:10%;transform:rotateY(-7deg)}.portal-capital{left:50%;bottom:-1%;transform:translateX(-50%) scale(.88)}
.ecosystem-portal-visual:hover .portal-world{border-color:rgba(100,240,181,.26);box-shadow:0 26px 70px rgba(0,0,0,.42),0 0 30px rgba(100,240,181,.05)}.ecosystem-portal-visual:hover .portal-world img{transform:scale(1.035);filter:saturate(.9) brightness(.78)}.ecosystem-portal-visual:hover .portal-core{box-shadow:0 0 0 22px rgba(100,240,181,.03),0 0 90px rgba(100,240,181,.2)}
.portal-enter-cue{position:absolute;right:0;top:49%;z-index:5;transform:translateY(-50%) rotate(90deg);transform-origin:right top;font-size:7px;letter-spacing:.18em;color:#7d8b84}.portal-enter-cue span{color:#64f0b5}
@keyframes portal-flow{to{stroke-dashoffset:-140}}
@media(max-width:1080px){.ecosystem-portal-wrap{grid-template-columns:1fr;gap:50px}.ecosystem-portal-copy{max-width:760px}.ecosystem-portal-visual{min-height:520px;max-width:760px;width:100%;margin:0 auto}}
@media(max-width:640px){.ecosystem-portal-section{padding:74px 0}.ecosystem-portal-copy h2{font-size:48px}.ecosystem-portal-visual{min-height:440px}.portal-world{width:142px;height:108px;border-radius:12px}.portal-world div{left:9px;right:9px;bottom:8px}.portal-world b{font-size:9px}.portal-world span{font-size:5.5px}.portal-core{width:100px;height:100px}.portal-core b{font-size:10px}.portal-field{left:0;top:4%}.portal-systems{right:0;top:5%}.portal-intelligence{left:0;bottom:16%}.portal-habitat{right:0;bottom:15%}.portal-capital{bottom:1%}.portal-enter-cue{display:none}}
@media(prefers-reduced-motion:reduce){.portal-network path{animation:none}.portal-world,.portal-world img{transition:none}}