.review-intake{max-width:720px;margin:0 auto;padding:36px;border:1px solid var(--line);border-radius:24px;background:var(--paper)}
.review-intake h2{font-family:'Instrument Serif',serif;font-size:36px;font-weight:400;margin:0 0 14px}
.review-intake p{line-height:1.6}
.review-intake fieldset{padding:0;margin:24px 0;border:0}
.review-intake legend,.review-body-label{display:block;font-size:14px;font-weight:600;margin-bottom:12px}
.review-stars{display:flex;gap:6px}
.review-stars label{display:flex;flex:1;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:44px;padding:4px;border:1px solid var(--line);border-radius:12px;color:var(--teal);cursor:pointer;white-space:nowrap}
.review-stars input{margin:0}
.review-stars label:has(input:checked){background:var(--mint);border-color:var(--teal)}
.review-stars input{accent-color:var(--teal)}
.review-intake textarea{display:block;width:100%;min-height:150px;padding:14px;font:inherit;line-height:1.5;color:var(--ink);border:1px solid var(--line);border-radius:12px;resize:vertical;box-sizing:border-box}
.review-intake button{margin-top:18px;min-height:44px}
.review-intake button:disabled{opacity:.65;cursor:default}
.review-intake input:focus-visible,.review-intake textarea:focus-visible,.review-intake button:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.review-trap{display:none}
#reviewStatus{min-height:1.5em;font-size:14px}
@media(max-width:640px){.review-intake{padding:24px 18px}.review-stars{gap:4px;font-size:13px}}
