/* Review additions use the v4.7 palette and type; existing styles stay intact. */
.reviews-band{border-top:1px solid var(--line);padding-block:62px}
.reviews-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.reviews-intro h2{font-size:clamp(32px,3.5vw,48px)}
.reviews-intro .eyebrow{margin-bottom:18px}
.reviews-invite{border-left:1px solid var(--line);padding-left:40px}
.reviews-invite p{max-width:440px;margin-bottom:12px}
.reviews-invite .text-link{margin-top:5px}
.review-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:22px;margin-top:32px}
.review-card{background:var(--white);border:1px solid var(--line);padding:30px;margin:0;display:flex;flex-direction:column}
.review-card blockquote{margin:16px 0 28px;font-family:var(--serif);font-size:23px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-line}
.review-card figcaption{margin-top:auto;font-size:13px;overflow-wrap:anywhere}
.review-card figcaption span{display:block;color:var(--muted);font-size:12px}
.review-service{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:var(--olive-dark)}
.review-page .review-hero{padding-block:55px 35px;border-bottom:1px solid var(--line)}
.review-hero h1{font-size:clamp(42px,5vw,68px)}
.review-hero .lead{max-width:650px;margin-top:22px}
.review-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:65px;padding-block:45px 70px;align-items:start}
.review-aside h2{font-size:28px;letter-spacing:-.03em;margin-bottom:20px}
.review-aside ol{list-style:none;margin:0 0 28px;padding:0;counter-reset:review-step}
.review-aside li{counter-increment:review-step;border-top:1px solid var(--line);padding:18px 0 18px 35px;position:relative;font-size:14px;color:var(--muted)}
.review-aside li:before{content:'0' counter(review-step);position:absolute;left:0;color:var(--olive);font-size:11px;top:21px}
.review-aside li strong{display:block;color:var(--ink);margin-bottom:4px}
.review-aside p{font-size:13px}
.review-panel{background:var(--white);border:1px solid var(--line);padding:36px;min-width:0}
.review-panel h2{font-size:30px;margin-bottom:12px}
.review-panel>p{font-size:13px}
.review-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.review-field{margin-bottom:20px;min-width:0}
.review-field label,.review-form legend{display:block;font-size:13px;margin-bottom:8px;color:var(--ink)}
.review-field input,.review-field select,.review-field textarea,.review-draft textarea{display:block;width:100%;max-width:100%;border:1px solid #aeb2a3;background:var(--white);border-radius:0;color:var(--ink);padding:11px 12px;font-size:16px;line-height:1.5}
.review-field textarea{min-height:150px;resize:vertical}
.review-help{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin:6px 0 0}
.review-form fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}
.review-choice{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.65;margin:10px 0;color:var(--ink)}
.review-choice input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;accent-color:var(--olive-dark)}
.review-permission{background:var(--paper);padding:18px;margin-bottom:24px}
.review-permission .review-choice{margin:0 0 12px}
.review-permission .review-choice:last-child{margin-bottom:0}
.review-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.review-actions .button{font-size:13px;min-height:48px}
.review-draft{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.review-draft h3{font-size:24px;margin-bottom:10px}
.review-draft p{font-size:13px}
.review-draft textarea{height:270px;resize:vertical;font-size:13px;white-space:pre-wrap}
.review-draft label{display:block;font-size:13px;margin:16px 0 8px}
.review-status{font-size:13px;color:var(--olive-dark);margin:14px 0 0}
.review-privacy{margin-top:28px;border-top:1px solid var(--line);padding-top:20px;font-size:12px}
.review-privacy summary{font-size:13px;text-decoration:underline;text-underline-offset:4px}
.review-privacy p{margin:12px 0 0}
.review-email{overflow-wrap:anywhere}
[hidden]{display:none!important}
.review-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.review-challenge{margin-bottom:20px;max-width:100%}
.review-preview-note{padding:12px 15px;background:var(--paper);border-left:3px solid var(--olive)}
.review-success{padding:24px;background:var(--paper);border-top:2px solid var(--olive)}
.review-success h3{margin-bottom:18px}
#review-reference{overflow-wrap:anywhere}
.review-form button:disabled{cursor:wait;opacity:.6;transform:none}
#review-retry{margin-top:15px}
@media(max-width:900px){.review-layout{gap:30px;grid-template-columns:.7fr 1.3fr}.review-panel{padding:25px}.reviews-intro{gap:30px}.reviews-invite{padding-left:25px}}
@media(max-width:650px){.reviews-band{padding-block:42px}.reviews-intro,.review-layout{grid-template-columns:1fr;gap:26px}.reviews-invite{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.review-page .review-hero{padding-block:35px 28px}.review-hero .lead{font-size:16px}.review-layout{padding-block:30px 48px}.review-aside ol{margin-bottom:15px}.review-panel{padding:24px 18px}.review-form-grid{grid-template-columns:1fr;gap:0}.review-actions{flex-direction:column;align-items:stretch}.review-actions .button{justify-content:center}.review-card{padding:24px}.review-permission{padding:14px}.review-hero h1{font-size:43px}}
