@charset "UTF-8";
/* ============================================================================
   CONECTA COMUNIDAD · PORTADA v24 (BRIEF_v24)
   Se carga después de v22-portada.css. Dos piezas:
   · «Qué somos»: afirmación en Literata y un perfil de suelo con tres estratos
     (fin, condición, punto de partida) y una raíz que sube desde la escuela y
     se abre en siete puntas, los siete sistemas.
   · «Por qué se puede»: sobre noche, una frase con la cifra de Obras por
     Impuestos, dos párrafos sobre lo que hace durar la inversión y las fuentes
     como notas al pie.
   Mismos tokens y tipografías del sitio. Sin tarjetas, sin bordes de color.
   ========================================================================== */

/* ---------- Qué somos ---------- */
.raiz24{ background:var(--papel) }
.raiz24__cab{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); column-gap:clamp(2rem,6vw,6rem);
  align-items:end; margin-bottom:clamp(2.75rem,5.5vw,4.5rem) }
.raiz24__cab .antetitulo{ grid-column:1 / -1 }
.raiz24__t{ font-family:var(--lee); font-weight:400; font-stretch:normal; font-size:clamp(1.75rem,1.1rem + 2vw,3rem);
  line-height:1.16; letter-spacing:-.012em; color:var(--tinta); max-width:24ch; text-wrap:balance }
.raiz24__lado{ display:grid; gap:var(--e-sm); padding-bottom:.35rem }
.raiz24__lado p{ font-size:1.0625rem; line-height:1.65; color:var(--tinta-2); max-width:44ch }
.raiz24__lado p:first-child{ color:var(--tinta); font-family:var(--sans); font-weight:550; font-size:1.08rem; line-height:1.5 }

/* Perfil: la raíz a la izquierda, los estratos a la derecha */
.perfil24{ position:relative; border-top:2px solid var(--tinta); /* la superficie: el suelo empieza aquí */
  display:grid; grid-template-columns:clamp(2.75rem,7vw,6.5rem) minmax(0,1fr); column-gap:clamp(.75rem,2vw,1.5rem) }
.perfil24__raiz{ width:100%; height:100%; overflow:visible }
.perfil24__raiz path{ fill:none; stroke:var(--petroleo); stroke-linecap:round }
.perfil24__tronco{ stroke-width:3 }
.perfil24__ramas path{ stroke-width:1.4 }
.perfil24__raicillas path{ stroke-width:1.6; stroke:var(--petroleo-hondo) }
.perfil24__puntas path{ stroke-width:6; stroke:var(--petroleo) }
.perfil24__brote{ display:none }
.perfil24__brote path{ stroke-width:3 }
.perfil24__brote path:last-child{ stroke-width:8 }

.perfil24__estratos{ list-style:none; margin:0; padding:0; display:grid }
.estrato24{ display:grid; grid-template-columns:minmax(10rem,15rem) minmax(0,1.25fr) minmax(0,1fr); grid-template-rows:auto 1fr;
  column-gap:clamp(1.25rem,3vw,3rem); row-gap:.35rem; padding:clamp(1.5rem,2.8vw,2.25rem) clamp(1.25rem,2.8vw,2.5rem) }
.estrato24--fin{ background:#ECE5D8; padding-top:clamp(1.75rem,3.2vw,2.75rem) }
.estrato24--condicion{ background:var(--piedra) }
.estrato24--escuela{ background:var(--petroleo); padding-bottom:clamp(1.9rem,3.6vw,3rem) }

.estrato24__k{ grid-column:1; grid-row:1; font-family:var(--sans); font-size:.9rem; font-weight:600; color:var(--petroleo); line-height:1.3 }
.estrato24__t{ grid-column:1; grid-row:2; align-self:start; font-size:clamp(1.3rem,1.05rem + .8vw,1.85rem); font-weight:620; line-height:1.12; letter-spacing:-.018em; color:var(--tinta) }
.estrato24__d{ grid-column:2; grid-row:1 / span 2; font-size:1.02rem; line-height:1.62; color:var(--tinta); max-width:48ch }
.estrato24__lugar{ grid-column:3; grid-row:1 / span 2; display:grid; align-content:space-between; gap:var(--e-sm);
  padding-left:clamp(1rem,2vw,1.5rem); border-left:1px solid rgba(14,23,38,.22) }
.estrato24__lugar p{ font-family:var(--sans); font-size:.95rem; line-height:1.5; color:var(--tinta-2); max-width:36ch }
.estrato24__lugar span{ display:block; margin-bottom:.2rem; font-size:.84rem; font-weight:600; color:var(--tinta) }
.estrato24__lugar .liga{ justify-self:start; font-size:.95rem; --ac:var(--tinta) }

.estrato24--escuela .estrato24__k{ color:var(--sol-2) }
.estrato24--escuela .estrato24__t{ color:var(--papel) }
.estrato24--escuela .estrato24__d{ color:#E3EAEA }
.estrato24--escuela .estrato24__lugar{ border-left-color:rgba(216,203,179,.35) }
.estrato24--escuela .estrato24__lugar p{ color:#C9D6D5 }
.estrato24--escuela .estrato24__lugar span{ color:var(--papel) }
.estrato24--escuela .estrato24__lugar .liga{ --ac:var(--sol-2); color:var(--papel) }

/* Un solo momento de movimiento: la raíz crece desde la escuela cuando el perfil entra */
.rv .perfil24[data-entra] .perfil24__raiz path[pathLength]{ stroke-dasharray:1; stroke-dashoffset:1 }
.rv .perfil24[data-entra] .perfil24__puntas{ opacity:0; transition:opacity .5s ease 2s }
.rv .perfil24.visto .perfil24__puntas{ opacity:1 }
.rv .perfil24__tronco{ transition:stroke-dashoffset 1.1s var(--curva) .2s }
.rv .perfil24__ramas path{ transition:stroke-dashoffset 1.2s var(--curva) 1.05s }
.rv .perfil24__raicillas path{ transition:stroke-dashoffset .8s var(--curva) .1s }
.rv .perfil24.visto .perfil24__raiz path[pathLength]{ stroke-dashoffset:0 }
@media (prefers-reduced-motion:reduce){
  .rv .perfil24[data-entra] .perfil24__raiz path[pathLength]{ stroke-dasharray:none; stroke-dashoffset:0; transition:none }
  .rv .perfil24[data-entra] .perfil24__puntas{ opacity:1; transition:none }
}

@media (max-width:63.99rem){
  .raiz24__cab{ grid-template-columns:1fr; row-gap:var(--e-md) }
  /* con poco ancho queda la raíz sola: un tallo, sus raicillas y una punta en la superficie */
  .perfil24{ grid-template-columns:1.75rem minmax(0,1fr); column-gap:clamp(.55rem,2vw,1rem) }
  .perfil24__ramas,.perfil24__puntas{ display:none }
  .perfil24__brote{ display:inline }
  .rv .perfil24__brote path{ transition:stroke-dashoffset 1s var(--curva) 1.1s }
  .estrato24{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto auto auto }
  .estrato24__k{ grid-column:1 / -1 }
  .estrato24__t{ grid-column:1 / -1; margin-bottom:.5rem }
  .estrato24__d{ grid-column:1; grid-row:3 }
  .estrato24__lugar{ grid-column:2; grid-row:3 }
}
@media (max-width:39.99rem){
  .estrato24{ grid-template-columns:1fr; padding-inline:1.1rem }
  .estrato24__d{ grid-column:1; grid-row:auto }
  .estrato24__lugar{ grid-column:1; grid-row:auto; margin-top:var(--e-sm); padding:var(--e-sm) 0 0; border-left:0; border-top:1px solid rgba(14,23,38,.22) }
  .estrato24--escuela .estrato24__lugar{ border-top-color:rgba(216,203,179,.35) }
}

/* ---------- Por qué se puede (v24.1: una cifra, una frase y el enlace) ---------- */
.porque24{ background:var(--noche); padding-block:clamp(3.75rem,7vw,6rem) }
.porque24__in{ display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:clamp(1rem,2.4vw,2rem); row-gap:var(--e-lg); align-items:center }
.porque24__cab{ grid-column:1 / span 6 }
.porque24__cab .h2{ max-width:20ch; color:var(--papel); text-wrap:balance }
.porque24__dato{ grid-column:8 / span 5; display:grid; gap:var(--e-md); padding-left:clamp(1.25rem,2.4vw,2rem); border-left:1px solid var(--filete-oscuro) }
.porque24__hay{ font-family:var(--lee); font-size:clamp(1.15rem,1rem + .55vw,1.45rem); line-height:1.5; color:#DCE3E6; max-width:34ch }
.porque24__hay b{ display:block; margin-bottom:.15rem; font-family:var(--sans); font-weight:650; font-size:clamp(2.2rem,1.6rem + 2vw,3.4rem); line-height:1.05; letter-spacing:-.03em; color:var(--sol-2) }
.porque24__fuente{ display:block; margin-top:.5rem; font-family:var(--sans); font-size:.8rem; line-height:1.5; color:var(--suave);
  text-decoration:underline; text-underline-offset:.18em; text-decoration-color:rgba(143,176,180,.5) }
.porque24__fuente:hover{ color:var(--papel) }
.porque24__se{ font-size:1rem; line-height:1.62; color:#C9D4D7; max-width:40ch }
.porque24__dato .liga{ color:var(--papel); --ac:var(--sol-2) }
@media (max-width:63.99rem){
  .porque24__cab,.porque24__dato{ grid-column:1 / -1 }
  .porque24__dato{ padding-left:0; border-left:0; padding-top:var(--e-md); border-top:1px solid var(--filete-oscuro) }
}

/* ---------- Frentes (v24.1): recorrido en escalera, foto arriba y texto debajo ---------- */
.frentes24{ background:var(--papel) }
.frentes24__cab{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:clamp(2rem,6vw,6rem); align-items:end;
  margin-bottom:clamp(2.25rem,4.5vw,3.5rem) }
.frentes24__cab .antetitulo{ grid-column:1 / -1 }
.frentes24__lede{ font-family:var(--lee); font-size:1.12rem; line-height:1.55; color:var(--tinta-2); max-width:38ch; padding-bottom:.3rem }
.frentes24__lista{ list-style:none; margin:0; padding:0; display:grid; gap:clamp(1.25rem,2.4vw,2rem) }
.frente24 a{ display:grid; text-decoration:none; color:inherit; border-radius:.375rem }
.frente24 a:focus-visible{ outline:3px solid var(--petroleo); outline-offset:6px }
.frente24__foto{ display:block; overflow:hidden; border-radius:.375rem; background:var(--piedra) }
.frente24__foto picture{ display:block; height:100% }
.frente24__foto img{ width:100%; height:100%; object-fit:cover; object-position:var(--pos,50% 50%); transition:transform 1.1s var(--salida) }
.frente24 a:hover .frente24__foto img{ transform:scale(1.04) }
.frente24__n{ font-family:var(--lee); font-style:italic; font-size:1.05rem; color:var(--petroleo); line-height:1 }
.frente24__s{ display:flex; flex-wrap:wrap; align-items:center; gap:.3rem .5rem; font-family:var(--sans); font-size:.92rem; font-weight:650; color:var(--petroleo); line-height:1.35 }
.frente24__etq{ display:inline-block; padding:.12rem .55rem; border-radius:999px; background:var(--piedra);
  font-style:normal; font-size:.78rem; font-weight:600; color:var(--tinta); vertical-align:.08em }
.frente24__t{ font-family:var(--sans); font-size:clamp(1.2rem,1.02rem + .5vw,1.45rem); font-weight:650; line-height:1.18; letter-spacing:-.015em; color:var(--tinta);
  text-decoration:underline; text-decoration-color:transparent; text-underline-offset:.18em; transition:text-decoration-color .25s ease }
.frente24 a:hover .frente24__t{ text-decoration-color:currentColor }
.frente24__d{ font-size:.97rem; line-height:1.6; color:var(--tinta-2); max-width:36ch }
.frentes24__mas{ margin-top:clamp(2rem,4vw,3rem) }

/* Escritorio: cuatro columnas que bajan un peldaño cada una; el punto de partida, más ancho */
@media (min-width:64rem){
  .frentes24__lista{ grid-template-columns:1fr 1fr 1.32fr 1fr; align-items:start }
  .frente24 a{ grid-template-columns:auto minmax(0,1fr); column-gap:.75rem; row-gap:.4rem }
  .frente24__foto{ grid-column:1 / -1; margin-bottom:.7rem }
  .frente24__n{ grid-row:2 / span 2; padding-top:.15rem }
  .frente24__s,.frente24__t,.frente24__d{ grid-column:2 }
  .frente24--1 .frente24__foto{ aspect-ratio:4 / 5 }
  .frente24--2{ margin-top:clamp(3rem,5vw,4.5rem) } .frente24--2 .frente24__foto{ aspect-ratio:1 / 1 }
  .frente24--3{ margin-top:clamp(1rem,2vw,1.75rem) } .frente24--3 .frente24__foto{ aspect-ratio:5 / 6 }
  .frente24--4{ margin-top:clamp(5rem,9vw,8rem) } .frente24--4 .frente24__foto{ aspect-ratio:1 / 1 }
}
/* Tableta: dos columnas, la segunda desplazada */
@media (min-width:40rem) and (max-width:63.99rem){
  .frentes24__lista{ grid-template-columns:1fr 1fr; column-gap:1.5rem; row-gap:2.25rem }
  .frente24:nth-child(even){ margin-top:3rem }
  .frente24 a{ row-gap:.4rem }
  .frente24__foto{ aspect-ratio:4 / 3; margin-bottom:.5rem }
  .frente24__n{ display:none }
}
/* Celular: fila compacta, miniatura a la izquierda */
@media (max-width:39.99rem){
  .frentes24__cab{ grid-template-columns:1fr; row-gap:var(--e-sm) }
  .frentes24__lista{ gap:0; border-top:1px solid var(--filete) }
  .frente24 a{ grid-template-columns:6.5rem minmax(0,1fr); column-gap:1rem; row-gap:.2rem; padding-block:1.1rem; border-bottom:1px solid var(--filete); border-radius:0 }
  .frente24__foto{ grid-row:1 / span 4; aspect-ratio:4 / 5; align-self:start }
  .frente24__n{ font-size:.92rem }
  .frente24__t{ font-size:1.12rem }
  .frente24__d{ font-size:.92rem; line-height:1.5 }
}

/* ---------- Proyectos (v24.1): un proyecto grande y dos entradas de texto ---------- */
.proyectos24__cab{ margin-bottom:clamp(2rem,4vw,3rem) }
.proy24--tic{ display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:clamp(1rem,2.4vw,2rem); row-gap:var(--e-lg); align-items:center }
.proy24__foto{ grid-column:1 / span 7; display:block; aspect-ratio:3 / 2; overflow:hidden; border-radius:.375rem; background:var(--piedra) }
.proy24__foto picture{ display:block; height:100% }
.proy24__foto img{ width:100%; height:100%; object-fit:cover; object-position:var(--pos,50% 50%); transition:transform 1.2s var(--salida) }
.proy24__foto:hover img{ transform:scale(1.03) }
.proy24--tic .proy24__txt{ grid-column:9 / span 4; display:grid; gap:var(--e-sm) }
.proy24__sitio{ font-family:var(--sans); font-size:.9rem; font-weight:600; color:var(--petroleo); line-height:1.4 }
.proy24__t{ font-family:var(--sans); font-size:clamp(1.25rem,1.05rem + .55vw,1.55rem); font-weight:650; line-height:1.15; letter-spacing:-.015em; color:var(--tinta) }
.proy24--tic .proy24__t{ font-family:var(--lee); font-weight:400; font-size:clamp(2.1rem,1.5rem + 2vw,3.3rem); letter-spacing:-.02em; line-height:1 }
.proy24__d{ font-size:1rem; line-height:1.62; color:var(--tinta-2); max-width:42ch }
.proy24 .liga{ color:var(--tinta); --ac:var(--petroleo) }
.proyectos24__mas{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:clamp(1.5rem,3vw,3rem); row-gap:var(--e-lg);
  margin-top:clamp(2.5rem,5vw,4rem); padding-top:clamp(1.5rem,3vw,2.25rem); border-top:1px solid var(--filete-firme) }
.proyectos24__mas .proy24{ display:grid; align-content:start; gap:.55rem }
.proy24__cifras{ list-style:none; margin:0; padding:0 0 0 clamp(1.25rem,2.4vw,2rem); display:grid; gap:var(--e-md); border-left:1px solid var(--filete) }
.proy24__cifras li{ display:grid; gap:.15rem }
.proy24__cifras b{ font-family:var(--sans); font-size:clamp(2rem,1.6rem + 1.2vw,2.6rem); font-weight:600; line-height:1; letter-spacing:-.04em; color:var(--tinta); font-variant-numeric:tabular-nums }
.proy24__cifras span{ font-size:.94rem; line-height:1.5; color:var(--tinta-2); max-width:32ch }
.proy24__cifras small{ font-family:var(--sans); font-size:.8rem; color:var(--mudo) }
.proy24__cifras small a{ color:var(--petroleo); font-weight:600; text-underline-offset:.18em }
.proyectos24__todos{ margin-top:clamp(2rem,4vw,3rem) }
@media (max-width:63.99rem){
  .proy24__foto,.proy24--tic .proy24__txt{ grid-column:1 / -1 }
  .proyectos24__mas{ grid-template-columns:1fr 1fr }
  .proy24__cifras{ grid-column:1 / -1; grid-template-columns:1fr 1fr; padding:var(--e-md) 0 0; border-left:0; border-top:1px solid var(--filete) }
}
@media (max-width:39.99rem){
  .proyectos24__mas{ grid-template-columns:1fr }
  .proy24__cifras{ grid-template-columns:1fr }
}

/* ---------- Ecosistema en la portada (v24.1): overrides solo de portada sobre ecosistema.css ---------- */
.eco13 .reco__etapa{ font-size:.86rem; letter-spacing:0 }
@media (min-width:64rem){
  .eco13 .reco__lado{ grid-template-rows:auto auto 1fr }
  .eco13 .reco__disp{ align-self:start; margin-top:clamp(1rem,3vh,2rem) }
  .eco13 .reco__pie{ align-self:start; margin-top:2.5rem }
  .eco13 .reco__pasos{ padding-block:.5rem calc(var(--alto-lado) * .12) }
  .eco13 .reco--corto .reco__paso{ min-height:calc(var(--alto-lado) * .5) }
}
@media (max-width:63.99rem){
  /* sin captura repetida del titular y sin segunda barra fija bajo la navegación */
  .eco13 .reco__ventana{ display:none }
  .eco13 .reco__lado{ position:static; background:transparent; -webkit-backdrop-filter:none; backdrop-filter:none; box-shadow:none; margin-bottom:var(--e-md) }
}

/* ---------- Fundador (v24.1): foto, dos líneas y dos enlaces ---------- */
.fundador24{ padding-block:clamp(3.75rem,7vw,6rem) }
.fundador24 .fundador13__rej{ max-width:60rem }
@media (min-width:62rem){
  .fundador24 .fundador13__rej{ grid-template-columns:minmax(0,4fr) minmax(0,6fr) }
  .fundador24 .fundador13__texto{ justify-items:start; text-align:left }
}
@media (max-width:61.99rem){ .fundador24 .retrato13{ width:min(100%, 19rem) } }
.fundador24 .retrato13__firma span{ font-size:.88rem; font-weight:600 }
.fundador24__acc{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--e-sm) var(--e-lg); margin-top:var(--e-lg) }
@media (max-width:61.99rem){ .fundador24__acc{ justify-content:center } }
.fundador24__acc .liga{ color:var(--tinta-2); --ac:var(--petroleo) }

/* ---------- Rótulos que dependían de las mayúsculas: peso y color ---------- */
.inicio .ict__manda{ font-size:.74rem }
