@font-face{font-family:Dancing Script;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dancingscript-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Dancing Script;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dancingscript-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Dancing Script;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/dancingscript-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Dancing Script;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/dancingscript-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/lato-400italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/lato-400italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lato-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lato-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/lato-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/lato-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--cream: #f6f4ec;--sand: #e6e4d6;--sand2: #c7cab5;--ink: #34362f;--brown: #3f4f3d;--taupe: #7c8a6a;--taupe-d: #5b6650;--border: #d8d8c6;--max: 1100px;--radius: 2px;--font-script: "Dancing Script", cursive;--font-body: "Lato", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}picture{display:contents}a{color:inherit;text-decoration:none}.script{font-family:var(--font-script);font-weight:600;line-height:1.1}.wrap{max-width:var(--max);margin:0 auto;padding:0 1.5rem}.btn{display:inline-block;font-family:var(--font-body);font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;padding:.85rem 1.9rem;border-radius:var(--radius);background:var(--brown);color:#fff;border:1px solid var(--brown);cursor:pointer;transition:background .2s ease,color .2s ease}.btn:hover{background:transparent;color:var(--brown)}.btn--light{background:transparent;color:#fff;border-color:#ffffffb3}.btn--light:hover{background:#fff;color:var(--brown);border-color:#fff}.btn--ghost{background:transparent;color:var(--brown)}.btn--ghost:hover{background:var(--brown);color:#fff}.site-header{position:sticky;top:0;z-index:50;background:#f5f3edeb;backdrop-filter:blur(6px);border-bottom:1px solid var(--border)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:1rem}.brand{font-family:var(--font-script);font-weight:600;font-size:1.7rem;color:var(--brown);display:flex;align-items:center;gap:.6rem;min-height:44px}.brand__icon{height:42px;width:auto}.brand__name{line-height:1}.nav{display:flex;align-items:center;gap:1.4rem}.nav a{font-size:.92rem;letter-spacing:.02em;color:var(--taupe-d);transition:color .2s ease}.nav a:hover{color:var(--brown)}.nav a.is-cta{color:var(--brown);font-weight:700}.lang{display:flex;gap:.45rem;font-size:.875rem;color:var(--taupe-d);border-left:1px solid var(--border);padding-left:1.1rem}.lang a.is-active{color:var(--brown);font-weight:700}.nav-toggle{display:none;background:none;border:none;font-size:1.6rem;color:var(--brown);cursor:pointer;min-width:44px;min-height:44px;padding:0}.hero{position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}.hero__overlay{position:absolute;inset:0;background:#3e36316b}.hero__inner{position:relative;z-index:2;padding:2rem 1.5rem;max-width:720px}.hero__title{font-family:var(--font-script);font-weight:600;font-size:clamp(2.6rem,6vw,4.6rem);margin:0;text-shadow:0 2px 18px rgba(0,0,0,.35)}.hero__subtitle{font-style:italic;font-size:clamp(1rem,2vw,1.2rem);margin:1rem auto 1.8rem;max-width:460px;text-shadow:0 1px 12px rgba(0,0,0,.4)}.section{padding:4.5rem 0}.band{background:var(--sand);text-align:center;padding:3.5rem 0}.band__quote{font-family:var(--font-script);font-weight:500;font-size:clamp(1.6rem,3.4vw,2.5rem);color:var(--brown);margin:0 auto;max-width:760px}.section-title{font-family:var(--font-script);font-weight:600;font-size:clamp(2rem,4vw,2.8rem);color:var(--brown);text-align:center;margin:0 0 2.5rem}.about{display:grid;grid-template-columns:280px 1fr;gap:2.5rem;align-items:center}.about__img{width:100%;height:360px;object-fit:cover;border-radius:var(--radius)}.about__title{font-family:var(--font-script);font-weight:600;font-size:clamp(1.8rem,3.5vw,2.4rem);color:var(--brown);margin:0 0 .8rem}.about p{color:var(--taupe-d);margin:0 0 1rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #3f4f3d1f}.card__img{width:100%;height:200px;object-fit:cover}.card__body{padding:1.3rem 1.4rem 1.6rem}.card__title{font-family:var(--font-script);font-weight:600;font-size:1.6rem;color:var(--brown);margin:0 0 .2rem}.card__sub{font-size:.95rem;color:var(--ink);margin:0 0 .3rem}.card__desc{font-size:.92rem;color:var(--taupe-d);margin:0}.card__more{display:inline-block;margin-top:1rem;font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--taupe-d)}.closing{background:var(--sand2);text-align:center;padding:4rem 1.5rem}.closing__title{font-family:var(--font-script);font-weight:600;font-size:clamp(1.8rem,3.5vw,2.4rem);color:var(--brown);margin:0 0 .4rem}.closing__text{color:var(--brown);margin:0 0 1.6rem}.page-hero{position:relative;min-height:52vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}.page-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}.page-hero__overlay{position:absolute;inset:0;background:#3e363170}.page-hero__inner{position:relative;z-index:2;padding:2rem 1.5rem;max-width:680px}.page-hero__title{font-family:var(--font-script);font-weight:600;font-size:clamp(2.4rem,5vw,3.8rem);margin:0;text-shadow:0 2px 18px rgba(0,0,0,.35)}.page-hero__lead{font-style:italic;font-size:clamp(1rem,2vw,1.15rem);margin:.8rem 0 0;text-shadow:0 1px 12px rgba(0,0,0,.4)}.page-hero__cat{font-size:.875rem;letter-spacing:.14em;text-transform:uppercase;margin:1rem 0 0;opacity:.95}.section--alt{background:var(--sand)}.prose{max-width:760px;margin:0 auto}.prose--narrow{max-width:720px}.prose p{margin:0 0 1.1rem;color:var(--ink)}.center{text-align:center;margin-top:2rem}.detail-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem}.tags{display:flex;gap:.6rem;justify-content:center;margin-bottom:1.8rem}.tag{font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brown);border:1px solid var(--taupe);border-radius:var(--radius);padding:.35rem 1rem}.tag--link{transition:background .2s ease,color .2s ease}.tag--link:hover{background:var(--brown);color:#fff;border-color:var(--brown)}.detail-block{margin-bottom:2.2rem}.detail-block__heading{font-family:var(--font-script);font-weight:600;font-size:1.7rem;color:var(--brown);margin:0 0 .7rem}.detail-lead{font-weight:700;color:var(--brown);margin:0 0 .6rem}.detail-list{margin:0 0 1.1rem;padding-left:1.2rem}.detail-list li{color:var(--taupe-d);padding:.2rem 0}.detail-back{margin-top:2.5rem;text-align:center}.detail-back a{color:var(--taupe-d);font-size:.9rem;letter-spacing:.03em}.detail-back a:hover{color:var(--brown)}.info-box{max-width:460px;margin:2.5rem auto 0;background:var(--sand);border:1px solid var(--border);border-radius:var(--radius);padding:1.8rem 2rem;text-align:center}.info-box h3{font-family:var(--font-script);font-weight:600;font-size:1.5rem;color:var(--brown);margin:0 0 1rem}.info-rows{list-style:none;margin:0 0 1.2rem;padding:0}.info-rows li{padding:.3rem 0;color:var(--taupe-d)}.info-label{font-weight:700;color:var(--brown)}.info-note{color:var(--taupe-d);margin:0 0 1.2rem}.legal{padding-top:3rem}.legal__title{font-family:var(--font-script);font-weight:600;font-size:clamp(2rem,4vw,2.8rem);color:var(--brown);margin:0 0 1.8rem}.legal-contact{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.legal-contact p{margin:.15rem 0;color:var(--taupe-d)}.legal-contact .addr{color:var(--ink)}.legal-section{margin-bottom:1.8rem}.legal-section__heading{font-family:var(--font-body);font-weight:700;font-size:1.05rem;color:var(--brown);margin:0 0 .6rem}.legal-section p{color:var(--taupe-d);margin:0 0 .8rem}.price-groups{max-width:540px;margin:0 auto;display:grid;gap:1.6rem}.price-group h3{font-family:var(--font-body);font-weight:700;font-size:1rem;color:var(--brown);margin:0 0 .6rem;text-align:center}.price-rows{list-style:none;margin:0;padding:0}.price-rows li{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border);color:var(--taupe-d)}.price-amount{font-weight:700;color:var(--brown)}.price-lines{list-style:none;margin:0;padding:0;text-align:center;color:var(--taupe-d)}.price-lines li{padding:.25rem 0}.price-note{max-width:540px;margin:1.4rem auto 0;font-size:.88rem;color:var(--taupe-d);text-align:center}.group-info{max-width:540px;margin:2.5rem auto 0;text-align:center;border-top:1px solid var(--border);padding-top:1.6rem}.group-info h3{font-family:var(--font-script);font-weight:600;font-size:1.4rem;color:var(--brown);margin:0 0 .5rem}.group-info p{margin:.2rem 0;color:var(--taupe-d);font-size:.92rem}.testimonial{max-width:720px;margin:0 auto;padding:0;text-align:center}.testimonial p{font-style:italic;color:var(--ink);margin:0 0 .8rem}.testimonial cite{font-style:normal;font-weight:700;font-size:.9rem;color:var(--taupe-d)}.testimonial-slider{max-width:760px;margin:0 auto}.testimonial-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.testimonial-track::-webkit-scrollbar{display:none}.testimonial-track .testimonial{flex:0 0 100%;max-width:none;scroll-snap-align:start;padding:0 1.2rem;box-sizing:border-box}.testimonial-dots{display:flex;justify-content:center;gap:0;margin-top:1.4rem}.testimonial-dot{width:44px;height:44px;padding:0;border:none;background:none;position:relative;cursor:pointer}.testimonial-dot:before{content:"";position:absolute;top:50%;left:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--taupe-d);opacity:.35;transition:opacity .2s ease,transform .2s ease,background .2s ease}.testimonial-dot:hover:before{opacity:.6}.testimonial-dot.is-active:before{opacity:1;transform:scale(1.3);background:var(--brown)}.about-section{margin-bottom:2.2rem}.about-section__heading{font-family:var(--font-script);font-weight:600;font-size:1.7rem;color:var(--brown);margin:0 0 .6rem}.learning-intro{max-width:720px;margin:0 auto 2rem;text-align:center;color:var(--taupe-d)}.learning-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.8rem;max-width:960px;margin:0 auto}.learning-group h3{font-family:var(--font-body);font-weight:700;font-size:.95rem;color:var(--brown);border-bottom:1px solid var(--border);padding-bottom:.5rem;margin:0 0 .8rem}.learning-group ul{list-style:none;margin:0;padding:0}.learning-group li{display:flex;gap:.4rem;font-size:.9rem;color:var(--taupe-d);line-height:1.45;padding:.3rem 0}.learning-year{white-space:nowrap;flex:0 0 auto}.learning-sep{flex:0 0 auto}.learning-desc{flex:1;min-width:0}.cards--two{grid-template-columns:repeat(auto-fit,minmax(300px,360px));max-width:720px;margin:0 auto;justify-content:center}.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:start;max-width:920px}.contact-intro p{color:var(--taupe-d);margin:0 0 1rem}.contact-signature{font-family:var(--font-script);font-size:1.5rem;color:var(--brown)}.contact-direct{list-style:none;padding:0;margin:1.5rem 0 0}.contact-direct li{padding:.2rem 0;color:var(--brown);font-weight:700}.contact-form{display:flex;flex-direction:column;gap:1rem}.contact-form[hidden]{display:none}.contact-form label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;color:var(--taupe-d)}.contact-form .req{color:var(--taupe-d)}.contact-form input,.contact-form textarea{font-family:var(--font-body);font-size:1rem;padding:.7rem .9rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--ink)}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--taupe)}.contact-form .hp-honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.contact-form .btn{align-self:flex-start;margin-top:.5rem}.contact-form .btn[disabled]{cursor:progress;opacity:.75}.contact-form .btn[disabled]:hover{background:var(--brown);color:#fff}.btn-spinner{display:inline-block;width:.85em;height:.85em;margin-right:.5em;vertical-align:-.1em;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.btn-spinner{animation-duration:1.6s}}.form-status:empty{display:none}.form-status{border-radius:var(--radius);padding:1.2rem 1.4rem;outline:none}.form-status.is-success{background:#eef3ec;border:1px solid #cdd9c4}.form-status.is-error{background:#f6ecea;border:1px solid #e3cbc4}.form-status__title{font-family:var(--font-script);font-size:1.6rem;color:var(--brown);margin:0 0 .3rem}.form-status__text{margin:0;color:var(--ink)}.form-status__fallback{margin:.6rem 0 0;font-size:.9rem;color:var(--taupe-d)}.form-status__fallback a{color:var(--brown);text-decoration:underline}.form-status .form-retry{margin-top:.9rem}.site-footer{background:#2e3a2c;color:#d3d8c4}.site-footer .wrap{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1.6rem;padding-top:2.4rem;padding-bottom:2.4rem;font-size:.9rem}.footer-col{display:flex;flex-direction:column;gap:.1rem}.site-footer .brand{color:#e9ecdc;font-size:1.5rem}.site-footer .social{display:block}.footer-contact p{margin:0}.footer-contact span{color:#b8c0a5}.footer-address{display:flex;flex-direction:column}.footer-address .addr-line{color:#d3d8c4}.footer-legal{text-align:right}.footer-legal p{margin:0}.site-footer a{color:#d3d8c4;display:inline-block;padding:.65rem .5rem}.footer-address .addr-line{padding:.15rem 0}.site-footer a:hover{color:#fff}@media(max-width:820px){.nav-toggle{display:block}.nav{position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:.2rem;background:var(--cream);border-bottom:1px solid var(--border);padding:.8rem 1.5rem 1.4rem;display:none}.nav.is-open{display:flex}.nav a{padding:.5rem 0;width:100%}.lang{border-left:none;padding-left:0;margin-top:.5rem}.about{grid-template-columns:1fr;text-align:center}.about__img{height:300px;max-width:280px;margin:0 auto}.cards{grid-template-columns:1fr;max-width:380px;margin:0 auto}.cards--two{grid-template-columns:1fr;max-width:380px}.contact-layout{grid-template-columns:1fr;gap:2rem}.footer-legal{text-align:left}.site-footer .wrap{flex-direction:column}.hero__img{object-position:22% 35%}}.notfound{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.5rem}.notfound__brand{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:2.5rem}.notfound__logo{width:48px;height:auto}.notfound__brandname{font-family:var(--font-script);font-size:1.7rem;color:var(--brown)}.notfound__code{font-family:var(--font-script);font-size:clamp(4rem,14vw,7rem);line-height:1;color:var(--sand2);margin:0}.notfound__title{font-family:var(--font-script);font-weight:600;font-size:clamp(1.7rem,4vw,2.4rem);color:var(--brown);margin:.4rem 0 .6rem}.notfound__text{color:var(--taupe-d);max-width:30rem;margin:0 auto 2rem}.notfound__links{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}
