.pageWidth{width:100%;box-sizing:border-box;max-width:1100px;margin:0 auto;position:relative;z-index:1}
/* El contenido de la página arranca donde el LOGO de la toolbar (no donde el borde
   de la barra). La toolbar es `header .desktopMenu`: width 20.8em con padding lateral
   0.58em, sobre font-size clamp(1rem,4.6vw,3.85rem). Restando los dos paddings quedan
   19.64em, así el contenido calza con la caja interna de la barra —a la izquierda con el
   logo y a la derecha con el botón de login— en cualquier ancho de pantalla. Acotado a
   `main` a propósito: el footer es común a todo el sitio y conserva su ancho de siempre. */
main .pageWidth{max-width:calc(19.64 * clamp(1rem, 4.6vw, 3.85rem))}
/* Hueco de la bajada del hero: el texto se quitó, pero su espacio se conserva para
   que lo de abajo no suba. El alto es el que tenía la frase: cantidad de líneas x el
   interlineado (1.35), expresado en `em` del propio párrafo para que acompañe al
   font-size responsive. Ocupaba 3 líneas, salvo entre 651 y 900px donde entraba en 2
   (medido). Las márgenes las hereda de la regla de `#intro .wrapper p`. */
#intro .wrapper p.huecoBajada{height:4.05em}
@media screen and (min-width:651px) and (max-width:900px){#intro .wrapper p.huecoBajada{height:2.7em}}@media screen and (max-width:1120px){.pageWidth{max-width:100%;padding:0 10px}}#intro{padding-top:calc(1.65em + 96px)!important;background:#ffebe5}
/* Fondo de la landing. El salmón queda SOLO en el hero (que tiene el suyo propio,
   arriba) y en la banda del separador; de "Conocé nuestras actividades" para abajo
   el fondo es BLANCO (pedido del 2026-08-28). Por eso `main` se pinta de blanco y no
   de #ffebe5: las secciones de contenido (actividades, acerca, alianzas) son
   transparentes y caen a este color. Las bandas con color propio (separador, Aportá,
   contacto, seguinos) lo siguen tapando, como antes. */
main{background:#fff}

/* Layout grid con foto — medido de la referencia "Home":
   foto ~46% del ancho de contenido y casi cuadrada (625x671 ≈ aspect 0.93),
   top alineado con el título; los aliados van en una fila debajo, a la izquierda. */
/* Layout del HTML de referencia: grid de 1 fila, columnas 1.08fr 1fr, top-aligned.
   Columna derecha = foto (aspect 285/335) + dots debajo + isotipo asomando. */
/* La caja del isotipo asoma bastante a la derecha de la foto (el SVG tiene aire):
   con clip evitamos que genere scroll horizontal en viewports ~1120px. */
#intro.conFoto{overflow-x:clip}
#intro.conFoto .pageWidth{
  display:grid;
  grid-template-columns:1.08fr 1fr;
  column-gap:3.75rem;
  align-items:start;
}
#intro.conFoto .wrapper{grid-column:1;text-align:left;align-items:flex-start;display:flex;flex-direction:column}
#intro.conFoto .heroCarousel{grid-column:2;position:relative}
#intro.conFoto .heroCarousel__frame{aspect-ratio:495/540}
/* Logo apilado (el isotipo no va arriba: va sobre la foto). Ancho medido del
   diseño: 385/1080 del ancho de contenido ≈ 8em. */
#intro.conFoto .wrapper h1{width:100%;display:block}
/* OJO: acá 1em NO es el em del hero (el h1 tiene su propio font-size), por eso el
   ancho va en % de la columna: 385/540 del diseño ≈ 71%. */
#intro.conFoto .wrapper h1 .logoApilado{display:block;width:71%;max-width:100%;height:auto}
/* Cortes de línea del diseño: el h2 rompe entre la parte liviana y la negrita
   (por eso el <b> en bloque, más robusto que ajustar el ancho), y el párrafo en
   3 líneas ("…que / articula … comunidad / para …"), eso sí por ancho de caja. */
#intro.conFoto .wrapper h2{margin-top:.5em;font-size:.69em;line-height:1.25em}
#intro.conFoto .wrapper h2 b{display:block}
#intro.conFoto .wrapper p{font-size:.47em;max-width:21em;line-height:1.35em;margin:.55em 0 1.15em;color:#495267}

/* Botones del hero: pills outline, ambos con borde naranja (también "Colaboremos",
   que fuera del hero con foto va en salmón lleno). Forma de CTA del sitio:
   border-radius 2em, font-weight 500, padding .4em 1em, gap .6em. */
#intro.conFoto .wrapper ul{flex-wrap:nowrap;gap:.25em;margin:0}
#intro.conFoto .wrapper ul li a{white-space:nowrap;font-size:.45em;font-weight:500;padding:.4em 1em;border-radius:2em;border:1.5px solid #fe4d17;color:#1b2440;background:#fff;gap:.6em;align-items:center}
#intro.conFoto .wrapper ul li a:hover{background:#fe4d17;color:#fff;border-color:#fe4d17}
#intro.conFoto .wrapper ul li a:hover .flechaAbajo{background-color:#fff}
/* Chevron de "Ver Agenda": rojo (como el diseño), respeta el aspecto ancho del SVG (~2.4) */
#intro.conFoto .wrapper ul li a .flechaAbajo{-webkit-mask-image:url(intro/flecha_abajo.svg);mask-image:url(intro/flecha_abajo.svg);width:1em;height:.42em;background-color:#fe4d17;transition:transform .2s,background-color .2s;flex-shrink:0}
#intro.conFoto .wrapper ul li a:hover .flechaAbajo{transform:translateY(.12em)}
/* Flecha diagonal de "Colaboremos" (necesita height explícito, si no colapsa a 0) */
#intro.conFoto .wrapper ul li a .flecha{-webkit-mask-image:url(intro/flecha.svg);mask-image:url(intro/flecha.svg);width:.85em;height:.85em;background-color:#fe4d17;flex-shrink:0;transition:background-color .2s}
/* Separación botones → aliados del diseño (~65px): .5em de gap del wrapper (24px)
   + esto. En rem porque el em de .heroAliados es chico (font-size .3em). */
#intro.conFoto .heroAliados{margin-top:2.55rem;font-size:.345em;gap:.85em}
/* Círculos del diseño: 46px y apenas superpuestos (no encimados como antes). */
#intro.conFoto .heroAliados__logos img{width:46px;height:46px;margin-left:-5px}
#intro.conFoto .heroAliados__mas{width:24px;height:24px;font-size:12px;margin-left:-6px}

/* Mini aliados en el hero (fila debajo, fuera del wrapper de texto).
   Texto en UNA línea, chico; el círculo "+" más chico que los logos. */
#intro .heroAliados{display:flex;align-items:center;gap:.6em;flex-wrap:nowrap;font-family:Poppins,sans-serif;font-size:.3em;font-weight:500;color:#1b2440}
#intro .heroAliados>span{white-space:nowrap}
#intro .heroAliados__logos{display:flex;align-items:center}
#intro .heroAliados__logos img{width:44px;height:44px;border-radius:50%;border:2.5px solid #fff;object-fit:cover;margin-left:-11px;display:block}
#intro .heroAliados__logos img:first-child{margin-left:0}
#intro .heroAliados__mas{width:23px;height:23px;border-radius:50%;background:#ff4612;border:2px solid #fff;display:flex;align-items:center;justify-content:center;font-size:11px;line-height:1;color:#fff;font-weight:700;margin-left:-8px;flex-shrink:0;align-self:center}

/* Separador CTA salmon — full width, entre hero y actividades */
.ctaSeparador{display:flex;align-items:center;justify-content:center;gap:.6em;width:100%;background:#ffc7b8;padding:1.55rem 1rem;color:#fe4d17;font-weight:500;font-size:1.5rem;text-decoration:none;font-family:Poppins,sans-serif;transition:background .2s;box-sizing:border-box}
.ctaSeparador:hover{background:#ffb0a0}
.ctaSeparador .flechaAbajo{-webkit-mask-image:url(intro/flecha_abajo.svg);mask-image:url(intro/flecha_abajo.svg);width:1.1em;height:.75em;background-color:#fe4d17;transition:transform .2s;flex-shrink:0}
.ctaSeparador:hover .flechaAbajo{transform:translateY(.15em)}

/* Responsive: ocultar carrusel en mobile y volver al hero de una columna */
@media screen and (max-width:900px){
  #intro.conFoto .pageWidth{display:block}
  #intro.conFoto .heroCarousel{display:none}
  #intro.conFoto .wrapper{text-align:center;align-items:center}
  #intro.conFoto .wrapper h1 .logoApilado{width:7.2em;margin:0 auto}
  #intro.conFoto .wrapper h2{max-width:none}
  #intro.conFoto .wrapper p{font-size:.45em;max-width:30em}
  #intro.conFoto .wrapper ul{justify-content:center}
  #intro.conFoto .heroAliados{justify-content:center;margin-top:1rem}
}
/* Debajo de 650px manda el diseño mobile del sitio (izquierda, max-width 400px):
   los overrides de arriba tienen más especificidad, así que los revertimos acá. */
@media screen and (max-width:650px){
  #intro.conFoto .wrapper{text-align:left;align-items:flex-start}
  #intro.conFoto .wrapper h1 .logoApilado{margin:0;width:3.4em}
  #intro.conFoto .wrapper p{font-size:.38em}
  /* El iso decorativo del párrafo (absoluto, sólo mobile) se montaba encima de
     los botones y de la fila de aliados: con foto ese lugar ya está ocupado. */
  #intro.conFoto .wrapper p .iso{display:none}
  #intro.conFoto .wrapper ul{flex-wrap:wrap;justify-content:flex-start}
  /* Aliados: los 6 círculos + el texto no entran en una línea a 390px y se
     pisaban (nowrap). Círculos más chicos y, si no entra, el texto baja. */
  #intro.conFoto .heroAliados{justify-content:flex-start;flex-wrap:wrap;gap:.5em .85em}
  #intro.conFoto .heroAliados__logos img{width:34px;height:34px;margin-left:-6px}
  #intro.conFoto .heroAliados__mas{width:19px;height:19px;font-size:10px;margin-left:-5px}
}

/* Carrusel hero */
.heroCarousel__frame{position:relative;width:100%}
.heroCarousel__track{position:relative;height:100%;border-radius:.85em;overflow:hidden;box-shadow:0 30px 60px -30px rgba(4,16,45,.45);container-type:inline-size}
.heroCarousel__slide{display:none;position:relative;height:100%}
.heroCarousel__slide--active{display:block}
.heroCarousel__slide .fotoHero{width:100%;height:100%;display:block;object-fit:cover;border-radius:0}
/* Caption: posición/tamaño medidos del diseño (#11): padding izq 11% y margen
   inferior 11% de la foto; tipografía en cqw para escalar con el ancho de la foto */
.heroCarousel__caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,0) 78%);padding:20% 8% 11% 9%;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:.2rem;font-family:Poppins,sans-serif}
.heroCarousel__titulo{color:#fff;font-size:4.4cqw;font-weight:600;line-height:1.2}
.heroCarousel__subtitulo{color:#fe4d17;font-size:4.4cqw;font-weight:600;line-height:1.2}
/* Dots: justo debajo de la foto, alineados a la izquierda (HTML: margin-top 14px,
   padding-left 18px, escalados; activo coral #ff8a66, inactivo gris #d9d9d9) */
.heroCarousel__dots{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;margin-top:2.5rem;padding-left:.6rem}
.heroCarousel__dot{width:13px;height:13px;border-radius:50%;border:none;background:#d9d9d9;cursor:pointer;padding:0;transition:background .2s}
.heroCarousel__dot--active{background:#ff8a66}
.heroCarousel__dot:hover{background:#c4c4c4}
.heroCarousel__dot--active:hover{background:#fe4d17}
/* Iso de marca anclado a la FOTO en porcentajes (robusto a cualquier ancho).
   Con el viewBox del SVG recortado al trazo, la caja ES la figura: mide 48.5%
   del ancho de la foto. Posición ajustada a mano por el diseñador: asoma 6% a la
   derecha y 14% abajo. */
.heroCarousel__iso{position:absolute;width:48.5%;right:-6%;bottom:-14%;height:auto;z-index:2;pointer-events:none}
/* Debajo de ~1180px el contenido ya toca los bordes de la ventana y el 6% que
   asoma el iso lo recortaría el overflow-x:clip del hero: lo acercamos. */
@media screen and (max-width:1180px){
  .heroCarousel__iso{right:-2%}
}

#actividades .etiquetasYOrden .etiquetas li{cursor:pointer;transition:background-color .15s,color .15s}#actividades .etiquetasYOrden .etiquetas li.on{background-color:#fe4d17;color:#fff}#actividades .etiquetasYOrden .etiquetas li.on .icon{background-color:#fff}#actividades .etiquetasYOrden select{cursor:pointer}#acerca .ejes>li .tituloYControl{cursor:pointer}.fake-recaptcha{display:inline-flex;align-items:center;gap:10px;background:#f9f9f9;border:1px solid #d3d3d3;border-radius:3px;padding:10px 12px;font:14px Poppins,sans-serif;color:#000;margin-top:6px}.fake-recaptcha .box{width:24px;height:24px;border:2px solid #c1c1c1;border-radius:2px;background:#fff}.fake-recaptcha .rc{margin-left:18px;font-size:10px;color:#9aa0ad;text-align:center;line-height:1.2}

/* ============ DONACIONES ============
   Recrea el handoff "Fundación Finnegans — donación y alianzas".
   Acento ROJO propio de la sección (#ee1c1c, urgencia/donación) — distinto del
   naranja de Impacto. Dos tarjetas del mismo alto (grid stretch + flex column):
   A) Donación directa (QR + "copiar todos" + datos copiables);
   B) Colaboraciones (simulador de impacto + áreas de cooperación + por qué sumarse).
   Valores en px/rem según el handoff (alta fidelidad). */
#donaciones{
  --red:#ee1c1c;--red-hover:#d21414;--navy:#04102d;--peach-soft:#fff5f1;
  --tbody:#2a3354;--tmuted:#6b7490;--tsubtle:#9aa1b4;--bsub:#e2e5ee;
  background:#fdd7ce;padding:clamp(28px,5vw,56px) 20px;font-family:Poppins,system-ui,sans-serif;color:var(--tbody)
}
#donaciones .donaciones__grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
#donaciones .donaciones__card{background:#fff;border-radius:28px;padding:36px 32px;min-width:0;display:flex;flex-direction:column;height:100%;box-sizing:border-box;box-shadow:0 20px 50px rgba(4,16,45,.08)}
#donaciones .donaciones__eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
#donaciones .donaciones__card h2{margin:0 0 14px;font-family:Poppins,sans-serif;font-weight:700;font-size:30px;line-height:1.15;letter-spacing:-.01em;color:var(--navy)}
#donaciones .donaciones__lead{margin:0 0 24px;font-size:16px;line-height:1.6;color:var(--tbody);min-height:104px}
#donaciones .donaciones__lead--narrow{max-width:460px}

/* Botón pill rojo (RedBtn del handoff) */
#donaciones .donaciones__redbtn{display:inline-flex;align-items:center;gap:10px;cursor:pointer;border:0;font-family:Poppins,sans-serif;font-weight:500;font-size:15.5px;line-height:1;white-space:nowrap;padding:15px 26px;border-radius:999px;color:#fff;background:var(--red);text-decoration:none;transition:background .16s,transform .16s}
#donaciones .donaciones__redbtn:hover{background:var(--red-hover);transform:translateY(-1px)}
#donaciones .donaciones__redbtn svg{width:18px;height:18px;flex-shrink:0}

/* Columna A — QR + datos copiables */
#donaciones .donaciones__aBody{margin-top:28px;padding-top:28px;border-top:1px solid var(--bsub)}
#donaciones .donaciones__qrWrap{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px}
#donaciones .donaciones__qr{width:200px;max-width:100%;aspect-ratio:1;border-radius:20px;background:var(--peach-soft);border:1px solid #ffe0d3;display:grid;place-items:center;padding:14px;box-sizing:border-box}
#donaciones .donaciones__qr img{width:100%;height:100%;object-fit:contain;display:block}
#donaciones .donaciones__qrLink{display:inline-flex;align-items:center;gap:5px;font-family:Poppins,sans-serif;font-size:13px;font-weight:700;color:var(--red);text-decoration:none;background:none;border:0;cursor:pointer}
#donaciones .donaciones__qrLink:hover{text-decoration:underline}
#donaciones .donaciones__qrLink svg{width:13px;height:13px}
#donaciones .donaciones__rows{display:grid;gap:10px}
#donaciones .donaciones__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:14px;background:var(--peach-soft);border:1px solid #ffe4da}
#donaciones .donaciones__rowText{min-width:0}
#donaciones .donaciones__rowLabel{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#b96a56}
#donaciones .donaciones__rowValue{font-size:16px;font-weight:700;color:var(--navy);margin-top:3px;word-break:break-word}
#donaciones .donaciones__rowCopy{flex:0 0 auto;width:36px;height:36px;border-radius:50%;border:1.5px solid #f4b7a4;background:#fff;color:var(--red);display:grid;place-items:center;cursor:pointer;transition:all .15s}
#donaciones .donaciones__rowCopy:hover{background:var(--red);color:#fff;border-color:var(--red)}
#donaciones .donaciones__rowCopy.is-copied{border-color:#2fae6e;color:#2fae6e}
#donaciones .donaciones__rowCopy.is-copied:hover{background:#fff;color:#2fae6e;border-color:#2fae6e}
#donaciones .donaciones__rowCopy svg{width:16px;height:16px}

/* Columna B — simulador de impacto */
#donaciones .donaciones__simBox{margin-bottom:24px}
#donaciones .donaciones__sim{border-radius:18px;border:1.5px solid #ffe0d3;background:#fff;padding:18px;min-width:0}
#donaciones .donaciones__simHead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}
#donaciones .donaciones__simTitle{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--red)}
#donaciones .donaciones__simTitle svg{width:15px;height:15px}
#donaciones .donaciones__simBadge{font-size:12px;font-weight:700;color:#c2185b;background:#ffe1ee;padding:5px 11px;border-radius:999px;white-space:nowrap}
#donaciones .donaciones__simChips{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}
#donaciones .donaciones__chip{border:1.5px solid var(--bsub);border-radius:12px;background:#fff;color:var(--navy);font-family:Poppins,sans-serif;font-weight:700;font-size:14.5px;padding:9px 6px;cursor:pointer;transition:all .15s;min-width:0}
#donaciones .donaciones__chip:hover{border-color:#f4b7a4}
#donaciones .donaciones__chip.is-active{border-color:var(--red);background:#fff2ee;color:var(--red)}
#donaciones .donaciones__simInputWrap{display:flex;align-items:center;gap:8px;border:1.5px solid var(--bsub);border-radius:12px;padding:11px 14px;margin-bottom:14px}
#donaciones .donaciones__simInputWrap>span{font-weight:700;color:#b96a56}
#donaciones .donaciones__simInput{flex:1;min-width:0;border:0;outline:none;background:transparent;font-family:Poppins,sans-serif;font-weight:700;font-size:16px;color:var(--navy);-moz-appearance:textfield}
#donaciones .donaciones__simInput::-webkit-outer-spin-button,#donaciones .donaciones__simInput::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
#donaciones .donaciones__simCopy{margin:0;font-size:13.5px;line-height:1.55;color:var(--tmuted)}

/* Columna B — áreas de cooperación + por qué sumarse */
#donaciones .donaciones__coopTitle{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tsubtle);margin-bottom:12px}
#donaciones .donaciones__coop{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
#donaciones .donaciones__coopCard{padding:16px;border-radius:16px;background:var(--peach-soft);border:1px solid #ffe4da;min-width:0}
#donaciones .donaciones__coopIcon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#ffe1ee;margin-bottom:12px}
#donaciones .donaciones__coopCard h4{font-size:15.5px;font-weight:700;color:var(--navy);line-height:1.25;margin:0 0 4px}
#donaciones .donaciones__coopCard p{font-size:13px;line-height:1.5;color:var(--tmuted);margin:0}
#donaciones .donaciones__why{display:flex;gap:14px;padding:20px;border-radius:18px;background:var(--peach-soft);border:1px solid #ffe4da;margin-top:auto}
#donaciones .donaciones__whyIcon{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:#fff;border:1.5px solid #ffe0d3;display:grid;place-items:center;color:var(--red)}
#donaciones .donaciones__whyIcon svg{width:18px;height:18px}
#donaciones .donaciones__why h4{font-size:15.5px;font-weight:700;color:var(--navy);margin:0 0 4px}
#donaciones .donaciones__why p{margin:0;font-size:13.5px;line-height:1.55;color:var(--tmuted)}

/* Modal "Ver QR gigante" */
#donaciones .donaciones__modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:rgba(4,16,45,.72)}
#donaciones .donaciones__modalBox{position:relative;background:#fff;border-radius:20px;padding:24px;width:min(90vw,340px);text-align:center;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
#donaciones .donaciones__modalBox img{width:100%;height:auto;display:block;border-radius:12px;border:1px solid #ffe0d3}
#donaciones .donaciones__modalBox p{font-size:14px;font-weight:700;color:var(--navy);margin:14px 0 0}
#donaciones .donaciones__modalClose{position:absolute;top:10px;right:10px;width:32px;height:32px;border:none;border-radius:50%;background:#f2f2f4;color:var(--navy);font-size:20px;line-height:1;cursor:pointer;transition:background .2s}
#donaciones .donaciones__modalClose:hover{background:var(--red);color:#fff}

@media (max-width:880px){
  #donaciones .donaciones__grid{grid-template-columns:1fr}
  #donaciones .donaciones__lead{min-height:0}
  #donaciones .donaciones__lead--narrow{max-width:none}
}
@media (max-width:560px){
  #donaciones .donaciones__card{padding:28px 22px}
  #donaciones .donaciones__simChips{grid-template-columns:1fr}
  #donaciones .donaciones__coop{grid-template-columns:1fr}
}

/* #contact: layout y tipografía de develop (test). El section.css todavía tiene
   la versión vieja con formulario (grid + p{.95em/lh 1em/max-width:10em}); acá lo
   pisamos por la versión nueva: heading+logo a la izquierda (flex:1) y botón
   "Contactate" abajo a la derecha (align-items:flex-end), sin flecha. */
#contact .pageWidth{display:flex;gap:1.5em;align-items:flex-end}
#contact .wrapper{flex:1}
/* develop usa .7em, pero con Poppins real (~12% más ancha que la fuente con la
   que rinde test) la línea 1 no entra y "colectiva" cae a la 2da línea. Bajamos
   a .62em: el bloque ocupa el mismo ancho que test y corta después de "colectiva". */
#contact .wrapper p{font-size:.62em;line-height:1.2em;max-width:none}
@media screen and (max-width:650px){
  #contact .pageWidth{flex-direction:column;align-items:flex-start;max-width:400px;gap:1em}
}
#contact .cta{
  display:inline-block;
  padding:.4em 1em;
  color:#fff;
  box-sizing:border-box;
  font-size:.42em;
  font-weight:500;
  border-radius:2em;
  background-color:#fe4d17;
  border:none;
  text-decoration:none;
  transition:all .2s;
}
#contact .cta:hover{background-color:#931505;color:#fff}

/* Pastilla (etiqueta) de las tarjetas de actividades: NO truncar. Mostramos el
   texto completo, envolviendo a 2 líneas si es largo. (Con la Poppins real —
   auto-hospedada— el texto es más ancho que en el sitio viejo, que caía a un
   fallback más angosto, por eso ahí entraba en una línea.) */
#actividades .agenda li .data .etiqueta{
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  line-height: 1.3;
}
/* Un punto más chico el TÍTULO y la ETIQUETA de las tarjetas, solo en desktop
   (grilla de 4 columnas, donde las tarjetas son más angostas), para que con la
   Poppins real entren como en el sitio viejo. Debajo de 950px no se toca. */
@media screen and (min-width: 951px){
  #actividades .agenda li .data h3{font-size:1.44em}
  #actividades .agenda li .data .etiqueta{font-size:.80em}
}
/* Ejes ("Acerca de"): la Poppins real tiene un line-height "normal" más alto que
   el fallback del sitio viejo, lo que agrandaba la caja del acordeón (164 vs 149).
   Fijamos el interlineado del título del eje para que la caja mida igual. */
#acerca .ejes>li .tituloYControl h3{line-height:1.13}
/* Y la Poppins real es ~7% más ancha que el fallback, así que los títulos de los
   ejes "llegaban" más lejos. Bajamos un toque el font-size (.9em → .835em) solo en
   desktop/tablet para que midan como en el sitio viejo. El override mobile
   (1.3em @max-width:650px) queda intacto. */
@media screen and (min-width: 651px){
  #acerca .ejes>li .tituloYControl h3{font-size:.835em}
  /* Botones del menú del hero: la Poppins real los hace ~9% más anchos que test.
     Bajamos el font-size para que midan igual. (Mobile @max-width:650px intacto.) */
  #intro .wrapper ul li a{font-size:.437em}
}

/* --- Popup de detalle del evento (botón "+" de la agenda) ------------------
   El CSS del modal viene del entregable (está en section.css, .modal …). Acá van
   solo los remiendos que el entregable no traía. */
/* El "+" de la tarjeta ahora abre el popup, así que es un <button> y no un <a>:
   hay que sacarle el estilo propio de los botones. */
#actividades .agenda li .wrapper .cta button.mas{border:0;background:none;padding:0;cursor:pointer}
/* El entregable define el ícono de tipo del modal para formación, comunidad y
   convocatorias, pero se olvidó de programación (en la tarjeta sí está). */
.modal .contenido .wrapper .fotoYTipo .programacion{-webkit-mask-image:url(actividades/icon_programacion.svg);mask-image:url(actividades/icon_programacion.svg)}
/* Mismo olvido con el color 10: sin esto la X de cerrar queda gris. */
.modal.color10 .cerrar{background-color:var(--color-10b)}
/* `.icon` pinta con currentColor y dentro del modal no hay color definido; el
   ícono de la solapa va en el azul de la marca, como en el diseño. */
.modal .contenido .wrapper .fotoYTipo .stripe .tipo{background-color:#1b2440}

/* --- Alianzas cargadas desde el CMS ---------------------------------------
   Los logos fijos son todos de 432x432 y llenan la celda de la grilla; los que
   suben al CMS pueden venir de cualquier medida, así que se los encuadra igual
   para que las filas queden parejas. */
#alianzas ul li img{width:100%;height:auto;-o-object-fit:contain;object-fit:contain}

/* La X del botón de cerrar. El icon_cerrar.svg del entregable está dibujado con
   trazos de 0.466 sobre un lienzo de 22.3: a los 38px que mide el botón queda un
   pelo de 0.8px, prácticamente invisible (se verificó con capturas). Se lo
   reemplaza por la misma X con el grosor que muestra el diseño de referencia. El
   archivo del entregable queda donde está, sin tocar. */
.modal .cerrar .icon{-webkit-mask-image:url("data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8 8 16 16M16 8 8 16" stroke="%23000" stroke-width="2" stroke-linecap="round" fill="none"/></svg>");mask-image:url("data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8 8 16 16M16 8 8 16" stroke="%23000" stroke-width="2" stroke-linecap="round" fill="none"/></svg>")}

/* El entregable deja el cuerpo del popup en `overflow-y:scroll`, así que la barra
   se dibuja SIEMPRE, aunque el contenido entre entero (se ve como una línea gris
   pegada al borde derecho). Pasa a `auto` y además se oculta la barra: el popup
   sigue scrolleando cuando el texto no entra, pero sin la línea encima del
   diseño. */
.modal .contenido .mainWrapper{overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}
.modal .contenido .mainWrapper::-webkit-scrollbar{width:0;height:0;display:none}

/* Popup sin textos cargados: el entregable da por hecho que siempre hay
   descripción, que es la que separa el título del botón (margin-bottom 2em) y
   llena la columna. Cuando el evento no tiene los dos textos, el botón queda
   pegado al título y sobra media caja vacía abajo. Con `sinDetalle` el contenido
   se centra contra la foto y el título recupera ese aire (.64em = los 2em de la
   descripción llevados a la escala del modal). */
.modal .contenido .wrapper .data.sinDetalle{justify-content:center;padding-bottom:.8em}
.modal .contenido .wrapper .data.sinDetalle .titulo{margin-bottom:.64em}

/* ============================================================================
   REDISEÑO 2026-09-04 — proporciones del entregable del diseñador.

   La mesa de trabajo del diseño mide 1500px de ancho y todas las medidas que
   siguen salen de ahí como proporción, no como valor fijo:

     hero      890 / 1500 = 59.33 %      alto del bloque 890 x 520
     secciones 820 / 1500 = 54.67 %
     foto      400 x 430
     tarjetas  205 de ancho (4 = 820, sin gap), 245 de alto + 325 de foto

   Se expresan en vw para conservar la proporción, con tope en el valor de 1500px
   para que en monitores grandes no se siga estirando. Debajo de 1120px manda el
   responsive de siempre (ver el @media de más arriba).
   ============================================================================ */

/* --- 1. ANCHOS ------------------------------------------------------------
   OJO: van dentro del breakpoint de desktop. Debajo de 1120px manda la regla de
   más arriba (`.pageWidth{max-width:100%;padding:0 10px}`) y, como este bloque va
   al final del archivo, sin el @media le ganaría y dejaría el contenido en 54vw
   —o sea 211px en un teléfono—. */
@media screen and (min-width: 1121px) {
  main .pageWidth { max-width: min(54.667vw, 820px); }
  #intro .pageWidth { max-width: min(59.333vw, 890px); }
}

/* --- 2. TÍTULOS DE SECCIÓN ------------------------------------------------
   Mismo tamaño, mismo color y misma etiqueta arriba en todas las secciones. La
   referencia es la Bolsa de Trabajo (37px de título y 14px de etiqueta sobre la
   mesa de 1500), que es la sección más nueva del entregable. */
#acerca h2,
#alianzas h2,
#bolsaDeTrabajo h2 {
  font-size: clamp(24px, 2.4667vw, 37px);
  line-height: 1.15em;
  font-weight: 600;
  color: #1b387a;
  text-align: center;
  margin: 0 0 .35em;
}
/* La etiqueta va dentro de un recuadro de borde fino, como en el diseño (era el
   formato que ya tenía la Bolsa de Trabajo). `fit-content` + margin auto para que la
   caja abrace al texto y quede centrada, en vez de ocupar todo el ancho. */
#acerca .eyebrow,
#alianzas .eyebrow,
#bolsaDeTrabajo .eyebrow {
  font-size: clamp(12px, .9333vw, 14px);
  font-weight: 500;
  color: #1b387a;
  text-align: center;
  text-transform: none;
  border: 1px solid #7687af;
  /* Mismas medidas que el "Aportá" de la sección de donaciones, que es el modelo:
     radio .3em y padding .1em 1.8em (recuadro ancho y bajo). */
  border-radius: .3em;
  background: #fff;
  padding: .1em 1.8em;
  width: fit-content;
  /* Aire arriba del recuadro (donde en "Aportá" va la línea). */
  margin: 5.7em auto .9em;
  position: relative;
}
/* Sin línea vertical en Pilares ni en Inserción laboral: ahí queda sólo el aire.
   La conservan "Aportá" (donaciones) y Alianzas. */
#alianzas .eyebrow::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 100%;
  width: 1px;
  height: 5.7em;
  background-color: #1b387a;
}
/* Bajada de Alianzas (nueva). */
#alianzas .bajada {
  font-size: clamp(13px, 1.0667vw, 16px);
  line-height: 1.35em;
  font-weight: 500;
  color: #002149;
  text-align: center;
  max-width: 34em;
  margin: 0 auto 1.6em;
}

/* --- 3. HERO -------------------------------------------------------------- */
/* Fondo blanco (era salmón). La banda salmón queda sólo en el separador. */
#intro { background: #fff; }
/* Más compacto: el bloque completo (título + botones + logos + foto) va a la
   proporción 890 x 520. */
#intro.conFoto { padding-top: calc(1.1em + 96px) !important; padding-bottom: .9em; }
#intro.conFoto .pageWidth { column-gap: 2.6rem; align-items: center; }
/* La foto del diseño es 400 x 430; la que estaba era más alta (495 x 540). */
#intro.conFoto .heroCarousel__frame { aspect-ratio: 400/430; }
/* Botones un poco más grandes. */
#intro .wrapper ul li a { font-size: .55em; padding: .32em 1em; }
/* Los logos de aliados iban con un aro blanco que los separaba al superponerse;
   sin aro no se superponen, se apoyan uno al lado del otro. */
#intro .heroAliados__logos { flex: none; }
#intro .heroAliados__logos img { border: none; margin-left: 2px; }
#intro .heroAliados__logos img:first-child { margin-left: 0; }
/* Sin el aro blanco los logos van uno al lado del otro; a 46px la fila no entraba
   en la columna angosta del hero nuevo y se montaba sobre "Aliados que nos
   potencian", así que van al tamaño chico que ya preveía el entregable. */
#intro.conFoto .heroAliados__logos img { width: 34px; height: 34px; margin-left: 2px; }
#intro.conFoto .heroAliados > span { flex: 1 1 auto; min-width: 0; }
/* Puntitos del carrusel: sobre el fondo blanco el gris claro no se veía. */
.heroCarousel__dot { background: #d6cfcd; }
.heroCarousel__dot--active { background: #fe4d18; }

/* --- 4. BARRA DE MENÚ ------------------------------------------------------
   Sólo afecta a esta página: esta hoja se carga únicamente en /impacto. */
/* Medio píxel: en pantallas retina se dibuja como media línea real, pero en las
   comunes (dpr=1) Chrome lo redondea a 1px, así que además se baja la opacidad del
   trazo para que ahí también quede apenas insinuado. */
header .desktopMenu { border: .5px solid rgba(27, 56, 122, .22); }

/* --- 5. TARJETAS DE ACTIVIDADES -------------------------------------------
   205 x 245 la tarjeta y 205 x 325 la foto, sobre la grilla de 820 (4 columnas
   sin gap). Con aspect-ratio la proporción se mantiene sola a cualquier ancho. */
#actividades .agenda li .data { aspect-ratio: 205/245; box-sizing: border-box; }
#actividades .agenda li .foto { height: auto; aspect-ratio: 205/325; }
/* El "+" era 2.4em; el diseño lo tiene más grande. */
#actividades .agenda li .wrapper .cta .mas { width: 3.1em; height: 3.1em; }

/* --- 6. EJES --------------------------------------------------------------
   Menos aire adentro del desplegable y títulos de cada ítem en dos líneas
   ("Bootcamp / Crisalis"), como en el diseño. */
#acerca .ejes > li { padding: .8em 1.06em; }
#acerca .ejes > li .wrapper { margin-top: .5em; padding-top: .5em; }
#acerca .ejes > li .wrapper .descripcion { margin-bottom: .7em; }
#acerca .ejes > li .wrapper ul li { padding: .38em 0; gap: 1.1em; }
/* El nombre del ítem va al mismo tamaño que el subtítulo de la sección (25px) y en
   medium. El ancho en `em` sigue siendo el que fuerza los dos renglones
   ("Bootcamp / Crisalis"), y acompaña el cambio de cuerpo. */
#acerca .ejes > li .wrapper ul li h5 { width: 7.6em; font-size: .52em; font-weight: 500; }

/* --- 7. BOLSA DE TRABAJO --------------------------------------------------
   La tarjeta izquierda tenía más aire de un lado que del otro. */
#bolsaDeTrabajo .box .conectamos { padding: 2.5em 2.8em; }
#bolsaDeTrabajo .box .conectamos h4 { max-width: none; }

/* Escala de la tarjeta: el contenido venía calculado para una tarjeta más alta, así
   que con la proporción 205x245 no entraba y el aspect-ratio quedaba sin efecto.
   Todo adentro es `em`, así que basta bajar la base de la grilla. */
#actividades .agenda { font-size: .284em; }
/* La caja de la Bolsa se pasaba del ancho de sección (era 90em fijos). */
@media screen and (min-width: 1121px) {
  #bolsaDeTrabajo .box { width: 100%; max-width: min(54.667vw, 820px); }
}

/* Alto del hero: el bloque quedaba en 580 y el diseño lo pide en 520 (890x520).
   Lo que sobra es aire: el hueco que reservaba la bajada que se sacó en agosto y
   la separación de la fila de aliados. */
#intro.conFoto .wrapper p.huecoBajada { height: 1em; margin-bottom: .8em; }
/* El alto del bloque lo fija la proporción 890x520, no el relleno: así el texto
   se centra contra la foto en vez de dejar un hueco en el medio. */
@media screen and (min-width: 1121px) {
  #intro.conFoto .pageWidth { min-height: min(34.667vw, 520px); }
}
#intro.conFoto .heroAliados { margin-top: 1.1rem; }

/* Tipografía de la tarjeta, ajustada a la referencia del diseño (2026-09-04).
   Bajar la base de la grilla para entrar en los 245px de alto había dejado el texto
   chico y todo apelotonado arriba, con un hueco antes de los botones. La referencia
   tiene el texto MÁS grande y el aire repartido: fecha arriba, título y etiqueta al
   medio, botones abajo. Se sube la base y se compensa apretando los interlineados
   (la fecha ocupaba 44px de alto para una cifra de 29). */
#actividades .agenda { font-size: .33em; }
#actividades .agenda li .data .fecha { margin-bottom: .55em; }
#actividades .agenda li .data .fecha .dia { font-size: 2.5em; line-height: 1; }
#actividades .agenda li .data .fecha .mes { font-size: .8em; line-height: 1; }
/* El alto de la fila lo fija la tarjeta con el título más largo (hay uno de tres
   renglones), así que el cuerpo va apenas más chico que en la referencia —que
   muestra sólo títulos de dos— para que esa tarjeta también entre en los 245. */
#actividades .agenda li .data h3 { font-size: 1.45em; line-height: 1.05em; margin-bottom: .45em; }
#actividades .agenda li .data .etiqueta { font-size: .95em; margin-bottom: 1.2em; }
/* Con el texto más grande el contenido se pasaba de los 245px y la tarjeta crecía a
   266. Se recupera achicando el padding vertical (la referencia tiene menos aire
   arriba y abajo que a los costados). */
#actividades .agenda li .data { padding: 1.14em 1em; }

/* Fila de filtros como en la referencia: "Todas" en rojo lleno cuando no hay ningún
   filtro puesto, y el control de orden mostrando siempre la palabra "Ordenar". */
#actividades .etiquetasYOrden .etiquetas li.todas { background-color: #fe4d17; border-color: #fe4d17; color: #fff; font-weight: 600; padding: .3em 1em; }
#actividades .etiquetasYOrden .etiquetas li.todas:not(.on) { background-color: transparent; color: #fe4d17; }
#actividades .etiquetasYOrden .orden { position: relative; display: flex; align-items: center; }
#actividades .etiquetasYOrden .orden > span {
  display: flex; align-items: center; gap: .5em; height: 1.8em; box-sizing: border-box;
  border: 1px solid #1b387a; color: #1b387a; border-radius: .5em; padding: 0 1.6em 0 .8em;
  background-image: url(actividades/flecha_abajo.svg); background-repeat: no-repeat;
  background-position: calc(100% - .5em) center; background-size: .9em;
}
/* El select real, transparente encima: mantiene el desplegable nativo. */
#actividades .etiquetasYOrden .orden select {
  position: absolute; inset: 0; width: 100%; height: 100%;
  opacity: 0; cursor: pointer; border: none; padding: 0; background: none;
}

/* Botones de estado de la tarjeta: en la referencia "Cerrado" y "Próximamente" van
   rellenos en azul oscuro (antes eran sólo un contorno) y "Anotate" en blanco. */
/* El `!important` es necesario: el entregable pinta el texto de "Cerrado" con el
   color de cada tarjeta en diez reglas (`li.color1 .data .wrapper .cta .cerrado`,
   etc.) que ganan por especificidad y lo dejaban ilegible sobre el azul. */
#actividades .agenda li .wrapper .cta .cerrado,
#actividades .agenda li .wrapper .cta .proximamente {
  background-color: #04102d !important;
  border-color: #04102d !important;
  color: #fff !important;
}

/* La fila de filtros se pasaba del ancho de la grilla (medía 999px contra los 820
   del contenido) y "Ordenar" quedaba fuera de la caja. Se achica el cuerpo para que
   entre entre las mismas guías que las tarjetas. */
#actividades .etiquetasYOrden { font-size: .33em; }
/* La etiqueta de la tarjeta tiene que entrar en un renglón (el caso más largo es
   "Ignacio Sanchez Mestres", que a .95em se partía en dos). */
#actividades .agenda li .data .etiqueta {
  font-size: .8em;
  padding: .12em .5em;
  /* Se fuerza el renglón único: la etiqueta se estaba mostrando como bloque con
     white-space normal y "Ignacio Sanchez Mestres" se partía en dos por 3px. */
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
/* En la referencia el título de Ejes respira antes del primer desplegable (los otros
   dos títulos llevan bajada debajo, así que ahí el aire ya está). */
#acerca h2 { margin-bottom: 1.4em; }

/* Grilla del hero afinada a la referencia (2026-09-04): sobre la caja de 890, la
   columna de texto mide 460, la separación 31 y la foto 399 —o sea que la foto
   queda al ras del borde derecho del hero, 35px por fuera de la guía de las
   secciones—. Expresado en porcentaje para que la relación no dependa del ancho. */
@media screen and (min-width: 1121px) {
  #intro.conFoto .pageWidth {
    /* Aire entre el texto y la foto (referencia del 2026-09-04): medido sobre la
       imagen del diseñador, el hueco es el 22,4% del ancho del hero. Antes era 3,5%
       y el texto quedaba casi pegado a la foto. La columna de texto y la foto se
       reparten el resto: 37,8% y 39,8%. */
    grid-template-columns: 37.81% 39.76%;
    column-gap: 22.43%;
  }
}
/* La foto arranca casi al tope de la caja (8px), no centrada: así queda como en la
   referencia, con el borde superior por encima del título. */
@media screen and (min-width: 1121px) {
  #intro.conFoto .heroCarousel { align-self: start; margin-top: .9%; }
}

/* Tamaños de texto del desplegable de Ejes, igualados a los de la Bolsa de Trabajo
   (pedido del 2026-09-04). Las medidas salen de medir el render: sobre la base de
   #acerca (48px con el clamp al tope) dan los mismos píxeles que la referencia.
     subtítulo y bajada → 25px, como "Conectamos talento certificado…"
     texto de cada ítem → 13,4px, como "Contamos con perfiles egresados…"
   Van en `em` para que sigan acompañando la escala responsive de la sección. */
#acerca .ejes > li .wrapper .descripcion h4 { font-size: .52em; }
/* La bajada va a 17px (pedido del 2026-09-04; primero se probó en 15). El .3542em
   es 17/48, la base de #acerca al tope del clamp. El interlineado mantiene la
   proporción que se había pedido (1.133), o sea 19,3px. */
#acerca .ejes > li .wrapper .descripcion p { font-size: .3542em; line-height: 1.1333em; }
#acerca .ejes > li .wrapper ul li p { font-size: .28em; }
/* Con la columna de texto más angosta (337 contra 460), el subtítulo y los botones
   ya no entraban: se salían hasta 445 y se comían el hueco. En la referencia todo
   ese bloque es proporcionalmente más chico, así que se baja la base tipográfica de
   la columna y su contenido escala junto. El logo del título no se toca: ya está en
   % del ancho de la columna. */
@media screen and (min-width: 1121px) {
  #intro.conFoto .wrapper { font-size: .72em; }
}

/* La caja de "Aportá" tenía 900px fijos y se salía del ancho de contenido (820), que
   es el que respetan todas las demás secciones. */
@media screen and (min-width: 1121px) {
  #aporta .box {
    width: 100%;
    max-width: min(54.667vw, 820px);
    /* Mitad y mitad exacto: con `1fr` a secas el `min-width:auto` de cada columna
       dejaba que el contenido las estirara (443 contra 397). */
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Sección de contacto y "Seguinos" (pedido del 2026-09-04).
   El texto de contacto se ensancha hasta donde termina el botón "Contactate" (o sea
   todo el ancho de la sección) para caer en dos renglones; venía en tres y limitado
   a media caja. El de "Seguinos" va al mismo cuerpo que el de contacto —era más
   grande— y también en dos renglones. */
@media screen and (min-width: 1121px) {
  /* .pageWidth es flex EN FILA: el texto compartía el ancho con el botón y se
     quedaba en 592px, cuando necesita 641 para entrar en dos renglones. Pasa a
     columna —el texto toma los 820 completos— y el botón queda abajo a la derecha,
     que es donde ya estaba (iba más abajo que el texto, no al lado). */
  #contact .pageWidth { flex-direction: column; align-items: stretch; }
  #contact .wrapper { width: 100%; }
  #contact .wrapper p { max-width: none; width: 100%; }
  /* El botón sube a la línea del logo "Finnegans Impacto": la columna lo dejaba
     abajo, separado por el gap (72px) más el alto del logo (47). El margen
     negativo va en `em` de la sección para que acompañe la escala. */
  /* El botón sube a la línea del logo "Finnegans Impacto": la columna lo dejaba
     abajo, separado por el gap (72px) más el alto del logo (47). El margen va en
     % del ancho de la sección —no en `em`, que acá resuelve contra el cuerpo del
     propio botón y se quedaba corto— para que acompañe la escala. */
  #contact .cta { align-self: flex-end; margin-top: -14.51%; }
  /* "Seguinos": mismo cuerpo que el texto de contacto. Le faltaban 5px para los dos
     renglones, así que se achica la separación con los íconos y crece el párrafo. */
  /* El corte de renglón ahora lo fija el propio texto (un <br> en el markup), así que
     sólo hace falta que entre el renglón más largo: 647px. Los íconos se dejan en su
     tamaño natural (110) en vez de estirarse, y con 1em de separación al párrafo le
     quedan 662. */
  #seguinos .wrapper { gap: 1em; }
  /* El renglón más largo pide 647px y los íconos, a su tamaño natural, se llevaban
     202: entre los dos se pasaban de los 820 de la sección. Los íconos bajan de
     1.8em a 1.1em y quedan en ~118. */
  #seguinos .wrapper ul { flex: none; gap: .25em; }
  /* Bastante más chicos y alineados con el texto: 30px, que es el alto de un renglón
     (el cuerpo es 26,76 con interlineado 1.1). Venían de 49 y competían con el texto. */
  #seguinos .wrapper ul img { width: .625em; }
  #seguinos .wrapper { align-items: center; }
  #seguinos .wrapper ul { align-items: center; }
  #seguinos .wrapper p { font-size: .5575em; line-height: 1.1em; max-width: none; flex: 1 1 auto; }
}
