.public-reviews { letter-spacing: 0; }
.review-summary { padding: 1.5rem 0; border-bottom: 1px solid #dce4e2; }
.review-hero { padding: 4rem 0; background: #fff; border-bottom: 1px solid #dce4e2; }
.review-hero:nth-of-type(even) { background: #edf4f1; }
.review-hero__inner { max-width: 960px; padding-inline: 2rem; min-height: 280px; display: flex; flex-direction: column; justify-content: center; }
.review-hero__quote { margin: 1.75rem 0; font-size: 2rem; line-height: 1.5; font-weight: 500; color: #183a36; overflow-wrap: anywhere; }
.review-hero__quote p:last-child { margin-bottom: 0; }
.review-hero__byline { border-left: 3px solid #ad354b; padding-left: 1rem; }
.review-hero__byline h2 { font-size: 1.125rem; margin: 0 0 .25rem; overflow-wrap: anywhere; }
.review-hero__byline time { font-size: .9375rem; color: #51605d; }
.review-paws { display: flex; gap: .625rem; }
.review-paw { color: #83958f; width: 32px; height: 32px; }
.review-paw svg { width: 100%; height: 100%; }
.review-paw.is-filled { color: #286b56; }
.review-paw.is-filled svg { fill: currentColor; stroke-width: 1; }
.review-compose { max-width: 800px; }
.paw-picker { display: flex; flex-wrap: wrap; gap: .75rem; }
.paw-picker__option { width: 52px; min-height: 72px; display: flex; flex-direction: column; align-items: center; gap: .25rem; cursor: pointer; color: #51605d; position: relative; }
.paw-picker__option input { accent-color: #286b56; }
.paw-picker__option svg { width: 28px; height: 28px; }
.paw-picker__option:has(input:checked) { color: #286b56; font-weight: 700; }
.paw-picker__option input:checked + span svg { fill: currentColor; stroke-width: 1; }
.paw-picker__option:focus-within { outline: 2px solid #286b56; outline-offset: 4px; }
@media (max-width: 575px) {
  .review-hero { padding: 2.5rem 0; }
  .review-hero__inner { min-height: 240px; padding-inline: 1.25rem; }
  .review-hero__quote { font-size: 1.5rem; }
}
