/* Dedicated Reviews page only. The Home carousel retains its existing assets. */
body[data-page="reviews"] { background: #111; }
.reviews-page-shell { width: min(100%, 1320px); margin-inline: auto; }
.reviews-page-hero { padding: 156px 6% 70px; background: #111; color: #f7f7f3; }
.reviews-page-hero > .reviews-page-shell { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(260px, .7fr); align-items: end; gap: 72px; }
.reviews-page-hero .eyebrow, .reviews-collection .eyebrow { margin: 0 0 22px; font-size: 10px; font-weight: 700; letter-spacing: .19em; line-height: 1.8; color: #aaa; }
.reviews-page-hero h1 { margin: 0; max-width: 900px; font-size: clamp(42px, 5.1vw, 72px); font-weight: 600; line-height: 1.08; letter-spacing: -.055em; text-transform: none; }
.reviews-page-hero h1 span { color: #a8a8a8; }
.reviews-lead { max-width: 560px; margin: 25px 0 26px; font-size: 16px; line-height: 1.8; color: #c4c4c4; }
.reviews-text-link { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 6px; }
.reviews-text-link > span[aria-hidden] { font-size: 18px; }
.reviews-selection-panel { padding: 26px 0 2px 32px; border-left: 1px solid #484848; }
.reviews-panel-label { margin: 0; font-size: 9px; letter-spacing: .2em; color: #b6b6b6; }
.reviews-panel-number { margin: 14px 0 8px; font-size: 84px; line-height: 1; font-weight: 500; letter-spacing: -.07em; }
.review-selection-count { margin: 0; color: #f4f4f1; font-size: 14px; font-weight: 600; line-height: 1.7; }
.reviews-panel-note { max-width: 250px; margin: 12px 0; color: #a9a9a9; font-size: 11px; line-height: 1.8; }
.reviews-selection-panel > a { display: inline-flex; gap: 18px; align-items: center; min-height: 44px; color: #eee; font-size: 11px; text-decoration: underline; text-underline-offset: 4px; }
.reviews-collection { padding: 60px 6% 76px; background: #ededea; color: #1c1c1c; }
.reviews-collection-heading { display: flex; justify-content: space-between; align-items: end; gap: 48px; margin-bottom: 34px; }
.reviews-collection .eyebrow { color: #686864; margin-bottom: 12px; }
.reviews-collection h2 { margin: 0; max-width: 800px; font-size: clamp(30px, 3.2vw, 43px); font-weight: 600; letter-spacing: -.045em; text-transform: none; line-height: 1.15; color: #191919; }
.reviews-collection-heading > p { max-width: 330px; margin: 0 0 2px; color: #5c5c57; font-size: 13px; line-height: 1.8; }
.reviews-tools { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 22px 28px; padding: 0 0 28px; margin-bottom: 28px; border-bottom: 1px solid #cdcdc7; }
.reviews-tools[hidden], .customer-review-item[hidden], .reviews-empty[hidden], .reviews-topic-chip[hidden] { display: none !important; }
.reviews-search { margin: 0; width: min(100%, 560px); }
.reviews-search label { display: block; margin: 0 0 10px; color: #242424; font-size: 12px; font-weight: 700; }
.reviews-search-controls { display: flex; align-items: stretch; gap: 10px; }
.reviews-search-input-wrap { position: relative; flex: 1; min-width: 0; }
.reviews-search svg { position: absolute; top: 14px; left: 14px; width: 20px; height: 20px; stroke: #64645f; stroke-width: 1.5; pointer-events: none; }
.reviews-search input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: 12px 15px 12px 43px; border: 1px solid #c7c7c0; border-radius: 4px; background: #fff; color: #181818; font: inherit; font-size: 14px; }
.reviews-search input::placeholder { color: #6b6b67; opacity: 1; }
.reviews-search button { min-height: 48px; min-width: 64px; padding: 10px 14px; border: 1px solid #bebeb7; border-radius: 4px; color: #252525; background: transparent; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.reviews-search button:disabled { color: #757570; cursor: default; border-color: #cdcdc7; }
.reviews-search button:not(:disabled):hover { background: #deded8; }
.reviews-search-help, #review-search-help { margin: 9px 0 0; font-size: 10px; line-height: 1.7; color: #686863; }
.reviews-results { margin: 0; font-size: 11px; line-height: 1.7; color: #5c5c57; }
.reviews-order-note { max-width: 760px; margin: -14px 0 24px; color: #5c5c57; font-size: 12px; line-height: 1.8; }
.reviews-topics { flex-basis: 100%; }
.reviews-topics-label { margin: 0 0 10px; color: #242424; font-size: 12px; font-weight: 700; }
.reviews-topic-list { display: flex; flex-wrap: wrap; gap: 9px; }
.reviews-topic-chip { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; max-width: 100%; padding: 10px 16px; border: 1px solid #b9b9b1; border-radius: 24px; background: transparent; color: #343430; font: inherit; font-size: 12px; font-weight: 600; line-height: 1.4; cursor: pointer; }
.reviews-topic-chip:hover { background: #deded8; border-color: #777770; }
.reviews-topic-chip[aria-pressed="true"] { background: #20201e; color: #fff; border-color: #20201e; }
.reviews-topic-chip [data-review-topic-count] { font-size: 10px; font-weight: 500; font-variant-numeric: tabular-nums; opacity: .85; }
.reviews-topics-help { max-width: 760px; margin: 12px 0 0; color: #62625c; font-size: 11px; line-height: 1.75; }
.customer-reviews-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 22px; list-style: none; padding: 0; margin: 0; }
.customer-review-item { min-width: 0; margin: 0; padding: 0; }
.customer-review { padding: 28px; background: #fff; color: #202020; border: 1px solid #deded8; border-radius: 7px; box-shadow: 0 3px 10px #00000004; }
.customer-review-header { display: flex; gap: 13px; align-items: center; }
.customer-review-header > div { min-width: 0; }
.customer-initials { display: flex; flex: 0 0 42px; width: 42px; height: 42px; align-items: center; justify-content: center; border: 1px solid #d7d7d1; border-radius: 50%; background: #f1f1ee; color: #242424; font-size: 12px; font-weight: 700; }
.customer-review h3 { margin: 0; color: #181818; font-size: 15px; font-weight: 700; line-height: 1.5; letter-spacing: -.015em; text-transform: none; overflow-wrap: anywhere; }
.customer-source-label, .customer-review-date { display: block; margin: 3px 0 0; color: #6d6d66; font-size: 10px; line-height: 1.65; }
.customer-stars { margin: 22px 0 17px; color: #222; font-size: 17px; line-height: 1; letter-spacing: 2px; }
.customer-quote { margin: 0; color: #32322e; font-size: 15px; line-height: 1.85; letter-spacing: -.008em; white-space: pre-wrap; overflow-wrap: anywhere; max-height: none; overflow: visible; }
.customer-response { margin-top: 24px; border-left: 2px solid #c8c8c0; padding: 1px 0 1px 17px; }
.response-heading { display: flex; gap: 8px; align-items: start; margin-bottom: 10px; }
.response-mark { font-size: 17px; line-height: 1.4; color: #666660; }
.customer-response h4 { margin: 0; color: #30302c; font-size: 11px; font-weight: 800; line-height: 1.8; text-transform: none; letter-spacing: 0; }
.response-date { display: block; font-size: 10px; line-height: 1.8; color: #72726b; }
.response-text { margin: 0; color: #60605a; font-size: 13px; line-height: 1.85; white-space: pre-wrap; overflow-wrap: anywhere; max-height: none; overflow: visible; }
.customer-source-link { display: inline-flex; align-items: center; gap: 15px; min-height: 44px; margin-top: 17px; font-size: 10px; line-height: 1.7; color: #61615b; text-decoration: underline; text-underline-offset: 4px; }
.reviews-empty { padding: 65px 24px; text-align: center; border: 1px solid #d4d4ce; border-radius: 6px; background: #f8f8f5; }
.reviews-empty h3 { margin: 0 0 12px; font-size: 23px; letter-spacing: -.025em; }
.reviews-empty p { margin: 0; color: #666660; font-size: 13px; line-height: 1.8; }
.reviews-bottom { display: flex; align-items: center; justify-content: space-between; gap: 48px; margin-top: 42px; padding-top: 30px; border-top: 1px solid #cdcdc7; }
.reviews-source-note { max-width: 570px; margin: 0; color: #666660; font-size: 11px; line-height: 1.9; }
.reviews-bottom-actions { display: flex; flex-wrap: wrap; gap: 12px 25px; align-items: center; }
.reviews-bottom-actions .button { min-height: 48px; padding: 13px 20px; background: #181818; color: #fff; border: 1px solid #181818; clip-path: none; border-radius: 4px; font-size: 11px; }
.reviews-bottom-actions .reviews-text-link { color: #333; font-size: 11px; }
.reviews-page-hero a:focus-visible, .reviews-collection :is(a, button, input):focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.reviews-collection .reviews-topic-chip:focus-visible { outline-color: #202020; }
.reviews-collection input:focus-visible { outline-color: #202020; outline-offset: 3px; }
.reviews-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 1100px) {
  .reviews-page-hero > .reviews-page-shell { gap: 40px; grid-template-columns: minmax(0, 1fr) minmax(230px, .5fr); }
  .reviews-page-hero { padding-top: 140px; }
  .customer-reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reviews-bottom { align-items: start; }
}
@media (max-width: 700px) {
  .reviews-page-hero { padding: 124px 24px 42px; }
  .reviews-page-hero > .reviews-page-shell { grid-template-columns: 1fr; gap: 32px; }
  .reviews-page-hero h1 { font-size: clamp(35px, 9.2vw, 57px); }
  .reviews-page-hero .eyebrow { font-size: 9px; margin-bottom: 19px; }
  .reviews-lead { font-size: 14px; margin: 20px 0 15px; }
  .reviews-selection-panel { border-left: 0; border-top: 1px solid #444; padding: 24px 0 0; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 20px; align-items: center; }
  .reviews-panel-label { grid-column: 2; margin-top: 0; font-size: 8px; }
  .reviews-panel-number { grid-column: 1; grid-row: 1 / 4; font-size: 62px; margin: 0; }
  .review-selection-count { grid-column: 2; font-size: 12px; }
  .reviews-panel-note { grid-column: 2; max-width: none; margin: 6px 0 0; font-size: 10px; }
  .reviews-selection-panel > a { grid-column: 2; font-size: 10px; }
  .reviews-collection { padding: 40px 20px 50px; }
  .reviews-collection-heading { display: block; margin-bottom: 26px; }
  .reviews-collection h2 { font-size: 30px; }
  .reviews-collection-heading > p { margin-top: 15px; max-width: 420px; font-size: 12px; }
  .reviews-tools { display: block; padding-bottom: 20px; margin-bottom: 20px; }
  .reviews-search { width: 100%; }
  .reviews-search input { font-size: 16px; padding-left: 39px; padding-right: 7px; }
  .reviews-search svg { width: 18px; left: 12px; }
  .reviews-search button { padding: 10px 12px; min-width: 60px; }
  .reviews-topics { margin-top: 22px; }
  .reviews-topic-list { gap: 8px; }
  .reviews-topic-chip { padding: 10px 13px; font-size: 11px; }
  .reviews-results { margin: 18px 0 0; }
  .customer-reviews-grid { grid-template-columns: minmax(0, 1fr); gap: 17px; }
  .customer-review { padding: 25px 23px; }
  .customer-quote { font-size: 15px; line-height: 1.85; }
  .customer-response { padding-left: 15px; }
  .reviews-bottom { display: block; margin-top: 30px; padding-top: 25px; }
  .reviews-bottom-actions { margin-top: 20px; gap: 12px 20px; }
}
@media (prefers-reduced-motion: reduce) { .reviews-page-hero *, .reviews-collection * { scroll-behavior: auto !important; transition: none !important; } }
.customer-rating-only { margin: 0; color: #6c6c65; font-size: 12px; line-height: 1.8; }
