:root{--ink:#20342f;--muted:#54655e;--teal:#007d7f;--lime:#dce64d;--line:#dce4df;--paper:#fff;--soft:#f3f7f4;--forest:#234b3c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 "PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.35;text-wrap:balance}p{color:var(--muted)}a{color:inherit;text-decoration:none}button{font:inherit;border:0;cursor:pointer}img{display:block;max-width:100%;object-fit:cover}button,a,summary{touch-action:manipulation}a,button,summary{outline-offset:5px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal)}.skip{position:absolute;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:0}.header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:24px;background:white;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{object-fit:contain}.brand strong{display:block;font-size:26px;font-weight:650;line-height:1.3}.brand small{font-size:12px;display:block;color:var(--muted)}nav{display:flex;gap:30px;font-size:14px}nav a{padding:12px 0}nav a:hover,.text-link:hover{color:var(--teal)}.button{background:var(--teal);color:#fff;padding:13px 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border-radius:3px;min-height:48px;font-size:15px;font-weight:600}.button:hover{background:#006567}.button span{font-size:20px}.icon{width:44px;height:44px;display:grid;place-items:center;background:transparent;color:inherit;font-size:24px;flex-shrink:0}.menu{display:none}.hero{position:relative;min-height:560px;height:min(600px,calc(100svh - 200px));overflow:hidden;background:#b7d0dd}.hero-photo{width:100%;height:100%;position:absolute;inset:0;object-position:50% 62%}.hero-copy{position:relative;padding:42px 5%;max-width:650px;color:#122d2a}.eyebrow,.section-label{font-size:12px;font-weight:600;color:var(--teal);margin-bottom:20px}.hero .eyebrow{color:#24443a;margin-bottom:14px}.hero h1{font-size:64px;font-weight:650;line-height:1.12}.hero-subtitle{font-size:27px;font-weight:500;color:inherit;line-height:1.45;margin-top:16px}.hero-description{font-size:16px;line-height:1.6;color:inherit;margin-top:18px}.hero-actions{display:flex;gap:24px;align-items:center;margin-top:25px;flex-wrap:wrap}.text-link{display:inline-flex;align-items:center;gap:24px;padding:10px 0;border-bottom:1px solid currentColor;background:transparent;font-size:14px;font-weight:600;min-height:44px;color:var(--ink)}.photo-caption{position:absolute;bottom:18px;left:5%;background:#ffffffeb;color:var(--ink);padding:5px 12px;font-size:11px}.path-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:28px 5%;gap:24px;border-bottom:1px solid var(--line)}.path-strip a{border-right:1px solid var(--line);padding-right:24px}.path-strip a:last-child{border:0}.path-strip span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.path-strip strong{display:flex;justify-content:space-between;font-size:20px;font-weight:500}.path-strip b{font-weight:400;color:var(--teal)}.section{padding:88px 5%;max-width:1600px;margin:auto}.section h2{font-size:38px;font-weight:500}.section h3{font-size:24px;font-weight:500}.about{display:grid;grid-template-columns:1fr 4fr;gap:40px}.about-body{display:grid;grid-template-columns:1fr 1.2fr;gap:65px}.about-body p+p{margin-top:16px}.about-body .text-link{margin-top:20px}.education{background:var(--soft);max-width:none}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:44px}.section-heading>p{font-size:14px}.education-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:64px}.school-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.school-heading img{width:285px;height:auto;object-fit:contain}.school-heading p{font-size:12px}.kindergarten h3{font-size:32px}.kindergarten>p{max-width:570px;margin-top:20px}.tags{display:flex;gap:20px;margin:20px 0 10px;font-size:12px;color:var(--teal);flex-wrap:wrap}.school-photo{width:100%;height:auto;aspect-ratio:16/9;margin-top:28px}.other-schools{border-top:1px solid var(--line)}.other-schools article{padding:25px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}.other-schools .section-label{margin-bottom:8px}.other-schools p:not(.section-label){margin:12px 0;max-width:500px}.bobdad{width:155px;height:auto;object-fit:contain;margin-bottom:16px}.practice-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:56px}.practice-feature>img{aspect-ratio:1.45;width:100%;height:auto;object-fit:cover;object-position:left}.practice-feature .section-label,.practice-notes .section-label{margin:24px 0 12px}.practice-feature h3{font-size:28px}.practice-feature p:not(.section-label){margin:16px 0}.practice-notes{display:grid;grid-template-columns:1fr 1fr;gap:28px}.practice-notes img{width:100%;height:auto;aspect-ratio:1.2}.practice-notes h3{font-size:22px}.practice-notes p:not(.section-label){margin:14px 0}.forest-note{border-top:4px solid var(--teal)}.big{display:block;font:86px/1.2 Georgia,serif;color:var(--teal);margin:45px 0 25px}.big span{font-size:48px}.relationships{background:var(--forest);max-width:none;color:white;text-align:center}.relationships .section-label{color:var(--lime)}.relationships h2{font-size:40px}.relation-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:950px;margin:45px auto 36px;gap:40px}.relation-grid h3{color:var(--lime);font-size:24px;margin-bottom:15px}.relationships p{color:#e0e9e3}.rights{font-size:14px;padding-top:30px;border-top:1px solid #ffffff33;max-width:1050px;margin:auto}.team{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.team>div>p:not(.section-label){max-width:390px;margin:25px 0}.people{display:grid;grid-template-columns:1fr 1fr;gap:25px}.people img{aspect-ratio:4/5;width:100%;height:auto;object-position:center top}.people figcaption{margin-top:16px}.people strong{display:block;font-size:20px;font-weight:500}.people span{font-size:12px;color:var(--muted)}.questions{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:80px}.questions>div>p:not(.section-label){margin-top:20px}.faq{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:24px 32px 24px 0;position:relative;list-style:none;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:0;font-size:24px;top:18px;font-weight:400}details[open] summary:after{content:"−"}details p{padding:0 24px 24px 0;font-size:15px}.visit{padding:60px 10%;background:#e1edee;display:flex;align-items:center;justify-content:space-between;gap:40px}.visit h2{font-size:38px;font-weight:500}.visit p:not(.section-label){margin-top:20px}.light{background:white;color:var(--teal)}.light:hover{background:var(--teal);color:white}footer{padding:50px 5% 110px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:40px;padding-bottom:40px}.footer-top strong{font-size:28px;font-weight:500}.footer-top p{font-size:13px;margin-top:10px}.footer-top a{display:block;font-size:13px;margin:12px 0}.footer-top .text-link{font-weight:400;border:0;min-height:0;padding:0;font-size:13px;margin:12px 0}.footer-meta{border-top:1px solid var(--line);padding-top:22px;display:flex;gap:24px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.review-bar{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#18372f;color:white;z-index:40;display:flex;align-items:center;gap:10px;padding:3px 10px;box-shadow:0 6px 24px #0002;border-radius:4px;font-size:12px;white-space:nowrap}.review-bar a{border-left:1px solid #ffffff55;padding:10px 12px}.review-bar .icon:hover{background:#ffffff20}.review-bar span{min-width:145px;text-align:center}.review-bar a:hover{color:var(--lime)}dialog{width:min(620px,calc(100% - 36px));border:0;border-radius:5px;padding:45px;box-shadow:0 10px 70px #0004;color:var(--ink)}dialog::backdrop{background:#122d2acc}dialog .close{position:absolute;right:10px;top:10px}dialog h2{font-size:28px;margin-bottom:22px}dialog p{margin-bottom:18px}dialog .button{margin-top:15px}dialog ul{padding-left:20px;color:var(--muted)}
body[data-variant="B"] .hero{height:520px;min-height:520px}body[data-variant="B"] .hero-copy{max-width:none;text-align:center;background:#e5f0f2e8;padding:36px 5%;width:100%}body[data-variant="B"] .hero h1{font-size:48px}body[data-variant="B"] .hero-subtitle br{display:none}body[data-variant="B"] .hero-subtitle{font-size:22px}body[data-variant="B"] .hero-description{display:none}body[data-variant="B"] .hero-actions{justify-content:center;margin-top:18px}body[data-variant="B"] .hero-photo{object-position:50% 90%}body[data-variant="B"] .about{display:none}body[data-variant="B"] .education{background:white}body[data-variant="B"] .path-strip{display:none}
body[data-variant="C"] .hero{height:370px;min-height:370px}body[data-variant="C"] .hero-copy{padding-top:25px}body[data-variant="C"] .hero h1{font-size:48px}body[data-variant="C"] .hero-subtitle{font-size:22px}body[data-variant="C"] .hero-description{display:none}body[data-variant="C"] .hero-photo{opacity:.32}body[data-variant="C"] .path-strip{padding-top:40px;padding-bottom:40px;background:var(--forest);color:white}body[data-variant="C"] .path-strip span{color:#d6e4dd}body[data-variant="C"] .path-strip b{color:var(--lime)}body[data-variant="C"] .education-layout{grid-template-columns:1fr}body[data-variant="C"] .kindergarten{display:grid;grid-template-columns:1fr 1fr;column-gap:65px}body[data-variant="C"] .school-heading{grid-column:1/-1}body[data-variant="C"] .school-photo{grid-column:2;grid-row:2/6;margin-top:0}body[data-variant="C"] .other-schools{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
@media(min-width:1600px){.hero-copy{padding-left:80px}.section{padding-left:max(5%,calc((100% - 1360px)/2));padding-right:max(5%,calc((100% - 1360px)/2))}}
@media(max-width:1100px){nav{gap:18px}.header{padding:0 4%;gap:16px}.header-cta{display:none}.about{grid-template-columns:1fr}.about-body{gap:35px}.practice-notes{grid-template-columns:1fr}.forest-note .big{margin:15px 0;font-size:64px}.team,.questions{gap:40px}.school-heading{display:block}.school-heading p{margin-top:10px}}
@media(max-width:760px){.header{height:80px;padding:0 20px}.brand img{width:47px;height:47px}.brand strong{font-size:23px}.brand small{font-size:10px}.menu{display:grid}nav{display:none;position:absolute;left:0;right:0;top:80px;padding:20px;background:white;box-shadow:0 10px 20px #0001}nav.open{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.hero{height:560px;min-height:560px}.hero-photo{object-position:38% center;opacity:.75}.hero-copy{padding:28px 22px}.hero h1{font-size:48px}.hero-subtitle{font-size:23px}.hero-description{font-size:14px}.hero-actions{gap:12px;margin-top:20px}.hero-actions .text-link{background:#ffffffdd;padding:8px 12px;border:0}.photo-caption{left:22px;bottom:15px;font-size:10px}.path-strip{grid-template-columns:1fr 1fr;padding:23px 22px;gap:22px}.path-strip a:nth-child(2){border:0}.path-strip strong{font-size:18px}.path-strip a{padding-right:14px}.section{padding:55px 22px}.section h2{font-size:29px}.section-label{font-size:11px;margin-bottom:15px}.about{gap:15px}.about-body{grid-template-columns:1fr;gap:24px}.about-body p{font-size:15px}.section-heading{display:block;margin-bottom:30px}.section-heading>p,.section-heading>.text-link{margin-top:20px}.education-layout{grid-template-columns:1fr;gap:36px}.school-heading img{width:260px}.kindergarten h3{font-size:28px}.tags{gap:15px}.other-schools h3{font-size:23px}.practice-grid{grid-template-columns:1fr;gap:35px}.practice-feature>img{aspect-ratio:1.55}.practice-feature h3{font-size:25px}.practice-notes{grid-template-columns:1fr 1fr;gap:22px}.practice-notes h3{font-size:20px}.practice-notes p:not(.section-label){font-size:14px}.big{font-size:62px;margin:28px 0}.relationships h2{font-size:28px}.relation-grid{gap:12px;margin:30px 0}.relation-grid h3{font-size:21px}.relation-grid p{font-size:12px}.rights{font-size:13px}.team,.questions{grid-template-columns:1fr;gap:28px}.people{gap:18px}.people strong{font-size:18px}.team>div>p:not(.section-label){font-size:15px}.visit{padding:45px 22px;display:block}.visit h2{font-size:29px}.visit .button{margin-top:26px}.footer-top{grid-template-columns:1fr;gap:12px;padding-bottom:25px}.footer-meta{gap:12px}footer{padding:40px 22px 110px}.review-bar{bottom:12px;max-width:calc(100% - 24px);gap:0;padding:3px 4px}.review-bar span{min-width:140px;font-size:11px}.review-bar a{padding:10px 8px;font-size:11px}.review-bar .icon{width:38px}.review-bar .icon:first-child{margin-left:0}dialog{padding:38px 25px}body[data-variant="B"] .hero{height:500px;min-height:500px}body[data-variant="B"] .hero-copy{padding:25px 22px}body[data-variant="B"] .hero h1{font-size:32px}body[data-variant="B"] .hero-subtitle{font-size:18px}body[data-variant="C"] .hero{height:350px;min-height:350px}body[data-variant="C"] .hero h1{font-size:38px}body[data-variant="C"] .path-strip{padding:26px 22px}body[data-variant="C"] .kindergarten{display:block}body[data-variant="C"] .school-photo{margin-top:22px}body[data-variant="C"] .other-schools{grid-template-columns:1fr;gap:0}}
.icon img{object-fit:contain}.review-bar .icon img{filter:invert(1)}dialog{overscroll-behavior:contain}.review-bar{bottom:max(18px,env(safe-area-inset-bottom))}.path-strip a:hover{color:var(--teal)}body[data-variant="C"] .path-strip a:hover{color:var(--lime)}
@media(min-width:761px){body[data-variant="A"] .hero-copy{max-width:none;padding-top:32px;position:relative}body[data-variant="A"] .hero-subtitle br{display:none}body[data-variant="A"] .hero-description{display:none}body[data-variant="A"] .hero-actions{position:absolute;right:5%;top:25px;align-items:flex-end;flex-direction:column}body[data-variant="A"] .hero-actions .text-link{background:#ffffffeb;padding:8px 12px;border:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.review-bar,.menu,.header-cta{display:none}footer{padding-bottom:30px}}
