@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{font-family:'DM Sans',sans-serif;color:#122b45;background:#fff;font-synthesis:none;--navy:#122b45;--green:#dcf57c;--muted:#526477}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px}a:focus-visible{outline:3px solid #208777;outline-offset:5px}p{line-height:1.65}h1,h2,h3,.brand{font-family:Manrope,sans-serif}h1,h2,h3{font-weight:600}h1{font-size:clamp(3rem,5.4vw,5.4rem);letter-spacing:-.065em;line-height:1.08;margin:24px 0}h1 em{font-style:normal;color:#217a69}h2{font-size:clamp(2rem,3.2vw,3.2rem);letter-spacing:-.045em;line-height:1.15;margin:18px 0}h3{font-size:1.65rem;letter-spacing:-.035em;margin:22px 0 12px}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}.header{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-size:1.8rem;letter-spacing:-.07em;font-weight:800;text-decoration:none;white-space:nowrap}.amp{font-weight:400;padding:0 3px;color:#217a69}.brand-dot{color:#217a69}.header nav{display:flex;align-items:center;gap:32px;font-size:.9rem;font-weight:600}.header nav a{text-decoration:none}.nav-cta{padding:13px 18px;border:1px solid #c3ccd0;border-radius:5px}.nav-cta span{margin-left:18px}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:64px;align-items:center;padding-top:58px;padding-bottom:76px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.14em}.lede{font-size:1.2rem;max-width:450px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:32px 0 14px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--navy);color:white;text-decoration:none;padding:18px 24px;font-size:.95rem;border-radius:5px;font-weight:600;transition:background .2s}.button:hover{background:#225070}.text-link{font-size:.9rem;font-weight:600}.small{font-size:.875rem;color:var(--muted);max-width:440px}.photo-frame{background:#e7eef0;aspect-ratio:4/3;overflow:hidden;border-radius:5px 5px 90px 5px}.photo-frame img{width:100%;height:100%;display:block;object-fit:cover}.vision-type{height:100%;background:var(--navy);color:var(--green);padding:40px;display:flex;flex-direction:column;justify-content:center}.vision-type span{font-size:clamp(2rem,3vw,3rem);font-weight:700;line-height:1.1;letter-spacing:-.04em}.vision-type p{color:white}.photo-caption{display:flex;justify-content:space-between;gap:12px;margin:20px 0;font-size:.75rem;font-weight:700;letter-spacing:.1em}.principle-band{background:var(--green)}.principle-band .wrap{display:flex;justify-content:space-between;padding:25px 0;font-size:1.1rem;font-weight:600}.section{padding-top:90px;padding-bottom:90px}.section-heading{max-width:660px}.section-heading>p:last-child{max-width:550px;color:var(--muted);font-size:1.05rem}.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:48px}.paths article{border-top:1px solid #afbec5;padding-top:24px;display:flex;flex-direction:column;align-items:flex-start}.index{font-size:.75rem;letter-spacing:.12em;font-weight:700;color:#496174}.paths p{color:var(--muted);margin:0 0 26px}.paths a,.status{margin-top:auto;font-size:.875rem;font-weight:600}.status{background:#edf2f4;padding:8px 12px;border-radius:4px}.vision{background:var(--navy);color:#fff;padding:82px 0}.vision-grid{display:grid;grid-template-columns:1fr 2fr;gap:48px}.vision .eyebrow{color:var(--green)}.vision h2{margin-top:0}.vision-grid>div>p{font-size:1.1rem;color:#d1dce5;max-width:650px}.founder{display:flex;gap:20px;align-items:center;margin-top:30px}.founder-line{width:45px;height:2px;background:var(--green);flex-shrink:0}.founder p{font-size:.875rem;color:#c9d7e2;max-width:460px}.founder strong{color:#fff}.closing{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;padding-top:78px;padding-bottom:78px}footer{display:flex;align-items:center;gap:32px;border-top:1px solid #d5dde1;padding-top:26px;padding-bottom:26px}footer p{font-size:.875rem;color:var(--muted)}footer>a:last-child{font-size:.875rem;margin-left:auto}.skip{position:absolute;top:-100px;background:white;padding:16px;z-index:5}.skip:focus{top:0}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero{gap:32px}.header nav{gap:18px}.paths{gap:26px}.photo-caption{font-size:.75rem;letter-spacing:0}.hero-actions{gap:18px}.vision-grid{grid-template-columns:1fr 2.4fr;gap:20px}}@media(max-width:720px){.header{padding:22px 0;min-height:0;flex-wrap:wrap;gap:20px}.header nav{width:100%;justify-content:space-between;gap:12px;font-size:.875rem}.nav-cta{padding:10px}.nav-cta span{margin-left:6px}.hero{grid-template-columns:1fr;padding-top:28px;padding-bottom:36px;gap:24px}h1{font-size:clamp(2.8rem,10vw,4.5rem)}.lede{font-size:1.1rem}.photo-frame{aspect-ratio:4/3}.principle-band .wrap{flex-wrap:wrap;gap:10px 24px;font-size:.9rem;padding:20px 0}.section{padding-top:55px;padding-bottom:55px}.paths{grid-template-columns:1fr;gap:34px}.paths article{padding-top:20px}.paths h3{margin-top:16px}.vision{padding:48px 0}.vision-grid,.closing{grid-template-columns:1fr;gap:20px}.closing{padding-top:45px;padding-bottom:45px}footer{flex-wrap:wrap;gap:8px 24px}footer>a:last-child{margin-left:0}footer .brand{width:100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.about-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:90px;align-items:center;padding-top:64px;padding-bottom:80px}.about-hero h1{font-size:clamp(3.2rem,6vw,5.6rem);margin:24px 0}.about-intro{font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.3;letter-spacing:-.035em;color:#217a69;margin:0 0 24px}.about-hero .lede{max-width:570px}.portrait{margin:0;max-width:400px;justify-self:end;width:100%}.portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:5px 5px 70px 5px;background:#f5f7f9}.portrait figcaption{display:flex;flex-direction:column;gap:5px;padding-top:18px;font-size:.9rem}.portrait figcaption span{color:var(--muted)}.about-story{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;padding-top:70px;padding-bottom:70px;border-top:1px solid #d5dde1}.about-side h2{font-size:clamp(1.9rem,3vw,2.7rem)}.about-prose p{font-size:1.08rem;color:var(--muted);margin:0 0 24px}.about-prose p:last-child{margin-bottom:0}.about-prose .independence{font-size:.9rem;border-left:3px solid #217a69;padding:4px 0 4px 20px}.about-end{background:#edf4f1;padding:36px;margin-bottom:64px;border-radius:5px;display:flex;justify-content:space-between;gap:30px;align-items:center}.about-end h2{font-size:1.8rem;max-width:480px}.about-end p{color:var(--muted);max-width:500px}.about-end .hero-actions{flex-shrink:0;flex-direction:column;align-items:flex-start}.header a[aria-current=page]{text-decoration:underline;text-decoration-color:#217a69;text-decoration-thickness:2px}@media(max-width:900px){.about-hero{gap:40px}.about-story{gap:40px}.header nav{flex-wrap:wrap}.about-end{display:block}}@media(max-width:720px){.about-hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:45px;gap:24px}.portrait{justify-self:start;max-width:360px}.about-story{grid-template-columns:1fr;gap:15px;padding-top:38px;padding-bottom:38px}.about-hero h1{font-size:3.3rem}.about-end{padding:24px;margin-bottom:40px}.header nav{justify-content:flex-start;gap:14px 22px}.about-end .hero-actions{flex-direction:row;align-items:center}}

.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:38px}.offer{padding:32px;border:1px solid #ccd7dd;border-radius:8px;scroll-margin-top:24px;display:flex;flex-direction:column;align-items:flex-start}.offer-top{display:flex;justify-content:space-between;align-items:center;width:100%;gap:15px;flex-wrap:wrap}.offer h3{font-size:1.9rem;line-height:1.2;max-width:360px}.offer>p{color:var(--muted)}.offer ul{padding-left:21px;line-height:1.7;margin:4px 0 30px;color:#344c61}.offer li{padding:5px 0}.offer .button{margin-top:auto}.offer .small{margin-bottom:0}.offer.training{background:#edf4f1;border-color:#c8dcd2}.training-note{border-top:1px solid #bfcec7;padding:22px 0;margin-top:auto}.training-note p{font-size:.95rem;margin-bottom:0;color:var(--muted)}.training .status{background:#fff}.header nav{flex-wrap:wrap}.offers .section-heading{max-width:760px}@media(max-width:850px){.offer-grid{grid-template-columns:1fr}.offer{padding:25px}.header{flex-wrap:wrap;padding-top:22px;padding-bottom:22px}.header nav{gap:18px}}@media(max-width:420px){.offer h3{font-size:1.65rem}.offer .button{width:100%;gap:12px;padding:16px}.header nav{justify-content:flex-start}.offer-top .index{line-height:1.6}}

.page-intro{padding-top:62px;padding-bottom:48px;max-width:1280px}.page-intro h1{font-size:clamp(2.6rem,5vw,4.8rem);max-width:900px}.page-intro .lede{max-width:720px}.availability-note{padding:16px 20px;border-left:3px solid #217a69;background:#edf4f1;max-width:800px;font-size:.95rem;color:#344c61}.class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:70px}.class-card{border:1px solid #ccd7dd;border-radius:8px;padding:30px;display:flex;flex-direction:column;align-items:flex-start}.class-card h2{font-size:1.8rem;margin-top:26px;line-height:1.25}.class-card p{color:var(--muted)}.class-format{font-size:.875rem}.class-card a{margin-top:auto;padding-top:20px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:65px;margin-bottom:70px}.detail-grid section{margin-bottom:36px}.detail-grid h2,.contact-grid h2{font-size:1.8rem}.detail-grid p,.detail-grid li{line-height:1.75;color:#526477}.detail-grid li{padding:6px 0}.detail-grid ul{padding-left:22px}.class-facts{align-self:start;background:#edf4f1;padding:30px;border-radius:8px}.class-facts dt{font-weight:600;margin-top:22px}.class-facts dd{margin:6px 0;color:#526477;line-height:1.6}.class-facts>p{font-size:.9rem}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;margin-bottom:90px}.contact-note{background:#edf4f1;padding:35px;border-radius:8px}.contact-note p{color:var(--muted)}.contact-options a{display:flex;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid #ccd7dd;text-decoration:none;line-height:1.5}.contact-options a:hover{text-decoration:underline}footer nav{display:flex;gap:18px;flex-wrap:wrap;margin-left:auto;font-size:.875rem}.class-detail[hidden],#class-not-found[hidden]{display:none}.header nav{flex-wrap:wrap;gap:22px}.header a[aria-current=page]{text-decoration:underline;text-underline-offset:6px;text-decoration-color:#217a69}@media(max-width:1000px){.class-grid{grid-template-columns:1fr}.class-card{padding:26px}.detail-grid{gap:30px}.contact-grid{gap:30px}.header{flex-wrap:wrap;padding-top:20px;padding-bottom:20px}}@media(max-width:720px){.detail-grid,.contact-grid{grid-template-columns:1fr}.page-intro{padding-top:35px;padding-bottom:30px}.class-grid,.detail-grid{margin-bottom:42px}.contact-grid{margin-bottom:45px}.class-facts,.contact-note{padding:24px}.header nav{justify-content:flex-start;gap:14px 22px}footer nav{margin:12px 0 0}.class-grid{gap:18px}}

.pricing-section{scroll-margin-top:20px}.pricing-disclosure{font-size:.95rem!important;padding:16px 18px;background:#edf4f1;border-left:3px solid #217a69}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}.price-card{border:1px solid #ccd7dd;border-radius:8px;padding:28px;display:flex;flex-direction:column;align-items:flex-start}.price-card h3{font-size:1.55rem;line-height:1.3}.price{font-family:Manrope,sans-serif;font-size:2.8rem;font-weight:700;letter-spacing:-.045em;line-height:1.2;margin:12px 0}.price span{display:block;font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:8px}.price-card>p:not(.price){color:var(--muted)}.price-card ul{padding-left:20px;line-height:1.7;margin:12px 0 24px}.price-card li{padding:5px 0}.price-card .price-note{margin-top:auto}.price-note,.pricing-footnote{font-size:.875rem;color:var(--muted);line-height:1.65}.price-card>a{margin-top:16px}.group-offer{display:grid;grid-template-columns:1.5fr 1fr;gap:45px;background:#edf4f1;border-radius:8px;padding:32px;margin-top:28px}.group-offer h3{font-size:1.8rem}.group-offer p{max-width:600px}.group-price{align-self:center}.group-price .price{margin-top:0}.pricing-footnote{margin-top:22px}.price-card .status{font-size:.875rem}.price-card .button{width:100%;justify-content:center}@media(max-width:1000px){.pricing-grid{grid-template-columns:1fr}.price-card{padding:26px}.group-offer{gap:25px}.header nav{gap:15px}}@media(max-width:720px){.group-offer{grid-template-columns:1fr;padding:25px}.price{font-size:2.5rem}.group-offer .button{white-space:normal}}
