:root {
  --azul: #2c5282; --azul-hondo: #1a365d; --azul-claro: #e8f0f8;
  --oro: #d69e2e; --oro-hondo: #b7791f; --papiro: #f9f6f0;
  --carbon: #2d2d2d; --muted: #8b8579;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--papiro); color: var(--carbon);
  font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 400; line-height: 1.75; -webkit-font-smoothing: antialiased;
}
.cabecera {
  background: linear-gradient(180deg, #dce9f6 0%, var(--azul-claro) 45%, var(--papiro) 100%);
  text-align: center; padding: clamp(38px, 7vw, 72px) 24px clamp(30px, 5vw, 52px);
}
.cabecera img { width: clamp(180px, 44vw, 300px); height: auto; }
.volver {
  display: inline-block; margin-bottom: 26px; color: var(--azul); text-decoration: none;
  font-size: 0.82rem; letter-spacing: 0.14em; text-transform: uppercase; opacity: 0.8;
}
.volver:hover { opacity: 1; }
h1 {
  font-family: "Merriweather", Georgia, serif; font-weight: 300;
  font-size: clamp(1.5rem, 4.2vw, 2.2rem); letter-spacing: 0.04em; color: var(--azul);
  margin-top: 22px; line-height: 1.3;
}
h1::after {
  content: ""; display: block; width: 56px; height: 1px; margin: 20px auto 0;
  background: linear-gradient(90deg, transparent, var(--oro), transparent);
}
.fecha {
  margin-top: 16px; font-size: 0.72rem; letter-spacing: 0.28em;
  text-transform: uppercase; color: rgba(26, 54, 93, 0.5); text-align: center;
}
main { max-width: 820px; margin: 0 auto; padding: clamp(28px, 5vw, 56px) clamp(20px, 5vw, 44px) 90px; }
.indice {
  background: #fff; border-left: 3px solid var(--oro); border-radius: 14px;
  padding: 24px clamp(20px, 4vw, 34px); margin-bottom: 52px;
  box-shadow: 0 8px 26px rgba(26, 54, 93, 0.06);
}
.indice h2 {
  font-family: "Merriweather", serif; font-size: 0.78rem; letter-spacing: 0.22em;
  text-transform: uppercase; color: var(--oro-hondo); border: 0; padding: 0; margin: 0 0 16px;
}
.indice ol { list-style: none; columns: 2; column-gap: 34px; padding: 0; margin: 0; }
.indice li { margin: 0 0 9px; break-inside: avoid; font-size: 0.9rem; line-height: 1.4; }
.indice a { color: var(--azul-hondo); text-decoration: none; }
.indice a:hover { color: var(--oro-hondo); }
@media (max-width: 560px) { .indice ol { columns: 1; } }
.nota {
  background: rgba(44, 82, 130, 0.06); border-left: 3px solid var(--azul);
  border-radius: 10px; padding: 14px 18px; margin-bottom: 30px; text-align: left;
  font-size: 0.94rem;
}
h2 {
  font-family: "Merriweather", serif; font-weight: 400;
  font-size: clamp(1.12rem, 2.8vw, 1.4rem); color: var(--azul);
  margin: 52px 0 18px; padding-top: 22px; border-top: 2px solid rgba(214, 158, 46, 0.4);
  scroll-margin-top: 20px; line-height: 1.35;
}
h3 {
  font-family: "Lato", sans-serif; font-weight: 700; font-size: 1.02rem;
  color: var(--azul-hondo); margin: 30px 0 10px;
}
p { margin: 0 0 15px; text-align: justify; }
strong { color: var(--azul-hondo); font-weight: 700; }
ul, ol { margin: 0 0 16px; padding-left: 26px; }
li { margin: 0 0 9px; }
li::marker { color: var(--oro-hondo); }
a { color: var(--azul); }
.tabla-wrap { overflow-x: auto; margin: 8px 0 20px; border-radius: 12px; box-shadow: 0 6px 20px rgba(26, 54, 93, 0.07); }
table { width: 100%; border-collapse: collapse; background: #fff; min-width: 460px; }
thead th {
  background: var(--azul); color: #fff; font-family: "Merriweather", serif; font-weight: 400;
  text-align: left; padding: 14px 16px; font-size: 0.9rem; letter-spacing: 0.02em;
}
tbody td { padding: 13px 16px; border-top: 1px solid rgba(214, 158, 46, 0.22); vertical-align: top; font-size: 0.92rem; }
tbody tr:nth-child(even) td { background: rgba(214, 158, 46, 0.05); }
tbody td:first-child { font-weight: 700; color: var(--azul-hondo); white-space: nowrap; }
tbody td:nth-child(2) { color: var(--oro-hondo); font-weight: 700; white-space: nowrap; }
.pie {
  margin-top: 60px; padding-top: 26px; border-top: 1px solid rgba(26, 54, 93, 0.12);
  text-align: center; color: var(--muted); font-size: 0.84rem;
}
.pie a { color: var(--azul); }
em { color: var(--muted); }
