@font-face{font-family:Anton;src:url('/assets/anton.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/dm-sans.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/dm-sans-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{font-family:'DM Sans',Arial,sans-serif;color:#1c1c1b;background:#fff;font-synthesis:none;font-size:16px;--gutter:clamp(22px,5vw,80px)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:.2em}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}img{display:block}p{font-size:1.125rem;line-height:1.6;margin:0 0 1.15em}strong{font-weight:700}h1,h2,h3,.brand,.button{font-family:Anton,'Arial Narrow',sans-serif;font-weight:400;text-transform:uppercase}h1{font-size:clamp(2.75rem,6vw,5.5rem);line-height:1.14;margin:0 0 32px}h2{font-size:2rem;line-height:1.25;margin:0 0 28px}h3{font-size:1.5rem;line-height:1.3;margin:0 0 28px}.wrap{width:100%;max-width:1440px;margin-inline:auto;padding-inline:var(--gutter)}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:132px}.brand{font-size:clamp(1rem,1.6vw,1.5rem);line-height:1.35;text-decoration:none}.desktop-nav{display:flex;align-items:center;gap:32px}.desktop-nav>a:not(.button){text-decoration:none;font-size:1rem}.desktop-nav>a[aria-current=page]:not(.button){text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;padding:19px 38px;min-height:56px;border:1px solid #1c1c1b;border-radius:100px;background:#1c1c1b;color:white;text-decoration:none;font-family:'DM Sans',sans-serif;font-size:1rem;line-height:1.25;text-align:center}.button:hover{background:#444}.menu-toggle{display:none}.skip-link{position:fixed;z-index:100;left:16px;top:-100px;padding:12px;background:#1c1c1b;color:#fff}.skip-link:focus{top:16px}:focus-visible{outline:2px solid #009faa;outline-offset:6px}main:focus{outline:none}.photo{position:relative;overflow:hidden;width:100%;background:white}.photo img{position:absolute;max-width:none;height:auto}.home-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;align-items:center;padding-block:75px 110px}.lotus{max-width:340px;margin-inline:auto}.welcome-copy h1{text-align:left}.welcome-copy p{text-align:justify}.portrait-section{max-width:700px;margin:0 auto}.site-footer{padding-top:110px;padding-bottom:75px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:70px}.site-footer h2{font-size:1.8rem;max-width:330px}.site-footer p{white-space:normal}.phone{font-size:1.5rem;line-height:1.5}.page-heading{padding-block:35px 45px}.service{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;margin-bottom:125px;scroll-margin-top:32px}.service:nth-child(even)>.photo{order:2}.service-copy h2{text-align:center}.service-copy p{text-align:justify}.treatment{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;margin-bottom:85px;scroll-margin-top:32px}.treatment h2{text-align:center}.booking-intro{max-width:790px;margin:40px auto 80px;text-align:center}.booking-intro p{font-size:1.25rem;max-width:700px;margin-inline:auto}.booking-call{margin-top:15px}.treatments-heading{text-align:center;font-size:clamp(2.75rem,5vw,4rem);margin-bottom:65px}.price-list{margin:35px 0 0;font-size:1.125rem}.price-list>div{display:flex;justify-content:space-between;gap:25px;margin-bottom:24px;line-height:1.45}.price-list dd{margin:0;white-space:nowrap}.single-price{text-align:center}.massage-treatment .treatment p{text-align:center}.massage-list{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:35px 65px}.massage-list li{text-align:center;font-size:1.125rem;line-height:1.6}.contact-page{padding:55px 0 95px;min-height:480px}.contact-details{display:flex;gap:110px;margin:60px 0}.mobile-menu[hidden]{display:none}
@media(min-width:1500px){.home-intro{padding-block:95px 130px}p{font-size:1.25rem}}
@media(max-width:800px){.site-header{min-height:110px}.desktop-nav{display:none}.menu-toggle{position:relative;display:block;border:0;background:transparent;width:44px;height:44px;flex-shrink:0;cursor:pointer;padding:5px}.menu-toggle span{position:absolute;left:5px;right:5px;height:1px;background:#111;top:16px}.menu-toggle span+span{top:27px}.menu-toggle[aria-expanded=true] span{top:22px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span+span{transform:rotate(-45deg)}body.menu-open{overflow:hidden}.menu-open .site-header{position:relative;z-index:30;background:white}.mobile-menu{position:fixed;inset:110px 0 0;z-index:20;background:white;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:35px 22px max(22px,env(safe-area-inset-bottom));height:calc(100dvh - 110px)}.mobile-links{flex:1;display:flex;flex-direction:column;justify-content:center;gap:14px;text-align:center}.mobile-links a{font-size:2.15rem;text-decoration:none;line-height:1.4}.mobile-menu>.button{min-width:198px;font-size:1.15rem;min-height:63px}.home-intro{display:block;padding:30px 0 68px}.lotus{max-width:170px;margin-bottom:90px}.welcome-copy h1{text-align:center;font-size:2.75rem;margin-bottom:22px}p{font-size:1rem;line-height:1.4}.welcome-copy p{margin-bottom:0}.portrait-section{max-width:650px}.site-footer{display:block;padding-top:82px;padding-bottom:35px}.site-footer h2{font-size:1.75rem;max-width:300px;margin-bottom:58px}.site-footer h3{font-size:1.4rem;margin-bottom:28px}.site-footer>div+div{margin-top:57px}.site-footer p{margin-bottom:0}.phone{font-size:1.25rem}.page-heading{font-size:2.75rem;padding-block:21px 32px;margin:0 0 0}.service{display:block;margin-bottom:145px}.service-copy{margin-top:26px}.service-copy h2{font-size:1.4rem;margin-bottom:25px}.service-copy p{line-height:1.4}.service-copy p:last-child{margin-bottom:0}.service:last-child{margin-bottom:0}.booking-intro{margin:30px auto 52px}.booking-intro h1{font-size:2.75rem;margin-bottom:17px}.booking-intro p{font-size:1rem;line-height:1.4;margin-bottom:20px}.booking-call{margin-top:8px}.treatments-heading{font-size:2.75rem;margin-bottom:52px}.treatment{display:block;margin-bottom:65px}.treatment h2{font-size:1.75rem;margin-top:45px;margin-bottom:32px}.price-list{font-size:1rem;margin-top:0}.price-list>div{display:block;text-align:center;line-height:1.4;margin-bottom:22px}.price-list dt,.price-list dd{display:inline}.price-list dd:before{content:' - '}.single-price{font-size:1rem}.massage-treatment .treatment{margin-bottom:78px}.massage-treatment .treatment h2{margin-top:29px;margin-bottom:37px}.massage-list{display:block}.massage-list li{font-size:1rem;line-height:1.4;margin-bottom:19px}.contact-page{padding:30px 0 30px;min-height:0}.contact-page h1{font-size:2.75rem}.contact-details{display:block;margin:55px 0}.contact-details>div+div{margin-top:55px}.contact-details h2{font-size:1.5rem}.contact-page+.site-footer{padding-top:80px}}
@media(min-width:501px) and (max-width:800px){.wrap{--gutter:6vw}.home-intro{max-width:600px;margin:auto}.lotus{max-width:225px}p,.massage-list li,.price-list{font-size:1.2rem}}
@media(prefers-reduced-motion:no-preference){.button{transition:background .18s}.menu-toggle span{transition:transform .18s}}

.booking-intro .booking-contact{margin-top:20px}.treatment-booking{text-align:center;margin-top:65px}

.whatsapp-button{position:fixed;right:clamp(16px,3vw,36px);bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px));z-index:35;display:inline-flex;align-items:center;gap:11px;padding:14px 22px;min-height:56px;border:0;border-radius:100px;background:#25d366;color:#fff;text-decoration:none;font-family:'DM Sans',Arial,sans-serif;font-size:1rem;font-weight:700;line-height:1.15;box-shadow:0 9px 24px rgba(0,0,0,.18)}
.whatsapp-button svg{width:25px;height:25px;fill:currentColor;flex-shrink:0}
.whatsapp-button:hover{background:#1fb755}
@media(prefers-reduced-motion:no-preference){.whatsapp-button{transition:background .18s,transform .18s}.whatsapp-button:hover{transform:translateY(-1px)}}
@media(max-width:800px){.whatsapp-button{right:16px;bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px));gap:8px;padding:13px 17px;min-height:50px;font-size:.92rem}.whatsapp-button svg{width:22px;height:22px}}
@media(min-width:801px) and (max-width:1050px){.desktop-nav{gap:18px}.desktop-nav .button{padding-inline:24px}.brand{max-width:240px}}

@media(min-width:801px){.site-footer{grid-template-columns:1.3fr 1fr}}

@media(min-width:801px){.site-footer{grid-template-columns:1fr}}

.page-cta{text-align:center;margin-top:85px}
@media(max-width:800px){.page-cta{margin-top:65px}}

.price-list-separator{height:1px;background:#d9d9d9;margin:32px 0 26px}
