:root{--cream:#faf6ed;--paper:#fffdf8;--ink:#143638;--deep:#073a3c;--gold:#a27332;--muted:#536460;--line:#ded9cb;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 var(--sans)}img{display:block;max-width:100%}figure,blockquote,p,h1,h2,h3{margin:0}a{color:inherit;text-decoration:none}a,button,input,select,summary{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button,summary{cursor:pointer}button{color:inherit}:focus-visible{outline:3px solid #bc812c;outline-offset:4px}[hidden]{display:none!important}.wrap{width:min(1200px,calc(100% - 88px));margin-inline:auto}.skip{position:absolute;top:4px;left:8px;z-index:6;transform:translateY(-120%);background:white;padding:10px}.skip:focus{transform:none}
.header{position:sticky;top:0;z-index:5;background:var(--cream);border-bottom:1px solid var(--line)}.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-size:20px;font-weight:700;line-height:1.05;letter-spacing:.045em}.brand small{display:block;color:var(--gold);font:700 10px/1.2 var(--sans);letter-spacing:.35em;margin-top:4px}.nav nav,.nav-actions,.actions{display:flex;align-items:center;gap:26px}.nav nav a{font-size:14px;font-weight:650}.nav nav a:hover,.text-link:hover{text-decoration:underline}.nav-actions{gap:12px}.lang{min-height:42px;padding:7px 12px;border:1px solid var(--line);border-radius:7px;background:transparent;font-size:13px;font-weight:750}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid transparent;border-radius:8px;background:var(--deep);color:white;padding:14px 20px;min-height:52px;font-size:14px;font-weight:720;text-align:center}.button:hover{background:#115052}.compact{min-height:42px;padding:8px 15px}.text-link{font-size:14px;font-weight:750;text-underline-offset:4px}
.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:6%;align-items:center;padding-block:46px}.eyebrow{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:.17em;color:#87602b;line-height:1.4}.eyebrow>span:empty{width:7px;height:7px;background:#a87836;border-radius:50%}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04}h1{font-size:clamp(52px,6.6vw,103px);letter-spacing:-.07em;margin:20px 0}h1 em{font-weight:400;color:#89602d}.hero-description{color:var(--muted);font-size:clamp(16px,1.6vw,20px);max-width:440px}.actions{margin:27px 0 33px}.hero-proof{display:inline-flex;align-items:center;gap:11px;line-height:1.3;font-size:14px}.hero-proof small{display:block;color:var(--muted);margin-top:4px}.stars{letter-spacing:.09em;color:#926424;font-size:13px}.google{display:grid;place-items:center;flex-shrink:0;width:39px;height:39px;border:1px solid var(--line);border-radius:50%;background:white;color:#245cbb;font-size:21px;font-weight:850}.hero-photo{position:relative;isolation:isolate;background:#3e413b;border-radius:48% 48% 12px 12px / 31% 31% 12px 12px;overflow:hidden;min-height:440px;box-shadow:0 16px 42px #13292822}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 54%}.hero-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#081817dd);pointer-events:none}.hero-photo figcaption{position:absolute;z-index:1;inset:auto 21px 17px;display:flex;justify-content:space-between;gap:10px;color:#fff9ed;font-size:10px;letter-spacing:.15em;font-weight:750}
.fact-bar{background:var(--deep);color:#fff8e8}.facts{display:grid;grid-template-columns:repeat(3,1fr);padding-block:21px}.facts>div{display:flex;align-items:center;gap:14px;padding-inline:22px;border-right:1px solid #ffffff30}.facts>div:first-child{padding-left:0}.facts>div:last-child{border:0}.facts>div>span{font-size:24px;color:#e7bf7c}.facts b,.facts small{display:block}.facts small{color:#d9e5de;font-size:12px}.section{padding-block:76px}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}.section-head>p{max-width:380px;color:var(--muted)}h2{font-size:clamp(38px,5vw,64px);letter-spacing:-.055em;margin-top:10px}
.package-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.package{display:flex;flex-direction:column;gap:13px;background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:22px 18px}.package.feature{border-color:#a87d43;background:#f6edde}.package h3{font-size:25px;min-height:52px}.package .number{font-size:11px;color:#87602b;font-weight:800;letter-spacing:.12em}.price{display:block;font:400 40px/1 var(--serif);letter-spacing:-.04em}.package ul{padding:0;margin:2px 0 6px;list-style:none;color:var(--muted);font-size:13px}.package li{padding:4px 0;border-bottom:1px solid #e5dfd1}.package .button{width:100%;margin-top:auto;min-height:44px;padding:8px}.massage{margin-top:18px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}summary{list-style:none}summary::-webkit-details-marker{display:none}.massage summary{display:flex;align-items:center;justify-content:space-between;padding:16px 19px}.massage summary strong{display:block;font:400 23px var(--serif)}.massage summary small{color:var(--muted)}.plus{font-size:24px}.massage[open] .plus{transform:rotate(45deg)}.massage-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:9px 19px;border-top:1px solid var(--line);font-size:14px}.massage-row button{border:0;background:none;text-decoration:underline;text-underline-offset:4px;font-weight:750;padding:8px 0}
.booking{background:var(--deep);color:#fff8e8;padding-block:70px}.booking-grid{display:grid;grid-template-columns:.9fr 1.15fr;gap:7%;align-items:center}.booking .eyebrow{color:#e7bf7c}.booking-copy p:not(.eyebrow){color:#d9e5de;margin:18px 0 23px;max-width:350px}.outline{display:inline-block;padding:10px 14px;border:1px solid #ffffff69;border-radius:8px;font-size:14px}.booking-form{background:var(--paper);color:var(--ink);border-radius:14px;padding:25px}.booking-form h3{font-size:32px;letter-spacing:-.035em}.form-note{color:var(--muted);font-size:13px;margin-top:5px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 10px}.fields label{min-width:0;font-size:13px;font-weight:650}.fields input:not([type=checkbox]),.fields select{display:block;width:100%;min-height:45px;padding:8px 10px;border:1px solid #c9c8bd;border-radius:7px;margin-top:4px;background:white;color:var(--ink)}.wide{grid-column:1/-1}.fields .check{display:flex;align-items:center;gap:7px;font-weight:500}.check input{width:17px;height:17px;accent-color:var(--deep)}.honey{position:absolute;left:-10000px}.form-submit{margin-top:13px;width:100%;justify-content:space-between}.form-submit:disabled{opacity:.68;cursor:wait}.form-status{margin-top:12px;font-size:14px;font-weight:650}.fallback{display:inline-block;margin-top:7px;text-decoration:underline}.privacy{font-size:12px}
.reviews-grid{display:grid;grid-template-columns:.9fr 1fr 1fr;gap:15px}.review-score,.review{padding:20px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.review-score>strong{font:400 36px var(--serif);display:inline-block;margin:7px 8px 0 0}.review-score>strong small{font-size:16px}.review-score>small,.review small{color:var(--muted)}.review blockquote{font:400 25px/1.25 var(--serif);margin:12px 0 17px}.review p{font-size:13px;font-weight:650}.locations{background:#f1e9d9}.locations-grid{display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:24px}.locations-grid img{height:auto;border-radius:12px}.venue-row{display:grid;grid-template-columns:30px 1fr auto;gap:7px;align-items:center;padding:13px 0;border-bottom:1px solid #d6cdbb;font-size:14px}.venue-row>span{color:#87602b;font-weight:800}.venue-row small{display:block;color:var(--muted)}.venue-row a{padding:8px;text-decoration:underline;text-underline-offset:3px}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:24px}.faq details{border-bottom:1px solid var(--line)}.faq summary{padding:14px 20px 14px 0;font-weight:700;position:relative}.faq summary:after{content:'+';position:absolute;right:0}.faq details[open] summary:after{content:'−'}.faq details p{padding-bottom:14px;color:var(--muted);font-size:14px}
.footer{background:#eee5d6;padding:28px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:17px}.footer p,.footer-contact{font-size:13px;margin-top:6px}.footer-contact{display:grid;gap:5px}.footer-contact a{text-decoration:underline;text-underline-offset:3px}.mobile-bar{display:none}.consent{position:fixed;z-index:8;bottom:16px;right:16px;width:min(360px,calc(100% - 32px));background:var(--paper);padding:17px;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #0002}.consent p{margin:5px 0 10px;font-size:13px}
@media(max-width:1020px){.wrap{width:calc(100% - 58px)}.hero{gap:4%}.hero-photo{min-height:390px}.package-grid{grid-template-columns:repeat(2,1fr)}.package h3{min-height:0}}
@media(max-width:670px){html{scroll-padding-top:68px}.wrap{width:calc(100% - 34px)}.nav{height:61px;gap:6px}.nav nav{display:none}.nav .brand{font-size:17px}.nav .brand img{width:35px;height:35px}.nav-actions{gap:6px}.nav .compact{padding-inline:9px}.hero{grid-template-columns:1fr;padding-block:29px 21px;gap:22px}.hero h1{margin:12px 0;font-size:clamp(47px,12vw,68px)}.actions{gap:12px;margin:17px 0 16px;flex-wrap:wrap}.actions .button{padding:10px 13px;min-height:45px}.hero-photo{min-height:236px;border-radius:44% 44% 10px 10px / 36% 36% 10px 10px}.hero-photo img{object-position:center 57%}.facts{padding-block:13px;gap:5px}.facts>div{padding-inline:4px;gap:4px;align-items:start;font-size:11px;line-height:1.25}.facts>div>span{font-size:12px}.facts small{font-size:10px;margin-top:3px}.section,.booking{padding-block:43px}.section-head{display:grid;gap:9px;margin-bottom:17px}.section-head>p{font-size:14px}.package-grid{gap:8px}.package{padding:12px 9px;gap:9px}.package h3{font-size:20px}.price{font-size:33px}.package ul{font-size:11px}.package .button{font-size:12px}.booking-grid,.locations-grid,.faq{grid-template-columns:1fr;gap:18px}.booking-copy p:not(.eyebrow){margin:12px 0}.booking-form{padding:16px 12px}.reviews-grid{grid-template-columns:1fr;gap:8px}.review-score,.review{padding:15px}.footer{padding-bottom:83px}.footer-inner{align-items:start;flex-direction:column}.mobile-bar{position:fixed;inset:auto 0 0;z-index:4;display:grid;grid-template-columns:1fr 1.25fr;gap:7px;background:var(--cream);border-top:1px solid var(--line);padding:7px 11px calc(7px + env(safe-area-inset-bottom))}.mobile-bar .button,.mobile-chat{min-height:42px;padding:9px}.mobile-chat{text-align:center;border:1px solid var(--line);border-radius:8px;font-size:14px;font-weight:750}.consent{bottom:67px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.language-picker{display:flex;align-items:center;gap:4px;padding-inline-start:8px;border:1px solid var(--line);border-radius:7px;font-size:14px}.language-picker select{max-width:125px;min-height:42px;background:transparent;color:var(--ink);border:0;padding-inline:3px 7px;font:650 13px var(--sans)}.pay-note{display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px;margin:-14px 0 16px;font-size:14px}.pay-note>span{color:var(--gold);font-weight:800}.pay-note small{color:var(--muted)}.review-score time{font-size:12px}.phone-field{margin:0;padding:0;border:0;min-width:0}.phone-field legend{padding:0;font-size:13px;font-weight:750}.phone-inputs{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,1.65fr);gap:8px}.phone-inputs label span{font-size:11px;color:var(--muted)}.phone-field small{display:block}.phone-inputs input,.fields input[type=email],.footer-contact a{direction:ltr;text-align:start}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3{letter-spacing:normal}[dir=rtl] .faq summary{padding:14px 0 14px 20px}[dir=rtl] .faq summary:after{left:0;right:auto}
@media(max-width:670px){.nav-book{display:none}.language-picker select{max-width:110px}.pay-note{margin:0 0 12px}.pay-note small{flex-basis:100%}}
.reviews-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.review-score{grid-row:span 2;align-content:center;background:#f4ebdb}.review .review-text{font:400 21px/1.25 var(--serif);margin:10px 0 15px}.review blockquote{font-size:21px}.venue-address h3{font-size:clamp(24px,4vw,39px)}.venue-address p{margin:12px 0 17px;color:var(--muted)}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.journal-article{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px}.journal-article[open]{grid-column:1/-1}.journal-article summary h3{font-size:26px;margin:8px 0 12px}.journal-article summary small{color:var(--gold);font-weight:700}.journal-article section{max-width:74ch;margin:17px 0}.journal-article h4{margin:0 0 5px}.journal-article p{color:var(--muted)}.journal-article .text-link{text-decoration:underline}
@media(max-width:940px){.reviews-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.review-score{grid-row:auto}}
@media(max-width:670px){.reviews-grid,.journal-grid{grid-template-columns:1fr}}

.payment-banner{display:flex;justify-content:center;align-items:center;gap:8px 24px;flex-wrap:wrap;background:#073a3c;color:#fff;padding:10px 18px;text-align:center;font-size:14px}.payment-banner a{color:#fff;font-weight:800;text-decoration:none}.payment-banner span{font-size:12px;color:#e6dfce}.pay-note{padding:12px 14px;background:#f4ebdb;border-radius:8px;margin-top:0}.pay-note strong{font-size:18px}.package-assurance{color:#073a3c;font-weight:750;margin:0 0 18px}.package-pay{font-size:12px;text-align:center;margin:0;color:#23564b;font-weight:700}.form-assurance{font-weight:800;color:#073a3c;margin:15px 0 4px}.mobile-bar .button{font-size:12px;line-height:1.3;text-align:center}@media(max-width:670px){.payment-banner{gap:2px;padding:8px 12px}.payment-banner span{flex-basis:100%}.pay-note strong{font-size:17px}}

.booking-thanks{min-height:340px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:40px!important}.thanks-check{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#dcebe2;color:#0b3c3e;font-size:34px;margin-bottom:24px}.booking-thanks h3{font-size:clamp(26px,3vw,38px);line-height:1.3;margin:0}.venue-map{display:block;width:100%;height:430px;border:0;border-radius:16px;background:#e7e4dc}@media(max-width:600px){.venue-map{height:350px}.booking-thanks{min-height:280px;padding:28px!important}}

.journal-preview{overflow:hidden;border:1px solid #d8ccba;border-radius:16px;background:#fffdf7}.journal-preview>a{display:block;text-decoration:none;color:inherit;padding:0 0 24px}.journal-preview img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.journal-preview h3,.journal-preview p,.journal-preview span{margin-left:24px;margin-right:24px}.journal-preview h3{font-size:28px;margin-top:22px}.journal-preview p{font-size:15px;line-height:1.65}.journal-preview a:hover h3{text-decoration:underline}

.guest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.guest-photo{margin:0;background:#fffdf7;border:1px solid #dfd5c4;border-radius:16px;overflow:hidden}.guest-photo>a{display:block}.guest-photo img{display:block;width:100%;height:360px;object-fit:cover;transition:transform .25s}.guest-photo>a:hover img{transform:scale(1.02)}.guest-photo figcaption{font-size:13px;padding:16px 20px;line-height:1.6}.guest-photo figcaption a{color:inherit;text-underline-offset:3px}.guest-video-card{border-radius:16px;background:#073b3d;color:#fff7e5;min-height:420px;padding:36px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.guest-video-card h3{font-size:36px;line-height:1.15;margin:25px 0}.guest-video-card a{color:inherit;text-underline-offset:6px;line-height:1.6}.guest-video-symbol{font-size:32px;border:1px solid #bfa469;border-radius:50%;width:70px;height:70px;display:grid;place-items:center}.guest-video-card small{letter-spacing:2px;margin-top:24px}@media(max-width:850px){.guest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-photo img{height:300px}}@media(max-width:520px){.guest-grid{gap:14px}.guest-photo img{height:230px}.guest-photo figcaption{padding:12px;font-size:11px}.guest-video-card{padding:20px;min-height:280px}.guest-video-card h3{font-size:25px}.guest-video-card a{font-size:13px}}

.journal-preview{overflow:hidden;border:1px solid #d8ccba;border-radius:16px;background:#fffdf7}.journal-preview>a{display:block;text-decoration:none;color:inherit;padding:0 0 24px}.journal-preview img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.journal-preview h3,.journal-preview p,.journal-preview span{margin-left:24px;margin-right:24px}.journal-preview h3{font-size:28px;margin-top:22px}.journal-preview p{font-size:15px;line-height:1.65}.journal-preview a:hover h3{text-decoration:underline}
