.review-hero { padding: clamp(54px, 8vw, 104px) 0 46px; border-bottom: 1px solid var(--raft-rule); }
.review-hero h1 { max-width: 15ch; margin: 17px 0 24px; font: 400 clamp(44px, 7vw, 78px)/.98 var(--raft-serif); letter-spacing: -.04em; }
.review-standfirst { max-width: 66ch; margin: 0; color: var(--raft-muted); font-size: 18px; line-height: 1.65; }
.review-meta { margin-top: 23px; color: var(--raft-muted); font-size: 12px; }
.review-signals { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--raft-rule); }
.review-signal { padding: 28px 24px 28px 0; }
.review-signal + .review-signal { padding-left: 24px; border-left: 1px solid var(--raft-rule); }
.review-signal strong { display: block; font: 400 36px/1 var(--raft-serif); }
.review-signal span { display: block; margin-top: 8px; color: var(--raft-muted); font-size: 12px; line-height: 1.45; }
.review-body { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(44px, 8vw, 110px); padding: clamp(58px, 8vw, 96px) 0; }
.review-body aside { font: 400 28px/1.25 var(--raft-serif); }
.review-copy { max-width: 68ch; }
.review-copy h2 { margin: 48px 0 14px; font: 400 34px/1.12 var(--raft-serif); }
.review-copy h2:first-child { margin-top: 0; }
.review-copy p, .review-copy li { color: var(--raft-muted); font-size: 16px; line-height: 1.75; }
.review-copy strong { color: var(--raft-ink); font-weight: 600; }
.review-copy ul { padding-left: 20px; }
.review-takeaway { margin-top: 38px; padding: 22px; border-left: 4px solid var(--raft-cobalt); background: var(--raft-cobalt-soft); }
.review-takeaway p { margin: 0; color: var(--raft-ink); font-size: 14px; }
.review-sources { margin-top: 54px; padding-top: 22px; border-top: 1px solid var(--raft-rule); }
.review-sources h2 { margin: 0 0 12px; font-size: 18px; }
.review-sources li { margin: 8px 0; font-size: 13px; }
.review-sources a { color: var(--raft-cobalt-dark); }
@media (max-width: 800px) {
  .review-signals { grid-template-columns: 1fr 1fr; }
  .review-signal:nth-child(3) { padding-left: 0; border-top: 1px solid var(--raft-rule); border-left: 0; }
  .review-signal:nth-child(4) { border-top: 1px solid var(--raft-rule); }
  .review-body { grid-template-columns: 1fr; }
  .review-body aside { max-width: 24ch; }
}
@media (max-width: 520px) {
  .review-signals { grid-template-columns: 1fr; }
  .review-signal, .review-signal + .review-signal, .review-signal:nth-child(3), .review-signal:nth-child(4) { padding: 20px 0; border-top: 1px solid var(--raft-rule); border-left: 0; }
  .review-signal:first-child { border-top: 0; }
  .review-hero h1 { font-size: 43px; }
  .review-standfirst { font-size: 16px; }
}
