@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/c0e2eae9e0de9f16-s.2of77tvarlxv9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/2ff936f45a7b5918-s.0_hkuyklry9k2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/cf9a11b6772b9533-s.p.32vcy6_pq4pnh.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6cec87c23af19a62-s.38msdipe8z81f.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/c24fec3b421fd73c-s.30bhvdlsk8sra.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/61e56fd33ece1ad8-s.p.3se9ogqst-d6c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.jZxhCq_className{font-family:Newsreader,Newsreader Fallback}.jZxhCq_variable{--font-serif:"Newsreader", "Newsreader Fallback"}
@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/62f37606a5bd6f6f-s.3wn_q526zaolu.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/4cf231d25563e07b-s.p.3uuun_-7zsf1g.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/62f37606a5bd6f6f-s.3wn_q526zaolu.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/4cf231d25563e07b-s.p.3uuun_-7zsf1g.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/62f37606a5bd6f6f-s.3wn_q526zaolu.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/4cf231d25563e07b-s.p.3uuun_-7zsf1g.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Fallback;src:local(Arial);ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.0%;size-adjust:102.74%}.RtXvHa_className{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.RtXvHa_variable{--font-sans:"Instrument Sans", "Instrument Sans Fallback"}
:root{--cream:#f5efe3;--sand:#ede4d3;--card:#fbf7ee;--input:#fffdf8;--green:#2e4636;--green-dark:#233629;--text:#26302a;--text-2:#4a554d;--text-3:#3e4942;--brown:#6a4b33;--line:#e3d8c4;--line-2:#ddd1bb;--line-3:#d7cbb4;--line-input:#cdbfa6;--gold:#e2b33e;--gold-soft:#e8c766;--terracotta:#c9694b;--rust:#b85c3e;--sky:#8db4c9;--err:#9a3a1e;--err-border:#b8452a;--serif:var(--font-serif), Georgia, serif;--sans:var(--font-sans), system-ui, sans-serif;--pad-x:clamp(20px, 4vw, 40px)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body{color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:var(--cream) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .42  0 0 0 0 .32  0 0 0 0 .2  0 0 0 .07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");margin:0;font-size:17px;line-height:1.6}h1,h2,h3,h4,p,dl,dd,figure,blockquote{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}a{color:var(--green);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--rust)}:focus-visible{outline:2.5px solid var(--rust);outline-offset:3px;border-radius:4px}::selection{background:var(--gold-soft)}img{max-width:100%}@keyframes spin{to{transform:rotate(360deg)}}.skip-link{z-index:100;background:var(--green);color:var(--cream);border-radius:8px;padding:10px 16px;position:absolute;top:8px;left:-9999px}.skip-link:focus{color:var(--cream);left:12px}.serif{font-family:var(--serif)}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--brown);font-size:14px;font-weight:600}.h-page{font-family:var(--serif);letter-spacing:-.02em;color:var(--green);font-size:clamp(36px,4.6vw,56px);font-weight:400;line-height:1.05}.h-section{font-family:var(--serif);letter-spacing:-.02em;color:var(--green);font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.1}.eyebrow+.h-page{margin-top:14px}.muted{color:var(--text-2)}.section{padding:clamp(64px, 8vw, 112px) var(--pad-x);scroll-margin-top:80px}.section--sand{background:var(--sand)}.section--rule{border-top:1px solid var(--line)}.wrap{max-width:1160px;margin:0 auto}.wrap--wide{max-width:1240px;margin:0 auto}.leaf{border-radius:0 100%;flex:none;width:14px;height:14px;display:inline-block}.btn{font:inherit;cursor:pointer;border:1.5px solid var(--green);background:var(--green);color:var(--cream);border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:15px 26px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.btn:hover{background:var(--green-dark);color:var(--cream);transform:translateY(-2px)}.btn--outline{color:var(--green);background:0 0;padding:13.5px 24px}.btn--outline:hover{color:var(--green);background:#eae2d1}.btn--sm{border-radius:10px;padding:11px 20px;font-size:15px}.btn:disabled{cursor:progress;opacity:.85;transform:none}.btn-row{flex-wrap:wrap;gap:14px;display:flex}.chip{white-space:nowrap;border-radius:7px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-block}.site-header{z-index:50;background:#f5efe3f7;border-bottom:1px solid #0000;transition:border-color .2s;position:sticky;top:0}.site-header[data-scrolled=true]{border-bottom-color:var(--line)}.site-header__bar{max-width:1240px;padding:16px var(--pad-x);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;display:flex}.logo{color:var(--green);align-items:center;gap:10px;text-decoration:none;display:flex}.logo:hover{color:var(--green)}.logo img{width:40px;height:40px;display:block}.logo span{font-family:var(--serif);letter-spacing:-.01em;white-space:nowrap;font-size:21px;font-style:italic;font-weight:500;position:relative;top:7px}.nav-desktop{align-items:center;gap:28px;display:flex}.nav-desktop__links{gap:24px;font-size:15px;font-weight:500;display:flex}.nav-desktop__links a{color:var(--text);white-space:nowrap;border-bottom:1.5px solid #0000;padding:4px 0;text-decoration:none}.nav-desktop__links a:hover{color:var(--rust)}.nav-desktop__links a[aria-current=page]{color:var(--green);border-bottom-color:var(--gold)}.menu-toggle{font:inherit;color:var(--green);border:1.5px solid var(--green);cursor:pointer;background:0 0;border-radius:10px;min-height:44px;padding:9px 16px;font-size:15px;font-weight:600;display:none}.nav-mobile{border-top:1px solid var(--line);background:var(--cream);flex-direction:column;padding:12px 20px 24px;display:flex}.nav-mobile a:not(.btn){font-family:var(--serif);color:var(--text);border-bottom:1px solid #e9e0cf;padding:12px 0;font-size:24px;text-decoration:none}.nav-mobile a[aria-current=page]{color:var(--green)}.nav-mobile .btn{margin-top:20px}@media (max-width:1079px){.nav-desktop{display:none}.menu-toggle{display:inline-block}}@media (min-width:1080px){.nav-mobile{display:none}}.site-footer{background:var(--green-dark);color:#e9e3d6;padding:clamp(56px, 7vw, 88px) var(--pad-x) 32px}.site-footer__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px;max-width:1160px;margin:0 auto;display:grid}.site-footer__col{flex-direction:column;gap:8px;font-size:15px;display:flex}.site-footer__brand{gap:14px}.site-footer__heading{letter-spacing:.1em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:4px;font-size:13px;font-weight:600}.site-footer a{color:#e9e3d6}.site-footer nav a{text-decoration:none}.site-footer a:hover{color:var(--gold-soft)}.site-footer__bottom{color:#aeb9af;border-top:1px solid #3e5848;flex-wrap:wrap;justify-content:space-between;gap:16px;max-width:1160px;margin:48px auto 0;padding-top:24px;font-size:14px;display:flex}.site-footer__bottom a{color:#c9d1c8}.photo{background:#e6dcc8;position:relative;overflow:hidden}.photo img{object-fit:cover}.dot{pointer-events:none;position:absolute}.hero{max-width:1240px;padding:clamp(40px, 7vw, 96px) var(--pad-x) clamp(56px, 8vw, 112px);flex-wrap:wrap;align-items:center;gap:clamp(40px,6vw,80px);margin:0 auto;display:flex}.hero__copy{flex:440px;max-width:600px}.hero h1{font-family:var(--serif);letter-spacing:-.025em;color:var(--green);font-size:clamp(48px,7.4vw,92px);font-weight:400;line-height:1}.hero__grow{white-space:nowrap;font-style:italic;position:relative}.hero__grow svg{width:104%;height:.22em;position:absolute;bottom:-.12em;left:-2%}.hero__lede{color:var(--text-2);max-width:520px;margin-top:28px;font-size:clamp(17px,1.5vw,19px);line-height:1.65}.hero .btn-row{margin-top:36px}.hero__art{flex:420px;max-width:600px;height:clamp(420px,52vw,600px);position:relative}.hero__family{width:58%}@media (max-width:600px){.hero__family{width:64%}}.cards-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;padding:0;list-style:none;display:grid}.soft-card{background:var(--card);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:14px;padding:30px 28px;display:flex}.soft-card h3{font-family:var(--serif);color:var(--green);font-size:24px;font-weight:500}.soft-card p{color:var(--text-2)}.split{flex-wrap:wrap;gap:clamp(32px,6vw,96px);display:flex}.term-list{border-top:1px solid var(--line-3);margin:36px 0 0;padding:0;list-style:none}.term-list li{border-bottom:1px solid var(--line-3)}.term-list a{color:var(--text);flex-wrap:wrap;align-items:center;gap:12px 24px;padding:20px 0;text-decoration:none;transition:padding .25s;display:flex}.term-list a:hover{color:var(--text);padding-left:10px}.term-list__title{font-family:var(--serif);color:var(--green);flex:240px;font-size:24px}.term-list__ages{color:var(--brown);flex:0 160px;font-size:15px}.term-list__when{color:var(--text-2);flex:0 180px;font-size:15px}.trust{color:var(--cream);background:var(--green) url(/images/boulder-garden.jpg) center / cover no-repeat;position:relative;overflow:hidden}.trust:before{content:"";pointer-events:none;background:#1f3226db;position:absolute;inset:0}.trust .wrap{position:relative}.trust h2{color:var(--cream);max-width:620px}.quote{border:1px solid #4e6b58;border-radius:18px;flex-direction:column;gap:18px;padding:30px;display:flex}.quote blockquote{font-family:var(--serif);font-size:21px;font-style:italic;line-height:1.5}.quote figcaption{color:#d7ded6;font-size:15px}.class-grid{flex-wrap:wrap;gap:24px;margin-top:48px;display:flex}.class-card{background:var(--card);border:1px solid var(--line-2);border-radius:20px;flex-direction:column;flex:30%;min-width:min(100%,300px);transition:transform .25s,box-shadow .25s;display:flex;overflow:hidden}.class-grid[data-count="4"] .class-card{flex-basis:40%}.class-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px -18px #2e463673}.class-card__photo{background:#e6dcc8;height:230px;position:relative}.class-card__photo img{object-fit:cover}.class-card__photo .chip{padding:5px 11px;position:absolute;top:14px;left:14px}.class-card__body{flex-direction:column;flex:1;gap:14px;padding:26px 26px 28px;display:flex}.class-card__meta{color:var(--brown);align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.class-card h3{font-family:var(--serif);color:var(--green);font-size:27px;font-weight:500;line-height:1.15}.class-card__desc{color:var(--text-2);font-size:16px}.class-card dl{border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:8px 16px;margin-top:4px;padding-top:16px;font-size:15px;display:grid}.class-card dt{color:var(--brown)}.class-card dd{color:var(--text)}.class-card__cta{margin-top:auto;padding-top:10px}.class-card__cta .btn{border-radius:11px;width:100%;padding:13px 18px;font-size:15px}.class-card__cta .btn:hover{transform:translateY(-1px)}.bio{background:var(--card);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:14px;padding:clamp(26px,3.5vw,40px);display:flex}.bio h2{font-family:var(--serif);color:var(--green);font-size:32px;font-weight:500}.bio__tagline{font-family:var(--serif);color:var(--green);font-size:20px;font-style:italic}.bio p:not([class]){color:var(--text-2);font-size:16px}.bio__closing{font-family:var(--serif);color:var(--rust);font-size:20px;font-style:italic}.bio__teaches{border-top:1px solid var(--line);margin-top:auto;padding-top:14px;font-size:15px}.bio__teaches strong{color:var(--brown);font-weight:600}.steps{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin:48px 0 0;padding:0;list-style:none;display:grid}.steps li{border-top:2px solid var(--green);flex-direction:column;gap:10px;padding:28px 26px;display:flex}.steps__n{font-family:var(--serif);color:var(--terracotta);font-size:44px;font-style:italic;line-height:1}.steps h3{font-family:var(--serif);color:var(--green);font-size:23px;font-weight:500}.steps p{color:var(--text-2);font-size:16px}.callout{background:#f3e3b6;border-radius:16px;align-items:flex-start;gap:16px;max-width:820px;margin-top:36px;padding:22px 26px;font-size:16px;display:flex}.faq-list{border-top:1px solid var(--line-3);flex:2 480px}.faq-item{border-bottom:1px solid var(--line-3)}.faq-item h3{margin:0}.faq-item button{cursor:pointer;text-align:left;width:100%;font-family:var(--serif);color:var(--green);background:0 0;border:0;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:21px;font-weight:500;display:flex}.faq-item button:hover{color:var(--rust)}.faq-item__icon{width:30px;height:30px;font-family:var(--sans);border:1.5px solid;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:transform .25s;display:flex}.faq-item button[aria-expanded=true] .faq-item__icon{transform:rotate(45deg)}.faq-item__panel{color:var(--text-2);padding:0 48px 24px 0;font-size:16px}.form-card{background:var(--card);border:1px solid var(--line-2);border-radius:22px;padding:clamp(24px,4vw,44px)}.form{flex-direction:column;gap:22px;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;display:grid}.field{flex-direction:column;gap:7px;display:flex}.field label,.field__label{font-size:15px;font-weight:600}.field__opt{color:var(--brown);font-weight:400}.field__hint{color:var(--brown);font-size:14px}.input{width:100%;font:inherit;color:var(--text);background:var(--input);border:1.5px solid var(--line-input);border-radius:10px;outline:none;padding:13px 14px;font-size:16px;transition:border-color .2s,box-shadow .2s}select.input{cursor:pointer}textarea.input{resize:vertical}.input:focus{border-color:var(--green);box-shadow:0 0 0 3px #2e46362e}.input[aria-invalid=true]{border-color:var(--err-border)}.field__error{color:var(--err);font-size:14px}.field__error:empty{display:none}.form-alert{color:#7a2e17;background:#f6ded4;border-radius:12px;padding:14px 18px;font-size:15px;font-weight:500}.consent{color:var(--text-3);cursor:pointer;align-items:flex-start;gap:12px;font-size:15px;display:flex}.consent input{accent-color:var(--green);flex:none;width:20px;height:20px;margin:2px 0 0}.spinner{border:2px solid #f5efe359;border-top-color:var(--cream);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.success{outline:none;flex-direction:column;gap:16px;padding:12px 0;display:flex}.success__mark{background:var(--green);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.success__mark span{background:var(--gold);border-radius:0 100%;width:22px;height:22px}.success h3{font-family:var(--serif);color:var(--green);font-size:30px;font-weight:500}.success p{color:var(--text-3)}.student-box{border:1px solid var(--line-2);background:#fffdf880;border-radius:16px;flex-direction:column;gap:18px;min-width:0;margin:0;padding:18px 20px 20px;display:flex}.student-box--single{background:0 0;border:0;padding:0}.student-box__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-box__title{font-family:var(--serif);color:var(--green);padding:0;font-size:21px;font-weight:500}.student-box__remove{font:inherit;color:var(--err);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:6px 8px;font-size:14px;font-weight:600;text-decoration:underline}.student-box__remove:hover{color:var(--rust)}
