/* One reading experience for the team's reviews, with complete stories on demand. */
.reviews-page .reviews-first { padding-top: 62px; padding-bottom: 80px; }
.reviews-heading { display: grid; grid-template-columns: 1.35fr .65fr; align-items: end; gap: 64px; margin-bottom: 42px; }
.reviews-heading h1 { margin: 0; max-width: 730px; font-size: clamp(48px,5.3vw,76px); line-height: 1.04; }
.reviews-heading > p { max-width: 310px; margin: 0 0 5px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.reviews-heading .eyebrow { margin-bottom: 16px; }
.review-stories { border-top: 1px solid #b9c3b6; }
.review-story { display: grid; grid-template-columns: minmax(190px,.7fr) minmax(0,1.65fr); gap: 64px; padding: 40px 0 42px; border-bottom: 1px solid #cbd1c5; }
.review-story-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.review-story-meta strong { color: var(--ink); font-size: 15px; font-weight: 600; letter-spacing: .015em; }
.review-story-meta .review-stars { margin-top: 4px; font-size: 13px; }
.review-story-content { min-width: 0; }
.review-story-preview { margin: 0; }
.review-story-preview p { max-width: 24ch; margin: 0 0 16px; color: var(--pine-deep); font-family: var(--serif); font-size: clamp(29px,3.25vw,44px); font-weight: 400; letter-spacing: -.025em; line-height: 1.19; text-wrap: balance; }
.review-story-details summary { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; padding: 8px 0; color: var(--pine-deep); cursor: pointer; font-size: 13px; font-weight: 600; line-height: 1.5; list-style: none; }
.reviews-page summary::-webkit-details-marker { display: none; }
.reviews-page .review-toggle { position: relative; display: inline-block; flex: 0 0 12px; width: 12px; height: 12px; color: var(--clay-dark); transform: none; }
.reviews-page .review-toggle::before, .reviews-page .review-toggle::after { position: absolute; inset: 5px 0 auto; height: 1px; background: currentColor; content: ""; }
.reviews-page .review-toggle::after { transform: rotate(90deg); }
.reviews-page details[open] > summary .review-toggle::after { transform: rotate(0); }
.reviews-page .when-open { display: none; }
.reviews-page details[open] > summary .when-closed { display: none; }
.reviews-page details[open] > summary .when-open { display: inline; }
.reviews-page summary:hover { color: var(--clay-dark); }
.reviews-page summary:focus-visible, .reviews-page a:focus-visible { outline: 2px solid var(--pine); outline-offset: 5px; border-radius: 1px; }
.review-story-copy { max-width: 66ch; margin: 20px 0 0; padding-top: 24px; border-top: 1px solid #d7dbd1; columns: auto; color: #3f4942; font-size: 17px; line-height: 1.75; }
.review-story-copy p { margin: 0 0 1.15em; }
.review-story-copy p:last-child { margin-bottom: 0; }
.review-story-details[open] .review-story-copy { animation: review-open .3s ease-out; }
@keyframes review-open { from { opacity: .6; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.review-source-links { display: flex; align-items: center; flex-wrap: wrap; column-gap: 28px; row-gap: 8px; margin: 36px 0 30px; }
.review-source-links > span { flex: 1 1 230px; color: var(--muted); font-size: 13px; }
.review-source-links a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--pine-deep); font-size: 13px; font-weight: 600; text-decoration: underline; text-decoration-color: #bbc5b6; text-underline-offset: 5px; }
.review-source-links a:hover { text-decoration-color: currentColor; }
.reviews-page .reviews-excerpts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 44px; }
.reviews-page .reviews-excerpts blockquote { min-height: 0; margin: 0; padding: 30px 0 29px; background: transparent; border: 0; border-top: 1px solid #cbd1c5; }
.reviews-page .reviews-excerpts .review-platform { color: var(--clay-dark); font-size: 10px; letter-spacing: .1em; font-weight: 600; }
.reviews-page .reviews-excerpts p { flex: 1; max-width: 29ch; margin: 17px 0 22px; font-size: clamp(24px,2.4vw,30px); line-height: 1.28; }
.reviews-page .reviews-excerpts footer { display: block; color: var(--muted); font-size: 12px; font-weight: 500; line-height: 1.6; letter-spacing: 0; text-transform: none; }
.reviews-page .reviews-excerpts footer a { display: inline-block; margin-top: 2px; padding: 6px 0; color: var(--pine-deep); text-decoration-color: #b2bdab; text-underline-offset: 4px; }
.reviews-page .reviews-excerpts footer a:hover { text-decoration-color: currentColor; }
.reviews-page .reviews-archive { margin-top: 8px; }
.reviews-page .reviews-archive > summary { min-height: 64px; padding: 19px 0; border-color: #b9c3b6; font-size: 14px; font-weight: 600; }
.reviews-page .reviews-archive > summary > span { color: inherit; font-size: inherit; transform: none; }
.reviews-page .reviews-archive > summary > .review-toggle { flex-basis: 12px; }
.reviews-page .reviews-archive .quote-wall { padding-top: 22px; }
.reviews-page .quiet-cta { padding-block: 70px; background: #eeeee6; }
.reviews-page .quiet-cta h2 { max-width: 620px; font-size: clamp(34px,4vw,52px); }

@media (max-width: 1000px) {
  .reviews-heading { grid-template-columns: 1.2fr .8fr; gap: 36px; }
  .review-story { grid-template-columns: 180px minmax(0,1fr); gap: 36px; }
  .review-story-preview p { font-size: 35px; }
  .review-story-copy { font-size: 16px; }
}

@media (max-width: 800px) {
  .reviews-page .reviews-first { padding-top: 42px; padding-bottom: 56px; }
  .reviews-heading { grid-template-columns: 1fr; gap: 18px; margin-bottom: 30px; }
  .reviews-heading h1 { max-width: 600px; font-size: clamp(43px,6.9vw,59px); }
  .reviews-heading > p { max-width: 480px; margin: 0; }
  .review-story { grid-template-columns: 1fr; gap: 20px; padding-block: 30px; }
  .review-story-meta { display: grid; grid-template-columns: 1fr auto; gap: 4px 20px; }
  .review-story-meta strong { grid-column: 1; grid-row: 1; }
  .review-story-meta > span:first-of-type { grid-column: 1; grid-row: 2; }
  .review-story-meta > span:nth-of-type(2) { grid-column: 2; grid-row: 1; text-align: right; }
  .review-story-meta > .review-stars { grid-column: 2; grid-row: 2; margin-top: 0; text-align: right; }
  .review-story-preview p { max-width: 28ch; font-size: 34px; }
  .review-story-copy { max-width: 66ch; font-size: 17px; }
  .review-source-links { margin-top: 24px; margin-bottom: 16px; }
  .review-source-links > span { flex-basis: 100%; }
  .reviews-page .reviews-excerpts { column-gap: 30px; }
}

@media (max-width: 540px) {
  .reviews-page .reviews-first { padding-top: 30px; }
  .reviews-heading .eyebrow { margin-bottom: 13px; font-size: 10px; letter-spacing: .13em; }
  .reviews-heading { gap: 15px; margin-bottom: 26px; }
  .reviews-heading h1 { font-size: clamp(39px,11vw,48px); }
  .reviews-heading > p { font-size: 14px; line-height: 1.6; }
  .review-story { gap: 20px; padding-block: 26px; }
  .review-story-meta { gap: 3px 12px; font-size: 11px; }
  .review-story-meta strong { font-size: 14px; }
  .review-story-preview p { max-width: 23ch; margin-bottom: 11px; font-size: 31px; }
  .review-story-details summary { font-size: 12px; gap: 14px; }
  .review-story-copy { margin-top: 15px; padding-top: 19px; font-size: 16px; line-height: 1.75; }
  .review-source-links { column-gap: 22px; row-gap: 3px; }
  .review-source-links a { font-size: 12px; }
  .reviews-page .reviews-excerpts { grid-template-columns: 1fr; }
  .reviews-page .reviews-excerpts blockquote { padding-block: 24px; }
  .reviews-page .reviews-excerpts p { max-width: 28ch; margin-block: 14px 17px; font-size: 27px; }
  .reviews-page .reviews-archive > summary { font-size: 13px; }
  .reviews-page .quiet-cta { padding-block: 52px; }
}

@media (prefers-reduced-motion: reduce) {
  .reviews-page *, .reviews-page *::before, .reviews-page *::after { animation: none !important; transition: none !important; }
}
