:root{--white:#FAFAF8;--off:#F3F5F1;--border:#DDE6DD;--sage:#4A7250;--sage-light:#E8F0E9;--sage-mid:#A8C8AA;--dark:#1C221C;--muted:#526052;--dot:#2A6FD6;--maxw:1200px;--ts:1.1;--ts-md:1;--ts-nav:1.1;--body:"DM Sans",sans-serif;--display:"DM Serif Display",serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{background:var(--white);color:var(--dark);font-family:var(--body);font-weight:300;font-size:calc(15px * var(--ts));line-height:1.6}section[id]{scroll-margin-top:64px}@keyframes up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.anim-up{opacity:0;animation:up .7s forwards}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}.eyebrow{font-size:calc(11px * var(--ts));font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--sage);margin-bottom:12px}.h2{font-family:var(--display);font-size:clamp(28px,4vw,44px);font-weight:400;line-height:1.1;color:var(--dark)}.h2 em,.h2-sm em{font-style:italic}.h2-sm{font-family:var(--display);font-size:clamp(26px,3.6vw,38px);font-weight:400;line-height:1.1;color:var(--dark)}.tag{display:inline-flex;align-items:center;gap:7px;font-size:calc(10px * var(--ts));font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:6px 13px;border-radius:999px;background:var(--sage-light);color:var(--sage)}.tag:before,.pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.pwa-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:center;height:64px;background:#fafaf8f0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .3s}.pwa-nav.scrolled{border-bottom-color:var(--border)!important}.pwa-navinner{width:100%;display:flex;align-items:center;justify-content:space-between;padding-left:max(48px,calc((100% - var(--maxw))/2));padding-right:max(48px,calc((100% - var(--maxw))/2))}.pwa-navlinks{display:flex;gap:26px;list-style:none}.nav-link{font-size:calc(13px * var(--ts-nav));font-weight:400;color:var(--muted);text-decoration:none;letter-spacing:.03em;transition:color .2s}.nav-link:hover{color:var(--dark)}.nav-link.current{font-weight:500;color:var(--sage)}.nav-link.current:hover{color:var(--dark)}.nav-cta{font-size:calc(12px * var(--ts-nav));font-weight:500;padding:9px 22px;border-radius:999px;background:var(--sage);color:#fff;text-decoration:none;letter-spacing:.03em;transition:background .2s,transform .15s}.nav-cta:hover{background:var(--dark);transform:translateY(-1px)}.pwa-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}.pwa-burger span{display:block;width:22px;height:1.5px;background:var(--dark);border-radius:2px}.pwa-navlinks.open{display:flex!important;flex-direction:column;justify-content:center;position:fixed;top:0;left:0;right:0;height:100vh;background:var(--white);padding:64px 32px 48px;gap:0;z-index:99}.pwa-navlinks.open li{width:100%}.pwa-navlinks.open li a{display:block;width:100%;font-family:var(--display)!important;font-size:32px!important;font-weight:400!important;color:var(--dark)!important;letter-spacing:-.01em;padding:22px 0!important;border-bottom:1px solid var(--border)}.pwa-navclose{display:none}.pwa-navclose button{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:none;border:none;font-family:inherit;font-size:calc(28px * var(--ts-md));font-weight:300;line-height:1;color:var(--dark);cursor:pointer}.pwa-navlinks.open .pwa-navclose{display:flex;position:fixed;top:14px;right:18px;width:44px;height:44px;z-index:100}.pwa-navright{display:flex;align-items:center;gap:18px}.lang-switch{display:flex;align-items:center;gap:6px;font-size:calc(11px * var(--ts-nav));font-weight:500;letter-spacing:.1em;color:var(--border)}.lang-link{color:var(--muted);text-decoration:none;transition:color .2s}.lang-link:hover{color:var(--dark)}.lang-link.current{color:var(--dark);font-weight:600;border-bottom:1.5px solid var(--sage);padding-bottom:1px}.lang-item{display:none}.pwa-navlinks.open{overflow-y:auto;justify-content:safe center}.pwa-navlinks.open .lang-item{display:flex;gap:24px;position:fixed;top:26px;left:32px;width:auto;z-index:100}.pwa-navlinks.open .lang-item a{display:inline-block!important;width:auto!important;font-family:var(--body)!important;font-size:calc(15px * var(--ts))!important;font-weight:500!important;letter-spacing:.12em!important;color:var(--muted)!important;padding:0!important;border-bottom:none!important}.pwa-navlinks.open .lang-item a.current{color:var(--dark)!important;border-bottom:1.5px solid var(--sage)!important;padding-bottom:2px!important}@media(max-width:480px){.lang-switch{display:none}}.pwa-hero,.pwa-locstrip,.pwa-stats,.pwa-section,.pwa-ctaband,.pwa-footer{padding-left:max(48px,calc((100% - var(--maxw))/2))!important;padding-right:max(48px,calc((100% - var(--maxw))/2))!important}.btn-dark{font-size:calc(13px * var(--ts));font-weight:500;padding:13px 28px;border-radius:999px;background:var(--dark);color:var(--white);text-decoration:none;letter-spacing:.03em;transition:background .2s,transform .15s}.btn-dark:hover{background:var(--sage);transform:translateY(-1px)}.link-line{font-size:calc(13px * var(--ts));font-weight:400;color:var(--dark);text-decoration:none;letter-spacing:.03em;padding:13px 4px;border-bottom:1px solid var(--border);transition:color .2s,border-color .2s}.link-line:hover{color:var(--sage);border-color:var(--sage)}.course-card{transition:background .25s}.course-card:hover{background:var(--dark)!important}.course-card:hover .course-tag,.course-card:hover .course-name,.course-card:hover .course-desc,.course-card:hover .course-detail{color:#ffffffe6!important}.course-card:hover .course-badge{background:var(--sage)!important;color:#fff!important}.course-card:hover .course-cta{color:var(--sage-mid)!important;border-color:var(--sage-mid)!important}.where-card{transition:border-color .25s}.where-card:hover{border-color:var(--sage-mid)!important}.stretch-word{display:inline-block;letter-spacing:.02em;transition:letter-spacing .6s cubic-bezier(.34,1.56,.64,1)}.stretch-word:hover{letter-spacing:.28em}.zone{fill:transparent;stroke:var(--sage-mid);stroke-width:1.6;cursor:pointer;transform-box:fill-box;transform-origin:center;transition:fill .3s,stroke .3s;outline:none}.zone:hover,.zone:focus-visible{fill:var(--sage-light)}.zone.active{fill:var(--sage);stroke:var(--sage);animation:zonepulse .4s ease}@keyframes zonepulse{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.zone-dot{fill:#fff;stroke:var(--dot);stroke-width:1.6;pointer-events:none;transform-box:fill-box;transform-origin:center;animation:zoneping 1.6s ease-in-out infinite}.zone-dot.active{display:none}.g-stars{color:#fbbc04}.g-count{font-size:calc(12px * var(--ts));font-weight:400;color:var(--dark);text-decoration:none;border-bottom:1px solid var(--border);transition:border-color .2s}.g-count:hover{border-color:var(--dark)}.review-more{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:var(--off);padding:28px 24px;text-decoration:none;transition:background .25s}.review-more:hover{background:var(--sage-light)}.review-more-cta{margin-top:20px;font-size:calc(13px * var(--ts));font-weight:500;color:var(--dark);border-bottom:1px solid var(--dark);padding-bottom:2px}.map-frame{position:relative;height:340px;background:var(--sage-light)}.map-frame .maplibregl-ctrl-group{border-radius:4px;box-shadow:0 1px 4px #1c221c26}.map-pin{display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.map-label{font-family:var(--body);font-size:calc(11px * var(--ts));font-weight:500;letter-spacing:.06em;white-space:nowrap;color:#fff;background:var(--dark);padding:6px 12px;border-radius:999px;box-shadow:0 4px 14px #1c221c40}.map-dot{position:relative;width:18px;height:18px;border-radius:50%;background:var(--sage);border:3px solid #fff;box-shadow:0 2px 8px #1c221c59}.map-dot:after{content:"";position:absolute;inset:-9px;border-radius:50%;border:2px solid var(--sage);opacity:0;animation:mapping 2.2s ease-out infinite}@keyframes mapping{0%{transform:scale(.5);opacity:.8}to{transform:scale(1.6);opacity:0}}@keyframes zoneping{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.6);opacity:1}}.zone-panel[hidden]{display:none}.benefit-card{transition:background .25s,border-color .25s}.benefit-card:hover{background:var(--sage)!important;border-color:var(--sage)!important}.benefit-card:hover .benefit-title,.benefit-card:hover .benefit-desc{color:#fff!important}.benefit-card:hover .benefit-icon{stroke:#fff!important}.price-btn{display:block;text-align:center;font-size:calc(12px * var(--ts));font-weight:500;padding:11px;border-radius:999px;border:1px solid var(--border);color:var(--dark);text-decoration:none;transition:background .2s,border-color .2s,color .2s}.price-btn:hover{background:var(--dark);color:#fff;border-color:var(--dark)}.price-btn-pop{display:block;text-align:center;font-size:calc(12px * var(--ts));font-weight:500;padding:11px;border-radius:999px;border:1px solid var(--dark);background:var(--dark);color:#fff;text-decoration:none;transition:opacity .2s}.price-btn-pop:hover{opacity:.88}.field-label{font-size:calc(11px * var(--ts));font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#ffffffd9}.field{background:var(--white);border:1px solid var(--border);border-radius:4px;padding:11px 14px;font-family:var(--body);font-size:calc(14px * var(--ts));font-weight:300;color:var(--dark);outline:none;appearance:none;-webkit-appearance:none;transition:border-color .2s}.field:focus{border-color:var(--sage)}.avail{border:0;padding:0;margin:4px 0 0;min-width:0}.avail legend{padding:0;margin-bottom:8px}.avail-hint{font-size:calc(12px * var(--ts));font-weight:300;color:#fff9;margin-top:10px;line-height:1.5}.avail-pills{display:flex;flex-wrap:wrap;gap:8px}.avail-pill{position:relative;cursor:pointer}.avail-pill input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.avail-pill span{display:inline-flex;align-items:center;gap:6px;font-size:calc(13px * var(--ts));font-weight:400;color:#fff;padding:8px 14px;border:1px solid rgba(255,255,255,.4);border-radius:999px;transition:background .15s,color .15s,border-color .15s}.avail-pill:hover span{border-color:#fff}.avail-pill input:checked+span{background:#fff;color:var(--sage);border-color:#fff;font-weight:500}.avail-pill input:checked+span:before{content:"✓";font-weight:600}.avail-pill input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}.btn-submit{padding:13px 28px;border-radius:999px;background:var(--dark);color:#fff;font-family:var(--body);font-size:calc(13px * var(--ts));font-weight:500;letter-spacing:.04em;border:none;cursor:pointer;align-self:flex-start;transition:background .2s,transform .15s}.btn-submit:hover{background:#fff;color:var(--dark);transform:translateY(-1px)}.hfaq-icon{transition:transform .3s}.hfaq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s}.hfaq-item[data-open=true] .hfaq-icon{transform:rotate(45deg)}.hfaq-item[data-open=true] .hfaq-answer{max-height:700px;padding-bottom:20px}.btn-white{font-size:calc(13px * var(--ts));font-weight:500;padding:14px 32px;border-radius:999px;background:var(--white);color:var(--sage);text-decoration:none;white-space:nowrap;flex-shrink:0;transition:background .2s,color .2s}.btn-white:hover{background:var(--dark);color:var(--white)}.pwa-floating{position:fixed;bottom:24px;right:24px;z-index:50;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .3s,transform .3s}.pwa-floating.show{opacity:1;pointer-events:all;transform:none}.pwa-floating a{display:flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;background:var(--dark);color:var(--white);font-size:calc(12px * var(--ts));font-weight:500;letter-spacing:.04em;text-decoration:none;box-shadow:0 4px 24px #00000026;transition:background .2s}.pwa-floating a:hover{background:var(--sage)}.pwa-wa{position:fixed;bottom:84px;right:24px;z-index:50;width:52px;height:52px;border-radius:999px;background:#25d366;display:none;align-items:center;justify-content:center;box-shadow:0 4px 16px #0000002e;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .3s,transform .3s,box-shadow .2s}.pwa-wa.show{opacity:1;pointer-events:all;transform:none}.pwa-wa:hover{box-shadow:0 6px 20px #25d36666}@media(max-width:768px){.pwa-wa{display:flex}}.pwa-footer{background:var(--dark);padding:56px 48px 36px}.footer-link{font-size:calc(13px * var(--ts));color:#ffffff59;text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--white)}.footer-h{font-size:calc(10px * var(--ts));font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-mid);margin-bottom:16px}.pill{display:inline-flex;align-items:center;gap:7px;font-size:calc(10px * var(--ts));font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:7px 15px;border-radius:999px;border:1px solid var(--border);background:var(--white);color:var(--muted);text-decoration:none;transition:background .2s,color .2s,border-color .2s}.pill:hover{border-color:var(--sage-mid);color:var(--sage)}.subnav{position:sticky;top:64px;z-index:40;background:#fafaf8f0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.subnav-inner{max-width:var(--maxw);margin:0 auto;padding:14px 48px;display:flex;gap:10px;flex-wrap:wrap}.page-section[id]{scroll-margin-top:120px}.faq-item{border-bottom:1px solid var(--border)}.faq-btn{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 0;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--body);color:var(--dark);transition:color .2s}.faq-btn:hover{color:var(--sage)}.faq-answer{overflow:hidden;max-height:0;transition:max-height .45s cubic-bezier(.4,0,.2,1)}.faq-item[data-open=true] .faq-answer{max-height:1400px}.btn-sage{display:inline-block;font-size:calc(13px * var(--ts));font-weight:500;padding:14px 32px;border-radius:999px;background:var(--sage);color:#fff;text-decoration:none;letter-spacing:.03em;transition:background .2s,color .2s,transform .15s}.btn-sage:hover{background:#fff;color:var(--dark);transform:translateY(-1px)}.ml-legal h3{font-family:var(--display);font-size:calc(20px * var(--ts-md));font-weight:400;color:var(--dark);margin:30px 0 8px}.ml-legal p{font-size:calc(15px * var(--ts));font-weight:300;color:var(--muted);line-height:1.78;margin-bottom:12px}.ml-legal strong{font-weight:500;color:var(--dark)}.ml-legal a{color:var(--dark);text-decoration:none}.ml-legal a.btn-dark{display:inline-block;color:var(--white)}.ml-art{font-family:var(--display);font-size:calc(17px * var(--ts));font-weight:400;color:var(--dark);margin:26px 0 6px}@media(max-width:680px){:root{--ts:1.2;--ts-md:1.05}}@media(max-width:1024px){.pwa-navlinks{display:none!important}.pwa-burger{display:flex!important}.pwa-hero{padding-top:100px!important;padding-bottom:60px!important}.pwa-locstrip{padding-top:12px!important;padding-bottom:12px!important}.pwa-stat{padding:24px!important}.pwa-section{padding-top:56px!important;padding-bottom:56px!important}.pwa-aboutgrid{grid-template-columns:1fr!important;gap:48px!important}.pwa-tagbox{right:0!important}.pwa-coursesgrid{grid-template-columns:1fr!important}.pwa-wheregrid{grid-template-columns:1fr!important;gap:16px!important}.pwa-pricinggrid{grid-template-columns:1fr 1fr!important}.pwa-reviewsgrid{grid-template-columns:1fr!important}.pwa-contactgrid{grid-template-columns:1fr!important;gap:40px!important}.pwa-ctaband{padding-top:48px!important;padding-bottom:48px!important;flex-direction:column!important;align-items:flex-start!important}.pwa-ctabtn{width:100%!important;text-align:center!important}.pwa-footertop{grid-template-columns:1fr 1fr!important;gap:32px!important}.pwa-footerbottom{flex-direction:column!important;gap:8px!important;text-align:center!important}}@media(max-width:900px){.pwa-strengthgrid{grid-template-columns:1fr!important;gap:32px!important}.pwa-benefitsgrid{grid-template-columns:1fr!important}}@media(max-width:760px){.where-card,.pwa-philgallery{grid-template-columns:1fr!important}}@media(max-width:680px){.pwa-hero,.pwa-locstrip,.pwa-stats,.pwa-section,.pwa-ctaband,.pwa-footer{padding-left:24px!important;padding-right:24px!important}.pwa-navinner{padding-left:24px;padding-right:24px}.page-section,.subnav-inner{padding-left:24px!important;padding-right:24px!important}}@media(max-width:640px){.pwa-stats{grid-template-columns:1fr!important}.pwa-stat{border-right:none!important;border-bottom:1px solid var(--border)!important}.pwa-pricinggrid,.pwa-formrow,.pwa-footertop{grid-template-columns:1fr!important}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.anim-up{animation:none!important;opacity:1!important}.reveal{opacity:1!important;transform:none!important;transition:none!important}.stretch-word,.zone,.faq-answer,.hfaq-answer,.hfaq-icon{transition:none!important}.zone.active,.zone-dot,.map-dot:after{animation:none!important}}.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}.form-privacy{font-size:calc(11px * var(--ts));font-weight:300;color:#ffffff8c;line-height:1.5}.form-privacy a{color:#fffc}.btn-submit:disabled{opacity:.6;cursor:wait;transform:none}.wa-link{display:inline-flex;align-items:center;gap:10px;margin-top:28px;font-size:calc(14px * var(--ts));font-weight:500;color:#fff;text-decoration:none;padding:12px 20px;border:1px solid rgba(255,255,255,.4);border-radius:999px;transition:background .2s,color .2s,border-color .2s}.wa-link:hover{background:#fff;color:var(--sage);border-color:#fff}
