/* Escala de lectura común: cuerpo de 16px y encabezados en progresión 1.25. */
.version-three {
  --type-label: .75rem;
  --type-note: .875rem;
  --type-body: 1rem;
  --type-lead: 1.25rem;
  --type-subtitle: 1.5625rem;
  --type-heading: 1.953125rem;
  --type-section: 2.44140625rem;
  --type-feature: 3.814697rem;
  --type-display: 4.768371rem;
  --muted: #54515d;
  --number-ink: #8d4144;
  font-size: var(--type-body);
}

.version-three .eyebrow {
  font-size: var(--type-label);
  letter-spacing: 1.2px;
  line-height: 1.6;
}

.version-three .portada-heading > .eyebrow {
  font-size: var(--type-note);
  letter-spacing: .15px;
  font-weight: 400;
  text-transform: none;
}

.version-three .portada-heading h1 {
  font-size: clamp(2rem, 6vw, var(--type-display));
  line-height: 1.05;
  letter-spacing: -.7px;
}

.version-three .portada-heading .portada-lead {
  font-size: var(--type-lead);
  line-height: 1.5;
  max-width: 46rem;
}

.version-three .portada-themes {
  font-size: var(--type-note);
  font-weight: 400;
  letter-spacing: .1px;
  line-height: 1.6;
  gap: 14px;
}

.version-three .path-caption h2 {
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 9px;
  text-transform: none;
  font-size: var(--type-heading);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.18;
}

.version-three .path-caption h2 small {
  flex-shrink: 0;
  font-size: var(--type-label);
  font-weight: 700;
  letter-spacing: .6px;
  color: var(--number-ink);
}

.version-three .path-caption p {
  font-size: var(--type-note);
  line-height: 1.6;
  max-width: 28ch;
  color: var(--muted);
}

.version-three .path-context p {
  font-size: var(--type-body);
  line-height: 1.65;
  max-width: 65ch;
}

.version-three .portada-link,
.version-three .text-link,
.version-three .topic .text-link,
.version-three .download-link,
.version-three .button {
  font-size: var(--type-note);
}

.version-three .hero-bottom {
  font-size: var(--type-label);
  line-height: 1.65;
}

.version-three .section-heading h2 {
  font-size: var(--type-section);
  letter-spacing: -.3px;
}

.version-three .section-heading > p,
.version-three .topic p,
.version-three .reform-copy > p,
.version-three .research-copy > p,
.version-three .upcoming p {
  font-size: var(--type-body);
  line-height: 1.65;
  color: var(--muted);
}

.version-three .topic h3,
.version-three .topic-heading h3 {
  font-size: var(--type-heading);
  line-height: 1.15;
}

.version-three .topic h3 {
  min-height: 72px;
}

.version-three .topic-index {
  font-size: var(--type-label);
}

.version-three .topic-tags {
  min-height: 30px;
}

.version-three .topic-tags span {
  font-size: var(--type-label);
  line-height: 1.5;
  padding: 4px 8px;
  color: var(--link);
}

.version-three .reform h2 {
  font-size: var(--type-feature);
}

.version-three .research-copy h3 {
  font-size: var(--type-section);
  line-height: 1.15;
}

.version-three .upcoming h2 {
  font-family: 'Roboto Editorial', Roboto, sans-serif;
  font-size: var(--type-subtitle);
  line-height: 1.25;
}

.version-three .header nav,
.version-three .header nav button {
  font-size: .8125rem;
}

.version-three .footer-top p {
  font-size: var(--type-note);
}

.version-three .footer-bottom,
.version-three .footer-bottom span,
.version-three .footer-bottom button,
.version-three .dialog-top button {
  font-size: var(--type-label);
}

.version-three .dialog-body p,
.version-three .program-card p,
.version-three .reading-list,
.version-three .research-meta dd {
  font-size: var(--type-body);
}

.version-three .dialog-body .dialog-lead {
  font-size: var(--type-lead);
}

.version-three .file-state,
.version-three .pending-download,
.version-three .research-meta dt {
  font-size: var(--type-label);
}

.version-three .version-note {
  font-size: var(--type-note) !important;
}

@media (max-width: 850px) {
  .version-three .section-heading h2,
  .version-three .research-copy h3 {
    font-size: 2.125rem;
  }

  .version-three .topic h3,
  .version-three .topic-heading h3 {
    font-size: 1.75rem;
  }

  .version-three .path-caption h2 {
    font-size: var(--type-subtitle);
  }

  .version-three .path-context {
    gap: 24px;
  }
}

@media (max-width: 600px) {
  .version-three .portada-heading h1 {
    font-size: clamp(1.75rem, 9.2vw, 3rem);
    letter-spacing: -.35px;
  }

  .version-three .portada-heading > .eyebrow {
    font-size: .8125rem;
  }

  .version-three .portada-themes {
    gap: 8px;
    letter-spacing: 0;
    flex-wrap: wrap;
  }

  .version-three .path-caption h2 {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    font-size: 1.75rem;
    text-align: left;
  }

  .version-three .path-caption p {
    max-width: none;
  }

  .version-three .path-context .portada-link {
    margin-top: 16px;
  }

  .version-three .hero-bottom {
    gap: 18px;
  }

  .version-three .hero-bottom a,
  .version-three .hero-bottom > span {
    max-width: none;
    flex: 1;
  }

  .version-three .topic h3 {
    min-height: 0;
  }

  .version-three .topic-heading {
    grid-template-columns: minmax(0, 1fr) 100px;
    column-gap: 16px;
  }

  .version-three .topic-tags {
    min-height: 0;
  }

  .version-three .reform h2 {
    font-size: 3.25rem;
  }

  .version-three .header nav,
  .version-three .header nav button {
    font-size: var(--type-note);
  }
}

@media (max-width: 360px) {
  .version-three .topic-heading {
    grid-template-columns: minmax(0, 1fr) 80px;
    column-gap: 12px;
  }

  .version-three .topic-heading h3 {
    font-size: 1.625rem;
  }
}

@media (min-width: 1280px) {
  .version-three .portada-heading h1 {
    max-width: 1200px;
    font-size: clamp(4.768371rem, 5vw, 5.5rem);
  }
}
