/* ecosystem-page.css — Ecosystem page (orbit hero, numbered pipeline, capabilities, how-we-work, tech foundation, partners) */

/* ---------- hero with orbit visual ---------- */
.eco-hero .container{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.eco-hero h1 em{color:var(--red)}
.orbit-wrap{position:relative;height:430px}
.orbit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1.5px dashed #F0CDC9;border-radius:50%}
.orbit.o1{width:260px;height:260px}
.orbit.o2{width:380px;height:380px}
.orbit.o3{width:490px;height:430px;border-radius:50%}
.orbit i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--red);opacity:.55}
.orbit.o2 i{left:8%;top:22%}
.orbit.o3 i{right:10%;bottom:24%}
.cube{position:absolute;left:50%;top:50%;transform:translate(-50%,-58%);width:118px;height:118px;border-radius:26px;background:linear-gradient(150deg,#E02234,#8F0E1B);display:flex;align-items:center;justify-content:center;box-shadow:0 30px 60px -18px rgba(160,15,25,.55);z-index:2}
.cube svg{width:62px;height:62px}
.podium{position:absolute;left:50%;top:58%;transform:translateX(-50%);width:240px;height:64px;border-radius:50%;background:radial-gradient(ellipse at center,#E9A9A5 0%,#F3CFCB 55%,transparent 75%);z-index:1}
.sat{position:absolute;text-align:center;z-index:3}
.sat .sq{width:52px;height:52px;border-radius:15px;background:#fff;box-shadow:0 12px 26px -10px rgba(150,30,35,.3);display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 5px}
.sat small{font-size:10.5px;font-weight:700;color:#3C3C42}
.sat.s-idea{left:6%;top:14%}
.sat.s-research{left:38%;top:0}
.sat.s-build{right:12%;top:8%}
.sat.s-users{left:0;top:46%}
.sat.s-growth{right:0;top:42%}
.sat.s-data{left:8%;bottom:8%}
.sat.s-money{left:42%;bottom:0}
.sat.s-scale{right:6%;bottom:12%}

/* ---------- centered section head ---------- */
.center-head{text-align:center;margin-bottom:44px}
.center-head .eyebrow{margin-bottom:8px}
.center-head p.sub{font-size:14px;color:var(--body);margin-top:10px}

/* ---------- numbered pipeline ---------- */
.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.pipe-step{text-align:center;position:relative;padding:0 6px}
.pipe-step .es-ico{width:64px;height:64px;font-size:26px;background:#FBEFEC;box-shadow:inset 0 0 0 1.5px #F3DEDA;margin-bottom:14px}
.pipe-step b{display:block;font-size:15.5px;font-weight:800;margin-bottom:6px}
.pipe-step p{font-size:12px;color:var(--body);line-height:1.55;max-width:180px;margin:0 auto}
.pipe-step:not(:last-child)::after{content:'⇢';position:absolute;right:-9px;top:22px;color:var(--red);opacity:.55;font-size:18px;letter-spacing:-2px}

/* ---------- core capabilities ---------- */
.cap-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.cap{background:#fff;border:1px solid #F3E5E2;border-radius:16px;padding:22px 16px;text-align:center;transition:transform .25s,box-shadow .25s}
.cap:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cap .es-ico{width:46px;height:46px;font-size:19px;background:#FBEFEC;margin-bottom:12px}
.cap b{display:block;font-size:13.5px;font-weight:800;margin-bottom:10px}
.cap ul{text-align:left;display:grid;gap:5px}
.cap li{font-size:10.8px;color:var(--body);display:flex;gap:6px;align-items:baseline}
.cap li::before{content:'';flex:none;width:4px;height:4px;border-radius:50%;background:var(--red);transform:translateY(-2px)}

/* ---------- how we work ---------- */
.work-board{background:#fff;border:1px solid #F3E5E2;border-radius:24px;padding:34px 28px;display:grid;grid-template-columns:repeat(5,1fr);gap:26px}
.work-col{position:relative}
.work-col:not(:last-child)::after{content:'→';position:absolute;right:-19px;top:42%;color:var(--red);opacity:.6;font-size:17px}
.wc-num{display:inline-block;font-size:11px;font-weight:800;color:#fff;background:var(--red);border-radius:7px;padding:3px 8px;letter-spacing:.06em}
.work-col h3{font-size:14.5px;font-weight:800;letter-spacing:.04em;display:inline-block;margin-left:8px}
.work-col>p{font-size:11.5px;color:var(--body);line-height:1.5;margin:8px 0 14px;min-height:50px}
.wc-illus{height:110px;border-radius:14px;background:linear-gradient(160deg,#FDF2F0,#F8DEDA);display:flex;align-items:center;justify-content:center;font-size:44px;margin-bottom:16px}
.work-col ul{display:grid;gap:7px}
.work-col li{display:flex;gap:8px;font-size:11.5px;font-weight:600;color:#3C3C42;align-items:baseline}
.work-col li::before{content:'✓';flex:none;width:14px;height:14px;border-radius:50%;background:var(--red);color:#fff;font-size:8.5px;display:inline-flex;align-items:center;justify-content:center;transform:translateY(2px)}

/* ---------- technology foundation ---------- */
.tech-row{display:flex;justify-content:center;flex-wrap:wrap}
.tech{flex:1;min-width:130px;max-width:170px;text-align:center;padding:10px 14px;position:relative}
.tech:not(:last-child)::after{content:'';position:absolute;right:0;top:18%;bottom:18%;width:1px;background:#F0DFDC}
.tech svg{width:40px;height:40px;stroke:var(--red);fill:none;stroke-width:1.7;margin-bottom:10px}
.tech b{display:block;font-size:12.5px;font-weight:700;line-height:1.35}

/* ---------- global impact dark variant ---------- */
.impact.dark{background:radial-gradient(130% 170% at 78% 18%,#7E0C17 0%,#3E060C 48%,#160204 100%)}

/* ---------- partners ---------- */
.partners-row{display:flex;justify-content:center;gap:52px;flex-wrap:wrap;align-items:center}
.partners-row span{display:inline-flex;align-items:center;gap:9px;font-size:16px;font-weight:800;color:#3C3C42}
.partners-row svg{width:22px;height:22px;fill:#3C3C42}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .cap-grid{grid-template-columns:repeat(3,1fr)}
  .pipeline{grid-template-columns:repeat(3,1fr);row-gap:30px}
  .pipe-step:nth-child(3)::after{display:none}
  .work-board{grid-template-columns:1fr 1fr;gap:30px}
  .work-col::after{display:none!important}
}
@media(max-width:880px){
  .eco-hero .container{grid-template-columns:1fr}
  .orbit-wrap{height:360px;max-width:420px;margin:0 auto;width:100%}
  .orbit.o3{width:100%;height:340px}
}
@media(max-width:640px){
  .pipeline{grid-template-columns:1fr 1fr}
  .pipe-step::after{display:none}
  .cap-grid{grid-template-columns:1fr 1fr}
  /* how-we-work: horizontal snap slider on mobile */
  .work-board{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;margin:0 -24px;padding:24px;border-radius:0;border-left:0;border-right:0;scrollbar-width:none}
  .work-board::-webkit-scrollbar{display:none}
  .work-col{flex:0 0 78%;scroll-snap-align:center}
  .work-col>p{min-height:0}
  .tech:not(:last-child)::after{display:none}
  .tech{min-width:40%}
  .partners-row{gap:24px}
}
