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