.reader-reviews { padding-block: clamp(3rem, 6vw, 5rem); border-top: 1px solid var(--rule); }
.reviews-heading { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 2.5rem; }
.reviews-heading h2 { font: 600 clamp(2.25rem, 4vw, 3.5rem)/1.1 var(--sans); letter-spacing: -.045em; }
.selected-reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 3.5rem); }
.reader-review { position: relative; margin: 0; min-width: 0; display: flex; flex-direction: column; align-items: start; }
.reader-review blockquote { margin: 1rem 0 1.5rem; font: 400 1rem/1.7 var(--sans); max-width: 65ch; }
.reader-review blockquote p { overflow-wrap: anywhere; }
.review-stars { color: var(--ochre); letter-spacing: .12em; font-size: .95rem; }
.reader-review figcaption { display: flex; flex-direction: column; gap: .25rem; margin-top: auto; color: var(--ink-soft); font-size: .8rem; line-height: 1.6; }
.review-author { color: var(--ink); font-weight: 600; }
.reader-review figcaption a { text-underline-offset: .2em; text-decoration: underline; }
.review-navigation { display: flex; flex-shrink: 0; gap: .5rem; }
.review-navigation[hidden] { display: none; }
.review-navigation button { width: 44px; height: 44px; border: 1px solid var(--rule); border-radius: 50%; color: var(--ink); background: transparent; font: 1.25rem var(--sans); cursor: pointer; }
.review-navigation button:disabled { opacity: .3; cursor: default; }
.reader-reviews :focus-visible { outline: 2px solid var(--ochre); outline-offset: 5px; }
.review-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 700px) {
  .reviews-heading { align-items: center; margin-bottom: 1.75rem; }
  .selected-reviews { display: flex; gap: 1.5rem; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 1rem; scrollbar-width: thin; scrollbar-color: var(--ochre) transparent; }
  .selected-reviews .reader-review { flex: 0 0 88%; scroll-snap-align: start; }
}
