@import"https://fonts.googleapis.com/css2?family=Allura&family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap";:root{--ink:#30251d;--dark:#2e251f;--gold:#bf8d3e;--gold-light:#d1a052;--paper:#fbf9f5;--line:rgba(71,52,35,.18);--serif:"Playfair Display", Georgia, serif;--sans:"DM Sans", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{border:0;cursor:pointer}img{display:block;max-width:100%}.site-shell{overflow:hidden}.site-header{height:82px;padding:12px clamp(24px,6.8vw,108px);display:flex;align-items:center;justify-content:space-between;background:#f4eee5;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(72,51,33,.08)}.brand img{width:92px;height:58px;object-fit:contain;mix-blend-mode:multiply}.main-nav{display:flex;align-items:center;gap:42px;margin-left:auto;margin-right:52px}.main-nav button,.site-footer nav button{background:none;color:var(--ink);font-size:11px;letter-spacing:.02em;transition:color .3s ease}.main-nav button:hover,.site-footer nav button:hover{color:var(--gold)}.button{min-height:44px;padding:0 25px;border-radius:28px;display:inline-flex;gap:12px;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:600;transition:transform .35s cubic-bezier(.2,.8,.2,1),background .3s ease,color .3s ease,box-shadow .3s ease}.button:hover{transform:translateY(-3px);box-shadow:0 12px 25px #2d221926}.button-dark{background:var(--dark);color:#fff}.button-gold{background:var(--gold);color:#fff}.button-gold:hover{background:#aa7931}.button-outline-light{color:#fff;border:1px solid rgba(255,255,255,.65);background:transparent}.menu-button{display:none;background:none;color:var(--ink)}.section-dark{color:#fff;background:var(--dark)}.hero{min-height:630px;position:relative;isolation:isolate;display:flex;align-items:center}.hero-image,.spa-feature>img,.cta-banner>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.hero-image{object-position:center 55%;z-index:-2}.hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#2c1e15a6,#2c1e154d 45%,#2c1e150f)}.hero-content{width:min(650px,80%);margin-left:clamp(28px,9vw,140px);margin-top:8px}.eyebrow{margin:0 0 16px;color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:600}.eyebrow.light{color:#e0ba70}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400}h1{margin-bottom:18px;font-size:clamp(46px,5.1vw,77px);line-height:1.04;letter-spacing:-.055em}h1 em{font-style:italic}.hero-copy{font-size:14px;line-height:1.6;color:#ffffffd1}.hero-actions{display:flex;gap:15px;margin-top:28px}.hero-note{position:absolute;right:clamp(28px,10vw,160px);bottom:72px;font-size:10px;line-height:1.9;letter-spacing:.22em;text-transform:uppercase;color:#fff}.hero-note span{color:#e0ba70}.hero-note:after{content:"";display:block;width:25px;height:1px;background:#fff;margin-top:12px}.scroll-cue{position:absolute;bottom:23px;left:50%;transform:translate(-50%);color:#ffffffb8;text-transform:uppercase;font-size:9px;letter-spacing:.2em;display:flex;align-items:center;gap:8px}.scroll-cue span{width:5px;height:5px;border-radius:100%;background:var(--gold-light);animation:pulse 2s ease-in-out infinite}.values-strip{min-height:102px;padding:0 clamp(28px,8vw,120px);display:grid;grid-template-columns:repeat(3,1fr);align-items:center;background:#f7f3ed}.values-strip>div{display:flex;align-items:center;gap:18px;justify-content:center;min-height:47px;border-right:1px solid var(--line);color:var(--gold)}.values-strip>div:last-child{border-right:0}.values-strip span{display:flex;flex-direction:column;gap:6px}.values-strip strong{color:var(--ink);font-family:var(--serif);font-size:14px;font-weight:400}.values-strip small,.cta-copy>p,.service-meta p{color:#786a5d;font-size:9px;text-transform:uppercase;letter-spacing:.16em}.section-light{background:var(--paper)}.section-padding{padding:86px clamp(24px,5vw,78px)}.section-heading{text-align:center;margin:0 auto 45px}.section-heading h2,.gallery-intro h2{font-size:clamp(34px,3.4vw,50px);line-height:1.1;letter-spacing:-.045em;margin-bottom:12px}.section-heading h2:after,.gallery-intro h2:after{content:"";display:block;width:27px;height:1px;margin:18px auto 0;background:var(--gold)}.section-heading>p:last-child,.gallery-intro>p:last-child{color:#77695b;font-size:14px}.ritual{background:#faf6f0}.ritual-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:28px}.ritual-card{min-width:0;transition:transform .4s ease;transition-delay:var(--delay)}.ritual-card:hover{transform:translateY(-8px)}.ritual-image-wrap{position:relative;aspect-ratio:1 / 1;overflow:hidden;margin-bottom:0;line-height:0;-webkit-mask-image:url(/assets/ritual-mask.svg);mask-image:url(/assets/ritual-mask.svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}.ritual-image-wrap img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.75,.2,1)}.service-image-wrap img,.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.75,.2,1)}.ritual-card:hover img,.service-card:hover img,.gallery-item:hover img{transform:scale(1.07)}.ritual-number{position:relative;z-index:1;display:block;width:max-content;margin:-16px 0 0 6px;color:var(--gold);font-family:var(--serif);font-size:27px;line-height:1}.ritual-card h3{margin:7px 0 6px;font-family:var(--serif);font-weight:600;font-size:20px;line-height:1.05}.ritual-card p{margin:0;max-width:150px;color:#766b62;font-size:12px;line-height:1.45}.services{padding-top:73px;border-top:1px solid rgba(71,52,35,.12)}.services-grid{max-width:1260px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.service-card{text-align:left;padding:0;background:transparent;color:var(--ink);transition:transform .4s ease;transition-delay:var(--delay)}.service-card:hover{transform:translateY(-7px)}.service-image-wrap{height:185px;overflow:hidden;position:relative;background:#e5d9cb}.service-image-wrap span{position:absolute;inset:auto 13px 12px auto;opacity:0;color:#fff;display:flex;align-items:center;gap:5px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;transition:opacity .3s ease}.service-card:hover .service-image-wrap span{opacity:1}.service-meta{padding:12px 9px 0}.service-meta h3{font-family:var(--serif);font-size:15px;font-weight:400;margin-bottom:6px}.service-meta p{color:var(--gold);margin:0}.spa-feature{min-height:372px;position:relative;isolation:isolate;display:flex;align-items:center}.spa-feature>img{z-index:-2;object-position:center}.spa-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#fff7ed0d,#fff7ed00 65%)}.spa-copy{width:min(515px,70%);margin-left:clamp(28px,5vw,78px);color:var(--ink)}.spa-copy h2,.cta-copy h2{font-size:clamp(34px,3.4vw,52px);line-height:1.12;letter-spacing:-.05em;margin-bottom:15px}.spa-copy>p{max-width:460px;color:#65594f;font-size:13px;line-height:1.6}.spa-copy small{display:block;margin-top:25px;text-transform:uppercase;letter-spacing:.18em;font-size:8px;color:#65594f}.gallery-section{display:grid;grid-template-columns:1fr 3fr;gap:42px;align-items:center;padding-block:68px}.gallery-intro{padding-left:clamp(0px,3vw,42px)}.gallery-intro h2:after{margin:17px 0 0}.gallery-intro>p:last-child{max-width:140px;line-height:1.5;margin-top:20px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.gallery-item{border:0;padding:0;height:175px;overflow:hidden}.visit-section{position:relative;display:grid;grid-template-columns:1.1fr 2.15fr .72fr;gap:16px;align-items:center;min-height:285px;padding:42px 24px 42px calc(19% + clamp(14px,2vw,28px));overflow:hidden}.visit-blur{position:absolute;inset:0 auto 0 0;width:19.2%;overflow:hidden;z-index:0}.visit-blur img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.visit-info,.map-card,.visit-mantra{position:relative;z-index:1}.visit-info h2{font-size:clamp(36px,3.4vw,42px);margin-bottom:20px}.visit-info h2:after{content:"";display:block;width:27px;height:1px;background:var(--gold);margin-top:17px}.contact-list{display:grid;gap:10px}.contact-list p{margin:0;display:flex;gap:12px;align-items:flex-start;color:#65594f;font-size:13px;line-height:1.55}.contact-list svg{flex:none;color:var(--gold);margin-top:1px}.contact-list a{color:inherit;text-decoration:none}.map-card{min-height:195px;border:0;background:#ebe9e4;overflow:hidden;position:relative}.visit-map-image{width:100%;height:100%;min-height:195px;display:block;object-fit:cover;object-position:center}.map-pin{position:absolute;left:57.5%;top:41%;color:var(--gold);filter:drop-shadow(0 4px 3px rgba(55,41,25,.18));transform:translate(-50%,-50%)}.map-label{position:absolute;left:63%;top:37%;color:#564e45;font-size:10px;white-space:nowrap}.visit-mantra{justify-self:end;width:100%;max-width:122px;color:#8a6d48;text-align:center}.visit-mantra span{display:block;font-family:Allura,Segoe Script,cursive;font-size:clamp(25px,2.25vw,34px);line-height:.88}.visit-mantra i,.cta-note i{display:block;width:28px;height:1px;background:var(--gold);margin:18px 0 0 auto}.visit-mantra i{margin:16px auto 0}.cta-banner{min-height:270px;position:relative;isolation:isolate;display:flex;align-items:center}.cta-banner>img{z-index:-2;object-position:center}.cta-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#fff7ed0f,#fff7ed00 75%)}.cta-copy{margin-left:clamp(28px,19vw,280px)}.cta-copy h2{margin-bottom:8px}.cta-copy>p:not(.eyebrow){text-transform:uppercase;letter-spacing:.2em;font-size:9px;color:#786a5d;margin-bottom:23px}.cta-note{position:absolute;right:clamp(28px,8vw,120px);bottom:48px;color:#fff;text-transform:uppercase;letter-spacing:.22em;font-size:9px;line-height:2}.cta-note span{color:#e0ba70}.site-footer{min-height:166px;padding:24px clamp(24px,7vw,110px) 17px;background:var(--dark);color:#d9cbb8;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:20px}.footer-brand{width:108px;height:86px;display:flex;align-items:center;justify-content:center;overflow:hidden}.footer-brand img{width:92px;height:76px;object-fit:cover;mix-blend-mode:normal}.site-footer nav{display:flex;justify-content:center;gap:37px}.site-footer nav button{color:#d9cbb8;font-size:10px}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:13px;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#ffffff8c}.footer-bottom span:last-child{display:flex;gap:14px;color:#dfb770}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms)}.reveal.is-visible{opacity:1;transform:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:#241b14a8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease}.booking-modal{width:min(100%,475px);position:relative;padding:40px;background:#fbf7f1;box-shadow:0 22px 70px #00000038;animation:modalIn .45s cubic-bezier(.2,.8,.2,1)}.modal-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#efe6d9;color:var(--ink)}.booking-modal h2{margin:0 0 12px;font-size:39px;letter-spacing:-.05em}.booking-modal>p:not(.eyebrow){color:#77695b;font-size:13px;line-height:1.5;margin-bottom:25px}.booking-modal form{display:grid;gap:14px}.booking-modal label{display:grid;gap:7px;color:#75695e;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.booking-modal input,.booking-modal select{width:100%;border:1px solid var(--line);border-radius:0;background:#fffdf9;color:var(--ink);padding:12px 13px;outline:none;font-size:13px;text-transform:none;letter-spacing:0}.booking-modal input:focus,.booking-modal select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #bf8d3e21}.booking-modal .button{margin-top:8px}@keyframes pulse{0%,to{transform:scale(.8);opacity:.5}50%{transform:scale(1.35);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:900px){.site-header{padding-inline:24px}.main-nav{gap:22px;margin-right:24px}.ritual-grid,.services-grid{gap:14px}.service-image-wrap{height:155px}.gallery-section{grid-template-columns:1fr}.gallery-intro{padding:0;text-align:center}.gallery-intro h2:after{margin-inline:auto}.gallery-intro>p:last-child{max-width:none}.visit-section{grid-template-columns:1fr 1.4fr;padding-left:24%}.visit-mantra{display:none}}@media(max-width:680px){#ritual,#services,#gallery,#visit{scroll-margin-top:82px}.site-shell{padding-top:70px}.site-header{position:fixed;inset:0 0 auto;width:100%;height:70px}.brand img{width:76px;height:49px}.header-cta{display:none}.menu-button{display:grid;place-items:center}.main-nav{position:absolute;top:69px;left:0;right:0;display:grid;gap:0;margin:0;padding:10px 24px 18px;background:#f4eee5;transform:translateY(-130%);opacity:0;transition:transform .4s ease,opacity .3s ease;box-shadow:0 15px 22px #281c1414}.main-nav.open{transform:none;opacity:1}.main-nav button{padding:14px 0;text-align:left;border-bottom:1px solid var(--line)}.hero{min-height:620px;align-items:flex-end;padding-bottom:65px}.hero-image{object-position:58% center}.hero-content{width:auto;margin:0 28px}h1{font-size:47px}.hero-copy{font-size:13px}.hero-actions{flex-wrap:wrap}.hero-actions .button{padding-inline:19px}.hero-note{right:28px;bottom:29px}.scroll-cue{display:none}.values-strip{grid-template-columns:1fr;padding:12px 25px}.values-strip>div{justify-content:flex-start;border-right:0;border-bottom:1px solid var(--line);padding:13px 0}.values-strip>div:last-child{border-bottom:0}.section-padding{padding:66px 21px}.ritual-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:20px;padding:0 21px 16px;margin-inline:-21px;scrollbar-width:none}.ritual-grid::-webkit-scrollbar{display:none}.ritual-card{flex:0 0 72vw;scroll-snap-align:start}.ritual-image-wrap{width:100%;max-width:none}.services-grid{grid-template-columns:repeat(2,1fr);gap:23px 10px}.service-image-wrap{height:150px}.service-card:last-child{grid-column:1/-1;width:calc(50% - 5px);justify-self:center}.spa-feature{min-height:590px;align-items:flex-end;padding:55px 28px}.spa-feature>img{object-position:30% center}.spa-overlay{background:linear-gradient(0deg,#fff7edc7,#fff7ed85 38%,#fff7ed14 72%)}.spa-copy{width:auto;max-width:320px;margin:0}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-item{height:145px}.visit-section{grid-template-columns:1fr;padding:56px 28px}.visit-blur{width:100%;opacity:.08}.map-card{min-height:180px}.cta-banner{min-height:520px;align-items:flex-end;padding:50px 28px 70px}.cta-banner>img{object-position:24% center}.cta-overlay{background:linear-gradient(90deg,#fff7edd6,#fff7ed8c 47%,#fff7ed1f 82%)}.cta-copy{margin:0;max-width:330px}.cta-note{display:none}.site-footer{grid-template-columns:1fr;justify-items:center;text-align:center;padding-top:34px}.site-footer nav{gap:19px;flex-wrap:wrap}.footer-bottom{width:100%;gap:12px;flex-direction:column-reverse}.booking-modal{padding:33px 24px 26px}}@media(max-width:680px){.spa-feature{min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:0;background:var(--paper)}.spa-feature>img{position:relative;inset:auto;width:100%;height:260px;object-fit:cover;object-position:center;z-index:0}.spa-overlay{display:none}.spa-copy{width:auto;max-width:none;margin:0;padding:40px 28px 46px;order:2}.cta-banner{min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:0;background:var(--paper)}.cta-banner>img{position:relative;inset:auto;width:100%;height:220px;object-fit:cover;object-position:center;z-index:0}.cta-overlay{display:none}.cta-copy{margin:0;max-width:none;padding:34px 28px 46px;order:2;background:var(--paper)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
