/* =========================================================
   ENCO 2027 · Sitio
   Solo el acomodo de cada sección. Colores, fuentes y recursos
   salen de enco-tokens.css y enco-componentes.css.
   Mobile first: lo base es celular, los @media agrandan.
   ========================================================= */

/* ---------- Generales ---------- */
html { scroll-padding-top: 4.5rem; }
[hidden] { display: none !important; }

.saltar {
  position: absolute;
  left: var(--enco-esp-4);
  top: -4rem;
  z-index: 100;
  padding: var(--enco-esp-3) var(--enco-esp-4);
  background: var(--enco-naranja);
  color: var(--enco-negro);
  font-weight: 700;
}
.saltar:focus { top: var(--enco-esp-4); }

.botones { display: flex; flex-wrap: wrap; gap: var(--enco-esp-4); margin-top: var(--enco-esp-6); }

/* Botón de registro mientras no hay enlace 2027 */
.enco-boton[aria-disabled="true"] { cursor: default; opacity: 0.75; }
.enco-boton[aria-disabled="true"]::after { display: none; }
.enco-boton--contorno[aria-disabled="true"]:hover { background: transparent; color: inherit; box-shadow: inset 0 0 0 2px currentColor; }

/* Encabezado de sección: etiqueta, título y bajada */
.cabeza { margin-bottom: var(--enco-esp-7); }
.cabeza .enco-titulo { margin-bottom: var(--enco-esp-4); }
.cabeza p:not(.enco-etiqueta) { max-width: var(--enco-ancho-texto); }

.dos-columnas { display: grid; gap: var(--enco-esp-7); align-items: center; }
.dos-columnas > * { min-width: 0; }

/* Lista sencilla con viñeta naranja (texto corrido) */
.lista-simple { margin: 0; padding-left: 1.1em; display: grid; gap: var(--enco-esp-2); }
.lista-simple li::marker { color: var(--enco-acento); }

/* Rótulo chico de grupo dentro de una sección */
.subrotulo {
  margin: 0 0 var(--enco-esp-4);
  font-family: var(--enco-fuente-titulo);
  font-size: 1.5rem;
  letter-spacing: var(--enco-tracking-rotulo);
  text-transform: uppercase;
  line-height: 1;
  color: var(--enco-acento);
}
.subrotulo--tinta { color: inherit; }

/* ---------- Encabezado y menú ---------- */
.encabezado-acciones { display: flex; align-items: center; gap: var(--enco-esp-3); }
.enco-encabezado__logo { flex: none; }
.enco-encabezado__logo img { display: block; }
.enco-nav a[aria-current="true"] { color: var(--enco-naranja); }

.boton-menu {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.7em 0.9em 0.6em;
  border: 0;
  background: transparent;
  color: var(--enco-blanco);
  box-shadow: inset 0 0 0 2px currentColor;
  font-family: var(--enco-fuente-titulo);
  font-size: 1rem;
  letter-spacing: var(--enco-tracking-rotulo);
  text-transform: uppercase;
  line-height: 1;
  cursor: pointer;
}
.boton-menu:hover { color: var(--enco-naranja); }
.boton-menu__rayas { display: grid; gap: 3px; }
.boton-menu__rayas::before, .boton-menu__rayas::after { content: ""; display: block; inline-size: 1em; block-size: 2px; background: currentColor; }

/* En celulares chicos el logo pasa a isotipo para que quepan los dos botones */
@media (max-width: 26rem) {
  .enco-encabezado .enco-boton { padding: 0.75em 0.9em 0.65em; }
  .enco-encabezado .enco-boton::after { display: none; }
}

.menu-completo {
  position: fixed;
  inset: 0;
  z-index: 60;
  overflow-y: auto;
  background: var(--enco-negro);
  color: var(--enco-blanco);
}
.menu-completo__barra { display: flex; justify-content: space-between; align-items: center; min-height: 4rem; }
.menu-completo__lista {
  list-style: none;
  margin: var(--enco-esp-5) 0 var(--enco-esp-7);
  padding: 0;
  display: grid;
  gap: 0 var(--enco-esp-7);
}
.menu-completo__lista a {
  display: flex;
  align-items: baseline;
  gap: var(--enco-esp-4);
  padding-block: var(--enco-esp-3);
  border-bottom: 1px solid var(--enco-grafito);
  font-family: var(--enco-fuente-titulo);
  font-size: clamp(1.75rem, 1.2rem + 2vw, 2.75rem);
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
}
.menu-completo__lista a:hover { color: var(--enco-naranja); }
.menu-completo__num { flex: none; min-width: 1.6em; font-size: 0.55em; color: var(--enco-naranja); }
@media (min-width: 48rem) {
  .menu-completo__lista { grid-template-columns: 1fr 1fr; grid-auto-flow: column; grid-template-rows: repeat(6, auto); }
}
body.menu-abierto { overflow: hidden; }

/* ---------- 01 · Portada: fecha gigante sobre video ---------- */
.portada-b { position: relative; overflow: hidden; padding-block: var(--enco-esp-8) var(--enco-esp-7); }
/* Video de los pasillos 2026 en blanco y negro, oscurecido para que mande la fecha */
.portada-b .portada__video { opacity: 0.32; object-position: 50% 45%; }
.portada-b__rejilla { display: grid; gap: var(--enco-esp-6); align-items: end; }
.portada-b .enco-fecha__mes { font-size: clamp(2.5rem, 1.5rem + 4vw, 5.5rem); }
.portada-b .enco-fecha__dias { font-size: clamp(7rem, 2rem + 24vw, 22rem); }
.portada-b .enco-fecha__linea { font-size: clamp(1.4rem, 1rem + 1.6vw, 2.5rem); }
.portada-b__texto .enco-titulo { margin-bottom: var(--enco-esp-4); }
.portada-b__texto .enco-entradilla { margin: 0; }
@media (min-width: 64rem) {
  .portada-b { display: flex; align-items: center; min-height: min(86vh, 54rem); }
  .portada-b > .enco-contenedor { width: min(100% - 2 * var(--enco-margen), var(--enco-ancho-max)); }
  .portada-b__rejilla { grid-template-columns: 1.25fr 1fr; gap: var(--enco-esp-8); }
}

/* ---------- 02 · ¿Qué es ENCO? ---------- */
.que-es__descripcion { max-width: var(--enco-ancho-texto); }
.que-es .enco-lista-flechas { margin-top: var(--enco-esp-6); grid-template-columns: 1fr 1fr; gap: var(--enco-esp-4) var(--enco-esp-5); }
.que-es .enco-lista-flechas li { font-size: clamp(1.25rem, 1rem + 0.8vw, 1.6rem); }
.que-es .enco-foto { aspect-ratio: 1656 / 1361; }
@media (min-width: 56rem) { .que-es .dos-columnas { grid-template-columns: 1.1fr 1fr; } }

/* ---------- 03 · ¿Por qué estar en ENCO? ---------- */
.rejilla-4 { display: grid; gap: var(--enco-hueco); }
.por-que .enco-tarjeta { min-height: 8.5rem; }
@media (min-width: 36rem) {
  .rejilla-4 { grid-template-columns: 1fr 1fr; }
  .por-que .enco-tarjeta { min-height: 12rem; }
  .participacion .enco-tarjeta { min-height: 13rem; }
}
@media (min-width: 64rem) { .rejilla-4 { grid-template-columns: repeat(4, 1fr); } }

/* ---------- 04 · Lo que tienes que saber ---------- */
.saber__datos { display: grid; gap: var(--enco-esp-4); }
.saber__dato { display: grid; grid-template-columns: clamp(6.5rem, 4rem + 6vw, 10rem) 1fr; gap: var(--enco-esp-2) var(--enco-esp-5); align-items: center; }
.saber__dato .enco-cifra__numero { grid-row: span 2; font-size: clamp(3rem, 2rem + 3.5vw, 5rem); }
.saber__dato .enco-cifra__rotulo { align-self: end; }
.saber__dato .enco-cifra__detalle { align-self: start; }
@media (min-width: 56rem) { .saber .dos-columnas { grid-template-columns: 1fr 1fr; align-items: center; } }

/* ---------- 05 · Oportunidades de negocio ---------- */
.negocio .enco-lista-flechas { margin-top: var(--enco-esp-6); grid-template-columns: 1fr 1fr; grid-template-rows: repeat(5, auto); grid-auto-flow: column; gap: var(--enco-esp-4) var(--enco-esp-5); }
.negocio .enco-lista-flechas li { font-size: clamp(1.25rem, 1rem + 0.8vw, 1.6rem); }
.negocio__visual { position: relative; }
.negocio__visual .enco-foto { aspect-ratio: 4 / 3; }
.negocio__dato { display: grid; grid-template-columns: auto 1fr; gap: 0 var(--enco-esp-4); align-items: center; margin-top: calc(-1 * var(--enco-esp-8)); margin-right: var(--enco-esp-5); position: relative; max-width: 24rem; }
.negocio__dato .enco-cifra__numero { grid-row: span 2; font-size: clamp(3.5rem, 2.5rem + 3vw, 5.5rem); }
.negocio__dato .enco-cifra__rotulo { align-self: end; }
@media (min-width: 56rem) {
  .negocio .dos-columnas { grid-template-columns: 1fr 1.05fr; }
  .negocio__dato { position: absolute; left: calc(-1 * var(--enco-esp-7)); bottom: var(--enco-esp-7); margin: 0; }
}

/* ---------- 06 · Oportunidades de participación ---------- */
.participacion .enco-tarjeta { min-height: 9rem; }
.participacion .enco-tarjeta__num { font-size: clamp(3rem, 2.2rem + 2.5vw, 4.5rem); line-height: 0.85; }
.participacion .enco-tarjeta__titulo { margin-top: auto; font-size: clamp(1.5rem, 1.2rem + 0.8vw, 1.9rem); }
.llamado {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--enco-esp-3) var(--enco-esp-5);
  margin-top: var(--enco-esp-7);
  font-family: var(--enco-fuente-titulo);
  font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.25rem);
  letter-spacing: var(--enco-tracking-rotulo);
  text-transform: uppercase;
  line-height: 1;
}
.llamado a { color: var(--enco-acento); text-decoration: none; }
.llamado a:hover { text-decoration: underline; }

/* ---------- 07 · Contenido ---------- */
@media (min-width: 56rem) {
  .contenido .cabeza { display: grid; grid-template-columns: auto 1fr; gap: 0 var(--enco-esp-8); align-items: end; }
  .contenido .cabeza .enco-etiqueta { grid-column: 1 / -1; }
  .contenido .cabeza .enco-titulo { margin: 0; }
}
.pilar { margin: 0; display: flex; flex-direction: column; }
/* En celular los pilares van de dos en dos para no hacer la sección eterna */
.contenido .rejilla-4 { grid-template-columns: 1fr 1fr; }
.pilar__rotulo { font-size: clamp(1.05rem, 0.9rem + 0.5vw, 1.35rem); }
.pilar .enco-foto { --chaflan: var(--enco-chaflan-m); aspect-ratio: 3 / 4; }
.pilar__rotulo {
  display: flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.7em 0.9em 0.6em;
  background: var(--enco-naranja);
  color: var(--enco-negro);
  font-family: var(--enco-fuente-titulo);
  font-size: 1.35rem;
  letter-spacing: var(--enco-tracking-rotulo);
  text-transform: uppercase;
  line-height: 1;
}
.pilar__rotulo::before { content: ""; flex: none; inline-size: 1em; block-size: 1em; background: url("../marca/recursos/enco-flecha-negro.svg") center / contain no-repeat; }
.pilar--panel .enco-panel { flex: 1; display: flex; flex-direction: column; justify-content: space-between; gap: var(--enco-esp-5); aspect-ratio: 3 / 4; }
.pilar--panel .enco-panel img { width: 55%; margin-inline: auto; margin-top: var(--enco-esp-5); }
.pilar--panel .enco-panel p { margin: 0; font-weight: 700; font-size: var(--enco-t-chico); line-height: 1.4; }
@media (min-width: 64rem) { .pilar--panel .enco-panel p { font-size: var(--enco-t-cuerpo); } }
.pilar--panel .pilar__rotulo { background: var(--enco-negro); color: var(--enco-naranja); }
.pilar--panel .pilar__rotulo::before { background-image: url("../marca/recursos/enco-flecha-naranja.svg"); }

.lineup { margin-top: var(--enco-esp-8); }
.lineup__proximamente { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--enco-esp-4); }
.lineup__proximamente .enco-titulo { margin: 0; }
.lineup__lista { list-style: none; margin: var(--enco-esp-5) 0 0; padding: 0; display: grid; gap: var(--enco-esp-3); }
.lineup__lista li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--enco-esp-4); }
.lineup__nombre { font-family: var(--enco-fuente-titulo); font-size: clamp(2rem, 1.4rem + 2.6vw, 3.75rem); line-height: 1; text-transform: uppercase; }
.lineup__tema { font-size: var(--enco-t-chico); color: var(--enco-tinta-suave); }

/* ---------- 08 · Alcance y resultados ---------- */
.alcance__grupos { display: grid; gap: var(--enco-esp-7); }
.alcance__cifras { display: grid; grid-template-columns: 1fr 1fr; gap: var(--enco-esp-4); }
.alcance__cifras .enco-cifra__numero { font-size: clamp(2.75rem, 2rem + 2.6vw, 4.5rem); }
.alcance__cifras .enco-cifra__rotulo { font-size: 1.25rem; }
.alcance__cifras--proyeccion { grid-template-columns: 1fr; }
.alcance__cifras--proyeccion .enco-cifra { display: grid; grid-template-columns: clamp(8rem, 5rem + 7vw, 12.5rem) 1fr; gap: var(--enco-esp-1) var(--enco-esp-5); align-items: center; }
.alcance__cifras--proyeccion .enco-cifra__numero { grid-row: span 2; }
.alcance__cifras--proyeccion .enco-cifra__rotulo { align-self: end; }
.alcance__cifras--proyeccion .enco-cifra__detalle { align-self: start; }
.alcance__impacto { margin-top: var(--enco-esp-7); padding-top: var(--enco-esp-6); border-top: 2px solid var(--enco-negro); }
.alcance__impacto .enco-lista-flechas { grid-template-columns: 1fr; gap: var(--enco-esp-4); }
.alcance__impacto .enco-lista-flechas li { font-size: 1.4rem; }
@media (min-width: 40rem) { .alcance__impacto .enco-lista-flechas { grid-template-columns: 1fr 1fr; } }
@media (min-width: 64rem) {
  .alcance__grupos { grid-template-columns: 1fr 1fr; }
  .alcance__impacto { display: grid; grid-template-columns: auto 1fr; gap: var(--enco-esp-7); align-items: center; }
  .alcance__impacto .subrotulo { margin: 0; }
  .alcance__impacto .enco-lista-flechas { grid-template-columns: repeat(4, auto); }
}

/* ---------- 09 · Premios Construye ---------- */
.premios__listas { display: grid; gap: var(--enco-esp-6); margin-top: var(--enco-esp-6); }
.premios .enco-foto { aspect-ratio: 1598 / 822; }
.premios__sello { display: grid; grid-template-columns: auto 1fr; gap: var(--enco-esp-5); align-items: center; margin-top: var(--enco-esp-6); }
.premios__sello img { width: clamp(7rem, 5rem + 6vw, 10rem); }
.premios__sello p { margin: 0; }
@media (min-width: 40rem) { .premios__listas { grid-template-columns: 1.2fr 1fr; } }
@media (min-width: 64rem) { .premios .dos-columnas { grid-template-columns: 1fr 1fr; align-items: start; } }

/* ---------- 10 · Aliados estratégicos ---------- */
.aliados__dato { display: grid; grid-template-columns: auto 1fr; gap: 0 var(--enco-esp-4); align-items: center; margin-top: var(--enco-esp-7); }
.aliados__dato .enco-cifra__numero { grid-row: span 2; }
.aliados__dato .enco-cifra__rotulo { align-self: end; }
.aliados__panel .enco-aliados { margin-top: var(--enco-esp-6); grid-template-columns: repeat(2, 1fr); gap: var(--enco-esp-6) var(--enco-esp-5); }
@media (min-width: 40rem) { .aliados__panel .enco-aliados { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 64rem) { .aliados .dos-columnas { grid-template-columns: 0.85fr 1.15fr; } }

/* ---------- 11 · Aparta tu espacio ---------- */
.venta__precios { display: grid; gap: var(--enco-esp-4); margin-top: var(--enco-esp-6); }
.venta__incluye { display: flex; flex-wrap: wrap; align-items: center; gap: var(--enco-esp-3); margin: var(--enco-esp-6) 0 0; font-family: var(--enco-fuente-titulo); font-size: 1.4rem; letter-spacing: var(--enco-tracking-rotulo); text-transform: uppercase; line-height: 1; }
.venta__incluye strong { padding: 0.35em 0.6em 0.25em; background: var(--enco-blanco); color: var(--enco-negro); font-weight: 400; }
.venta__informes { margin-top: var(--enco-esp-6); }
.venta__informes .subrotulo { display: flex; align-items: center; gap: 0.4em; }
.venta__contacto { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--enco-esp-2); font-size: 1.15rem; font-weight: 700; }
.venta .enco-foto { aspect-ratio: 2336 / 1744; }
@media (min-width: 64rem) {
  .venta .dos-columnas { grid-template-columns: 1fr 1.15fr; align-items: stretch; }
  .venta .enco-foto { aspect-ratio: auto; min-height: 100%; }
}

/* ---------- 12 · Contacto ---------- */
.contacto__linea { margin: 0 0 var(--enco-esp-6); font-family: var(--enco-fuente-titulo); font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem); letter-spacing: var(--enco-tracking-rotulo); text-transform: uppercase; line-height: 1; }
.contacto__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--enco-esp-5); }
.contacto__lista span { display: block; font-family: var(--enco-fuente-titulo); font-size: 1rem; letter-spacing: var(--enco-tracking-etiqueta); text-transform: uppercase; line-height: 1; margin-bottom: 0.3em; }
.contacto__lista a { font-size: clamp(1.15rem, 1rem + 0.5vw, 1.4rem); font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.contacto__lista a:hover { text-decoration: underline; }
.contacto__visual { display: flex; align-items: flex-end; justify-content: center; min-height: 16rem; }
.contacto__visual img { width: min(100%, 13rem); }
@media (min-width: 56rem) { .contacto__visual img { width: min(100%, 20rem); } }
@media (min-width: 56rem) {
  .contacto .dos-columnas { grid-template-columns: 1fr 1fr; align-items: stretch; }
  .contacto__visual { min-height: 30rem; }
}

/* ---------- Pie ---------- */
.pie { padding-block: var(--enco-esp-8) var(--enco-esp-6); background: var(--enco-negro); color: var(--enco-blanco); }
.pie__fila { display: grid; gap: var(--enco-esp-6); align-items: end; }
.pie__lema { margin: var(--enco-esp-5) 0 0; font-family: var(--enco-fuente-titulo); font-size: clamp(2.5rem, 1.8rem + 3vw, 4.5rem); line-height: 0.92; text-transform: uppercase; }
.pie__lema em { font-style: normal; color: var(--enco-naranja); }
.pie__fecha { margin: var(--enco-esp-4) 0 0; font-family: var(--enco-fuente-titulo); font-size: 1.35rem; letter-spacing: var(--enco-tracking-rotulo); text-transform: uppercase; line-height: 1; --enco-acento: var(--enco-naranja); }
.pie__contacto { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--enco-esp-2); font-weight: 700; }
.pie__contacto a { text-decoration: none; }
.pie__contacto a:hover { color: var(--enco-naranja); }
.pie__aliados { margin-top: var(--enco-esp-7); padding-top: var(--enco-esp-6); border-top: 1px solid var(--enco-grafito); }
.pie__aliados img { width: 100%; }
.pie__credito { margin: var(--enco-esp-6) 0 0; font-size: var(--enco-t-chico); color: var(--enco-gris); }
@media (min-width: 56rem) { .pie__fila { grid-template-columns: 1fr auto; } }
/* La barra de aliados es muy ancha: en celular se desliza de lado para que no quede ilegible */
@media (max-width: 56rem) {
  .pie__aliados { overflow-x: auto; }
  .pie__aliados img { width: auto; height: 1.75rem; max-width: none; }
}

.aliados__panel .enco-aliados img.aliado-cuadrado { max-height: 4.75rem; }

/* ---------- Pilar con foto destacada (Encuentro de Negocios) ---------- */
.pilar--destacado .pilar__rotulo { background: var(--enco-negro); color: var(--enco-naranja); }
.pilar--destacado .pilar__rotulo::before { background-image: url("../marca/recursos/enco-flecha-naranja.svg"); }
.pilar__nota {
  position: absolute;
  inset: auto 0 0 0;
  margin: 0;
  padding: var(--enco-esp-3) var(--enco-esp-4);
  padding-right: calc(var(--enco-chaflan-m) + var(--enco-esp-2));
  background: var(--enco-negro);
  color: var(--enco-blanco);
  font-size: var(--enco-t-chico);
  font-weight: 700;
  line-height: 1.35;
}

/* ---------- Galería en movimiento ---------- */
.galeria { display: grid; gap: var(--enco-esp-4); padding-block: var(--enco-esp-4); background: var(--enco-negro); overflow: hidden; }
.galeria__fila { overflow: hidden; }
.galeria__pista { display: flex; gap: var(--enco-esp-4); width: max-content; margin: 0; padding: 0; list-style: none; }
.galeria__pista li { flex: none; width: clamp(14rem, 10rem + 14vw, 26rem); aspect-ratio: 3 / 2; overflow: hidden; clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--enco-chaflan-m)), calc(100% - var(--enco-chaflan-m)) 100%, 0 100%); }
.galeria__pista img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Barra de avance de lectura ---------- */
.progreso { position: fixed; inset: 0 0 auto 0; z-index: 70; height: 3px; background: var(--enco-naranja); transform: scaleX(0); transform-origin: left; pointer-events: none; }

/* =========================================================
   Movimiento
   Todo lo de aquí abajo se apaga con "reducir movimiento".
   El contenido nunca depende de la animación: sin JS se ve completo.
   ========================================================= */
.enco-encabezado { transition: box-shadow var(--enco-transicion); }
.enco-encabezado.con-scroll { box-shadow: 0 2px 0 var(--enco-naranja); }

@media (prefers-reduced-motion: no-preference) {

  /* Entrada de la portada */
  @keyframes sube { from { opacity: 0; transform: translateY(1.5rem); } to { opacity: 1; transform: none; } }
  @keyframes acerca { from { transform: scale(1.12); } to { transform: scale(1); } }
  .js .portada__video { animation: acerca 1800ms cubic-bezier(0.2, 0.7, 0.2, 1) both; }
  /* El video es más alto que la portada para que el parallax no deje huecos */
  .portada-b .portada__video { height: calc(100% + 8rem); top: -4rem; }
  .js .portada-b .enco-fecha > *, .js .portada-b__texto > * { animation: sube 800ms cubic-bezier(0.2, 0.7, 0.2, 1) both; }
  .js .portada-b .enco-fecha__dias { animation-delay: 150ms; }
  .js .portada-b .enco-fecha__linea { animation-delay: 300ms; }
  .js .portada-b__texto > :nth-child(1) { animation-delay: 450ms; }
  .js .portada-b__texto > :nth-child(2) { animation-delay: 600ms; }
  .js .portada-b__texto > :nth-child(3) { animation-delay: 750ms; }

  /* Aparición al hacer scroll (sitio.js marca los elementos con .revela) */
  .revela { opacity: 0; transform: translateY(2rem); transition: opacity 700ms ease, transform 800ms cubic-bezier(0.2, 0.7, 0.2, 1); transition-delay: var(--retraso, 0ms); }
  .revela.visible { opacity: 1; transform: none; }
  /* Los titulares suben desde detrás de una línea */
  .enco-titulo.revela { opacity: 1; transform: translateY(0.4em); clip-path: inset(0 0 100% 0); transition: transform 900ms cubic-bezier(0.2, 0.7, 0.2, 1), clip-path 900ms cubic-bezier(0.2, 0.7, 0.2, 1); }
  .enco-titulo.revela.visible { transform: none; clip-path: inset(-0.2em -0.2em -0.3em -0.2em); }
  /* Las fotos se descubren desde la esquina con chaflán */
  .enco-foto.revela { opacity: 1; transform: none; }
  .enco-foto.revela img { transform: scale(1.18); transition: transform 1400ms cubic-bezier(0.2, 0.7, 0.2, 1); }
  .enco-foto.revela.visible img { transform: scale(1.08); }

  /* Parallax: sitio.js mueve --desplaza */
  [data-parallax] { translate: 0 var(--desplaza, 0px); will-change: translate; }

  /* Chevrones en marcha */
  @keyframes marcha { from { -webkit-mask-position: 0 center; mask-position: 0 center; } to { -webkit-mask-position: 0.375em center; mask-position: 0.375em center; } }
  .llamado .enco-chevrones, .venta__informes .enco-chevrones, .portada-b .enco-fecha__linea .enco-chevrones:first-child { animation: marcha 900ms linear infinite; }

  /* Galería en movimiento continuo */
  @keyframes corre { to { transform: translateX(-50%); } }
  .galeria__pista { animation: corre 60s linear infinite; }
  .galeria__fila--reversa .galeria__pista { animation-direction: reverse; animation-duration: 70s; }
  .galeria__fila:hover .galeria__pista { animation-play-state: paused; }
  .galeria__pista img { transition: transform 600ms ease; }
  .galeria__pista li:hover img { transform: scale(1.06); }

  /* Respuesta al mouse */
  .enco-tarjeta { transition: transform 300ms cubic-bezier(0.2, 0.7, 0.2, 1), background-color 300ms ease; }
  .enco-tarjeta:hover { transform: translateY(-0.5rem); }
  .por-que .enco-panel:not(.enco-panel--naranja).enco-tarjeta:hover,
  .participacion .enco-tarjeta:hover { background: var(--enco-naranja); color: var(--enco-negro); --enco-acento: var(--enco-negro); --enco-tinta-suave: var(--enco-negro); }
  .enco-boton::after { transition: transform 250ms cubic-bezier(0.2, 0.7, 0.2, 1); }
  .enco-boton:hover::after { transform: translate(0.2em, -0.2em); }
  .enco-boton { transition: background-color var(--enco-transicion), transform 250ms ease; }
  .enco-boton:active { transform: scale(0.97); }
  .pilar .enco-foto img { transition: transform 900ms cubic-bezier(0.2, 0.7, 0.2, 1); }
  .pilar:hover .enco-foto img { transform: scale(1.14); }
  .enco-lista-flechas li::before { transition: transform 250ms ease; }
  .enco-lista-flechas li:hover::before { transform: translate(0.15em, -0.15em); }
  .enco-aliados img { opacity: 0.8; transition: opacity 250ms ease, transform 250ms ease; }
  .enco-aliados img:hover { opacity: 1; transform: scale(1.06); }
  .enco-nav a { background: linear-gradient(var(--enco-naranja), var(--enco-naranja)) left bottom / 0 2px no-repeat; transition: background-size 250ms ease, color 250ms ease; }
  .enco-nav a:hover, .enco-nav a[aria-current="true"] { background-size: 100% 2px; }
  .contacto__visual img { transition: transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1); }
  .contacto__visual:hover img { transform: translateX(-0.75rem) rotate(-2deg); }
  .menu-completo:not([hidden]) li { animation: sube 500ms cubic-bezier(0.2, 0.7, 0.2, 1) both; }
  .menu-completo:not([hidden]) li:nth-child(n) { animation-delay: calc(var(--i, 0) * 35ms); }
}

/* Con "reducir movimiento" la galería se puede deslizar a mano */
@media (prefers-reduced-motion: reduce) {
  .galeria__fila { overflow-x: auto; }
}

/* ---------- Ajustes de alineación ---------- */
@media (min-width: 64rem) { .contenido .rejilla-4 { grid-template-columns: repeat(4, 1fr); } }
.enco-cifra__numero { white-space: nowrap; }
/* Las cifras de una misma lista comparten columnas: los rótulos quedan alineados aunque el número sea más largo */
.saber__datos, .alcance__cifras--proyeccion { grid-template-columns: max-content 1fr; }
.saber__datos > .enco-cifra, .alcance__cifras--proyeccion > .enco-cifra { grid-column: 1 / -1; display: grid; grid-template-columns: subgrid; column-gap: var(--enco-esp-5); }

/* ---------- 04 · Tarjetas con foto real de fondo ----------
   Negro con la foto en blanco y negro, leve. Al pasar el mouse (o en la 03, siempre)
   la tarjeta se vuelve naranja y la foto se funde en negro y naranja. */
.tarjeta-foto { position: relative; isolation: isolate; overflow: hidden; }
.tarjeta-foto__img { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.15); opacity: 0.38; transition: opacity 400ms ease, transform 900ms cubic-bezier(0.2, 0.7, 0.2, 1); }
.enco-panel--naranja .tarjeta-foto__img, .tarjeta-foto:hover .tarjeta-foto__img { mix-blend-mode: multiply; opacity: 0.3; }
.tarjeta-foto:hover .tarjeta-foto__img { transform: scale(1.08); }
.tarjeta-foto .enco-tarjeta__texto { color: var(--enco-blanco); }
.enco-panel--naranja.tarjeta-foto .enco-tarjeta__texto, .tarjeta-foto:hover .enco-tarjeta__texto { color: var(--enco-negro); font-weight: 700; }
.por-que .enco-tarjeta { min-height: 11rem; }
@media (min-width: 36rem) { .por-que .enco-tarjeta { min-height: 15rem; } }
