@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#174e3b;--ink:#203e32;--red:#bf1925;--gold:#f2bf36;--muted:#647269;--line:#dce4df;--pale:#f3f6f3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;object-fit:cover}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.wrap{width:min(1220px,calc(100% - 100px));margin:auto}.skip{position:fixed;top:-100px;background:white;padding:12px;z-index:99}.skip:focus{top:0}header{background:rgba(255,255,255,.97);border-bottom:1px solid #edf0ed;position:sticky;top:0;z-index:20}.nav{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:103px}.brand{display:flex;align-items:center;gap:10px}.brand img{width:70px;height:70px;object-fit:contain}.brand span{font:800 14px/1.5 'Manrope',Arial,sans-serif;letter-spacing:.07em}.brand small{display:block;font-size:13px;font-weight:500;letter-spacing:.25em}.nav nav{display:flex;gap:32px;font-size:14px;font-weight:500}.nav nav a:hover,.text-link:hover{color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:center;padding:16px 24px;background:var(--green);color:white;border-radius:5px;font-weight:600;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#24674e;transform:translateY(-2px)}.button.small{padding:11px 22px;font-size:14px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;padding-top:63px;padding-bottom:70px;align-items:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;line-height:1.65;margin:0 0 22px}.eyebrow>span{display:inline-block;width:8px;height:8px;background:var(--red);border-radius:50%;margin-right:8px}.hero h1{font:600 clamp(42px,4.5vw,65px)/1.12 'Manrope',Arial,sans-serif;letter-spacing:-.055em;margin:0 0 26px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em}.hero h1 em{color:var(--green)}.intro{font-size:17px;max-width:460px;color:var(--muted);line-height:1.8;margin-bottom:29px}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.text-link{font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:6px}.hero-meta{display:flex;align-items:center;gap:15px;font-size:10px;font-weight:600;letter-spacing:.1em;margin-top:36px}.hero-meta i{width:1px;height:14px;background:#cbd5ce}.hero-visual{position:relative;margin:0 0 12px}.hero-visual>img{width:100%;height:555px;border-radius:150px 9px 9px 9px;object-position:50% 40%}.hello{position:absolute;top:32px;right:-22px;background:var(--gold);border-radius:50%;width:145px;height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(9deg);color:var(--green)}.hello strong{font-size:43px;line-height:1.5}.hello span{font-size:11px;font-weight:600}.photo-note{position:absolute;bottom:-20px;left:-28px;display:flex;align-items:center;gap:16px;background:white;padding:17px 27px;border-radius:6px;box-shadow:0 8px 35px #174e3b14}.photo-note p{font-size:14px;line-height:1.6;margin:0}.sun{font-size:40px;color:#d4a323}.principles{background:var(--green);color:white;padding:22px 0}.principles .wrap{display:flex;justify-content:space-between;gap:20px;font-size:13px;font-weight:500}.principles span:before{content:'✦';font-size:12px;color:var(--gold);margin-right:15px}.section{padding-top:100px;padding-bottom:100px}h2{font:600 clamp(34px,3.5vw,47px)/1.19 'Manrope',Arial,sans-serif;letter-spacing:-.045em;margin:0 0 25px}h3{font:600 23px/1.35 'Manrope',Arial,sans-serif;letter-spacing:-.035em}.section-heading{max-width:720px}.section-heading>p:last-child{max-width:660px;color:var(--muted);margin-bottom:0}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:53px}.approach-grid article{border-top:1px solid var(--line);padding-top:24px}.number{font-size:11px;letter-spacing:.12em;color:#8b6b17;font-weight:700}.approach-grid h3{margin:14px 0}.approach-grid p{color:var(--muted);font-size:15px;margin:0}.program-section{background:var(--pale)}.split-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:80px;margin-bottom:37px}.split-heading h2{margin-bottom:0}.split-heading>p{max-width:360px;color:var(--muted);margin-bottom:3px}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.program-card{background:white;border:1px solid #e1e7e1;padding:27px 26px 31px;border-radius:9px;display:flex;flex-direction:column}.program-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.tag{font-size:10px;letter-spacing:.045em;font-weight:700}.hanzi{font-size:30px;color:#b28b23}.program-card h3{font-size:28px;margin:20px 0 6px}.program-sub{font-size:12px!important;color:#687368;margin:0 0 22px;min-height:40px}.program-card p{font-size:15px}.program-card ul{padding:20px 0 22px;border-top:1px solid var(--line);margin:9px 0 0;list-style:none;font-size:14px}.program-card li{position:relative;padding-left:19px;margin:10px 0}.program-card li:before{content:'·';position:absolute;left:0;font-weight:800;color:#b08514}.program-card .text-link{margin-top:auto;align-self:flex-start}.program-card.primary{background:var(--green);color:white;border-color:var(--green)}.primary .program-sub{color:#c4d7cc}.primary ul{border-color:#47715e}.primary .hanzi{color:var(--gold)}.program-foot{font-size:13px;color:var(--muted);margin:25px 0 0}.classroom{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:100px}.classroom-pictures{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;padding-bottom:45px}.classroom-pictures img{height:350px;width:100%;border-radius:7px}.classroom-pictures img:nth-child(2){margin-top:65px}.vertical-label{position:absolute;bottom:0;font-size:10px;letter-spacing:.14em;color:var(--muted)}.classroom-copy>p:not(.eyebrow){color:var(--muted)}.cycle{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.cycle span{font-size:12px;border:1px solid #d9e3db;border-radius:30px;padding:5px 12px}.caption{font-size:13px;line-height:1.7}.teacher-section{background:#f8f7f2;padding:75px 0}.teacher-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:95px;align-items:center}.teacher-image{position:relative;max-width:410px}.teacher-image img{width:100%;height:460px;object-position:50% 28%;border-radius:8px}.teacher-image>span{position:absolute;bottom:0;background:var(--green);color:white;width:100%;font-size:11px;letter-spacing:.13em;padding:17px 20px;border-radius:0 0 8px 8px}.teacher-copy>p:not(.eyebrow){color:var(--muted)}.credentials{margin-top:25px}.credentials>div{display:flex;gap:20px;border-top:1px solid #dfdfd5;padding:15px 0}.credentials>div>span{font-size:12px;color:#967424;padding-top:4px}.credentials p{font-size:14px;line-height:1.7;margin:0;color:var(--muted)}.credentials strong{display:block;color:var(--ink);font-weight:600;font-size:16px}.faq-section{display:grid;grid-template-columns:1fr 1.2fr;gap:65px}.faqs details{border-bottom:1px solid var(--line);padding:19px 0}.faqs details:first-child{padding-top:0}.faqs summary{cursor:pointer;list-style:none;font-size:16px;font-weight:500;display:flex;justify-content:space-between;gap:25px}.faqs summary::-webkit-details-marker{display:none}.faqs summary:after{content:'+';font-size:22px;line-height:1.2;font-weight:400}.faqs details[open] summary:after{content:'−'}.faqs p{color:var(--muted);font-size:15px;margin:16px 20px 2px 0}.contact-section{background:var(--green);color:white;padding:80px 0}.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:110px;align-items:center}.contact-section h2{font-size:52px}.contact-section .eyebrow{color:#d9c47b}.contact-section em{color:#f3cb66}.contact-section p:not(.eyebrow){color:#d0dfd5}.gold{background:var(--gold);color:var(--green);margin-top:15px}.gold:hover{background:#ffce49}.visit{border-left:1px solid #507662;padding-left:60px}.visit h3{margin:0 0 5px}.visit p{margin:0 0 18px;font-size:15px}.visit a{font-size:14px;text-decoration:underline;text-underline-offset:5px}.visit-line{height:1px;background:#507662;margin:26px 0}.visit .contact-label{font-size:10px;letter-spacing:.12em;margin:22px 0 7px}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:30px;padding-bottom:30px;font-size:12px}.footer-brand{font-weight:700;font-size:12px;letter-spacing:.05em}.footer-brand span{display:block;font-size:11px;font-weight:400;letter-spacing:.15em}footer p,footer small{color:var(--muted)}footer small{font-size:12px}@media(min-width:1500px){.hero{padding-top:80px;padding-bottom:90px}.hero-visual>img{height:600px}}@media(max-width:1100px){.wrap{width:calc(100% - 60px)}.hero{gap:35px}.hero h1{font-size:49px}.hero-visual>img{height:530px}.nav nav{gap:18px}.brand span{font-size:12px}.classroom{gap:50px}.teacher-layout{gap:60px}.hero-meta{font-size:9px}.program-card{padding:24px 20px}.tag{font-size:9px}.contact-layout{gap:50px}.visit{padding-left:40px}}@media(max-width:800px){.wrap{width:calc(100% - 40px)}.nav{min-height:85px;gap:15px}.nav nav{display:none}.brand img{width:55px;height:55px}.brand span{font-size:10px}.brand small{font-size:11px}.button.small{font-size:12px;padding:10px 15px}.hero{grid-template-columns:1fr;gap:38px;padding-top:40px;padding-bottom:54px}.hero h1{font-size:clamp(44px,8vw,64px)}.intro{max-width:570px}.hero-visual{max-width:590px;width:100%;justify-self:center;padding-right:12px}.hero-visual>img{height:520px;border-top-left-radius:110px}.hello{right:0;width:125px;height:125px}.hello strong{font-size:36px}.photo-note{left:12px}.hero-meta{font-size:10px}.principles .wrap{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:12px}.principles span:before{margin-right:8px}.section{padding-top:65px;padding-bottom:65px}.approach-grid{gap:25px;grid-template-columns:1fr}.approach-grid article{padding-top:20px}.split-heading{display:block}.split-heading>p{max-width:550px;margin-top:22px}.program-grid{grid-template-columns:1fr}.program-card{padding:28px}.program-sub{min-height:0}.tag{font-size:11px}.program-card ul{margin-top:0}.program-card p{max-width:580px}.classroom{grid-template-columns:1fr;gap:40px}.classroom-pictures{max-width:580px}.classroom-pictures img{height:360px}.teacher-layout{grid-template-columns:1fr;gap:40px}.teacher-image{max-width:400px}.teacher-image img{height:460px}.teacher-section{padding:60px 0}.faq-section{grid-template-columns:1fr;gap:22px}.contact-layout{grid-template-columns:1fr;gap:45px}.contact-section h2{font-size:43px}.visit{border-left:0;border-top:1px solid #507662;padding:35px 0 0}.contact-section{padding:60px 0}footer{flex-wrap:wrap;gap:15px}footer p{display:none}h2{font-size:38px}}@media(max-width:420px){.brand span{display:none}.hero h1{font-size:42px}.eyebrow{font-size:10px}.hero-visual>img{height:430px}.hero-meta{font-size:8px;gap:9px}.actions{gap:20px}.principles .wrap{font-size:10px}.classroom-pictures{gap:12px}.classroom-pictures img{height:260px}.hello{width:108px;height:108px}.hello span{font-size:9px}.photo-note{padding:13px 17px}.photo-note p{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}
.school-section{padding-top:65px;padding-bottom:65px;text-align:center;border-bottom:1px solid var(--line)}.school-section h2{font-size:36px}.school-section>p:not(.eyebrow){color:var(--muted)}.school-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 24px;margin-top:38px}.school-logo{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:15px 10px}.school-logo img{width:170px;height:72px;object-fit:contain}.school-logo span{font-size:12px;color:var(--muted);line-height:1.5}.school-logo:nth-child(6) img{width:180px;height:90px}.journey-section{background:#f3f6f3}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.timeline article{border-top:2px solid #c9d7cc;padding-top:25px}.year{font:500 50px/1 Georgia,serif;color:var(--green);letter-spacing:-.04em}.timeline h3{margin-top:24px}.timeline p{font-size:15px;color:var(--muted)}.milestone{font-size:10px;letter-spacing:.09em;font-weight:700;color:#866513}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.gallery-grid figure{margin:0;min-width:0}.gallery-grid img{height:270px;width:100%;border-radius:8px}.gallery-grid figcaption{font-size:12px;margin-top:10px;color:var(--muted)}.gallery-section{padding-bottom:25px}.locations-section{background:var(--pale)}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.location-card{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:25px;background:white;border:1px solid var(--line);border-radius:8px;align-items:center}.location-card h3{margin:12px 0}.location-card p{font-size:13px;color:var(--muted);line-height:1.8}.location-card .tag{font-size:9px}.location-card .text-link{font-size:12px}.location-card iframe{border:0;border-radius:6px;width:100%;height:240px;background:#e6ece7}.phone-link{display:inline-flex;gap:10px;align-items:center}.wa-icon{width:20px;height:20px;flex:none}.nav nav{gap:22px}@media(max-width:1100px){.location-card{grid-template-columns:1fr}.location-card iframe{height:210px}.nav nav{gap:14px;font-size:12px}.gallery-grid img{height:220px}}@media(max-width:800px){.school-grid{grid-template-columns:repeat(2,1fr);gap:24px 10px}.school-logo img{width:135px;height:66px}.school-section h2{font-size:31px}.school-logo span{font-size:11px}.timeline{grid-template-columns:1fr;gap:35px}.timeline article{padding-top:22px}.timeline h3{margin-top:16px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid img{height:270px}.gallery-grid figure:last-child{grid-column:1/-1;max-width:100%}.gallery-grid figure:last-child img{height:350px;object-position:50% 38%}.location-grid{grid-template-columns:1fr}.location-card{grid-template-columns:1fr 1fr;padding:20px;gap:16px}.location-card iframe{height:230px}.location-card h3{font-size:21px}.nav .button.small{font-size:12px;padding:11px 13px}}@media(max-width:420px){.location-card{grid-template-columns:1fr}.location-card iframe{height:210px}.gallery-grid img{height:220px}.school-logo img{width:120px}.school-logo:nth-child(6) img{width:140px}.school-section{padding-top:50px;padding-bottom:50px}}

.testimonials-section{background:#f8f7f2}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.testimonial-card{margin:0;background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.testimonial-card>a{display:block;background:#e9eeea}.testimonial-card img{width:100%;height:330px;object-fit:contain}.testimonial-card figcaption{padding:23px}.testimonial-card h3{font-size:21px;margin:0 0 10px}.testimonial-card p{color:var(--muted);font-size:14px;margin:0 0 16px}.results-note{font-size:12px;color:var(--muted);margin:25px 0 0}@media(max-width:800px){.testimonial-grid{grid-template-columns:repeat(2,1fr)}.testimonial-card img{height:280px}}@media(max-width:520px){.testimonial-grid{grid-template-columns:1fr}.testimonial-card img{height:380px}}

/* Our Laoshi */
.laoshi-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center;padding-top:85px;padding-bottom:85px}.laoshi-hero h1{font:600 clamp(38px,4.6vw,64px)/1.15 Manrope,Arial,sans-serif;letter-spacing:-.045em;margin:0 0 25px}.laoshi-hero p:not(.eyebrow){max-width:620px}.laoshi-lead{font-size:21px;line-height:1.6}.laoshi-hero .button{margin-top:20px}.laoshi-statement{background:var(--green);color:white;border-radius:100px 8px 8px 8px;padding:48px;min-height:430px}.laoshi-statement>span{color:var(--gold);font-size:75px;line-height:1.2}.laoshi-statement p{font:400 35px/1.35 Georgia,serif}.laoshi-statement small{font-size:12px;letter-spacing:.1em}.laoshi-values{background:var(--pale);padding:75px 0}.laoshi-values article p{font-size:16px}.recruitment{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.offer-note{border-left:3px solid var(--gold);padding:4px 0 4px 22px;margin:30px 0}.offer-note h3{margin:0 0 10px}.offer-note p{margin:0}.laoshi-form{border:1px solid var(--line);border-radius:10px;padding:35px;box-shadow:0 15px 50px #174e3b08}.laoshi-form h3{margin:0}.laoshi-form label{display:block;font-weight:600;margin:22px 0 8px}.laoshi-form input:not([type=hidden]),.laoshi-form textarea{width:100%;padding:13px 14px;border:1px solid #bacbc1;border-radius:5px;background:white;font:inherit;color:var(--ink)}.laoshi-form textarea{resize:vertical;min-height:150px}.laoshi-form :is(input,textarea,button):focus-visible{outline:3px solid var(--gold);outline-offset:3px}.laoshi-form button{border:0;font:inherit;font-weight:600;cursor:pointer;width:100%}.application-note{font-size:14px;color:var(--muted);line-height:1.6;margin:20px 0}.nav nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.thanks{min-height:65vh;max-width:900px}.thanks h1{font:600 42px/1.2 Manrope,sans-serif}footer>a:not(.footer-brand){font-size:14px} @media(max-width:1100px){.laoshi-hero,.recruitment{gap:35px}.nav{gap:15px}.nav nav{gap:12px}}@media(max-width:800px){.laoshi-hero,.recruitment{grid-template-columns:1fr}.laoshi-hero{padding-top:45px;padding-bottom:50px;gap:35px}.laoshi-statement{min-height:0;padding:35px}.laoshi-statement p{font-size:30px}.laoshi-values{padding:55px 0}.laoshi-form{padding:24px}.nav{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.nav nav{display:flex;order:3;width:100%;overflow-x:auto;white-space:nowrap;gap:22px;padding:8px 0;font-size:14px}.laoshi-lead{font-size:19px}.recruitment{gap:30px}}
