:root{--ink:#173b35;--pine:#123a34;--mint:#b8e1d2;--cream:#f6f2e8;--white:#fff;--orange:#ff6a3d;--line:rgba(23,59,53,.17)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--cream)}.brand{display:flex;align-items:center;gap:12px;font-family:'Fraunces',serif;font-size:1.5rem}.brand-mark{width:38px;height:38px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-style:italic}.topbar nav{display:flex;align-items:center;gap:34px;font-size:.9rem;font-weight:500}.nav-cta{background:var(--ink);color:white;padding:12px 20px}.menu-btn{display:none;background:none;border:0}.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:54% 46%;border-bottom:1px solid var(--line)}.hero-copy{padding:8vw 5vw 5vw;display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:600;margin:0 0 24px}.hero h1,.section-head h2,.about h2,.journey h2,.contact h2{font-family:'Fraunces',serif;font-weight:400;line-height:.98;letter-spacing:-.04em;margin:0}.hero h1{font-size:clamp(4rem,7.7vw,8.8rem)}.hero h1 em{font-weight:400;color:var(--orange)}.intro{font-size:1.15rem;max-width:570px;margin:36px 0}.hero-actions{display:flex;align-items:center;gap:34px;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;padding:18px 22px;font-weight:600}.primary{background:var(--ink);color:white}.text-link{font-weight:600;border-bottom:1px solid currentColor}.availability{font-size:.82rem;margin-top:50px;display:flex;align-items:center;gap:10px}.availability span{width:9px;height:9px;background:var(--orange);border-radius:50%}.hero-visual{position:relative;overflow:hidden;background:var(--mint);min-height:610px}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(12,46,40,.38))}.floating-card{position:absolute;right:28px;bottom:28px;z-index:2;background:var(--cream);padding:24px 28px;width:210px}.floating-card small{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:.65rem;margin-bottom:10px}.floating-card strong{font-family:'Fraunces',serif;font-size:1.6rem;line-height:1.25;font-weight:400}.manifesto{padding:10vw 13vw;text-align:center;background:var(--pine);color:white}.manifesto .eyebrow{color:var(--mint)}.big-quote{font-family:'Fraunces',serif;font-size:clamp(2.4rem,5vw,5.5rem);line-height:1.12;letter-spacing:-.035em;margin:0 auto;max-width:1200px}.approaches{padding:9vw 5vw}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:65px}.section-head h2,.about h2,.journey h2,.contact h2{font-size:clamp(3rem,5.4vw,6rem)}.section-head>p{max-width:430px;font-size:1.08rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:390px;padding:34px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.25s}.service-card:hover{background:white;transform:translateY(-4px)}.service-card.featured{background:var(--mint)}.number{font-size:.7rem}.service-icon{font-family:'Fraunces',serif;font-size:2.5rem;margin:30px 0}.service-card h3{font-family:'Fraunces',serif;font-size:2rem;font-weight:400;margin:0 0 14px}.service-card p{margin:0}.service-card a{margin-top:auto;font-weight:600;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px}.about{display:grid;grid-template-columns:1fr 1fr;background:white}.about-photo{min-height:760px;position:relative}.seal{position:absolute;right:-54px;top:50px;width:108px;height:108px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:white;font-size:.62rem;letter-spacing:.08em;text-align:center;padding:20px}.about-copy{padding:9vw 8vw}.about-copy .lead{font-family:'Fraunces',serif;font-size:1.7rem;line-height:1.35}.about-copy blockquote{font-family:'Fraunces',serif;font-size:1.35rem;border-left:3px solid var(--orange);margin:35px 0;padding-left:22px}.dark{display:inline-block}.journey{padding:9vw 5vw;text-align:center}.journey h2{margin-bottom:65px}.steps{display:grid;grid-template-columns:repeat(3,1fr);text-align:left}.steps>div{padding:30px 7vw 20px 30px;border-left:1px solid var(--line)}.steps span{width:38px;height:38px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center}.steps h3{font-family:'Fraunces',serif;font-size:1.7rem;font-weight:400;margin:28px 0 8px}.contact{background:var(--orange);color:#172f2b;display:grid;grid-template-columns:1.2fr .8fr;padding:8vw 7vw;gap:10vw}.contact-panel{align-self:end}.contact-panel p{font-size:1.1rem;margin:0 0 30px}.button.light{background:var(--cream);width:100%}.facebook{display:inline-block;margin-top:20px;border-bottom:1px solid}footer{background:var(--pine);color:white;padding:34px 5vw;display:flex;align-items:center;justify-content:space-between;font-size:.85rem}.menu-btn span{display:block;width:24px;height:1px;background:var(--ink);margin:6px}
@media(max-width:900px){.topbar{height:74px}.menu-btn{display:block}.topbar nav{display:none;position:absolute;left:0;right:0;top:74px;background:var(--cream);padding:26px 5vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.topbar nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:14vw 6vw}.hero h1{font-size:clamp(3.7rem,15vw,6rem)}.hero-visual{min-height:68vh}.manifesto,.approaches,.journey{padding:18vw 6vw}.section-head{display:block}.section-head>p{margin-top:30px}.cards{grid-template-columns:1fr}.service-card{min-height:340px}.about{grid-template-columns:1fr}.about-photo{min-height:560px}.seal{right:24px}.about-copy{padding:16vw 7vw}.steps{grid-template-columns:1fr;gap:25px}.contact{grid-template-columns:1fr;padding:16vw 7vw}.contact-panel{margin-top:30px}footer{flex-direction:column;gap:18px;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}}
.online-note{max-width:40rem;margin:-18px 0 30px;padding:.85rem 1rem;border-left:3px solid var(--orange);background:rgba(255,255,255,.58);color:var(--ink);font-size:.95rem;line-height:1.55}.online-note strong{font-weight:600}
.schedule{display:grid;gap:2px;margin:22px 0 24px;padding:16px 0;border-top:1px solid var(--line);font-size:.88rem}.schedule strong{margin-top:8px}.schedule strong:first-child{margin-top:0}.schedule span{line-height:1.45}.yoga-card{min-height:510px}
:root{--ink:#1c1a1d;--pine:#0e2207;--mint:#f0e2e3;--cream:#f4ecdf;--orange:#c2a74e;--line:rgba(28,26,29,.16)}.contact{color:var(--ink)}.hero-visual:after{background:linear-gradient(180deg,transparent 60%,rgba(14,34,7,.42))}.service-card.featured{background:#f0e2e3}.primary,.nav-cta{background:#0e2207}.floating-card{background:#f9f6f1}
.about-photo{min-height:520px}.about-copy{padding:5vw 6vw}.about .about-copy h2{font-size:clamp(2.8rem,4.6vw,5rem)}.about-copy .lead{font-size:1.45rem;margin:22px 0 14px}.about-copy blockquote{margin:24px 0;font-size:1.2rem}@media(max-width:900px){.about-photo{min-height:420px}.about-copy{padding:11vw 7vw}.about .about-copy h2{font-size:clamp(2.8rem,12vw,4.2rem)}}
.about{grid-template-columns:40% 60%}.about-photo{min-height:410px;max-height:500px}.about-photo img{object-position:center 28%}.seal{width:88px;height:88px;right:-44px;font-size:.55rem;padding:14px}@media(max-width:900px){.about{grid-template-columns:1fr}.about-photo{min-height:300px;max-height:340px}.seal{right:18px;top:18px}}
.price{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 10px;margin:20px 0;color:var(--ink)}.price strong{font-family:'Fraunces',serif;font-size:1.6rem;font-weight:500}.price span{font-size:.82rem;line-height:1.35}.service-card:not(.yoga-card) .price{margin-top:auto;margin-bottom:20px}
.logo-link{display:block;width:190px;height:58px}.logo-link img{width:100%;height:100%;object-fit:contain;object-position:left center}@media(max-width:600px){.logo-link{width:150px;height:50px}}
.footer-logo{display:block;width:180px;height:64px;padding:7px 12px;background:var(--cream)}.footer-logo img{width:100%;height:100%;object-fit:contain}@media(max-width:600px){.footer-logo{width:160px;height:58px}}
.service-icon{width:88px;height:88px;margin:24px 0}.service-icon img{width:100%;height:100%;object-fit:contain}.service-card:hover .service-icon{transform:scale(1.04)}.service-icon{transition:transform .25s ease}@media(prefers-reduced-motion:reduce){.service-icon{transition:none}}
.contact-form{display:grid;gap:16px;margin:0 0 26px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:grid;gap:7px;font-size:.85rem;font-weight:600}.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(28,26,29,.28);background:rgba(255,255,255,.86);color:var(--ink);font:inherit;padding:13px 14px;border-radius:0}.contact-form textarea{resize:vertical;min-height:130px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--pine);outline-offset:2px}.contact-form .button{border:0;cursor:pointer;font:inherit}.form-note{font-size:.82rem!important;margin:-6px 0 0!important}.form-note a{text-decoration:underline;text-underline-offset:3px}.contact-panel>.button{margin-top:4px}@media(max-width:600px){.form-row{grid-template-columns:1fr}}
