:root{--paper:#f6f2eb;--white:#fcfaf6;--ink:#35372f;--muted:#696a5d;--gold:#8b7046;--line:#d8d1c4;--dark:#34382f;--panel:#ece7dd;--serif:Georgia,'Times New Roman',serif;--sans:'Century Gothic','Avenir Next',Avenir,'Segoe UI',sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}h1,h2,h3,h4,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-2px}h1{font-size:clamp(50px,5.5vw,83px)}h2{font-size:clamp(40px,4.2vw,64px);margin-bottom:24px}h1 em,h2 em{font-weight:400;color:var(--gold)}button{border-radius:0}section{scroll-margin-top:20px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:15px;top:-100px;z-index:99;background:var(--ink);color:var(--paper);padding:10px 18px}.skip:focus{top:10px}.topline{display:flex;justify-content:space-between;gap:20px;padding:9px 4.5%;font-size:9px;letter-spacing:1.6px;border-bottom:1px solid var(--line);color:var(--muted)}.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:28px;background:rgba(246,242,235,.97);backdrop-filter:blur(12px);padding:19px 4.5%;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:31px;letter-spacing:5px;line-height:1.2;flex-shrink:0}.brand span{display:block;font:8px var(--sans);letter-spacing:2px;margin-top:6px}.header nav{display:flex;align-items:center;gap:27px;font-size:12px}.header nav a:hover,.text-link:hover,.visit-links a:hover{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:20px}.language{border:0;background:none;font-size:11px;padding:10px 4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:16px 23px;font-size:12px;letter-spacing:.25px;line-height:1.5;min-height:48px;transition:background .2s,transform .2s;text-align:center}.button:hover{background:#515544;transform:translateY(-1px)}.button.small{font-size:11px;padding:10px 15px;min-height:42px}.button.outline{background:transparent;color:var(--ink)}.button.outline:hover{background:var(--panel)}.button.full{width:100%}.cart-count{border-left:1px solid #d5d0c1;padding-left:8px}.menu-toggle{display:none;background:none;border:0;font-size:23px;padding:5px}.mobile-nav{position:sticky;top:83px;z-index:19;background:var(--paper);padding:10px 6% 20px;border-bottom:1px solid var(--line)}.mobile-nav a{display:block;padding:10px 0;font-size:14px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:680px}.hero-copy{padding:78px 9% 48px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:26px}.hero h1{margin-bottom:28px}.intro{font-size:15px;color:var(--muted);line-height:1.9;max-width:360px;margin-bottom:34px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px}.text-link{font-size:12px;background:none;border:0;border-bottom:1px solid currentColor;display:inline-block;padding:4px 0;line-height:1.8;text-align:left;cursor:pointer}.hero-note{margin-top:60px;display:flex;align-items:center;gap:15px;font-size:10px;color:var(--muted)}.fine-line{display:block;width:36px;height:1px;background:var(--gold)}.hero-photo{position:relative;min-height:550px;overflow:hidden}.hero-photo img{position:absolute;inset:0;object-position:center 51%}.hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:13px 20px;background:rgba(246,242,235,.9);font-size:9px;letter-spacing:1.6px;color:var(--ink);text-align:center}.service-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-around;gap:20px;padding:25px 5%;border-block:1px solid var(--line);font-size:10px;letter-spacing:2.4px}.section{padding:100px 7%;max-width:1600px;margin-inline:auto}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:45px}.section-head>div{flex:1}.section-head>p{max-width:340px;font-size:14px;color:var(--muted);margin-bottom:28px}.section-head>div+div{max-width:380px}.section-head>div+div>p{font-size:14px;color:var(--muted)}.intents{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line)}.intents button{position:relative;text-align:left;background:transparent;border:0;border-right:1px solid var(--line);padding:23px 20px;min-height:155px;transition:background .2s}.intents button:last-child{border-right:0}.intents button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.intent-number{display:block;font-size:10px;color:var(--gold);margin-bottom:22px}.intents button[aria-pressed=true] .intent-number{color:#d1ba90}.intents strong{font-weight:400;font-size:19px;display:block;line-height:1.4;margin-bottom:7px}.intents button>span:last-of-type{font-size:11px;line-height:1.6;display:block}.intents b{position:absolute;top:20px;right:20px;font-size:19px;font-weight:400}.recommendation-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:30px 0 20px}.recommendation-head p{font-size:12px;color:var(--muted);margin:0}.recommendations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}.recommendation{padding:22px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.recommendation .service-type{font-size:9px;letter-spacing:1.5px;color:var(--gold);text-transform:uppercase}.recommendation h3{font-family:var(--serif);font-size:25px;line-height:1.2;font-weight:400;margin:12px 0}.recommendation p{font-size:12px;color:var(--muted);margin-bottom:18px}.recommendation button{margin-top:auto}.headspa{background:var(--dark);color:var(--paper);max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:12%}.headspa .eyebrow,.headspa h2 em{color:#d2bb90}.headspa-intro>p:not(.eyebrow){font-size:14px;color:#d8d9ca;max-width:350px}.base-list{display:grid;gap:10px;margin:30px 0;font-size:11px;color:#dadacf}.base-list span{padding-left:15px;position:relative}.base-list span:before{content:'';position:absolute;left:0;top:8px;width:4px;height:4px;background:#c2aa7e}.text-link.light{color:#e6d4ae}.ritual-row{display:grid;grid-template-columns:auto 1fr;gap:23px;padding:30px 0;border-top:1px solid #69705c}.ritual-row:first-child{padding-top:0;border:0}.ritual-time{font-family:var(--serif);font-size:43px;line-height:1;min-width:75px}.ritual-time span{font-family:var(--sans);font-size:9px;letter-spacing:2px;display:block;margin-top:8px}.ritual-row h3{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.2;margin-bottom:12px}.ritual-row p{font-size:12px;color:#d8d9ca;max-width:390px;line-height:1.8;margin-bottom:18px}.ritual-bottom{display:flex;gap:20px;justify-content:space-between;align-items:center}.ritual-bottom strong{font-weight:400;font-size:13px}.ritual-bottom button{background:none;border:0;border-bottom:1px solid #c3b08d;color:#e6d4ae;padding:6px 0;font-size:11px;min-height:38px}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.editorial figure{align-self:stretch;position:relative;min-height:600px}.editorial figure img{position:absolute;inset:0;object-position:center 70%}.editorial figcaption{position:absolute;bottom:15px;left:18px;padding:5px 8px;background:rgba(246,242,235,.92);font-size:8px;letter-spacing:1px}.editorial-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-bottom:30px}.experience-step{display:flex;gap:22px;padding:19px 0;border-top:1px solid var(--line)}.experience-step>span{font-size:10px;color:var(--gold);padding-top:5px}.experience-step h3{font-weight:500;font-size:14px;margin-bottom:7px}.experience-step p{font-size:12px;color:var(--muted);margin:0}.editorial-copy>.text-link{margin-top:22px}.menu-section{padding-top:55px}.search-field{display:flex;align-items:center;border-bottom:1px solid var(--line);margin-top:22px}.search-field input{background:none;border:0;outline-offset:0;min-width:0;width:100%;padding:12px 0;font-size:14px;color:var(--ink)}.search-field>span:last-child{font-size:26px;color:var(--gold)}.menu-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:65px;margin-top:20px}.categories{display:flex;flex-direction:column;align-items:stretch;gap:3px;align-self:start}.categories button{text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:14px 13px;font-size:12px;display:flex;justify-content:space-between;gap:10px;min-height:48px}.categories button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.categories button span{opacity:.6;font-size:10px}.menu-category-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 0 15px;border-bottom:1px solid var(--line)}.menu-category-title h3{font-family:var(--serif);font-size:29px;font-weight:400;line-height:1.2;margin:0}.menu-category-title>span{font-size:10px;color:var(--muted);text-align:right;white-space:nowrap}.menu-note{font-size:12px;color:var(--muted);margin:16px 0 8px}.service-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.service-row h4{font-size:13px;font-weight:500;line-height:1.4;margin:0}.service-row p{font-size:11px;color:var(--muted);margin:5px 0 0;line-height:1.6;max-width:430px}.service-price{font-size:12px;white-space:nowrap}.service-add{display:flex;align-items:center;justify-content:center;width:38px;min-height:38px;border:1px solid var(--line);background:none;font-size:20px}.service-add[aria-pressed=true]{background:var(--ink);color:var(--paper)}.price-note{font-size:10px;color:var(--muted);margin:22px 0 0;line-height:1.9}.empty-menu{padding:30px 0;color:var(--muted);font-size:13px}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:2px}.image-pair figure{position:relative;height:580px;overflow:hidden}.image-pair img{object-position:center 60%}.image-pair figcaption{position:absolute;bottom:0;left:0;right:0;background:var(--paper);padding:22px 7%;display:flex;align-items:center;justify-content:space-between;gap:15px}.image-pair figcaption span{font-size:9px;letter-spacing:1.6px}.image-pair figcaption a{font-size:11px;text-decoration:underline;text-underline-offset:5px}.faq-section{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.faqs details{border-bottom:1px solid var(--line);padding:20px 0}.faqs details:first-child{border-top:1px solid var(--line)}.faqs summary{cursor:pointer;font-size:14px;list-style:none;display:flex;justify-content:space-between;gap:20px}.faqs summary:after{content:'+';color:var(--gold);font-size:20px}.faqs details[open] summary:after{content:'−'}.faqs details p{font-size:12px;color:var(--muted);line-height:1.9;margin:18px 0 0}.visit{background:var(--panel);text-align:center;max-width:none}.visit h2{font-size:clamp(48px,6vw,80px)}.visit-actions{display:flex;justify-content:center;gap:16px;margin-top:35px;flex-wrap:wrap}.visit-links{display:flex;justify-content:center;flex-wrap:wrap;gap:16px 30px;margin-top:35px;font-size:11px}.footer{padding:50px 5%;display:flex;align-items:flex-start;justify-content:space-between;gap:30px}.footer-brand{font-family:var(--serif);font-size:33px;letter-spacing:5px}.footer>div{max-width:430px}.footer p{font-size:12px;margin-bottom:9px}.footer .footer-fine{font-size:9px;color:var(--muted)}.footer>span{font-size:9px;white-space:nowrap;color:var(--muted);padding-top:10px}dialog{padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);width:600px;max-width:calc(100% - 28px);max-height:90dvh;overflow:auto}dialog::backdrop{background:rgba(29,31,24,.55);backdrop-filter:blur(4px)}.dialog-inner{padding:45px;position:relative}.dialog-close{position:absolute;right:16px;top:10px;font-size:30px;border:0;background:none;width:40px;min-height:40px}.dialog-inner h2{font-size:43px;letter-spacing:-1px}.dialog-inner .eyebrow{margin-bottom:15px}.selected-service{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.selected-service span{display:block;font-size:10px;color:var(--muted)}.selected-service button{border:0;background:none;font-size:20px;width:36px;min-height:36px;flex-shrink:0}.booking-total{display:flex;justify-content:space-between;gap:20px;margin-top:18px;font-size:12px}.booking-total strong{font-weight:500}.form-note{font-size:10px;color:var(--muted);line-height:1.8;margin:13px 0 20px}form{margin-top:25px}form label{display:block;font-size:11px;margin-bottom:18px}input,select,textarea{color:var(--ink)}form input,form select,form textarea{width:100%;min-width:0;border:1px solid var(--line);background:var(--white);padding:11px 12px;display:block;margin-top:7px;border-radius:0;font-size:15px;min-height:46px}form textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.invitation{background:#ece6d9;border:1px solid #b6a17b;text-align:center;padding:30px 25px;color:#35372f}.invitation>p:first-child{font-family:var(--serif);font-size:26px;letter-spacing:5px;margin-bottom:16px}.invitation>span,.invitation>small{font-size:8px;letter-spacing:1.8px}.invitation h3{font-family:var(--serif);font-weight:400;font-size:35px;line-height:1.3;margin:30px 0 20px;overflow-wrap:anywhere}.invitation #invitation-services{font-size:11px;color:#666655;line-height:1.9}.invitation .invitation-quote{font-family:var(--serif);font-style:italic;font-size:19px;color:#826a44;margin:25px 0}.invitation-actions{display:flex;justify-content:space-between;gap:15px;margin-top:18px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:12px 22px;z-index:50;max-width:calc(100% - 32px);font-size:12px;text-align:center;box-shadow:0 6px 25px #0002}.service-added-hint{font-size:11px;color:var(--gold)}
@media(min-width:1600px){.hero{max-width:1600px;margin:auto}.headspa{padding-inline:max(7%,calc((100vw - 1380px)/2))}}
@media(max-width:1100px){.header nav{gap:15px}.header{gap:15px}.brand{font-size:26px;letter-spacing:4px}.header-actions{gap:14px}.section{padding:75px 6%}.hero{min-height:600px}.hero-copy{padding:60px 10%}.hero-note{margin-top:40px}.menu-layout{gap:35px;grid-template-columns:200px minmax(0,1fr)}.headspa{gap:7%}.editorial{gap:7%}.editorial figure{min-height:580px}.image-pair figure{height:510px}.image-pair figcaption{align-items:flex-start;flex-direction:column;gap:7px}.intents strong{font-size:17px}.intents button>span:last-of-type{font-size:10px}}
@media(max-width:850px){.header nav{display:none}.menu-toggle{display:block}.header{padding:17px 6%}.hero-copy{padding:50px 10%}.hero h1{font-size:49px}.hero-photo{min-height:580px}.hero-actions{gap:20px}.intents{grid-template-columns:1fr 1fr}.intents button:nth-child(2){border-right:0}.intents button:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-head{gap:25px}.section-head>p{max-width:260px}.headspa{grid-template-columns:1fr;gap:45px}.headspa-intro{max-width:600px}.headspa-intro>p:not(.eyebrow){max-width:480px}.base-list{grid-template-columns:1fr 1fr}.headspa .rituals-list{border-top:1px solid #69705c;padding-top:30px}.editorial{gap:6%}.editorial figure{min-height:650px}.menu-layout{grid-template-columns:1fr;gap:28px}.categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.categories button{font-size:11px;align-items:center}.menu-category-title h3{font-size:27px}.faq-section{grid-template-columns:1fr;gap:25px}.footer{flex-wrap:wrap}.footer>div{max-width:340px}}
@media(max-width:600px){html{scroll-padding-top:95px}.topline{justify-content:center;padding:8px 4%;font-size:8px;letter-spacing:1px}.topline>span:last-child{display:none}.header{padding:16px 5%;gap:12px}.brand{font-size:25px;letter-spacing:3px}.brand span{font-size:6.5px;letter-spacing:1.2px}.header-actions{gap:10px}.button.small{padding:9px 10px;font-size:10px}.menu-toggle{padding:4px 0;min-width:28px}.language{padding:8px 2px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:47px 7% 37px}.hero h1{font-size:53px;letter-spacing:-2px;max-width:390px}.hero .eyebrow{font-size:9px;margin-bottom:22px}.intro{font-size:14px;margin-bottom:28px;max-width:330px}.hero-actions{gap:23px}.hero-note{margin-top:30px;font-size:9px}.hero-photo{height:440px;min-height:0}.hero-photo img{object-position:center 53%}.hero-photo figcaption{font-size:8px}.service-strip{gap:16px;padding:20px 5%;font-size:8px;letter-spacing:1.4px}.section{padding:65px 7%}h2{font-size:43px;letter-spacing:-1.6px}.section-head{display:block;margin-bottom:30px}.section-head>p{max-width:100%;margin-top:20px;font-size:13px}.section-head>div+div{max-width:none}.eyebrow{font-size:9px;margin-bottom:20px}.intents button{padding:18px 15px;min-height:151px}.intents b{right:15px;top:17px}.intents strong{font-size:17px}.intents button>span:last-of-type{font-size:10px;max-width:125px}.intent-number{margin-bottom:22px}.recommendation-head{align-items:flex-start;flex-direction:column;gap:10px}.recommendations{grid-template-columns:1fr;gap:0}.recommendation{display:grid;grid-template-columns:1fr auto;column-gap:18px;padding:18px 0}.recommendation .service-type,.recommendation h3,.recommendation p{grid-column:1}.recommendation h3{font-size:24px;margin:9px 0}.recommendation p{margin:0}.recommendation button{grid-column:2;grid-row:1/4;align-self:center}.headspa{gap:30px}.base-list{grid-template-columns:1fr;gap:10px}.ritual-row{gap:18px}.ritual-time{font-size:38px;min-width:65px}.ritual-row h3{font-size:25px}.ritual-row p{font-size:11px}.ritual-bottom{gap:10px;flex-wrap:wrap}.ritual-bottom strong{font-size:12px}.editorial{display:flex;flex-direction:column;gap:38px}.editorial figure{width:100%;height:440px;min-height:0}.editorial figure img{object-position:center 62%}.editorial-copy>p:not(.eyebrow){font-size:13px}.experience-step{gap:18px}.categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.categories button{font-size:10px;padding:10px 11px}.service-row{gap:13px;padding:17px 0}.service-row h4{font-size:12px}.service-row p{font-size:10px}.service-price{font-size:11px}.service-add{width:36px;min-height:42px}.menu-category-title h3{font-size:26px}.menu-category-title>span{font-size:9px}.price-note{font-size:10px}.image-pair{grid-template-columns:1fr}.image-pair figure{height:470px}.image-pair figcaption{padding:18px 7%;flex-direction:row;align-items:center;gap:15px}.image-pair figcaption span{max-width:150px;font-size:8px}.image-pair figcaption a{font-size:10px}.faq-section{gap:20px}.faqs summary{font-size:13px}.visit h2{font-size:50px}.visit-actions{gap:12px}.visit-links{flex-direction:column;gap:15px;font-size:11px}.footer{padding:40px 7%;gap:25px;flex-direction:column}.footer-brand{font-size:31px}.footer>span{padding:0}.dialog-inner{padding:38px 22px 28px}.dialog-inner h2{font-size:37px}.dialog-inner .eyebrow{font-size:9px}.form-grid{grid-template-columns:1fr}.form-grid label{margin-bottom:18px}form input,form select,form textarea{font-size:16px}.booking-total{font-size:11px}.invitation{padding:30px 18px}.invitation-actions{flex-wrap:wrap}.service-strip span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
