:root {
    /* núcleo */
    --azul-obs:      #00356B;
    --azul-profundo: #10243D;
    --azul-medio:    #286DC0;
    --celeste:       #63AAFF;
    /* tinta */
    --tinta:         #17212B;
    --tinta-70:      #4A5561;
    --tinta-50:      #6E7883;
    --linea:         #D9DDE1;
    /* superficies */
    --blanco:        #FFFFFF;
    --hueso:         #F7F5F2;
    /* acento */
    --terracota:     #BD5319;
    /* roles */
    --superficie-1:  var(--blanco);
    --superficie-2:  var(--hueso);
    --texto-1:       var(--tinta);
    --texto-2:       var(--tinta-70);
    --texto-3:       var(--tinta-50);
    --enlace:        var(--azul-medio);
    --borde:         var(--linea);
    /* tipografía */
    --serif: "Bembo Book MT Pro", "Arno Pro", Cardo, "Palatino Linotype", Georgia, serif;
    --serif-texto: "Bembo Book MT Pro", "Arno Pro Caption", Cardo, Georgia, serif;
    --sans: "Mallory", Archivo, Inter, system-ui, -apple-system, sans-serif;
    /* rampa secuencial de datos */
    --seq-1: #81AEE6; --seq-3: #2B6FBD; --seq-5: #00356B;
    --div-neg: #105AA8; --div-pos: #CD632E;
    --grilla: #D9DDE1; --eje: #6E7883;
  }

  * { box-sizing: border-box; }
  html { font-size: 17px; scroll-behavior: smooth; color-scheme: light; }
  body {
    margin: 0;
    font-family: var(--serif-texto);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--texto-1);
    background: var(--superficie-1);
    -webkit-font-smoothing: antialiased;
  }

  h1, h2, h3, h4 { font-family: var(--serif); font-weight: 400; margin: 0; }
  h1 { font-size: clamp(2.1rem, 5vw, 2.882rem); line-height: 1.10; letter-spacing: -0.015em; }
  h2 { font-size: clamp(1.7rem, 3.8vw, 2.294rem); line-height: 1.15; letter-spacing: -0.01em; }
  h3 { font-size: 1.824rem; line-height: 1.20; letter-spacing: -0.005em; }
  h4 { font-size: 1.471rem; line-height: 1.30; font-weight: 700; }
  p { margin: 0 0 1.412rem; }

  /* Retícula */
  .wrap { max-width: 1280px; margin: 0 auto; padding: 0 64px; }
  .lectura { max-width: 680px; }
  .banda { padding: 96px 0; }

  /* Enlace en texto */
  a { color: var(--enlace); }
  .prosa a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
  .prosa a:hover { color: var(--azul-obs); }

  /* Antetítulo de sección */
  .antetitulo {
    display: block;
    font-family: var(--sans);
    font-size: 0.706rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--texto-2);
    padding-bottom: 12px;
    border-bottom: 1px solid var(--borde);
    margin-bottom: 24px;
  }
  .sobre-oscuro .antetitulo { color: var(--celeste); border-bottom-color: rgba(255,255,255,0.3); }

  /* Botones */
  .boton {
    display: inline-flex;
    align-items: center;
    height: 44px;
    padding: 0 24px;
    border-radius: 4px;
    font-family: var(--sans);
    font-size: 0.882rem;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
  }
  .boton-primario { background: var(--azul-obs); color: var(--blanco); border-color: var(--azul-obs); }
  .boton-primario:hover { background: var(--azul-profundo); border-color: var(--azul-profundo); }
  .boton-secundario { background: transparent; color: var(--azul-obs); border-color: var(--borde); }
  .boton-secundario:hover { background: var(--hueso); }
  .sobre-oscuro .boton-primario { background: var(--blanco); color: var(--azul-obs); border-color: var(--blanco); }
  .sobre-oscuro .boton-primario:hover { background: var(--hueso); border-color: var(--hueso); }
  .sobre-oscuro .boton-secundario { color: var(--blanco); border-color: rgba(255,255,255,0.4); }
  .sobre-oscuro .boton-secundario:hover { background: rgba(255,255,255,0.1); border-color: var(--blanco); }

  /* Enlace con flecha */
  .flecha {
    font-family: var(--sans);
    font-size: 0.882rem;
    font-weight: 500;
    color: var(--enlace);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
  }
  .flecha::after { content: " →"; }
  .flecha:hover { color: var(--azul-obs); }
  .sobre-oscuro .flecha { color: var(--celeste); }
  .sobre-oscuro .flecha:hover { color: var(--blanco); }

  /* Crédito de fuente */
  .fuente {
    display: block;
    font-family: var(--sans);
    font-size: 0.706rem;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: var(--texto-2);
    margin-top: 8px;
  }

  /* Sello */
  .sello {
    display: inline-block;
    font-family: var(--sans);
    font-size: 0.647rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 6px 12px;
    border-radius: 2px;
    background: var(--hueso);
    color: var(--texto-2);
    border: 1px solid transparent;
  }
  .sello-hallazgo { background: var(--blanco); color: var(--terracota); border-color: var(--terracota); }

  /* Aviso metodológico */
  .aviso {
    background: var(--hueso);
    border-left: 3px solid var(--terracota);
    padding: 20px;
    font-family: var(--sans);
    font-size: 0.882rem;
    line-height: 1.5;
    color: var(--texto-2);
    margin: 32px 0;
  }
  .aviso p { margin: 0; }

  /* Barra utilitaria */
  .utilitaria {
    background: var(--hueso);
    border-bottom: 1px solid var(--borde);
    font-family: var(--sans);
    font-size: 0.706rem;
    color: var(--texto-2);
  }
  .utilitaria .wrap { display: flex; justify-content: space-between; align-items: center; height: 40px; gap: 24px; }
  .utilitaria a { color: var(--texto-2); text-decoration: none; }
  .utilitaria a:hover { color: var(--azul-obs); }

  /* Cabecera */
  .cabecera { background: var(--azul-obs); }
  .cabecera .wrap { display: flex; align-items: center; justify-content: space-between; gap: 48px; height: 96px; }
  .marca svg { display: block; height: 40px; width: auto; overflow: visible; }
  .menu { display: flex; gap: 32px; list-style: none; margin: 0 auto 0 0; padding: 0; }
  .menu a {
    font-family: var(--sans);
    font-size: 0.882rem;
    color: var(--blanco);
    text-decoration: none;
    white-space: nowrap;
    padding-bottom: 4px;
    border-bottom: 1px solid transparent;
  }
  .cabecera .boton { white-space: nowrap; }
  .menu a:hover { border-bottom-color: var(--blanco); }

  /* Hero */
  .hero { background: var(--azul-obs); color: var(--blanco); padding: 64px 0 96px; }
  .hero-grid { display: grid; grid-template-columns: 7fr 4fr; gap: 64px; align-items: start; }
  .hero h1 { color: var(--blanco); max-width: 15ch; margin-bottom: 24px; }
  .hero .bajada { font-family: var(--serif-texto); font-size: 1.235rem; line-height: 1.5; color: var(--hueso); max-width: 62ch; margin-bottom: 32px; }
  .hero-acciones { display: flex; gap: 12px; flex-wrap: wrap; }

  .hito { border: 1px solid rgba(255,255,255,0.3); border-radius: 4px; padding: 24px; }
  .hito h2 { font-size: 1.471rem; color: var(--blanco); margin-bottom: 4px; }
  .hito .cuando { font-family: var(--sans); font-size: 0.824rem; color: var(--hueso); margin-bottom: 16px; }
  .hito dl { margin: 0 0 16px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,0.3); font-family: var(--sans); font-size: 0.824rem; }
  .hito dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 4px 0; }
  .hito dt { color: var(--hueso); }
  .hito dd { margin: 0; color: var(--blanco); white-space: nowrap; font-variant-numeric: tabular-nums; }

  /* Cifras clave */
  .cifras-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 48px 32px; }
  .cifra { display: flex; flex-direction: column; }
  .cifra .valor {
    font-family: var(--serif);
    font-size: clamp(2.4rem, 4vw, 3.588rem);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    color: var(--azul-obs);
    margin-bottom: 16px;
  }
  .cifra p { font-size: 0.941rem; margin: 0 0 16px; flex: 1; }
  .cifra .fuente { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--borde); }

  /* Tarjetas */
  .tarjetas { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
  .tarjeta {
    background: var(--blanco);
    border: 1px solid var(--borde);
    border-radius: 4px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
  }
  .tarjeta:hover { border-color: var(--azul-medio); }
  .tarjeta .antetitulo { border-bottom: none; padding-bottom: 0; margin-bottom: 12px; }
  .tarjeta h3 { font-size: 1.471rem; margin-bottom: 8px; }
  .tarjeta p { font-size: 0.941rem; color: var(--texto-2); margin-bottom: 20px; flex: 1; }
  .tarjeta .flecha { align-self: flex-start; }

  /* Lista de publicaciones */
  .publicaciones { border-top: 1px solid var(--borde); }
  .publicacion {
    display: grid;
    grid-template-columns: 160px 1fr auto;
    gap: 32px;
    align-items: baseline;
    padding: 24px 0;
    border-bottom: 1px solid var(--borde);
    text-decoration: none;
    color: inherit;
  }
  .publicacion h3 { font-size: 1.471rem; margin-bottom: 4px; max-width: 48ch; }
  .publicacion:hover h3 { color: var(--azul-obs); text-decoration: underline; text-underline-offset: 4px; }
  .publicacion .meta { font-family: var(--sans); font-size: 0.706rem; color: var(--texto-2); }
  .publicacion .ir { color: var(--azul-medio); font-size: 1.2rem; }

  /* Gráfico */
  .viz { margin: 0; }
  .viz-titulo { font-family: var(--serif); font-size: 1.235rem; line-height: 1.35; color: var(--tinta); margin: 0 0 20px; }
  .viz-fila { padding: 14px 0; border-bottom: 1px solid var(--grilla); }
  .viz-fila:first-of-type { border-top: 1px solid var(--eje); }
  .viz-cab { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 8px; }
  .viz-etiqueta { font-family: var(--sans); font-size: 0.824rem; color: var(--tinta); }
  .viz-valor { font-family: var(--sans); font-size: 0.941rem; font-weight: 600; color: var(--tinta); font-variant-numeric: tabular-nums; }
  .viz-barra { display: block; height: 12px; border-radius: 0 4px 4px 0; }
  .viz-pie { font-family: var(--sans); font-size: 0.706rem; color: var(--texto-2); margin: 12px 0 0; }
  .viz details { margin-top: 16px; }
  .viz summary { font-family: var(--sans); font-size: 0.824rem; color: var(--enlace); cursor: pointer; }
  .viz table { border-collapse: collapse; width: 100%; margin-top: 16px; }
  .viz caption { text-align: left; font-family: var(--sans); font-size: 0.706rem; color: var(--texto-2); padding-bottom: 8px; }
  .viz thead th {
    background: var(--hueso);
    font-family: var(--sans);
    font-size: 0.765rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-align: left;
    padding: 10px 12px;
    color: var(--texto-2);
  }
  .viz tbody td {
    font-family: var(--sans);
    font-size: 0.824rem;
    padding: 10px 12px;
    border-bottom: 1px solid var(--borde);
  }
  .viz th:last-child, .viz td:last-child { text-align: right; font-variant-numeric: tabular-nums; }

  /* Audiencias */
  .audiencias { background: var(--azul-profundo); color: var(--blanco); }
  .aud-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
  .aud h2 { color: var(--blanco); font-size: 1.824rem; margin-bottom: 16px; max-width: 20ch; }
  .aud p { color: #C3CEDB; font-size: 1rem; }
  .aud strong { color: var(--blanco); font-weight: 700; }

  /* Confianza */
  .fuentes-lista { display: flex; flex-wrap: wrap; gap: 8px 32px; padding: 20px 0; border-top: 1px solid var(--borde); border-bottom: 1px solid var(--borde); margin-bottom: 20px; }
  .fuentes-lista span { font-family: var(--serif); font-size: 1.235rem; }
  .licencia { font-family: var(--sans); font-size: 0.824rem; color: var(--texto-2); margin-bottom: 16px; }

  /* Boletín */
  .boletin { background: var(--hueso); }
  .boletin-grid { display: grid; grid-template-columns: 6fr 5fr; gap: 64px; align-items: end; }
  .boletin form { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
  .boletin input {
    flex: 1;
    min-width: 220px;
    height: 44px;
    padding: 0 16px;
    border: 1px solid var(--borde);
    border-radius: 4px;
    background: var(--blanco);
    font-family: var(--sans);
    font-size: 0.941rem;
    color: var(--tinta);
  }
  .boletin input:focus { outline: 2px solid var(--azul-medio); outline-offset: 1px; }
  .boletin .fina { font-family: var(--sans); font-size: 0.706rem; color: var(--texto-2); margin: 0; }

  /* Pie */
  .pie { background: var(--azul-profundo); color: #C3CEDB; padding: 80px 0 32px; }
  .pie-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 48px; margin-bottom: 48px; }
  .pie .marca svg { height: 44px; margin-bottom: 12px; }
  .pie .endoso {
    font-family: var(--sans);
    font-size: 0.706rem;
    font-weight: 600;
    letter-spacing: 0.133em;
    text-transform: uppercase;
    color: #93A2B4;
    margin: 0 0 20px;
  }
  .pie h3 {
    font-family: var(--sans);
    font-size: 0.706rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--blanco);
    margin-bottom: 16px;
  }
  .pie ul { list-style: none; margin: 0; padding: 0; }
  .pie li { margin-bottom: 10px; font-family: var(--sans); font-size: 0.824rem; }
  .pie li a { color: #C3CEDB; text-decoration: none; }
  .pie li a:hover { color: var(--blanco); }
  .pie .descriptor { font-family: var(--sans); font-size: 0.824rem; max-width: 34ch; }
  .interes {
    font-family: var(--sans);
    font-size: 0.824rem;
    padding: 20px 0;
    border-top: 1px solid rgba(255,255,255,0.2);
    border-bottom: 1px solid rgba(255,255,255,0.2);
    margin-bottom: 24px;
  }
  .interes a { color: var(--celeste); text-decoration: underline; text-underline-offset: 3px; }
  .pie-abajo { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; font-family: var(--sans); font-size: 0.706rem; }
  .pie-abajo a { color: #C3CEDB; }

  .oculto-visual {
    position: absolute; width: 1px; height: 1px;
    margin: -1px; padding: 0; overflow: hidden;
    clip: rect(0 0 0 0); white-space: nowrap; border: 0;
  }

  @media (max-width: 1100px) {
    .cabecera .wrap { gap: 24px; }
    .menu { gap: 20px; }
  }
  @media (max-width: 940px) {
    .menu { display: none; }
  }
  @media (max-width: 1000px) {
    .hero-grid, .aud-grid, .boletin-grid { grid-template-columns: 1fr; gap: 48px; }
    .publicacion { grid-template-columns: 1fr auto; gap: 16px; }
    .publicacion .sello { grid-column: 1 / -1; justify-self: start; }
    .pie-grid { grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 680px) {
    .menu { display: none; }
    .wrap { padding: 0 24px; }
    .banda { padding: 64px 0; }
    .hero { padding: 48px 0 64px; }
    .cabecera .wrap { height: 76px; }
    .marca svg { height: 32px; }
  }
@media (max-width: 1000px) {
    .hallazgo-grid { grid-template-columns: 1fr !important; gap: 48px !important; }
  }

/* ── Página de equipo ───────────────────────────────────────── */
.cabecera-pagina { padding: 64px 0 48px; }
.cabecera-pagina h1 { max-width: 18ch; margin-bottom: 20px; }
.cabecera-pagina .bajada {
  font-family: var(--serif-texto);
  font-size: 1.235rem;
  line-height: 1.5;
  color: var(--texto-2);
  max-width: 62ch;
  margin: 0;
}

.persona {
  display: grid;
  grid-template-columns: 4fr 8fr;
  gap: 64px;
  padding: 48px 0;
  border-top: 1px solid var(--borde);
}
.persona-id h2 { font-size: 1.824rem; margin-bottom: 10px; }
.persona-cargo {
  display: block;
  font-family: var(--sans);
  font-size: 0.706rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--azul-obs);
}
.persona-bloque + .persona-bloque { margin-top: 32px; }
.persona-bloque h3 {
  font-family: var(--sans);
  font-size: 0.706rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--texto-2);
  padding-bottom: 10px;
  border-bottom: 1px solid var(--borde);
  margin-bottom: 16px;
}
.persona-bloque p { max-width: 66ch; }
.persona-bloque p:last-child { margin-bottom: 0; }



@media (max-width: 1000px) {
  .persona { grid-template-columns: 1fr; gap: 32px; }
}

/* ── Personas ───────────────────────────────────────────────── */
.persona-credenciales { margin: 0 0 14px; }
.persona-credenciales li {
  list-style: none;
  font-size: 0.941rem;
  color: var(--texto-2);
  padding: 2px 0;
}
.persona-credenciales { padding: 0; }
.persona-gauss { color: var(--texto-1); }

.personas-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 40px;
  border-top: 1px solid var(--borde);
  padding-top: 32px;
}
.persona-breve h3 { font-size: 1.471rem; margin-bottom: 8px; }
.persona-breve .persona-cargo { margin-bottom: 14px; }

.grupo { padding: 56px 0 0; }
.grupo > .antetitulo { margin-bottom: 32px; }

/* ── Prosa larga ────────────────────────────────────────────── */
.prosa h2 {
  font-size: 1.824rem;
  margin: 48px 0 16px;
}
.prosa h2:first-child { margin-top: 0; }
.prosa ul { padding-left: 0; list-style: none; margin: 0 0 1.412rem; }
.prosa ul li {
  padding: 10px 0 10px 0;
  border-bottom: 1px solid var(--borde);
  max-width: 70ch;
}
.prosa ul li:first-child { border-top: 1px solid var(--borde); }
.prosa ol { padding-left: 1.2em; margin: 0 0 1.412rem; max-width: 66ch; }
.prosa ol li { padding: 6px 0; }

.cita-destacada {
  font-family: var(--serif);
  font-size: 1.471rem;
  line-height: 1.35;
  border-left: 3px solid var(--azul-obs);
  padding-left: 24px;
  margin: 32px 0;
  max-width: 30ch;
}

/* ── Tabla general ──────────────────────────────────────────── */
.tabla { border-collapse: collapse; width: 100%; margin: 0 0 24px; }
.tabla thead th {
  background: var(--hueso);
  font-family: var(--sans);
  font-size: 0.765rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: left;
  padding: 12px 14px;
  color: var(--texto-2);
}
.tabla td {
  font-family: var(--sans);
  font-size: 0.882rem;
  padding: 12px 14px;
  border-bottom: 1px solid var(--borde);
  vertical-align: top;
}
.tabla .pendiente { color: var(--terracota); }

/* ── Regla numerada ─────────────────────────────────────────── */
.regla { padding: 24px 0; border-bottom: 1px solid var(--borde); }
.regla:first-of-type { border-top: 1px solid var(--borde); }
.regla h3 {
  font-size: 1.235rem;
  margin-bottom: 8px;
  max-width: 44ch;
}
.regla p { margin: 0; color: var(--texto-2); max-width: 68ch; }
.regla .n {
  font-family: var(--sans);
  font-size: 0.706rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--azul-obs);
  display: block;
  margin-bottom: 8px;
}

/* ── Blog ───────────────────────────────────────────────────── */
.meta-articulo {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  align-items: center;
  font-family: var(--sans);
  font-size: 0.765rem;
  color: var(--texto-2);
  margin-bottom: 24px;
}
.articulo { max-width: 680px; }
.articulo > .viz, .articulo > figure { margin: 40px 0; }
.volver { margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--borde); }

.mas-articulos { border-top: 1px solid var(--ink); margin-top: 80px; padding-top: 8px; }

/* Gráfico divergente — variación respecto de una referencia */
.viz-div-fila {
  display: grid;
  grid-template-columns: 200px 1fr 1fr 64px;
  align-items: center;
  gap: 0 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--grilla);
}
.viz-div-fila:first-of-type { border-top: 1px solid var(--eje); }
.viz-div-neg, .viz-div-pos { display: flex; height: 12px; }
.viz-div-neg { justify-content: flex-end; border-right: 1px solid var(--eje); }
.viz-div-pos { justify-content: flex-start; }
.viz-div-neg span { display: block; height: 100%; border-radius: 4px 0 0 4px; }
.viz-div-pos span { display: block; height: 100%; border-radius: 0 4px 4px 0; }
.viz-div-fila .viz-etiqueta { grid-column: 1; }
.viz-div-fila .viz-valor { grid-column: 4; }
.viz-cero {
  font-family: var(--sans);
  font-size: 0.706rem;
  color: var(--texto-2);
  text-align: center;
  padding-top: 10px;
}

@media (max-width: 700px) {
  .viz-div-fila { grid-template-columns: 1fr 1fr; gap: 4px 8px; }
  .viz-div-fila .viz-etiqueta { grid-column: 1 / -1; }
  .viz-div-fila .viz-valor { grid-column: 1 / -1; text-align: left; }
}

/* Menú alineado a la derecha: ya no hay botón que lo empuje */
.cabecera .menu { margin: 0 0 0 auto; }
/* Bloque de audiencia único, a ancho de lectura */
.aud-sola { max-width: 680px; }
