/* Tratamiento editorial: solo tipografía y detalles de los textos públicos. */
.page-hero h1,
.section-head h2,
.single h1 {
  text-wrap: balance;
}

.page-hero > .eyebrow {
  font-size: 12px;
  letter-spacing: .18em;
}

.page-hero > p:not(.eyebrow) {
  font-family: var(--serif);
  font-size: clamp(19px, 2vw, 23px);
  line-height: 1.5;
  color: var(--green);
  padding-left: 18px;
  border-left: 2px solid var(--gold);
  text-wrap: pretty;
}

.section-head h2 {
  letter-spacing: -.025em;
}

.prose {
  font-size: 20px;
  line-height: 1.72;
  overflow-wrap: break-word;
}

.prose p {
  margin: 0 0 1em;
  text-wrap: pretty;
}

.prose > p:first-child:not(:has(img)) {
  font-size: 1.12em;
  line-height: 1.55;
  color: var(--green);
}

.prose h2 {
  font: 500 clamp(27px, 3vw, 34px)/1.2 var(--serif);
  color: var(--green);
  letter-spacing: -.02em;
  margin: 1.3em 0 .65em;
  padding-bottom: .35em;
  border-bottom: 1px solid var(--line);
  text-wrap: balance;
}

.prose h3 {
  font: 500 clamp(23px, 2.5vw, 28px)/1.25 var(--serif);
  color: var(--green);
  margin: 1.1em 0 .5em;
  text-wrap: balance;
}

.prose h4 {
  font: 600 17px/1.4 var(--sans);
  color: var(--green);
  margin: 1em 0 .5em;
}

.prose strong,
.prose b {
  font-weight: 700;
  color: var(--green);
}

.prose ul,
.prose ol {
  padding-left: 1.5em;
  margin: .7em 0 1em;
}

.prose li {
  padding-left: .25em;
  margin-bottom: .35em;
}

.prose li::marker {
  color: var(--green);
  font-weight: 600;
}

.prose li > ul,
.prose li > ol {
  margin: .4em 0 .6em;
}

.prose blockquote {
  margin: 1.2em 0;
  padding: 16px 22px;
  border-left: 3px solid var(--gold);
  background: var(--sage);
  color: var(--green);
  font-style: italic;
}

.prose blockquote > :last-child {
  margin-bottom: 0;
}

.prose a:not([data-lightbox]) {
  color: var(--green);
  text-decoration: underline;
  text-decoration-color: #9db9af;
  text-underline-offset: .18em;
  text-decoration-thickness: 1px;
}

.prose a:not([data-lightbox]):hover {
  text-decoration-color: currentColor;
}

.prose > :first-child,
.prose td > :first-child {
  margin-top: 0;
}

.bio-layout aside > p {
  font: italic 20px/1.5 var(--serif);
  color: var(--green);
  padding-left: 14px;
  border-left: 2px solid var(--gold);
}

@media (max-width: 650px) {
  .prose { font-size: 18px; line-height: 1.65; }
  .prose blockquote { padding: 12px 16px; }
  .page-hero > p:not(.eyebrow) { padding-left: 13px; }
}
