/* ============================================================================
   cierre.css — CIERRE UNIFICADO (Moderno 2026-06-27). El mismo cierre premium
   CLARO en TODA piel (gente/inversor/portada/nichos): barra de fuentes (stat) +
   newsletter premium (panel dark) + disclaimer + footer split (marca izq / volver
   der). Se carga DESPUES de la skin (gana por orden + especificidad). La zona
   reescribe los tokens de color a la paleta CLARA, asi rinde identico sobre el
   fondo dark del inversor. Molde: un solo lugar -> las pieles nunca mas divergen.
   ============================================================================ */
/* La PALETA de la zona la define CADA SKIN en su `.cierre-zone{}` (gente=claro, despegue=oscuro): asi el
   MISMO cierre (estructura Moderno) rinde claro en gente y OSCURO en inversor/portada. Aca solo estructura.
   Tokens que cada skin debe definir: --paper --card --soft --bd --bd2 --ink --sec --dim --ac --acink
   --ac-soft --ver --pro --bad --on-ac (texto sobre el acento: #fff en claro, casi-negro en dark). */
/* ⭐ EL PIE REGLADO — 2026-08-16. La zona pasa de CAJAS ANIDADAS a BLOQUES SEPARADOS POR REGLAS.
   ⛔ EL MODELO NO ES UNA MAQUETA: es el CUERPO DE VICUÑA, que ya vive en `molde.css` — `.pyv`/`.pyi`/
   `.pyd`/`.pyq` son **filo de 2 px, sin marco, sin fondo, sin radio**. Es un port CON GENEALOGIA en
   nuestro propio codigo.
   **Se aplica en LAS DOS PIELES, y esa es la regla** (decision del usuario, 16-ago): el elemento es
   compartido, asi que su FORMA es una sola; lo unico que difiere por piel es la PALETA. Un defecto de
   estructura esta, por construccion, en las dos.
   Lo que se midio antes de tocar (identico en clara y oscura): **37 marcos** en la zona, anidado
   maximo **4** (`.cierre-zone > .capture > .cap-prov > .opt`), alto 1.143 px a 1440.
   ⚠️ Y quitarle el FONDO a esta caja es un **NO-OP visual medido**: pinta exactamente el mismo color
   que el `body` en las dos pieles (`rgb(4,5,10)` y `rgb(250,245,236)`) — mismo precedente que
   `.nm-card`/`.op-card`. Se va el marco y el radio, no un pixel de color.
   ⛔ LO QUE **NO** PIERDE SU CAJA: los CONTROLES de formulario (`.cap-mail`, `.cap-nicho`, `.cap-msg`,
   `.cap-btn`, los chips `.opt`). Un input sin caja no se lee como input — eso no es una caja de
   contenido, es la afford del control, y Vicuña no tiene equivalente que imitar. */
.cierre-zone{color:var(--ink);font-family:var(--sans);
  border-top:1px solid var(--bd);padding:34px 0 22px;margin-top:38px;
  /* (el token --cap-dot del logo del newsletter se retiro con el port de «Alta C»: el panel oscuro
     lateral que lo alojaba dejo de existir, y la marca ya vive en el header y en el pie) */
  }

/* kicker (regla 3px + azul) */
.cierre-zone .mm-kicker{display:flex;align-items:center;gap:10px;margin:0 0 13px}
.cierre-zone .mm-kicker i{width:24px;height:3px;background:var(--ac);border-radius:2px;flex:0 0 auto}
.cierre-zone .mm-kicker span{font-family:var(--mono);font-size:var(--fs-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acink)}

/* fuentes como BARRA DE STATS (summary de un details; abrir -> catalogo) */
.cierre-zone .fsrc{margin:0}
/* PIE REGLADO: la barra deja de ser caja y pasa a ser FILA — el mismo idioma que `.pyi-d>summary`
   en Vicuña (regla abajo, sin marco, sin fondo). Sigue siendo clickeable, asi que conserva su
   afford: cursor, hover teñido de acento y el CTA que se rellena. */
/* D3 (2026-08-17): la barra dejo de ser el <summary> de un <details> — el catalogo enumerado se
   retiro (ver panel_fuentes_stat). Con nada que desplegar, `cursor:pointer` y el hover eran una
   promesa de interaccion falsa, asi que caen; el resto del layout no se mueve. */
.cierre-zone .fsrc-bar{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--bd);padding:18px 2px}
.cierre-zone .fsrc-stats{display:flex;align-items:center;gap:22px;flex-wrap:wrap;flex:1 1 auto;min-width:0}
.cierre-zone .fsrc-n{font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums lining-nums}
.cierre-zone .fsrc-n.ac{color:var(--acink)}
.cierre-zone .fsrc-n.ok{color:var(--ver)}
.cierre-zone .fsrc-l{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin-top:4px}
.cierre-zone .fsrc-div{width:1px;height:34px;background:var(--bd)}
/* D3: el `max-width:210px` estaba calculado contra el CTA «abrir el catalogo», que ocupaba el
   extremo derecho de la barra. Sin el, la nota quedaba partida en dos lineas con ~500 px muertos al
   lado. `margin-left:auto` la manda al extremo que ocupaba el boton — mismo ritmo de lectura de
   antes (numeros a la izquierda, la afirmacion a la derecha) y sin hueco. */
.cierre-zone .fsrc-note{font-size:var(--fs-body);line-height:1.35;color:var(--sec);max-width:260px;
  margin-left:auto}
/* ...pero en movil los stats ya envuelven a dos filas y la nota cae sola: ahi `margin-left:auto` la
   manda al borde derecho de una linea vacia, que se lee como un desprendido. Vuelve al flujo. */
@media (max-width:640px){.cierre-zone .fsrc-note{margin-left:0;max-width:none}}
.cierre-zone .fsrc-note.compact{max-width:none;flex:1 1 auto}
.cierre-zone .fsrc-note b{color:var(--ink);font-weight:700}

/* ===== la BARRA DE COMPOSICION del catalogo vivia aca y SE RETIRO el 2026-08-16 =====
   Decision del usuario, y el motivo no fue estetico: **repetia lo que esta dos centimetros abajo**.
   Medido sobre el render: el TOTAL salia 3 veces (kicker · suma de la barra · stat «FUENTES
   REGISTRADAS») y «oficiales» 2 veces CON EL MISMO NUMERO EXACTO — `g_oficial` y `n_of` son el
   mismo conjunto. `IDENTIDAD §2` regla 8: cada dato se cuenta UNA vez por pagina.
   El motivo por el que estas ~14 reglas se BORRAN y no se comentan: verificado que **0 paginas**
   emiten `gc-bar`/`gc-seg` dentro de `.cierre-zone`, asi que serian reglas que no matchean nunca —
   la trampa que `RUNBOOK-PORT-DISENO §3` registra, donde el comentario queda como prueba falsa de
   que algo esta resuelto.
   ⚠️ **Y una de ellas ya estaba muerta ANTES de este cambio:** el bloque `@media(max-width:1000px)`
   scopeado a `.cierre-zone .py-cta` matcheaba **0 paginas** —`py-cta` es de la pagina de proyecto,
   que esta despublicada—, o sea que nunca se aplico.
   ⛔ Lo que NO se toca: el grafico TAM del nicho (`.gcomp .gc-bar`), que vive en `nicho.css` y sigue
   emitiendose en 82 paginas. Es otro componente que comparte nombre de clase.
   ⛔ Y el filo de color por fila del catalogo (`src-g-*`, mas arriba) SE QUEDA: ayuda a escanear la
   columna TIPO/Type, que ya esta escrita en las 195 paginas. Una leyenda de colores se evaluo
   renderizada y se descarto porque **volvia a meter el eco** («80 oficiales» debajo del stat). */
/* ===== el CATALOGO ENUMERADO de fuentes vivia aca y SE RETIRO el 2026-08-17 (D3) =====
   Decision del usuario. La barra de stats se queda; lo que cae es el `<details>` con la TABLA de
   todas las fuentes (URL + tipo + confiabilidad, ordenadas), que no era «la fuente al lado de la
   cifra» —el activo, intocado— sino el INDICE: el mapa de donde esta el dato.
   Medido antes de cortar, sobre el render: la pagina de nicho publicaba 44 URLs primarias y sus
   sellos citaban 6; las otras 38 vivian solo en el catalogo. En las 147 paginas ES: 954 -> 726.
   Lo que se retira no es volumen (24%), es ORDEN: el catalogo las entregaba CLASIFICADAS.
   Se BORRAN ~50 reglas (`.fsrc-cta*`, `.fsrc-cat*` y su `@media` de 640) en vez de comentarlas,
   por el mismo criterio que la barra de composicion de arriba: reglas que no matchean nunca son la
   trampa de `RUNBOOK-PORT-DISENO §3` — el comentario queda como prueba falsa de que algo esta vivo.
   ⛔ Lo que NO se toca: `a.src` fuera de `.fsrc-cat` (vive en ~200 lugares del sitio) y el sello de
   cada cifra, que sigue linkeando a SU primaria. `parte_titulo_fuente()`/`tabla_fuentes()` quedan en
   el generador sin llamador: son el material con el que se arma la version privada del catalogo
   (§tarea D4), no restos. */

/* ============================================================================
   ALTA / newsletter — port de «Alta C - Segun quien seas», 14a vuelta 2026-08-13.
   Elegida sobre «Alta A - Reglada» (re-skin: dejaba intacta la grilla de 24 provincias, que es
   ~200px de los 749 que medía el bloque) y sobre «Alta B - Tres pasos» (pone el EMAIL PRIMERO y
   el resto «opcional»: buena idea de conversion, pero REORDENA una estructura decidida con el
   usuario el 2026-06-13 — queda anotada como pregunta de producto, no se ejecuta de paso).
   Las 3 ganancias, todas medidas:
    (1) las 24 provincias se pliegan en un <details> (mismo patron que los bloques 7-13 del molde);
    (2) cada perfil se lleva SU descripcion — antes las tres vivian en una sola linea colgada
        debajo del input de busqueda, lejos de los botones que describen;
    (3) el panel oscuro lateral desaparece: su altura la fijaba el form, asi que sobraba aire.
   ⛔ PERIMETRO: la maqueta traia ademas el colofon del pie (linea verde + meta legal). Eso NO es
   `capture()` — es territorio de la familia `Cierre A/B/C`, sin abrir. No se toco.
   ============================================================================ */
/* PIE REGLADO: el boletin es el bloque de mayor jerarquia de la zona (es el CTA), asi que se lleva
   el FILO DE ACENTO de `.pyv` — 2 px, 26 px de sangria, sin marco, sin fondo, sin sombra. */
/* `scroll-margin-top` (2026-09-16): desde la ficha de norma se llega acá por un atajo `#sumate`
   que está en la misma página, y la barra superior es fija. Sin esto el título del formulario
   queda debajo de la barra justo cuando el lector acaba de pedir verlo. No cambia nada en reposo. */
.cierre-zone .capture{border-left:2px solid var(--ac);padding-left:26px;margin:30px 0 0;
  scroll-margin-top:70px}
/* encabezado a TODO EL ANCHO (antes era el panel oscuro de 300px) */
.cierre-zone .cap-top{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;
  flex-wrap:wrap;padding:2px 0 20px;border-bottom:1px solid var(--bd)}
.cierre-zone .cap-lead{flex:1 1 380px;min-width:0}
.cierre-zone .cap-kick{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);
  font-size:var(--fs-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--acink);margin-bottom:10px}
.cierre-zone .cap-kick i{width:22px;height:1px;background:var(--ac);flex:0 0 auto}
.cierre-zone .cap-top h2{margin:0;font-size:27px;font-weight:800;letter-spacing:-.025em;
  color:var(--ink);line-height:1.1}
.cierre-zone .cap-top p{margin:10px 0 0;font-size:var(--fs-body-lg);line-height:1.55;color:var(--sec);max-width:60ch}
.cierre-zone .cap-top p b{color:var(--ink);font-weight:700}
/* la promesa. ⚠️ ANTES ESTABA HARDCODEADA EN CSS (`.cap-head::after`, content:"SIN SPAM · UN ENVIO
   POR SEMANA") y por eso salia en ESPANOL en las 48 paginas /en/ — y ningun lint podia verlo:
   `lint_i18n_fuga` mira nodos de TEXTO, y esto era `content:`. Ahora sale de i18n. */
.cierre-zone .cap-promesa{flex:0 0 auto;display:flex;flex-direction:column;gap:5px;text-align:right;
  font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.cierre-zone .cap-nospam{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;color:var(--ver)}
.cierre-zone .cap-nospam::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ver)}
.cierre-zone .cap-form{padding:20px 0 6px}
.cierre-zone .cap-q{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:11px}
.cierre-zone .cap-k{font-family:var(--mono);font-size:var(--fs-label);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);flex:0 0 100%;margin-bottom:1px}
/* TARJETA POR PERFIL: 3 columnas iguales, cada una con rotulo + su descripcion */
/* PIE REGLADO: se va el marco y el radio. Las tres tarjetas siguen siendo CONTROLES, asi que
   conservan lo que las hace elegibles — el separador entre ellas y el filo de acento del
   seleccionado (`box-shadow:inset 3px`, mas abajo). Regla arriba y abajo en vez de caja. */
/* ⛔ `border:0` PRIMERO, y no es defensivo: `.cap-perfiles` es un `<fieldset>`, asi que sus laterales
   caen al DEFAULT DEL NAVEGADOR (`2px groove #f0f0f0`) en cuanto se deja de declarar `border` en los
   cuatro lados. La primera version de este port declaraba solo top/bottom y el bloque salia con dos
   barras grises verticales — medido con `getComputedStyle`, invisible leyendo el CSS.
   Es la SEGUNDA vez en este mismo port: en `.disc` el default lo ponia la skin, aca lo pone el UA.
   Omitir una declaracion NO es resetearla. */
.cierre-zone .cap-perfiles{border:0;border-top:1px solid var(--bd2);border-bottom:1px solid var(--bd2);
  padding:0;margin:0 0 20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
/* ⭐ (2026-09-07, decision del usuario) CUATRO PUERTAS VAN 2x2, NO 3+1. La reja de arriba se
   escribio para TRES y la mayoria de las paginas emite CUATRO: medido sobre el sitio emitido,
   681 paginas con 4 puertas contra 88 con 3. Con 4 items en 3 columnas la cuarta queda sola en su
   renglon y media reja vacia al lado — que es el mismo defecto de fila huerfana que el comentario
   del @media de abajo evita al apilar de 3 a 1.
   ⛔ Por eso el arreglo NO es cambiar el numero global: eso dejaria a las 88 paginas de 3 puertas
   en 2+1, o sea moviendo el defecto en vez de curarlo. La reja lee `data-n`, que el render emite
   con la cantidad real (`len(perfiles)`), asi que cada pagina toma la suya y una quinta puerta el
   dia que exista no rompe nada. */
.cierre-zone .cap-perfiles[data-n="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}
/* con dos columnas los bordes ya no separan solo columnas: la fila de arriba necesita su filo.
   ⛔ `nth-of-type` y NO `nth-child`: el primer hijo del fieldset es el `<legend>`, asi que
   `nth-child(2n+1)` marcaria las puertas 2 y 4 en vez de la 1 y la 3. `nth-of-type` cuenta solo
   entre `<label>`, que es lo que son las puertas. */
.cierre-zone .cap-perfiles[data-n="4"] .cap-perfil:nth-of-type(-n+2){border-bottom:1px solid var(--bd2)}
.cierre-zone .cap-perfiles[data-n="4"] .cap-perfil:nth-of-type(odd){border-right:1px solid var(--bd2)}
.cierre-zone .cap-perfiles[data-n="4"] .cap-perfil:nth-of-type(even){border-right:none}
.cierre-zone .cap-perfiles .cap-k{padding:11px 15px 0;margin:0}
.cierre-zone .cap-perfil{cursor:pointer;position:relative;display:block;border-right:1px solid var(--bd2)}
.cierre-zone .cap-perfil:last-child{border-right:none}
.cierre-zone .cap-perfil input{position:absolute;opacity:0;pointer-events:none}
/* PIE REGLADO: la tarjeta NO seleccionada pierde su fondo y queda sobre la pagina; la seleccionada
   conserva `--ac-soft` + el filo de acento (mas abajo). Asi el color deja de ser decoracion de caja
   y pasa a significar UNA sola cosa: cual elegiste. */
.cierre-zone .cap-p{display:flex;flex-direction:column;gap:5px;height:100%;padding:15px 17px 16px;
  transition:.13s}
.cierre-zone .cap-perfil:hover .cap-p{background:var(--ac-soft)}
.cierre-zone .cap-p-lbl{font-size:var(--fs-body-lg);font-weight:700;letter-spacing:-.012em;color:var(--sec);line-height:1.25}
.cierre-zone .cap-p-sub{font-size:var(--fs-body-sm);line-height:1.5;color:var(--dim)}
.cierre-zone .cap-perfil input:checked+.cap-p{background:var(--ac-soft);box-shadow:inset 3px 0 0 var(--ac)}
.cierre-zone .cap-perfil input:checked+.cap-p .cap-p-lbl{color:var(--acink)}
.cierre-zone .cap-perfil input:checked+.cap-p .cap-p-sub{color:var(--sec)}
.cierre-zone .cap-perfil input:focus-visible+.cap-p{outline:2px solid var(--ac);outline-offset:-2px}
/* dos columnas: izq lo que el lector ESCRIBE, der lo que ELIGE + el envio */
.cierre-zone .cap-cols{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.cierre-zone .cap-col{display:flex;flex-direction:column;min-width:0}
.cierre-zone .cap-col .cap-send{margin-top:auto}
/* las 24 provincias, PLEGADAS. El resumen dice lo elegido sin abrir; el JS lo actualiza al tocar
   los chips y, sin JS, sigue siendo cierto al cargar (degradado honesto). */
/* PIE REGLADO: el `<details>` de provincias es exactamente `.pyi-d` de Vicuña — fila con regla,
   sin marco. Su fondo era otro NO-OP medido (pintaba `--paper`, el mismo color que el `body` en las
   dos pieles), asi que se va sin cambiar un pixel de color. */
.cierre-zone .cap-prov{border-top:1px solid var(--bd2);border-bottom:1px solid var(--bd2);margin-bottom:18px}
.cierre-zone .cap-prov>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;
  flex-wrap:wrap;gap:4px 10px;padding:12px 2px}
.cierre-zone .cap-prov>summary::-webkit-details-marker{display:none}
.cierre-zone .cap-prov>summary:hover{background:var(--ac-soft)}
.cierre-zone .cap-prov>summary .cap-k{flex:0 0 auto;margin:0}
.cierre-zone .cap-prov-sel{font-family:var(--mono);font-size:var(--fs-micro);color:var(--acink);font-weight:600}
.cierre-zone .cap-prov-sel:empty{display:none}
.cierre-zone .cap-prov-hint{font-family:var(--mono);font-size:var(--fs-label);color:var(--dim)}
.cierre-zone .cap-chev{margin-left:auto;font-family:var(--mono);font-size:15px;line-height:1;color:var(--ac);
  transition:transform .18s ease}
.cierre-zone .cap-prov[open] .cap-chev{transform:rotate(45deg)}
.cierre-zone .cap-prov-chips{display:flex;flex-wrap:wrap;gap:7px;padding:2px 2px 15px}
.cierre-zone .cap-prov-chips label{cursor:pointer;position:relative}
.cierre-zone .cap-prov-chips input{position:absolute;opacity:0;pointer-events:none}
.cierre-zone .cap-prov-chips .opt{display:inline-block;font-size:var(--fs-sub);font-weight:500;
  padding:6px 12px;border-radius:9px;border:1px solid var(--bd2);color:var(--sec);background:var(--card);transition:.12s}
.cierre-zone .cap-prov-chips input:checked+.opt{color:var(--on-ac);border-color:var(--ac);background:var(--ac);font-weight:700}
.cierre-zone .cap-prov-chips input:focus-visible+.opt{outline:2px solid var(--ac);outline-offset:2px}
.cierre-zone .cap-hint{font-size:var(--fs-body-sm);color:var(--dim);flex:0 0 100%;margin-top:2px}
.cierre-zone .cap-row{display:flex;gap:11px;flex-wrap:wrap}

/* LAS 3 TARJETAS SE APILAN A LOS 880px, NO A LOS 620 — reporte del usuario 2026-08-13:
   «esto esta todo amontonado encima del otro». Medido: con 3 columnas fijas la tarjeta cae a 223px a
   los 820 y a 163px a los 630, y la descripcion (una oracion de 40-60 caracteres) pasa de 2 lineas a
   4 — un muro de texto, exactamente lo que se venia a evitar. El corte esta en ~860: a 900px la
   tarjeta mide 249px y respira; abajo de eso, no.
   ⚠️ Se apila de 3 a 1, NUNCA a 2: con 3 items una grilla de 2 columnas deja una FILA HUERFANA, que
   es el mismo defecto por el que se descarto «Cajas A» en la 5a vuelta.
   ⚠️ Y el corte NO va en el @media de 620 del resto del cierre: el defecto de estas tarjetas aparece
   240px ANTES que el del resto del bloque. Un solo breakpoint para todo el componente era la causa. */
@media(max-width:880px){
  .cierre-zone .cap-perfiles{grid-template-columns:1fr}
  .cierre-zone .cap-perfil{border-right:none;border-bottom:1px solid var(--bd2)}
  .cierre-zone .cap-perfil:last-child{border-bottom:none}
  /* apiladas, el filo del seleccionado pasa a la izquierda del bloque entero y cada tarjeta necesita
     algo mas de aire vertical: el borde de 1px ya no separa columnas sino renglones de lectura. */
  .cierre-zone .cap-p{padding:13px 16px 14px;gap:3px}
  .cierre-zone .cap-p-sub{max-width:62ch}
}
.cierre-zone .cap-mail{flex:1;min-width:220px;background:var(--paper);border:1.5px solid var(--bd2);border-radius:10px;padding:13px 16px;font:15px var(--sans);color:var(--ink)}
.cierre-zone .cap-mail::placeholder{color:var(--dim)}
.cierre-zone .cap-mail:focus{outline:none;border-color:var(--ac)}
/* campo abierto de nicho de interes (lead segmentado: en pagina de nicho viene prellenado con ese nicho).
   OJO: .cap-q input{opacity:0;position:absolute} oculta los radios/checkboxes -> hay que RE-MOSTRAR este
   input de texto con mayor especificidad (.cap-q .cap-nicho), si no queda invisible (bug visto en vivo). */
.cierre-zone .cap-q-nicho{align-items:flex-start;margin-top:11px}
.cierre-zone .cap-q .cap-nicho{position:static;opacity:1;pointer-events:auto;flex:0 0 100%;
  background:var(--paper);border:1.5px solid var(--bd2);border-radius:10px;padding:12px 16px;
  font:15px var(--sans);color:var(--ink);margin-top:8px}
/* la web va PEGADA al nombre de la empresa: son un par (Q3, 2026-09-03), y con el mismo margen de
   8 px que el resto se leian como dos preguntas distintas. */
.cierre-zone .cap-q .cap-web{margin-top:6px}
.cierre-zone .cap-q .cap-nicho::placeholder{color:var(--dim)}
.cierre-zone .cap-q .cap-nicho:focus{outline:none;border-color:var(--ac)}
/* texto libre "contanos tu caso" (pedido usuario 2026-07-05: el formato cerrado perdia contactos/
   oportunidades). textarea, mismo look que .cap-nicho; resize solo vertical. */
.cierre-zone .cap-q .cap-msg{position:static;opacity:1;pointer-events:auto;flex:0 0 100%;
  background:var(--paper);border:1.5px solid var(--bd2);border-radius:10px;padding:12px 16px;
  font:15px/1.5 var(--sans);color:var(--ink);margin-top:8px;resize:vertical;min-height:74px}
.cierre-zone .cap-q .cap-msg::placeholder{color:var(--dim)}
.cierre-zone .cap-q .cap-msg:focus{outline:none;border-color:var(--ac)}
.cierre-zone .cap-btn{font:700 15px var(--sans);background:var(--ac);color:var(--on-ac);border:none;border-radius:10px;padding:13px 28px;cursor:pointer;min-height:44px}
.cierre-zone .cap-btn:hover{filter:brightness(1.07)}
/* F5 de T84 (2026-08-24): los tres mensajes de estado alcanzan tambien al formulario propio de
   `proyectos/proveedores.html` (`.pv-form`). Solo `.pv-form .cap-row` habia sido extendida en su
   dia (despegue.css), asi que ok/err/off salian los tres del mismo gris heredado: el "Listo,
   quedaste anotado" sin el verde y el error sin el rojo. Es latente -- los tres van con `hidden`
   y los revela el JS al enviar --, o sea que fallaba justo cuando el form tiene que comunicar.
   ⚠️ El LAYOUT de ese form no se toca: es diseno propio y deliberado. Esto es solo color. */
.cierre-zone .cap-ok,.pv-form .cap-ok{margin-top:12px;font-size:var(--fs-body);font-weight:700;color:var(--ver)}
/* consentimiento RGPD del form (⚖️ 2026-07-17): una linea, link a privacidad.html */
/* min-height 24px = piso AA de WCAG 2.5.8. Este `label` ES el area de toque del checkbox de
   consentimiento y medía 20-21 px en movil, en las 197 paginas que llevan el cierre — el control
   mas chico de todo el sitio, y el unico obligatorio para mandar el formulario. Medido con
   `pipeline/barrido_render.py` (control total, 2026-08-13). */
.cierre-zone .cap-legal{margin-top:10px;font-size:var(--fs-micro);color:var(--dim);display:flex;gap:7px;align-items:flex-start;cursor:pointer;min-height:24px}
.cierre-zone .cap-legal input{flex:0 0 auto;margin:1px 0 0;accent-color:var(--acink)}
.cierre-zone .cap-legal a{color:var(--acink);text-decoration:none;font-weight:600}
/* estados honestos del form (C3 2026-07-09): sin endpoint no se simula el alta; error deja reintentar */
.cierre-zone .cap-off,.pv-form .cap-off{margin-top:12px;font-size:var(--fs-body);font-weight:700;color:var(--dim)}
.cierre-zone .cap-err,.pv-form .cap-err{margin-top:12px;font-size:var(--fs-body);font-weight:700;color:var(--bad)}

/* PIE REGLADO: el disclaimer pasa de caja a FILO neutro — el patron de `.pyi` en Vicuña.
   ⭐ Y de paso cierra una deuda anotada aparte (`tareas.md §🎨 A5c`): usaba **radio 13**, que no esta
   en la escala del molde [4·5·6·8·9·10·12·14·18]. Al no haber caja, el radio desaparece por
   construccion — no hay que elegirle un valor. */
/* ⛔ ACA HAY QUE RESETEAR, NO SOLO OMITIR — y es la trampa de la clase PRESTADA: `.disc` no es del
   cierre, es una clase general que **las dos pieles definen sin scope** (`despegue.css:772`,
   `despegue-gente.css:262`) con `background` + `border` + `border-radius`. Quitar la declaracion de
   aca deja vivas las de la skin: la primera version de este port se veia con el marco puesto igual.
   Se declara el reset explicito. (Verificado con el resto de la zona: `.capture`, `.cap-*` y
   `.fsrc-*` son exclusivas de esta hoja, asi que ahi omitir SI alcanza.) */
/* ⭐ 2026-09-12 (decision del usuario) — EL DESCARGO NO ES UN BLOQUE, ES UNA NOTA AL PIE.
   Tenia el filo de 2 px con 26 px de sangria que lo dibujaba como un bloque propio, y la
   tipografia de PROSA DE LECTURA (`--fs-body-lg`, el escalon mas grande del cuerpo). A 1366 eso
   eran 70 px de alto para dos frases que no aportan, y 96 en el telefono.
   ⛔ NO BAJA DE 15,5 px: `lint_cuerpo_prosa` tiene ahi su piso duro para todo lo que se lee, y
   `--fs-body` ES el escalon de NOTA — el rol exacto de este bloque. Se achica lo que se puede
   achicar sin dejar de poder leerse. */
.cierre-zone .disc{background:none;border:0;border-radius:0;
  padding:0;margin:20px 0 0;font-size:var(--fs-body);line-height:1.45;color:var(--dim)}
.cierre-zone .disc b{color:var(--sec);font-weight:600}
.cierre-zone .disc .src{color:var(--acink);text-decoration:none;font-weight:600}

/* footer SPLIT: marca a la izquierda, 'volver a la portada ->' a la derecha */
.cierre-zone .foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:var(--fs-micro);color:var(--dim);margin:22px 0 0;padding-top:16px;border-top:1px solid var(--bd);text-align:left}
.cierre-zone .foot .src{color:var(--acink);text-decoration:none}
.cierre-zone .foot b{color:var(--acink);font-weight:600}

@media(max-width:620px){
  /* PIE REGLADO en movil: la sangria de 26 px del filo es cara cuando el ancho util son 320 —
     se baja a 14, que es lo que hace `.pyi-dbody` en `molde.css` a 640. El filo se queda: es lo
     que dice de que bloque es cada cosa cuando no hay marco. */
  .cierre-zone{padding:26px 0 18px}
  .cierre-zone .capture{padding-left:14px}
  .cierre-zone .fsrc-bar{gap:14px;flex-wrap:wrap}
  .cierre-zone .fsrc-div{display:none}
  .cierre-zone .fsrc-stats{gap:18px}
  .cierre-zone .fsrc-cta{flex:0 0 100%;text-align:center}
  /* ALTA en movil (port «Alta C», 14a vuelta): las 3 tarjetas de perfil y las 2 columnas se
     apilan. La grilla de 3 a 320px daria ~93px por tarjeta y la descripcion quedaria en una
     palabra por linea — el mismo defecto que el catalogo de fuentes tenia a 390. */
  .cierre-zone .cap-top{padding:2px 0 16px;gap:14px}
  .cierre-zone .cap-top h2{font-size:23px}
  /* ⛔ `flex:0 0 auto` (regla de escritorio) le prohibe encogerse, asi que la franja tomaba SIEMPRE
     el ancho de su texto: con el plazo puesto el 2026-09-03 («te contestamos en 48 h habiles», 30
     caracteres en monoespaciada con letter-spacing) medía 358 px y a 320 y 360 px se salia de la
     pantalla Y hacia scrollear la pagina al costado. Medido en las 3 familias de pagina antes y
     despues. `1 1 100%` + `min-width:0` la dejan partir en dos lineas, que es lo que ya hace el
     `flex-wrap` de al lado. A 390 px entraba por 4 px — o sea que el defecto existia igual, sólo
     que el telefono chico no estaba en la captura. */
  .cierre-zone .cap-promesa{text-align:left;flex-direction:row;gap:12px;flex-wrap:wrap;
    flex:1 1 100%;min-width:0}
  .cierre-zone .cap-nospam{justify-content:flex-start}
  .cierre-zone .cap-form{padding:18px 0 4px}
  .cierre-zone .cap-cols{grid-template-columns:1fr;gap:0}
  .cierre-zone .cap-prov-chips .opt{padding:8px 13px}
  .cierre-zone .cap-row{flex-direction:column}
  .cierre-zone .cap-btn{width:100%}
  .cierre-zone .foot{justify-content:flex-start}
}

/* ═══ MEDIDA DE LINEA — una regla, no treinta y cuatro (decision del usuario, 2026-08-31) ═══
   Va aca porque `cierre.css` es la ULTIMA hoja de LAS DOS pieles: una sola declaracion cubre las
   407 paginas y no hay que tocar los 25 moldes uno por uno.

   ⛔ EL NUMERO NO SE ELIGE, SE COPIA DE VICUNA, que es la referencia que fijo el usuario: 1.200 px
   de contenido con cuerpo 16,5 y altura de linea 1,70 dan **89 caracteres**. No sale de contar cual
   es el ancho mas repetido del repo (habia cinco distintos: 964 · 988 · 1.164 · 1.244 · 1.280).

   POR QUE VA POR ELEMENTO Y NO POR LISTA DE CLASES: enumerar clases dejaba **177 de 374 paginas
   afuera**, porque lo que mas se pasa de largo son los parrafos y las vinetas SIN clase (391 y 134
   paginas). Un tope en PIXELES tampoco sirve: no limita el renglon, limita el ancho -- con letra de
   14,5 px, 780 px son 104 caracteres; con 17 px, son 88.

   ⚠️ `main` ademas de `.page` porque el molde de oficio (42 paginas) es el unico que no envuelve en
   `.page`. Y `min(100%, ...)` para que en movil mande el ancho disponible, no la medida.

   MEDIDO ANTES DE APLICARLA (barrido de 14 anchos sobre el CSS): **31 hallazgos antes = 31 despues**
   ⇒ no rompe ningun layout. Lo unico que se mueve es `hub-trabajo`, que pasa de 85 a 88 caracteres
   porque esta regla pisa un tope viejo escrito en pixeles. */
.page p, .page li, .page .disc, .page .prosa,
/* ⭐ MEDIDA DE LINEA (2026-09-07, decision del usuario tras verla renderizada). `89ch` NO entregaba
   89 caracteres: `ch` es el ancho del digito «0», mucho mas ancho que la letra promedio del
   castellano, asi que el tope ni siquiera llegaba a morder — el parrafo lo limitaba su contenedor y
   salia a **116 caracteres** por renglon (medido en `proyectos/agua-rica`; `/metodo`, 107).
   ⛔ EL VALOR NO ES 68ch, y eso se decidio MIRANDO las paginas enteras, no el numero: con 68ch la
   ficha quedaba en 84 caracteres —bien— pero `/metodo` bajaba a 66 y la caja se despegaba de lo que
   tiene al lado. Con **63ch** la ficha da **77** y `/metodo` no queda flaca. Lo comodo para leer
   esta entre 60 y 90.
   ⚠️ Se revierte cambiando este numero: no hay nada mas que tocar en las 407 paginas. */
main p,  main li,  main .disc,  main .prosa{max-width:min(100%,63ch)}
/* ⛔ EL DESCARGO DEL CIERRE NO ES PROSA DE LECTURA y no le aplica la medida de linea (decision del
   usuario, 12-sep: «es una linea, no quiero que tenga doble linea»). Es una nota al pie, del mismo
   rol que el `.foot` que viene abajo, y el tope de 63ch la partia en dos renglones a cualquier
   ancho. Sin tope entra en UNA a partir de ~1100 px. */
.cierre-zone .disc{max-width:none}

/* ⭐ LA MEDIDA DE LECTURA NO APLICA A LAS FILAS DE ENLACES NI DE BOTONES (2026-09-12).
   `main p{max-width:63ch}` las limitaba a 472 px por ser parrafos, aunque no son prosa: la
   cuarta entrada de una fila de cuatro caia sola a un segundo renglon con 800 px libres. */
main .hd-bif,main .hd-bif-inst,main .prod-cta,main .cap2-otras,main .share{max-width:none}

/* ⭐ EL FINAL DE LA PORTADA COMO PRIMER PASO (2026-09-12, pasada visual del molde 1).
   Vive al pie de la portada y NO lo hereda ningun otro molde: la hoja de nicho, la ficha de
   proyecto y la pagina de provincia siguen con el cierre de siempre hasta que se revise cada uno.
   ⚠️ Va escrito con el vocabulario de la ZONA —`--ink --sec --dim --bd --card --ac --ac-soft`, los
   que cada piel define en su propio `.cierre-zone{}`— y no con los globales de la piel oscura: el
   dia que se replique, la piel clara lo rinde bien sin tocar una linea.
   ⛔ EL BLOQUE DEL PRODUCTO NO ESTA ACA, y el motivo se pago en pantalla: `#producto` es HERMANO de
   `.cierre-zone`, no hijo. Prefijarlo con `.cierre-zone` dejo el bloque entero sin una sola regla
   —sin marco, sin relleno y con los dos botones pegados— y los controles no lo vieron porque la
   clase existia. Su CSS vive en la PIEL (`despegue.css`), que es donde vive el bloque. */

/* El final: dos campos, que buscas y el boton que dice el resultado.
   ⛔ El correo se queda y sigue siendo obligatorio: sin el no hay donde contestar, y el sitio no
   tiene un segundo paso donde pedirlo. */
.cierre-zone .cap2{border:1px solid var(--bd);border-radius:14px;padding:24px 26px;margin:26px 0 0;
  background:linear-gradient(180deg,var(--ac-soft),transparent 70%)}
/* ⭐ LA COLUMNA DERECHA LLEVA LA FOTO DEL INFORME (decision del usuario, 12-sep): estaba vacia y
   el formulario pide dos datos sin mostrar nunca que se recibe a cambio. Es la MISMA foto de la
   hoja 1 que publica `/para-empresas` —la hace `generar_ejemplo.py`, aca solo se enmarca— y el
   clic lleva al documento real, nunca a una imagen suelta.
   ⚠️ Se ASOMA, no se publica entera: la hoja mide 1.123 px de alto a tamano real y meterla completa
   duplicaba el bloque. Se corta arriba y el degradado dice que sigue. */
/* ⭐ LA HOJA ACOMPAÑA AL FORMULARIO DE ARRIBA A ABAJO (decisión del usuario, 2026-09-16): *«se para
   a la mitad y no se ve bien»*. Tenía dos defectos a la vez — se cortaba a 290 px fijos, así que
   terminaba antes que el formulario y dejaba un hueco, y la columna era tan angosta (332 px) que el
   informe no se leía.
   ⇒ La columna pasa de `1.55fr / 1fr` a `1.25fr / 1fr` —la hoja gana 200 px de ancho, de 332 a 533,
   y el formulario se queda con 667, de sobra— y la imagen llena el alto que le deja el formulario.
   ⛔ El truco está en que la imagen NO APORTE alto: va posicionada dentro del hueco. Probado al
   derecho primero: con `max-height:none` a secas la hoja entera (726 px) empujaba la fila y el
   bloque pasaba de 376 a 705 px, que es exactamente lo que el tope de 290 venía a evitar.
   ⛔ Y NO se resolvió escalando la imagen: probado con `scale(1.16)`, se lee mejor pero recorta los
   márgenes de la hoja y el encabezado sale cortado («ESPEGUE ARGENTINA»). Más ancho da el mismo
   tamaño de letra sin recortar nada.
   ⚠️ El degradado del final se queda: la hoja sigue cortándose abajo, sólo que más abajo. */
.cierre-zone .cap2-cols{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:30px;
  align-items:stretch}
/* ⭐ 2026-09-17 · LA HOJA VA SIN CAJA, como en /para-empresas y en el ejemplo desde el 8-sep: papel
   blanco apoyado sobre el fondo, con su sombra. El recuadro de antes le ponia un segundo marco al
   documento —caja + borde de la imagen— y lo hacia parecer una tarjeta de la pagina en vez del
   entregable. Decision del usuario mirando la ficha de norma en el telefono. */
.cierre-zone .cap2-ej{display:flex;flex-direction:column;text-decoration:none;position:relative;
  border:0;border-radius:0;overflow:visible;background:transparent;padding:0}
.cierre-zone .cap2-ej img{display:block;width:100%;height:auto}
/* ⚠️ `display:block` NO es decoracion: el envoltorio es un `<span>` —tiene que serlo, porque va
   dentro de un `<a>`— y a un elemento en linea el navegador le IGNORA el `max-height`. Sin
   esto la hoja salia entera: 726 px en vez de 290. */
.cierre-zone .cap2-ej-wrap{display:block;position:relative;flex:1 1 auto;min-height:200px;
  overflow:hidden;border-radius:3px;box-shadow:0 0 0 1px var(--bd2),0 18px 40px -16px rgba(0,0,0,.6)}
/* la hoja llena el hueco sin aportar alto (ver arriba): por eso va absoluta y con `cover`, anclada
   arriba, que es donde está el titular del informe. */
.cierre-zone .cap2-ej-wrap>img{position:absolute;left:0;top:0;width:100%;height:100%;
  object-fit:cover;object-position:top center}
/* ⚠️ El degradado va hacia BLANCO y no hacia `--paper`: lo que se desvanece es la HOJA, que es de
   papel claro, no el fondo del sitio. Con el token del fondo oscuro la parte baja de la hoja se
   veia como una sombra encima del documento en vez de una pagina que sigue. */
.cierre-zone .cap2-ej-wrap::after{content:"";position:absolute;left:0;right:0;bottom:0;height:110px;
  background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}
.cierre-zone .cap2-ej-k{display:block;font-family:var(--mono);font-size:var(--fs-micro);
  color:var(--acink);padding:10px 2px 0;border-top:0}
.cierre-zone .cap2-ej:hover .cap2-ej-wrap{box-shadow:0 0 0 1px var(--ac),0 18px 40px -16px rgba(0,0,0,.6)}
/* ⭐ LA HOJA SE ANUNCIA AL PASAR EL MOUSE (2026-09-12): en reposo es una muestra; al apuntarla dice
   que se abre. ⛔ No va fijo: el rotulo de abajo ya nombra que es y declara que la empresa es
   ficticia, y repetirlo encima seria eco sobre la propia imagen. */
.cierre-zone .cap2-ej-abrir{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);
  font-family:var(--mono);font-size:var(--fs-micro);color:var(--on-ac,#04050a);background:var(--ac);
  padding:7px 13px;border-radius:7px;white-space:nowrap;opacity:0;transition:opacity .14s;
  pointer-events:none}
.cierre-zone .cap2-ej:hover .cap2-ej-abrir,
.cierre-zone .cap2-ej:focus-visible .cap2-ej-abrir{opacity:1}
@media(hover:none){.cierre-zone .cap2-ej-abrir{display:none}}
.cierre-zone .cap2 .cap-k{font-family:var(--mono);font-size:var(--fs-tag);letter-spacing:.1em;
  text-transform:uppercase;color:var(--ac);margin-bottom:7px}
.cierre-zone .cap2 .cap-h{font-size:22px;font-weight:700;line-height:1.25;color:var(--ink);margin:0 0 8px}
.cierre-zone .cap2 .cap-lead{max-width:62ch;margin:0 0 18px;color:var(--sec)}
/* la cabecera del bloque venia en dos columnas del cierre viejo: aca va apilada */
.cierre-zone .cap2 .cap-top{display:block;padding:0;gap:0}
.cierre-zone .cap2 .cap-top p{margin:0 0 18px;max-width:62ch}
/* ⚠️ `.cap-row` es FLEX en el cierre viejo (ahi eran el input y el boton en una fila). Dentro de
   `.cap2` los hijos son bloques apilados —campos, que buscas, boton, consentimiento— y sin esto
   el consentimiento vuelve a sentarse al lado del boton, que es justo lo que se vino a separar. */
.cierre-zone .cap2 .cap-row{display:block}
.cierre-zone .cap2-campos{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;
  max-width:720px}
.cierre-zone .cap2-f{display:block}
.cierre-zone .cap2-f>span{display:block;font-family:var(--mono);font-size:var(--fs-tag);
  letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin-bottom:5px}
/* ⛔ El control conserva su caja: un input sin caja no se lee como input (la regla esta arriba). */
.cierre-zone .cap2-f input{width:100%;padding:11px 13px;border:1px solid var(--bd2);border-radius:9px;
  background:var(--card);color:var(--ink);font:inherit}
.cierre-zone .cap2-busca{border:0;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:6px 20px;
  align-items:center}
.cierre-zone .cap2-busca legend{float:left;width:100%;margin-bottom:7px}
/* ⭐ CADA OPCION ES UN CONTROL CON CAJA, TAMBIEN EN COMPUTADORA (2026-09-12). Antes la fila medía
   23 px de alto y solo el ancho de su texto: tocar o hacer clic al lado no hacia nada, y 23 esta
   por debajo del piso de 24 que el propio proyecto declara para el area tactil.
   Hereda el look de `.cap-prov-chips .opt`, que es el mismo control por funcion y ya existia. */
.cierre-zone .cap2-busca label{font-size:var(--fs-sub);color:var(--sec);display:flex;
  align-items:center;gap:8px;cursor:pointer;padding:6px 12px;min-height:34px;
  border:1px solid var(--bd2);border-radius:9px;background:var(--card);transition:.12s}
.cierre-zone .cap2-busca label:hover{border-color:var(--dim);color:var(--ink)}
.cierre-zone .cap2-busca label:has(input:checked){border-color:var(--ac);color:var(--ink);
  background:rgba(var(--ac-rgb),.10)}
.cierre-zone .cap2-busca label:has(input:focus-visible){outline:2px solid var(--ac);outline-offset:2px}
.cierre-zone .cap2-pie{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
/* ⚠️ EN SU PROPIO RENGLON, DEBAJO DEL BOTON (2026-09-12): en la misma fila los dos competian
   por la mirada, y un consentimiento que compite con el boton se firma sin leerse. */
.cierre-zone .cap2-legal{font-size:var(--fs-micro);color:var(--dim);display:flex;
  align-items:center;gap:7px;margin-top:13px;cursor:pointer}
/* ⚠️ Es una fila de enlaces, no prosa: por eso NO es un `<p>` — `lint_cuerpo_prosa` mide los `p` de
   60+ caracteres contra el piso de la escala, y a este tamano un parrafo estaria bajo el piso. */
.cierre-zone .cap2-otras{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--bd);
  font-family:var(--mono);font-size:var(--fs-micro);color:var(--dim)}
.cierre-zone .cap2-otras a{color:var(--ac)}
/* El descargo legal al final: se lee despues del formulario y antes del pie.
   ⛔ SIN raya arriba — el `.foot` que viene inmediatamente despues ya trae la suya, y dos rayas
   separadas por 50 px vuelven a dibujar la caja que el bloque acaba de perder. Lo separa el aire. */
.cierre-zone .disc-final{margin:30px 0 0}
@media(max-width:860px){
  /* la foto baja debajo del formulario y se asoma menos: en el telefono el alto es lo caro.
     ⚠️ `min-height` vuelve a 0 y manda `height`: en una sola columna el wrap ya no tiene un
     formulario al lado de quien tomar el alto, así que se fija acá y la hoja lo llena. */
  .cierre-zone .cap2-cols{grid-template-columns:1fr;gap:20px}
  .cierre-zone .cap2-ej-wrap{min-height:0;height:200px}
}
@media(max-width:700px){
  .cierre-zone .cap2{padding:18px}
  .cierre-zone .cap2-campos{grid-template-columns:1fr}
  .cierre-zone .cap2 .cap-h{font-size:19px}
  /* ⭐ EN EL TELEFONO LA CAJA OCUPA LA FILA ENTERA Y MIDE 44 px: es el alto del dedo, y a 390 px
     hay ancho de sobra. En computadora la misma caja mide 34 y se acomoda en dos filas. */
  .cierre-zone .cap2-busca{display:block;gap:0;margin-bottom:14px}
  .cierre-zone .cap2-busca label{width:100%;min-height:44px;padding:0 12px;gap:11px;margin-top:7px}
  .cierre-zone .cap2 .cap-lead{margin-bottom:14px}
  .cierre-zone .cap2 .cap-top p{margin-bottom:14px}
  .cierre-zone .cap2-campos{gap:11px;margin-bottom:14px}
  .cierre-zone .cap2-f input{padding:10px 12px}
  /* ⛔ 2026-09-17 · LA HOJA DEL INFORME OCUPA EL ANCHO DE SU CAJA, NO UNA ESTAMPILLA.
     Lo que habia: miniatura de 64 px en fila, decidido «para compactar». Visto en el telefono, el
     resultado es una caja de casi 500 px con una mancha blanca de medio centimetro en el medio: no
     se lee, no muestra el documento y hace quedar mal la unica prueba del producto que la pagina
     tiene. El bloque existe para que alguien vea COMO ES el informe.
     ⚠️ El alto se acota y se recorta desde arriba —`object-fit:cover` con `object-position:top`—
     para que la hoja se lea como una portada y no se coma la pantalla; el degradado de abajo, que
     ya estaba, cierra el corte. La foto que baja es la de 760 px (135 KB), no la de 200. */
  .cierre-zone .cap2-ej{display:block;padding:0}
  .cierre-zone .cap2-ej-wrap{display:block;width:100%;flex:none;height:318px;min-height:0;
    max-height:none;overflow:hidden}
  .cierre-zone .cap2-ej-wrap>img{object-fit:cover;object-position:top center}
  .cierre-zone .cap2-ej-wrap::after{height:64px}
  .cierre-zone .cap2-ej-k{display:block;padding:10px 2px 0;border-top:0;line-height:1.45}
}
