:root{--teal: #3D8B8B;--teal-light: #B8DCDC;--teal-bg: #E8F4F4;--terracotta: #D4775B;--terracotta-light: #F0C4B4;--mustard: #E5B84C;--mustard-light: #F5E4A8;--blush: #F2DDD5;--cream: #FAF6F1;--warm-white: #FEFCF9;--text: #2C2926;--text-mid: #5A534D;--text-light: #8A8380}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Outfit,sans-serif;color:var(--text);background:var(--cream)}.blob{position:absolute;border-radius:50% 40% 60% 45%/55% 45% 50% 40%;z-index:0;opacity:.5}nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem 2.5rem;background:#faf6f1e6;backdrop-filter:blur(15px);display:flex;justify-content:space-between;align-items:center}.nav-brand{font-family:Fraunces,serif;font-size:1.4rem;font-weight:500;color:var(--text);text-decoration:none;transition:opacity .2s}.nav-brand:hover{opacity:.75}.nav-brand span{color:var(--teal);font-style:italic}.nav-menu{display:flex;gap:1.8rem;align-items:center;list-style:none}.nav-menu a{text-decoration:none;color:var(--text-mid);font-size:.88rem;font-weight:400;transition:color .3s}.nav-menu a:hover{color:var(--teal)}.nav-btn{background:var(--terracotta)!important;color:#fff!important;padding:.55rem 1.5rem;border-radius:12px;font-weight:500!important;transition:all .3s}.nav-btn:hover{background:#c06a50!important}.nav-toggle{display:none;background:transparent;border:0;padding:.5rem;cursor:pointer;flex-direction:column;gap:5px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--text);border-radius:2px;transition:transform .3s,opacity .3s}.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{min-height:100vh;padding:10rem 3rem 5rem;text-align:center;position:relative;overflow:hidden}.hero .blob.b1{width:400px;height:400px;background:var(--teal-light);top:5%;left:-8%;animation:float 8s ease-in-out infinite}.hero .blob.b2{width:300px;height:300px;background:var(--terracotta-light);top:20%;right:-5%;animation:float 10s ease-in-out infinite reverse}.hero .blob.b3{width:250px;height:250px;background:var(--mustard-light);bottom:10%;left:15%;animation:float 7s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(15px,-20px) rotate(3deg)}66%{transform:translate(-10px,10px) rotate(-2deg)}}.hero-inner{position:relative;z-index:1;max-width:750px;margin:0 auto}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--teal-bg);padding:.4rem 1.2rem;border-radius:30px;font-size:.82rem;font-weight:500;color:var(--teal);margin-bottom:2rem}.hero h1{font-family:Fraunces,serif;font-size:4rem;line-height:1.1;font-weight:500;margin-bottom:1.5rem}.hero h1 .highlight{position:relative;color:var(--terracotta);font-style:italic}.hero h1 .highlight:after{content:"";position:absolute;bottom:2px;left:-4px;right:-4px;height:12px;background:var(--mustard-light);z-index:-1;border-radius:4px;transform:rotate(-1deg)}.hero-desc{font-size:1.15rem;color:var(--text-mid);line-height:1.7;max-width:560px;margin:0 auto 2.5rem;font-weight:300}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-warm{background:var(--terracotta);color:#fff;padding:1rem 2.2rem;border-radius:14px;text-decoration:none;font-weight:500;font-size:1rem;transition:all .3s;display:inline-flex;align-items:center;gap:.5rem}.btn-warm:hover{background:#c06a50;transform:translateY(-2px);box-shadow:0 8px 25px #d4775b4d}.btn-outline{background:transparent;color:var(--text);padding:1rem 2.2rem;border-radius:14px;text-decoration:none;font-weight:500;font-size:1rem;border:1.5px solid rgba(0,0,0,.15);transition:all .3s}.btn-outline:hover{border-color:var(--teal);color:var(--teal)}.hero-images{display:flex;gap:1rem;justify-content:center;margin-top:4rem;position:relative;z-index:1}.hero-img-card{width:220px;height:280px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:.82rem;color:var(--text-light);overflow:hidden}.hero-img-card:nth-child(1){background:var(--teal-light);transform:rotate(-3deg)}.hero-img-card:nth-child(2){background:var(--blush);transform:rotate(1deg) translateY(-10px)}.hero-img-card:nth-child(3){background:var(--mustard-light);transform:rotate(2deg)}.services{padding:6rem 3rem}.services-header{text-align:center;margin-bottom:3.5rem}.section-tag{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--teal);font-weight:600;margin-bottom:.6rem}.section-heading{font-family:Fraunces,serif;font-size:2.6rem;font-weight:500}.service-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:950px;margin:0 auto}.service-card{border-radius:24px;padding:2.5rem;position:relative;overflow:hidden;transition:all .4s}.service-card:hover{transform:translateY(-4px)}.service-card.kids{background:var(--teal-bg)}.service-card.adults{background:var(--blush)}.service-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.2rem}.kids .service-icon{background:var(--teal);color:#fff}.adults .service-icon{background:var(--terracotta);color:#fff}.service-card h3{font-family:Fraunces,serif;font-size:1.6rem;font-weight:500;margin-bottom:.8rem}.service-card p{font-size:.95rem;color:var(--text-mid);line-height:1.65;font-weight:300}.service-features{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}.feature-pill{padding:.35rem 1rem;border-radius:10px;font-size:.78rem;font-weight:500}.kids .feature-pill{background:#3d8b8b26;color:var(--teal)}.adults .feature-pill{background:#d4775b26;color:var(--terracotta)}.service-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.5rem;font-weight:500;font-size:.9rem;text-decoration:none}.kids .service-link{color:var(--teal)}.adults .service-link{color:var(--terracotta)}.approach{padding:6rem 3rem;background:var(--warm-white);overflow:hidden}.approach-header{text-align:center;margin-bottom:3rem}.approach-track{display:flex;gap:1.5rem;max-width:1000px;margin:0 auto;justify-content:center}.approach-card{flex:1;min-width:200px;padding:2rem;border-radius:20px;background:var(--cream);border:1px solid rgba(0,0,0,.05);text-align:center;transition:all .3s}.approach-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000000d}.approach-num{font-family:Fraunces,serif;font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:.8rem}.approach-card:nth-child(1) .approach-num{color:var(--teal)}.approach-card:nth-child(2) .approach-num{color:var(--terracotta)}.approach-card:nth-child(3) .approach-num{color:var(--mustard)}.approach-card:nth-child(4) .approach-num{color:var(--teal)}.approach-card h4{font-family:Fraunces,serif;font-size:1.1rem;font-weight:500;margin-bottom:.5rem}.approach-card p{font-size:.82rem;color:var(--text-mid);line-height:1.55;font-weight:300}.about-section{padding:6rem 3rem;display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;max-width:1050px;margin:0 auto;align-items:center}.about-photo{aspect-ratio:5/6;border-radius:30px;background:linear-gradient(160deg,var(--teal-light),var(--blush));display:flex;align-items:center;justify-content:center;position:relative}.about-photo:after{content:"";position:absolute;bottom:-12px;right:-12px;width:100%;height:100%;border-radius:30px;border:2px solid var(--teal-light);z-index:-1}.about-content .section-tag{text-align:left}.about-content h2{font-family:Fraunces,serif;font-size:2.2rem;font-weight:500;margin-bottom:1.2rem;text-align:left}.about-content p{font-size:.95rem;color:var(--text-mid);line-height:1.75;font-weight:300;margin-bottom:.8rem}.about-facts{display:flex;gap:2rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.06)}.fact-val{font-family:Fraunces,serif;font-size:1.6rem;color:var(--terracotta);font-weight:500}.fact-label{font-size:.78rem;color:var(--text-light);margin-top:.2rem}.pricing-section{padding:6rem 3rem;background:var(--warm-white);text-align:center}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:900px;margin:3rem auto 0}.price-card{background:var(--cream);border-radius:24px;padding:2.5rem 2rem;border:1.5px solid transparent;transition:all .3s;text-align:center;display:flex;flex-direction:column;align-items:center}.price-card:hover{border-color:var(--teal-light)}.price-card.pop{background:var(--text);color:#fff;border-color:var(--text)}.price-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--teal);margin-bottom:.6rem}.pop .price-label{color:var(--mustard)}.price-name{font-family:Fraunces,serif;font-size:1.3rem;font-weight:500;margin-bottom:.8rem}.price-desc{font-size:.85rem;line-height:1.6;font-weight:300;opacity:.75}.price-desc+.price-cta,.price-desc+.price-cta-group{margin-top:auto}.price-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:1.5rem;padding:.6rem 1.6rem;border-radius:12px;text-decoration:none;font-weight:500;font-size:.85rem;background:var(--teal);color:#fff;transition:all .3s}.pop .price-cta{background:var(--terracotta)}.price-cta-group{display:flex;gap:.6rem;margin-top:1.5rem;width:100%;max-width:260px;justify-content:center}.price-cta-group .price-cta{margin-top:0;flex:1 1 0;padding:.6rem .5rem}.blog{padding:6rem 3rem;text-align:center}.blog-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;max-width:1100px;margin:3rem auto 0}.b-card{display:block;text-align:left;text-decoration:none;color:inherit;border-radius:20px;overflow:hidden;background:var(--warm-white);border:1px solid rgba(0,0,0,.04);transition:all .3s}.b-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000000f}.b-thumb{height:150px;display:flex;align-items:center;justify-content:center;font-size:2.6rem}.b-card:nth-child(1) .b-thumb{background:var(--teal-bg)}.b-card:nth-child(2) .b-thumb{background:var(--blush)}.b-card:nth-child(3) .b-thumb{background:var(--mustard-light)}.b-card:nth-child(4) .b-thumb{background:var(--teal-light)}.blog-more{text-align:center;margin-top:2.2rem}.blog-more a{color:var(--terracotta);text-decoration:none;font-weight:500;font-size:.95rem;border-bottom:1px solid var(--terracotta);padding-bottom:2px}.b-body{padding:1.3rem}.b-cat{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--teal);font-weight:600}.b-title{font-family:Fraunces,serif;font-size:1.05rem;margin-top:.4rem;line-height:1.4;font-weight:500}.final-cta{margin:2rem 3rem 4rem;padding:4rem 3rem;border-radius:30px;background:var(--teal);color:#fff;text-align:center;position:relative;overflow:hidden}.final-cta .blob{width:300px;height:300px;background:#ffffff14;top:-30%;right:-5%}.final-cta h2{font-family:Fraunces,serif;font-size:2.5rem;font-weight:500;margin-bottom:1rem;position:relative}.final-cta p{font-size:1.05rem;opacity:.85;font-weight:300;margin-bottom:2rem;position:relative}.btn-light{background:#fff;color:var(--teal);padding:1rem 2.5rem;border-radius:14px;text-decoration:none;font-weight:600;font-size:1rem;display:inline-block;position:relative;transition:all .3s}.btn-light:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}footer{padding:2.5rem 3rem;text-align:center;color:var(--text-light);font-size:.82rem}.footer-menu{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 1.75rem}.footer-menu a{color:var(--text-light);text-decoration:none;font-size:.88rem;transition:color .2s ease}.footer-menu a:hover{color:var(--text)}@media(max-width:768px){nav{padding:.8rem 1.5rem;flex-wrap:wrap}.nav-toggle{display:flex}.nav-menu{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:.25rem;margin-top:.8rem;padding:.5rem 0}.nav-menu.is-open{display:flex}.nav-menu li{width:100%}.nav-menu a{display:block;padding:.75rem .5rem;font-size:1rem}.nav-menu .nav-btn{text-align:center;margin-top:.4rem}.hero{padding:8rem 1.5rem 3rem}.hero h1{font-size:2.6rem}.hero-images{flex-direction:column;align-items:center}.hero-img-card{width:80%;transform:none!important}.service-row{grid-template-columns:1fr}.approach-track{flex-direction:column}.about-section{grid-template-columns:1fr;padding:4rem 1.5rem}.pricing-grid{grid-template-columns:1fr}.blog-cards{grid-template-columns:repeat(2,1fr)}.services,.approach,.pricing-section,.blog{padding:4rem 1.5rem}.final-cta{margin:1rem 1.5rem 2rem;padding:3rem 1.5rem}}
