/* Desgobierno Digital — hoja de estilos del sitio y de las fichas.
   Identidad: expediente administrativo. Papel de oficio gris, tinta azul-negra,
   tampón violeta para los sellos, listados de impresora (barras verdes y
   perforación) para el código. Sin JavaScript, sin peticiones a terceros. */

:root{
  color-scheme:light;
  --papel:#EEF0EC;--papel-2:#E3E6E1;--tarjeta:#FBFBF9;--hueco:#E6E9E4;
  --tinta:#151B2B;--tinta-2:#454C5C;--tinta-3:#68707E;
  --borde:rgba(21,27,43,.18);--borde-2:rgba(21,27,43,.085);
  --sello:#1C2E52;--sello-c:#F2F4F7;--sello-2:#24396A;
  --tampon:#5D3C93;--tampon-rgb:93,60,147;--tampon-claro:#C9B3F0;
  --listado:#E7F0E2;--perf:#C4C9CE;
  --a-azul:#2C5F87;--a-ocre:#8A6521;--a-rojo:#98453A;--a-verde:#4A6A46;--a-morado:#675475;
  --serif:"Literata",Georgia,"Iowan Old Style","Times New Roman",serif;
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --mono:"DM Mono",ui-monospace,Menlo,Consolas,monospace;
  --medida:34rem;--ancha:50rem;--margen:10rem;--marco:clamp(1.15rem,5vw,3rem);--r:3px;
  --c:var(--a-azul);--c-rgb:44,95,135;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;color:var(--tinta);background:var(--papel);
  font-family:var(--serif);font-size:1.125rem;line-height:1.72;font-weight:400;
  font-optical-sizing:auto;-webkit-font-smoothing:antialiased;
}
::selection{background:rgba(var(--tampon-rgb),.22);color:var(--tinta)}
a{color:var(--a-azul);text-underline-offset:.2em;text-decoration-thickness:1px;text-decoration-color:rgba(44,95,135,.45)}
a:hover{color:var(--tampon);text-decoration-color:currentColor}
a:focus-visible{outline:2px solid var(--tampon);outline-offset:3px;border-radius:2px}
h1,h2,h3{margin:0;font-family:var(--sans);font-weight:700;font-stretch:84%;line-height:1.04;letter-spacing:-.015em;word-spacing:.08em;text-wrap:balance;color:var(--tinta)}
p{margin:0 0 1.2rem}
code{font-family:var(--mono);font-size:.82em;background:var(--hueco);padding:.04em .2em;border-radius:2px}
.host{font-family:var(--mono);font-size:.82em;letter-spacing:-.01em}
.et{font-family:var(--sans);font-stretch:100%;font-weight:600;font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-3);line-height:1.4}
.mono{font-family:var(--mono)}
.caja{max-width:calc(var(--ancha) + var(--margen) + 2*var(--marco));margin:0 auto;padding:0 var(--marco)}

/* ── cabecera institucional: la banda azul de cualquier web pública, con el DES sellado encima ── */
.cabecera{background:var(--sello);color:var(--sello-c);border-bottom:3px solid var(--tampon)}
.cabecera .caja{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem 2rem;padding-top:.9rem;padding-bottom:.9rem}
.marca{display:inline-flex;align-items:center;gap:.75rem;color:inherit;text-decoration:none}
.marca:hover{color:inherit}
.marca .des{
  font-family:var(--sans);font-weight:800;font-stretch:80%;font-size:1rem;letter-spacing:.18em;line-height:1;
  padding:.3em .45em .22em .55em;border:2px solid var(--tampon-claro);color:var(--tampon-claro);border-radius:2px;
  transform:rotate(-7deg);text-transform:uppercase;
}
.marca .nombre{font-family:var(--sans);font-weight:800;font-stretch:76%;font-size:1.55rem;letter-spacing:-.005em;text-transform:uppercase;line-height:.9}
.marca .nombre small{display:block;font-family:var(--mono);font-size:.5625rem;letter-spacing:.22em;font-weight:400;font-stretch:100%;opacity:.72;margin-top:.38rem;text-transform:uppercase;white-space:nowrap}
nav.principal{display:flex;gap:1.35rem;font-family:var(--sans);font-weight:600;font-stretch:92%;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
nav.principal a{color:inherit;text-decoration:none;padding:.35rem 0 .25rem;border-bottom:2px solid transparent;opacity:.8}
nav.principal a:hover{opacity:1;color:inherit}
nav.principal a[aria-current]{border-color:var(--tampon-claro);opacity:1}

/* ── folio: la línea de registro que corre por encima de cada hoja ── */
.folio{display:flex;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;padding:.65rem 0 .55rem;border-bottom:1px solid var(--borde);
  font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-3)}
.folio b{font-weight:500;color:var(--c)}

/* ── tampón: un sello de tinta, ligeramente torcido, con la tinta desigual ── */
.tampon{
  display:inline-block;font-family:var(--sans);font-weight:700;font-stretch:85%;font-size:.6875rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--tampon);border:2px solid currentColor;padding:.42em .7em .32em;border-radius:3px;
  transform:rotate(-2.5deg);line-height:1.3;text-align:center;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='90'%3E%3Cfilter id='t'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='7'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='table' tableValues='.35 1 1'/%3E%3CfeFuncG type='table' tableValues='.35 1 1'/%3E%3CfeFuncB type='table' tableValues='.35 1 1'/%3E%3CfeFuncA type='table' tableValues='1 1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23t)'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='90'%3E%3Cfilter id='t'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='7'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='table' tableValues='.35 1 1'/%3E%3CfeFuncG type='table' tableValues='.35 1 1'/%3E%3CfeFuncB type='table' tableValues='.35 1 1'/%3E%3CfeFuncA type='table' tableValues='1 1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23t)'/%3E%3C/svg%3E");
  -webkit-mask-mode:luminance;mask-mode:luminance;
}
.tampon b{display:block;font-size:1.12em;letter-spacing:.08em}
.tampon .fecha{display:block;font-family:var(--mono);font-weight:500;font-stretch:100%;letter-spacing:.1em;font-size:.95em;margin-top:.12em}
.tampon.rojo{color:var(--a-rojo)}

/* ── hoja: la rejilla de expediente (margen de anotaciones + texto) ── */
.hoja{display:grid;grid-template-columns:minmax(0,1fr);gap:0 2.5rem;padding:clamp(2rem,5vw,3.4rem) 0 0}
.margen{display:flex;flex-direction:column;gap:1.1rem;align-items:flex-start;padding-bottom:1.6rem}
.margen .nota{font-family:var(--mono);font-size:.625rem;line-height:1.7;letter-spacing:.06em;color:var(--tinta-3);max-width:12rem}
.margen .nota b{display:block;font-weight:500;color:var(--tinta-2);letter-spacing:.1em;text-transform:uppercase}
.texto{min-width:0}
@media (min-width:62rem){
  .hoja{grid-template-columns:var(--margen) minmax(0,var(--ancha))}
  .hoja.sin-margen{grid-template-columns:minmax(0,calc(var(--ancha) + var(--margen)))}
  .margen{position:sticky;top:1.2rem;align-self:start}
}

/* ── cabecera de página ── */
.portada-cab{padding:0 0 1.2rem}
h1.grande{font-size:clamp(2.6rem,7.6vw,5rem);font-weight:800;font-stretch:76%;letter-spacing:-.02em;line-height:.94;margin:0 0 1.2rem;max-width:14ch}
h1.grande .fino{font-weight:300;font-stretch:90%}
.entradilla{font-size:clamp(1.15rem,2vw,1.35rem);line-height:1.5;max-width:var(--medida);color:var(--tinta);margin:0 0 1.6rem}
.sumario{font-family:var(--sans);font-stretch:95%;font-size:.9375rem;color:var(--tinta-2);max-width:var(--medida);margin:0 0 .6rem}

/* ── secciones ── */
.seccion{padding:2.4rem 0 .6rem;border-top:1px solid var(--borde)}
.seccion.primera{border-top:0;padding-top:.6rem}
.seccion>.et{display:block;margin-bottom:.9rem}
.seccion>.et b{color:var(--tampon);font-weight:700;margin-right:.6em}
.seccion h2{font-size:clamp(1.6rem,3.2vw,2.15rem);margin:0 0 1rem;max-width:22ch}
.seccion h3{font-size:1.125rem;font-stretch:90%;margin:1.6rem 0 .5rem}
.seccion p{max-width:var(--medida)}
.seccion .prosa-ancha p{max-width:none}
.ir{display:inline-block;font-family:var(--sans);font-weight:600;font-stretch:92%;font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--tinta);border-bottom:2px solid var(--tampon);padding-bottom:.1rem;margin:.4rem 0 1.4rem}
.ir:hover{color:var(--tampon)}

/* ── la regla de la casa: un aviso enmarcado, como en un impreso ── */
.regla{position:relative;border:1px solid var(--tinta);padding:1.3rem 1.5rem 1.2rem;max-width:calc(var(--medida) + 3rem);margin:.4rem 0 1rem;background:var(--tarjeta);border-radius:var(--r)}
.regla::before{content:"";position:absolute;inset:4px;border:1px solid var(--borde);border-radius:2px;pointer-events:none}
.regla .et{display:block;color:var(--tinta);margin-bottom:.55rem}
.regla p{margin:0;font-size:1.0625rem;line-height:1.62}
.regla p+p{margin-top:.6rem}

/* ── ficha técnica: cifras con puntos conductores, cada una con base y fecha ── */
.tecnica{list-style:none;margin:0;padding:0;border-top:1px solid var(--borde)}
.tecnica li{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .7rem;padding:.7rem 0 .6rem;border-bottom:1px solid var(--borde-2)}
.tecnica .q{font-family:var(--sans);font-stretch:95%;font-weight:500;font-size:1rem}
.tecnica .puntos{flex:1;min-width:1.5rem;border-bottom:2px dotted var(--perf);transform:translateY(-.32em)}
.tecnica .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:500;color:var(--tinta);white-space:nowrap;letter-spacing:-.01em}
.tecnica .base{flex-basis:100%;font-family:var(--mono);font-size:.6875rem;line-height:1.6;letter-spacing:.02em;color:var(--tinta-3);margin-top:.1rem}
.tecnica.compacta .v{font-size:1.0625rem}
.tecnica.compacta li{padding:.5rem 0 .45rem}

/* ── salas: las cinco familias ── */
.salas{list-style:none;margin:0;padding:0;border-top:1px solid var(--borde)}
.salas li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem 1rem;align-items:baseline;padding:.95rem 0 .9rem;border-bottom:1px solid var(--borde-2)}
.salas .punto{width:.72rem;height:.72rem;border-radius:50%;background:var(--c);transform:translateY(.02rem);box-shadow:0 0 0 2px var(--papel),0 0 0 3px rgba(var(--c-rgb),.35)}
.salas b{font-family:var(--sans);font-weight:700;font-stretch:84%;font-size:1.3rem;letter-spacing:-.01em}
.salas .d{display:block;font-size:.9375rem;line-height:1.5;color:var(--tinta-2);margin-top:.1rem}
.salas .n{font-family:var(--mono);font-size:.6875rem;letter-spacing:.06em;color:var(--tinta-3);white-space:nowrap;text-align:right}

/* ── cartelas: cada pieza, como en la pared de una sala ── */
.cartelas{display:grid;grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:1.3rem;margin:.4rem 0 1.4rem}
.cartela{display:grid;grid-template-rows:auto 1fr;background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--r);text-decoration:none;color:inherit;overflow:hidden;box-shadow:0 1px 0 rgba(21,27,43,.06)}
.cartela:hover{border-color:var(--tampon);color:inherit}
.cartela:hover h2{color:var(--tampon)}
.cartela .lienzo{display:block;position:relative;overflow:hidden;aspect-ratio:16/9;background:var(--hueco);border-bottom:1px solid var(--borde-2)}
.cartela .lienzo img{position:absolute;display:block;max-width:none;height:auto;width:calc(100% * var(--W) / var(--cw));left:calc(-100% * var(--cx) / var(--cw));top:calc(-100% * var(--cy) / var(--ch))}
.cartela .lienzo .recuadro{position:absolute;border:2px solid var(--a-rojo);border-radius:2px;box-shadow:0 0 0 2px rgba(255,255,255,.8);pointer-events:none;
  left:calc(100% * (var(--bx) - 6 - var(--cx)) / var(--cw));top:calc(100% * (var(--by) - 6 - var(--cy)) / var(--ch));width:calc(100% * (var(--bw) + 12) / var(--cw));height:calc(100% * (var(--bh) + 12) / var(--ch))}
.cartela .lienzo.sin-foto{background:linear-gradient(135deg,rgba(var(--c-rgb),.14),rgba(var(--c-rgb),.04)) var(--hueco)}
.cartela .lienzo.sin-foto::after{content:'sin captura';position:absolute;left:1rem;bottom:.8rem;font-family:var(--mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(var(--c-rgb),.75)}
.cartela .lienzo.sin-foto::before{content:'';position:absolute;inset:.8rem;border:1px dashed rgba(var(--c-rgb),.45);border-radius:2px}
.cartela .texto{padding:1rem 1.15rem 1.1rem;display:grid;gap:.45rem;align-content:start}
.cartela .et{color:var(--c)}
.cartela h2{font-size:1.5rem;font-stretch:80%;line-height:1.02}
.cartela p{margin:0;font-size:.9375rem;line-height:1.5;color:var(--tinta-2)}
.cartela .pie{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap;font-family:var(--mono);font-size:.625rem;letter-spacing:.06em;color:var(--tinta-3);margin-top:.4rem;padding-top:.6rem;border-top:1px solid var(--borde-2)}

/* ── catálogo de tecnologías ── */
.catalogo{list-style:none;margin:0 0 1.6rem;padding:0;border-top:1px solid var(--borde)}
.catalogo li{display:grid;grid-template-columns:6.5rem minmax(0,1fr) auto;gap:.2rem 1.1rem;padding:.85rem 0 .8rem;border-bottom:1px solid var(--borde-2);align-items:baseline}
.catalogo .epoca{font-family:var(--mono);font-size:.6875rem;letter-spacing:.04em;color:var(--tinta-3);font-variant-numeric:tabular-nums;line-height:1.5}
.catalogo .nombre{font-family:var(--sans);font-weight:700;font-stretch:84%;font-size:1.25rem;color:var(--tinta);text-decoration:none;letter-spacing:-.01em;line-height:1.15}
.catalogo a.nombre:hover{color:var(--tampon)}
.catalogo .sin{font-family:var(--sans);font-weight:700;font-stretch:84%;font-size:1.25rem;color:var(--tinta-2);line-height:1.15}
.catalogo .epoca:empty::before{content:'—'}
.catalogo .que{display:block;font-size:.9375rem;color:var(--tinta-2);line-height:1.5;max-width:var(--medida)}
.catalogo .n{font-family:var(--mono);font-size:.875rem;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--tinta)}
.catalogo .n small{display:block;font-size:.5625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-3);margin-top:.1rem}
.catalogo .pendiente{font-family:var(--mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-3);margin-left:.5rem;white-space:nowrap}

/* ── ficha de una tecnología ── */
.tec-cab{padding-bottom:1.6rem}
.tec-cab h1{font-size:clamp(2.3rem,6.5vw,4.2rem);font-weight:800;font-stretch:76%;letter-spacing:-.02em;line-height:.95;margin:.6rem 0 1rem;max-width:16ch}
.tec-cab .entradilla{margin-bottom:1rem}
.tec-secciones h2{font-size:1.2rem;font-stretch:90%;margin:1.7rem 0 .45rem;padding-top:1.1rem;border-top:1px solid var(--borde-2)}
.tec-secciones h2:first-child{border-top:0;padding-top:0;margin-top:.4rem}
.tec-secciones p,.tec-secciones ul,.tec-secciones ol{max-width:var(--medida)}

/* ── barras: recuentos a escala del mayor ── */
.barras{list-style:none;margin:0 0 1rem;padding:0;border-top:1px solid var(--borde)}
.barras li{display:grid;grid-template-columns:minmax(8rem,15rem) minmax(0,1fr) 5.5rem;gap:.9rem;align-items:center;padding:.42rem 0;border-bottom:1px solid var(--borde-2)}
.barras .q{font-family:var(--sans);font-stretch:92%;font-size:.9375rem;line-height:1.3}
.barras .q a{color:inherit;text-decoration:underline;text-decoration-color:var(--borde);text-decoration-thickness:1px;text-underline-offset:.2em}
.barras .q a:hover{color:var(--tampon);text-decoration-color:currentColor}
.barras .b{display:block;height:.55rem;background:var(--hueco);border-radius:1px}
.barras .b i{display:block;height:100%;background:var(--sello);border-radius:1px}
.barras .n{font-family:var(--mono);font-size:.8125rem;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.barras .n small{color:var(--tinta-3);margin-left:.35rem}
.nota-base{font-family:var(--mono);font-size:.6875rem;line-height:1.6;letter-spacing:.02em;color:var(--tinta-3);max-width:var(--medida);margin:0 0 1.4rem}

/* ── tabla sencilla (datación, certificados) ── */
table.datos{border-collapse:collapse;width:100%;font-size:.9375rem;margin:0 0 1rem}
table.datos th{text-align:left;font-family:var(--sans);font-weight:600;font-stretch:95%;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-3);padding:.4rem 1rem .4rem 0;border-bottom:1px solid var(--borde)}
table.datos td{padding:.5rem .8rem .5rem 0;border-bottom:1px solid var(--borde-2);vertical-align:top;line-height:1.5}
table.datos td.n,table.datos th.n{font-family:var(--mono);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:1.4rem}
table.datos td.n:last-child,table.datos th.n:last-child{padding-right:0}
table.datos td.m{font-family:var(--mono);font-size:.8125rem}

/* ── artículos: el estatuto de lo que no se hace ── */
.articulos{list-style:none;margin:0;padding:0;counter-reset:art}
.articulos li{counter-increment:art;padding:1rem 0 .95rem;border-top:1px solid var(--borde-2);max-width:calc(var(--medida) + 4rem)}
.articulos li::before{content:"Artículo " counter(art) ".º";display:block;font-family:var(--sans);font-weight:600;font-stretch:95%;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tampon);margin-bottom:.25rem}
.articulos b{display:block;font-family:var(--sans);font-weight:700;font-stretch:86%;font-size:1.2rem;letter-spacing:-.01em;line-height:1.15;margin-bottom:.3rem}
.articulos p{margin:0;font-size:1rem;color:var(--tinta-2)}

/* ── pasos ── */
.pasos{list-style:none;margin:0;padding:0;counter-reset:paso}
.pasos li{counter-increment:paso;display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:0 .8rem;padding:.9rem 0;border-top:1px solid var(--borde-2);max-width:calc(var(--medida) + 3rem)}
.pasos li::before{content:counter(paso);font-family:var(--sans);font-weight:800;font-stretch:78%;font-size:1.9rem;line-height:1;color:var(--tampon)}
.pasos b{display:block;font-family:var(--sans);font-weight:700;font-stretch:86%;font-size:1.15rem;margin-bottom:.2rem}
.pasos p{margin:0;font-size:1rem;color:var(--tinta-2)}
.pasos b,.pasos p{grid-column:2}

/* ── cabecera de la pieza ── */
.pieza-cab{padding:0 0 clamp(1.4rem,3vw,2rem)}
.fam{color:var(--c)}
h1.titulo{font-size:clamp(2.5rem,7.4vw,4.6rem);font-weight:800;font-stretch:76%;letter-spacing:-.02em;line-height:.94;margin:.7rem 0 1.15rem;max-width:15ch}
.gancho{font-size:clamp(1.15rem,2vw,1.35rem);line-height:1.5;max-width:var(--medida);margin:0 0 1.4rem;color:var(--tinta)}
.meta{display:flex;flex-wrap:wrap;gap:.35rem 1.6rem;padding-top:.9rem;border-top:1px solid var(--borde);font-family:var(--mono);font-size:.6875rem;color:var(--tinta-3)}
.meta b{font-weight:500;color:var(--tinta-2)}

/* ── qué es: la cartela de la vitrina ── */
.que-es{background:var(--tarjeta);border:1px solid var(--borde);border-left:3px solid var(--c);border-radius:var(--r);
  padding:.95rem 1.2rem 1rem;max-width:var(--medida);margin:0 0 2.4rem;font-size:1rem;line-height:1.6;color:var(--tinta-2)}
.que-es .et{display:block;margin-bottom:.35rem;color:var(--c)}

.cuerpo p{max-width:var(--medida);margin:0 0 1.25rem}

/* ── vitrina: un listado de impresora. Barras verdes, perforación al margen, números de línea ── */
.vitrina,.foto{margin:1.8rem 0 2.3rem;background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--r);overflow:hidden;box-shadow:0 1px 0 rgba(21,27,43,.06)}
.vitrina .cab{display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:baseline;padding:.6rem .95rem .55rem;
  border-bottom:1px solid var(--borde);font-family:var(--mono);font-size:.6875rem;color:var(--tinta-3);background:var(--papel-2)}
.num{font-family:var(--mono);color:var(--c);font-weight:500;font-variant-numeric:tabular-nums}
.vitrina .cab .num::before{content:"nº "}
.vitrina .donde{color:var(--tinta-2)}
.vitrina .donde .ruta{color:var(--tinta-3)}
.vitrina .linea{margin-left:auto;font-variant-numeric:tabular-nums}
.codigo{overflow-x:auto;background:var(--tarjeta)}
.codigo table{border-collapse:collapse;min-width:100%;font-family:var(--mono);font-size:.875rem;line-height:1.7;tab-size:4}
.codigo td{padding:0;vertical-align:top}
.codigo td.n{width:1%;padding:0 .7rem 0 1.75rem;text-align:right;color:var(--tinta-3);opacity:.7;user-select:none;font-variant-numeric:tabular-nums;
  border-right:1px solid var(--borde-2);
  background-image:radial-gradient(circle at .62rem 50%,var(--papel) 0 2.6px,rgba(21,27,43,.16) 3.1px,transparent 3.7px),
                   repeating-linear-gradient(180deg,var(--perf) 0 3px,transparent 3px 7px);
  background-repeat:no-repeat,no-repeat;background-size:100% 100%,1px 100%;background-position:0 0,1.25rem 0}
.codigo tr:nth-child(6n+1) td,.codigo tr:nth-child(6n+2) td,.codigo tr:nth-child(6n+3) td{background-color:var(--listado)}
.codigo td.c{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--tinta);
  --s:min(var(--i,0) * 1ch,14ch);padding:0 1.2rem 0 calc(1rem + var(--s));text-indent:calc(-1 * var(--s))}
.codigo .t-c{color:#7C8290;font-style:italic}
.codigo .t-s{color:var(--a-ocre)}
.codigo .t-k{color:var(--a-azul)}
.codigo .t-a{color:var(--a-verde)}
.codigo .t-n{color:var(--a-morado)}
.codigo mark .t-c{color:var(--tinta-2)}
.codigo tr.ancla td{background-color:rgba(var(--c-rgb),.11)}
.codigo tr.ancla td.n{color:var(--c);opacity:1;font-weight:500;box-shadow:inset 3px 0 0 var(--c)}
.codigo mark{background:rgba(var(--c-rgb),.22);color:inherit;border-radius:2px;padding:.06em 0;font-weight:500;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.codigo .corte{color:var(--tinta-3);opacity:.6}
.vitrina figcaption{display:grid;gap:.45rem;padding:.75rem .95rem .85rem;border-top:1px solid var(--borde);font-size:.9375rem;line-height:1.55;color:var(--tinta-2);background:var(--tarjeta)}
.vitrina figcaption .nota{display:flex;gap:.85rem}
.vitrina figcaption .num,.foto figcaption .num{flex:none;font-size:.6875rem;padding-top:.3rem;min-width:1.2rem}
.codigo sup.ref{font-size:.6em;line-height:0;color:var(--c);font-weight:500;margin-left:.15em;vertical-align:.7em}

/* ── foto: la página tal como se ve, con nuestro recuadro ── */
.foto .marco{display:block;position:relative;background:var(--hueco);text-decoration:none}
.foto .lienzo{display:block;position:relative;overflow:hidden;width:100%;--cw:var(--dw);--ch:var(--dh);--cx:var(--dx);--cy:var(--dy);aspect-ratio:calc(var(--cw) / var(--ch))}
.foto img{position:absolute;display:block;max-width:none;height:auto;width:calc(100% * var(--W) / var(--cw));left:calc(-100% * var(--cx) / var(--cw));top:calc(-100% * var(--cy) / var(--ch))}
.foto .recuadro{position:absolute;border:2px solid var(--a-rojo);border-radius:3px;box-shadow:0 0 0 2px rgba(255,255,255,.85),0 2px 10px rgba(0,0,0,.18);pointer-events:none;
  left:calc(100% * (var(--bx) - 6 - var(--cx)) / var(--cw));top:calc(100% * (var(--by) - 6 - var(--cy)) / var(--ch));width:calc(100% * (var(--bw) + 12) / var(--cw));height:calc(100% * (var(--bh) + 12) / var(--ch))}
.foto figcaption{display:flex;gap:.85rem;padding:.7rem .95rem .8rem;border-top:1px solid var(--borde);font-size:.9375rem;line-height:1.5;color:var(--tinta-2)}
.foto .cuando{display:block;font-family:var(--mono);font-size:.6875rem;color:var(--tinta-3);margin-top:.25rem}

/* ── remate ── */
.remate{font-size:clamp(1.15rem,2vw,1.35rem);line-height:1.55;font-style:italic;font-weight:300;padding-left:1.1rem;border-left:3px solid var(--tampon);margin:2.4rem 0 2.8rem;max-width:var(--medida)}

/* ── decimos / no decimos ── */
.decimos{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin:0 0 2.6rem}
.decimos>div{background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--r);padding:1rem 1.15rem 1.05rem;font-size:.9375rem;line-height:1.6;color:var(--tinta-2)}
.decimos .et{display:block;margin-bottom:.45rem}
.decimos .si{border-top:3px solid var(--c)}
.decimos .si .et{color:var(--c)}
.decimos .no{border-top:3px solid var(--sello)}
.decimos .no .et{color:var(--sello)}

/* ── procedencia ── */
.pruebas{border-top:1px solid var(--borde);padding-top:1.3rem;margin-bottom:3.2rem}
.pruebas h2{font-size:1.2rem;font-stretch:90%;margin:.35rem 0 .35rem}
.pruebas p{margin:0 0 .9rem;font-size:.9375rem;color:var(--tinta-2);max-width:var(--medida)}
.fuentes{list-style:none;margin:0;padding:0;font-family:var(--mono);font-size:.6875rem;color:var(--tinta-2);line-height:1.6}
.fuentes li{padding:.55rem 0;border-top:1px solid var(--borde-2);display:grid;gap:.1rem}
.fuentes a{color:var(--tinta);overflow-wrap:anywhere;text-decoration-color:rgba(var(--c-rgb),.35)}
.fuentes .datos{display:flex;flex-wrap:wrap;gap:.2rem .9rem;color:var(--tinta-3)}
.fuentes .sha{overflow-wrap:anywhere}
.fuentes .vivo{color:var(--a-verde)}

/* ── siguiente pieza ── */
.siguiente{border-top:1px solid var(--borde);padding:1.4rem 0 2.6rem;display:grid;gap:.3rem}
.siguiente a{font-family:var(--sans);font-weight:700;font-stretch:80%;font-size:1.6rem;text-decoration:none;color:var(--tinta);letter-spacing:-.01em}
.siguiente a:hover{color:var(--tampon)}

/* ── 404 ── */
.no-consta{padding:3rem 0 4rem;display:grid;gap:1.2rem;justify-items:start}
.no-consta .cifra{font-family:var(--sans);font-weight:800;font-stretch:70%;font-size:clamp(6rem,22vw,13rem);line-height:.85;letter-spacing:-.04em;color:var(--sello)}

/* ── colofón ── */
.colofon{background:var(--papel-2);border-top:1px solid var(--borde);margin-top:2rem}
.colofon .caja{display:grid;grid-template-columns:minmax(0,1fr);gap:1.2rem 2.5rem;padding-top:2rem;padding-bottom:2.6rem;font-size:.875rem;line-height:1.6;color:var(--tinta-2)}
.colofon .marca{color:var(--tinta)}
.colofon .marca .des{border-color:var(--tampon);color:var(--tampon)}
.colofon .marca .nombre small{font-size:.5rem;letter-spacing:.14em}
.colofon p{margin:0 0 .6rem;max-width:var(--medida)}
.colofon nav{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;margin:1.4rem 0 1.5rem;font-family:var(--sans);font-weight:600;font-stretch:92%;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase}
.colofon nav a{color:var(--tinta-2);text-decoration:none}
.colofon nav a:hover{color:var(--tampon)}
.colofon .fin{font-family:var(--mono);font-size:.625rem;letter-spacing:.08em;color:var(--tinta-3);text-transform:uppercase}
@media (min-width:62rem){
  .colofon .caja{grid-template-columns:var(--margen) minmax(0,var(--ancha))}
  /* en la columna de margen (10rem) la marca va apilada: sello, nombre, lema */
  .colofon .marca{flex-direction:column;align-items:flex-start;gap:.85rem}
  .colofon .marca .des{margin-left:.2rem}
}

/* ── piezas dentro del sitio: sin barra propia ── */
.expediente>.caja>.barra{display:none}

@media (max-width:640px){
  .foto .lienzo{--cw:var(--mw);--cx:var(--mx)}
  body{font-size:1.0625rem}
  .decimos{grid-template-columns:1fr}
  .vitrina .linea{margin-left:0}
  .codigo table{font-size:.8125rem}
  .codigo td.c{--s:min(var(--i,0) * 1ch,6ch)}
  .catalogo li{grid-template-columns:minmax(0,1fr) auto}
  .catalogo .epoca{grid-column:1 / -1;order:-1}
  .catalogo .epoca:empty{display:none}
  .barras li{grid-template-columns:minmax(0,1fr) 4.5rem;gap:.3rem .9rem;padding:.55rem 0 .7rem}
  .barras .b{grid-column:1 / -1;order:3}
  .marca .nombre{font-size:1.3rem}
  nav.principal{gap:1rem;font-size:.6875rem}
  .tecnica .base{flex-basis:100%}
  /* sin columna de margen: el sello y las notas van en fila, como una cartela, y no empujan el título */
  .margen{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.8rem 1.4rem;align-items:start;padding-bottom:1.4rem;margin-bottom:.4rem;border-bottom:1px solid var(--borde-2)}
  .margen .tampon{grid-column:1 / -1;justify-self:start;margin-bottom:.3rem}
  .margen .nota{max-width:none}
  /* tablas: que la cabecera de las columnas numéricas se parta, y no el texto */
  table.datos{font-size:.875rem}
  table.datos th.n{white-space:normal;vertical-align:bottom}
  table.datos td.n,table.datos th.n{padding-right:.9rem}
  table.datos td{padding-right:.5rem}
}
/* lote-qa-1 */
.salas b,.cartela h2,.catalogo .nombre,.catalogo .sin,.articulos b,.pasos b,.siguiente a{word-spacing:.08em}
/* lote-qa-2 */
/* lote-qa-3 */
/* lote-qa-4 */
/* lote-qa-5 */
/* lote-qa-6 */
/* lote-qa-7 */
