@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f3f1e9;--ink:#293c33;--muted:#626f65;--green:#3f594c;--line:#cdd1c6;--sage:#e0e6d9;--serif:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;color:var(--ink);background:var(--paper);font:1rem/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:5px}button,a,summary{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}.skip{position:fixed;top:10px;left:10px;transform:translateY(-180%);z-index:99;background:var(--green);color:white;padding:12px 20px}.skip:focus{transform:none}header{height:100px;padding:0 5%;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:1.65rem;line-height:1.1;font-weight:500}.brand small{display:block;font:500 .65rem 'DM Sans',sans-serif;letter-spacing:.32em;margin-top:6px}.brand-icon{width:44px;height:44px;border:1px solid #849587;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;padding-bottom:6px;font-style:italic}nav{display:flex;gap:34px;font-size:.875rem}nav a{border-bottom:1px solid transparent}nav a:hover{border-color:var(--ink)}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--green);color:#fff;padding:15px 31px;border-radius:40px;font-size:.95rem;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:#304638;transform:translateY(-2px)}.header-book{padding:11px 25px}.hero{display:grid;grid-template-columns:1fr 1.03fr;min-height:calc(100svh - 100px);max-width:1800px;margin:auto;padding:20px 3% 40px 7%;gap:4%;align-items:center}.hero-copy{padding:35px 0}.eyebrow{font-size:.72rem;letter-spacing:.15em;font-weight:500;color:var(--muted);margin:0 0 25px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.02}h1{font-size:clamp(3.3rem,5.2vw,6.1rem);margin-bottom:28px}em{font-weight:400;color:#627c61}h2{font-size:clamp(2.8rem,4.6vw,4.8rem);margin-bottom:24px}h3{font-size:2.8rem}.lead{max-width:345px;font-size:1.05rem;color:var(--muted);margin-bottom:25px}.hours{font-size:.85rem;margin-bottom:26px}.hours span{padding:0 8px}.hero-actions{display:flex;align-items:center;gap:23px}.text-link{font-size:.95rem;display:inline-block;border-bottom:1px solid #849587;padding-bottom:4px}.quiet-note{font-size:.75rem;color:var(--muted);margin:12px 0 0}.discover{margin-top:60px;display:flex;gap:13px;align-items:center;font-size:.75rem;color:var(--muted);width:fit-content}.discover span{height:30px;width:1px;background:#a2ac9c}.hero-visual{height:calc(100svh - 170px);min-height:520px;max-height:880px;position:relative;overflow:hidden;border-radius:46% 46% 10px 10px}.hero-visual img{height:100%;width:100%;object-fit:cover;object-position:47% center}.hero-visual:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#17271d70)}.image-caption{position:absolute;bottom:35px;left:35px;right:35px;z-index:1;color:white;display:flex;justify-content:space-between;align-items:end}.image-caption>span{font:italic 2.2rem/1.05 var(--serif)}.image-caption small{font-size:.6rem;letter-spacing:.15em;max-width:90px;text-align:right}.service-strip{display:flex;justify-content:center;align-items:center;gap:44px;padding:25px 5%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.8rem;color:var(--muted)}.service-strip i{width:4px;height:4px;background:#8e9e8c;border-radius:50%}.section{padding:105px 7%}.section-intro{text-align:center;margin:0 auto 50px}.section-intro p:last-child{color:var(--muted);font-size:.95rem}.section-intro .eyebrow{margin-bottom:20px}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1120px;margin:auto;gap:18px}.price-card{border:1px solid var(--line);padding:38px 32px;background:#f7f6ef;border-radius:120px 120px 6px 6px;text-align:center}.price-card.middle{background:var(--sage);border-color:#c6d0bf}.duration{font:400 4.5rem/1 var(--serif);margin:12px 0 22px}.duration span{display:block;font:400 .85rem/1.6 'DM Sans';margin-top:12px}.card-line{height:1px;background:var(--line);width:48px;margin:0 auto 25px}.price{font:400 3.1rem/1 var(--serif);margin-bottom:32px}.price span{font-size:1.6rem;vertical-align:top;margin-left:4px}.price-book{display:block;border:1px solid #b3bdac;padding:12px 10px;font-size:.85rem;border-radius:30px;transition:background .2s}.price-book:hover{background:var(--green);color:white;border-color:var(--green)}.pricing-note{font-size:.8rem;color:var(--muted);text-align:center;margin:25px 0 0}.places{background:#e6e8de}.places-heading{margin-bottom:48px}.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%}.place{border-top:1px solid #bac4b6;padding-top:25px}.place-index{font-size:.75rem;letter-spacing:.1em;color:var(--muted)}.place h3{margin:24px 0}.place p{color:var(--muted);max-width:460px;line-height:1.8;font-size:.95rem}.place .text-link{margin-top:20px}.place address{font-style:normal;font-size:.95rem;margin:20px 0 0}.territory{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.territory p:not(.eyebrow){color:var(--muted);font-size:.95rem}.territory-list{list-style:none;padding:0;margin:0}.territory-list li{display:flex;align-items:center;gap:27px;padding:18px 0;border-bottom:1px solid var(--line);font:400 2.5rem/1.2 var(--serif)}.territory-list li:first-child{border-top:1px solid var(--line)}.territory-list span{font:400 .7rem 'DM Sans';color:var(--muted)}.testimonials{background:#eeede5;padding-top:80px;padding-bottom:80px}.review-grid{display:grid;grid-template-columns:1fr 1fr;max-width:980px;margin:auto;gap:24px}.review-placeholder{padding:35px;text-align:center;border:1px dashed #b9c1b3;border-radius:6px}.review-placeholder span{font-size:.7rem;letter-spacing:.12em;color:var(--muted)}.review-placeholder p{font:italic 1.65rem/1.3 var(--serif);color:var(--muted);margin:18px 0 0}.faq{display:grid;grid-template-columns:1fr 1.25fr;gap:8%}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-size:1rem;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 0}summary::-webkit-details-marker{display:none}summary span{font-size:1.4rem;font-weight:400}details[open] summary span{transform:rotate(45deg)}details p{color:var(--muted);font-size:.95rem;line-height:1.8;padding-right:28px;margin:0 0 25px}details a{text-decoration:underline}.closing{background:var(--green);color:var(--paper);text-align:center}.closing em{color:#c7d2be}.closing .eyebrow{color:#c7d2be}.light-button{background:var(--paper);color:var(--green);margin-top:10px}.light-button:hover{background:#dfe6d6}.closing>p:last-child{margin:22px 0 0;font-size:.8rem;color:#d0d8ca}footer{padding:48px 7% 22px}.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;align-items:start}.footer-main address{font-style:normal;font-size:.9rem}.footer-main p:not(.footer-label){font-size:.85rem;color:var(--muted);margin:8px 0}.footer-label{font-size:.65rem;letter-spacing:.14em;color:var(--muted);margin:0 0 14px}.footer-main>div>a{font-size:1rem}.demo{margin:35px 0 0;padding-top:20px;border-top:1px solid var(--line);text-align:center;font-size:.75rem;color:var(--muted)}.reveal{transition:opacity .7s ease,transform .7s ease}.reveal.pending{opacity:0;transform:translateY(20px)}
@media(min-width:1500px){.section{padding-left:max(7%,calc((100vw - 1280px)/2));padding-right:max(7%,calc((100vw - 1280px)/2))}}
@media(max-width:1000px){nav{gap:18px}.hero{padding-left:5%;gap:3%}h1{font-size:3.7rem}.hero-actions{gap:15px}.image-caption small{display:none}.service-strip{gap:20px}.section{padding:80px 6%}.price-card{padding:32px 20px}.footer-main{grid-template-columns:1fr 1fr}.footer-main .brand{grid-column:1/-1}.hero-visual{min-height:520px}}
@media(max-width:700px){header{height:83px;padding:0 6%;gap:14px}.brand{font-size:1.35rem;gap:9px}.brand-icon{width:36px;height:36px;font-size:1.8rem}.brand small{font-size:.58rem}nav{display:none}.header-book{padding:10px 18px;font-size:.8rem}.hero{grid-template-columns:1fr;padding:20px 6% 26px;gap:20px;min-height:calc(100svh - 83px)}.hero-copy{padding:16px 0 0}.eyebrow{font-size:.66rem;margin-bottom:20px;letter-spacing:.12em}h1{font-size:clamp(2.95rem,12vw,4.4rem);margin-bottom:22px}.lead{font-size:.95rem;max-width:300px;margin-bottom:18px}.hours{margin-bottom:22px;font-size:.8rem}.hero-actions{gap:20px}.hero-actions .button{padding:13px 28px}.text-link{font-size:.9rem}.quiet-note{font-size:.7rem}.discover{display:none}.hero-visual{height:350px;min-height:0;max-height:none;border-radius:120px 120px 5px 5px}.hero-visual img{object-position:center 45%}.image-caption{left:24px;bottom:25px}.image-caption>span{font-size:1.9rem}.service-strip{flex-wrap:wrap;column-gap:14px;row-gap:8px;font-size:.7rem;padding:18px 6%}.service-strip i:last-of-type{display:none}.service-strip>span:last-child{flex-basis:100%;text-align:center}.section{padding:65px 6%}h2{font-size:3.1rem}h3{font-size:2.6rem}.section-intro{margin-bottom:32px}.section-intro p:last-child{font-size:.9rem}.price-grid{grid-template-columns:1fr;gap:15px}.price-card{border-radius:6px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:25px;text-align:left}.duration{font-size:3.4rem;margin:0}.duration span{display:inline;font-size:.8rem;padding-left:8px}.card-line{display:none}.price{font-size:2.6rem;text-align:right;margin:0}.price span{font-size:1.3rem}.price-book{grid-column:1/-1;text-align:center;margin-top:20px;font-size:.85rem}.place-grid{grid-template-columns:1fr;gap:45px}.places-heading{margin-bottom:30px}.place h3{margin:20px 0}.place .text-link{margin-top:10px}.territory,.faq{grid-template-columns:1fr;gap:28px}.territory-list li{font-size:2.2rem;padding:17px 0}.review-grid{grid-template-columns:1fr;gap:15px}.review-placeholder{padding:28px 20px}.faq-list summary{font-size:.95rem;padding:22px 0}.closing h2{font-size:2.9rem}.closing .button{font-size:.85rem;padding:14px 24px}.footer-main{gap:30px 15px}.footer-main .brand{margin-bottom:10px}.footer-label{font-size:.6rem}.footer-main address,.footer-main>div>a{font-size:.8rem}.footer-main p:not(.footer-label){font-size:.75rem}.demo{font-size:.7rem;text-align:left}footer{padding:40px 6% 25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal.pending{opacity:1;transform:none}}

.hero-visual img{object-position:65% center}@media(max-width:700px){.hero-visual img{object-position:65% center}}
/* Shared five-page navigation and content */
header{position:sticky;top:0;z-index:30;background:#f3f1e9f5;backdrop-filter:blur(12px);border-bottom:1px solid #cdd1c660;height:90px;padding:0 4%;gap:20px}.main-nav{gap:23px}.main-nav a[aria-current=page]{border-bottom-color:var(--green);font-weight:600}.menu-toggle{display:none}.header-book{white-space:nowrap;flex-shrink:0}.hero{min-height:calc(100svh - 90px)}.closing-phone{display:block;margin:18px auto 0;width:fit-content;border-bottom:1px solid #c7d2be}.footer-nav{display:flex;flex-wrap:wrap;gap:14px 26px;margin:35px 0 16px;font-size:.85rem}.footer-territory{font-size:.85rem;color:var(--muted);margin:0}.page-intro{padding:85px 7% 55px;max-width:1300px}.page-intro h1{font-size:clamp(3.4rem,6vw,6rem)}.page-intro .lead{max-width:550px;margin-bottom:0}.detailed-pricing{padding-top:0}.massage-details{list-style:none;padding:0;text-align:left;margin:0 0 30px;font-size:.88rem;color:var(--muted)}.massage-details li{padding:10px 0;border-bottom:1px solid var(--line)}.detailed-pricing .price-card{display:flex;flex-direction:column}.detailed-pricing .price-book{margin-top:auto}.location-section{padding-top:25px;display:grid;grid-template-columns:1fr 1.1fr;gap:9%;align-items:start}.location-heading p:not(.eyebrow){color:var(--muted)}.location-heading .button{margin-top:10px}.steps article{display:flex;gap:23px;padding:24px 0;border-top:1px solid var(--line)}.steps article>span{font-size:.75rem;color:var(--muted);margin-top:7px}.steps h3{font-size:2rem;margin:0 0 12px}.steps p{color:var(--muted);font-size:.95rem;margin:0}.clinic-feature{background:var(--sage);display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.clinic-feature address{font-style:normal;margin-bottom:22px}.clinic-feature>div>p:not(.eyebrow){max-width:470px}.clinic-facts>p{padding:20px 0;border-bottom:1px solid #b8c5b1;margin:0}.clinic-facts span{display:block;font:400 4rem/1.2 var(--serif)}.questions-section{padding-top:0;max-width:1080px;margin:auto}.faq-list p{max-width:800px}.contact-layout{padding-top:0;display:grid;grid-template-columns:1fr 1.15fr;gap:10%}.contact-layout h2{font-size:2.6rem}.contact-phone{font:400 2.15rem var(--serif);border-bottom:1px solid #849587}.contact-info>p{font-size:.85rem;color:var(--muted);margin-top:9px}.contact-info dl{margin:35px 0}.contact-info dt{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:22px}.contact-info dd{margin:5px 0 0;font-size:.95rem}.contact-info address{font-style:normal}.contact-form-wrap{padding:35px;background:#e6e8de;border-radius:6px}.contact-form-wrap>p{font-size:.95rem;color:var(--muted)}#contact-form{display:flex;flex-direction:column;gap:8px}#contact-form label{font-size:.9rem;margin-top:8px}#contact-form input,#contact-form textarea{width:100%;padding:12px 14px;border:1px solid #afbda5;border-radius:4px;background:#fafaf4;color:var(--ink);font:1rem 'DM Sans',sans-serif}#contact-form textarea{resize:vertical;min-height:140px}#contact-form :is(input,textarea):focus{outline:2px solid var(--green);outline-offset:2px}#contact-form button{font:500 .95rem 'DM Sans';border:0;margin-top:16px;cursor:pointer;padding:16px}#contact-form button:disabled{opacity:.65;cursor:wait}.form-status{font-size:.9rem;margin:12px 0 0}.form-status:empty{display:none}.form-status[data-state=error]{color:#8c3026}.form-status[data-state=success]{color:#294d35}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.review-placeholder{font-family:var(--serif);font-size:1.65rem;font-style:italic;color:var(--muted)}
@media(max-width:1150px){header .brand{font-size:1.4rem}.main-nav{gap:15px;font-size:.8rem}.brand-icon{width:36px;height:36px}.header-book{padding:10px 20px}}
@media(max-width:950px){header{height:80px;gap:14px;padding:0 5%}.menu-toggle{display:block;margin-left:auto;font:500 .85rem 'DM Sans';border:0;background:transparent;color:var(--ink);padding:10px;cursor:pointer}.main-nav{display:none;position:absolute;top:79px;left:0;right:0;flex-direction:column;gap:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 18px 25px #293c3310;padding:12px 6% 20px;font-size:1rem}.main-nav.open{display:flex}.main-nav a{padding:12px 0;border-bottom:1px solid var(--line)}.location-section{gap:6%}.contact-layout{gap:5%}.contact-form-wrap{padding:25px}.hero{min-height:calc(100svh - 80px)}}
@media(max-width:700px){header .brand{font-size:1.2rem}.menu-toggle{font-size:.8rem;padding:8px}.header-book{padding:10px 16px;font-size:.8rem}.footer-nav{display:flex;font-size:.8rem;gap:14px 22px}.page-intro{padding:50px 6% 35px}.page-intro h1{font-size:3.3rem}.detailed-pricing .price-card{display:grid;grid-template-columns:1fr 1fr;text-align:left}.massage-details{grid-column:1/-1;margin:20px 0}.detailed-pricing .price-book{margin-top:0}.detailed-pricing .card-line{display:none}.location-section,.clinic-feature,.contact-layout{grid-template-columns:1fr;gap:40px}.location-section{padding-top:0}.clinic-feature{gap:25px}.clinic-facts span{font-size:3rem}.questions-section{padding-top:0}.contact-layout{padding-top:0}.contact-form-wrap{padding:26px 20px}.contact-phone{font-size:2rem}.footer-territory{font-size:.8rem}.detailed-pricing .price-card .price{margin:0}.hero-visual{height:350px}}
@media(max-width:380px){header{gap:5px;padding:0 4%}header .brand{font-size:1.08rem;gap:6px}header .brand-icon{display:none}.header-book{padding:10px 13px}}
