.reviews-section { background: #e9e5da; }
.reviews-heading { display: grid; grid-template-columns: 1.3fr .7fr; gap: 8vw; align-items: end; }
.reviews-heading h2 { margin-bottom: 0; }
.reviews-heading > p { color: var(--muted); font-size: 17px; line-height: 1.7; }
.reviews-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 7vw; margin-top: 62px; align-items: start; }
.reviews-list { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.empty-reviews { grid-column: 1 / -1; padding: 68px 34px; border: 1px dashed #aaa89f; text-align: center; }
.empty-reviews p { color: var(--muted); margin-bottom: 0; }
.stars { color: var(--amber); font-size: 20px; letter-spacing: 4px; margin-bottom: 18px; }
.review-card { background: #fafaf7; padding: 30px; position: relative; box-shadow: 0 8px 25px rgba(18,33,38,.06); }
.review-card blockquote { margin: 20px 0 25px; font-size: 16px; line-height: 1.7; color: #31434a; }
.review-card footer { display: block; background: transparent; color: var(--ink); padding: 0; }
.review-card footer strong, .review-card footer span { display: block; }
.review-card footer span { color: var(--muted); font-size: 13px; margin-top: 4px; }
.delete-review { position: absolute; right: 14px; top: 14px; border: 0; background: transparent; color: #8a9598; font-size: 20px; cursor: pointer; }
.review-form { background: var(--navy); color: white; padding: 38px; display: grid; gap: 18px; position: sticky; top: 24px; }
.review-form h3 { font-size: 27px; margin-bottom: 5px; }
.review-form input, .review-form select, .review-form textarea { border-color: #49606a; background: #102e3b; color: #fff; }
.review-form input::placeholder, .review-form textarea::placeholder { color: #9cadb4; }
.consent { grid-template-columns: 20px 1fr; align-items: start; font-weight: 400; line-height: 1.45; color: #c5d0d4; }
.consent input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--amber); }
.commitment { margin-top: 24px; padding: 18px; background: rgba(255,255,255,.28); border-left: 3px solid var(--navy); }
.commitment b, .commitment small { display: block; }
.commitment small { margin-top: 6px; line-height: 1.5; }
.deposit-note { margin: -5px 0 0; padding: 13px 15px; background: #fff8e8; color: #5f4a20; font-size: 12px; line-height: 1.5; }
.enquiry-consent { grid-template-columns: 20px 1fr; align-items: start; font-weight: 500; line-height: 1.5; color: var(--muted); }
.enquiry-consent input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--amber); }
@media (max-width: 850px) {
  .reviews-heading, .reviews-layout { grid-template-columns: 1fr; }
  .reviews-layout { gap: 45px; }
  .review-form { position: static; }
}
@media (max-width: 560px) {
  .reviews-list { grid-template-columns: 1fr; }
  .review-form { padding: 26px; }
}
