.reviews-summary { padding: 88px 0 42px; background: var(--sand); }
.reviews-summary__grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 8%; align-items: end; }
.reviews-summary__score { padding: 28px; color: #fff; background: var(--ink); }
.reviews-summary__score strong { display: block; font: 500 44px Manrope,sans-serif; }
.reviews-summary__score span { color: #f5b82e; letter-spacing: .12em; }
.reviews-summary__score p { margin: 10px 0 0; color: #c7d1ce; }
.reviews-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; align-items: start; }
.review-card { min-height: 520px; display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--line); background: #fff; }
.review-card__stars { color: #078a63; font-size: 20px; letter-spacing: .12em; }
.review-card blockquote { min-height: 10.36em; display: -webkit-box; margin: 25px 0 10px; overflow: hidden; color: #263a35; font: 500 20px/1.48 Manrope,sans-serif; -webkit-box-orient: vertical; -webkit-line-clamp: 7; line-clamp: 7; }
.review-card.is-expanded blockquote { min-height: 0; display: block; overflow: visible; }
.review-card h3 { min-height: 2.7em; margin: 20px 0 0; font: 600 16px/1.35 Manrope,sans-serif; }
.review-card__toggle { align-self: flex-start; margin: 0 0 18px; padding: 3px 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--ink); font: 600 12px "DM Sans",sans-serif; cursor: pointer; }
.review-card__toggle:hover { color: var(--red); }
.review-card__toggle:focus-visible { outline: 2px solid var(--red); outline-offset: 4px; }
.review-card__goal { margin: auto 0 20px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--red); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.review-card footer { color: var(--muted); font-size: 12px; }
.review-card__original { display: block; margin-top: 10px; color: var(--muted); font-size: 10px; }
.reviews-more { display: flex; justify-content: center; margin-top: 36px; }
.reviews-empty { grid-column: 1/-1; padding: 54px; border: 1px dashed #b9c0bc; background: #fff; color: var(--muted); text-align: center; }
.reviews-integrity { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9%; color: #fff; background: var(--ink); }
.reviews-integrity__inner { padding: 95px 0; }
.reviews-integrity p { color: #c7d1ce; line-height: 1.7; }
.reviews-integrity--action { display: block; }
.reviews-integrity--action .reviews-integrity__inner { display: flex; justify-content: center; padding: 54px 0; }
.review-submit { background: var(--sand); }
.review-submit__layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 8%; align-items: start; }
.review-submit__intro { position: sticky; top: 130px; }
.review-submit__intro > p:not(.eyebrow) { color: var(--muted); font-size: 16px; line-height: 1.7; }
.review-form { padding: 38px; border: 1px solid var(--line); background: #fff; }
.review-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.review-form__full { grid-column: 1/-1; }
.review-form .field { display: grid; gap: 8px; }
.review-form .field label,.review-rating legend { font-size: 13px; font-weight: 600; }
.review-form input:not([type="radio"]):not([type="checkbox"]),.review-form textarea { width: 100%; padding: 14px 15px; border: 1px solid #cbd1cd; background: #fff; color: var(--ink); font: inherit; }
.review-form textarea { resize: vertical; }
.review-form input:focus,.review-form textarea:focus { outline: 2px solid rgba(232,36,47,.22); border-color: var(--red); }
.review-form .field small { color: var(--muted); font-size: 11px; }
.review-rating { margin: 0 0 28px; padding: 0; border: 0; }
.review-rating__stars { width: max-content; display: flex; flex-direction: row-reverse; margin-top: 10px; }
.review-rating__stars input { position: absolute; opacity: 0; }
.review-rating__stars label { color: #cbd1cd; font-size: 38px; line-height: 1; cursor: pointer; transition: color .15s,transform .15s; }
.review-rating__stars label:hover,.review-rating__stars label:hover~label,.review-rating__stars input:checked~label { color: #078a63; }
.review-rating__stars input:focus-visible+label { outline: 2px solid var(--red); outline-offset: 3px; }
.review-rating__stars label:hover { transform: translateY(-2px); }
.review-form__consent { display: grid; grid-template-columns: 20px 1fr; gap: 10px; margin: 24px 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.review-form__consent input { margin-top: 3px; accent-color: var(--red); }
.review-form__status { min-height: 24px; margin: 0 0 14px; color: var(--red); font-size: 13px; }
.review-form .required-marker { margin-left: 5px; color: #a81620; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.review-form.is-complete { text-align: center; }
.home-reviews { background: #fff; }
.home-reviews__panel { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8%; padding: 50px; border: 1px solid var(--line); background: var(--ivory); }
.home-reviews__principles { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.home-reviews__principles div { padding: 23px; background: var(--sand); }
.home-reviews__principles strong { display: block; margin-bottom: 8px; }
.home-reviews__principles span { color: var(--muted); font-size: 13px; line-height: 1.5; }
.home-reviews__preview { margin-top: 18px; }
.home-reviews__preview .review-card { min-height: 480px; }
@media(max-width:900px){.reviews-summary__grid,.reviews-integrity,.home-reviews__panel,.review-submit__layout{grid-template-columns:1fr}.reviews-grid{grid-template-columns:repeat(2,1fr)}.home-reviews__principles{grid-template-columns:1fr}.review-submit__intro{position:static}}
@media(max-width:620px){.reviews-grid{grid-template-columns:1fr}.home-reviews__panel,.review-form{padding:28px}.review-form__grid{grid-template-columns:1fr}.review-form__full{grid-column:auto}.review-card{min-height:0}.review-card blockquote{min-height:8.88em;font-size:18px;-webkit-line-clamp:6;line-clamp:6}.review-card.is-expanded blockquote{min-height:0}.review-card h3{min-height:0}}
