/* La Ballenita — diario minero. Papel blanco, tinta negra, un rojo editorial. Sin radios. */
:root {
  --papel: #ffffff;
  --papel-2: #f5f4f0;        /* franjas y pie */
  --tinta: #141414;
  --tinta-2: #4b4b4b;        /* bajadas y metadatos (8.6:1) */
  --tinta-3: #6e6e6e;        /* íconos sin enlace (5.1:1) */
  --filete: #dcdad4;
  --rojo: #b3121b;           /* marca, sección activa, ranking (6.4:1) */

  /* Las dos tipografías salen de la identidad del medio (base.html); estos son los valores por defecto. */
  --fuente-titular: "Source Serif 4", Georgia, "Times New Roman", serif;
  --fuente-texto: "Source Serif 4", Georgia, "Times New Roman", serif;
  --sans: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;

  /* Tamaños de letra. La marca puede fijar un piso y un techo (base.html pone --letra-min y --letra-max); sin ellos no cambia nada.
     Los textos corridos no bajan de 1.0625rem (DESIGN.md): su piso es el más alto de los dos. */
  --letra-min: 0px;
  --letra-max: 999px;
  --t-rotulo: max(0.75rem, var(--letra-min));
  --t-meta: max(0.8125rem, var(--letra-min));
  --t-ui: max(0.875rem, var(--letra-min));
  --t-base: max(1rem, var(--letra-min));
  --t-cuerpo: max(clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem), var(--letra-min));
  --t-bajada: max(clamp(1.125rem, 1.05rem + 0.35vw, 1.3125rem), var(--letra-min));
  --t-s: max(1.0625rem, var(--letra-min));
  --t-m: max(clamp(1.1875rem, 1.1rem + 0.35vw, 1.375rem), var(--letra-min));
  --t-l: min(clamp(1.5rem, 1.25rem + 1vw, 2.125rem), var(--letra-max));
  --t-xl: min(clamp(1.875rem, 1.35rem + 2.2vw, 3.125rem), var(--letra-max));

  --ancho: 1240px;
  --margen: clamp(16px, 3vw, 28px);
  --rapido: 160ms cubic-bezier(.2, .7, .2, 1);
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; border-radius: 0; }
html { -webkit-text-size-adjust: 100%; touch-action: manipulation; }
body { margin: 0; background: var(--papel); color: var(--tinta); font: 400 var(--t-cuerpo)/1.6 var(--fuente-texto); }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
p { margin: 0; }
h1, h2, h3 { margin: 0; }
:focus-visible { outline: 2px solid var(--rojo); outline-offset: 3px; }
::selection { background: var(--rojo); color: var(--papel); }
.saltar { position: absolute; left: -999px; }
.saltar:focus { left: var(--margen); top: 8px; z-index: 10; background: var(--tinta); color: var(--papel); padding: 10px 14px; font-family: var(--sans); }
.solo-lector { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.contenedor { max-width: var(--ancho); margin: 0 auto; padding-inline: var(--margen); }
.foto { width: 100%; height: 100%; object-fit: cover; background: var(--papel-2); }

/* Tipografía editorial */
.titular { font-family: var(--fuente-titular); font-weight: 700; letter-spacing: -0.01em; text-wrap: balance; }
.titular a:hover { color: var(--rojo); }
.titular--xl { font-size: var(--t-xl); line-height: 1.08; font-weight: 700; }
.titular--l { font-size: var(--t-l); line-height: 1.12; }
.titular--m { font-size: var(--t-m); line-height: 1.22; font-weight: 600; }
.titular--s { font-size: var(--t-s); line-height: 1.3; font-weight: 600; }
.bajada { font-size: var(--t-bajada); line-height: 1.45; color: var(--tinta-2); max-width: 62ch; }
.resumen { color: var(--tinta-2); font-size: var(--t-base); line-height: 1.5; margin-top: 6px; max-width: 62ch; }
.meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin-top: 10px; font: 500 var(--t-meta)/1.4 var(--sans); color: var(--tinta-2); font-variant-numeric: tabular-nums; }
.meta__seccion { color: var(--rojo); font-weight: 700; }
.meta__seccion:hover { text-decoration: underline; }
.rotulo-patrocinado { display: inline-block; padding: 1px 6px; border: 1px solid var(--tinta); color: var(--tinta); font: 700 var(--t-rotulo)/1.4 var(--sans); text-transform: uppercase; letter-spacing: 0.06em; }
.rotulo-patrocinado--grande { margin-bottom: 14px; font-size: var(--t-ui); }
.titulo-bloque { padding-top: 10px; border-top: 3px solid var(--tinta); margin-bottom: 18px; font: 700 var(--t-meta)/1.2 var(--sans); text-transform: uppercase; letter-spacing: 0.08em; }
.titulo-bloque a:hover { color: var(--rojo); }
.subtitulo { font: 700 var(--t-ui)/1.3 var(--sans); margin-bottom: 10px; }
.vacio-texto { color: var(--tinta-2); font-family: var(--sans); font-size: var(--t-ui); }
.texto-largo { font-size: var(--t-cuerpo); line-height: 1.65; max-width: 66ch; margin: 24px 0; }

/* Franja superior: fecha y lo más leído */
.franja { padding-block: 2px; background: var(--papel-2); border-bottom: 1px solid var(--filete); font: 500 var(--t-meta)/1.4 var(--sans); }
.franja__fila { display: flex; align-items: center; gap: 24px; min-height: 38px; }
.franja__fecha { flex: none; color: var(--tinta-2); }
.franja__fecha::first-letter { text-transform: uppercase; }
.franja__tendencias { display: flex; align-items: center; gap: 12px; min-width: 0; }
.franja__rotulo { flex: none; color: var(--rojo); font-weight: 700; }
.franja__tendencias ol { display: flex; gap: 0; margin: 0; padding: 0; list-style: none; min-width: 0; overflow: hidden; }
.franja__tendencias li { flex: none; max-width: 34ch; padding: 0 14px; border-left: 1px solid var(--filete); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.franja__tendencias li:first-child { border-left: 0; padding-left: 0; }
.franja__tendencias a:hover { color: var(--rojo); text-decoration: underline; }

/* Cabecera: redes, marca, búsqueda */
.cabecera__fila { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; padding-block: 22px 18px; }
.redes { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.redes a, .redes span { display: grid; place-items: center; width: 34px; height: 34px; }
.redes a { color: var(--tinta); transition: color var(--rapido); }
.redes a:hover { color: var(--rojo); }
.redes span { color: var(--tinta-3); }
.icono { width: 17px; height: 17px; }
.marca { display: block; font: 700 min(clamp(2.25rem, 1.4rem + 3.4vw, 4.25rem), var(--letra-max))/1 var(--fuente-titular); font-variation-settings: "opsz" 60; letter-spacing: -0.03em; color: var(--rojo); text-align: center; white-space: nowrap; }
.marca-h1 { display: grid; justify-items: center; gap: 6px; font-size: inherit; }
.lema { font: 500 var(--t-ui)/1.3 var(--sans); color: var(--tinta-2); letter-spacing: 0; }
.cabecera__buscar { justify-self: end; }
.buscar-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid var(--tinta); font: 600 var(--t-ui)/1 var(--sans); transition: background-color var(--rapido), color var(--rapido); }
.buscar-btn:hover, .buscar-btn[aria-expanded="true"] { background: var(--tinta); color: var(--papel); }
.buscador-global { border-top: 1px solid var(--filete); background: var(--papel-2); }
.buscador-global__fila { display: flex; gap: 8px; padding-block: 14px; }
.buscador-global input, .buscador input { flex: 1; min-width: 0; min-height: 48px; padding: 0 14px; border: 1px solid var(--tinta); background: var(--papel); color: var(--tinta); font: 400 var(--t-base)/1 var(--sans); }
.buscador-global button, .buscador button { min-height: 48px; padding: 0 22px; border: 0; background: var(--tinta); color: var(--papel); font: 600 var(--t-ui)/1 var(--sans); cursor: pointer; transition: background-color var(--rapido); }
.buscador-global button:hover, .buscador button:hover { background: var(--rojo); }
input::placeholder { color: #707070; }

/* Barra de secciones */
.secciones { border-top: 4px double var(--tinta); border-bottom: 1px solid var(--filete); }
.secciones__lista { display: flex; justify-content: safe center; margin: 0 auto; padding: 0; list-style: none; }
.secciones__lista li + li { border-left: 1px solid var(--filete); }
.secciones__lista a { display: block; padding: 13px 14px 11px; border-bottom: 3px solid transparent; font: 600 var(--t-ui)/1.2 var(--sans); white-space: nowrap; transition: color var(--rapido), border-color var(--rapido); }
.secciones__lista a:hover { color: var(--rojo); }
.secciones__lista a[aria-current="page"] { color: var(--rojo); border-bottom-color: var(--rojo); }

/* Portada */
.portada { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 40px; padding-block: 32px 40px; border-bottom: 1px solid var(--tinta); }
.lider__foto { display: block; aspect-ratio: 16 / 9; margin-bottom: 18px; overflow: hidden; }
.lider__foto .foto { transition: transform 600ms cubic-bezier(.2, .7, .2, 1); }
.lider__foto:hover .foto { transform: scale(1.02); }
.lider .bajada { margin-top: 12px; }
.lider--vacio { padding: 48px 0; }
.ultimo { padding-left: 32px; border-left: 1px solid var(--filete); }
.lista-ultimo { margin: 0; padding: 0; list-style: none; }
.nota-mini { display: grid; grid-template-columns: minmax(0, 1fr) 96px; gap: 14px; padding: 14px 0; border-top: 1px solid var(--filete); }
.nota-mini:first-child { border-top: 0; padding-top: 0; }
.nota-mini .meta { margin-top: 6px; }
.nota-mini__foto { aspect-ratio: 4 / 3; overflow: hidden; }

.cuerpo-portada { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 40px; padding-block: 36px 48px; }
.secciones-portada { padding-block: 0 20px; }
.cuerpo-zonas { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 40px; padding-block: 36px 48px; }
.zona--centro { display: grid; align-content: start; gap: 36px; min-width: 0; }
.zona--centro .rejilla-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* Si alguien vacía el centro o la columna, lo que queda ocupa el ancho entero: la página no deja un hueco. */
.cuerpo-zonas > .zona--centro:only-child { grid-column: 1 / -1; }
.cuerpo-zonas > .zona--centro:only-child .rejilla-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cuerpo-zonas > .lateral:only-child { grid-column: 1 / -1; }
@media (min-width: 1081px) {
  .cuerpo-zonas > .lateral:only-child { display: block; columns: 3; column-gap: 40px; }
  .cuerpo-zonas > .lateral:only-child > * { break-inside: avoid; margin-bottom: 40px; }
}
.secciones-portada__bloques { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 36px; align-content: start; }
.lista-titulares--sola { margin-top: 0; }
.lista-titulares--sola li:first-child { border-top: 0; padding-top: 0; }
.nota-media__foto { display: block; aspect-ratio: 16 / 9; margin-bottom: 12px; overflow: hidden; }
.lista-titulares { margin: 14px 0 0; padding: 0; list-style: none; }
.lista-titulares li { padding: 10px 0; border-top: 1px solid var(--filete); font: 600 var(--t-s)/1.32 var(--fuente-titular); }
.lista-titulares a:hover { color: var(--rojo); }
.lista-titulares--grande li { font-size: var(--t-m); padding: 14px 0; }

.lateral { display: flex; flex-direction: column; gap: 40px; }
.lateral .titulo-bloque a:hover { color: var(--rojo); }
.lateral__revista { display: grid; grid-template-columns: 120px minmax(0, 1fr); align-items: start; gap: 14px; font: 600 var(--t-ui)/1.3 var(--sans); }
.lateral__revista img { display: block; width: 100%; height: auto; aspect-ratio: 210 / 297; object-fit: cover; border: 1px solid var(--filete); }
.lateral__revista strong { display: block; margin-bottom: 8px; font: 600 var(--t-s)/1.3 var(--fuente-titular); }
.lateral__revista:hover strong { color: var(--rojo); }
.lateral__lista { margin: 0; padding: 0; list-style: none; }
.firma-mini { display: flex; gap: 12px; padding: 12px 0; border-top: 1px solid var(--filete); }
.firma-mini:first-child { border-top: 0; padding-top: 0; }
.firma-mini img { flex: none; width: 56px; height: 56px; object-fit: cover; }
.firma-mini__titulo { display: block; font: 600 var(--t-s)/1.3 var(--fuente-titular); }
.firma-mini__titulo:hover { color: var(--rojo); }
.firma-mini .meta { margin-top: 4px; }
.perfil { padding-block: 32px 28px; border-bottom: 1px solid var(--tinta); }
.perfil--foto { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 28px; align-items: start; }
.perfil__foto { display: block; width: 160px; height: 160px; object-fit: cover; }
.perfil__bio { margin-top: 12px; max-width: 68ch; }
.perfil .meta { margin-top: 12px; }
.mas-leido ol { margin: 0; padding: 0; list-style: none; counter-reset: leido; }
.mas-leido li { counter-increment: leido; display: grid; grid-template-columns: 34px 1fr; gap: 10px; padding: 12px 0; border-top: 1px solid var(--filete); font: 600 var(--t-s)/1.3 var(--fuente-titular); }
.mas-leido li:first-child { border-top: 0; padding-top: 0; }
.mas-leido li::before { content: counter(leido); font: 700 1.75rem/1 var(--fuente-titular); color: var(--rojo); font-variant-numeric: lining-nums; }
.mas-leido li.vacio-texto { display: block; }
.mas-leido li.vacio-texto::before { content: none; }
.mas-leido a:hover { color: var(--rojo); }

/* Busca tu mina */
.mapa-modulo { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; align-items: start; padding-block: 8px 56px; }
.mapa-modulo__texto { display: grid; gap: 18px; }
.mapa-modulo__texto .titulo-bloque { margin-bottom: 0; }
.buscador { display: grid; gap: 8px; }
.buscador label { font: 600 var(--t-ui)/1.3 var(--sans); }
.buscador__fila { display: flex; gap: 8px; }
.atajos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font: 500 var(--t-ui)/1.3 var(--sans); color: var(--tinta-2); }
.atajo { min-height: 36px; padding: 0 12px; border: 1px solid var(--filete); background: var(--papel); color: var(--tinta); font: 600 var(--t-meta)/1 var(--sans); cursor: pointer; transition: border-color var(--rapido), color var(--rapido); }
.atajo:hover { border-color: var(--tinta); color: var(--rojo); }
.buscador__resultados { display: grid; margin: 0; padding: 0; list-style: none; }
.buscador__resultados:empty { display: none; }
.buscador__resultados li { border-top: 1px solid var(--filete); }
.resultado { display: block; width: 100%; padding: 12px 0; border: 0; background: none; color: var(--tinta); text-align: left; font: inherit; cursor: pointer; }
.resultado strong { display: block; font: 700 var(--t-m)/1.2 var(--fuente-titular); }
.resultado span { display: block; margin-top: 3px; font: 500 var(--t-meta)/1.4 var(--sans); color: var(--tinta-2); }
.resultado:hover strong, .resultado[aria-pressed="true"] strong { color: var(--rojo); }
.duenos ol { margin: 0; padding: 0; list-style: none; }
.duenos li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--filete); }
.duenos span { flex: none; font: 500 var(--t-meta)/1.3 var(--sans); color: var(--tinta-2); font-variant-numeric: tabular-nums; }
.atajo--fila { min-height: 0; padding: 0; border: 0; text-align: left; font: 600 var(--t-s)/1.3 var(--fuente-titular); }
.atajo--fila:hover { color: var(--rojo); }
.buscador__todas { margin: 0; padding-left: 1.1rem; font: 400 var(--t-ui)/1.4 var(--sans); }
.mapa-modulo__mapa { margin: 0; padding: 20px; background: var(--papel-2); display: grid; justify-items: center; gap: 12px; }
.mapa { display: block; width: auto; max-width: 100%; height: min(560px, 70svh); }
.mapa__pais { fill: #e3e0d8; stroke: #b9b4a9; stroke-width: 1; }
.mapa__mina { fill: var(--tinta); transition: fill var(--rapido); }
.mapa__mina.es-resultado { fill: var(--rojo); }
.mapa__mina.es-elegida { fill: var(--rojo); stroke: var(--papel); stroke-width: 2; r: 7; }
.mapa-modulo__mapa figcaption { font: 500 var(--t-meta)/1.4 var(--sans); color: var(--tinta-2); justify-self: start; }

/* Bloque de notas (relacionadas, otras secciones) */
.bloque-notas { padding-block: 8px 56px; }
.rejilla-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }

/* Página de sección y búsqueda */
.cabecera-pagina { padding-block: 32px 24px; border-bottom: 1px solid var(--tinta); }
.cabecera-pagina .bajada { margin-top: 10px; }
.buscador--pagina { margin-top: 20px; max-width: 640px; }
.nota-destacada { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 28px; padding-bottom: 28px; border-bottom: 1px solid var(--filete); }
.nota-destacada__foto { aspect-ratio: 16 / 10; overflow: hidden; }
.nota-destacada .bajada { margin-top: 10px; font-size: var(--t-s); }
.nota-fila { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 24px; padding-block: 22px; border-bottom: 1px solid var(--filete); }
.nota-fila__foto { aspect-ratio: 16 / 10; overflow: hidden; }
.paginacion { display: flex; justify-content: space-between; gap: 16px; padding-top: 24px; font: 600 var(--t-ui)/1 var(--sans); }
.paginacion a { color: var(--rojo); text-decoration: underline; text-underline-offset: 3px; }
.vacio { padding: 24px 0; display: grid; gap: 10px; max-width: 60ch; }
.vacio a { color: var(--rojo); text-decoration: underline; }

/* Artículo */
.articulo { max-width: 760px; }
.articulo__cabecera { padding-bottom: 4px; }
.bajada--articulo { margin-top: 14px; font-style: italic; }
.meta--articulo { margin-top: 18px; padding: 10px 0; border-top: 1px solid var(--filete); border-bottom: 1px solid var(--filete); }
.meta--articulo a:not(.meta__seccion) { text-decoration: underline; text-underline-offset: 3px; }
.articulo__foto { margin: 24px 0 28px; aspect-ratio: 16 / 9; overflow: hidden; }
.articulo__cuerpo { font-size: var(--t-cuerpo); line-height: 1.7; }
.articulo__cuerpo > * { max-width: 68ch; }
.articulo__cuerpo p { margin: 0 0 1.1em; }
.articulo__cuerpo h2 { font: 700 var(--t-l)/1.2 var(--fuente-titular); margin: 1.6em 0 0.6em; }
.articulo__cuerpo a { color: var(--rojo); text-decoration: underline; text-underline-offset: 3px; }
.articulo__cuerpo blockquote { margin: 1.6em 0; padding: 18px 0; border-top: 1px solid var(--tinta); border-bottom: 1px solid var(--tinta); font: 400 italic var(--t-l)/1.35 var(--fuente-titular); }
.articulo__cuerpo figure { margin: 1.6em 0; }
.articulo__cuerpo figcaption { margin-top: 8px; font: 500 var(--t-meta)/1.4 var(--sans); color: var(--tinta-2); }
.dato { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; padding: 16px 0; border-top: 1px solid var(--filete); border-bottom: 1px solid var(--filete); }
.dato strong { font: 700 min(2.5rem, var(--letra-max))/1 var(--fuente-titular); color: var(--rojo); font-variant-numeric: lining-nums; }
.articulo__pie { margin-top: 32px; display: grid; gap: 18px; padding-top: 18px; border-top: 3px solid var(--tinta); font-family: var(--sans); }
.articulo__pie ul { margin: 0; padding: 0; list-style: none; font-size: var(--t-ui); }
.articulo__pie li { padding: 8px 0; border-top: 1px solid var(--filete); }
.articulo__pie li a { font-weight: 700; }
.articulo__pie a { text-decoration: underline; text-underline-offset: 3px; }
.aviso-ia { font: 500 var(--t-ui)/1.5 var(--sans); color: var(--tinta-2); }

/* Pie: la marca en bloques, más chica */
.pie { margin-top: 24px; padding-block: 40px 28px; background: var(--papel-2); border-top: 1px solid var(--filete); font-family: var(--sans); }
.pie__bloques { display: flex; align-items: flex-end; gap: 3px; width: min(100%, 620px); height: 56px; margin-bottom: 32px; }
.bloque { flex: 1; height: var(--alto); display: flex; align-items: flex-end; justify-content: center; padding-bottom: 4px; background: var(--tinta); color: var(--papel); font: 700 clamp(1rem, 2vw, 1.75rem)/.85 var(--fuente-titular); }
.bloque--rojo { background: var(--rojo); }
.bloque--corte { margin-right: 10px; }
.pie__columnas { display: grid; grid-template-columns: 5fr 3fr 4fr; gap: 32px; font-size: var(--t-ui); line-height: 1.5; }
.pie__titulo { font: 700 var(--t-ui)/1.3 var(--sans); margin-bottom: 12px; }
.pie ul { margin: 0; padding: 0; list-style: none; }
.pie li { margin-bottom: 6px; }
.pie__dos { columns: 2; column-gap: 24px; }
.pie a:hover { color: var(--rojo); text-decoration: underline; }
.pie__creditos { margin-top: 28px; font-size: var(--t-meta); color: var(--tinta-2); }
.pie__creditos summary { cursor: pointer; min-height: 40px; display: flex; align-items: center; font-weight: 600; color: var(--tinta); }
.pie__creditos ul { columns: 2; column-gap: 32px; }
.pie__final { margin-top: 16px; font-size: var(--t-meta); color: var(--tinta-2); }

/* Tableta */
@media (max-width: 1080px) {
  .secciones__lista { justify-content: flex-start; overflow-x: auto; scrollbar-width: thin; }
  .portada, .cuerpo-portada, .cuerpo-zonas { grid-template-columns: minmax(0, 1fr); }
  .ultimo { padding-left: 0; border-left: 0; padding-top: 24px; border-top: 3px solid var(--tinta); }
  .ultimo .titulo-bloque { border-top: 0; padding-top: 0; }
  .lateral { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
  .secciones-portada { grid-template-columns: minmax(0, 1fr); }
  .mapa-modulo { grid-template-columns: minmax(0, 1fr); }
  .mapa { height: min(480px, 60svh); }
  .pie__columnas { grid-template-columns: 1fr 1fr; }
  .pie__columnas > div { grid-column: 1 / -1; }
}

/* Teléfono */
@media (max-width: 640px) {
  .franja__fecha { display: none; }
  .franja__tendencias ol { overflow-x: auto; scrollbar-width: none; }
  .cabecera__fila { grid-template-columns: minmax(0, 1fr) auto; padding-block: 16px 12px; row-gap: 10px; }
  .marca-h1, .cabecera__fila > .marca { min-width: 0; }
  .marca { font-size: min(clamp(1.75rem, 8.4vw, 2.25rem), var(--letra-max)); line-height: 1.05; white-space: normal; overflow-wrap: break-word; }
  .marca-h1, .cabecera__fila > .marca { grid-column: 1; grid-row: 1; justify-items: start; text-align: left; }
  .cabecera__fila > .marca { justify-self: start; }
  .marca { font-size: min(2.125rem, var(--letra-max)); text-align: left; }
  .lema { font-size: var(--t-meta); }
  .cabecera__buscar { grid-column: 2; grid-row: 1; }
  .buscar-btn span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .buscar-btn { width: 44px; height: 44px; justify-content: center; padding: 0; }
  .redes { grid-column: 1 / -1; grid-row: 2; margin-left: -8px; }
  .portada { padding-block: 20px 28px; gap: 28px; }
  .secciones-portada, .secciones-portada__bloques, .lateral, .rejilla-3, .perfil--foto { grid-template-columns: minmax(0, 1fr); }
  .secciones-portada { padding-block: 24px 40px; gap: 36px; }
  .nota-destacada { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .nota-fila { grid-template-columns: minmax(0, 1fr) 104px; gap: 14px; padding-block: 16px; }
  .nota-fila .resumen { display: none; }
  .pie__bloques { height: 44px; gap: 2px; }
  .bloque--corte { margin-right: 8px; }
  .pie__columnas, .pie__creditos ul { grid-template-columns: 1fr; columns: 1; }
  .buscador-global__fila { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0ms !important; animation: none !important; }
}

/* La columna lateral acompaña la lectura en escritorio */
@media (min-width: 1081px) {
  .lateral > :last-child { position: sticky; top: 24px; }  /* lo último acompaña la lectura; una columna larga no se puede pegar entera */
}
@media (max-width: 1080px) {
  .portada { border-bottom: 0; padding-bottom: 8px; }
}

/* Formatos de nota */
.meta__formato { color: var(--tinta); font-weight: 700; }
.meta__etiqueta { color: var(--tinta-2); font-weight: 600; }
.entrevistado { margin-top: 14px; font: 500 var(--t-ui)/1.4 var(--sans); color: var(--tinta-2); }
.entrevistado strong { color: var(--tinta); margin-right: 4px; }
.articulo__foto figcaption { margin-top: 8px; font: 500 var(--t-meta)/1.4 var(--sans); color: var(--tinta-2); }
.articulo__foto:has(figcaption) { aspect-ratio: auto; }
.articulo__foto:has(figcaption) .foto { aspect-ratio: 16 / 9; height: auto; }
.articulo__video { margin: 24px 0 28px; }
.articulo__video iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; background: var(--tinta); }
.articulo__video figcaption { margin-top: 8px; font: 500 var(--t-meta)/1.4 var(--sans); color: var(--tinta-2); }
.columnista { display: grid; gap: 4px; margin: 0 0 28px; padding: 14px 0; border-top: 1px solid var(--tinta); border-bottom: 1px solid var(--filete); font-family: var(--sans); }
.columnista strong { font: 700 var(--t-m)/1.2 var(--fuente-titular); }
.columnista span { font-size: var(--t-ui); color: var(--tinta-2); }
.columnista p { font-size: var(--t-ui); color: var(--tinta-2); max-width: 60ch; }
.columnista > div { display: grid; gap: 4px; }
.columnista--foto { grid-template-columns: 88px minmax(0, 1fr); gap: 16px; }
.columnista--foto img { width: 88px; height: 88px; object-fit: cover; }
.columnista a:hover { color: var(--rojo); }
.pregunta { margin: 1.4em 0; }
.pregunta__p { margin: 0 0 0.4em !important; font: 700 var(--t-m)/1.35 var(--fuente-titular); }
.ficha { width: 100%; margin: 1.6em 0; border-collapse: collapse; font: 400 var(--t-ui)/1.4 var(--sans); }
.ficha caption { text-align: left; padding-bottom: 8px; border-bottom: 3px solid var(--tinta); font: 700 var(--t-meta)/1.2 var(--sans); text-transform: uppercase; letter-spacing: 0.08em; }
.ficha th, .ficha td { padding: 10px 0; border-bottom: 1px solid var(--filete); text-align: left; vertical-align: top; }
.ficha th { width: 40%; color: var(--tinta-2); font-weight: 500; }
.ficha td { font-weight: 600; font-variant-numeric: tabular-nums; }
.galeria { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 1.6em 0; }
.galeria figure { margin: 0; }
.galeria img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }

/* Publicidad: siempre rotulada y separada del contenido editorial */
.anuncio { display: grid; justify-items: center; gap: 6px; margin: 24px auto; }
.anuncio__rotulo { font: 600 var(--t-rotulo)/1 var(--sans); text-transform: uppercase; letter-spacing: 0.08em; color: var(--tinta-3); }
.anuncio__img { display: block; max-width: 100%; height: auto; }
.anuncio--lateral { margin: 0 0 8px; }
.anuncio--lateral .anuncio__propio { width: 300px; max-width: 100%; min-height: 250px; align-content: center; }
.anuncio--cabecera, .anuncio--portada { padding-block: 8px; }

/* Especiales */
.especial { padding-bottom: 32px; }
.especial__portada { padding-block: 32px 28px; border-bottom: 1px solid var(--tinta); margin-bottom: 32px; }
.especial__foto { margin: 0 0 24px; aspect-ratio: 16 / 7; overflow: hidden; }
.especial__foto img { width: 100%; height: 100%; object-fit: cover; }
.especial__rotulo { font: 700 var(--t-meta)/1.2 var(--sans); color: var(--rojo); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 8px; }
.especial__portada .bajada { margin-top: 12px; }
.especial__texto { max-width: 760px; margin-bottom: 40px; }
.especial__cita { margin: 0 0 40px; padding: 22px 0; max-width: 900px; border-top: 1px solid var(--tinta); border-bottom: 1px solid var(--tinta); font: 400 italic var(--t-l)/1.35 var(--fuente-titular); }
.auspiciador { display: flex; align-items: center; gap: 18px; margin: 0 0 40px; padding: 16px 0; border-top: 1px solid var(--filete); border-bottom: 1px solid var(--filete); font: 600 var(--t-ui)/1.3 var(--sans); }
.auspiciador span { color: var(--tinta-2); text-transform: uppercase; letter-spacing: 0.08em; font-size: var(--t-rotulo); }
.auspiciador a { font: 700 var(--t-m)/1.2 var(--fuente-titular); }
@media (max-width: 640px) {
  .galeria { grid-template-columns: minmax(0, 1fr); }
  .especial__foto { aspect-ratio: 4 / 3; }
}

/* CMS propio */
.marca__logo { display: block; max-height: 64px; width: auto; margin: 0 auto; }
.aviso-borrador { margin-top: 16px; padding: 10px 14px; background: var(--papel-2); border-left: 1px solid var(--rojo); font: 600 var(--t-ui)/1.4 var(--sans); }
.bloque-texto, .bloque-video { padding-block: 8px 48px; max-width: 900px; }
.formato-entrevista .articulo__cuerpo h3 { margin: 1.4em 0 0.4em; font: 700 var(--t-m)/1.35 var(--fuente-titular); }
.articulo__cuerpo table { width: 100%; margin: 1.6em 0; border-collapse: collapse; font: 400 var(--t-ui)/1.4 var(--sans); }
.articulo__cuerpo th, .articulo__cuerpo td { padding: 10px 0; border-bottom: 1px solid var(--filete); text-align: left; vertical-align: top; }
.articulo__cuerpo thead th { border-bottom: 3px solid var(--tinta); font: 700 var(--t-meta)/1.2 var(--sans); text-transform: uppercase; letter-spacing: 0.08em; }
.articulo__cuerpo td:first-child { width: 40%; color: var(--tinta-2); }
.articulo__cuerpo ul, .articulo__cuerpo ol { padding-left: 1.2em; }

/* Editorial: catálogo de medios */
.catalogo { padding-bottom: 48px; }
.catalogo__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 32px 28px; padding: 0; list-style: none; }
.catalogo__medio { display: grid; gap: 8px; padding-top: 12px; border-top: 3px solid var(--m-acento); }
.catalogo__medio a { text-decoration: none; }
.catalogo__nombre { font: 700 var(--t-m)/1.2 var(--fuente-titular); color: var(--m-acento); }
.catalogo__medio a:hover .catalogo__nombre { text-decoration: underline; }
.catalogo__medio p { color: var(--tinta-2); font: 400 var(--t-ui)/1.45 var(--fuente-texto); }

/* Lo que acompaña a una nota: lo esencial, escucharla, la ficha de la mina y la historia */
.lo-esencial { margin: 0 0 24px; padding: 14px 18px 16px; background: var(--papel-2); }
.lo-esencial ul { margin: 0; padding: 0 0 0 1.1em; }
.lo-esencial li { margin-top: 8px; font: 600 var(--t-s)/1.35 var(--fuente-titular); }
.escuchar { display: grid; gap: 6px; margin: 0 0 24px; }
.escuchar figcaption { display: flex; flex-wrap: wrap; gap: 4px 10px; font: 600 var(--t-ui)/1.3 var(--sans); }
.escuchar figcaption span { font-weight: 500; color: var(--tinta-2); }
.escuchar audio { width: 100%; }
.ficha-mina { margin: 24px 0; }
.ficha-mina dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin: 0; }
.ficha-mina dt { font: 700 var(--t-meta)/1.3 var(--sans); text-transform: uppercase; letter-spacing: 0.06em; color: var(--tinta-2); }
.ficha-mina dd { margin: 2px 0 0; font: 600 var(--t-s)/1.3 var(--fuente-titular); }
.ficha-mina a:hover { color: var(--rojo); }
.ficha-mina--pagina { margin: 0 0 32px; padding: 18px; background: var(--papel-2); }
.historia { padding-block: 8px 28px; }
.minas-region { margin-bottom: 32px; }
.lista-eventos { margin: 0; padding: 0; list-style: none; }
.lista-eventos li { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 20px; padding-block: 18px; border-top: 1px solid var(--filete); }
.evento__foto { margin: 10px 0 0; max-width: 420px; }
.evento__foto img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.evento__foto figcaption { margin-top: 4px; }
.lista-eventos time { font: 700 var(--t-ui)/1.3 var(--sans); color: var(--rojo); }
@media (max-width: 640px) { .lista-eventos li, .ficha-mina dl { grid-template-columns: minmax(0, 1fr); gap: 6px; } }

/* Declaración: la frase manda */
.formato-declaracion .articulo__cuerpo { padding-left: 22px; border-left: 6px solid var(--rojo); font: 700 var(--t-l)/1.3 var(--fuente-titular); }

/* Ponente y revista como bloques de la portada */
.ponente { display: grid; gap: 12px; padding: 16px; background: var(--papel-2); }
.ponente--foto { grid-template-columns: 96px minmax(0, 1fr); align-items: start; }
.ponente__foto { display: block; width: 96px; height: 96px; object-fit: cover; }
.ponente__rotulo { margin: 0 0 6px; font: 700 var(--t-meta)/1.2 var(--sans); text-transform: uppercase; letter-spacing: 0.08em; color: var(--tinta-2); }
.ponente__nombre { margin: 0; font: 700 var(--t-m)/1.2 var(--fuente-titular); }
.ponente__cargo { margin: 4px 0 0; font: 500 var(--t-ui)/1.35 var(--sans); color: var(--tinta-2); }
.ponente__tema { margin: 8px 0 0; font: 400 var(--t-s)/1.4 var(--fuente-texto); }
.bloque-revista { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 24px; align-items: start; }
.bloque-revista__portada img { display: block; width: 100%; height: auto; aspect-ratio: 210 / 297; object-fit: cover; border: 1px solid var(--filete); }
.titular--l { font-size: var(--t-l); }

/* Estructura de cada medio (Medio.estilo_portada, estilo_tarjetas, columna_lado). Con 40 medios, se reconocen por cómo se arman. */
.portada-grande .portada, .portada-titulares .portada { grid-template-columns: minmax(0, 1fr); gap: 28px; }
.portada-grande .ultimo, .portada-titulares .ultimo { padding-left: 0; border-left: 0; }
.portada-grande .lista-ultimo, .portada-titulares .lista-ultimo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 32px; }
.portada-grande .nota-mini:nth-child(-n + 3), .portada-titulares .nota-mini:nth-child(-n + 3) { border-top: 0; padding-top: 0; }

.portada-grande .lider__foto { aspect-ratio: 21 / 9; margin-bottom: 0; }
.portada-grande .lider__texto { position: relative; width: min(780px, 88%); margin-top: -104px; padding: 24px 32px 0 0; background: var(--papel); }

.portada-titulares .lider__foto, .portada-titulares .nota-mini__foto { display: none; }
.portada-titulares .lider__texto { max-width: 1000px; }
.portada-titulares .lider .titular--xl { font-size: min(clamp(2.25rem, 1.4rem + 3.6vw, 4.5rem), var(--letra-max)); line-height: 1.04; }
.portada-titulares .nota-mini { grid-template-columns: minmax(0, 1fr); }

.portada-triptico .nota-mini { grid-template-columns: minmax(0, 1fr); }
.portada-triptico .nota-mini__foto { display: none; }
.portada-triptico .nota-mini:first-child .nota-mini__foto { display: block; order: -1; aspect-ratio: 16 / 9; }
.portada-triptico .ultimo .titulo-bloque { margin-bottom: 14px; }

.tarjetas-lado .nota-media { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); column-gap: 14px; align-content: start; }
.tarjetas-lado .nota-media__foto { grid-row: 1 / span 3; margin-bottom: 0; aspect-ratio: 4 / 3; }
.tarjetas-lado .nota-media > :not(.nota-media__foto) { grid-column: 2; }
.tarjetas-titulares .nota-media__foto { display: none; }
/* «Solo titulares» vale para las rejillas de noticias. Donde el bloque tiene su propio «Mostrar foto», manda ese interruptor. */
.tarjetas-titulares .nota-media--con-foto .nota-media__foto { display: block; }
.tarjetas-titulares .nota-media { padding-top: 14px; border-top: 1px solid var(--tinta); }

@media (min-width: 1081px) {
  .portada-triptico .portada { grid-template-columns: minmax(0, 3fr) minmax(0, 6fr) minmax(0, 3fr); gap: 28px; }
  .portada-triptico .ultimo { padding-left: 0; border-left: 0; }
  .portada-triptico .ultimo--a { padding-right: 28px; border-right: 1px solid var(--filete); }
  .portada-triptico .ultimo--b { padding-left: 28px; border-left: 1px solid var(--filete); }
  .columna-izquierda :has(> .lateral) { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); }
  .columna-izquierda .lateral { order: -1; }
}
@media (max-width: 1080px) {
  .portada-triptico .lider { order: 1; }
  .portada-triptico .ultimo--a { order: 2; }
  .portada-triptico .ultimo--b { order: 3; }
}
@media (max-width: 720px) {
  .portada-grande .lista-ultimo, .portada-titulares .lista-ultimo { grid-template-columns: minmax(0, 1fr); }
  .portada-grande .nota-mini:nth-child(n + 2), .portada-titulares .nota-mini:nth-child(n + 2) { border-top: 1px solid var(--filete); padding-top: 14px; }
  .portada-grande .lider__foto { aspect-ratio: 16 / 9; }
  .portada-grande .lider__texto { width: auto; margin-top: 0; padding: 14px 0 0; }
}

/* Un medio que recién empieza tiene pocas notas: la nota que hay ocupa el lugar, sin columnas vacías al lado. */
.portada:not(:has(.ultimo)) { grid-template-columns: minmax(0, 1fr); }
.portada:not(:has(.ultimo)) .lider__foto { aspect-ratio: 21 / 9; }
@media (min-width: 1081px) {
  .portada-triptico .portada:not(:has(.ultimo--b)) { grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); }
  .portada-triptico .portada:not(:has(.ultimo)) { grid-template-columns: minmax(0, 1fr); }
}

/* El video vertical de la nota, a su tamaño: no ocupa media página */
.articulo__video--vertical { max-width: 380px; }
.articulo__video--vertical video { display: block; width: 100%; aspect-ratio: 9 / 16; background: var(--tinta); }

/* La noticia: cada medio decide cómo abre. Lo que va a todo lo ancho se abre más que en la columna de lectura. */
.zona--arriba .articulo__cabecera { max-width: 1000px; padding-top: 32px; }
.zona--arriba .titular--xl { font-size: min(clamp(2.125rem, 1.4rem + 3vw, 4rem), var(--letra-max)); line-height: 1.05; }
.zona--arriba .articulo__foto { margin: 24px 0 0; aspect-ratio: 21 / 9; }
.zona--arriba .articulo__foto:has(figcaption) { aspect-ratio: auto; }
.zona--arriba .articulo__foto:has(figcaption) .foto { aspect-ratio: 21 / 9; }
.articulo .rejilla-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.articulo > .anuncio, .articulo > section, .articulo > .bloque-notas { margin-top: 28px; }
.lateral .lo-esencial, .lateral .ficha-mina, .lateral .escuchar, .lateral .columnista { margin: 0; }
/* Sin columna, la lectura queda al centro */
.cuerpo-portada--articulo:not(:has(> .lateral)) { grid-template-columns: minmax(0, 1fr); justify-items: center; }
.cuerpo-portada--articulo:not(:has(> .lateral)) > .articulo { width: 100%; }
/* Un anuncio que es solo texto: se ve como anuncio, no como una nota */
.anuncio__enlace { display: block; max-width: 100%; text-decoration: none; color: inherit; }
.anuncio__propio { display: grid; gap: 8px; justify-items: center; min-width: min(300px, 100%); padding: 28px 40px; background: var(--papel-2); border: 1px solid var(--filete); text-align: center; }
.anuncio__propio strong { font: 700 var(--t-m)/1.25 var(--fuente-titular); color: var(--tinta); }
.anuncio__propio span { font: 600 var(--t-ui)/1.2 var(--sans); color: var(--rojo); }
.anuncio__propio .anuncio__desc { font-weight: 400; line-height: 1.4; color: var(--tinta-2); }
.anuncio__enlace:hover .anuncio__propio { border-color: var(--tinta); }
@media (max-width: 720px) { .zona--arriba .articulo__foto, .zona--arriba .articulo__foto:has(figcaption) .foto { aspect-ratio: 16 / 9; } .articulo .rejilla-3 { grid-template-columns: minmax(0, 1fr); } }

/* La foto de una persona no se recorta a lo ancho: se le cortaría la cabeza */
.nota-media--persona .nota-media__foto { aspect-ratio: 1; max-width: 180px; }
.nota-media--persona .foto, .articulo__foto--persona .foto { object-position: top; }
/* Vale también a todo lo ancho: es un retrato, no una foto de apertura */
.articulo__foto.articulo__foto--persona, .zona--arriba .articulo__foto.articulo__foto--persona { max-width: 320px; aspect-ratio: 1; }
.articulo__foto.articulo__foto--persona:has(figcaption), .zona--arriba .articulo__foto.articulo__foto--persona:has(figcaption) { aspect-ratio: auto; }
.articulo__foto--persona:has(figcaption) .foto, .zona--arriba .articulo__foto--persona:has(figcaption) .foto { aspect-ratio: 1; }
.nota-fila:not(:has(.nota-fila__foto)) { grid-template-columns: minmax(0, 1fr); }

/* Página no encontrada */
.pagina-error { max-width: 640px; margin: 56px auto 80px; }
.pagina-error h1 { margin: 0 0 14px; font: 700 var(--t-xl, 2.25rem)/1.1 var(--fuente-titular); }
.pagina-error a { color: var(--rojo); font-weight: 600; }
.pagina-error__buscar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-top: 24px; }
.pagina-error__buscar label { grid-column: 1 / -1; font: 600 var(--t-ui)/1.2 var(--sans); }
.pagina-error__buscar input { min-height: 48px; padding: 0 14px; border: 1px solid var(--tinta); background: var(--papel); font: 400 var(--t-base) var(--sans); }
.pagina-error__buscar button { min-height: 48px; padding: 0 22px; border: 0; background: var(--tinta); color: var(--papel); font: 600 var(--t-ui) var(--sans); cursor: pointer; }
