@import url('fonts.css');
:root{--charcoal:#111311;--surface:#1b1d19;--gold:#c9aa78;--gold-hover:#e0c397;--ivory:#f3f0e8;--ink:#1c201b;--muted:#58594f;--muted-light:#d2cbbf;--rule:rgba(201,170,120,.35);--gz-display:'Cormorant Garamond',Georgia,serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--charcoal);color:var(--ivory);font:400 17px/1.65 var(--body);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--gz-display);font-weight:500;line-height:1.04;letter-spacing:-.025em;text-wrap:balance}h1{font-size:clamp(44px,5.4vw,80px)}h2{font-size:clamp(36px,3.7vw,56px)}h3{font-size:30px}p{margin-top:18px}::selection{background:var(--gold);color:var(--charcoal)}:focus-visible{outline:3px solid var(--gold);outline-offset:5px}input,textarea{caret-color:var(--ink)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--charcoal)}::-webkit-scrollbar-thumb{background:#786c55;border:2px solid var(--charcoal);border-radius:8px}svg{flex-shrink:0;vertical-align:middle}.container{width:min(1280px,90%);margin-inline:auto}.section{padding-block:96px}.light{background:var(--ivory);color:var(--ink)}.dark{background:var(--charcoal);color:var(--ivory)}.light p{color:var(--muted)}.dark p{color:var(--muted-light)}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:15px 25px;min-height:50px;border:1px solid var(--gold);border-radius:2px;background:var(--gold);color:var(--charcoal);font-size:14px;font-weight:600;line-height:1.2;transition:background .2s,color .2s}.button:hover{background:var(--gold-hover)}.button-outline{background:transparent;color:var(--ivory)}.button-outline:hover{background:var(--gold);color:var(--charcoal)}.button-dark{background:var(--charcoal);border-color:var(--charcoal);color:var(--ivory)}.button-dark:hover{background:#35382e}.button-small{padding:12px 18px;min-height:42px;font-size:13px}.text-link{display:inline-flex;align-items:center;gap:12px;padding-block:8px;font-size:14px;text-underline-offset:6px}.text-link:hover{text-decoration:underline}.dark .text-link{color:var(--gold)}.skip-link{position:absolute;left:20px;top:-100px;z-index:1000;padding:12px;background:var(--gold);color:var(--ink)}.skip-link:focus{top:12px}
.site-header{background:var(--charcoal);border-bottom:1px solid var(--rule);position:relative;z-index:100}.header-inner{width:min(1400px,92%);min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin:auto}.wordmark{display:flex;align-items:center;gap:14px;color:var(--gold);flex-shrink:0}.wordmark>span{font-family:var(--gz-display);font-size:24px;line-height:1.1}.wordmark small{display:block;font-family:var(--body);font-size:9px;letter-spacing:.18em;margin-top:6px}.primary-nav{display:flex;gap:26px;align-items:center;font-size:13px}.primary-nav>a:not(.button),.primary-nav>li>a{padding:14px 0;white-space:nowrap}.primary-nav [aria-current=page]{color:var(--gold)}.primary-nav>li{list-style:none}.primary-nav>li>a:hover,.primary-nav>a:not(.button):hover{color:var(--gold)}.menu-toggle{display:none}.hero{position:relative;min-height:650px;overflow:hidden;background:var(--charcoal)}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;inset:0}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,19,17,.88) 0%,rgba(17,19,17,.5) 35%,rgba(17,19,17,.03) 64%);pointer-events:none}.hero-inner{position:relative;z-index:1;display:flex;align-items:center;min-height:650px;padding-block:70px}.hero-copy{max-width:635px}.hero h1{max-width:650px;color:var(--ivory)}.hero-copy>p{max-width:480px;color:#e6e1d7;font-size:18px;line-height:1.6;margin-top:26px}.actions{display:flex;gap:16px;margin-top:32px;flex-wrap:wrap}.hero-notes{display:flex;gap:23px;margin-top:38px;flex-wrap:wrap}.hero-notes span{display:flex;align-items:center;gap:9px;font-size:12px;color:#e6e1d7}.hero-notes svg{color:var(--gold)}.image-caption{position:absolute;z-index:2;right:28px;bottom:18px;font-size:11px;color:#f7f4ed;text-shadow:0 1px 3px #111}.booking-steps{background:var(--surface);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-block:30px}.steps-grid>div{display:flex;align-items:center;gap:23px;padding-inline:30px;border-right:1px solid var(--rule)}.steps-grid>div:first-child{padding-left:0}.steps-grid>div:last-child{border:0;padding-right:0}.steps-grid>div>span{font:500 38px/1 var(--gz-display);color:var(--gold)}.steps-grid h2{font-size:23px;letter-spacing:-.01em}.steps-grid p{font-size:12px;color:var(--muted-light);margin-top:7px;line-height:1.5}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:38px}.section-heading>p{max-width:320px;font-size:15px}.treatments-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.treatment-image{display:block;overflow:hidden;aspect-ratio:1.6;background:#dfd8ca}.treatment-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}.treatment-image:hover img{transform:scale(1.04)}.treatment h3,.treatment h2{margin-top:20px;font-size:31px}.treatment>p{font-size:15px;line-height:1.6;margin-top:12px;max-width:40ch}.treatment-meta{display:flex;gap:24px;align-items:center;margin-top:16px;font-size:13px}.treatment-meta .text-link{color:#72572d}.story-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:76px;align-items:center}.story-grid>figure{position:relative}.story-grid img{width:100%;aspect-ratio:1.18;object-fit:cover;object-position:right}.story-grid figcaption{margin-top:12px;color:var(--muted-light);font-size:11px}.story-copy>p{max-width:46ch;font-size:16px;margin-top:25px}.line-list{padding:0;margin:30px 0 17px;list-style:none;max-width:450px}.line-list li{padding:16px 0;border-bottom:1px solid var(--rule);font-size:14px;display:flex;gap:17px;align-items:center}.line-list svg{color:var(--gold)}.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.experience{display:block}.experience>img{width:100%;aspect-ratio:1.5;object-fit:cover}.experience>div{padding-top:20px}.experience h3{font-size:31px}.experience span{display:flex;gap:10px;align-items:center;margin-top:12px;color:var(--muted);font-size:13px}.experience:hover h3{text-decoration:underline;text-underline-offset:6px}.pricing-section .section-heading{margin-bottom:40px}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--rule)}.price-grid article{padding:32px 28px;display:flex;align-items:center;text-align:center;flex-direction:column}.price-grid article+article{border-left:1px solid var(--rule)}.price-grid h3{font-size:29px}.price-grid p{font-size:14px;margin-top:13px}.price-grid strong{font-size:17px;font-weight:500;color:var(--gold);margin-top:17px}.price-grid .text-link{margin-top:17px}.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.faqs details{border-bottom:1px solid #bfb9a9}.faqs summary{list-style:none;display:flex;gap:24px;justify-content:space-between;align-items:center;padding:20px 0;font-size:16px;cursor:pointer;min-height:62px}.faqs summary::-webkit-details-marker{display:none}.faqs summary span{font-size:25px;font-weight:400}.faqs details[open] summary span{transform:rotate(45deg)}.faqs details>p{font-size:15px;margin:0 24px 22px 0;max-width:62ch}.closing{background:#1b1d19;overflow:hidden}.closing-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;min-height:360px}.closing-inner>div{padding-block:55px;position:relative;z-index:1}.closing p{font-size:16px;color:var(--muted-light);margin:20px 0 28px}.closing img{height:360px;width:100%;object-fit:cover}.site-footer{padding-block:38px 24px;font-size:12px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:36px}.footer-top nav{display:flex;gap:24px;flex-wrap:wrap}.footer-top>span{color:var(--muted-light)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:35px;padding-top:20px;border-top:1px solid var(--rule);color:var(--muted-light);font-size:11px}.mobile-booking{display:none}
.page-heading{padding:55px 0 70px}.page-heading h1{font-size:clamp(42px,5vw,72px);max-width:1050px}.page-heading p{max-width:700px;font-size:18px;margin-top:23px}.breadcrumbs{display:flex;gap:13px;font-size:12px;color:var(--muted-light);margin-bottom:28px}.breadcrumbs a:hover{text-decoration:underline}.content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr);gap:80px}.prose{max-width:72ch}.prose>h2{font-size:36px;margin:44px 0 18px}.prose>h2:first-child{margin-top:0}.prose>h3{font-size:29px;margin:32px 0 16px}.prose p,.prose li{color:var(--muted)}.prose p{margin:0 0 22px}.prose a{text-decoration:underline;text-underline-offset:4px;color:#6d4f1f}.prose ul,.prose ol{padding-left:25px;margin:20px 0 28px}.prose li+li{margin-top:10px}.page-aside figure img{width:100%;aspect-ratio:1.3;object-fit:cover}.page-aside figcaption{margin-top:10px;color:var(--muted);font-size:11px}.aside-book{margin-top:30px;border-top:1px solid #bfb9a9;padding-top:30px}.aside-book h2{font-size:36px}.aside-book p{font-size:15px}.aside-book .button{margin-top:24px}.aside-book>span{display:block;font-size:13px;margin-top:20px;color:var(--muted)}.price-list{margin-top:35px}.price-list>div{display:flex;justify-content:space-between;gap:25px;padding:22px 0;border-bottom:1px solid #bfb9a9}.price-list strong{white-space:nowrap;font-size:15px;font-weight:500}.guide-list>a{display:block;padding:28px 0;border-bottom:1px solid #bfb9a9;text-decoration:none}.guide-list h2{font-size:33px}.guide-list p{margin-top:14px;font-size:15px}.service-facts{margin-top:35px}.service-facts>div{display:flex;gap:30px;justify-content:space-between;padding:18px 0;border-bottom:1px solid #bfb9a9;font-size:15px}.service-facts dt{font-weight:600}.service-facts dd{margin:0;color:var(--muted)}.error-page{padding-block:60px}.error-page h1{margin-bottom:30px}.booking-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:95px;align-items:start}.booking-contact>p{max-width:45ch}.wechat-panel{border-top:1px solid #bfb9a9;border-bottom:1px solid #bfb9a9;margin-top:38px;padding-block:28px}.wechat-panel>svg{color:#72572d;margin-bottom:15px}.wechat-panel h3{font-size:32px}.wechat-panel p{font-size:15px;max-width:40ch}.wechat-panel strong{display:block;font-size:25px;font-weight:500;letter-spacing:.015em;margin-block:21px}.copy-status{display:block;margin-top:12px;font-size:13px;min-height:22px}.booking-note{font-size:13px!important;margin-top:25px!important}.form-wrap h2{font-size:38px}.form-wrap>p{font-size:15px;margin-top:13px}.booking-form{margin-top:30px}.booking-form label{display:block;font-size:14px;font-weight:500;margin-bottom:22px}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;margin-top:9px;padding:13px 14px;background:#faf8f2;border:1px solid #b0aa9b;border-radius:2px;color:var(--ink);min-height:50px;max-width:100%}.booking-form textarea{resize:vertical}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#69685e;opacity:1;font-size:14px}.booking-form label small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:7px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-privacy{font-size:12px;margin:5px 0 25px}.form-privacy a{text-decoration:underline;text-underline-offset:3px}.booking-form .button{min-width:180px}.form-status{font-size:14px;line-height:1.65;margin-top:18px;min-height:24px}.form-status.error{color:#8c2922}.form-status.success{color:#315332}.button:disabled{opacity:.6;cursor:wait}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(min-width:1600px){.hero-inner,.hero{min-height:710px}.hero-copy{max-width:680px}}
@media(max-width:1150px){.primary-nav{gap:17px;font-size:12px}.wordmark>span{font-size:22px}.wordmark>svg{width:32px}.story-grid{gap:45px}.booking-grid{gap:55px}.content-grid{gap:45px}.hero-copy{max-width:560px}.hero h1{font-size:64px}.hero-copy>p{max-width:420px}.hero:after{background:linear-gradient(90deg,rgba(17,19,17,.94),rgba(17,19,17,.55) 45%,rgba(17,19,17,.07) 80%)}}
@media(max-width:940px){.header-inner{min-height:78px}.menu-toggle{display:flex;align-items:center;gap:12px;background:transparent;border:0;color:var(--ivory);padding:14px 0 14px 14px;min-height:44px;font-size:13px}.menu-lines{width:21px;height:14px;border-block:1px solid var(--gold);position:relative}.menu-lines:after{content:'';position:absolute;width:100%;height:1px;background:var(--gold);top:6px}.primary-nav{display:none;position:absolute;top:100%;inset-inline:0;background:var(--charcoal);border-bottom:1px solid var(--rule);padding:22px 5% 30px;flex-direction:column;align-items:stretch;gap:6px;font-size:16px}.primary-nav.is-open{display:flex}.primary-nav>a:not(.button),.primary-nav>li>a{display:block;padding:13px 0}.primary-nav .button{margin-top:13px}.hero,.hero-inner{min-height:590px}.hero h1{font-size:60px}.hero-copy{max-width:530px}.hero-notes{gap:16px}.steps-grid>div{padding-inline:15px;gap:13px}.steps-grid h2{font-size:21px}.steps-grid p{font-size:11px}.section{padding-block:72px}.treatments-grid,.experience-grid{gap:20px}.treatment h3,.experience h3{font-size:27px}.treatment-meta{gap:16px}.story-grid{gap:35px}.story-copy h2{font-size:43px}.story-copy>p{font-size:15px}.faq-grid{gap:45px}.closing-inner{gap:30px}.closing h2{font-size:45px}.footer-top{flex-wrap:wrap;gap:25px}.booking-grid{gap:40px}.content-grid{gap:35px;grid-template-columns:minmax(0,1.35fr) minmax(220px,1fr)}}
@media(max-width:680px){body{font-size:16px}.container{width:auto;margin-inline:22px}.header-inner{width:auto;margin-inline:22px;gap:15px;min-height:76px}.wordmark{gap:9px}.wordmark>span{font-size:22px}.wordmark small{font-size:8px}.wordmark>svg{width:29px}.hero,.hero-inner{min-height:670px}.hero-photo{object-position:62% center;opacity:.65}.hero:after{background:linear-gradient(90deg,rgba(17,19,17,.86),rgba(17,19,17,.5)),linear-gradient(0deg,rgba(17,19,17,.4),transparent)}.hero-inner{align-items:center;padding-block:62px 75px}.hero-copy{max-width:100%}.hero h1{font-size:clamp(44px,12vw,57px);line-height:1.06;max-width:100%}.hero-copy>p{font-size:16px;max-width:34ch;margin-top:23px}.actions{gap:12px;margin-top:29px;flex-direction:column;align-items:stretch;max-width:340px}.actions .button{min-height:52px}.hero-notes{gap:13px 17px;margin-top:27px;max-width:330px}.hero-notes span{font-size:11px}.hero-notes svg{width:17px;height:17px}.image-caption{font-size:10px;right:22px;bottom:13px}.steps-grid{grid-template-columns:1fr;gap:0;padding-block:10px}.steps-grid>div,.steps-grid>div:first-child,.steps-grid>div:last-child{padding:19px 0;border-right:0;border-bottom:1px solid var(--rule);gap:22px}.steps-grid>div:last-child{border-bottom:0}.steps-grid>div>span{font-size:34px;min-width:38px}.steps-grid h2{font-size:24px}.steps-grid p{font-size:12px}.section{padding-block:62px}h2{font-size:40px}.section-heading{display:block;margin-bottom:30px}.section-heading>.text-link,.section-heading>p{margin-top:19px}.treatments-grid,.experience-grid{grid-template-columns:1fr;gap:35px}.treatment-image{aspect-ratio:1.55}.treatment h3,.experience h3{font-size:31px;margin-top:16px}.treatment>p{max-width:100%}.treatment-meta{margin-top:10px;justify-content:space-between}.story-grid{grid-template-columns:1fr;gap:35px}.story-grid img{aspect-ratio:1.3}.story-copy h2{font-size:43px}.story-copy>p{margin-top:22px}.experience>img{aspect-ratio:1.55}.experience>div{padding-top:0}.price-grid{grid-template-columns:1fr}.price-grid article{padding:30px 25px}.price-grid article+article{border-left:0;border-top:1px solid var(--rule)}.price-grid h3{font-size:31px}.faq-grid{grid-template-columns:1fr;gap:25px}.faqs summary{font-size:15px;padding-block:20px}.faqs details>p{font-size:14px;margin-right:0}.closing-inner{grid-template-columns:1fr;gap:0;margin-inline:0}.closing-inner>div{padding:48px 22px}.closing h2{font-size:43px}.closing img{height:220px}.site-footer{padding-block:35px 90px}.footer-top{display:block}.footer-top nav{gap:20px;margin-top:28px;font-size:13px}.footer-top>span{display:block;margin-top:22px}.footer-bottom{display:block;margin-top:25px}.footer-bottom>span{display:block;margin-bottom:12px}.mobile-booking{display:grid;grid-template-columns:1.3fr 1fr;position:fixed;z-index:90;bottom:0;inset-inline:0;background:var(--charcoal);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--rule)}.mobile-booking a{min-height:54px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:13px}.mobile-booking a:first-child{background:var(--gold);color:var(--charcoal)}.mobile-booking a:last-child{color:var(--ivory)}.page-heading{padding-block:35px 48px}.page-heading h1{font-size:46px}.page-heading p{font-size:16px}.breadcrumbs{margin-bottom:22px;font-size:11px}.content-grid{grid-template-columns:1fr;gap:45px}.prose>h2{font-size:34px;margin-top:37px}.prose>h3{font-size:28px}.page-aside{border-top:1px solid #bfb9a9;padding-top:35px}.page-aside figure img{aspect-ratio:1.5}.aside-book h2{font-size:35px}.booking-grid{grid-template-columns:1fr;gap:48px}.booking-contact h2{font-size:41px}.wechat-panel{margin-top:27px}.form-wrap{border-top:1px solid #bfb9a9;padding-top:35px}.form-wrap h2{font-size:35px}.form-row{grid-template-columns:1fr;gap:0}.booking-form .button{width:100%}.price-list>div{display:block}.price-list strong{display:block;margin-top:10px}.service-facts>div{gap:18px;font-size:14px}.error-page{padding-block:20px}.error-page h1{font-size:43px}}
.elementor .elementor-widget-heading .elementor-heading-title{font-family:var(--gz-display);font-weight:500;line-height:1.04;letter-spacing:-.025em;color:inherit;font-size:clamp(36px,3.7vw,56px)}.elementor .elementor-widget-heading h1.elementor-heading-title{font-size:clamp(44px,5.4vw,80px)}.elementor .elementor-widget-heading h3.elementor-heading-title{font-size:31px}.elementor .elementor-widget-text-editor{color:inherit;font-family:var(--body);font-size:17px;line-height:1.65}.elementor .elementor-widget-text-editor p:last-child{margin-bottom:0}.elementor .e-con{--widgets-spacing:0px;--gap:0px;--row-gap:0px;--column-gap:0px}.elementor .e-con.gz-container{width:min(1280px,90%);max-width:none;margin-inline:auto;padding:0;gap:0}.elementor .e-con.gz-section{padding-block:96px;padding-inline:0;width:100%;gap:0}.elementor .e-con.gz-hero{padding:0;min-height:650px;width:100%;overflow:hidden}.elementor .gz-hero>.hero-inner{min-height:650px;justify-content:center;padding-block:70px;z-index:1;align-items:flex-start}.elementor .hero-copy{width:635px;max-width:52%;padding:0;gap:0}.elementor .hero-copy>.elementor-widget-text-editor{margin-top:24px;max-width:480px;color:#e6e1d7;font-size:18px}.elementor .hero-copy>.elementor-widget-text-editor p{margin-top:0}.elementor .e-con.actions{flex-direction:row;width:auto;gap:16px;padding:0;margin-top:32px;flex-wrap:wrap;justify-content:flex-start}.elementor .actions>.elementor-widget-button{width:auto}.elementor .hero-notes{margin-top:8px}.elementor .hero:after{z-index:0}.elementor .image-caption{position:absolute;z-index:2;width:auto;right:28px;bottom:18px;font-size:11px!important;margin:0!important}.elementor .gz-btn .elementor-button{background:var(--gold);color:var(--charcoal);font:600 14px/1.2 var(--body);border:1px solid var(--gold);border-radius:2px;padding:16px 24px;min-height:50px;display:inline-flex;align-items:center;justify-content:center}.elementor .gz-btn .elementor-button:hover{background:var(--gold-hover);color:var(--charcoal)}.elementor .gz-btn-outline .elementor-button{background:transparent;color:var(--ivory)}.elementor .gz-btn-link .elementor-button{background:transparent;color:inherit;border:0;border-bottom:1px solid var(--rule);border-radius:0;padding:6px 0;min-height:34px;font-weight:400}.elementor .dark .gz-btn-link .elementor-button{color:var(--gold)}.elementor .e-con.section-heading{width:100%;padding:0;gap:40px;justify-content:space-between;align-items:flex-end;flex-direction:row;margin-bottom:38px}.elementor .section-heading>.elementor-widget-button,.elementor .section-heading>.elementor-widget-text-editor{width:auto;max-width:340px}.elementor .section-heading>.elementor-widget-heading{width:auto}.elementor .booking-steps{padding:0;width:100%;gap:0}.elementor .e-con.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-block:30px;gap:0}.elementor .e-con.gz-step{padding:0 28px;display:flex;flex-direction:row;gap:20px;border-right:1px solid var(--rule);width:100%}.elementor .gz-step:first-child{padding-left:0}.elementor .gz-step:last-child{border:0;padding-right:0}.elementor .gz-step-number{width:auto;color:var(--gold);font:500 38px/1 var(--gz-display);flex-shrink:0}.elementor .gz-step-copy{padding:0;gap:0}.elementor .gz-step-copy .elementor-heading-title{font-size:23px!important}.elementor .gz-step-copy .elementor-widget-text-editor{font-size:12px;color:var(--muted-light);margin-top:7px}.elementor .gz-step-copy p{margin:0}.elementor .e-con.story-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:76px;padding:0;width:100%;align-items:center}.elementor .gz-story-image img{aspect-ratio:1.18;object-fit:cover;object-position:right}.elementor .story-copy{padding:0;gap:0}.elementor .story-copy .elementor-widget-text-editor{font-size:16px;color:var(--muted-light)}.elementor .story-copy .gz-btn-link{margin-top:10px}.elementor .e-con.gz-experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:0;width:100%}.elementor .e-con.gz-experience{padding:0;gap:0}.elementor .gz-experience img{aspect-ratio:1.5;object-fit:cover}.elementor .gz-experience>.elementor-widget-heading{margin-top:18px}.elementor .gz-experience>.elementor-widget-text-editor{font-size:14px;color:var(--muted);margin-top:12px}.elementor .gz-experience p{margin:0}.elementor .gz-experience .gz-btn-link{margin-top:10px}.elementor .e-con.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;padding:0;width:100%}.elementor .gz-page-banner{padding:55px 0 70px;width:100%;gap:0}.elementor .gz-page-banner .elementor-widget-heading{max-width:1050px}.elementor .gz-page-banner .elementor-widget-text-editor:not(.gz-breadcrumb){max-width:700px;color:var(--muted-light);margin-top:23px;font-size:18px}.elementor .gz-breadcrumb{font-size:12px;color:var(--muted-light);margin-bottom:28px}.elementor .e-con.gz-content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr);gap:80px;padding:0;width:100%}.elementor .e-con.gz-prose-col,.elementor .e-con.gz-aside-col{padding:0;gap:0}.elementor .gz-aside-col>.elementor-widget-heading{margin-top:30px}.elementor .gz-aside-col .elementor-heading-title{font-size:36px}.elementor .gz-aside-col img{width:100%;aspect-ratio:1.3;object-fit:cover}.elementor .gz-aside-col>.gz-btn{margin-top:24px}.elementor .gz-aside-col .elementor-widget-text-editor{font-size:15px;color:var(--muted)}.elementor .widget-image-caption{font:400 11px/1.5 var(--body);color:var(--muted);margin-top:10px}.elementor .dark .widget-image-caption{color:var(--muted-light)}
@media(max-width:1100px){.elementor .hero-copy{max-width:58%}.elementor .e-con.story-grid{gap:45px}.elementor .e-con.gz-content-grid{gap:45px}.elementor .e-con.gz-step{padding-inline:16px;gap:14px}.elementor .gz-step-copy .elementor-heading-title{font-size:21px!important}}
@media(max-width:680px){.elementor .e-con.gz-container{width:calc(100% - 44px);margin-inline:22px}.elementor .e-con.gz-section{padding-block:62px}.elementor .e-con.gz-hero,.elementor .gz-hero>.hero-inner{min-height:670px}.elementor .gz-hero{background-position:62% center!important}.elementor .hero-copy{width:100%;max-width:100%}.elementor .gz-hero>.hero-inner{padding-block:62px 75px}.elementor .elementor-widget-heading h1.elementor-heading-title{font-size:clamp(44px,12vw,57px)}.elementor .hero-copy>.elementor-widget-text-editor{font-size:16px}.elementor .e-con.actions{flex-direction:column;align-items:stretch;gap:12px;width:100%;max-width:340px}.elementor .actions>.elementor-widget-button{width:100%}.elementor .actions .elementor-button{width:100%}.elementor .hero-notes{margin-top:3px}.elementor .hero-copy>.elementor-widget-text-editor:last-child{margin-top:22px}.elementor .e-con.steps-grid{grid-template-columns:1fr;padding-block:10px}.elementor .e-con.gz-step,.elementor .gz-step:first-child,.elementor .gz-step:last-child{padding:19px 0;border-right:0;border-bottom:1px solid var(--rule);gap:22px;align-items:center}.elementor .gz-step:last-child{border-bottom:0}.elementor .gz-step-number{font-size:34px;min-width:38px}.elementor .gz-step-copy .elementor-heading-title{font-size:24px!important}.elementor .e-con.section-heading{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:30px}.elementor .elementor-widget-heading .elementor-heading-title{font-size:40px}.elementor .e-con.story-grid,.elementor .e-con.gz-experience-grid,.elementor .e-con.faq-grid,.elementor .e-con.gz-content-grid{grid-template-columns:1fr;gap:35px}.elementor .gz-story-image img{aspect-ratio:1.3}.elementor .story-copy .elementor-widget-text-editor{font-size:15px}.elementor .gz-experience img{aspect-ratio:1.55}.elementor .gz-experience .elementor-heading-title{font-size:31px}.elementor .gz-page-banner{padding-block:35px 48px}.elementor .gz-page-banner .elementor-heading-title{font-size:46px!important}.elementor .gz-page-banner .elementor-widget-text-editor:not(.gz-breadcrumb){font-size:16px}.elementor .gz-aside-col{padding-top:35px!important;border-top:1px solid #bfb9a9}.elementor .gz-aside-col img{aspect-ratio:1.5}}
.elementor .treatment h3,.elementor .price-grid h3{font-family:var(--gz-display);font-weight:500;line-height:1.08}.elementor .treatment-image img{object-fit:cover;height:100%}
@media(max-width:680px){body .elementor .e-con.gz-step{flex-direction:row!important;align-items:center}.elementor .gz-hero{background-position:78% center!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* ACF catalogue and editorial layouts */
.guide-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.guide-cards article{min-width:0}.guide-cards img{aspect-ratio:1.5;object-fit:cover;width:100%}.guide-cards figcaption{font-size:11px;color:var(--muted);text-align:right;margin-top:8px}.guide-kicker{font-size:12px!important;letter-spacing:.04em;margin:22px 0 12px!important}.guide-cards h3,.guide-list h3{font:500 30px/1.12 var(--gz-display)}.guide-cards article>a>p:not(.guide-kicker){font-size:15px;margin-top:14px}.guide-cards .text-link{margin-top:12px}.guide-list article{padding:28px 0;border-bottom:1px solid #bfb9a9}.guide-list p{font-size:15px}.price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.price-grid article{min-width:0;border:1px solid var(--rule);margin:-1px 0 0 -1px}.price-grid ul{padding:0;list-style:none;font-size:13px;line-height:1.8;margin:18px 0;color:var(--muted-light)}.light .price-grid ul{color:var(--muted)}.light .price-grid article{border-color:#bfb9a9}.rates-scroll{overflow-x:auto;margin-top:32px}.rates-table{width:100%;border-collapse:collapse;text-align:left;font-size:15px;margin-block:25px}.rates-table caption{font:500 28px/1.15 var(--gz-display);text-align:left;margin-bottom:22px}.rates-table th,.rates-table td{padding:16px;border-bottom:1px solid #c8c1b3;vertical-align:top}.rates-table th{font-weight:500}.rates-table td span{display:block;white-space:nowrap;margin-bottom:5px}.rates-table a{text-decoration:underline;text-underline-offset:4px}.service-data{margin-top:44px}.service-data>h2{margin:44px 0 18px}.service-data .faqs{margin-top:24px}.service-data>ul{font-size:16px;padding-left:22px}.service-data .button{margin-top:12px}.related-content{margin-top:48px}.related-content ul{padding-left:22px;font-size:16px}.related-content a{text-decoration:underline;text-underline-offset:4px}.article-meta{font-size:13px;color:var(--muted-light);margin-top:24px}.article-toc{margin-bottom:36px;padding:22px;border:1px solid #c8c1b3}.article-toc>p{margin:0;font-size:14px}.article-toc ol{padding-left:22px;margin:12px 0 0;font-size:15px}.article-toc a{text-decoration:underline;text-underline-offset:4px}.category-nav{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:38px;font-size:14px}.category-nav a{padding:10px 16px;border:1px solid #bfb9a9}.category-nav a:hover{background:var(--gold)}.treatments-grid{row-gap:48px}.treatment h2{font-size:30px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1250px) and (min-width:801px){.primary-nav{gap:15px;font-size:12px}.wordmark>span{font-size:21px}.header-inner{gap:20px}}
@media(max-width:800px){.guide-cards,.price-grid{grid-template-columns:1fr}.guide-cards{gap:38px}.guide-cards h3{font-size:32px}.rates-table th,.rates-table td{padding:12px 8px;font-size:14px}.rates-table th{max-width:180px}.category-nav{gap:9px}.category-nav a{font-size:12px;padding:9px 12px}.article-meta{font-size:12px}.article-toc{padding:18px}.treatment-meta{gap:12px;align-items:flex-start}}
.elementor .e-con.gz-editorial-body{padding:0;width:100%;gap:0}
.light .price-grid strong{color:var(--ink)}
.wordmark small{text-transform:uppercase}.treatment-meta>span{min-width:0;flex:1;line-height:1.6}.treatment-meta .text-link{flex-shrink:0}
/* Booking and contact enhancement */
[hidden]{display:none!important}.whatsapp-panel{padding-block:26px;border-block:1px solid #bfb9a9;margin-top:28px}.whatsapp-panel h3{font-size:31px}.whatsapp-panel p{font-size:15px;margin:14px 0 20px}.contact-number{display:block;font-size:14px;font-variant-numeric:tabular-nums;color:var(--muted);margin-top:12px}.form-wrap>p{font-size:15px;color:var(--muted);margin-top:14px}.booking-form input[type=date],.booking-form input[type=time]{min-width:0;width:100%;font:inherit}.booking-form [aria-invalid=true]{border-color:#8f392d}.booking-form .receipt-whatsapp{color:var(--ink);border-color:var(--ink);width:100%;margin-top:16px}.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:110;display:flex;align-items:center;gap:10px;padding:13px 20px;background:var(--gold);color:var(--charcoal);border-radius:2px;font-size:14px;font-weight:600;box-shadow:0 6px 20px rgba(17,19,17,.22)}.whatsapp-float:hover{background:var(--gold-hover)}.contact-whatsapp{margin-top:24px}.mobile-area small{font-size:13px}.booking-form .form-status:empty{margin:0}.booking-form .form-status{overflow-wrap:anywhere}.booking-form input:focus-visible,.booking-form select:focus-visible,.booking-form textarea:focus-visible{outline:2px solid #72572d;outline-offset:3px}.booking-form .button:disabled{opacity:.65;cursor:wait}.form-wrap .form-status.success{color:#345331}.form-wrap .form-status.error{color:#8f392d}
.booking-form input,.booking-form select,.booking-form textarea{font-size:16px}
@media(max-width:680px){.whatsapp-float{display:none}.mobile-booking.has-whatsapp{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-booking.has-whatsapp a{padding-inline:8px;font-size:13px;gap:6px}.mobile-booking.has-whatsapp a:nth-child(2){background:var(--gold);color:var(--charcoal)}.mobile-booking.has-whatsapp a:nth-child(3){background:var(--charcoal);color:var(--ivory)}}

#online-booking{scroll-margin-top:24px}#online-booking:focus{outline:none}
/* Native brand identity and the owner's WhatsApp contact code. */
.wordmark .brand-logo{display:block;width:284px;max-width:100%;height:auto}.footer-top .brand-logo{width:266px}.whatsapp-contact-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}.whatsapp-contact-grid.has-qr{grid-template-columns:minmax(0,1fr) 190px}.whatsapp-panel .qr-help{font-size:13px;line-height:1.6;margin-top:18px}.whatsapp-qr{margin:0;width:190px}.qr-open,.qr-image{display:block}.qr-image{position:relative;background:#fff;overflow:hidden}.qr-image.is-cropped{aspect-ratio:1}.qr-image img{display:block;width:100%;height:auto}.qr-image.is-cropped img{position:absolute;max-width:none}.whatsapp-qr figcaption{font-size:13px;text-align:center;margin-top:10px;color:var(--muted)}.whatsapp-qr .qr-download{display:flex;justify-content:center;font-size:13px;margin-top:6px;text-decoration:underline;text-underline-offset:4px}#whatsapp-qr{scroll-margin-top:32px}
@media(max-width:1250px) and (min-width:941px){.wordmark .brand-logo{width:240px}}
@media(max-width:680px){.wordmark .brand-logo{width:min(252px,calc(100vw - 134px))}.whatsapp-contact-grid.has-qr{grid-template-columns:1fr;gap:24px}.whatsapp-qr{width:220px;max-width:100%}.footer-top .brand-logo{width:252px}.whatsapp-panel .qr-help{max-width:34ch}}

/* Stock and illustrative photos retain a visible caption and responsive crop. */
.treatment-image{position:relative}.treatment-image-note{position:absolute;right:8px;bottom:8px;padding:4px 6px;background:rgba(17,19,17,.88);color:var(--ivory);font-size:10px;line-height:1.2;pointer-events:none}.elementor .gz-people-photo img{object-position:center center}

/* SPA stock imagery: treatment gestures, faces and the massage-room setting. */
.elementor .gz-spa-massage img,.treatment-image img.gz-spa-massage,.page-aside figure img.gz-spa-massage{object-fit:cover;object-position:50% 38%}
.elementor .gz-spa-facial img,.treatment-image img.gz-spa-facial,.page-aside figure img.gz-spa-facial{object-fit:cover;object-position:50% 44%}
.elementor .gz-spa-room img,.treatment-image img.gz-spa-room,.page-aside figure img.gz-spa-room{object-fit:cover;object-position:50% 56%}
.elementor .e-con.gz-spa-hero{background-size:auto 100%!important;background-position:right center!important;background-repeat:no-repeat!important;background-color:#111311}
.elementor .gz-spa-hero:after{background:linear-gradient(90deg,rgba(17,19,17,.97) 0%,rgba(17,19,17,.94) 38%,rgba(17,19,17,.84) 49%,rgba(17,19,17,.24) 60%,rgba(17,19,17,.06) 75%)}
@media(max-width:700px){.elementor .e-con.gz-spa-hero{background-position:18% center!important}.elementor .gz-spa-hero:after{background:linear-gradient(90deg,rgba(17,19,17,.94),rgba(17,19,17,.72)),linear-gradient(0deg,rgba(17,19,17,.3),transparent)}}

/* Owner-requested service categories beneath the existing brand lockup. */
.wordmark .gz-brand-lockup{display:block;max-width:100%;line-height:0}
.wordmark .brand-services{display:block;margin:-2px 0 0 18%;font:400 10px/1.4 var(--body);letter-spacing:.14em;white-space:nowrap;color:var(--gold)}
.site-header .header-inner{min-height:96px}
@media(max-width:680px){.site-header .header-inner{min-height:88px}.wordmark .brand-services{font-size:9px}}

/* Additional treatment photographs preserve the massage gestures and faces. */
.treatment-image img.gz-spa-thai,.page-aside figure img.gz-spa-thai{object-position:50% 44%}
.treatment-image img.gz-spa-foot,.page-aside figure img.gz-spa-foot{object-position:50% 58%}
.treatment-image img.gz-spa-back,.page-aside figure img.gz-spa-back{object-position:50% 60%}
.treatment-image img.gz-spa-relax,.page-aside figure img.gz-spa-relax{object-position:50% 44%}

/* Portraits supplied by the owner; keep faces visible in the landscape cards. */
.elementor .gz-owner-brown img,.treatment-image img.gz-owner-brown,.page-aside figure img.gz-owner-brown{object-fit:cover;object-position:50% 10%}
.elementor .gz-owner-pink img,.treatment-image img.gz-owner-pink,.page-aside figure img.gz-owner-pink{object-fit:cover;object-position:50% 10%}
.elementor .gz-owner-navy img,.treatment-image img.gz-owner-navy,.page-aside figure img.gz-owner-navy{object-fit:cover;object-position:50% 4%}
.elementor .gz-owner-dresses img,.treatment-image img.gz-owner-dresses,.page-aside figure img.gz-owner-dresses{object-fit:cover;object-position:50% 0%}
.elementor .e-con.gz-owner-hero{background-size:cover!important;background-position:60% 8%!important;background-repeat:no-repeat!important;background-color:#111311}
.elementor .gz-owner-hero:after{background:linear-gradient(90deg,rgba(17,19,17,.98) 0%,rgba(17,19,17,.92) 36%,rgba(17,19,17,.78) 52%,rgba(17,19,17,.2) 75%)}
@media(max-width:700px){.elementor .e-con.gz-owner-hero{background-position:50% 8%!important}.elementor .gz-owner-hero:after{background:linear-gradient(90deg,rgba(17,19,17,.96),rgba(17,19,17,.72)),linear-gradient(0deg,rgba(17,19,17,.3),transparent)}}

/* Owner-supplied guide portraits keep each face visible in article cards. */
.guide-cards img.gz-guide-cafe,.page-aside figure img.gz-guide-cafe{object-position:50% 18%}
.guide-cards img.gz-guide-street,.page-aside figure img.gz-guide-street{object-position:50% 22%}
