.guest-reviews{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,6vw,88px);margin-top:32px;padding-block:48px 60px;border-top:1px solid #7fae9e}
.reviews-heading h2{font:500 clamp(42px,4.5vw,60px)/1.04 var(--serif);margin-bottom:20px}.reviews-heading em{font-family:'Great Vibes',var(--serif);font-size:1.2em;font-style:normal;font-weight:400;display:inline-block;margin-top:6px}.reviews-heading>p{font-size:14px;line-height:1.65;color:#395d50}.reviews-heading>.text-link{margin-top:14px;gap:10px}.reviews-heading svg,.review-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.reviews-content{min-width:0;padding-top:4px}.review-slides{position:relative}.review-slide{position:absolute;inset:0;margin:0;padding:28px 30px 22px;opacity:0;visibility:hidden;transform:translateX(12px);transition:opacity 240ms cubic-bezier(.23,1,.32,1),transform 240ms cubic-bezier(.23,1,.32,1),visibility 240ms;display:flex;flex-direction:column;align-items:flex-start;background:var(--white);border-radius:16px;box-shadow:0 8px 28px #1e443810}
.review-slide.is-current{position:relative;opacity:1;visibility:visible;transform:translateX(0)}.review-slide blockquote{font:400 16px/1.65 var(--sans);margin:14px 0 8px;max-width:65ch;text-wrap:pretty;overflow-wrap:anywhere}.review-slide .review-person{display:flex;align-items:center;gap:12px;font-size:15px}.review-person-info{display:flex;flex-direction:column;gap:2px}.review-person strong{font-weight:600;line-height:1.4;overflow-wrap:anywhere}.review-avatar{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:50%;background:#d0e8df;color:#213e35;font-size:15px;font-weight:600}.review-source{font-size:12px;color:#395d50}.review-meta{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}.review-stars{display:flex;gap:2px;color:#b87c00}.review-stars svg{width:18px;height:18px;fill:currentColor}.review-date{font-size:12px;color:#395d50}.review-original{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#315b52;text-decoration:underline;text-underline-offset:4px}.review-original:hover{color:var(--ink)}.review-controls[hidden]{display:none}.reviews-empty{font-size:16px;padding-block:24px}
.review-controls{display:flex;align-items:center;gap:12px;margin-top:22px}.review-arrow{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:50%;border:0;background:var(--raised-mint);color:var(--button-ink);box-shadow:inset 0 2px 2px #ffffff70,0 3px 7px #16493d17;transition:background 180ms,transform 180ms}.review-arrow:hover{background:#9bd7c5;transform:translateY(-1px)}.review-arrow:active{transform:translateY(1px)}[data-review-prev] svg{transform:rotate(180deg)}.review-counter{font-size:13px;min-width:34px;text-align:center;font-variant-numeric:tabular-nums}.reviews-note{font-size:12px;line-height:1.6;margin-top:16px;color:#395d50}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.contact-phone{display:inline-flex;align-items:center;min-height:48px;font-size:clamp(22px,2.6vw,32px);font-weight:500;margin:16px 0 14px}.contacts .contact-map{min-width:0}.contact-map iframe{display:block;width:100%;height:360px;border:0;border-radius:32px;background:var(--mint)}.contact-map>.text-link{font-size:12px;margin-top:10px}
.education-gallery{padding-block:40px 65px;border-top:1px solid var(--line)}.education-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.education-photos figure{margin:0;min-width:0}.education-photos a{display:block;overflow:hidden;border-radius:36px 60px 32px 32px;background:#eceee3}.education-photos img{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;object-position:center}.education-photos figcaption{font:500 23px/1.25 var(--serif);padding-top:16px}.education-gallery h2{font-size:clamp(40px,4.5vw,58px)}
@media(max-width:850px){.guest-reviews{gap:30px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.reviews-heading h2{font-size:42px}.review-slide{padding:24px}.education-photos{gap:16px}.education-photos figcaption{font-size:20px}}
@media(max-width:620px){.guest-reviews{grid-template-columns:1fr;gap:26px;padding-block:32px 40px;margin-top:24px}.reviews-heading h2{font-size:42px;margin-bottom:12px}.reviews-heading>p br{display:none}.reviews-heading>.text-link{margin-top:4px}.review-slide{padding:22px 20px 16px}.review-controls{margin-top:20px}.contact-map{margin-top:26px}.contact-map iframe{height:300px;border-radius:26px}.education-gallery{padding-block:32px 42px}.education-photos{grid-template-columns:1fr;gap:30px}.education-photos a{border-radius:30px 50px 28px 28px}.education-photos img{aspect-ratio:auto}.education-photos figcaption{font-size:24px;padding-top:12px}}
@media(prefers-reduced-motion:reduce){.review-slide{transform:none;transition:none}}
.course-poster.course-film{padding:0;width:298px;height:530px;max-width:100%;justify-self:center;border-radius:0;background:transparent;isolation:isolate;-webkit-mask-image:url('assets/education-arch-mask.svg');mask-image:url('assets/education-arch-mask.svg');-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.course-film video{display:block;width:100%;height:100%;object-fit:cover}
.course-film:after{content:"";position:absolute;inset:65% 0 0;z-index:1;background:linear-gradient(transparent,#142e29b3);pointer-events:none}
.course-film-title{position:absolute;z-index:2;bottom:24px;left:12px;right:12px;text-align:center;color:#fffef8;font:36px/1.2 var(--serif);text-shadow:0 2px 6px #15342c66;pointer-events:none}
@media(max-width:1000px){.course-poster.course-film{width:264px;height:470px}}
@media(max-width:700px){.course-poster.course-film{width:270px;height:480px;margin:30px auto 0}.course-film-title{font-size:32px}}

/* Owner-requested home polish: readable labels and an offset guest signature. */
.home .button{justify-content:center;text-align:center;font-weight:600;line-height:1.25}
.home .text-link{font-weight:600;line-height:1.4}
.home :is(.location,.hero-address,.hero-services,.brand small,.desktop-nav a,.reviews-heading>p,.reviews-note,.review-source,.review-date,.review-original){font-weight:550}
.home .hero-address span{font-weight:500}
.home .review-counter{font-weight:600}
.home .reviews-heading em{display:block;text-align:left;margin:0 0 0 .9em;padding:0;line-height:.95}
.reviews-award{display:flex;align-items:center;gap:14px;width:fit-content;max-width:100%;margin-top:26px;min-height:68px}
.reviews-award img{width:68px;height:68px;object-fit:contain;flex:none}
.reviews-award span{display:flex;flex-direction:column;gap:3px}
.reviews-award strong{font-size:15px;font-weight:650;line-height:1.35}
.reviews-award small{font-size:12px;color:#395d50;font-weight:550}
@media(max-width:620px){.home .reviews-heading em{padding:0}.reviews-award{margin-top:20px;gap:12px}.reviews-award img{width:60px;height:60px}}
@font-face{font-family:ManropeHome;src:url('assets/manrope-variable.ttf') format('truetype');font-weight:200 800;font-display:swap}
.home{--sans:ManropeHome,Arial,sans-serif}
.home .shell-scene canvas{inset:auto 0 0;height:calc(100% + 80px)}
@media(max-width:620px){.home .shell-scene canvas{height:calc(100% + 56px)}}
@media(max-width:620px){.home .hero-bottom{margin-top:18px;min-height:146px}}

/* Keep the guest signature together; group the two owner-requested award years. */
.reviews-awards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.reviews-awards .reviews-award{margin-top:0;gap:9px;min-height:54px;width:auto}
.reviews-awards .reviews-award img{width:46px;height:46px}
.reviews-awards .reviews-award span{min-width:0}
.reviews-awards .reviews-award strong{font-size:14px}
.reviews-awards .reviews-award small{font-size:11px;line-height:1.5}
@media(min-width:621px) and (max-width:1000px){.reviews-awards{grid-template-columns:1fr;gap:12px}}
@media(max-width:360px){.reviews-awards{gap:12px}.reviews-awards .reviews-award{gap:6px}.reviews-awards .reviews-award img{width:36px;height:36px}.reviews-awards .reviews-award strong{font-size:13px}}
