:root{--green:#143e32;--ink:#203c32;--muted:#68756d;--cream:#fbfaf5;--lime:#dcf593;--line:#dce2d8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}h1,h2,h3{line-height:1.14}em{font-family:Georgia,serif;font-weight:400;color:#648159}h1{font-size:clamp(60px,6.25vw,88px);letter-spacing:-5px;font-weight:600;margin-bottom:25px}h2{font-size:clamp(36px,3.6vw,49px);letter-spacing:-2.3px;font-weight:500;margin-bottom:24px}p{color:var(--muted)}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.announcement{padding:9px 48px;background:var(--green);color:#eaf0df;display:flex;justify-content:center;gap:40px;font-size:11px;letter-spacing:.25px}.announcement a{color:var(--lime)}.announcement a span{margin-left:10px}.site-header{position:sticky;top:0;z-index:30;background:#fbfaf5f2;backdrop-filter:blur(18px);border-bottom:1px solid #e6e8de}.header-inner{height:98px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;gap:11px;align-items:center;font-family:Manrope,sans-serif;font-size:27px;font-weight:800;letter-spacing:-1.1px;white-space:nowrap}.brand small{display:block;font-size:7px;letter-spacing:1.05px;margin-top:3px;font-weight:600}.header-inner nav{display:flex;align-items:center;gap:28px;font-size:12px}.header-inner nav>a:not(.button):hover{color:#6d884c}.button{border:1px solid var(--green);background:var(--green);color:white;padding:17px 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-radius:7px;font-size:13px;font-weight:600;transition:transform .2s,background .2s}.button:hover{background:#2e5a43;transform:translateY(-3px)}.button span{font-size:21px;line-height:1}.button.small{padding:12px 20px}.button.lime{background:var(--lime);color:var(--green);border-color:var(--lime)}.button.lime:hover{background:#edfbc7}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.02fr 1fr;align-items:center;gap:60px;padding-top:68px;padding-bottom:76px}.eyebrow{font-size:10px;letter-spacing:1.75px;font-weight:700;color:var(--green);margin-bottom:22px}.hero .eyebrow{font-size:9px;letter-spacing:1.25px;display:flex;align-items:center;gap:10px}.live-dot{width:7px;height:7px;background:#759a50;border-radius:50%;box-shadow:0 0 0 4px #91b96b1a;flex:none}.lead{font-size:15px;line-height:1.85;max-width:430px}.lead strong{color:var(--green);font-weight:500}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:28px}.text-link{font-size:12px;font-weight:600;display:inline-flex;gap:10px;align-items:center}.round-arrow{border:1px solid #bcc6b6;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.hero-note{display:flex;align-items:center;gap:13px;margin-top:32px}.note-icon{font-size:36px;color:#768d54}.hero-note p{font-size:10px;line-height:1.8;margin:0}.hero-note strong{font-weight:500;color:var(--ink)}.hero-art{position:relative;background:#e9eedd;border-radius:150px 150px 12px 12px;padding:16px;transform:rotate(2deg);margin:15px 0 0}.art-top{display:flex;justify-content:center;gap:17px;align-items:center;height:68px;font-size:9px;letter-spacing:2px}.art-top>span:last-child{font-size:30px;color:#708155}.hero-photo{width:100%;height:410px;object-fit:cover;border-radius:110px 110px 7px 7px;object-position:50% 50%}.art-bottom{display:flex;justify-content:space-between;align-items:center;padding:20px 7px 5px;font-size:8px;letter-spacing:1.15px}.art-bottom>span:last-child{font-size:24px}.floating-label{position:absolute;left:-30px;bottom:76px;background:white;border:1px solid #e6e9dc;border-radius:10px;box-shadow:0 12px 40px #183c321a;display:flex;align-items:center;gap:13px;padding:18px 22px;transform:rotate(-5deg);font-size:12px;line-height:1.6}.label-icon{background:var(--lime);width:40px;height:40px;border-radius:50%;font-size:26px;text-align:center}.orbit{position:absolute;right:-24px;top:40px;width:105px;height:105px;background:var(--lime);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:22px;line-height:1.1;transform:rotate(12deg);border:6px solid var(--cream)}.orbit i{font-family:Georgia,serif}.principles{background:#eaf0df;border-block:1px solid #dfe6d2}.principles .wrap{display:flex;justify-content:space-between;gap:25px;padding-block:21px}.principles span{font-size:14px;display:flex;align-items:center;gap:40px;font-weight:500}.principles i{font-size:21px;color:#7f9564;font-style:normal}.section{padding-block:95px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:65px;margin-bottom:40px}.section-head h2{margin-bottom:0}.section-head>p{max-width:325px;font-size:13px;margin-bottom:4px}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.program-card{padding:29px;border-radius:12px;transition:transform .25s;display:flex;flex-direction:column}.program-card:hover{transform:translateY(-6px)}.mint{background:#eaf0e2}.lilac{background:#eeebf6}.peach{background:#f8ece0}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px;gap:8px}.program-icon{font-size:30px}.pill{border:1px solid #203c3229;padding:5px 10px;border-radius:30px;font-size:8px;letter-spacing:1px}.program-card h3{font-size:25px;letter-spacing:-1px;font-weight:600;margin-bottom:16px}.program-card p{font-size:12px;line-height:1.9}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 29px}.tags span{font-size:9px;padding:4px 9px;background:#ffffff7a;border-radius:4px}.program-card>a{border-top:1px solid #203c3225;padding-top:17px;display:flex;justify-content:space-between;font-size:11px;font-weight:600;margin-top:auto}.program-card>a span{font-size:19px}.intermediate{margin-top:24px;background:var(--green);border-radius:13px;display:grid;grid-template-columns:1.3fr .7fr;overflow:hidden;color:white}.intermediate-copy{padding:45px 48px}.intermediate .eyebrow{color:var(--lime);font-size:9px}.intermediate h3{font-size:36px;font-weight:500;letter-spacing:-1.6px;margin-bottom:20px}.intermediate em{color:var(--lime)}.intermediate p:not(.eyebrow){color:#c0d1c5;font-size:13px;max-width:400px}.exam-tags{display:flex;gap:10px;margin:22px 0}.exam-tags span{border:1px solid #ffffff38;border-radius:5px;padding:5px 15px;font-size:11px}.intermediate-art{position:relative;min-height:390px}.intermediate-art img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 42%;opacity:.85}.image-caption{position:absolute;bottom:20px;left:20px;right:20px;padding:10px;background:#143e32ed;color:var(--lime);font-size:8px;letter-spacing:1.5px;text-align:center}.approach-section{background:#f0f1e9;padding-block:90px}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.approach-art{position:relative;padding-right:25px;padding-bottom:32px}.approach-art>img{width:100%;height:580px;object-fit:cover;object-position:50% 30%;border-radius:12px}.quote-card{position:absolute;bottom:0;right:0;width:85%;padding:25px 30px;background:#e3edc8;border-radius:8px;font-family:Manrope,sans-serif;font-size:23px;letter-spacing:-.7px;line-height:1.4}.quote-card em{color:#44683b}.quote-card span{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:1.5px;margin-top:15px}.approach-copy>p:not(.eyebrow){font-size:13px}.steps{margin-top:30px}.steps article{display:flex;gap:20px;border-top:1px solid #d6ddcd;padding:21px 0 0}.steps article>span{font-size:11px;color:#7d9169;padding-top:3px}.steps h3{font-size:17px;margin-bottom:7px}.steps p{font-size:12px;margin-bottom:19px}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.benefit-grid article{border-top:1px solid var(--line);padding-top:22px}.benefit-grid article>span{font-size:35px;color:#6d854e;display:block;margin-bottom:19px}.benefit-grid h3{font-size:17px;letter-spacing:-.5px}.benefit-grid p{font-size:12px}.schedule{padding:45px 50px;background:#e8edda;border-radius:12px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.schedule h2{font-size:38px}.schedule p:not(.eyebrow){font-size:12px;margin:0}.time-slots{display:grid;grid-template-columns:1fr 1fr;gap:20px}.time-slots>div{padding:24px 0;border-block:1px solid #bfcbb0}.time-slots span{font-size:8px;letter-spacing:1.4px;display:block;margin-bottom:15px}.time-slots strong{display:block;font-size:36px;line-height:1.5;white-space:nowrap;font-weight:500;letter-spacing:-2px}.time-slots small{font-size:12px;letter-spacing:0}.time-slots i{font-size:18px;font-style:normal;color:#869875;margin-inline:5px}.faq-section{display:grid;grid-template-columns:1fr 1.15fr;gap:75px}.faqs details{border-bottom:1px solid var(--line)}.faqs summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:21px 0;font-size:13px;font-weight:600}.faqs summary::-webkit-details-marker{display:none}.faqs summary span{font-size:20px;font-weight:400;line-height:1}.faqs details[open] summary span{transform:rotate(45deg)}.faqs details p{font-size:12px;padding-right:25px}.contact-section{background:var(--green);color:#fff;padding:80px 0}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:center}.contact-section .eyebrow{color:var(--lime);font-size:9px}.contact-section h2{font-size:44px}.contact-section em{color:var(--lime)}.contact-section p{color:#bcccbf;font-size:13px}.contact-phone{display:flex;gap:40px;align-items:center;font-size:28px;font-family:Manrope,sans-serif;letter-spacing:-1px;margin-top:30px}.contact-phone span{color:var(--lime)}.address{display:flex;gap:18px;border-top:1px solid #ffffff29;margin-top:30px;padding-top:25px}.address>span{font-size:30px;color:var(--lime)}.address strong{font-size:13px}.address p{margin:5px 0 9px}.address a{color:var(--lime);font-size:10px}.contact-form{background:var(--cream);border-radius:12px;padding:32px;color:var(--ink)}.contact-form h3{font-size:22px;letter-spacing:-.6px;margin-bottom:8px}.contact-form>p{color:var(--muted);font-size:11px}.contact-form label{font-size:10px;font-weight:600;display:block;margin-top:17px;margin-bottom:6px}.contact-form label span{font-weight:400;color:var(--muted)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #d8ddcf;background:#fff;border-radius:5px;padding:12px;font-size:12px;color:var(--ink)}.contact-form textarea{resize:vertical;min-height:90px}.contact-form .button{width:100%;margin-top:17px}.contact-form .form-note{font-size:9px;line-height:1.6;text-align:center;margin:12px 0 0}.footer{padding-top:40px;padding-bottom:22px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:30px}.footer-top>p{font-family:Georgia,serif;font-style:italic;font-size:18px;margin:0;color:#6a7e5c}.back-top{font-size:10px}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:9px}.skip-link{position:fixed;top:-100px;left:15px;z-index:100;background:white;padding:12px}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #86a649;outline-offset:5px}.reveal{animation:rise .65s ease both}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1450px){.hero{padding-block:85px}.hero-photo{height:455px}}
@media(max-width:1100px){.wrap{width:calc(100% - 60px)}.header-inner nav{gap:18px}.hero{gap:35px}h1{font-size:68px}.hero-photo{height:380px}.hero-actions{gap:16px}.hero-actions .button{gap:20px}.principles span{gap:15px;font-size:12px}.approach-grid,.contact-grid{gap:45px}.time-slots strong{font-size:29px}.schedule{padding:35px}.program-card{padding:22px}.brand{font-size:24px}.brand small{font-size:6px}}
@media(max-width:850px){.header-inner{height:80px}.menu-toggle{display:flex;flex-direction:column;gap:6px;background:transparent;border:1px solid #c7d1bf;padding:12px;border-radius:5px}.menu-toggle span{display:block;width:20px;height:2px;background:var(--green)}.header-inner nav{display:none;position:absolute;left:0;right:0;top:80px;background:var(--cream);padding:25px 30px;box-shadow:0 12px 16px #143e3210;flex-direction:column;align-items:stretch}.header-inner nav.open{display:flex}.header-inner nav>a{padding:9px}.hero{gap:30px;padding-block:45px}h1{font-size:56px;letter-spacing:-3px}.hero .eyebrow{font-size:7px;letter-spacing:.8px}.lead{font-size:13px}.hero-photo{height:335px}.hero-art{padding:10px}.art-top{font-size:7px;letter-spacing:1px}.art-bottom{font-size:6px;letter-spacing:.5px}.orbit{width:80px;height:80px;font-size:18px;right:-15px}.floating-label{left:-15px;padding:12px;font-size:9px}.hero-actions{flex-wrap:wrap}.hero-note{margin-top:20px}.hero-note p{font-size:8px}.principles span{font-size:10px;gap:10px}.program-card h3{font-size:21px}.program-card{padding:19px}.pill{font-size:6px}.program-card p{font-size:11px}.program-icon{font-size:24px}.card-top{margin-bottom:25px}.section{padding-block:65px}.section-head{gap:30px}.section-head>p{max-width:260px;font-size:12px}.intermediate-copy{padding:32px}.intermediate h3{font-size:31px}.approach-grid{gap:35px}.approach-art>img{height:560px}.quote-card{font-size:19px;padding:22px}.benefit-grid{grid-template-columns:repeat(2,1fr)}.schedule{grid-template-columns:1fr 1fr;gap:25px}.time-slots{grid-template-columns:1fr;gap:10px}.time-slots>div{padding:12px 0}.time-slots span{margin-bottom:0}.faq-section{gap:40px}.contact-section h2{font-size:35px}.contact-grid{gap:30px}.contact-form{padding:24px}.contact-phone{font-size:24px;gap:15px}.footer-top>p{font-size:14px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.announcement{padding:8px 20px;font-size:8px;gap:15px;justify-content:space-between}.announcement a span{margin-left:3px}.brand{font-size:25px}.brand small{font-size:6px}.hero{grid-template-columns:1fr;padding-top:38px;padding-bottom:42px;gap:30px}h1{font-size:67px;line-height:1.06;letter-spacing:-3.8px}.hero .eyebrow{font-size:8px;letter-spacing:.8px}.hero .lead{font-size:14px;max-width:350px}.hero-actions{gap:24px}.hero-note p{font-size:10px}.hero-art{margin:0 9px;border-radius:100px 100px 10px 10px}.hero-photo{height:340px;border-radius:85px 85px 5px 5px}.art-top{height:50px;font-size:8px;letter-spacing:1.5px}.orbit{top:30px}.floating-label{font-size:11px;bottom:60px}.art-bottom{font-size:7px;padding-top:15px}.principles .wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-block:18px}.principles span{justify-content:space-between;font-size:10px}.principles i{font-size:15px}.section{padding-block:55px}.section-head{display:block;margin-bottom:28px}h2{font-size:37px;letter-spacing:-1.9px}.section-head>p{max-width:none;margin-top:20px}.eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:17px}.program-grid{grid-template-columns:1fr;gap:15px}.program-card{padding:26px}.program-card h3{font-size:29px}.program-card p{font-size:13px}.pill{font-size:8px}.program-icon{font-size:30px}.card-top{margin-bottom:25px}.tags{margin-bottom:20px}.program-card>a{font-size:12px}.intermediate{grid-template-columns:1fr}.intermediate-copy{padding:30px 25px}.intermediate h3{font-size:34px}.intermediate .button{font-size:11px;gap:15px;padding:16px}.intermediate-art{height:310px;min-height:0}.intermediate-art img{object-position:50% 46%}.approach-section{padding-block:50px}.approach-grid{grid-template-columns:1fr;gap:40px}.approach-art{padding-right:15px}.approach-art>img{height:470px}.quote-card{font-size:22px}.approach-copy .lead{max-width:none}.benefit-grid{gap:20px}.benefit-grid h3{font-size:16px}.benefit-grid p{font-size:11px}.schedule{grid-template-columns:1fr;padding:28px;gap:25px}.schedule h2{font-size:36px}.time-slots{grid-template-columns:1fr 1fr;gap:15px}.time-slots strong{font-size:28px}.time-slots span{font-size:7px}.time-slots i{margin-inline:2px}.faq-section{grid-template-columns:1fr;gap:10px}.faq-section h2{margin-bottom:10px}.faqs summary{font-size:12px}.contact-section{padding-block:50px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-section h2{font-size:37px}.contact-phone{font-size:30px}.contact-form{padding:25px}.contact-form input,.contact-form select,.contact-form textarea{font-size:16px}.footer-top{flex-wrap:wrap;gap:20px}.footer-top>p{order:3;width:100%;font-size:18px}.footer-bottom{flex-wrap:wrap;gap:10px;font-size:8px}.footer-bottom>span:first-child{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Keep decorative rotations within the viewport without clipping focus rings. */
html,body{overflow-x:clip}.hero>*{min-width:0}
@media(min-width:601px) and (max-width:1100px){.orbit{right:-8px}}
@media(max-width:380px){h1{font-size:57px}.hero-actions{gap:15px}.hero-photo{height:300px}}

.classroom-gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:0 0 45px}
.classroom-moment{margin:0;background:#edf0e5;border:1px solid #e0e5d7;border-radius:12px;overflow:hidden}
.classroom-moment:nth-child(2){background:#f3efe7;border-color:#e8e1d6}
.classroom-moment img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.classroom-moment figcaption{padding:25px 28px 27px}
.moment-number{display:block;color:#65794f;font-size:8px;font-weight:700;letter-spacing:1.5px;margin-bottom:12px}
.classroom-moment h3{font-size:23px;font-weight:500;letter-spacing:-.7px;margin-bottom:11px}
.classroom-moment p{font-size:12px;line-height:1.8;margin-bottom:0;max-width:390px}
@media(max-width:850px){.classroom-gallery{gap:18px}.classroom-moment figcaption{padding:21px}.classroom-moment h3{font-size:20px}}
@media(max-width:600px){.classroom-gallery{grid-template-columns:1fr;gap:22px;margin-bottom:32px}.classroom-moment h3{font-size:24px}.classroom-moment figcaption{padding:24px}.classroom-moment p{font-size:13px}}
