/* The crop is defined in the SVG source coordinate system, so every crest stays centered. */
.school-crest{width:48px;height:48px;display:grid;place-items:center;background:#fff;overflow:hidden;border-radius:50%;flex:none}
.school-crest svg{display:block;width:48px;height:48px;overflow:hidden;border-radius:50%}
.stories-track{animation-duration:56s;will-change:transform}
.stories-window:hover .stories-track,.stories-window:focus-within .stories-track{animation-play-state:running}
.reviews-marquee{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 1.5%,#000 98.5%,transparent)}
.reviews-marquee:focus-visible{outline:2px solid #6b8051;outline-offset:6px}
.reviews-marquee:focus-visible .stories-track,.reviews-marquee:focus-visible .certificate-track{animation-play-state:paused}
.certificate-window{margin-top:34px;padding:10px 0}
.certificate-track{display:flex;width:max-content;animation:stories-drift 150s linear infinite;will-change:transform}
.certificate-group{display:flex;gap:20px;padding-right:20px}
.certificate-group .certificate-card{flex:0 0 282px;width:282px;min-width:0}
.certificate-group .certificate-image{padding:22px;aspect-ratio:1/1.2}
.certificate-group .certificate-caption{min-height:138px;padding:22px}
.certificate-group .certificate-caption h3{margin:12px 0 8px}
@media(hover:hover) and (pointer:fine){.reviews-marquee:hover .stories-track,.reviews-marquee:hover .certificate-track{animation-play-state:paused}}
.admission-invite{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:60px;align-items:start;background:#edf0e6;border:1px solid #e2e7d8;border-radius:24px;padding:52px;margin:0 0 100px}
.admission-invite h2,.all-class-reviews h2{font-size:clamp(2rem,3vw,3.2rem);letter-spacing:-.055em;line-height:1.25;margin:24px 0}
.admission-invite-copy>p{color:#63705b;line-height:1.9;word-break:keep-all}
.admission-gift{display:flex;align-items:flex-start;gap:16px;padding:25px 0;margin-top:22px;border-top:1px solid #cdd6c3}
.admission-gift>span{font-size:2rem}.admission-gift strong{font-size:1.05rem;color:#263920}.admission-gift p{font-size:.88rem;line-height:1.8;color:#627259;margin:10px 0 0}
.admission-invite-copy .admission-gift-note{font-size:.76rem;line-height:1.7;margin:0;color:#718166}
.admission-form,.admission-received{background:#fff;border-radius:18px;padding:30px;box-shadow:0 7px 24px #263c1506;min-width:0}
.admission-form h3{font-size:1.4rem;margin:0 0 8px;letter-spacing:-.035em}
.admission-form-intro{font-size:.78rem;line-height:1.6;color:#75806e;margin:0 0 26px}
.admission-form fieldset{border:0;padding:0;margin:0;min-width:0}
.admission-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
.admission-form label{display:flex;flex-direction:column;gap:8px;color:#384330;font-size:.8rem;font-weight:600;min-width:0}
.admission-form input:not([type=checkbox]),.admission-form textarea,.gathered-review-filters input,.gathered-review-filters select{width:100%;min-width:0;max-width:100%;font:inherit;font-size:.86rem;border:1px solid #dce2d5;background:#fff;color:#263322;border-radius:8px;padding:12px;box-sizing:border-box}
.admission-form textarea{resize:vertical;line-height:1.7;min-height:125px}
.admission-form input:focus-visible,.admission-form textarea:focus-visible,.gathered-review-filters :is(input,select):focus-visible{outline:2px solid #7aa04f;outline-offset:2px}
.admission-wide,.admission-upload{margin-top:22px}.admission-upload span{font-weight:400;font-size:.73rem;color:#798570;line-height:1.7}.admission-upload input{font-size:.76rem!important}
.admission-file-list{padding:0;list-style:none;margin:8px 0}.admission-file-list li{display:flex;align-items:center;gap:10px;justify-content:space-between;background:#f4f6ef;border-radius:7px;padding:9px 12px;margin-top:6px;font-size:.75rem;overflow-wrap:anywhere}
.admission-file-list small{color:#78846e}.admission-file-list button{flex:none;width:26px;height:26px;border:0;background:transparent;color:#56684a;font-size:1.2rem;cursor:pointer}
.admission-private-note{font-size:.73rem;line-height:1.8;color:#79826f;margin:16px 0}
.admission-form .admission-check{flex-direction:row;align-items:flex-start;gap:8px;line-height:1.6;font-size:.76rem;font-weight:400;margin:15px 0}
.admission-check input{width:16px;height:16px;flex:none;margin:2px 0 0;accent-color:#607c41}
.admission-privacy{font-size:.73rem;color:#728165;border-top:1px solid #e6eadf;margin-top:18px;padding-top:16px;line-height:1.8}.admission-privacy summary{cursor:pointer;color:#4b6040}.admission-privacy p{margin:10px 0}
.admission-submit{width:100%;margin-top:10px;justify-content:center}.admission-status,.admission-error{font-size:.8rem;line-height:1.7;margin:10px 0 0}.admission-status:empty,.admission-error:empty{display:none}.admission-error{color:#a13f35}
.admission-received{padding:55px 30px;text-align:center}.admission-received>span{display:grid;place-items:center;background:#baff65;color:#203318;border-radius:50%;width:54px;height:54px;font-size:1.7rem;margin:0 auto 25px}.admission-received p{line-height:1.9;color:#6a795e}.admission-received small{color:#87957b}
.all-class-reviews{margin-bottom:90px}.all-class-reviews>.subtle{margin-bottom:32px}
.gathered-review-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:12px;margin:32px 0}
.gathered-review-filters label{display:grid;gap:9px;font-size:.75rem;color:#748168;min-width:0}.gathered-review-filters button{min-height:44px}
.gathered-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gathered-review{border:1px solid #e0e6d8;border-radius:16px;padding:26px;min-width:0;display:flex;flex-direction:column}
.gathered-review-course{display:flex;flex-direction:column;align-items:flex-start;gap:10px;border-bottom:1px solid #edf0e7;padding-bottom:18px}.gathered-review-course>span{font-size:.7rem;background:#edf3e5;border-radius:5px;color:#68864a;padding:5px 8px}.gathered-review-course a{font-size:1rem;line-height:1.6;font-weight:700;color:#293e22;overflow-wrap:anywhere}.gathered-review-course small{color:#8a987d;font-size:.75rem}
.gathered-review-body{font-size:.9rem;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere;color:#56614d;margin:22px 0 28px}.gathered-review-author{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:auto;padding-top:18px;border-top:1px solid #edf0e7;font-size:.75rem}.gathered-review-author time{color:#8a967e}
.gathered-review-reply{font-size:.78rem;color:#6c815b;line-height:1.8;margin-bottom:20px}.gathered-review-reply summary{cursor:pointer}.gathered-review-reply p{white-space:pre-wrap;overflow-wrap:anywhere}
.gathered-review-more{text-align:center;margin-top:28px}.reviews-empty{text-align:center;border:1px solid #e4e9dd;background:#f9faf6;border-radius:16px;padding:48px 22px;color:#758369;font-size:.9rem;line-height:1.8}.reviews-empty strong{color:#455a34}.reviews-empty p{margin:10px 0 22px}.reviews-empty .btn{font-size:.8rem}
.admission-admin-details{border:1px solid #e2e8db;background:#f8faf4;border-radius:10px;padding:18px;margin:18px 0;font-size:.85rem;overflow-wrap:anywhere}.admission-admin-details small{color:#7f8a73}.admission-admin-details .actions{flex-wrap:wrap}.admission-admin-details .btn{white-space:normal;overflow-wrap:anywhere}
@media(max-width:1000px){.admission-invite{gap:28px;padding:30px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.admission-form{padding:24px}.gathered-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.certificate-section{margin-bottom:65px}.certificate-track{animation-duration:130s}.certificate-group .certificate-card{width:236px;flex-basis:236px}.certificate-group .certificate-image{padding:18px}.certificate-group .certificate-caption{padding:20px;min-height:128px}.certificate-group .certificate-caption h3{font-size:1.05rem}.certificate-window{margin-top:24px}.admission-invite{display:block;padding:28px 20px;border-radius:18px;margin-bottom:65px}.admission-invite-copy{margin-bottom:28px}.admission-invite h2{font-size:2.05rem}.admission-form{padding:22px 18px}.admission-form h3{font-size:1.2rem}.admission-fields{grid-template-columns:minmax(0,1fr);gap:16px}.admission-form input:not([type=checkbox]),.admission-form textarea,.gathered-review-filters input,.gathered-review-filters select{font-size:16px}.gathered-review-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 10px}.gathered-review-search{grid-column:1/-1}.gathered-review-filters button{grid-column:1/-1}.gathered-review-grid{grid-template-columns:minmax(0,1fr)}.gathered-review{padding:24px}.all-class-reviews{margin-bottom:60px}}
@media(prefers-reduced-motion:reduce){.stories-track,.certificate-track{animation:none;transform:none;will-change:auto}.reviews-marquee{overflow-x:auto;mask-image:none}.stories-group[aria-hidden],.certificate-group[aria-hidden]{display:none}}

/* Mixed, source-backed instructor reviews. */
.review-teacher{display:block;font-size:12px;font-weight:800;letter-spacing:.01em;color:#405b2d;margin-bottom:14px}.review-subject-icon{flex:0 0 48px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#edf4e6;color:#405b2d;font-size:12px;font-weight:800}.success-quote .quote-person>div{min-width:0}.success-quote .quote-person strong{overflow-wrap:anywhere}.stories-track{animation-duration:100s}

#class-review-board{scroll-margin-top:100px}.success-stories .section-head{gap:24px;flex-wrap:wrap}.success-stories .section-head>.btn{flex-shrink:0}.teacher-review-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.teacher-bio .teacher-review-actions .btn{margin:0;padding:10px 16px;background:var(--brand-primary,#baff65);color:#172016;border-radius:10px}#all-class-reviews-title:focus{outline:none}@media(max-width:640px){#class-review-board{scroll-margin-top:110px}.success-stories .section-head>.btn{font-size:13px}}

@media(max-width:640px){.premium-teacher-grid article{grid-template-columns:minmax(0,1fr);gap:18px}.premium-teacher-grid article>.teacher-portrait{width:100%;max-width:224px;height:auto;aspect-ratio:3/4}.premium-teacher-grid .teacher-bio{min-width:0;padding:0 0 12px}.premium-teacher-grid .teacher-review-actions{gap:12px}.premium-teacher-grid .teacher-review-actions .btn{border-top:0}}

.success-stories .section-head .review-more-neutral{background:#f3f4f0;color:#273026;border:1px solid #e1e5dc;box-shadow:none}.success-stories .section-head .review-more-neutral:hover{background:#e9ece5;border-color:#d5dbce;color:#273026}

.gathered-review-grid{grid-template-columns:minmax(0,1fr)}.review-post summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0;list-style:none}.review-post summary::-webkit-details-marker{display:none}.review-post h3{font-size:1.15rem;line-height:1.6;margin:0;color:#263322}.review-post-toggle{flex-shrink:0;font-size:.75rem;color:#78836f}.review-post[open] .review-post-toggle{display:none}.review-post .gathered-review-body{margin-top:0}.review-proof{margin:24px 0 30px;padding:20px;background:#f5f6f2;border:1px solid #e3e7de;border-radius:12px}.review-proof img{display:block;width:100%;max-width:540px;height:auto;margin:auto;border-radius:6px}.review-proof figcaption{text-align:center;font-size:.72rem;color:#77816e;line-height:1.8;margin-top:16px}.gathered-review-course{flex-direction:row;align-items:center;flex-wrap:wrap}.gathered-review-author>span{color:#8a967e}@media(max-width:650px){.review-proof{padding:10px}.review-post summary{gap:10px}.review-post h3{font-size:1.05rem}}

.review-source{font-size:.8rem;margin:0 0 18px}.review-source a{color:#627356;text-decoration:underline;text-underline-offset:3px}

/* Reviews start collapsed and open individually from their title row. */
.gathered-review-grid{gap:0;border-top:1px solid #e0e6d8}.gathered-review{display:block;padding:0 18px;border:0;border-bottom:1px solid #e0e6d8;border-radius:0}.review-post>summary{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:20px;padding:24px 0;min-height:76px;box-sizing:border-box}.review-post>summary .gathered-review-course{border:0;padding:0;gap:8px}.review-post>summary h3{font-size:.95rem;overflow-wrap:anywhere}.review-post>summary:focus-visible{outline:2px solid #7aa04f;outline-offset:4px}.review-post[open] .review-post-toggle{display:block}.review-close-label{display:none}.review-post[open] .review-open-label{display:none}.review-post[open] .review-close-label{display:inline}.review-post[open]>summary{border-bottom:1px solid #edf0e7;margin-bottom:22px}.review-post .gathered-review-author{padding-bottom:22px}.review-post-toggle{color:#627356}@media(max-width:650px){.gathered-review{padding:0 8px}.review-post>summary{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:20px 0}.review-post>summary .gathered-review-course{grid-column:1/-1}.review-post>summary h3{font-size:.92rem}.review-post-toggle{font-size:.7rem}}

.gathered-review-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr) auto}.gathered-review-filters>.btn{min-height:44px}@media(max-width:650px){.gathered-review-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.gathered-review-filters .gathered-review-search{grid-column:1/-1}.gathered-review-filters>.btn{grid-column:1/-1}}
