/* Desgobierno Digital — hoja de estilos del sitio y de las fichas. v2
   Identidad: un expediente sobre la mesa. La mesa es azul-tinta oscuro, con grano;
   encima, la hoja de papel de oficio gris, con su pestaña de registro y su sombra.
   Los sellos son de tampón violeta. El código de las piezas se lee en un monitor de
   fósforo ámbar; las citas de las fichas de dominio, en un listado de impresora con
   barras verdes y perforación. Las fotos van pegadas con cinta.
   Sin peticiones a terceros. El único script es propio (mapa.js) y sin él se lee igual. */

:root{
  color-scheme:light;
  /* FONDO_V3 · variante A — cartulina de archivo gris verdosa. La hoja va encima. */
  --mesa:#A2AB9B;--mesa-2:#949E8C;--mesa-3:#B6BEAE;--mesa-tinta:#1F251A;--mesa-tinta-2:#4A5143;
  --mesa-linea:rgba(31,37,26,.18);--mesa-luz:rgba(255,255,255,.26);--carpeta:#C4CBB8;
  --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;--listado-2:#F4F8F1;--perf:#C4C9CE;--fluor:#F7EA6A;
  --bisel:#2E3239;--bisel-2:#1E2126;--bisel-3:#41464F;--pantalla:#100F0C;--fosforo:#F2B441;--fosforo-2:#B8862F;--fosforo-3:#6E5320;--fosforo-rgb:242,180,65;
  --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;--apost:14rem;--marco:clamp(1.15rem,5vw,3rem);--r:3px;
  --cinta:rgba(190,198,205,.62);--regla:rgba(21,27,43,.10);
  --c:var(--a-azul);--c-rgb:44,95,135;--halo:#FBFBF9;
  --grano:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--mesa)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;color:var(--tinta);background:var(--mesa);
  font-family:var(--serif);font-size:1.125rem;line-height:1.72;font-weight:400;
  font-optical-sizing:auto;-webkit-font-smoothing:antialiased;position:relative;
}
/* la mesa: grano y una luz que cae desde arriba */
/* MARCA_V3 — la cartulina: fibra de cartón prensado, luz cenital y esquinas gastadas */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(64% 40% at 50% -8%,var(--mesa-luz),transparent 70%),
    radial-gradient(150% 108% at 50% 108%,rgba(38,44,32,.42),transparent 58%),
    repeating-linear-gradient(93deg,rgba(255,255,255,.075) 0 1px,transparent 1px 3px),
    repeating-linear-gradient(2deg,rgba(38,44,32,.075) 0 1px,transparent 1px 5px),
    repeating-linear-gradient(88deg,rgba(38,44,32,.045) 0 1px,transparent 1px 11px),
    var(--mesa)}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.42;background:var(--grano);mix-blend-mode:multiply}
::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)}
svg{max-width:100%;height:auto}

/* ── cabecera: la banda oscura de la mesa, con el DES sellado encima ── */
.cabecera{background:transparent;color:var(--mesa-tinta);border-bottom:1px solid var(--mesa-linea)}
.cabecera .caja{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem 2rem;padding-top:1rem;padding-bottom:1rem}
.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);color:var(--tampon);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;color:var(--mesa-tinta)}
.marca .nombre small{display:block;font-family:var(--mono);font-size:.5625rem;letter-spacing:.22em;font-weight:400;font-stretch:100%;opacity:.8;margin-top:.38rem;text-transform:uppercase;white-space:nowrap;color:var(--mesa-tinta-2)}
nav.principal{display:flex;flex-wrap:wrap;gap:.2rem 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:var(--mesa-tinta-2);text-decoration:none;padding:.35rem 0 .25rem;border-bottom:2px solid transparent}
nav.principal a:hover{color:var(--tampon)}
nav.principal a[aria-current]{border-color:var(--tampon);color:var(--mesa-tinta)}

/* ── la hoja: el papel sobre la mesa ── */
.expediente{padding:1.6rem 0 3.4rem}
.expediente>.caja{position:relative;background:var(--papel);color:var(--tinta);
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset,
             11px 13px 0 0 var(--carpeta),                 /* CARPETA_V3: la carpeta que asoma */
             12px 14px 0 1px rgba(38,44,32,.22),
             0 1px 2px rgba(38,44,32,.28),0 18px 40px -14px rgba(38,44,32,.55),
             0 0 0 1px rgba(38,44,32,.13);
  padding-bottom:2.5rem}
/* los taladros del archivador, en el margen izquierdo del papel */
@media (min-width:62rem){
  .expediente>.caja{background:
    radial-gradient(circle at 1.5rem 7.5rem,var(--mesa-2) 0 6.4px,rgba(40,46,36,.42) 6.4px 7.4px,transparent 8px),
    radial-gradient(circle at 1.5rem 15.5rem,var(--mesa-2) 0 6.4px,rgba(40,46,36,.42) 6.4px 7.4px,transparent 8px),
    radial-gradient(circle at 1.5rem 23.5rem,var(--mesa-2) 0 6.4px,rgba(40,46,36,.42) 6.4px 7.4px,transparent 8px),
    var(--papel)}
}
.expediente>.caja::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;background:var(--grano);mix-blend-mode:multiply}
.expediente>.caja::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(var(--tampon-rgb),.55),transparent);pointer-events:none}
.expediente>.caja>*{position:relative}
@media (min-width:62rem){.expediente{padding-top:2.2rem}}

/* ── folio: la línea de registro que corre por la pestaña de la hoja ── */
.folio{display:flex;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;padding:.85rem 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)}
@media (min-width:62rem){
  .folio{justify-content:flex-end}
  .expediente>.caja>.folio>span:first-child{
    position:absolute;left:calc(var(--marco) + 3.2rem);top:-1.72rem;
    background:linear-gradient(180deg,var(--papel) 60%,var(--papel-2));
    padding:.5rem 1.1rem .42rem;border-radius:4px 4px 0 0;color:var(--tinta-2);
    box-shadow:0 -1px 0 rgba(255,255,255,.5) inset,-6px -6px 14px -10px rgba(0,0,0,.7),6px -6px 14px -10px rgba(0,0,0,.7)}
  .expediente>.caja>.folio>span:first-child b{color:var(--tinta)}
}

/* ── 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(1.6rem,4vw,2.8rem) 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}
.margen .nota b.nivel{display:inline;color:var(--a-verde);text-transform:none;letter-spacing:.04em;font-size:.6875rem}
.margen .nota a{color:var(--tinta-2);overflow-wrap:anywhere}
.margen .termometro{margin-top:.35rem}
.texto{min-width:0}
/* la cabecera de expediente en horizontal: para las páginas que quieren toda la hoja */
.tira{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1rem 2.2rem;padding:0 0 1.3rem;margin:0 0 1.6rem;border-bottom:1px solid var(--borde)}
.tira .tampon{margin-right:.6rem}
.tira .nota{font-family:var(--mono);font-size:.625rem;line-height:1.7;letter-spacing:.06em;color:var(--tinta-3);max-width:13rem}
.tira .nota b{display:block;font-weight:500;color:var(--tinta-2);letter-spacing:.1em;text-transform:uppercase}
.tira .nota a{color:var(--tinta-2);overflow-wrap:anywhere}
@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%}
h1.grande.host{font-family:var(--mono);font-weight:500;font-stretch:100%;font-size:clamp(1.5rem,4.6vw,2.6rem);letter-spacing:-.02em;line-height:1.1;max-width:none;overflow-wrap:anywhere;margin:.3rem 0 1rem}
.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}
.dominio-cab .entradilla{font-size:1.15rem;color:var(--tinta-2)}
.sumario{font-family:var(--sans);font-stretch:95%;font-size:.9375rem;color:var(--tinta-2);max-width:var(--medida);margin:0 0 .6rem}
.aviso{font-family:var(--sans);font-stretch:95%;font-size:.9375rem;color:var(--tinta-2);border-left:3px solid var(--a-ocre);padding:.2rem 0 .2rem .8rem;max-width:var(--medida)}

/* ── secciones ── */
.seccion{padding:2.4rem 0 .6rem;border-top:1px solid var(--borde)}
.seccion.primera{border-top:0;padding-top:.6rem}
.seccion>.et{display:grid;grid-template-columns:auto auto minmax(1.5rem,1fr);align-items:center;gap:.7rem;margin-bottom:.95rem}
.seccion>.et b{color:var(--tampon);font-weight:700;margin-right:0;font-variant-numeric:tabular-nums}
.seccion>.et::after{content:"";display:block;height:0;border-top:1px solid var(--regla);border-bottom:1px solid var(--regla);
  padding-top:2px}
.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)}

/* ── apostilla: nota mecanografiada en el margen derecho, junto al párrafo que comenta ── */
.apostilla{font-family:var(--mono);font-size:.6875rem;line-height:1.75;letter-spacing:.015em;color:var(--tinta-3);
  margin:.35rem 0 1rem;padding:0 0 0 .8rem;border-left:2px solid rgba(var(--tampon-rgb),.35)}
.apostilla b{display:block;font-weight:500;color:var(--tinta-2);letter-spacing:.11em;text-transform:uppercase;font-size:.625rem;margin-bottom:.25rem}
.apostilla .g{display:block;font-family:var(--sans);font-weight:800;font-stretch:78%;font-size:1.7rem;line-height:1;
  color:var(--tampon);letter-spacing:-.01em;margin:.15rem 0 .1rem;font-variant-numeric:tabular-nums}
.apostilla a{color:var(--tinta-2)}
@media (min-width:62rem){
  .apostilla{float:right;clear:right;width:var(--apost);margin:.2rem 0 1rem 2rem}
  .seccion>.et+.apostilla{margin-top:-2.6rem}
}

/* ── 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}

/* ── estado de la auditoría: embudo, termómetro y pasos ── */
.embudo{display:block;width:100%;max-width:48rem;margin:.6rem 0 1rem}
.termometro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .9rem;align-items:center;max-width:48rem;margin:.4rem 0 1.4rem}
.termometro .barra{display:block;height:.9rem;background:var(--hueco);border:1px solid var(--borde);border-radius:1px;overflow:hidden;
  background-image:repeating-linear-gradient(90deg,transparent 0 calc(10% - 1px),var(--borde-2) calc(10% - 1px) 10%)}
.termometro .barra i{display:block;height:100%;background:var(--tampon);
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.12) 0 3px,transparent 3px 7px)}
.termometro .cifra{font-family:var(--sans);font-weight:800;font-stretch:80%;font-size:1.9rem;line-height:1;color:var(--tampon);font-variant-numeric:tabular-nums}
.termometro .cifra small{font-size:.55em;font-weight:600;letter-spacing:.02em;margin-left:.1em}
.termometro .rotulo{grid-column:1 / -1;font-family:var(--mono);font-size:.6875rem;letter-spacing:.03em;color:var(--tinta-3)}
.margen .termometro{grid-template-columns:minmax(0,1fr) auto;gap:.1rem .5rem;margin:.3rem 0 0;max-width:11rem}
.margen .termometro .barra{height:.45rem}
.margen .termometro .cifra{font-size:.9rem;font-weight:700}
.pasos-estado{list-style:none;margin:.4rem 0 1rem;padding:0;counter-reset:pe;border-top:1px solid var(--borde)}
.pasos-estado li{counter-increment:pe;display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto;gap:.1rem .9rem;align-items:baseline;padding:.85rem 0 .8rem;border-bottom:1px solid var(--borde-2);max-width:calc(var(--medida) + 6rem)}
.pasos-estado li::before{content:counter(pe);font-family:var(--sans);font-weight:800;font-stretch:78%;font-size:1.6rem;line-height:1;color:var(--tinta-3);grid-row:span 2}
.pasos-estado b{font-family:var(--sans);font-weight:700;font-stretch:86%;font-size:1.15rem;grid-column:2}
.pasos-estado p{grid-column:2 / -1;margin:0;font-size:1rem;color:var(--tinta-2);max-width:none}
.pasos-estado .estado{grid-column:3;grid-row:1;justify-self:end;font-family:var(--sans);font-weight:700;font-stretch:85%;font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;
  border:1.5px solid currentColor;border-radius:2px;padding:.28em .5em .2em;transform:rotate(-2deg);white-space:nowrap}
.pasos-estado .hecho .estado{color:var(--a-verde)}
.pasos-estado .marcha .estado{color:var(--tampon)}
.pasos-estado .pendiente .estado{color:var(--tinta-3);border-style:dashed}
.pasos-estado .hecho::before{color:var(--a-verde)}
.pasos-estado .marcha::before{color:var(--tampon)}

/* ── 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, una foto montada con esquinas y su cartela mecanografiada ── */
.cartelas{display:grid;grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:1.6rem 1.3rem;margin:.4rem 0 1.4rem}
.cartela{display:grid;grid-template-rows:auto 1fr;text-decoration:none;color:inherit;position:relative}
.cartela:hover{color:inherit}
.cartela:hover h2{color:var(--tampon)}
.cartela .lienzo{display:block;position:relative;overflow:hidden;aspect-ratio:16/9;background:var(--hueco);border:1px solid var(--borde);
  box-shadow:0 1px 2px rgba(0,0,0,.12),0 6px 14px -6px rgba(0,0,0,.28)}
.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}
/* las esquinas de montaje */
.cartela::before,.cartela::after{content:"";position:absolute;top:-4px;width:0;height:0;border:9px solid transparent;border-top-color:var(--tinta-2);z-index:1;opacity:.85}
.cartela::before{left:-4px;border-right-color:var(--tinta-2);border-top-color:transparent;border-top-left-radius:2px}
.cartela::after{right:-4px;border-left-color:var(--tinta-2);border-top-color:transparent}
.cartela .texto{padding:.9rem .15rem 0;display:grid;gap:.4rem;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:.3rem;padding-top:.55rem;border-top:1px dotted var(--perf)}

/* ── 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: VITRINA_V3. Un monitor de fósforo ámbar montado en chasis metálico,
   con su placa grabada, su piloto y una cartela de papel atornillada debajo ── */
.vitrina{margin:2rem 0 2.6rem;position:relative;
  background:linear-gradient(176deg,#4A4F58 0,var(--bisel) 9%,var(--bisel-2) 62%,#15181D 100%);
  border-radius:12px;padding:.95rem 1rem 1rem;
  box-shadow:0 1px 0 rgba(255,255,255,.16) inset,0 -1px 0 rgba(0,0,0,.6) inset,
             0 2px 3px rgba(0,0,0,.34),0 24px 48px -16px rgba(0,0,0,.66)}
/* los cuatro tornillos del chasis */
.vitrina::before,.vitrina::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#8A909B,#3C4048 62%,#23262C);
  box-shadow:0 1px 1px rgba(0,0,0,.65),0 0 0 1px rgba(0,0,0,.35);pointer-events:none}
.vitrina::before{left:.5rem;bottom:.5rem}
.vitrina::after{right:.5rem;bottom:.5rem}
.vitrina .cab{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:center;padding:0 .3rem .7rem;
  font-family:var(--mono);font-size:.6875rem;color:rgba(255,255,255,.6);letter-spacing:.04em}
/* la placa grabada con el número de cita */
.vitrina .cab .num{display:inline-block;background:linear-gradient(180deg,#0A0B0D,#17191E);color:var(--fosforo);
  font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:.34em .65em .26em;border-radius:2px;
  box-shadow:0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.7) inset;transform:none}
.vitrina .cab .num::before{content:"cita "}
/* el piloto de encendido */
.vitrina .cab::after{content:"";order:9;width:6px;height:6px;border-radius:50%;background:var(--fosforo);
  box-shadow:0 0 6px 1px rgba(var(--fosforo-rgb),.7);flex:none;margin-left:auto}
.vitrina .donde{color:rgba(255,255,255,.86);overflow-wrap:anywhere}
.vitrina .donde .ruta{color:rgba(255,255,255,.5)}
.vitrina .linea{margin-left:auto;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.72)}
.vitrina .cab .linea+*{margin-left:0}
/* la pantalla */
.vitrina .codigo{background:var(--pantalla);border-radius:7px;position:relative;
  box-shadow:0 0 0 1px #000,0 0 0 4px #0A0B0D,0 1px 0 rgba(255,255,255,.07),
             0 0 34px rgba(var(--fosforo-rgb),.12) inset,0 0 90px rgba(0,0,0,.75) inset}
.vitrina .codigo::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:7px;
  background:repeating-linear-gradient(180deg,rgba(0,0,0,.30) 0 1px,transparent 1px 3px),
             radial-gradient(115% 130% at 50% 45%,transparent 52%,rgba(0,0,0,.42) 100%),
             radial-gradient(ellipse at 50% -4%,rgba(255,255,255,.07),transparent 55%)}
.codigo{overflow-x:auto}
.codigo table{border-collapse:collapse;min-width:100%;font-family:var(--mono);font-size:.875rem;line-height:1.75;tab-size:4}
.codigo td{padding:0;vertical-align:top}
.vitrina .codigo table{color:var(--fosforo);text-shadow:0 0 6px rgba(var(--fosforo-rgb),.4)}
.vitrina .codigo td.n{width:1%;padding:0 .75rem 0 1.5rem;text-align:right;color:var(--fosforo-3);user-select:none;
  font-variant-numeric:tabular-nums;text-shadow:none;border-right:1px solid rgba(var(--fosforo-rgb),.14);position:relative}
.vitrina .codigo tr:first-child td{padding-top:.85rem}
.vitrina .codigo tr:last-child td{padding-bottom:.95rem}
.codigo td.c{white-space:pre-wrap;overflow-wrap:anywhere;
  --s:min(var(--i,0) * 1ch,14ch);padding:0 1.3rem 0 calc(1.1rem + var(--s));text-indent:calc(-1 * var(--s))}
.vitrina .codigo .t-c{color:#C9953A;font-style:italic}
.vitrina .codigo .t-s{color:#FAD98F}
.vitrina .codigo .t-k{color:#FFE9BC;font-weight:500}
.vitrina .codigo .t-a{color:#EDAE43}
.vitrina .codigo .t-n{color:#FAD98F}
/* la línea de la cita: rail ámbar, cursor en el canalón y fondo encendido */
.vitrina .codigo tr.ancla td{background:rgba(var(--fosforo-rgb),.085)}
.vitrina .codigo tr.ancla td.n{color:var(--pantalla);background:var(--fosforo);font-weight:500;
  box-shadow:none;text-shadow:none}
.vitrina .codigo tr.ancla td.n::before{content:"\25B8";position:absolute;left:.35rem;color:var(--pantalla);font-weight:700}
.vitrina .codigo mark{background:var(--fosforo);color:var(--pantalla);text-shadow:none;border-radius:1px;
  padding:.06em .12em;font-weight:500;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.vitrina .codigo mark .t-c,.vitrina .codigo mark .t-s,.vitrina .codigo mark .t-k,.vitrina .codigo mark .t-a,.vitrina .codigo mark .t-n{color:var(--pantalla)}
.codigo .corte{opacity:.5}
/* la cartela: papel atornillado al chasis, por debajo de la pantalla */
.vitrina figcaption{display:grid;gap:.6rem;margin:.85rem 0 .1rem;padding:.85rem 1.05rem .9rem;
  background:var(--tarjeta);border-radius:4px;color:var(--tinta-2);
  font-size:.9375rem;line-height:1.58;
  box-shadow:0 1px 0 rgba(255,255,255,.18),0 2px 6px rgba(0,0,0,.35)}
.vitrina figcaption .nota{display:grid;grid-template-columns:1.35rem minmax(0,1fr);gap:.85rem}
.vitrina figcaption .num{flex:none;font-size:.6875rem;padding-top:.28rem;color:var(--tinta);font-family:var(--mono);font-weight:500;
  text-align:right;border-right:2px solid var(--fosforo-2);padding-right:.35rem;margin-right:-.4rem}
.vitrina figcaption a{color:var(--a-azul);text-decoration-color:rgba(44,95,135,.45)}
.vitrina figcaption a:hover{color:var(--tampon)}
.vitrina figcaption code{background:var(--hueco);color:var(--tinta)}
.vitrina figcaption .host{color:var(--tinta)}
.codigo sup.ref{font-size:.6em;line-height:0;font-weight:500;margin-left:.15em;vertical-align:.7em}
.vitrina .codigo sup.ref{color:var(--pantalla);background:var(--fosforo);border-radius:2px;padding:.15em .25em}
.num{font-family:var(--mono);color:var(--c);font-weight:500;font-variant-numeric:tabular-nums}

/* ── foto: FOTO_V3. La página tal como se ve, pegada con cinta de archivo, con el
   recuadro que señala el elemento y su etiqueta ── */
.foto{margin:2.4rem .35rem 2.8rem;background:var(--tarjeta);border:1px solid var(--borde);padding:.5rem .5rem 0;position:relative;
  transform:rotate(-.45deg);box-shadow:0 1px 2px rgba(0,0,0,.16),0 14px 30px -10px rgba(0,0,0,.4)}
.foto:nth-of-type(even){transform:rotate(.38deg)}
.foto::before,.foto::after{content:"";position:absolute;top:-.6rem;width:4.6rem;height:1.35rem;
  background:linear-gradient(180deg,rgba(214,221,226,.9),rgba(178,188,197,.8));
  box-shadow:0 1px 3px rgba(0,0,0,.28),0 0 0 .5px rgba(21,27,43,.14);z-index:2;
  background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.55) 0 1px,transparent 1px 4px),
                   linear-gradient(180deg,rgba(214,221,226,.92),rgba(178,188,197,.82))}
.foto::before{left:1.5rem;transform:rotate(-5.5deg)}
.foto::after{right:1.5rem;transform:rotate(4.5deg)}
.foto .marco{display:block;position:relative;background:var(--hueco);text-decoration:none}
.foto .marco:focus-visible{outline:2px solid var(--tampon);outline-offset:3px}
.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));border:1px solid var(--borde-2)}
.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:2px;box-shadow:0 0 0 2px rgba(255,255,255,.9),0 3px 12px rgba(0,0,0,.25);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 .recuadro i{position:absolute;left:-2px;bottom:calc(100% + 3px);font-family:var(--sans);font-style:normal;
  font-weight:700;font-stretch:85%;font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;
  background:var(--a-rojo);color:#FFF;padding:.26em .45em .2em;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.foto figcaption{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;padding:.75rem .65rem .85rem;
  font-family:var(--mono);font-size:.8125rem;line-height:1.55;color:var(--tinta-2)}
.foto figcaption .num{font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--a-rojo);
  border:1.5px solid currentColor;border-radius:2px;padding:.24em .4em .18em;align-self:start;margin-top:.15rem;white-space:nowrap}
.foto .cuando{display:block;font-family:var(--mono);font-size:.6875rem;color:var(--tinta-3);margin-top:.3rem}

/* ── 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)}

/* ── dominios: mapa, embudo, cuadrícula, árbol ── */
.mosaico-env{margin:.6rem 0 .7rem}
.mosaico{display:block;width:100%;height:auto;background:var(--tarjeta);border:1px solid var(--borde);padding:3px;
  box-shadow:0 1px 2px rgba(21,27,43,.12)}
.mosaico a rect{transition:none}
.mosaico a rect:hover,.mosaico a:focus rect{stroke:var(--tinta);stroke-width:2}
.leyenda{list-style:none;margin:.2rem 0 1.4rem;padding:0;display:flex;flex-wrap:wrap;gap:.35rem 1.2rem;font-family:var(--mono);font-size:.6875rem;letter-spacing:.02em;color:var(--tinta-2)}
.leyenda li{display:inline-flex;align-items:center;gap:.45rem}
.leyenda i{display:inline-block;width:.75rem;height:.75rem;border-radius:1px;flex:none}
.leyenda i.muerto{background:repeating-linear-gradient(135deg,var(--a-rojo) 0 1.5px,transparent 1.5px 4px);border:1px solid var(--a-rojo)}
.leyenda b{font-weight:500;color:var(--tinta);margin-right:.1rem}
.cuadricula-env{margin:1rem 0 .5rem}
.cuadricula{display:block;width:100%;max-width:52rem;height:auto}
/* ATLAS_V3: el árbol nunca se corta. Si cabe, a tamaño natural; si no, se reduce. */
.arbol-env{margin:.6rem 0 1rem;padding-bottom:.4rem}
.arbol-env svg{display:block;max-width:100%;height:auto;margin:0 auto}
@media (max-width:61.999rem){
  .arbol-env{position:relative;overflow-x:auto;overscroll-behavior-x:contain;
    -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 2.2rem),transparent);
    mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 2.2rem),transparent)}
  .arbol-env svg{max-width:none}
  .arbol-pista{display:block}
}
.arbol-pista{display:none;font-family:var(--mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-3);margin:-.4rem 0 1rem}
.arbol-pista::after{content:" →"}
.arbol a{text-decoration:none}
.arbol a:hover rect,.arbol a:focus rect{stroke-width:2}
.arbol a:hover text{text-decoration:underline}
.arbol a[data-h] rect{transition:opacity .12s}
.arbol.foco a[data-h] rect{opacity:.14}
.arbol.foco a[data-h].vivo rect{opacity:1;stroke:var(--tinta);stroke-width:2}
.arbol-foco{font-family:var(--mono);font-size:.75rem;color:var(--tampon);min-height:1.4rem;margin:0 0 .4rem}
.arbol-foco:empty::before{content:"pasa el ratón por un cuadro para ver su dominio";color:var(--tinta-3)}
.crono-env{margin:.4rem 0 .8rem;overflow-x:auto}
.cronologia{display:block;width:100%;max-width:48rem;height:auto}
.datacion{font-family:var(--sans);font-stretch:95%;font-size:1rem;color:var(--tinta-2);border-left:3px solid var(--tampon);padding-left:.8rem}

/* ── lo que ya no se mantiene ── */
.chip{display:inline-block;font-family:var(--sans);font-weight:700;font-stretch:85%;font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;
  border:1.5px solid currentColor;border-radius:2px;padding:.25em .45em .18em;margin-right:.6rem;vertical-align:.15em;transform:rotate(-2deg);line-height:1}
.chip.alto{color:var(--a-rojo)}
.chip.medio{color:var(--a-ocre)}
.chip.bajo{color:var(--tinta-3)}
.sin-mantener{list-style:none;margin:0 0 1rem;padding:0;border-top:1px solid var(--borde)}
.sin-mantener li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem 1rem;align-items:baseline;padding:.7rem 0 .65rem;border-bottom:1px solid var(--borde-2);max-width:calc(var(--medida) + 6rem)}
.sin-mantener b{font-family:var(--sans);font-weight:700;font-stretch:86%;font-size:1.05rem;letter-spacing:-.005em}
.sin-mantener b a{color:inherit;text-decoration-color:var(--borde)}
.sin-mantener .x{grid-column:1;font-size:.9375rem;line-height:1.5;color:var(--tinta-2)}
.sin-mantener .ref{grid-column:2;grid-row:1 / span 2;font-family:var(--mono);font-size:.6875rem;color:var(--tinta-3);text-decoration:none;border:1px solid var(--borde);border-radius:2px;padding:.15em .45em;align-self:start}
.sin-mantener .ref::before{content:"cita "}
.sin-mantener .ref:hover{color:var(--tampon);border-color:var(--tampon)}

/* ── radiografía de cabeceras ── */
.radiografia{display:grid;gap:1.2rem 2rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin:.4rem 0 1.2rem;max-width:48rem}
.radiografia .et{display:block;margin-bottom:.5rem}
.radiografia ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--borde)}
.radiografia li{display:flex;justify-content:space-between;gap:1rem;padding:.42rem 0;border-bottom:1px solid var(--borde-2);font-family:var(--mono);font-size:.75rem;line-height:1.5}
.radiografia .t{color:var(--tinta-2)}
.radiografia .v{text-align:right;overflow-wrap:anywhere;color:var(--tinta)}
.radiografia .celdas li.si .v{color:var(--a-verde)}
.radiografia .celdas li.no .v{color:var(--a-rojo)}
.radiografia .celdas li.no .v::before,.radiografia .dice li.no .v::before{content:"✕ "}
.radiografia .celdas li.si .v::before{content:"✓ "}

/* ── citas de dominio: listados de impresora, plegados por página ── */
.citas-dominio{margin:.4rem 0 1rem}
details.pagina{border-top:1px solid var(--borde)}
details.pagina:last-child{border-bottom:1px solid var(--borde)}
details.pagina summary{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;gap:.2rem .8rem;align-items:baseline;padding:.8rem 0 .75rem;cursor:pointer;list-style:none;font-family:var(--mono);font-size:.8125rem}
details.pagina summary::-webkit-details-marker{display:none}
details.pagina summary .k{color:var(--tinta-3);font-size:.6875rem}
details.pagina summary .k::before{content:"▸ ";color:var(--tampon)}
details[open].pagina summary .k::before{content:"▾ "}
details.pagina summary .url,details.pagina summary .ruta{overflow-wrap:anywhere;color:var(--tinta)}
details.pagina summary .ruta+.url{display:block;color:var(--tinta-3);font-size:.6875rem;grid-column:2}
details.pagina summary .cuantas{font-size:.6875rem;color:var(--tinta-3);white-space:nowrap;letter-spacing:.04em}
details.pagina summary:hover .url,details.pagina summary:hover .ruta{color:var(--tampon)}
.listado{margin:.2rem 0 1.1rem;background:var(--tarjeta);border:1px solid var(--borde);border-radius:2px;overflow:hidden;position:relative;
  box-shadow:0 1px 0 rgba(21,27,43,.06)}
.listado .cab{display:flex;flex-wrap:wrap;gap:.2rem 1rem;align-items:baseline;padding:.45rem .9rem .4rem;font-family:var(--mono);font-size:.6875rem;color:var(--tinta-3);background:var(--papel-2);border-bottom:1px solid var(--borde)}
.listado .cab .num{color:var(--tampon)}
.listado .cab .num::before{content:"cita "}
.listado .cab .que{margin-left:auto;color:var(--tinta-2);text-align:right}
.listado .tira{margin:0;padding:.65rem 1.1rem .7rem 2.1rem;font-family:var(--mono);font-size:.8125rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--tinta);
  background-image:radial-gradient(circle at .75rem 50%,var(--papel) 0 2.6px,rgba(21,27,43,.16) 3.1px,transparent 3.7px),repeating-linear-gradient(180deg,var(--listado) 0 1.65em,var(--listado-2) 1.65em 3.3em);
  background-repeat:repeat-y,repeat;background-size:1.5rem 1.65em,100% 3.3em;background-position:0 0,0 0;border-left:1px dashed var(--perf)}
.listado .tira mark{background:var(--fluor);color:var(--tinta);padding:.05em .05em;border-radius:1px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.listado .tira b{color:var(--a-azul);font-weight:500}
.listado figcaption{padding:.4rem .9rem .45rem;font-family:var(--mono);font-size:.625rem;letter-spacing:.03em;color:var(--tinta-3);border-top:1px solid var(--borde-2)}
.listado:target{outline:2px solid var(--tampon);outline-offset:3px}
details.pagina:has(:target){border-top-color:var(--tampon)}

/* ── directorio de dominios ── */
.abc{display:flex;flex-wrap:wrap;gap:.15rem;margin:0 0 1rem;font-family:var(--mono);font-size:.75rem}
.abc a{display:inline-block;min-width:1.7rem;text-align:center;padding:.2rem .3rem;border:1px solid var(--borde);border-radius:2px;text-decoration:none;color:var(--tinta-2)}
.abc a:hover{border-color:var(--tampon);color:var(--tampon)}
.directorio .entidad{padding:1rem 0 .4rem;scroll-margin-top:1rem}
.directorio h3{font-size:1.15rem;font-stretch:88%;margin:0 0 .3rem;display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}
.directorio h3 small{font-family:var(--mono);font-weight:400;font-stretch:100%;font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-3)}
.directorio ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--borde)}
.directorio li a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.05rem .7rem;align-items:baseline;padding:.55rem 0 .5rem;border-bottom:1px solid var(--borde-2);text-decoration:none;color:inherit}
.directorio li a:hover .host{color:var(--tampon)}
.directorio li i{display:inline-block;width:.6rem;height:.6rem;border-radius:1px;transform:translateY(-.05rem)}
.directorio .host{font-size:.875rem;color:var(--tinta)}
.directorio .t{grid-column:2;font-family:var(--sans);font-stretch:95%;font-size:.875rem;color:var(--tinta-2);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.directorio .res{grid-column:2;font-family:var(--mono);font-size:.625rem;letter-spacing:.03em;color:var(--tinta-3)}
.directorio .pieza-si{grid-column:3;grid-row:1;font-family:var(--sans);font-weight:700;font-stretch:85%;font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--a-rojo);border:1.5px solid currentColor;border-radius:2px;padding:.22em .45em .16em;transform:rotate(-3deg)}

/* ── colofón: de nuevo sobre la mesa ── */
.colofon{background:transparent;color:var(--mesa-tinta);border-top:1px solid var(--mesa-linea);margin-top:0}
.colofon .caja{display:grid;grid-template-columns:minmax(0,1fr);gap:1.2rem 2.5rem;padding-top:2rem;padding-bottom:2.8rem;font-size:.875rem;line-height:1.6}
.colofon .marca{color:var(--mesa-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(--mesa-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(--mesa-tinta-2);text-transform:uppercase}
@media (min-width:62rem){
  .colofon .caja{grid-template-columns:var(--margen) minmax(0,var(--ancha))}
  .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){
  .expediente{padding-top:0}
  .expediente>.caja{box-shadow:0 8px 20px -6px rgba(40,46,36,.45),0 0 0 1px rgba(40,46,36,.1)}
  .foto{margin-left:0;margin-right:0;transform:none}
  .foto:nth-of-type(even){transform:none}
  .foto .lienzo{--cw:var(--mw);--cx:var(--mx)}
  body{font-size:1.0625rem}
  .decimos{grid-template-columns:1fr}
  .vitrina{padding:.5rem .45rem .55rem;border-radius:7px;margin-left:calc(-.5 * var(--marco));margin-right:calc(-.5 * var(--marco))}
  .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:.2rem 1rem;font-size:.6875rem}
  .tecnica .base{flex-basis:100%}
  .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}
  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}
  .pasos-estado li{grid-template-columns:1.8rem minmax(0,1fr)}
  .pasos-estado .estado{grid-column:2;grid-row:auto;justify-self:start;margin-top:.3rem}
  .pasos-estado p{grid-column:2}
  .termometro .cifra{font-size:1.5rem}
  details.pagina summary{grid-template-columns:1.6rem minmax(0,1fr);}
  details.pagina summary .cuantas{grid-column:2}
  .listado .cab .que{margin-left:0;text-align:left;flex-basis:100%}
  .directorio li a{grid-template-columns:auto minmax(0,1fr)}
  .directorio .pieza-si{grid-column:2;grid-row:auto;justify-self:start;margin-top:.2rem}
  .directorio .t{white-space:normal}
  .radiografia{grid-template-columns:1fr}
}
.salas b,.cartela h2,.catalogo .nombre,.catalogo .sin,.articulos b,.pasos b,.siguiente a,.pasos-estado b,.sin-mantener b{word-spacing:.08em}
