/* Observatorio JEM — lenguaje visual de diario paraguayo tomado de abc.com.py
   (relevado 2026-09-25): titulares en slab-serif negrita (ellos usan Unit Slab
   Pro, de pago; acá Zilla Slab, libre y de la misma familia), interfaz en Lato,
   tinta #282828, acento amarillo #ffe500 en filetes cortos bajo los títulos,
   etiquetas y hovers, crema #fbf6ef para bloques. Sin marca ni logo de ningún
   medio: el sitio no se presenta como de nadie más. El rojo queda sólo para
   el significado (remoción) en los puntos de votación. */
:root{
  --papel:#ffffff; --crema:#fbf6ef; --tinta:#282828; --negro:#0f0f0f; --tenue:#6b6b6b; --linea:#e5e5e5;
  --amarillo:#ffe500; --amarillo-osc:#ccb700; --rojo:#d7263d; --naranja:#f39c33;
  --slab:"Zilla Slab", "Unit Slab Pro", Rockwell, Georgia, serif;
  --sans:"Lato", Arial, sans-serif;
  --lado:clamp(20px,5vw,56px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--papel);color:var(--tinta);font:17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%}
.envol{max-width:1180px;margin:0 auto;padding-left:var(--lado);padding-right:var(--lado)}

/* ── cabecera ── */
.cabecera{background:var(--papel);position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--linea)}
.cabecera .in{max-width:1180px;margin:0 auto;padding:12px var(--lado);display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.cabecera .marca{font:700 27px/1 var(--slab);text-decoration:none;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}
.cabecera .marca b{background:var(--amarillo);padding:2px 8px 3px;font-weight:700}
.cabecera nav{display:flex;gap:2px;margin-left:auto;flex-wrap:wrap}
.cabecera nav a{font:700 14px/1 var(--sans);text-decoration:none;padding:10px 12px;position:relative}
.cabecera nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:3px;background:var(--amarillo);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.cabecera nav a:hover::after,.cabecera nav a.activo::after{transform:scaleX(1)}
.filete{height:4px;background:var(--amarillo)}
/* Sin marca (el sitio va dentro de un iframe, debajo de la cabecera del diario):
   sólo el menú, centrado; fijo arriba al deslizar. */
.cabecera.sin-marca .in{justify-content:center;padding-top:6px;padding-bottom:6px}
.cabecera.sin-marca nav{margin-left:0;justify-content:center}

/* volanta: etiqueta amarilla, como las de ABC */
.volanta{display:inline-block;background:var(--amarillo);color:var(--tinta);font:900 11.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:5px 8px 4px}
.volanta.blanca{background:var(--amarillo);color:var(--negro)}

/* ── hero ── */
.hero{background:var(--negro);color:#f2efe9;position:relative;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(760px 460px at 80% 45%,rgba(255,229,0,.13),transparent 62%);z-index:-1}
.hero .in{max-width:1180px;margin:0 auto;padding:56px var(--lado) 44px;display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:end;min-height:560px}
.hero h1{font:700 clamp(40px,5.6vw,72px)/1.02 var(--slab);margin:.35em 0 .35em;letter-spacing:-.015em}
.hero h1 em{font-style:normal;color:var(--negro);background:var(--amarillo);padding:0 .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero .bajada{font:400 20px/1.55 var(--slab);color:#dcd7cf;max-width:36em;margin:0 0 28px}
.hero .bajada b{color:#fff;font-weight:700}
.hero .foto{position:relative;align-self:end;display:flex;align-items:flex-end;justify-content:center;margin-bottom:-44px}
.retrato{position:relative;width:min(100%,460px);animation:revelar 1.6s cubic-bezier(.2,.7,.1,1) both}
.retrato img{width:100%;display:block;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 22%,#000 78%,transparent 100%),linear-gradient(to bottom,#000 62%,transparent 98%);
  -webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 22%,#000 78%,transparent 100%),linear-gradient(to bottom,#000 62%,transparent 98%);
  mask-composite:intersect}
/* La capa roja se descubre detrás de la línea de escaneo: misma duración y
   curva que .escaner, así la línea "va tiñendo" el retrato. */
.retrato img.teñido{position:absolute;inset:0;clip-path:inset(0 0 100% 0);animation:teñir 6s cubic-bezier(.45,0,.55,1) 1.8s infinite}
.retrato .escaner{position:absolute;left:8%;right:8%;top:0;height:3px;background:var(--amarillo);
  box-shadow:0 0 18px 2px rgba(255,229,0,.85);opacity:0;animation:escanear 6s cubic-bezier(.45,0,.55,1) 1.8s infinite}
@keyframes teñir{0%{clip-path:inset(0 0 100% 0);opacity:1}55%{clip-path:inset(0 0 0 0);opacity:1}80%{clip-path:inset(0 0 0 0);opacity:1}100%{clip-path:inset(0 0 0 0);opacity:0}}
@keyframes escanear{0%{top:0;opacity:0}5%{opacity:1}55%{top:calc(100% - 3px);opacity:1}62%{opacity:0}100%{top:calc(100% - 3px);opacity:0}}
.hero .sello{position:absolute;right:-2%;top:-6%;z-index:2;transform:rotate(-6deg);background:var(--amarillo);color:var(--negro);
  font:900 15px/1.2 var(--sans);letter-spacing:.08em;padding:10px 14px;text-transform:uppercase;text-align:center;
  box-shadow:0 10px 24px rgba(0,0,0,.45);animation:sello .5s cubic-bezier(.3,1.6,.5,1) 1.5s both}
.hero .sello small{display:block;font-weight:700;letter-spacing:.03em;margin-top:3px}
@keyframes revelar{from{clip-path:inset(100% 0 0 0);transform:scale(1.08)}to{clip-path:inset(0 0 0 0);transform:scale(1)}}
@keyframes sello{from{transform:rotate(-6deg) scale(2.2);opacity:0}to{transform:rotate(-6deg) scale(1);opacity:1}}
.cifras{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14);margin-top:34px}
.cifra{padding:22px 18px 26px 0;border-right:1px solid rgba(255,255,255,.12)}
.cifra:last-child{border-right:0}
.cifra .n{font:700 clamp(38px,4.4vw,58px)/1 var(--slab);color:#fff;font-variant-numeric:tabular-nums}
.cifra.roja .n{color:var(--amarillo)}
.cifra .t{font:700 13px/1.35 var(--sans);color:#aaa49c;margin-top:8px;max-width:17em}

/* ── secciones: título con filete amarillo corto debajo, como ABC ── */
.seccion{padding-top:56px;padding-bottom:24px;scroll-margin-top:96px}  /* sólo vertical: el horizontal lo da .envol */
.seccion h2{font:700 36px/1.12 var(--slab);margin:.5em 0 .7em;letter-spacing:-.01em;position:relative}
.seccion h2::after{content:"";display:block;width:35px;height:3px;background:var(--amarillo);margin-top:12px}
.seccion .intro{color:#4a4a4a;max-width:46em;margin:0 0 26px;font:400 18px/1.6 var(--slab)}
.titulo-seccion{display:flex;align-items:baseline;gap:18px}

/* ── listas que se despliegan ── */
.mas-casos{margin-top:18px}
.mas-casos summary{list-style:none;cursor:pointer;display:inline-block}
.mas-casos summary::-webkit-details-marker{display:none}
.mas-casos[open] summary{display:none}
.mas-casos .lista-casos{margin-top:0}

/* ── cronología ── */
.crono-marco{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:40px;align-items:start}
.recorte{margin:10px 0 0;position:sticky;top:24px;min-width:0}
.recorte img{max-width:100%}
@media (max-width:1180px) and (min-width:981px){.crono-marco{grid-template-columns:minmax(0,1fr) 260px;gap:32px}}
.recorte img{display:block;width:100%;height:auto;border:1px solid var(--linea);box-shadow:0 18px 40px rgba(0,0,0,.18);transform:rotate(-1.2deg);transition:transform .3s}
.recorte a:hover img{transform:rotate(0) scale(1.01)}
.recorte figcaption{font-size:14px;line-height:1.5;color:var(--tenue);margin-top:18px;border-left:4px solid var(--amarillo);padding-left:12px}
.recorte figcaption b{color:var(--tinta)}
.recorte figcaption a{font:900 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--tinta);box-shadow:inset 0 -3px 0 var(--amarillo)}
/* Carrusel: los hitos corren en horizontal, de a 2 (uno y algo en el celular); se desliza con los botones, con el dedo o con las flechas del teclado. */
.carrusel{min-width:0;margin-top:10px}
.carrusel-cab{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.carrusel-cuenta{font:900 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--tenue)}
.carrusel-botones{display:flex;gap:8px}
.carrusel-btn{width:44px;height:44px;border:2px solid var(--tinta);background:var(--papel);color:var(--tinta);font:700 20px/1 var(--sans);cursor:pointer;transition:background .15s}
.carrusel-btn:hover:not(:disabled){background:var(--amarillo)}
.carrusel-btn:disabled{opacity:.25;cursor:default}
.pista{list-style:none;margin:0;padding:0 0 6px;display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.pista::-webkit-scrollbar{display:none}
.pista:focus-visible{outline:3px solid var(--amarillo);outline-offset:4px}
.hito{flex:0 0 calc((100% - 20px) / 2);scroll-snap-align:start;position:relative;padding:34px 0 0;min-width:0}
/* el riel: una línea continua con un punto por hito */
.hito::before{content:"";position:absolute;left:0;right:-20px;top:9px;height:2px;background:var(--linea)}
.hito:last-child::before{right:0}
.hito::after{content:"";position:absolute;left:0;top:1px;width:12px;height:12px;border-radius:50%;background:var(--papel);border:3px solid var(--tinta)}
.hito.clave::after{background:var(--amarillo);box-shadow:0 0 0 5px rgba(255,229,0,.35)}
.hito .f{font:700 20px/1.1 var(--slab);margin-bottom:8px}
.hito .f small{font:900 11px var(--sans);letter-spacing:.12em;color:var(--tenue);margin-left:4px}
.hito h3{font:700 20px/1.2 var(--slab);margin:0 0 6px}
.hito p{font-size:15.5px;line-height:1.5;color:#3a3a3a;margin:0 0 8px}
.hito a{font:900 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;box-shadow:inset 0 -3px 0 var(--amarillo)}


/* ── tarjetas de casos ── */
.grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px}
.caso{background:var(--papel);border:1px solid var(--linea);border-top:4px solid var(--tinta);padding:20px 22px;
  display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s}
.caso:hover{box-shadow:0 14px 34px rgba(0,0,0,.09);transform:translateY(-3px)}
.caso.t-decisivo,.caso.t-bloqueo{border-top-color:var(--amarillo)}
.caso.t-ilegal{border-top-color:var(--rojo)}
.caso .meta{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;font:700 12.5px/1.3 var(--sans);color:var(--tenue)}
.etq{display:inline-block;padding:5px 8px 4px;font:900 10.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;background:var(--tinta);color:#fff}
.etq.decisivo{background:var(--amarillo);color:var(--negro)}
.etq.bloqueo{background:var(--negro);color:var(--amarillo)}
.etq.disidencia{background:#fff;color:var(--tinta);box-shadow:inset 0 0 0 2px var(--tinta)}
.etq.fijado{background:var(--negro);color:#fff}
.etq.ilegal{background:var(--rojo);color:#fff}
.caso h3{font:700 22px/1.2 var(--slab);margin:12px 0 12px}
.caso p{margin:0 0 16px;font:400 16px/1.55 var(--slab);color:#3a3a3a}
.caso .pie{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--linea)}
.boton{display:inline-flex;align-items:center;gap:8px;background:var(--amarillo);color:var(--negro);text-decoration:none;
  font:900 13px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;padding:12px 16px;transition:background .2s,color .2s,transform .2s}
.boton:hover{background:var(--negro);color:var(--amarillo);transform:translateX(3px)}
.boton.sec{background:transparent;color:var(--tinta);box-shadow:inset 0 0 0 2px var(--tinta)}
.boton.sec:hover{background:var(--tinta);color:#fff}
.enlace{font:900 12.5px var(--sans);letter-spacing:.05em;text-transform:uppercase;text-decoration:none;box-shadow:inset 0 -3px 0 var(--amarillo)}

/* votación: puntos; el de Rivas con anillo amarillo */
.votos-puntos{display:flex;align-items:center;gap:6px;margin:0 0 14px;flex-wrap:wrap}
.votos-puntos span{width:14px;height:14px;border-radius:50%;display:inline-block;animation:voto .45s cubic-bezier(.2,.8,.2,1) both}
.votos-puntos span.remocion,.votos-puntos span.si,.barra span.remocion,.barra span.si{background:var(--rojo)}
.votos-puntos span.apercibimiento,.barra span.apercibimiento{background:var(--naranja)}
.votos-puntos span.absolucion,.votos-puntos span.no,.barra span.absolucion,.barra span.no{background:var(--tinta)}
.votos-puntos span.otro,.barra span.otro{background:#cfcac3}
.votos-puntos span.rivas{box-shadow:0 0 0 3px var(--amarillo),0 0 0 4.5px var(--tinta)}
.votos-puntos em{font:700 12.5px var(--sans);font-style:normal;color:var(--tenue);margin-left:6px}
@keyframes voto{from{transform:scale(0)}to{transform:scale(1)}}
.barra{display:flex;gap:3px;height:22px;margin:4px 0 16px}
.barra span{flex:1;position:relative}
.barra span.rivas{outline:3px solid var(--amarillo);outline-offset:1px;box-shadow:0 0 0 5px var(--tinta);z-index:1}
.leyenda{display:flex;flex-wrap:wrap;gap:6px 16px;font:700 12.5px var(--sans);color:var(--tenue);margin-bottom:18px}
.leyenda i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:6px;vertical-align:-1px}

.lista-casos{border-top:1px solid var(--linea)}
.lista-casos a{display:grid;grid-template-columns:130px 110px 1fr 130px;gap:18px;padding:14px 10px;border-bottom:1px solid var(--linea);text-decoration:none;align-items:baseline}
.lista-casos a:hover{background:var(--crema)}
.lista-casos .num{font:900 14px var(--sans)}
.lista-casos .f{font:700 13px var(--sans);color:var(--tenue)}
.lista-casos .t{font:700 18px/1.3 var(--slab)}
.desplegable summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:16px;padding:0 0 18px}
.desplegable summary::-webkit-details-marker{display:none}
.desplegable summary h2{margin:0}
.desplegable[open] .enlace{visibility:hidden}

/* firmas tras la salida */
.bloque-firmas{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:start;background:var(--crema);padding:28px}
.reloj{background:var(--negro);color:#eee;padding:18px 20px;font:15px/1.4 var(--sans)}
.reloj div,.reloj a{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#eee;text-decoration:none}
.reloj a:hover{color:var(--amarillo)}
.reloj .hora{font:900 14px var(--sans);color:var(--amarillo);font-variant-numeric:tabular-nums;white-space:nowrap}
table.firmas{width:100%;border-collapse:collapse;font:15px/1.45 var(--sans)}
table.firmas th{text-align:left;font:900 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--tenue);border-bottom:2px solid var(--tinta);padding:8px 6px}
table.firmas td{border-bottom:1px solid var(--linea);padding:10px 6px;vertical-align:top}
table.firmas tr.grave td{background:#fff9c4}
table.firmas .hora{font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}

/* ── feed de noticias (vista previa OG) ── */
.noticias{border-top:1px solid var(--linea);margin-top:30px}
.feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}
.nota{display:flex;flex-direction:column;text-decoration:none;background:var(--papel);border:1px solid var(--linea);transition:box-shadow .25s,transform .25s}
.nota:hover{box-shadow:0 14px 34px rgba(0,0,0,.09);transform:translateY(-3px)}
.nota img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--crema)}
.nota-cuerpo{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.nota-meta{font:900 11px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--tenue)}
.nota h3{font:700 19px/1.25 var(--slab);margin:8px 0 8px}
.nota p{font:400 15px/1.5 var(--slab);color:#4a4a4a;margin:0 0 12px}
.nota .enlace{margin-top:auto;align-self:flex-start}
.nota-pie{font:12.5px var(--sans);color:var(--tenue);margin-top:18px}

/* ── notas de ABC en la ficha de un caso (carrusel) ── */
.notas-caso{padding-bottom:40px}
.pista-notas .nota-mini{flex:0 0 calc((100% - 60px) / 4);scroll-snap-align:start;min-width:0}
.nota-mini a{display:flex;flex-direction:column;height:100%;text-decoration:none;background:var(--papel);border:1px solid var(--linea);transition:box-shadow .25s}
.nota-mini a:hover{box-shadow:0 12px 30px rgba(0,0,0,.09)}
.nota-mini img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--crema)}
.nota-mini .nota-meta{padding:12px 14px 0}
.nota-mini h3{font:700 17px/1.3 var(--slab);margin:6px 14px 10px}
.nota-mini .enlace{margin:auto 14px 14px;align-self:flex-start}
@media (max-width:1180px){.pista-notas .nota-mini{flex-basis:calc((100% - 40px) / 3)}}
@media (max-width:980px){.pista-notas .nota-mini{flex-basis:70%}}

/* ── análisis jurídico de un caso ── */
.analisis dl{margin:0;display:grid;grid-template-columns:11em minmax(0,1fr);gap:12px 18px;font:16px/1.6 var(--slab)}
.analisis dt{font:900 11.5px/1.9 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--tenue)}
.analisis dd{margin:0}
.analisis dd b{font-weight:700}
@media (max-width:640px){.analisis dl{grid-template-columns:1fr;gap:2px}.analisis dd{margin-bottom:12px}}

/* ── captura del historial oficial en la ficha de una firma ── */
.captura-firma{margin:0;position:sticky;top:24px}
.captura-firma img{display:block;max-width:100%;height:auto;border:1px solid var(--linea);box-shadow:0 14px 34px rgba(0,0,0,.12);margin:0 auto}
.captura-firma figcaption{font:14px/1.5 var(--sans);color:var(--tenue);margin-top:14px;border-left:4px solid var(--amarillo);padding-left:12px}
.captura-firma figcaption b{color:var(--tinta)}

/* ── ficha de caso ── */
.ficha-cab{background:var(--negro);color:#f2efe9;padding:44px 0 38px}
.ficha-cab h1{font:700 clamp(32px,4.4vw,52px)/1.08 var(--slab);margin:.45em 0 .35em;max-width:22em}
.ficha-cab .bajada{font:400 20px/1.55 var(--slab);color:#dcd7cf;max-width:44em;margin:0}
.ficha-cab .datos{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:22px;font:700 13.5px var(--sans);color:#aaa49c}
.ficha-cab .datos b{color:#fff}
.ficha-cab .volver{font:900 13px var(--sans);color:var(--amarillo);text-decoration:none}
/* Sólo vertical: el relleno horizontal lo pone .envol (antes lo anulaba y el
   contenido quedaba pegado a los costados). */
.ficha{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;padding-top:36px;padding-bottom:60px}
/* Sin esto una tabla ancha estira su columna más allá de la pantalla. */
.ficha > *{min-width:0}
.bloque h2{font:700 26px/1.15 var(--slab);margin:0 0 16px}
.bloque h2::after{content:"";display:block;width:35px;height:3px;background:var(--amarillo);margin-top:10px}
.cita{border-left:5px solid var(--amarillo);padding:4px 0 4px 20px;margin:0 0 28px;font:italic 400 22px/1.45 var(--slab)}
.cita small{display:block;font:900 12px var(--sans);font-style:normal;color:var(--tenue);letter-spacing:.06em;text-transform:uppercase;margin-top:10px}
table.votos{width:100%;border-collapse:collapse;font:15px/1.45 var(--sans)}
table.votos th{text-align:left;font:900 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--tenue);border-bottom:2px solid var(--tinta);padding:8px 6px}
table.votos td{border-bottom:1px solid var(--linea);padding:10px 6px;vertical-align:top}
table.votos tr.rivas td{background:#fff9c4;font-weight:700}
table.votos .chip{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px}
.regla{background:var(--crema);padding:16px 18px;font:15px/1.6 var(--sans);margin:18px 0}
.regla b{font-weight:900}
.aviso{border:1px solid var(--linea);border-left:4px solid var(--amarillo);padding:12px 16px;font:14.5px/1.55 var(--sans);background:#fffdf0;margin:16px 0}
.visor{border:1px solid var(--linea);background:var(--crema);height:82vh;position:sticky;top:84px}
.visor object,.visor iframe{width:100%;height:100%;border:0}
.enlaces{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}

/* ── caso de principio a fin ── */
.hilo{display:grid;grid-template-columns:repeat(3,1fr);gap:0;counter-reset:paso}
.paso{position:relative;text-decoration:none;padding:20px 22px 22px;border-top:4px solid var(--amarillo);background:var(--crema);margin-right:14px;display:flex;flex-direction:column;gap:6px}
.paso:last-child{margin-right:0}
.paso::after{content:"→";position:absolute;right:-13px;top:40%;font:900 20px var(--sans);color:var(--tinta)}
.paso:last-child::after{content:none}
.paso:hover{background:#fff7c2}
.paso-f{font:900 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--tenue)}
.paso b{font:700 21px/1.2 var(--slab)}
.paso span:last-child{font:400 16px/1.5 var(--slab);color:#3a3a3a}
.contra-nota{display:block;font:400 14px/1.45 var(--slab);color:var(--tenue);margin-top:4px}
.frente-conclusion{font:400 18px/1.55 var(--slab);margin:0 0 14px}
@media (max-width:980px){.hilo{grid-template-columns:1fr}.paso{margin:0 0 12px}.paso::after{content:none}}

/* ── documentos del caso ── */
.documentos-caso{border-top:1px solid var(--linea)}
.docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:22px}
.docs-grupo{background:var(--crema);padding:18px 20px}
.docs-grupo.historial{grid-column:1/-1;background:#fff;border:1px solid var(--linea)}
.docs-grupo h3{font:700 20px/1.2 var(--slab);margin:0 0 4px}
.docs-grupo h3 small{font:900 12px var(--sans);background:var(--amarillo);padding:2px 6px;margin-left:6px;vertical-align:3px}
.docs-origen{font:13px/1.4 var(--sans);color:var(--tenue);margin:0 0 12px}
.docs-grupo ul,.docs-grupo ol{margin:0;padding-left:18px;font:15px/1.45 var(--sans)}
.docs-grupo li{margin:0 0 9px}
.docs-grupo a{text-decoration:none;font-weight:700;box-shadow:inset 0 -2px 0 var(--amarillo)}
.docs-meta{display:block;font:12.5px/1.4 var(--sans);color:var(--tenue)}
.historial ol{columns:2;column-gap:36px}
.historial li{break-inside:avoid}
.firmantes{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:4px}
.firmantes span{font:12px var(--sans);background:var(--crema);padding:2px 6px}
.firmantes span.suya{background:var(--amarillo);font-weight:900}
.texto-doc{white-space:pre-wrap;font:15px/1.6 var(--slab);background:var(--crema);padding:20px;max-height:80vh;overflow:auto}
@media (max-width:980px){.historial ol{columns:1}}

/* ── buscador y metodología ── */
.filtros{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:0 0 22px;border-bottom:1px solid var(--linea)}
.filtros label{display:flex;flex-direction:column;gap:6px;font:900 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--tenue)}
.filtros input,.filtros select{font:15px var(--sans);padding:10px 12px;border:2px solid var(--tinta);background:#fff;min-width:170px}
.filtros input:focus,.filtros select:focus{outline:3px solid var(--amarillo);outline-offset:0}
.filtros input[type=search]{min-width:300px}
.metodo{max-width:780px}
.metodo p{font:400 18px/1.65 var(--slab)}
.metodo table{border-collapse:collapse;width:100%;font:15px var(--sans)}
.metodo td,.metodo th{border-bottom:1px solid var(--linea);padding:9px 6px;text-align:left}

footer.pie-sitio{background:var(--negro);color:#9b9791;font:13.5px/1.6 var(--sans);padding:34px 0;margin-top:40px;border-top:4px solid var(--amarillo)}
footer.pie-sitio a{color:var(--amarillo)}
footer.pie-sitio .creditos{margin-top:20px;padding-top:16px;border-top:1px solid #333}
footer.pie-sitio .creditos p{margin:0 0 4px}
footer.pie-sitio .creditos b{color:#f2efe9}

/* ── aparecer al hacer scroll ── */
.aparecer{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.1,1)}
.aparecer.visto{opacity:1;transform:none}

@media (max-width:980px){
  .hero .in{grid-template-columns:1fr;min-height:0}
  .hero .foto{order:-1}
  .retrato{width:min(78%,360px)}
  .hero .sello{top:auto;bottom:10%;right:3%;font-size:11px;padding:7px 9px}
  .cabecera nav{flex-wrap:nowrap;overflow-x:auto;margin-left:0;width:100%;scrollbar-width:none}
  .cabecera nav a{white-space:nowrap}
  .cabecera.sin-marca nav{justify-content:safe center}
  .cifras{grid-template-columns:repeat(2,1fr)}
  .crono-marco{grid-template-columns:1fr;gap:28px}
  .recorte{position:static;order:-1;max-width:460px;margin:0 auto;width:100%}
  .recorte img{transform:none;box-shadow:0 10px 24px rgba(0,0,0,.16)}
  .recorte a:hover img{transform:none}
  .hito{flex-basis:82%}
  .bloque-firmas{grid-template-columns:1fr;padding:20px}
  .ficha{grid-template-columns:minmax(0,1fr)}
  /* Tablas en el celular: cada fila es una tarjeta y cada dato lleva su rótulo. */
  table.firmas thead{display:none}
  table.firmas,table.firmas tbody,table.firmas tr,table.firmas td{display:block;width:100%}
  table.firmas tr{border-bottom:1px solid var(--linea);padding:12px 0}
  table.firmas td{border:0;padding:3px 0;display:grid;grid-template-columns:8.5em minmax(0,1fr);gap:10px}
  table.firmas td::before{content:attr(data-rotulo);font:900 10.5px/1.9 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--tenue)}
  table.firmas td.hora br{display:none}
  table.votos thead{display:none}
  table.votos,table.votos tbody,table.votos tr,table.votos td{display:block;width:100%}
  table.votos tr{border-bottom:1px solid var(--linea);padding:10px 8px}
  table.votos td{border:0;padding:2px 0}
  table.votos td.principal{font-weight:700;padding-bottom:4px}
  table.votos td[data-rotulo]{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:10px}
  table.votos td[data-rotulo]::before{content:attr(data-rotulo);font:900 10.5px/1.9 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--tenue)}
  table.votos tr.rivas td{background:none}
  table.votos tr.rivas{background:#fff9c4}
  .metodo table{font-size:14px;overflow-wrap:anywhere}
  .visor{position:static;height:70vh}
  .lista-casos a{grid-template-columns:1fr;gap:4px}
  .filtros input[type=search]{min-width:0;width:100%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .aparecer{opacity:1;transform:none}
}

/* ── página «Cómo votaba» ── */
.cifras-claras{margin:10px 0 26px;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--linea)}
.cifras-claras .cifra{border-right:0}
.cifras-claras .cifra{border-left:4px solid var(--amarillo);padding-left:14px}
.cifras-claras .cifra .n{color:var(--tinta)}
.cifras-claras .cifra .t{color:var(--tenue)}
.lista-personas{margin:10px 0}
.lista-personas ol{columns:3 260px;column-gap:28px;margin:14px 0 6px;padding-left:22px;font:14.5px/1.55 var(--sans)}
.lista-personas li{break-inside:avoid;margin-bottom:4px}
.lista-personas summary{cursor:pointer}
.lista-personas details[open]{break-inside:avoid}
.res-persona{list-style:none;margin:6px 0 10px;padding:0 0 0 12px;border-left:3px solid var(--amarillo);font:13.5px/1.5 var(--sans)}
.res-persona li{margin:3px 0}
.res-persona a{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline;color:inherit;text-decoration:none}
.res-persona a:hover .num{text-decoration:underline}
.res-persona .num{font-weight:700}
.res-persona .f{color:var(--tenue)}
.res-persona .etq,.res-persona .meta{font-size:12px}
@media (max-width:600px){.ranking .res-persona{margin-left:0}}
.proporcion{display:flex;height:34px;margin:14px 0 10px;border:1px solid var(--linea)}
.proporcion .propios{background:var(--tinta)}
.proporcion .adhesiones{background:var(--amarillo)}
.proporcion-leyenda{display:flex;flex-wrap:wrap;gap:8px 26px;font:14.5px var(--sans)}
.proporcion-leyenda i{display:inline-block;width:12px;height:12px;margin-right:8px;vertical-align:-1px}
.proporcion-leyenda i.propios{background:var(--tinta)}
.proporcion-leyenda i.adhesiones{background:var(--amarillo);box-shadow:inset 0 0 0 1px #c9b400}
.ranking{list-style:none;margin:16px 0 18px;padding:0;display:grid;gap:10px;max-width:760px}
.ranking li>details>summary{display:grid;grid-template-columns:56px minmax(0,1fr) 3.2em;align-items:center;gap:14px;cursor:pointer;list-style:none}
.ranking li>details>summary::-webkit-details-marker{display:none}
.ranking .ver-lista{display:block;margin-top:6px;font:700 12.5px var(--sans)}
.ranking details[open] .ver-lista{visibility:hidden}
.ranking .res-persona{margin:10px 0 8px 70px}
.ranking img,.ranking .sin-foto{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:50% 25%;background:var(--crema);filter:grayscale(1)}
.ranking .sin-foto{display:grid;place-items:center;font:700 18px var(--slab);color:var(--tenue)}
.ranking-cuerpo b{font:700 17px/1.2 var(--slab);display:block;margin-bottom:6px}
.ranking-barra{display:block;height:10px;background:var(--crema)}
.ranking-barra span{display:block;height:100%;background:var(--amarillo)}
.ranking-n{font:900 20px var(--sans);text-align:right;font-variant-numeric:tabular-nums}
.filtro{display:flex;gap:8px;margin-top:22px}
.filtro button{font:900 12.5px var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:10px 16px;background:transparent;color:#f2efe9;border:2px solid rgba(255,255,255,.5);cursor:pointer}
.filtro button.activo{background:var(--amarillo);color:var(--negro);border-color:var(--amarillo)}
table.niveles{width:100%;border-collapse:collapse;font:15px/1.45 var(--sans);margin:6px 0 4px}
table.niveles th{text-align:left;font:900 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--tenue);border-bottom:2px solid var(--tinta);padding:8px 6px}
table.niveles td{border-bottom:1px solid var(--linea);padding:10px 6px}
table.niveles td b{font-size:18px}
table.niveles tr.no-publicado td{background:#fff9c4}
@media (max-width:980px){
  table.niveles thead{display:none}
  table.niveles,table.niveles tbody,table.niveles tr,table.niveles td{display:block;width:100%}
  table.niveles tr{border-bottom:1px solid var(--linea);padding:10px 8px}
  table.niveles td{border:0;padding:2px 0}
  table.niveles td.principal{font-weight:700;padding-bottom:4px}
  table.niveles td[data-rotulo]{display:grid;grid-template-columns:10em minmax(0,1fr);gap:10px}
  table.niveles td[data-rotulo]::before{content:attr(data-rotulo);font:900 10.5px/1.9 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--tenue)}
  .filtro{flex-wrap:wrap}
}
.miembro-voto{display:flex;align-items:center;gap:10px}
.miembro-voto img{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:50% 20%;filter:grayscale(1);flex:none;background:var(--crema)}
tr.rivas .miembro-voto img{filter:none;box-shadow:0 0 0 2px var(--amarillo)}

/* control de fuentes, desplegable al pie de Metodología */
.control{margin-top:40px;border-top:1px solid var(--linea);padding-top:22px}
.control .control-parte{margin-top:34px}
.control h3{font:900 22px/1.25 var(--slab);margin:6px 0 12px}

.filtro-casos{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 28px;margin:22px 0 8px;padding:14px 0;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.filtro-botones{display:flex;flex-wrap:wrap;gap:8px}
.filtro-botones button{font:700 13px var(--sans);padding:8px 12px;background:transparent;color:var(--tinta);border:1.5px solid var(--linea);cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.filtro-botones button b{font-variant-numeric:tabular-nums;opacity:.7}
.filtro-botones button:hover{border-color:var(--tinta)}
.filtro-botones button.activo{background:var(--tinta);color:var(--papel);border-color:var(--tinta)}
.filtro-botones button.activo b{opacity:1}
.contador{display:flex;gap:22px;font:14px var(--sans);color:var(--tenue)}
.contador b{font:900 26px var(--sans);color:var(--tinta);margin-right:6px;font-variant-numeric:tabular-nums}
#casos article.caso[hidden],#resto-casos a[hidden]{display:none}
.etq-boton::before{content:"";width:11px;height:11px;display:inline-block}
.etq-boton.decisivo::before{background:var(--amarillo)}
.etq-boton.bloqueo::before{background:var(--negro);box-shadow:inset 0 0 0 2px var(--amarillo)}
.etq-boton.disidencia::before{background:#fff;box-shadow:inset 0 0 0 2px var(--tinta)}
.etq-boton.fijado::before{background:var(--negro)}
.etq-boton.ilegal::before{background:var(--rojo)}
