.student-feedback-section{background:var(--pale);border-top:1px solid var(--line)}
.student-feedback-section .section-heading.horizontal>p{max-width:380px}
.survey-gallery{background:white;border:1px solid var(--line);padding:30px;box-shadow:0 8px 32px #112e3d05}
.feedback-subheading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:24px}
.feedback-subheading h3{font-family:var(--serif);font-size:1.9rem;margin-top:5px;font-weight:400}
.feedback-subheading .eyebrow{color:var(--teal)}
.survey-controls{display:flex;gap:17px;align-items:center;flex-shrink:0}
.survey-controls>span{font-size:.875rem;min-width:40px;text-align:center;font-variant-numeric:tabular-nums}
.survey-arrow{border:1px solid var(--line);width:46px;height:46px;font-size:1.35rem;display:grid;place-items:center;transition:background .2s,color .2s}
.survey-arrow:hover{background:var(--ink);color:white;border-color:var(--ink)}
.survey-years{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.survey-year{font-size:.875rem;padding:9px 18px;border:1px solid var(--line);min-height:44px;transition:background .2s}
.survey-year:hover{background:var(--pale)}
.survey-year[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}
.survey-viewport{display:flex;align-items:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#9db2bd #edf2f5;position:relative}
.survey-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;padding-bottom:6px}
.survey-slide-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:24px 0 20px}
.survey-slide-heading h4{font-family:var(--serif);font-size:2.25rem;line-height:1.1;font-weight:400;letter-spacing:-.035em;margin:5px 0 8px}
.survey-slide-heading>div>p:last-child{font-size:.875rem;color:var(--muted)}
.survey-slide-heading .eyebrow{font-size:.75rem;color:var(--muted)}
.survey-score{text-align:right}
.survey-score strong{display:block;font-family:var(--serif);color:var(--teal);font-size:2.55rem;font-weight:400;line-height:1.2;letter-spacing:-.035em}
.survey-score span{display:block;font-size:.8rem;color:var(--muted);margin-top:6px}
.survey-image{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:clamp(310px,44vw,565px);background:white;border:1px solid #e1e7eb;cursor:zoom-in}
.survey-image img{height:100%;width:100%;object-fit:contain;display:block}
.survey-expand{position:absolute;bottom:12px;right:12px;background:var(--ink);color:white;padding:9px 13px;font-size:.8rem;box-shadow:0 2px 12px #112e3d20;display:flex;gap:20px;align-items:center}
.survey-slide-foot{display:flex;justify-content:flex-end;padding:12px 0 16px}
.survey-slide-foot a{font-size:.875rem;border-bottom:1px solid var(--teal)}
.survey-slide-foot a:hover{color:var(--teal)}
.survey-figures{border-top:1px solid var(--line);padding-top:15px}
.survey-figures summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:.875rem;gap:20px;min-height:28px}
.survey-figures summary>span{font-size:1.3rem}
.survey-figures[open] summary>span{transform:rotate(45deg)}
.survey-figures>div{padding-top:17px;max-width:760px}
.survey-figures table{width:100%;border-collapse:collapse;font-size:.875rem}
.survey-figures caption{text-align:left;font-weight:600;margin-bottom:12px}
.survey-figures th,.survey-figures td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);font-weight:400}
.survey-figures thead th{background:var(--pale);font-weight:600}
.survey-figures td{text-align:right;white-space:nowrap}
.survey-figures th:last-child{text-align:right}
.survey-figures p{font-size:.8rem;color:var(--muted);margin-top:15px;max-width:680px}
.survey-context{font-size:.8rem;color:var(--muted);margin-top:20px;max-width:860px}
.testimonial-heading{margin-top:62px;margin-bottom:28px;max-width:680px}
.testimonial-heading .eyebrow{color:var(--teal)}
.testimonial-heading h3{font-family:var(--serif);font-size:2.5rem;font-weight:400;letter-spacing:-.04em;margin-top:8px}
.testimonial-heading>p:last-child{font-size:1rem;color:var(--muted);margin-top:12px}
.student-quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.student-quote{display:flex;flex-direction:column;margin:0;padding:25px 28px 28px;background:white;border-top:3px solid var(--teal);min-width:0}
.quotation-mark{font-family:var(--serif);font-size:4.8rem;line-height:.85;color:var(--teal);height:53px;margin-top:5px;user-select:none}
.student-quote blockquote{padding:0;margin:8px 0 28px;font-family:var(--serif);font-size:1.18rem;line-height:1.6;letter-spacing:-.008em;overflow-wrap:anywhere}
.student-quote blockquote p{margin:0}
.student-quote blockquote p::after{content:'”'}
.student-quote figcaption{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:.8rem;font-weight:600;line-height:1.6}
.student-quote figcaption>span{display:block;font-size:.75rem;color:var(--muted);font-weight:400;margin-top:4px}
.student-quote-grid>.student-quote:first-child{background:var(--ink);color:white;border-color:var(--gold)}
.student-quote-grid>.student-quote:first-child .quotation-mark{color:var(--gold)}
.student-quote-grid>.student-quote:first-child figcaption{border-color:#45606c}
.student-quote-grid>.student-quote:first-child figcaption>span{color:#c0d2da}
.more-testimonials{margin-top:24px;border-top:1px solid #c7d5dd}
.more-testimonials>summary{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:20px 0;cursor:pointer;font-size:1rem}
.testimonial-toggle{font-size:1.5rem;font-weight:400;line-height:1}
.more-testimonials[open] .testimonial-toggle{transform:rotate(45deg)}
.additional-quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-top:5px}
.additional-quote-grid .student-quote{border-color:#9ab9c5}
.additional-quote-grid .student-quote blockquote{font-size:1.08rem}
@media(max-width:1000px){.student-quote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-quote-grid>.student-quote:last-child{grid-column:1/-1}.survey-gallery{padding:24px}.student-quote{padding:24px}.student-quote-grid>.student-quote:last-child blockquote{max-width:780px}}
@media(max-width:760px){.feedback-subheading{align-items:flex-start;gap:20px;flex-wrap:wrap}.feedback-subheading h3{font-size:1.6rem}.survey-gallery{padding:18px}.survey-controls{gap:12px}.survey-arrow{width:44px;height:44px}.survey-years{gap:7px;margin-bottom:18px}.survey-year{padding:8px 12px}.survey-slide-heading{padding:20px 0 16px;gap:12px}.survey-slide-heading h4{font-size:1.8rem}.survey-score strong{font-size:1.9rem}.survey-score span{max-width:120px;margin-left:auto}.survey-slide-heading>div>p:last-child{font-size:.8rem;max-width:170px}.survey-image{height:clamp(255px,65vw,440px)}.survey-expand{padding:8px 11px;bottom:8px;right:8px;font-size:.75rem;gap:12px}.survey-figures th,.survey-figures td{padding:9px 5px}.testimonial-heading{margin-top:44px}.testimonial-heading h3{font-size:2.2rem}.student-quote-grid,.additional-quote-grid{grid-template-columns:1fr;gap:17px}.student-quote-grid>.student-quote:last-child{grid-column:auto}.student-quote{padding:24px}.student-quote blockquote{font-size:1.2rem}.additional-quote-grid .student-quote blockquote{font-size:1.12rem}.survey-context{line-height:1.7}}
@media(max-width:380px){.survey-slide-heading{display:block}.survey-score{text-align:left;margin-top:14px}.survey-score span{margin-left:0;max-width:none}.survey-score strong{font-size:1.8rem}.survey-gallery{padding:14px}}
@media print{.survey-controls,.survey-years,.survey-expand,.survey-slide-foot,.more-testimonials>summary{display:none!important}.survey-viewport{display:block;overflow:visible}.survey-slide{break-inside:avoid;margin-bottom:25px}.survey-image{height:auto}.survey-image img{height:auto}.student-quote-grid{grid-template-columns:1fr 1fr}.student-quote{break-inside:avoid}.student-quote-grid>.student-quote:first-child{background:white;color:var(--ink)}.student-quote-grid>.student-quote:first-child figcaption>span{color:var(--muted)}}
