/* Ecosistema (vista previa) — usa los tokens de styles.css (--bg, --paper, --ink, --leaf, --lime…) */
.ec-page{--plate:#ffffff;--shadow:0 30px 80px -30px rgba(18,38,30,.45),0 8px 24px -12px rgba(18,38,30,.25);--orbit:rgba(18,38,30,.14);--num:"Bricolage Grotesque","Figtree",system-ui,sans-serif;--spring:cubic-bezier(.34,1.4,.5,1);--line2:rgba(18,38,30,.22)}
:root[data-theme="dark"] .ec-page,:root[data-theme="dark"] .ec-pop{--plate:#eef1e8;--shadow:0 30px 80px -20px rgba(0,0,0,.7),0 8px 24px -12px rgba(0,0,0,.5);--orbit:rgba(231,237,227,.14)}
.ec-pop{--plate:#ffffff;--shadow:0 30px 80px -30px rgba(18,38,30,.45),0 8px 24px -12px rgba(18,38,30,.25);--num:"Bricolage Grotesque","Figtree",system-ui,sans-serif;--spring:cubic-bezier(.34,1.4,.5,1)}
.ec-page h1,.ec-page h2,.ec-page h3,.ec-pop h3{font-family:var(--display);font-weight:400;margin:0;text-wrap:balance;letter-spacing:-.012em}
.ec-page .eyebrow{margin:0}
.ec-hero{padding-top:132px!important}
/* logos que vienen en blanco */
/* Ruuts: logo original a color (negro + verde claro) */
.ec-tile[data-id="bacx"] .ec-plate{background:#10212f}
.ec-chain__lg button[data-id="bacx"]{background:#10212f}
.ec-node[data-id="bacx"] .ec-chip{fill:#10212f}
.ec-plate .ec-lg-ruuts{max-height:50px;max-width:60%}
.ec-chain__lg button[data-id="ruuts"] img{height:24px;margin:0}
.ec-cbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:14px 26px;font-weight:700;font-size:15px;line-height:1.2;border:1.5px solid var(--lime);background:var(--lime);color:#12261e;margin-top:22px;transition:transform .25s var(--ease)}
.ec-cbtn:hover{transform:translateY(-1px)}

/* Hero */
.ec-hero{padding-block:56px 24px}
.ec-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,640px);gap:40px;align-items:center}
.ec-hero__t{display:flex;flex-direction:column;gap:20px;max-width:560px}
.ec-hero h1{font-size:clamp(38px,4.7vw,64px);line-height:1.04}
.ec-hero h1 em{font-style:italic;color:var(--leaf)}
.ec-lead{font-size:18px;line-height:1.55;color:var(--ink2);margin:0;max-width:52ch}
.ec-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.ec-legend span{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--paper);font-size:13px;font-weight:600;color:var(--ink2)}
.ec-legend i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.ec-hint{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--dim)}
.ec-hint kbd{font:600 12px var(--font);padding:3px 8px;border-radius:6px;border:1px solid var(--line2);background:var(--paper);color:var(--ink2)}
.ec-hint .ec-t{display:inline}.ec-hint .ec-m{display:none}
@media (hover:none){.ec-hint .ec-t{display:none}.ec-hint .ec-m{display:inline}}

.ec-constel{position:relative;width:100%;max-width:640px;justify-self:end}
.ec-constel svg{display:block;width:100%;height:auto;overflow:visible}
.ec-orb{fill:none;stroke:var(--orbit);stroke-width:1}
.ec-orb.ec-dash{stroke-dasharray:2 7}
.ec-spoke{stroke:var(--orbit);stroke-width:1.2}
.ec-flow{fill:none;stroke-width:2;stroke-linecap:round;stroke-dasharray:3 14;animation:flow 2.4s linear infinite;opacity:.9}
@keyframes flow{to{stroke-dashoffset:-34}}
.ec-core{fill:var(--plate);stroke:var(--line2)}
.ec-core-ring{fill:none;stroke:var(--lime);stroke-width:2;opacity:.8;transform-box:fill-box;transform-origin:center;animation:pulse 3.6s var(--ease) infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.7}70%{transform:scale(1.32);opacity:0}100%{opacity:0}}
.ec-node{cursor:pointer;outline:none}
.ec-node .ec-bob{animation:bob 6s ease-in-out infinite}
.ec-node:nth-of-type(2n) .ec-bob{animation-duration:7.2s;animation-delay:-2s}
.ec-node:nth-of-type(3n) .ec-bob{animation-duration:6.6s;animation-delay:-4s}
@keyframes bob{50%{transform:translateY(-6px)}}
.ec-node .ec-chip{fill:#ffffff;stroke:rgba(18,38,30,.12);stroke-width:1;transition:stroke .3s,stroke-width .3s}
.ec-node .ec-halo{opacity:0;transition:opacity .3s}
.ec-node:hover .ec-chip,.ec-node:focus-visible .ec-chip,.ec-node.ec-on .ec-chip{stroke:var(--accd);stroke-width:2}
.ec-node:hover .ec-halo,.ec-node:focus-visible .ec-halo,.ec-node.ec-on .ec-halo{opacity:.28}
.ec-node .ec-ns{font:600 10.5px var(--font);fill:var(--dim);letter-spacing:.1em;text-transform:uppercase;pointer-events:none}

/* Partners grid */
.ec-sec{padding-block:56px}
.ec-sec__hd{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.ec-sec__hd h2{font-size:clamp(32px,3.6vw,48px);line-height:1.05}
.ec-sec__hd p{margin:0;max-width:46ch;color:var(--ink2);font-size:15.5px}
.ec-groups{display:flex;flex-direction:column;gap:40px}
.ec-group{display:flex;flex-direction:column;gap:16px;min-width:0}
.ec-group .ec-row{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:20px}
.ec-group__hd{display:flex;flex-direction:column;gap:4px;padding:0 4px 4px}
.ec-group__hd b{font:600 12px var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);display:flex;align-items:center;gap:8px}
.ec-group__hd b i{width:18px;height:2px;border-radius:2px;background:var(--leaf)}
.ec-group__hd span{font-size:14.5px;color:var(--ink2)}
@media (max-width:1100px){.ec-group .ec-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ec-group .ec-row{grid-template-columns:1fr}}

.ec-tile{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;border-radius:24px;background:var(--paper);border:1px solid var(--line);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .3s;position:relative;min-width:0}
.ec-tile:hover,.ec-tile.ec-on{transform:translateY(-3px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--acc) 55%,var(--line))}
.ec-tile:focus-visible{outline:2px solid var(--leaf);outline-offset:3px}
.ec-plate{position:relative;height:124px;display:grid;place-items:center;background:var(--plate);border-bottom:1px solid var(--line);overflow:hidden}
.ec-plate::before{content:"";position:absolute;inset:0;background:radial-gradient(240px 120px at var(--px,50%) 120%,color-mix(in srgb,var(--acc) 38%,transparent),transparent 70%);opacity:0;transition:opacity .4s}
.ec-tile:hover .ec-plate::before,.ec-tile.ec-on .ec-plate::before{opacity:1}
.ec-plate .ec-lg{position:relative;max-width:70%;max-height:58px;width:auto;height:auto;transition:transform .45s var(--spring)}
.ec-plate .ec-lg-serman{max-height:54px}.ec-plate .ec-lg-ieta{max-height:40px}.ec-plate .ec-lg-terratio{max-height:46px}.ec-plate .ec-lg-acf{max-height:64px}
.ec-tile:hover .ec-lg,.ec-tile.ec-on .ec-lg,.ec-tile:focus-visible .ec-lg{transform:scale(1.05)}
.ec-tbody{display:flex;flex-direction:column;gap:8px;padding:18px 20px 18px;flex:1}
.ec-ttype{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.ec-ttype i{width:8px;height:8px;border-radius:50%;background:var(--accd)}
.ec-tname{font-family:var(--display);font-size:23px;line-height:1.15}
.ec-tline{font-size:14.5px;line-height:1.45;color:var(--ink2);margin:0}
.ec-tgo{margin-top:auto;padding-top:8px;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600}
.ec-tgo .ec-plus{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--line2);transition:transform .4s var(--spring),background .3s,border-color .3s,color .3s}
.ec-tile:hover .ec-plus,.ec-tile.ec-on .ec-plus{transform:rotate(90deg);background:var(--forest);border-color:var(--forest);color:var(--lime)}

/* Mariposas de Coralia (mismas piezas que la home) */
main{overflow-x:clip}
.ec-hero,.ec-eco__wrap,.ec-socios__wrap{position:relative}
.ec-hero__grid,.ec-eco__in,.ec-sec__hd,.ec-groups,.ec-cta__in>div{position:relative;z-index:1}
.ec-deco{position:absolute;z-index:0;pointer-events:none;user-select:none;max-width:none;height:auto}
.ec-deco--fly{width:58px;animation:flap 1.6s ease-in-out infinite,drift 9s ease-in-out infinite}
.ec-deco--fly1{left:44%;top:26px}
.ec-deco--fly2{left:50%;top:96px;width:40px;animation-delay:-.6s,-4s}
.ec-deco--side{right:-60px;bottom:-40px;width:clamp(150px,14vw,210px);opacity:.55;rotate:-8deg}
.ec-deco--eco{right:-36px;top:-70px;width:clamp(170px,15vw,230px);z-index:2}
.ec-deco--socios{left:40%;top:-34px;width:clamp(170px,15vw,220px);opacity:.9}
.ec-deco--leaf{width:46px;animation:leafFloat 11s ease-in-out infinite}
.ec-leaf--a{right:3%;top:-10px;opacity:.8}
.ec-deco--cta{left:-30px;bottom:-40px;width:clamp(160px,15vw,230px);opacity:.28;z-index:0}
.ec-deco-scatter{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:.55}
.ec-bfly{position:absolute;height:auto;max-width:none;animation:bflyFloat 16s ease-in-out infinite}
@keyframes flap{0%,100%{scale:1 1}50%{scale:.72 1}}
@keyframes drift{0%,100%{rotate:-8deg;translate:0 0}50%{rotate:6deg;translate:14px -12px}}
@keyframes leafFloat{0%,100%{translate:0 0;rotate:-6deg}50%{translate:10px -14px;rotate:8deg}}
@keyframes bflyFloat{0%,100%{translate:0 0}33%{translate:7px -10px}66%{translate:-6px -4px}}
@media (max-width:1100px){.ec-deco--side,.ec-deco--socios,.ec-deco--fly2,.ec-deco-scatter{display:none}.ec-deco--fly1{left:auto;right:16px;top:20px;width:42px}.ec-deco--eco{width:110px;right:-10px;top:-40px}}
@media (prefers-reduced-motion:reduce){.ec-deco--fly,.ec-deco--leaf,.ec-bfly{animation:none}}

/* Ecosistema */
.ec-eco{padding-block:24px 8px}
.ec-eco__in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:center;padding:clamp(24px,4vw,44px);border-radius:32px;background:var(--paper);border:1px solid var(--line);position:relative;overflow:hidden}
.ec-eco__in::before{content:"";position:absolute;inset:auto -10% -60% 40%;height:120%;background:radial-gradient(closest-side,color-mix(in srgb,var(--lime) 22%,transparent),transparent);pointer-events:none}
.ec-eco__t{display:flex;flex-direction:column;gap:14px;position:relative}
.ec-eco h2{font-size:clamp(28px,3vw,40px);line-height:1.1}
.ec-eco p{margin:0;color:var(--ink2);font-size:16.5px;line-height:1.6;max-width:54ch}
.ec-chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;position:relative}
.ec-chain::before{content:"";position:absolute;left:8%;right:8%;top:30px;height:2px;background:linear-gradient(90deg,#5d8a2c,#2f7d63,#3d6fc4);opacity:.35}
.ec-chain li{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:20px;background:var(--bg);border:1px solid var(--line)}
.ec-chain__n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--c);color:#fff;font:800 12px var(--num)}
.ec-chain b{font-family:var(--display);font-weight:500;font-size:19px;margin-top:4px}
.ec-chain li>span:not(.ec-chain__n){font-size:13.5px;line-height:1.4;color:var(--ink2);min-height:38px}
.ec-chain__lg{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.ec-chain__lg button{all:unset;cursor:pointer;display:grid;place-items:center;height:34px;padding:0 10px;border-radius:10px;background:var(--plate);border:1px solid var(--line);transition:border-color .25s,transform .25s var(--ease)}
.ec-chain__lg button:hover,.ec-chain__lg button:focus-visible,.ec-chain__lg button.ec-on{border-color:var(--c);transform:translateY(-2px)}
.ec-chain__lg button:focus-visible{outline:2px solid var(--c);outline-offset:2px}
.ec-chain__lg img{height:22px;width:auto;max-width:96px;object-fit:contain}
.ec-chain__lg .ec-me{display:grid;place-items:center;height:34px;padding:0 10px;border-radius:10px;background:var(--plate);border:1px solid color-mix(in srgb,var(--c) 55%,var(--line))}
.ec-chain__lg .ec-me img{height:26px;max-width:none}
@media (max-width:980px){.ec-eco__in{grid-template-columns:1fr}}
@media (max-width:600px){.ec-chain{grid-template-columns:1fr}.ec-chain::before{display:none}}
/* CTA */
.ec-cta{padding-block:20px 64px}
.ec-cta__in{position:relative;overflow:hidden;border-radius:32px;background:radial-gradient(600px 300px at 88% 0%,rgba(200,240,74,.16),transparent 70%),linear-gradient(160deg,#1d3a2c,#0c1b14);color:#eef3ea;padding:clamp(28px,5vw,56px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;align-items:center}
.ec-cta h2{font-size:clamp(30px,3.4vw,46px);line-height:1.06;color:#fff}
.ec-cta p{margin:12px 0 0;color:rgba(238,243,234,.78);max-width:52ch}
.ec-ways{display:flex;flex-direction:column;gap:10px}
.ec-way{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.ec-way b{display:block;font-size:15px;color:#fff}
.ec-way span{font-size:13.5px;color:rgba(238,243,234,.72)}
.ec-way svg{flex:none;margin-top:2px}
.ec-cta .ec-cbtn{margin-top:22px}
@media (max-width:860px){.ec-cta__in{grid-template-columns:1fr}.ec-hero__grid{grid-template-columns:1fr}.ec-constel{justify-self:center}}

/* Popover */
.ec-scrim{position:fixed;inset:0;z-index:70;background:rgba(6,14,10,.0);pointer-events:none;transition:background .3s}
.ec-scrim.ec-on{pointer-events:auto;background:rgba(6,14,10,.42);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.ec-pop{position:fixed;z-index:80;width:min(640px,calc(100vw - 32px));border-radius:28px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow),0 0 0 1px color-mix(in srgb,var(--acc) 20%,transparent);overflow:hidden;opacity:0;transform:translate(var(--tx,0),6px) scale(.94);filter:blur(6px);pointer-events:none;transition:opacity .28s var(--ease),transform .45s var(--spring),filter .3s var(--ease)}
.ec-pop.ec-on{opacity:1;transform:translate(0,0) scale(1);filter:none;pointer-events:auto}
.ec-art{position:relative;height:232px;background:radial-gradient(420px 220px at var(--mx,70%) var(--my,0%),color-mix(in srgb,var(--acc) 26%,transparent),transparent 70%),linear-gradient(155deg,var(--g1),var(--g2));color:#fff;overflow:hidden;isolation:isolate}
.ec-art .ec-ph{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.32;mix-blend-mode:luminosity;z-index:-1}
.ec-art .ec-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--g2) 0%,transparent 60%)}
.ec-art svg.ec-g{position:absolute;left:0;right:0;bottom:0;width:100%;height:200px}
.ec-lock{position:absolute;left:20px;top:16px;display:flex;align-items:center;gap:10px;font:600 12px var(--font);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.82);z-index:2}
.ec-lock img{height:22px;width:auto}
.ec-lock .ec-plogo{height:22px;max-width:150px;object-fit:contain;filter:brightness(0) invert(1)}
.ec-lock .ec-plogo-acf,.ec-lock .ec-plogo-bacx{height:28px}.ec-lock .ec-plogo-ieta{height:18px}
.ec-lock .ec-x{color:var(--acc);font-size:14px}
.ec-lock b{color:#fff}
.ec-close{position:absolute;right:14px;top:12px;z-index:3;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.18);color:#fff;display:grid;place-items:center;cursor:pointer}
.ec-close:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.ec-pbody{padding:20px 24px 22px;display:flex;flex-direction:column;gap:14px}
.ec-ptype{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--dim)}
.ec-ptype i{width:8px;height:8px;border-radius:50%;background:var(--accd)}
.ec-pbody h3{font-size:27px;line-height:1.12}
.ec-pcols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ec-pcols b{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accd);margin-bottom:4px}
.ec-pcols p{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink2)}
.ec-give{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border-radius:16px;background:var(--bg)}
.ec-give>div{display:flex;flex-direction:column;gap:8px;min-width:0}
.ec-give small{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.ec-chips{display:flex;flex-wrap:wrap;gap:6px}
.ec-chip{font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--paper);border:1px solid var(--line);white-space:nowrap}
.ec-give .ec-p .ec-chip{border-color:color-mix(in srgb,var(--accd) 45%,var(--line))}
.ec-pfoot{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--dim);border-top:1px solid var(--line);padding-top:12px}
.ec-pfoot b{color:var(--ink);font-weight:600}
.ec-pfoot a{font-weight:700;color:var(--accd);white-space:nowrap}
@media (max-width:760px),(hover:none){
  .ec-pop{left:0!important;right:0;top:auto!important;bottom:0;width:100%;border-radius:26px 26px 0 0;max-height:88vh;overflow:auto;transform:translateY(40px);padding-bottom:env(safe-area-inset-bottom,0px)}
  .ec-pop.ec-on{transform:none}
  .ec-pcols,.ec-give{grid-template-columns:1fr}
  .ec-art{height:200px}.ec-art svg.ec-g{height:176px}
}

/* SVG graphic animation (runs when .ec-play) */
.ec-g .ec-draw{stroke-dasharray:1;stroke-dashoffset:1}
.ec-play .ec-draw{animation:draw 1.2s var(--ease) forwards;animation-delay:var(--d,0s)}
@keyframes draw{to{stroke-dashoffset:0}}
.ec-g .ec-pop-in{opacity:0;transform:scale(.4);transform-box:fill-box;transform-origin:center}
.ec-play .ec-pop-in{animation:popin .55s var(--spring) forwards;animation-delay:var(--d,0s)}
@keyframes popin{to{opacity:1;transform:none}}
.ec-g .ec-fade{opacity:0}
.ec-play .ec-fade{animation:fade .6s var(--ease) forwards;animation-delay:var(--d,0s)}
@keyframes fade{to{opacity:1}}
.ec-g .ec-lay{transform:translateY(var(--dy));transition:transform 1s var(--spring)}
.ec-play .ec-lay{transform:none;transition-delay:var(--d,0s)}
.ec-g .ec-ring{transform-box:fill-box;transform-origin:center;animation:ring 2.4s var(--ease) infinite;animation-delay:var(--d,0s);opacity:0}
@keyframes ring{0%{transform:scale(.3);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.ec-g .ec-dashflow{stroke-dasharray:4 8;animation:flow 1.6s linear infinite}
.ec-g text{font-family:var(--font)}
.ec-g .ec-lbl{font:600 11px var(--font);fill:rgba(255,255,255,.86)}
.ec-g .ec-lbl-s{font:500 10px var(--font);fill:rgba(255,255,255,.62);letter-spacing:.08em;text-transform:uppercase}
.ec-g .ec-big{font:800 13px var(--num);fill:#fff}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .ec-g .ec-draw{stroke-dashoffset:0}.ec-g .ec-pop-in,.ec-g .ec-fade{opacity:1;transform:none}.ec-g .ec-lay{transform:none}
}
/* ===== Cadena del ecosistema v2: texto arriba y 3 tarjetas horizontales, todas iguales ===== */
.ec-eco__in{grid-template-columns:1fr;gap:clamp(26px,3vw,38px);align-items:stretch}
.ec-eco__t{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(28px,4vw,64px);row-gap:12px;align-items:end}
.ec-eco__t .eyebrow{grid-column:1/-1}
.ec-eco__t h2{margin:0}
.ec-eco__t p{max-width:60ch}
.ec-chain{gap:16px}
.ec-chain::before{top:44px;left:12%;right:12%}
.ec-chain li{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto 1fr auto;column-gap:14px;row-gap:4px;padding:22px 22px 20px}
.ec-chain__n{grid-row:1/3;width:44px;height:44px;font-size:13px;box-shadow:0 0 0 6px var(--bg)}
.ec-chain b{grid-column:2;margin:2px 0 0;font-size:22px;line-height:1.15}
.ec-chain li>span:not(.ec-chain__n){grid-column:2;min-height:0}
.ec-chain__lg{grid-column:1/-1;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;margin-top:16px;padding-top:16px;border-top:1px dashed var(--line2,var(--line))}
.ec-chain__lg button,.ec-chain__lg .ec-me{height:48px;padding:0 10px;box-sizing:border-box;justify-content:center}
.ec-chain__lg img{height:30px;max-width:100%}
.ec-chain__lg button[data-id="serman"] img,.ec-chain__lg button[data-id="acf"] img{height:40px}
.ec-chain__lg button[data-id="bacx"] img{height:34px}
.ec-chain__lg button[data-id="ieta"] img{height:26px}
.ec-chain__lg .ec-me img{height:28px;max-width:100%}
@media (max-width:980px){.ec-eco__t{grid-template-columns:1fr}.ec-chain li{padding:18px}.ec-chain b{font-size:19px}}
@media (max-width:760px){.ec-chain{grid-template-columns:1fr}.ec-chain::before{display:none}}

/* ===== «¿Querés ser socio?» con foto de manglar de fondo (Wix Media: Manglar Sano.jpg) ===== */
.ec-cta__in{background:linear-gradient(100deg,rgba(8,22,15,.9) 0%,rgba(8,22,15,.68) 42%,rgba(8,22,15,.18) 100%),url("https://static.wixstatic.com/media/721f2d_0a9e5ef1fcfc48a7aef17bdbfd801308~mv2.jpg/v1/fill/w_2000,h_1100,al_c,q_80,enc_auto/manglar.jpg") center 58%/cover no-repeat #0c1b14}
.ec-cta__in::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);pointer-events:none}
.ec-way{background:rgba(8,22,15,.5);border-color:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
@media (max-width:860px){.ec-cta__in{background:linear-gradient(180deg,rgba(8,22,15,.92) 0%,rgba(8,22,15,.7) 100%),url("https://static.wixstatic.com/media/721f2d_0a9e5ef1fcfc48a7aef17bdbfd801308~mv2.jpg/v1/fill/w_1000,h_1300,al_c,q_80,enc_auto/manglar.jpg") center/cover no-repeat #0c1b14}}

/* ===== Fotos tenues de fondo en las tarjetas de «Nuestros partners» (la misma foto de cada popup) ===== */
.ec-pbg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.17;filter:saturate(.8);transition:opacity .45s,transform .9s var(--ease);pointer-events:none}
.ec-plate::before{z-index:1}
.ec-plate .ec-lg{z-index:2}
.ec-tile:hover .ec-pbg,.ec-tile.ec-on .ec-pbg,.ec-tile:focus-visible .ec-pbg{opacity:.3;transform:scale(1.05)}
.ec-tile[data-id="bacx"] .ec-pbg{opacity:.3;mix-blend-mode:luminosity}
.ec-tile[data-id="bacx"]:hover .ec-pbg,.ec-tile[data-id="bacx"].ec-on .ec-pbg{opacity:.45}
@media (prefers-reduced-motion:reduce){.ec-pbg{transition:opacity .45s}.ec-tile:hover .ec-pbg{transform:none}}

/* ===== Partners nuevos: CMC (Paraguay), Soft Landing Agency (Ecuador), FundaRES (Bolivia) ===== */
.ec-tile[data-id="sla"] .ec-plate{background:#12263f}
.ec-chain__lg button[data-id="sla"]{background:#12263f}
.ec-node[data-id="sla"] .ec-chip{fill:#12263f}
.ec-tile[data-id="sla"] .ec-pbg{opacity:.3;mix-blend-mode:luminosity}
.ec-plate .ec-lg-cmc{max-height:26px;max-width:80%}
.ec-plate .ec-lg-sla{max-height:52px;max-width:76%}
.ec-plate .ec-lg-fundares{max-height:72px}
.ec-chain__lg button[data-id="cmc"] img{height:15px}
.ec-chain__lg button[data-id="fundares"] img{height:36px}
.ec-lock .ec-plogo-cmc{height:13px}
/* la cadena pasa a 4 pasos: 2 × 2 en escritorio, 1 columna en el celular */
.ec-chain{grid-template-columns:repeat(2,minmax(0,1fr))}
.ec-chain::before{display:none}
@media (max-width:760px){.ec-chain{grid-template-columns:1fr}}
.ec-tile .ec-plate .ec-lg-ruuts{max-height:42px;max-width:56%}
.ec-tile .ec-plate .ec-lg-fundares{max-height:60px}
.ec-eco h2 em{font-style:italic;color:var(--leaf)}
/* Fundación CI Atabey: logo original a color */
.ec-tile .ec-plate .ec-lg-atabey{max-height:46px;max-width:78%}
.ec-chain__lg button[data-id="atabey"] img{height:30px;margin:0}

/* ================= Red moderna de partners (ecosistema-red.js), octubre 2026 ================= */
@property --ecra{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes ecrSpin{to{--ecra:360deg}}
.ec-red{position:relative;width:100%;max-width:600px;justify-self:end;align-self:start;margin-top:-48px;aspect-ratio:1;color:var(--ink)}
.ec-red svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ec-red__ln{opacity:.9;transition:opacity .3s,stroke-width .3s}
.ec-red.has-hi .ec-red__ln{opacity:.18}
.ec-red.has-hi .ec-red__ln.is-hi{opacity:1;stroke-width:3.2}
.ec-red__core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:22%;aspect-ratio:1;border-radius:50%;z-index:5;display:grid;place-items:center;
  background:radial-gradient(circle at 35% 30%,#2a4a37,#0d1f17);box-shadow:0 0 0 10px rgba(200,240,74,.12),0 0 0 22px rgba(200,240,74,.06),0 30px 60px -20px rgba(13,31,23,.6)}
.ec-red__core img{width:64%}
.ec-red__n{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:6;transition:opacity .3s}
.ec-red.has-hi .ec-red__n:not(.is-hi){opacity:.5}
.ec-red__n small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--ink2);white-space:nowrap}
.ec-red__lg{position:relative;display:grid;place-items:center;padding:0;width:66px;height:66px;border-radius:50%;cursor:pointer;background:var(--bg,#fff);
  box-shadow:0 0 0 6px color-mix(in srgb,var(--h2) 16%,transparent),0 14px 30px -14px rgba(18,38,30,.45);transition:transform .3s var(--ease),box-shadow .3s}
.ec-red__n.is-big .ec-red__lg{width:76px;height:76px}
.ec-red__lg::before{content:"";position:absolute;inset:-2.5px;border-radius:50%;padding:2.5px;pointer-events:none;
  background:conic-gradient(from var(--ecra),var(--h1),var(--h2),var(--h3),var(--h1));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:ecrSpin 3.2s linear infinite}
.ec-red__lg:hover,.ec-red__lg.ec-on{transform:scale(1.1);box-shadow:0 0 0 9px color-mix(in srgb,var(--h2) 26%,transparent),0 18px 34px -14px rgba(18,38,30,.5)}
.ec-red__lg img{max-width:66%;max-height:44%;object-fit:contain}
.ec-red__lg[data-id="reforest"] img{max-width:74%;max-height:50%}
.ec-red__lg[data-id="acf"] img{max-width:82%;max-height:58%}
.ec-red__lg[data-id="sla"] img{max-width:84%}
.ec-red__lg[data-id="bacx"] img{max-width:80%;max-height:56%}
.ec-red__lg[data-id="serman"] img{max-width:80%;max-height:54%}
.ec-red__lg[data-id="cmc"] img{max-width:74%;max-height:52%}
.ec-red__fl{position:absolute;right:-3px;top:-3px;z-index:2;width:20px;height:20px;border-radius:50%;overflow:hidden;border:2px solid #fff;box-shadow:0 2px 6px rgba(18,38,30,.35)}
.ec-red__fl svg{position:static;display:block;width:100%;height:100%}
/* pop-up: el logo nuevo de CMC ya es blanco sobre verde, no se pasa a blanco */
.ec-lock .ec-plogo-cmc{height:24px;filter:none;border-radius:4px}
@media (max-width:860px){.ec-red{justify-self:center;align-self:center;margin-top:8px}}
@media (max-width:600px){
  .ec-red__lg{width:46px;height:46px;box-shadow:0 0 0 4px color-mix(in srgb,var(--h2) 16%,transparent),0 10px 22px -12px rgba(18,38,30,.45)}
  .ec-red__n.is-big .ec-red__lg{width:52px;height:52px}
  .ec-red__n small{font-size:8.5px;letter-spacing:.08em}
  .ec-red__fl{width:15px;height:15px;border-width:1.5px}
}
@media (prefers-reduced-motion:reduce){.ec-red__lg::before{animation:none}}