@import "https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;600;700&family=Quicksand:wght@400;600;700&display=swap";
*{box-sizing:border-box;margin:0;padding:0}:root{--font-body:"Nunito",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;--font-display:"Quicksand",var(--font-body);--color-sand:#d4cdbd;--color-sky:#a9b5ba;--color-light-green:#c7d2ab;--color-olive:#76805d;--color-wood:#c8ac94;--color-purple:#9b7cb6;--color-white:#fff;--color-dark:#333;--color-gray:#666;--color-light-gray:#f5f5f5}body{font-family:var(--font-body);color:#333;background-color:#fefefe;line-height:1.6}img{max-width:100%;height:auto;display:block}.container{max-width:1200px;margin:0 auto;padding:0 20px}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-dark);letter-spacing:.2px;margin-bottom:1rem;font-weight:700}h1{font-size:2.6rem;line-height:1.25}h2{font-size:2rem;line-height:1.3}h3{font-size:1.4rem;font-weight:600;line-height:1.35}p{color:var(--color-gray);margin-bottom:1rem}.btn{text-align:center;cursor:pointer;border:2px solid #0000;border-radius:25px;padding:12px 24px;font-size:1rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block}.btn-sm{padding:6px 14px;font-size:.9rem}.btn-primary{background-color:var(--color-light-green);color:var(--color-dark);border-color:var(--color-light-green)}.btn-primary:hover{background-color:var(--color-olive);border-color:var(--color-olive);color:var(--color-white);transform:translateY(-2px)}.btn-secondary{color:var(--color-dark);border-color:var(--color-light-green);background-color:#0000}.btn-secondary:hover{background-color:var(--color-light-green);color:var(--color-dark);transform:translateY(-2px)}.cookie-consent-banner .btn-secondary{color:var(--color-white);border-color:var(--color-gray)}.cookie-consent-banner .btn-secondary:hover{background-color:var(--color-white);color:var(--color-dark);border-color:var(--color-white)}.btn-primary-outline{color:var(--color-olive);border-color:var(--color-olive);background-color:#0000;padding:8px 16px}.nav-menu a.btn-primary-outline:hover{background-color:var(--color-olive);color:var(--color-white)}.header{background-color:var(--color-white);z-index:1000;position:sticky;top:0;box-shadow:0 1px 6px #0000000f}.nav-content{justify-content:space-between;align-items:center;padding:.1rem 0;display:flex}.logo{color:var(--color-dark);align-items:center;text-decoration:none;display:flex}.logo a{color:inherit;align-items:center;text-decoration:none;display:flex}.logo-image{object-fit:contain;width:60px;height:auto;margin-right:8px;display:inline-block}.logo-text{font-family:var(--font-display);color:var(--color-purple);letter-spacing:.6px;font-size:1rem;font-weight:700;line-height:1;display:inline-block}.nav-menu{align-items:center;gap:.8rem;list-style:none;display:flex}.nav-menu a{color:var(--color-dark);font-weight:700;font-family:var(--font-body);font-size:.9rem;text-decoration:none;transition:color .3s;position:relative}.nav-menu a:hover,.nav-menu a.active{color:var(--color-olive)}.nav-menu a:not(.btn):after{content:"";background-color:var(--color-olive);width:0;height:2px;transition:width .3s;position:absolute;bottom:-5px;left:0}.nav-menu a:hover:after,.nav-menu a.active:after{width:100%}.nav-toggle{cursor:pointer;flex-direction:column;display:none}.nav-toggle span{background-color:var(--color-dark);width:25px;height:3px;margin:3px 0;transition:all .3s}.nav-toggle.active span:first-child{transform:rotate(-45deg)translate(-5px,5px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(45deg)translate(-5px,-5px)}.mobile-menu-header-item,.mobile-btn-container,.nav-close{display:none}body.menu-open{overflow:hidden}body.menu-open:before{content:"";z-index:1001;background-color:#00000080;width:100%;height:100%;position:fixed;top:0;left:0}body.menu-open .header{z-index:1002}.hero{align-items:flex-start;min-height:85vh;padding:4rem 0 6rem;display:flex;position:relative;overflow:clip}.hero:after{content:"";pointer-events:none;background:linear-gradient(#fff9 0%,#ffffff59 40%,#ffffff40 100%);position:absolute;inset:0}.hero:before{content:"";pointer-events:none;background:linear-gradient(90deg,#00000038 0%,#0000001f 35%,#0000000f 55%,#0000 75%);position:absolute;inset:0}.hero-bg{z-index:0;position:absolute;inset:0}.hero-bg-image{object-fit:cover;object-position:center bottom;width:100%;height:100%}.hero-content{z-index:1;text-align:left;grid-template-columns:1fr;place-items:start;gap:1.75rem;display:grid;position:relative}.hero-text{-webkit-backdrop-filter:none;background:0 0;border-radius:0;padding:0}.hero .container{margin-left:auto!important;margin-right:auto!important;padding-left:24px!important}.hero-text h1{color:var(--color-dark);letter-spacing:.2px;text-shadow:0 1px 3px #00000014;margin-bottom:1rem}.hero-text p{color:var(--color-gray);font-size:1.1rem;font-family:var(--font-body);max-width:720px;margin-bottom:2rem}.hero-buttons{flex-wrap:wrap;gap:1rem;display:flex}@media (min-width:1200px){.hero-text{margin-left:calc(-50vw + 600px);padding-left:40px}}section{padding:4rem 0}section h2{text-align:center;color:var(--color-dark);margin-bottom:3rem}.about{background-color:var(--color-white)}.benefit-card{background-color:var(--color-light-gray);text-align:center;border:2px solid #0000;border-radius:15px;padding:2rem;transition:transform .3s}.benefit-card:hover{border-color:var(--color-light-green);transform:translateY(-5px)}.benefit-icon{margin-bottom:1rem;font-size:3rem}.benefit-icon i{display:inline-block}.carousel{padding-bottom:3rem;position:relative;overflow:hidden}.carousel-track{will-change:transform;transition:transform .5s;display:flex}.carousel-slide{flex:0 0 100%;padding:.25rem}.carousel .benefit-card{height:100%}.carousel-dots{justify-content:center;gap:12px;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.carousel-dot{background:var(--color-sand);cursor:pointer;border:2px solid #0000;border-radius:50%;width:12px;height:12px;transition:all .3s}.carousel-dot:hover{background:var(--color-light-green)}.carousel-dot.active{background:var(--color-olive);border-color:var(--color-olive);transform:scale(1.1)}@media (min-width:640px){.carousel-slide{flex-basis:50%}}@media (min-width:1024px){.carousel-slide{flex-basis:33.3333%}}.classes{background-color:var(--color-white)}.classes-preview{background-color:var(--color-light-gray)}.classes-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:3rem;display:grid}.class-card{text-align:center;border:2px solid var(--color-olive);background:linear-gradient(135deg,#c7d2ab66,#c7d2ab40);border-radius:15px;padding:2.5rem;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 12px #00000014}.class-card:hover{transform:translateY(-8px);box-shadow:0 8px 20px #76805d33}.class-image{margin-bottom:1.5rem}.class-image img{object-fit:cover;border-radius:12px;width:100%;height:300px}.class-schedule{margin-top:1rem}.class-schedule h4{margin-bottom:.5rem;font-size:1rem}.gallery-preview{background-color:var(--color-white)}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:3rem;display:grid}.gallery-item{aspect-ratio:1;border-radius:15px;transition:transform .3s;overflow:hidden}.gallery-item img{object-fit:cover;cursor:zoom-in;width:100%;height:100%}.gallery-item:hover{transform:scale(1.05)}.cta{color:var(--color-dark);text-align:center;background:linear-gradient(135deg,#76805d1f,#c8ac941f);padding:2.5rem 0}.cta h2{color:var(--color-dark);font-size:clamp(1.5rem,2.2vw,1.75rem)}.cta p{color:var(--color-gray);opacity:1;font-size:1rem;font-family:var(--font-body);margin-bottom:1.25rem}.cta-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.cta-content{max-width:800px;margin:0 auto}@media (max-width:768px){.cta{padding:2rem 0}.cta p{margin-bottom:1rem;font-size:.95rem}}.contact{background-color:var(--color-light-gray)}.contact h1{text-align:center;margin-bottom:3rem}.contact-content{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.contact-info h3{color:var(--color-dark);margin-bottom:2rem}.contact-item{align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.contact-item i{color:var(--color-purple);stroke-width:2px;width:24px;height:24px;margin-top:.25rem;font-size:1.5rem}.contact-item h4{color:var(--color-dark);margin-bottom:.5rem}.contact-item p{color:var(--color-gray);margin-bottom:0}.contact-item a{color:var(--color-dark);text-decoration:none;transition:color .3s}.contact-item a:hover{color:var(--color-olive);text-decoration:underline}.contact-form h3{color:var(--color-dark);margin-bottom:2rem}.contact-map{margin-top:2rem}.contact-map h3{color:var(--color-dark);margin-bottom:1rem}.map-embed{background-color:#e9ecef;border-radius:12px;width:100%;padding-top:56.25%;position:relative;overflow:hidden;box-shadow:0 6px 16px #0000000f}.map-embed iframe{width:100%;height:100%;position:absolute;top:0;left:0}.form-group{margin-bottom:1.5rem}.form-group input,.form-group textarea,.form-group select{border:2px solid var(--color-sand);width:100%;font-size:1rem;font-family:var(--font-body);border-radius:8px;padding:12px 16px;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-purple);outline:none}.form-message{text-align:center;border-radius:8px;margin-top:1rem;padding:1rem;font-weight:700}.form-message.success{background-color:var(--color-light-green);color:var(--color-dark)}.form-message.error{color:#c62828;background-color:#ffebee}.footer{background-color:var(--color-dark);color:var(--color-white);padding:3rem 0 1rem}.footer-content{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2.5rem;margin-bottom:2rem;display:grid}.footer-logo p{color:var(--color-sand);max-width:300px;margin-top:1rem}.footer h4{color:var(--color-light-green);font-family:var(--font-display);margin-bottom:1rem;font-size:1.1rem}.footer-links ul{list-style:none}.footer-links li{margin-bottom:.5rem}.footer-links a{color:var(--color-sand);font-family:var(--font-body);text-decoration:none;transition:color .3s}.footer-links a:hover{color:var(--color-light-green)}.social-links{gap:1rem;display:flex}.social-links a{background-color:var(--color-light-green);width:40px;height:40px;color:var(--color-dark);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:all .3s;display:flex}.social-links a:hover{background-color:var(--color-purple);color:var(--color-white);transform:translateY(-2px)}.footer-bottom{text-align:center;border-top:1px solid var(--color-gray);padding-top:2rem}.footer-bottom p{color:var(--color-gray);margin:0;font-size:.9rem}.cookie-consent-banner{background-color:var(--color-dark);width:100%;color:var(--color-white);z-index:1001;padding:1.5rem 0;display:none;position:fixed;bottom:0;left:0;box-shadow:0 -2px 10px #0000001a}.cookie-consent-banner.visible{display:block}.cookie-consent-banner .container{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.cookie-consent-banner p{color:var(--color-sand);margin:0}.cookie-consent-banner a{color:var(--color-light-green);text-decoration:underline}.cookie-consent-buttons{flex-shrink:0;gap:1rem;display:flex}.page-hero{text-align:center;min-height:30vh;color:var(--color-white);background-position:50%;background-size:cover;justify-content:center;align-items:center;padding:2.5rem 0;display:flex;position:relative}.page-hero:after{content:"";background:linear-gradient(#0000008c 0%,#00000059 100%);position:absolute;inset:0}.page-hero .container{z-index:1;position:relative}.page-hero h1{color:var(--color-white);text-shadow:0 2px 10px #00000059;margin-bottom:.5rem;font-size:1.8rem}.page-hero p{color:#ffffffeb;text-shadow:0 2px 10px #00000059;font-size:1rem}@media (min-width:769px){.page-hero{min-height:40vh;padding:4rem 0}.page-hero h1{font-size:2.4rem}.page-hero p{font-size:1.1rem}}.founder-section{background:linear-gradient(135deg,#c7d2ab2e,#c8ac941a)}.founder-title{text-align:center;margin-bottom:2rem}.founder-grid{grid-template-columns:1fr;align-items:start;gap:1.5rem;display:grid}.founder-image{background:var(--color-white);border:1px solid #d4cdbde6;border-radius:18px;overflow:hidden;box-shadow:0 10px 24px #0000000f}.founder-photo{aspect-ratio:4/5;object-fit:cover;object-position:center;width:100%;height:auto;display:block}.founder-card{background:var(--color-white);border:1px solid #d4cdbde6;border-radius:18px;padding:1.5rem;box-shadow:0 10px 24px #0000000f}.founder-lead{color:var(--color-dark);margin-bottom:1rem;font-weight:700}.founder-card p{line-height:1.85}.founder-card strong{color:var(--color-olive)}@media (min-width:900px){.founder-title{text-align:left;margin-bottom:2.5rem}.founder-grid{grid-template-columns:minmax(280px,420px) 1fr;align-items:center;gap:2.5rem}.founder-card{padding:2rem}}.testimonials{background-color:var(--color-light-gray)}.philosophy-section{background-color:var(--color-white)}.philosophy-section .container{max-width:1100px}.philosophy-grid{grid-template-columns:1fr;gap:1.25rem;display:grid}.philosophy-item{background:linear-gradient(135deg,#c7d2ab29,#ffffffe6);border:1px solid #d4cdbde6;border-radius:16px;padding:1.25rem;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 24px #0000000d}.philosophy-item:hover{transform:translateY(-2px);box-shadow:0 14px 30px #00000012}.philosophy-icon-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.philosophy-icon-header svg{width:28px;height:28px;color:var(--color-olive);flex-shrink:0}.philosophy-icon-header strong{color:var(--color-dark);font-family:var(--font-display);letter-spacing:.2px;font-size:1.05rem}.philosophy-text p{color:var(--color-gray);margin:0;line-height:1.75}@media (min-width:700px){.philosophy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}}@media (min-width:1024px){.philosophy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.philosophy-item{padding:1.5rem}}.testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.testimonial-card{background-color:var(--color-white);border:1px solid var(--color-sand);border-radius:15px;flex-direction:column;justify-content:space-between;padding:2.5rem;display:flex;position:relative}.testimonial-quote{width:36px;height:36px;color:var(--color-light-green);opacity:.8;position:absolute;top:1.5rem;left:1.5rem}.testimonial-content p{color:var(--color-dark);margin:0;padding-top:1.5rem;font-style:italic}.testimonial-author{border-top:1px solid var(--color-sand);margin-top:1.5rem;padding-top:1.5rem}.author-info h4{margin-bottom:.25rem;font-size:1rem}.author-info p{color:var(--color-gray);margin:0;font-size:.9rem}.lightbox-overlay{z-index:2000;background:#000000d9;justify-content:center;align-items:center;padding:1.5rem;display:none;position:fixed;inset:0}.lightbox-overlay.active{display:flex}.lightbox-content{max-width:min(96vw,1200px);max-height:90vh;position:relative}.lightbox-image{object-fit:contain;border-radius:10px;width:auto;max-width:100%;height:auto;max-height:90vh;box-shadow:0 10px 30px #0006}.lightbox-close,.lightbox-prev,.lightbox-next{color:var(--color-dark);border:1px solid var(--color-sand);cursor:pointer;background:#ffffffd9;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:background .2s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:-56px}.lightbox-next{right:-56px}.lightbox-close{position:fixed;top:12px;right:12px;transform:none}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:#fff}@media (max-width:768px){.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-close{top:10px;right:10px}}body.lightbox-open{overflow:hidden}.registration-form .form-container{background-color:#fff;border:1px solid #e0e0e0;border-radius:15px;max-width:700px;margin:0 auto;padding:2rem;box-shadow:0 4px 12px #0000000d}.registration-form .form-section{box-shadow:none;background-color:#0000;border:none;margin-bottom:0;padding:1.25rem 0}.registration-form .form-section:not(:last-child){border-bottom:1px solid var(--color-sand);margin-bottom:1.25rem}.registration-form h3{color:var(--color-olive);border-bottom:none;margin-bottom:1.5rem;padding-bottom:0;font-size:1.25rem}.registration-form .form-group input,.registration-form .form-group textarea,.registration-form .form-group select{background-color:var(--color-light-gray)}.registration-form .radio-group{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.registration-form .radio-group input[type=radio]{appearance:none;cursor:pointer;background-color:#fff;border:2px solid #ccc;border-radius:50%;width:20px;height:20px;transition:all .2s}.registration-form .radio-group input[type=radio]:checked{background-color:var(--color-olive);border-color:var(--color-olive);box-shadow:inset 0 0 0 3px #fff}.registration-form .radio-group label{cursor:pointer;font-weight:500}.registration-form .form-group-checkbox{align-items:flex-start;gap:.75rem;display:flex}.registration-form .form-group-checkbox input[type=checkbox]{appearance:none;cursor:pointer;background-color:#fff;border:2px solid #ccc;border-radius:5px;flex-shrink:0;width:20px;height:20px;margin-top:2px;transition:all .2s;position:relative}.registration-form .form-group-checkbox input[type=checkbox]:checked{background-color:var(--color-olive);border-color:var(--color-olive)}.registration-form .form-group-checkbox input[type=checkbox]:checked:after{content:"✓";color:#fff;font-size:14px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.registration-form .form-group-checkbox label{cursor:pointer;font-weight:500;line-height:1.4}.registration-form .stepper{gap:16px;margin:16px 0 24px;display:flex}.registration-form .stepper .step{opacity:.5;align-items:center;gap:8px;transition:opacity .2s;display:flex}.registration-form .stepper .step.active,.registration-form .stepper .step.completed{opacity:1}.registration-form .stepper .step .step-index{background:var(--color-light-gray);width:28px;height:28px;color:var(--color-dark);border:2px solid var(--color-sand);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.registration-form .stepper .step .step-label{color:var(--color-dark);font-weight:700}.registration-form .stepper .step.completed .step-index{background:var(--color-olive);color:var(--color-white);border-color:var(--color-olive)}.registration-form .form-step{display:none}.registration-form .form-step.active{display:block}.registration-form .form-nav{justify-content:space-between;gap:12px;margin-top:16px;display:flex}.registration-form .review-summary{background:var(--color-light-gray);border:1px solid var(--color-sand);border-radius:12px;padding:16px}.registration-form .summary-sections{gap:12px;display:grid}.registration-form .summary-section{background:var(--color-white);border:1px solid var(--color-sand);border-radius:10px;padding:12px}.registration-form .summary-title{color:var(--color-olive);margin-bottom:10px;font-weight:700}.registration-form .summary-grid{grid-template-columns:1fr;gap:10px 16px;display:grid}@media (min-width:640px){.registration-form .summary-grid{grid-template-columns:1fr 1fr}}.registration-form .summary-item{flex-direction:column;gap:4px;display:flex}.registration-form .summary-label{color:var(--color-gray);text-transform:uppercase;letter-spacing:.02em;font-size:.85rem}.registration-form .summary-value{color:var(--color-dark);font-weight:700}.registration-form .badge{border:1px solid #0000;border-radius:999px;padding:4px 10px;font-size:.85rem;font-weight:700;display:inline-block}.registration-form .badge-olive{background:var(--color-light-green);color:var(--color-dark);border-color:var(--color-olive)}.registration-form .summary-note{color:var(--color-gray);margin-top:4px;font-size:.95rem}.text-center{text-align:center}@media (max-width:768px){.nav-menu{background-color:var(--color-white);z-index:1002;flex-direction:column;align-items:flex-start;width:85%;max-width:340px;height:100%;padding:0;transition:right .4s cubic-bezier(.25,.46,.45,.94);position:fixed;top:0;right:-100%;box-shadow:-2px 0 10px #0000001a}.nav-menu.active{display:flex;right:0}.mobile-menu-header-item{border-bottom:none;display:block}.nav-menu li{text-align:left;border-bottom:1px solid var(--color-sand);width:100%}.nav-menu li:first-child{border-top:1px solid var(--color-sand)}.nav-menu a{width:100%;padding:1.25rem 1.5rem;font-size:1rem;display:block}.nav-menu a:not(.btn):after{display:none}.nav-menu a.active{color:var(--color-olive);background-color:#f8f8f8}.desktop-btn-container{display:none}.mobile-btn-container{border-bottom:none;margin-top:auto;padding:2rem 1.5rem;display:block}.nav-menu .mobile-btn-container .btn{text-align:center;width:100%;padding:14px 24px}.mobile-menu-header{justify-content:center;align-items:center;width:100%;padding:.75rem 1.5rem;display:flex;position:relative}.nav-close{cursor:pointer;color:var(--color-dark);background:0 0;border:none;font-size:2.25rem;line-height:1;display:block;position:absolute;top:50%;right:1.5rem;transform:translateY(-50%)}.nav-toggle{display:flex}.logo-image{width:34px;height:34px}.logo-text{font-size:1rem}.hero-content{text-align:center;grid-template-columns:1fr;place-items:start center}.hero-text{margin-left:0;padding-left:0}.hero .container{padding-left:8px!important}.contact-content{grid-template-columns:1fr}.footer-content{text-align:center;grid-template-columns:1fr}.social-links{justify-content:center}.footer-logo p{margin-left:auto;margin-right:auto}.cta-buttons{flex-direction:column;align-items:center}h1{font-size:2.2rem}h2{font-size:1.6rem}.cookie-consent-banner .container{text-align:center;flex-direction:column}}@media (max-width:480px){.container{padding:0 15px}.hero-buttons{flex-direction:column;align-items:center}.btn{width:100%;max-width:250px}}@media (min-width:769px){.hero-content{text-align:left;justify-items:start}}
