/* Alianzas */
.alliances-page{background:#fff;color:var(--fcct-ink);overflow:hidden}
.alliances-hero{position:relative;padding:150px 0 94px;overflow:hidden;background:linear-gradient(135deg,#f7eef8 0%,#fff 52%,#eaf8fb 100%)}
.alliances-hero:before{content:"";position:absolute;right:-84px;top:72px;width:280px;height:280px;border:30px solid rgba(134,68,144,.075);border-radius:62px;transform:rotate(14deg)}
.alliances-hero:after{content:"";position:absolute;left:-72px;bottom:-122px;width:230px;height:230px;border:26px solid rgba(0,177,209,.08);border-radius:52px;transform:rotate(-13deg)}
.alliances-hero .container{position:relative;z-index:2}
.alliances-kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--fcct-p);font-weight:600}
.alliances-kicker:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--fcct-c);box-shadow:13px 0 0 var(--fcct-p),26px 0 0 var(--fcct-o);margin-right:40px}
.alliances-hero h1{font-size:clamp(52px,7vw,88px);line-height:.95;letter-spacing:-.055em;font-weight:400;max-width:930px;margin:0}
.alliances-hero p{max-width:760px;margin:26px 0 0;color:#667078;font-size:18px;line-height:1.65;font-weight:300}

.alliances-showcase{position:relative;padding:86px 0 112px;background:linear-gradient(180deg,#f4fbfc 0%,#fff 100%);overflow:hidden}
.alliances-showcase:before{content:"";position:absolute;left:-54px;top:54px;width:150px;height:150px;border-radius:32px;background:rgba(255,135,13,.09);transform:rotate(16deg)}
.alliances-showcase:after{content:"";position:absolute;right:-48px;bottom:72px;width:184px;height:184px;border-radius:42px;background:rgba(134,68,144,.07);transform:rotate(-17deg)}
.alliances-showcase .container{position:relative;z-index:2}
.alliance-group{padding:34px 0 42px;border-bottom:1px solid rgba(35,38,42,.09)}
.alliance-group:first-child{padding-top:0}.alliance-group:last-child{border-bottom:0;padding-bottom:0}
.alliance-group-head{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.alliance-group-head span{display:none!important}
.alliance-group-head h2{margin:0;font-size:clamp(26px,2.6vw,36px);line-height:1.1;letter-spacing:-.03em;font-weight:450;color:#24272b;display:flex;align-items:center;gap:14px}
.alliance-group-head h2:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--fcct-c);box-shadow:12px 0 0 var(--fcct-p),24px 0 0 var(--fcct-o);margin-right:26px;flex:0 0 auto}
.logo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.logo-card{height:138px;background:#fff;border:1px solid rgba(34,36,40,.08);border-radius:18px;display:flex;align-items:center;justify-content:center;padding:24px 26px;box-sizing:border-box;box-shadow:0 8px 22px rgba(24,40,50,.035);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;overflow:hidden}
.logo-card img{display:block;max-width:100%;width:auto;height:auto;max-height:72px;object-fit:contain;object-position:center}
.logo-card--nunoa img{max-height:82px;max-width:86%}
.logo-card--jan img{max-height:96px;max-width:88%;transform:scale(1.28);transform-origin:center}
.logo-card--aza img{max-height:92px;max-width:88%;transform:scale(1.18);transform-origin:center}
.logo-card--molymet img{max-height:88px;max-width:90%;transform:scale(1.14);transform-origin:center}
.logo-card--teraike img{max-height:96px;max-width:88%;transform:scale(1.26);transform-origin:center}
.logo-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(24,40,50,.07);border-color:rgba(0,177,209,.16)}

/* compact final CTA */
.alliances-page .join{padding:0!important;margin:0;background:var(--fcct-p)!important}
.alliances-page .join-card{min-height:315px!important;padding:52px max(40px,calc((100vw - 1320px)/2))!important;display:flex;flex-direction:column;justify-content:center}
.alliances-page .join-card h2{font-size:clamp(34px,3.5vw,50px)!important;line-height:1.06!important;max-width:780px!important}
.alliances-page .join-card p{max-width:700px!important;margin-top:18px!important;font-size:14px!important;line-height:1.65!important}
.alliances-page .join-card a{margin-top:24px!important}

@media(max-width:1100px){.logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.alliances-hero{padding:136px 0 78px}.alliances-showcase{padding:68px 0 86px}.logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.logo-card{height:126px;padding:20px}.logo-card img{max-height:64px}.logo-card--nunoa img{max-height:74px}.logo-card--jan img{max-height:86px;transform:scale(1.24)}.logo-card--aza img{max-height:80px;transform:scale(1.14)}.logo-card--molymet img{max-height:78px;transform:scale(1.12)}.logo-card--teraike img{max-height:84px;transform:scale(1.22)}.alliances-page .join-card{min-height:290px!important;padding-top:44px!important;padding-bottom:44px!important;padding-left:24px!important;padding-right:24px!important}}
@media(max-width:620px){.alliances-hero{padding:116px 0 64px}.alliances-hero h1{font-size:52px}.alliances-hero p{font-size:16px;max-width:92%}.alliances-showcase{padding:54px 0 70px}.alliance-group{padding:28px 0 34px}.alliance-group-head{gap:10px;margin-bottom:18px}.alliance-group-head h2{font-size:28px;gap:10px}.alliance-group-head h2:before{margin-right:22px}.logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.logo-card{height:112px;padding:18px 16px;border-radius:16px}.logo-card img{max-height:58px}.logo-card--nunoa img{max-height:66px}.logo-card--jan img{max-height:74px;transform:scale(1.18)}.logo-card--aza img{max-height:70px;transform:scale(1.1)}.logo-card--molymet img{max-height:68px;transform:scale(1.08)}.logo-card--teraike img{max-height:74px;transform:scale(1.16)}.alliances-page .join-card{min-height:280px!important;padding:40px 16px!important}.alliances-page .join-card h2{font-size:34px!important}.alliances-page .join-card p{font-size:13.5px!important}}

/* SLEP Del Pino: compensate for whitespace in the source logo without changing other partners. */
.slep-logo-grid .logo-card--del-pino{padding:14px 16px}
.slep-logo-grid .logo-card--del-pino img{max-width:100%;max-height:94px;transform:scale(1.22);transform-origin:center}
@media(max-width:900px){.slep-logo-grid .logo-card--del-pino img{max-height:82px;transform:scale(1.18)}}
@media(max-width:620px){.slep-logo-grid .logo-card--del-pino{padding:12px}.slep-logo-grid .logo-card--del-pino img{max-height:72px;transform:scale(1.12)}}

/* Optical logo size balancing — Fundaciones and Sostenedores (2026-11-06).
   Keep the existing card dimensions and logo order unchanged. */
.logo-card img[alt="Fundación Trifolium"]{transform:scale(1.75);transform-origin:center}
.logo-card img[alt="Fundación Liguria"]{transform:scale(1.6);transform-origin:center}
.logo-card img[alt="Fundación Viento Sur"]{transform:scale(1.85);transform-origin:center}
.logo-card img[alt="Fundación Teraike"]{transform:scale(1.4);transform-origin:center}
.logo-card img[alt="Juan Piamarta"]{transform:scale(1.45);transform-origin:center}
.logo-card img[alt="JAN"]{transform:scale(1.55);transform-origin:center}
@media(max-width:900px){
  .logo-card img[alt="Fundación Trifolium"]{transform:scale(1.5)}
  .logo-card img[alt="Fundación Liguria"]{transform:scale(1.42)}
  .logo-card img[alt="Fundación Viento Sur"]{transform:scale(1.55)}
  .logo-card img[alt="Fundación Teraike"]{transform:scale(1.3)}
  .logo-card img[alt="Juan Piamarta"]{transform:scale(1.3)}
  .logo-card img[alt="JAN"]{transform:scale(1.38)}
}
@media(max-width:620px){
  .logo-card img[alt="Fundación Trifolium"]{transform:scale(1.36)}
  .logo-card img[alt="Fundación Liguria"]{transform:scale(1.28)}
  .logo-card img[alt="Fundación Viento Sur"]{transform:scale(1.42)}
  .logo-card img[alt="Fundación Teraike"]{transform:scale(1.2)}
  .logo-card img[alt="Juan Piamarta"]{transform:scale(1.2)}
  .logo-card img[alt="JAN"]{transform:scale(1.28)}
}
