:root{--ink:#442d38;--muted:#74656a;--paper:#faf7f2;--blush:#efe4df;--line:#dacec7;--accent:#a68170;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;width:100%;height:auto}figure,p,h1,h2,h3,h4{margin:0}button{color:inherit}p+p{margin-top:20px}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.035em}h1{font-size:clamp(48px,5.1vw,78px)}h2{font-size:clamp(40px,4.15vw,62px)}h3{font-size:29px}em{font-weight:400;color:#9a7566}h1 em{color:#a17e70}.wrap{max-width:1320px;width:calc(100% - 120px);margin-inline:auto}.section{padding-block:112px}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:600;line-height:1.5;margin-bottom:26px}.small{font-size:12px;line-height:1.7;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;z-index:100;top:-80px;left:12px;background:var(--ink);color:#fff;padding:12px 20px}.skip:focus{top:10px}:focus-visible{outline:2px solid #a77453;outline-offset:5px}.header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-inline:clamp(24px,4.2vw,64px);border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font-family:var(--serif);font-size:28px;letter-spacing:-1px;line-height:1}.brand sup{font-family:var(--sans);font-size:10px;letter-spacing:0;top:-1.2em;position:relative;margin-left:3px}.brand-mark{display:grid;place-items:center;width:38px;height:44px;border:1px solid var(--accent);border-radius:50% 50% 44% 44%;font-size:29px;font-style:italic;color:var(--accent);padding-bottom:5px}.header nav{display:flex;gap:29px;font-size:12px;white-space:nowrap}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--ink);transition:width .2s}.header nav a:hover:after{width:100%}.header-right{display:flex;gap:23px;align-items:center;font-size:11px}.language{font-size:11px;letter-spacing:.09em;padding:8px 0}.header-cta{border-bottom:1px solid var(--ink);padding-block:10px;white-space:nowrap}.header-cta span{margin-left:10px}.nav-toggle{display:none;background:none;border:0;width:36px;height:40px;padding:7px}.nav-toggle span{display:block;height:1px;background:var(--ink);margin:6px 0}.hero{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;padding-top:54px}.hero-copy{align-self:center;padding-block:35px 50px;position:relative;z-index:1}.hero h1{width:115%;position:relative}.hero-intro{margin-top:32px;max-width:405px;color:var(--muted);font-size:15px;line-height:1.85}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 23px;font-family:var(--sans);font-size:12px;line-height:1.5;letter-spacing:.015em;transition:background .2s,transform .2s;border:1px solid var(--ink);border-radius:0}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#624450}.button span{font-size:20px;line-height:1}.hero .button{margin-top:31px}.hero-foot{font-size:10px;color:var(--muted);margin-top:25px;letter-spacing:.02em}.hero-foot span{font-size:18px;margin-right:8px;vertical-align:middle}.hero-image{position:relative;height:620px;margin-left:12px}.hero-image:before{content:'';position:absolute;inset:22px -18px -18px 24px;border:1px solid #d4bcb0;z-index:-1;border-radius:49% 49% 0 0}.hero-image>img{height:100%;object-fit:cover;object-position:center 44%;border-radius:49% 49% 0 0;filter:saturate(.73)}.hero-image:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(29,17,21,.55));pointer-events:none}.hero-image figcaption{position:absolute;bottom:25px;left:30px;right:20px;color:white;font-family:var(--serif);font-size:20px;z-index:1;font-style:italic}.image-seal{position:absolute;top:38px;right:-24px;border:1px solid #cab5aa;border-radius:50%;width:104px;height:104px;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--serif);font-size:37px;line-height:1;z-index:2;box-shadow:0 0 0 7px #faf7f280}.image-seal span{font-size:13px}.image-seal small{font-family:var(--sans);font-size:6px;letter-spacing:.11em;margin-top:8px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:41px 0 23px;font-size:9px;letter-spacing:.17em}.hero-bottom a{font-family:var(--serif);font-size:17px;letter-spacing:0}.hero-bottom a span{margin-left:20px}.experience{display:grid;grid-template-columns:1.15fr 1fr;gap:50px 90px}.experience .large-text{font-family:var(--serif);font-size:23px;max-width:440px;line-height:1.5;margin-top:30px}.experience-text{padding-top:50px;line-height:1.9;color:var(--muted);font-size:15px}.experience-text .energy-note{font-size:12px;line-height:1.8;border-left:1px solid var(--accent);padding-left:22px;margin-top:28px}.benefits{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:55px;padding-top:19px}.benefits>div{border-top:1px solid var(--line);padding-top:20px}.fine-number{font-size:10px;color:var(--accent);letter-spacing:.1em}.benefits h3{font-size:25px;margin:17px 0 12px}.benefits p{font-size:13px;color:var(--muted);max-width:290px}.menu-section{background:var(--blush)}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:58px}.section-heading>p{max-width:320px;font-size:14px;color:var(--muted);padding-bottom:5px}.treatments{border-top:1px solid #cfbfb8}.treatment{display:grid;grid-template-columns:58px 1fr 150px;gap:15px;padding-block:32px;border-bottom:1px solid #cfbfb8;align-items:center}.treatment-number{font-family:var(--serif);font-size:18px;color:#a88676;align-self:start;padding-top:3px}.treatment-mood{text-transform:uppercase;letter-spacing:.11em;font-size:8px;margin-bottom:9px;color:var(--muted)}.treatment h3{font-size:31px}.treatment-copy>p:last-child{font-size:13px;color:var(--muted);margin-top:12px;max-width:650px;line-height:1.7}.treatment-price{text-align:right;font-size:11px}.treatment-price>span{color:var(--muted)}.treatment-price>p{font-family:var(--serif);font-size:29px;line-height:1.5;margin-top:1px;white-space:nowrap}.treatment-price small{font-family:var(--sans);font-size:9px}.choose{display:inline-flex;gap:19px;border-bottom:1px solid #a78576;padding-bottom:4px;margin-top:8px;font-size:10px}.menu-note{max-width:890px;margin-top:25px;font-size:11px}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.location-photo{height:310px;overflow:hidden;position:relative;background:var(--blush)}.location-photo img{height:100%;object-fit:cover;filter:saturate(.65);transition:transform .8s}.location-grid article:hover img{transform:scale(1.025)}.location-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#21160f90)}.location-photo span{position:absolute;bottom:21px;left:24px;color:white;letter-spacing:.15em;font-size:9px;z-index:1}.location-grid h3{margin-top:28px;font-size:31px}.location-grid p{margin-top:17px;font-size:13px;color:var(--muted);max-width:450px}.text-link{display:inline-block;font-size:12px;border-bottom:1px solid var(--accent);padding-block:6px;margin-top:19px}.care{background:var(--ink);color:var(--paper)}.care-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px}.care em{color:#d5b5a3}.care .eyebrow{color:#d5b5a3}.care h2{font-size:54px}.care-symbol{position:relative;width:150px;height:105px;margin-top:43px}.care-symbol i{position:absolute;border:1px solid #b38e7e;width:85px;height:105px;border-radius:50%;transform:rotate(35deg);opacity:.6}.care-symbol i+i{left:55px;transform:rotate(-35deg)}.care ol{list-style:none;padding:0;margin:0}.care li{display:flex;gap:25px;padding:25px 0;border-top:1px solid #ffffff30}.care li:first-child{padding-top:0;border-top:0}.care li:last-child{padding-bottom:0}.care li>span{font-size:10px;color:#d5b5a3;padding-top:5px}.care h3{font-size:26px;margin-bottom:12px}.care li p{font-size:13px;color:#d7cbd0}.booking{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.booking-intro>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:28px;max-width:330px}.direct-email{margin-top:43px}.direct-email>span{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.direct-email>a{font-family:var(--serif);font-size:23px;border-bottom:1px solid var(--line);padding-bottom:8px;display:inline-block}.direct-email>a span{font-family:var(--sans);font-size:18px;padding-left:8px}.booking-intro>p.small{font-size:10px}form{background:#f0e8e2;padding:39px}form>h3{font-size:28px;margin-bottom:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 17px}.form-grid label{font-size:11px;display:flex;flex-direction:column;gap:7px;min-width:0}.full{grid-column:1/-1}input,select,textarea{background:var(--paper);border:1px solid #cbbcb4;color:var(--ink);border-radius:0;padding:12px;min-width:0;width:100%;font-size:13px;line-height:1.5}input,select{height:46px}select{padding-right:25px;text-overflow:ellipsis}textarea{resize:vertical;min-height:90px}input::placeholder,textarea::placeholder{color:#8c7b7f;font-size:12px}input[type=date]{min-width:0;display:block}input[type=checkbox]{width:16px;height:16px;flex-shrink:0;padding:0;margin:3px 0 0;accent-color:var(--ink)}.form-estimate{border-block:1px solid #d4c4ba;margin-top:24px;padding-block:15px}.form-estimate span{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.form-estimate strong{font-size:15px;font-family:var(--serif);font-weight:400}.checkbox{display:flex;gap:10px;margin-top:20px;font-size:10px;line-height:1.7}.inline-button{border:0;border-bottom:1px solid var(--accent);background:none;padding:0;font:inherit}.form-submit{width:100%;margin-top:24px}.form-note{font-size:10px;margin-top:15px}.prepared{margin-top:25px;border-top:1px solid var(--line);padding-top:25px}.prepared h4{font-size:26px}.prepared p{font-size:12px;margin-top:14px}.prepared textarea{margin-top:15px;font-size:12px}.prepared-actions{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-top:15px}.prepared .button{padding:13px 17px;font-size:11px}.copy-button{background:none;border:0;border-bottom:1px solid var(--accent);padding:5px 0;font-size:11px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;border-top:1px solid var(--line);padding-top:90px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:23px;line-height:1.5}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:22px;color:var(--accent);font-weight:300;transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:13px;color:var(--muted);padding:0 35px 25px 0;line-height:1.8}footer{background:#e9ded7;padding:60px 0 22px}.footer-main{display:flex;justify-content:space-between;gap:50px;padding-bottom:45px}.footer-tagline{font-family:var(--serif);font-size:24px;margin-top:23px}.footer-main .small{font-size:11px;margin-top:12px}.footer-contact{font-size:11px;padding-top:12px}.footer-contact>a{font-family:var(--serif);font-size:23px;border-bottom:1px solid #bb9d8c;padding-bottom:9px;display:inline-block;margin-bottom:20px}.footer-contact p+p{margin-top:6px}.footer-bottom{border-top:1px solid #cdbcb2;padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:9px;color:var(--muted)}.footer-bottom>div{display:flex;gap:25px}.footer-bottom button{border:0;background:transparent;font:inherit;padding:5px 0}dialog{border:1px solid var(--line);padding:50px;max-width:630px;width:calc(100% - 32px);max-height:85vh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#1c1018a6;backdrop-filter:blur(3px)}dialog h2{font-size:36px;margin-bottom:24px}dialog>p:not(.eyebrow){font-size:14px;line-height:1.9}dialog a{font-size:13px;text-decoration:underline}.dialog-close{position:absolute;top:12px;right:17px;border:0;background:none;font-size:30px;width:35px;height:35px;line-height:1}[hidden]{display:none!important}
@media(min-width:1500px){.hero-image{height:680px}.hero h1{font-size:80px}}
@media(max-width:1150px){.wrap{width:calc(100% - 80px)}.header{gap:20px}.header nav{gap:18px}.header-right{gap:17px}.header-cta{display:none}.hero{gap:0 40px}.hero-image{height:560px}.hero h1{font-size:61px;width:120%}.hero-intro{max-width:310px}.experience,.care-layout,.booking,.faq{gap:55px}.hero-foot{font-size:9px}form{padding:28px}.care h2{font-size:46px}}
@media(max-width:900px){.header nav{font-size:10px;gap:16px}.brand{font-size:25px}.header{height:80px}.hero h1{font-size:52px}.hero-image{height:520px}.hero-intro{font-size:14px}.section{padding-block:85px}.experience{gap:35px}.benefits{gap:30px}.care-layout,.booking,.faq{gap:40px}.care h2{font-size:39px}.booking{grid-template-columns:.85fr 1.15fr}.booking h2{font-size:43px}.direct-email>a{font-size:20px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.treatment h3{font-size:28px}.location-photo{height:270px}}
@media(max-width:760px){html{scroll-padding-top:28px}.wrap{width:calc(100% - 44px)}.header{height:78px;padding-inline:22px}.header nav{position:absolute;top:77px;left:0;right:0;background:var(--paper);padding:23px 28px 30px;display:none;flex-direction:column;gap:19px;border-bottom:1px solid var(--line);font-size:15px}.header nav.is-open{display:flex}.header-right{gap:20px}.nav-toggle{display:block}.brand{font-size:26px}.brand-mark{width:33px;height:39px;font-size:26px}.hero{grid-template-columns:1fr;gap:0;padding-top:14px}.hero-copy{padding-block:29px 37px}.eyebrow{font-size:9px;margin-bottom:19px;letter-spacing:.15em}.hero h1{font-size:clamp(44px,10.8vw,69px);width:100%;line-height:1.07;letter-spacing:-.045em}.hero-intro{margin-top:24px;font-size:14px;max-width:440px}.hero .button{margin-top:25px;padding:15px 21px}.hero-foot{margin-top:20px;font-size:10px}.hero-image{height:480px;margin:0 10px 0 0;max-width:570px}.hero-image:before{inset:15px -10px -10px 15px}.hero-image>img{object-position:center 38%;border-radius:47% 47% 0 0}.hero-image figcaption{font-size:21px;left:24px;bottom:24px}.image-seal{width:83px;height:83px;font-size:29px;right:-12px;top:29px}.image-seal span{font-size:11px}.image-seal small{font-size:5px}.hero-bottom{padding-top:35px;font-size:7px;gap:15px;letter-spacing:.08em}.hero-bottom a{font-size:14px}.hero-bottom a span{margin-left:8px}.section{padding-block:70px}h2{font-size:43px}.experience{grid-template-columns:1fr;gap:25px}.experience .large-text{font-size:22px;max-width:none;margin-top:25px}.experience-text{padding-top:0;font-size:14px}.experience-text .energy-note{margin-top:23px}.benefits{grid-column:auto;grid-template-columns:1fr;gap:25px;padding-top:12px}.benefits>div{display:grid;grid-template-columns:32px 1fr;gap:4px 10px}.fine-number{padding-top:4px}.benefits h3{margin:0 0 8px;font-size:24px}.benefits p{grid-column:2;max-width:none}.section-heading{display:block;margin-bottom:37px}.section-heading>p{margin-top:22px;max-width:480px;font-size:13px}.treatment{grid-template-columns:25px 1fr 85px;gap:10px;padding-block:26px}.treatment-number{font-size:15px}.treatment h3{font-size:25px;line-height:1.15}.treatment-mood{font-size:7px;letter-spacing:.07em}.treatment-copy>p:last-child{font-size:12px;line-height:1.7;margin-top:12px}.treatment-price>p{font-size:24px;white-space:normal;line-height:1.3;margin-top:5px}.treatment-price small{font-size:8px;display:block}.choose{font-size:9px;gap:9px;margin-top:12px}.menu-note{font-size:10px}.location-grid{grid-template-columns:1fr;gap:43px}.location-photo{height:300px}.location-grid h3{font-size:29px;margin-top:23px}.location-grid p{max-width:none}.care-layout{grid-template-columns:1fr;gap:34px}.care h2{font-size:44px}.care-symbol{display:none}.care li{gap:20px;padding:22px 0}.care li:first-child{padding-top:0}.care h3{font-size:25px}.booking{grid-template-columns:1fr;gap:36px}.booking-intro>p:not(.eyebrow){max-width:430px;margin-top:24px}.direct-email{margin-top:27px}.direct-email>a{font-size:23px}.booking-intro>p.small{margin-top:20px}.form-grid{grid-template-columns:1fr 1fr}.full{grid-column:1/-1}.booking form{padding:26px 22px;margin-inline:-2px}.form-grid label{font-size:10px}input,select,textarea{font-size:16px;padding:10px}select{font-size:13px}input::placeholder,textarea::placeholder{font-size:12px}.checkbox{font-size:10px}.form-estimate strong{font-size:15px}.faq{grid-template-columns:1fr;gap:32px}.faq summary{font-size:13px;padding-block:21px}.faq details p{padding-right:15px;font-size:12px}.footer-main{display:block;padding-bottom:34px}.footer-tagline{font-size:24px}.footer-contact{padding-top:30px}.footer-contact>a{font-size:23px}.footer-bottom{display:block;font-size:9px}.footer-bottom>div{margin-top:12px;gap:26px}.footer-main .small{font-size:11px}footer{padding-top:43px}dialog{padding:40px 26px}dialog h2{font-size:31px}dialog>p:not(.eyebrow){font-size:13px}}
@media(max-width:380px){.wrap{width:calc(100% - 34px)}.header{padding-inline:17px}.hero h1{font-size:42px}.hero-image{height:430px}.hero-bottom{display:block}.hero-bottom a{display:block;margin-top:10px}.treatment{grid-template-columns:20px 1fr 69px;gap:7px}.treatment h3{font-size:23px}.treatment-copy>p:last-child{font-size:11px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.booking form{padding:25px 18px}.prepared-actions .button{width:100%;justify-content:center}.care h2,h2{font-size:39px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.hero-photo-frame{position:absolute;inset:0;overflow:hidden;border-radius:49% 49% 0 0;background:#e8dfd6}.hero-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}
@media(max-width:760px){.hero-photo-frame{border-radius:47% 47% 0 0}}

.location-photo img{filter:none}.sensory-gallery{padding:0 0 112px}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:40px}.gallery-heading>p{font-size:14px;max-width:300px;color:var(--muted)}.gallery-images{display:grid;grid-template-columns:1.35fr 1fr;gap:24px}.gallery-images figure{height:410px;overflow:hidden}.gallery-images figure:nth-child(2){margin-top:70px;height:340px}.gallery-images img{height:100%;object-fit:cover}.gallery-images figure:first-child img{object-position:50% 70%}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.form-submit:disabled{opacity:.65;cursor:wait;transform:none}#send-status{padding:12px 0;font-size:13px}#send-status.is-success{color:#355b46}#send-status.is-error{color:#8b382d}
@media(max-width:760px){.sensory-gallery{padding-bottom:70px}.gallery-heading{display:block;margin-bottom:28px}.gallery-heading>p{margin-top:22px;max-width:100%}.gallery-images{gap:14px;grid-template-columns:1fr 1fr}.gallery-images figure{height:300px}.gallery-images figure:nth-child(2){height:250px;margin-top:50px}.gallery-images img{object-position:48% center}.hero-photo-frame img{object-position:50% 60%}}

/* Face-free, responsive photographic windows with warm, subdued light. */
.massage-photo{display:block;width:100%;height:100%;overflow:hidden;filter:sepia(.2) saturate(.7) brightness(.78) contrast(1.12)}
.hero-photo-frame{background:#302329}
.hero-photo-frame .massage-photo{filter:sepia(.24) saturate(.66) brightness(.72) contrast(1.15)}
.gallery-images figure{position:relative;background:#302329}
.gallery-images figure:after{content:'';position:absolute;inset:0;background:linear-gradient(125deg,rgba(45,23,32,.14),transparent 55%,rgba(30,14,21,.2));pointer-events:none}
.location-photo .massage-photo{filter:sepia(.18) saturate(.65) brightness(.76) contrast(1.12)}
@media(max-width:760px){
 .gallery-images{grid-template-columns:1fr}
 .gallery-images figure,.gallery-images figure:nth-child(2){height:auto;aspect-ratio:1.45;margin-top:0}
}
