.reviews-section { max-width: var(--max); margin: auto; padding: 24px 28px 40px; border-top: 1px solid var(--line); }
.reviews-section .section-heading-row { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:18px; }
.reviews-section h2 { margin:5px 0 0; font-family:var(--heading); font-size:clamp(30px,4vw,44px); line-height:.92; letter-spacing:-.045em; }
.reviews-summary { color:var(--accent); font:600 11px var(--mono); text-transform:uppercase; white-space:nowrap; }
.reviews-summary__stars { display:inline-block; color:var(--accent); font:normal 22px/1 Arial,sans-serif; letter-spacing:2px; margin-right:10px; }
.reviews-summary__count { color:var(--muted); vertical-align:3px; }
.reviews-layout { display:grid; grid-template-columns:1.4fr .8fr; gap:24px; align-items:start; }
.reviews-list-column { min-width:0; }
.reviews-list { display:grid; gap:12px; }
.review-card, .review-form-card { border:1px solid var(--line); border-radius:6px; background:rgba(255,255,255,.02); padding:18px; }
.review-form-card { margin-top:-100px; }
.review-card__top { display:flex; justify-content:space-between; gap:16px; color:var(--muted); font:500 10px var(--mono); text-transform:uppercase; }
.review-card__top span { color:var(--accent); letter-spacing:2px; }
.review-card p { margin:10px 0 0; color:var(--body); white-space:pre-wrap; }
.review-form-card label { display:block; margin:0 0 8px; color:var(--muted); font:500 9px var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.review-form-card textarea { width:100%; margin-top:6px; padding:10px; border:1px solid var(--line); background:var(--surface); color:var(--text); font:inherit; }
.review-form-card textarea { resize:vertical; }
.review-stars { display:flex; gap:4px; margin:2px 0 18px; }
.review-star { border:0; padding:0; background:transparent; color:var(--muted); font:normal 30px/1 Arial,sans-serif; cursor:pointer; transition:transform .12s ease,color .12s ease; }
.review-star:hover, .review-star:focus-visible, .review-star.is-selected { color:var(--accent); }
.review-star:hover { transform:scale(1.08); }
.review-star:focus-visible { outline:1px solid var(--accent); outline-offset:4px; }
.review-form-message, .reviews-empty { color:var(--muted); font-size:13px; }
.review-signin { margin-top:14px; }
.review-signin[hidden] { display:none !important; }
.review-signed-in { display:flex; align-items:center; gap:10px; margin:10px 0 16px; color:var(--body); font-size:14px; }
.review-signed-in img { width:32px; height:32px; border-radius:50%; object-fit:cover; }
.review-signed-in strong { color:var(--text); }
@media(max-width:760px) { .reviews-section { padding:20px; } .reviews-layout { grid-template-columns:1fr; } .reviews-section .section-heading-row { align-items:start; flex-direction:column; gap:8px; } .review-form-card { margin-top:0; } }
