/* A quiet reading section, using the existing site's editorial tokens. */
.book-excerpt {
  width: min(100% - (var(--gutter) * 2), var(--reading-width));
  margin: var(--section-space) auto 0;
  padding-bottom: var(--section-space);
  color: var(--ink);
  text-align: left;
}

.book-excerpt-label {
  margin: 0 0 var(--rule-space);
  color: var(--muted);
  font-family: var(--sans);
  font-size: .72rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .08em;
}

.book-excerpt-title {
  margin: 0 0 var(--title-space);
  font-family: var(--serif);
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 400;
  line-height: 1.12;
  text-wrap: balance;
}

.book-excerpt-intro {
  margin: 0 0 var(--section-space-compact);
  color: var(--graphite);
  font-family: var(--sans);
  font-size: 1.0625rem;
  line-height: 1.65;
}

.book-excerpt-source {
  margin: 0;
  color: var(--muted);
  font-family: var(--sans);
  font-size: .875rem;
  line-height: 1.6;
}

.book-excerpt-text {
  margin-top: var(--section-space-compact);
  font-family: var(--serif);
  font-size: clamp(1.25rem, 1.1rem + .5vw, 1.4375rem);
  font-weight: 400;
  line-height: 1.65;
}

.book-excerpt-text section + section { margin-top: var(--section-space); }
.book-excerpt-text h3 {
  margin: 0 0 var(--title-space);
  font-family: var(--serif);
  font-size: clamp(1.5rem, 2.4vw, 1.875rem);
  font-weight: 500;
  line-height: 1.25;
  text-wrap: balance;
}
.book-excerpt-text p { margin: 0 0 var(--title-space); }
.book-excerpt-text p:last-child { margin-bottom: 0; }

.book-excerpt-credit {
  margin: var(--section-space-compact) 0 0;
  color: var(--muted);
  font-family: var(--sans);
  font-size: .8125rem;
  line-height: 1.7;
}
.book-excerpt-credit a { text-underline-offset: 4px; text-decoration-thickness: 1px; }
.book-excerpt-credit a:hover { color: var(--ink); }
.book-excerpt-credit a:focus-visible { outline: 1px solid var(--ink); outline-offset: 4px; }

@media (max-width: 720px) {
  .book-excerpt { margin-top: var(--section-space-compact); }
}

@media print {
  .book-excerpt-text h3 { break-after: avoid; }
  .book-excerpt-text p { orphans: 3; widows: 3; }
}
