.feedback-page, .reviews-page {max-width:850px;padding-top:48px;padding-bottom:72px;}
.feedback-page h1, .reviews-intro h1 {max-width:22ch;font-size:clamp(34px,5vw,52px);}
.feedback-intro, .reviews-intro > p:first-of-type {font-size:18px;color:#52525b;}
.feedback-page form {margin-top:38px;}
.feedback-tuition {margin:30px 0;padding:24px;background:#edf8f2;border-radius:10px;}
.feedback-tuition h2 {font-size:26px;margin-bottom:18px;}
.feedback-tuition dl {margin:0;}
.feedback-tuition dl > div {display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;padding:5px 0;}
.feedback-tuition dt {font-size:14px;color:#52525b;}
.feedback-tuition dd {margin:0;overflow-wrap:anywhere;}
.feedback-field input:read-only {background:#f4f4f5;}
.feedback-field, .feedback-rating {margin:0 0 26px;}
.feedback-field > label, .feedback-rating legend {display:block;margin-bottom:10px;font-size:15px;font-weight:600;}
.feedback-field > label span {font-weight:400;color:#52525b;}
.feedback-field input, .feedback-field select, .feedback-field textarea {display:block;width:100%;border:1px solid #d4d4d8;border-radius:8px;background:white;color:#18181b;padding:12px 14px;font:16px/1.5 Inter,system-ui,sans-serif;}
.feedback-field textarea {min-height:165px;resize:vertical;}
.feedback-field :is(input,select,textarea):focus-visible {outline:3px solid #087b62;outline-offset:3px;}
.feedback-help, .review-note {font-size:13px;color:#52525b;line-height:1.6;}
.feedback-help {margin:9px 0 0;}
.feedback-fields-pair {display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.feedback-rating {padding:0;border:0;}
.feedback-rating-options {display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.feedback-rating-options label {position:relative;cursor:pointer;}
.feedback-rating-options input {position:absolute;opacity:0;width:1px;height:1px;}
.feedback-rating-options label > span {display:block;padding:14px 5px;text-align:center;background:white;border:1px solid #d4d4d8;border-radius:8px;font-size:18px;}
.feedback-rating-options input:checked + span {background:#edf8f2;border-color:#087b62;color:#06634f;box-shadow:inset 0 0 0 1px #087b62;}
.feedback-rating-options input:focus-visible + span {outline:3px solid #087b62;outline-offset:3px;}
.feedback-permission {padding:22px 0;border-top:1px solid #e4e4e7;}
.feedback-permission label {display:flex;align-items:flex-start;gap:12px;cursor:pointer;}
.feedback-permission input {flex-shrink:0;width:20px;height:20px;margin-top:4px;accent-color:#087b62;}
.feedback-permission .feedback-help {margin-left:32px;}
.feedback-submit {border:0;cursor:pointer;font-family:inherit;min-height:48px;}
.feedback-submit:disabled {opacity:.65;cursor:wait;}
.feedback-submit:focus-visible {outline:3px solid #087b62;outline-offset:4px;}
.feedback-error {color:#9f1239;padding:14px 16px;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;}
.feedback-success {padding:25px 0;}
.feedback-success:focus {outline:0;}
.feedback-trap {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.feedback-page [hidden] {display:none !important;}
.reviews-intro {margin:42px 0;}
.review-list {margin:28px 0;}
.review-card {padding:26px 0;border-top:1px solid #e4e4e7;}
.review-rating {color:#06634f;letter-spacing:2px;margin:0 0 14px;font-size:20px;}
.review-unfilled {color:#71717a;}
.review-score {letter-spacing:normal;margin-left:10px;color:#52525b;font-size:14px;}
.review-card blockquote {margin:0;}
.review-card blockquote p {white-space:pre-wrap;overflow-wrap:anywhere;font-size:17px;line-height:1.7;}
.review-author {font-weight:600;margin-bottom:0;}
.review-author span {display:block;font-size:13px;font-weight:400;color:#52525b;}
.review-date {margin-top:5px;font-size:13px;color:#52525b;}
.review-pagination {display:flex;justify-content:space-between;gap:24px;margin-top:30px;}
.review-section {border-top:1px solid #e4e4e7;padding:50px 0;}
.review-section h2 {margin-top:0;}
.review-section p {max-width:68ch;}
.review-section-actions {display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;margin-top:22px;}
.review-section .review-list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-bottom:0;}
.review-section .review-card {min-width:0;}
.review-section .review-card blockquote p {display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;font-size:16px;}
.review-section .review-list:empty {display:none;}
@media(max-width:760px){.feedback-page,.reviews-page{padding-top:28px;padding-bottom:50px;}.feedback-fields-pair{grid-template-columns:1fr;gap:0;}.feedback-rating-options{gap:7px;}.feedback-rating-options label > span{font-size:17px;padding:13px 3px;}.review-section .review-list{grid-template-columns:1fr;gap:0;}}
