:root{
  --negro:#111;
  --gris:#6b6b6b;
  --linea:#d9d9d9;
  --fondo:#f3f3f3;
  --blanco:#fff;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Arial,Helvetica,sans-serif;
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--negro);background:var(--blanco);font-family:var(--sans);font-size:17px;line-height:1.65}
a{color:inherit}
.contenedor{width:min(var(--max),calc(100% - 80px));margin:0 auto}

.site-header{border-bottom:1px solid var(--linea)}
.site-brand{padding:28px 40px 20px;text-align:center}
.site-brand a{font-size:.84rem;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
.site-brand span{display:block;margin-top:3px;color:var(--gris);font-size:.78rem}
.global-nav{border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.global-nav ul,.local-nav ul{display:flex;justify-content:center;gap:34px;margin:0;padding:0 30px;list-style:none;overflow-x:auto}
.global-nav a,.local-nav a{display:block;white-space:nowrap;text-decoration:none}
.global-nav a{padding:15px 0 13px;color:#444;font-size:.88rem}
.local-nav a{padding:13px 0 11px;color:var(--gris);font-size:.82rem}
.global-nav a.active,.local-nav a.active{color:var(--negro);border-bottom:2px solid var(--negro)}

.archive-header{padding-top:68px;padding-bottom:62px}
.collection,.etiqueta{margin:0 0 15px;color:var(--gris);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.archive-header h1{max-width:940px;margin:0;font-family:var(--serif);font-size:clamp(2.8rem,5.5vw,4.8rem);font-weight:400;line-height:1.02}
.estado-archivo{display:inline-block;margin:28px 0 0;padding:7px 11px;border:1px solid var(--negro);font-size:.7rem;font-weight:700;letter-spacing:.13em}

.resumen-expediente{padding:50px 0;background:#dedede;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.resumen-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:70px}
.resumen-expediente h2,.secciones-portada h2,.nota-archivo h2{margin:0;font-family:var(--serif);font-weight:400}
.resumen-expediente h2{font-size:1.8rem;line-height:1.2}
.resumen-expediente p{margin:0 0 18px}
.resumen-expediente p:last-child{margin-bottom:0}

.cifras-fondo{padding:52px 0 58px;border-bottom:1px solid var(--linea)}
.grid-cifras{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--negro);border-bottom:1px solid var(--linea)}
.cifra{padding:24px 24px 26px 0}
.cifra+.cifra{padding-left:24px;border-left:1px solid var(--linea)}
.cifra strong{display:block;font-family:var(--serif);font-size:1.75rem;font-weight:400;line-height:1.15}
.cifra span{display:block;margin-top:8px;color:var(--gris);font-size:.78rem;line-height:1.4}

.secciones-portada{padding:64px 0 86px}
.secciones-portada h2{margin-bottom:34px;font-size:2rem}
.grid-portada{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:2px solid var(--negro);border-left:1px solid var(--linea)}
.tarjeta-portada{position:relative;min-height:275px;padding:28px 30px 62px;border-right:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.tarjeta-etiqueta{margin:0 0 14px;color:var(--gris);font-size:.69rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.tarjeta-portada h3{max-width:430px;margin:0 0 14px;font-family:var(--serif);font-size:1.55rem;font-weight:400;line-height:1.18}
.tarjeta-portada h3 a{text-decoration:none}
.tarjeta-portada h3 a:hover,.tarjeta-portada h3 a:focus{text-decoration:underline;text-underline-offset:4px}
.tarjeta-portada>p:not(.tarjeta-etiqueta){max-width:440px;margin:0;color:#555;font-size:.92rem;line-height:1.55}
.tarjeta-enlace{position:absolute;left:30px;bottom:26px;font-size:.76rem;font-weight:700;letter-spacing:.04em;text-decoration:none}
.tarjeta-enlace:hover,.tarjeta-enlace:focus{text-decoration:underline;text-underline-offset:3px}

.nota-archivo{padding:52px 0 62px;background:#f5f5f5;border-top:1px solid var(--linea)}
.nota-archivo h2{font-size:1.7rem}
.nota-archivo p{max-width:850px;margin:20px 0 0}
.nota-archivo strong{font-weight:700}

.site-footer{border-top:1px solid var(--linea);padding:32px 0;color:#666;font-size:.8rem}
.footer-inner{display:flex;justify-content:space-between;gap:30px}
.footer-inner p{margin:0}
.footer-inner a{text-decoration:none}

@media(max-width:900px){
  .grid-cifras{grid-template-columns:repeat(2,1fr)}
  .cifra:nth-child(3){border-left:0;border-top:1px solid var(--linea);padding-left:0}
  .cifra:nth-child(4){border-top:1px solid var(--linea)}
}
@media(max-width:780px){
  .contenedor{width:min(100% - 36px,var(--max))}
  .site-brand{padding-left:18px;padding-right:18px}
  .global-nav ul,.local-nav ul{justify-content:flex-start;padding:0 18px;gap:25px}
  .archive-header{padding-top:48px;padding-bottom:48px}
  .resumen-grid{grid-template-columns:1fr;gap:20px}
  .grid-portada{grid-template-columns:1fr}
  .tarjeta-portada{min-height:245px}
  .footer-inner{display:block}
  .footer-inner p+p{margin-top:7px}
}
@media(max-width:520px){
  .grid-cifras{grid-template-columns:1fr}
  .cifra,.cifra+.cifra,.cifra:nth-child(3){padding:20px 0;border-left:0;border-top:1px solid var(--linea)}
  .cifra:first-child{border-top:0}
  .archive-header h1{font-size:2.65rem}
}

/* Cronología — Antecedentes */
.cronologia{
  border-top:2px solid var(--negro);
}

.hito{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:48px;
  padding:34px 0 36px;
  border-bottom:1px solid #bdbdbd;
}

.hito-fecha{
  padding-top:4px;
  color:var(--negro);
  font-size:.76rem;
  font-weight:700;
  line-height:1.45;
  letter-spacing:.08em;
}

.hito-contenido{
  max-width:760px;
}

.hito-contenido h2{
  margin:0 0 16px;
  font-family:var(--serif);
  font-size:1.55rem;
  font-weight:400;
  line-height:1.2;
}

.hito-contenido p{
  max-width:740px;
  margin:0 0 15px;
}

.hito-contenido p:last-child{
  margin-bottom:0;
}

.documento-link{
  display:inline-block;
  margin-top:2px;
  font-size:.78rem;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}

.nota-archivo a{
  text-decoration:underline;
  text-underline-offset:3px;
}

@media(max-width:780px){
  .hito{
    grid-template-columns:1fr;
    gap:9px;
    padding:27px 0 30px;
  }

  .hito-fecha{
    padding-top:0;
  }

  .hito-contenido{
    max-width:none;
  }
}
