.reviews-main{max-width:1160px;margin:auto;padding:80px 40px 100px}
.reviews-intro{max-width:760px;margin-bottom:54px}
.reviews-intro h1{margin:0;font:700 clamp(42px,6vw,68px)/1.05 var(--display);letter-spacing:-.05em}
.reviews-intro h1 em{color:var(--green);font-style:normal}
.reviews-intro>p:not(.eyebrow){max-width:570px;margin:18px 0;color:var(--muted);font-size:14px;line-height:1.8}
.reviews-summary{display:flex;align-items:baseline;gap:10px;color:var(--muted);font-size:12px}
.reviews-summary strong{color:var(--ink);font-size:25px}
.reviews-summary strong::after{content:" / 5";color:var(--muted);font-size:13px;font-weight:500}
.reviews-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,76px);align-items:start}
.review-form-panel{padding:27px;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--green)}
.review-form-panel>.eyebrow,.reviews-list-heading .eyebrow{margin-bottom:8px;color:var(--green)}
.review-form-panel h2,.reviews-list-heading h2{margin:0 0 21px;font:700 26px/1.2 var(--display);letter-spacing:-.03em}
.review-field{display:block;margin-bottom:15px;color:var(--ink);font-size:12px;font-weight:600}
.review-field input,.review-field textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid var(--line);border-radius:3px;background:var(--white);color:var(--ink);font:400 13px/1.5 var(--body)}
.review-field input{height:43px}
.review-field textarea{min-height:120px;resize:vertical}
.review-field input::placeholder,.review-field textarea::placeholder{color:var(--muted)}
.review-privacy{margin:-7px 0 17px;color:var(--muted);font-size:10px;line-height:1.6}
.rating-field{margin:0 0 16px;padding:0;border:0}
.rating-field legend{margin-bottom:6px;color:var(--ink);font-size:12px;font-weight:600}
.rating-options{display:flex;gap:4px}
.rating-options label{position:relative;display:inline-grid;width:39px;height:39px;place-items:center;border:1px solid var(--line);border-radius:3px;color:var(--muted);font-size:24px;line-height:1;cursor:pointer}
.rating-options label.is-active{color:var(--green)}
.rating-options label:focus-within{outline:3px solid var(--clay);outline-offset:2px}
.rating-options input{position:absolute;width:1px;height:1px;opacity:0}
.review-submit{min-height:43px;padding:0 18px;border:0;border-radius:3px;background:#087b59;color:#fff;font:600 12px var(--body);cursor:pointer}
.review-submit:hover{background:#099268}
.review-submit:disabled{opacity:.65;cursor:wait}
.review-message{min-height:20px;margin:11px 0 0;color:var(--green);font-size:11px;line-height:1.6}
.review-message.is-error{color:#a63626}
.reviews-list-section{min-width:0}
.reviews-list-heading{padding-bottom:13px;border-bottom:1px solid var(--line)}
.reviews-list-heading h2{margin-bottom:0}
.reviews-load-message{margin:20px 0;color:var(--muted);font-size:12px;line-height:1.7}
.reviews-list{display:grid;gap:12px}
.review-card{padding:19px 20px;background:var(--white);border:1px solid var(--line);border-radius:3px}
.review-stars{display:block;margin-bottom:9px;color:var(--green);font-size:16px;letter-spacing:.12em}
.review-card-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.review-card-heading h3{margin:0;color:var(--ink);font:600 14px/1.4 var(--body)}
.review-card-heading time{color:var(--muted);font-size:10px;white-space:nowrap}
.review-comment{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.reviews-page .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}
:root[data-theme="dark"] .review-form-panel input,
:root[data-theme="dark"] .review-form-panel textarea{border-color:var(--line)}
:root[data-theme="dark"] .review-message.is-error{color:var(--tracker-red)}
:root[data-theme="dark"] .review-submit{background:#087b59}
:root[data-theme="dark"] .review-submit:hover{background:#099268}
@media(max-width:760px){
  .reviews-main{padding:58px 6% 72px}
  .reviews-layout{grid-template-columns:1fr;gap:38px}
  .reviews-intro{margin-bottom:35px}
}
@media(max-width:480px){
  .reviews-main{padding-inline:5%}
  .review-form-panel{padding:20px}
  .review-card{padding:16px}
}
