.reviews-intro { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:32px 60px; align-items:center; padding-block:40px 36px; }
.reviews-intro h1 { margin-top:14px; max-width:20ch; font-size:clamp(38px,4.2vw,56px); }
.reviews-deck { font:italic 400 25px/1.4 var(--serif-text); color:var(--brick); margin-top:18px; }
.reviews-rating { padding:24px 28px; background:var(--paper-deep); border:1px solid var(--hairline); }
.reviews-rating > p { display:flex; align-items:center; gap:20px; }
.reviews-rating strong { font:400 62px/1 var(--serif); }
.reviews-rating span { color:var(--ink-soft); font-size:14px; }
.reviews-rating a { display:inline-block; margin-top:16px; font-size:14px; }
.reviews-rating small { display:block; margin-top:10px; font-size:12px; color:var(--ink-soft); }
.reviews-collection { padding-bottom:24px; }
.reviews-collection-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px 48px; align-items:end; padding-top:30px; border-top:1px solid var(--hairline); }
.reviews-collection-head h2 { font-size:32px; margin-top:12px; }
.reviews-collection-head > p { color:var(--ink-soft); max-width:52ch; font-size:14px; }
.review-filter { margin-top:26px; }
.review-filter fieldset { border:0; padding:0; margin:0; }
.review-filter legend { font-size:13px; color:var(--ink-soft); padding:0; margin-bottom:12px; }
.review-filter-buttons { display:flex; flex-wrap:wrap; gap:8px; }
.review-filter button { min-height:44px; padding:9px 17px; border:1px solid var(--hairline); background:transparent; border-radius:999px; color:var(--ink); font-size:13px; }
.review-filter button[aria-pressed=true] { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.review-filter button:hover { border-color:var(--brick); }
#review-count { font-size:13px; color:var(--ink-soft); margin-top:14px; }
.reviews-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; margin-top:24px; }
.review-card { display:flex; flex-direction:column; padding:26px 0; border-top:1px solid var(--hairline); min-width:0; }
.review-card blockquote { font:400 clamp(20px,2vw,24px)/1.5 var(--serif-text); }
.review-card .hl { color:var(--brick); }
.review-card cite { display:block; margin-top:auto; padding-top:22px; font:400 13px/1.6 var(--sans); color:var(--ink-soft); }
.review-start { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(30px,5vw,64px); padding-block:28px 20px; }
.review-start-copy { border-top:1px solid var(--hairline); padding-top:28px; }
.review-start h2 { max-width:20ch; margin-top:14px; }
.review-start-copy > p:not(.eyebrow) { color:var(--ink-soft); margin-top:20px; max-width:45ch; }
.review-direct { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:24px; font-size:14px; }
.review-form { padding:28px; border:1px solid var(--hairline); background:var(--paper-deep); }
.review-form .field-grid { margin-top:20px; }
.review-wide { grid-column:1/-1; }
.review-form .form-actions { align-items:flex-start; flex-direction:column; gap:12px; }
.review-form-closing { margin-top:16px; font-size:13px; color:var(--ink-soft); }
@media(max-width:800px) { .reviews-intro,.reviews-collection-head,.review-start { grid-template-columns:1fr; gap:26px; } .reviews-rating { max-width:460px; } }
@media(max-width:600px) { .reviews-intro { padding-block:30px; } .reviews-grid { grid-template-columns:1fr; } .review-card { padding-block:24px; } .reviews-rating,.review-form { padding:20px; } .reviews-collection-head { padding-top:24px; } }
