\n/* Ecosystem partners page — shared design */\n.partners-page{--eco-blue:var(--blue,#006197);--eco-cyan:#54c6e7;--eco-dark:#092534;--eco-ink:var(--ink,#123247);--eco-line:#d7e8ee;--eco-soft:#f4fafc;background:#fff}\n.eco-hero{position:relative;min-height:720px;padding:92px 0 76px;overflow:hidden;background:\n radial-gradient(circle at 76% 44%,rgba(84,198,231,.15),transparent 28%),\n linear-gradient(135deg,#ffffff 0%,#f5fbfd 52%,#e9f6fb 100%)}\n.eco-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,97,151,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(0,97,151,.045) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.35));pointer-events:none}\n.eco-hero .container{position:relative;z-index:2}\n.eco-copy{max-width:760px}\n.eco-kicker{display:flex;align-items:center;gap:10px;color:var(--eco-blue);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}\n.eco-kicker:before{content:"";width:28px;height:2px;background:var(--eco-blue);border-radius:99px}\n.eco-copy h1{font-size:clamp(46px,6vw,74px);line-height:.98;letter-spacing:-.055em;margin:18px 0 0;color:var(--eco-ink);max-width:760px}\n.eco-copy h1 em{font-style:normal;color:var(--eco-blue)}\n.eco-copy .lead{max-width:650px;margin:22px 0 0;color:#6b8492;font-size:17px}\n.eco-caption{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}\n.eco-pill{border:1px solid #cfe4eb;background:rgba(255,255,255,.74);padding:8px 11px;border-radius:999px;font-size:11px;color:#5e7886;backdrop-filter:blur(10px)}\n.eco-stage{position:relative;max-width:1080px;height:430px;margin:50px auto 0}\n.eco-stage:after{content:"";position:absolute;left:50%;top:50%;width:360px;height:360px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(84,198,231,.11),rgba(84,198,231,0) 68%);filter:blur(4px);pointer-events:none}\n.eco-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}\n.eco-svg path{fill:none;stroke:rgba(0,97,151,.20);stroke-width:1.2;stroke-dasharray:6 9;animation:ecoDash 16s linear infinite}\n.eco-svg .ring{stroke:rgba(0,97,151,.11);stroke-dasharray:none;animation:ecoSpin 38s linear infinite}\n.eco-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:178px;height:178px;border-radius:50%;background:linear-gradient(145deg,#092b3b,#0a4057);display:grid;place-items:center;box-shadow:0 28px 80px rgba(8,49,67,.22),0 0 0 10px rgba(255,255,255,.72);text-align:center;color:#fff;overflow:hidden}\n.eco-center:before{content:"";position:absolute;inset:-35%;background:conic-gradient(from 20deg,transparent,rgba(84,198,231,.32),transparent 35%,rgba(255,255,255,.12),transparent 60%);animation:ecoSpin 9s linear infinite}\n.eco-center-inner{position:relative;z-index:2;padding:20px}\n.eco-center strong{display:block;font-size:13px;letter-spacing:.16em;text-transform:uppercase}\n.eco-center span{display:block;margin-top:6px;font-size:11px;color:#b7d3de}\n.eco-node{position:absolute;width:220px;min-height:110px;padding:16px 18px;border-radius:22px;background:rgba(255,255,255,.91);border:1px solid #d5e7ed;box-shadow:0 18px 55px rgba(8,55,74,.10);backdrop-filter:blur(12px);display:grid;grid-template-columns:46px 1fr;gap:13px;align-items:center;transition:transform .35s,box-shadow .35s,border-color .35s}\n.eco-node:hover{transform:translateY(-7px);box-shadow:0 25px 68px rgba(8,55,74,.16);border-color:#a9cfdb}\n.eco-node.current{border-color:var(--eco-cyan);box-shadow:0 20px 65px rgba(0,97,151,.15),0 0 0 4px rgba(84,198,231,.10)}\n.eco-node:nth-of-type(1){left:2%;top:18%}.eco-node:nth-of-type(2){right:2%;top:9%}.eco-node:nth-of-type(3){left:4%;bottom:8%}.eco-node:nth-of-type(4){right:5%;bottom:13%}\n.eco-logo{width:46px;height:46px;object-fit:contain;border-radius:14px;background:#f7fbfc;border:1px solid #deedf1;padding:6px}\n.eco-node .domain{font-size:10px;font-weight:800;letter-spacing:.10em;color:var(--eco-blue);text-transform:uppercase}\n.eco-node h3{font-size:16px;line-height:1.15;margin:4px 0 0;color:var(--eco-ink)}\n.eco-node p{margin:4px 0 0;font-size:11px;line-height:1.35;color:#6d8490}\n.eco-node .visit{margin-top:8px;display:inline-flex;align-items:center;gap:6px;color:var(--eco-blue);font-size:10px;font-weight:800}\n.eco-section{padding:104px 0;background:#fff}\n.eco-section.soft{background:var(--eco-soft)}\n.eco-section-head{display:grid;grid-template-columns:1fr .72fr;gap:64px;align-items:end;margin-bottom:42px}\n.eco-section-head h2{font-size:clamp(34px,4vw,50px);line-height:1.06;letter-spacing:-.04em;margin:12px 0 0;color:var(--eco-ink)}\n.eco-section-head p{margin:0;color:#6f8895;font-size:15px}\n.eco-principles{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:16px}\n.eco-panel{border:1px solid var(--eco-line);border-radius:28px;background:#fff;padding:28px;min-height:230px;position:relative;overflow:hidden;transition:.35s}\n.eco-panel:before{content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-55px;bottom:-55px;background:radial-gradient(circle,rgba(84,198,231,.17),rgba(84,198,231,0));pointer-events:none}\n.eco-panel:hover{transform:translateY(-5px);box-shadow:0 24px 65px rgba(10,60,82,.10)}\n.eco-panel.featured{background:linear-gradient(145deg,#0b2b3c,#0c4c66);color:#fff;border-color:#0b2b3c}\n.eco-panel.featured .eco-mini,.eco-panel.featured p{color:#bcd5df}.eco-panel.featured h3{color:#fff}\n.eco-mini{font-size:10px;color:var(--eco-blue);font-weight:800;letter-spacing:.12em;text-transform:uppercase}\n.eco-panel h3{font-size:24px;line-height:1.12;margin:14px 0 10px;color:var(--eco-ink)}\n.eco-panel p{margin:0;color:#6b8490;font-size:13px;max-width:440px}\n.eco-network{display:flex;align-items:center;gap:9px;margin-top:24px;flex-wrap:wrap}\n.eco-network i{width:8px;height:8px;border-radius:50%;background:var(--eco-cyan);box-shadow:0 0 0 5px rgba(84,198,231,.12)}\n.eco-network span{font-size:10px;color:#7a929d}\n.eco-note{margin-top:24px;padding:16px 18px;border:1px dashed #c9dfe7;border-radius:18px;color:#67818e;font-size:12px;background:rgba(255,255,255,.58)}\n.eco-cta{padding:96px 0;background:linear-gradient(145deg,#0a2635,#0c4b65);color:#fff;position:relative;overflow:hidden}\n.eco-cta:before{content:"";position:absolute;width:700px;height:700px;right:-220px;top:-260px;border-radius:50%;border:1px solid rgba(84,198,231,.16);box-shadow:inset 0 0 0 42px rgba(84,198,231,.03),inset 0 0 0 85px rgba(84,198,231,.03)}\n.eco-cta-inner{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:40px}\n.eco-cta h2{font-size:clamp(34px,4vw,52px);line-height:1.04;letter-spacing:-.04em;margin:12px 0 0;max-width:760px}\n.eco-cta p{margin:16px 0 0;color:#bfd4dc;max-width:600px;font-size:15px}\n.eco-cta .eco-kicker{color:#6ed2ee}.eco-cta .eco-kicker:before{background:#6ed2ee}\n.eco-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 19px;border-radius:14px;background:#fff;color:#0a3f56;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 18px 44px rgba(0,0,0,.14);transition:.3s}\n.eco-cta-btn:hover{transform:translateY(-3px);box-shadow:0 24px 54px rgba(0,0,0,.2)}\n@keyframes ecoDash{to{stroke-dashoffset:-180}}@keyframes ecoSpin{to{transform:rotate(360deg)}}\n@media(max-width:980px){.eco-stage{height:520px}.eco-node{width:210px}.eco-node:nth-of-type(1){left:0;top:8%}.eco-node:nth-of-type(2){right:0;top:4%}.eco-node:nth-of-type(3){left:0;bottom:4%}.eco-node:nth-of-type(4){right:0;bottom:8%}.eco-principles{grid-template-columns:1fr 1fr}.eco-panel.featured{grid-column:1/-1}.eco-section-head{grid-template-columns:1fr;gap:16px}}\n@media(max-width:760px){.eco-hero{min-height:0;padding:72px 0 48px}.eco-copy h1{font-size:45px}.eco-copy .lead{font-size:15px}.eco-stage{height:auto;margin-top:34px;display:grid;gap:12px}.eco-svg,.eco-stage:after,.eco-center{display:none}.eco-node,.eco-node:nth-of-type(1),.eco-node:nth-of-type(2),.eco-node:nth-of-type(3),.eco-node:nth-of-type(4){position:relative;left:auto;right:auto;top:auto;bottom:auto;width:100%;min-height:0}.eco-node{grid-template-columns:50px 1fr}.eco-section{padding:76px 0}.eco-section-head{margin-bottom:30px}.eco-principles{grid-template-columns:1fr}.eco-panel{min-height:210px}.eco-cta{padding:76px 0}.eco-cta-inner{display:block}.eco-cta-btn{margin-top:24px}.eco-hero + .eco-section{padding-top:68px}}\n\n/* Partner ecosystem reveal state */\n.eco-node,.eco-panel{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease,box-shadow .35s,border-color .35s}.eco-node:nth-of-type(2){transition-delay:var(--delay)}.eco-node:nth-of-type(3){transition-delay:var(--delay)}.eco-node:nth-of-type(4){transition-delay:var(--delay)}.eco-node.eco-in,.eco-panel.eco-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.eco-node,.eco-panel{opacity:1;transform:none!important;transition:none!important}.eco-svg path,.eco-svg .ring,.eco-center:before{animation:none!important}}\n