:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#29231e;background:#f8f3eb;font-synthesis:none;--bg: #f8f3eb;--surface: #fffaf3;--surface-strong: #fffdf9;--surface-muted: #eee4d7;--line: #dfd0bd;--text: #29231e;--muted: #6c6054;--gold: #a9823d;--gold-dark: #765522;--gold-soft: #cfb47c;--ink: #1e1d1b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%}.siteHeader{position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;gap:2rem;min-height:78px;padding:.65rem clamp(1.2rem,5vw,4.5rem);background:#fbf7f0f2;border-bottom:1px solid rgba(132,101,52,.14);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:grid;place-items:center;min-width:112px;font-family:Cormorant Garamond,Georgia,serif;line-height:.9}.brandMark{color:var(--gold);font-size:1.35rem;line-height:.7}.brandName{font-size:1.25rem;font-weight:600;letter-spacing:.16em}.brandSub{margin-top:.3rem;color:var(--gold);font-family:Inter,sans-serif;font-size:.48rem;font-weight:700;letter-spacing:.35em}.siteHeader nav{display:flex;align-items:center;gap:clamp(.85rem,2vw,1.65rem);font-size:.78rem}.siteHeader nav>a{position:relative;padding:.55rem 0}.siteHeader nav>a:first-child:after{content:"";position:absolute;right:0;bottom:.25rem;left:0;height:1px;background:var(--gold)}.headerPhone{display:grid;padding-left:1rem;border-left:1px solid var(--line)}.headerPhone strong{font-size:.78rem}.headerPhone small{color:var(--muted);font-size:.58rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border:0;border-radius:.28rem;padding:.9rem 1.25rem;background:linear-gradient(135deg,#b79049,#95702f);color:#fff;box-shadow:0 8px 24px #7855222b;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.button:hover{transform:translateY(-1px);box-shadow:0 12px 28px #7855223d}.button.small{padding:.72rem 1.05rem;font-size:.72rem}.textLink{color:#6f522b;text-decoration:underline;text-underline-offset:.28rem}.hero{position:relative;min-height:610px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);align-items:stretch;overflow:hidden;background:radial-gradient(circle at 13% 18%,rgba(255,255,255,.94),transparent 26%),linear-gradient(115deg,#fbf7f0,#efe1ce 46%,#cdb38e)}.heroCopy{z-index:2;align-self:center;padding:clamp(4rem,8vw,7rem) 2rem clamp(4rem,8vw,7rem) clamp(1.25rem,8vw,7rem)}.eyebrow{margin:0 0 .7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--gold-dark);font-size:.66rem;font-weight:700}h1,h2,h3{margin-top:0;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-weight:500}h1{max-width:10ch;margin-bottom:1.15rem;font-size:clamp(3.15rem,5.8vw,5.6rem);line-height:.91;letter-spacing:-.025em}h2{margin-bottom:.8rem;font-size:clamp(2.3rem,4vw,3.8rem);line-height:.97}h3{margin-bottom:.55rem;font-size:1.55rem}.lead,.sectionHeading>p,.serviceCard p,.wellnessFeature p,.booking p,footer p{color:var(--muted);line-height:1.62}.lead{max-width:34rem;font-size:.98rem}.actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-top:1.7rem}.heroPhoto{min-width:0;margin:0}.heroPhoto img{display:block;width:100%;height:100%;min-height:610px;object-fit:cover;object-position:48% center}.heroPhoto:after{content:"";position:absolute;inset:0 35% 0 32%;background:linear-gradient(90deg,#f3e7d5,transparent);pointer-events:none}.quickBooking{position:absolute;z-index:3;top:50%;right:clamp(1.2rem,4vw,4rem);width:min(330px,33vw);padding:1.45rem;border:1px solid rgba(132,101,52,.18);border-radius:.45rem;background:#fffcf7f2;box-shadow:0 25px 70px #392b1b2e;transform:translateY(-50%)}.quickBooking h2{margin-bottom:.3rem;font-size:2rem}.quickBooking>p:not(.eyebrow){margin:0 0 1rem;color:var(--muted);font-size:.76rem;line-height:1.5}.quickBooking label{display:grid;gap:.35rem}.quickBooking label span{color:var(--muted);font-size:.68rem;font-weight:700}.quickBooking select{width:100%;padding:.75rem .8rem;border:1px solid var(--line);border-radius:.28rem;background:#fff;color:var(--text)}.quickBooking .button{width:100%;margin-top:.75rem}.quickBooking>small{display:block;margin-top:.7rem;color:var(--muted);font-size:.58rem;text-align:center}.benefitStrip{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);background:#fffaf3}.benefitStrip>div{display:grid;place-items:center;gap:.18rem;padding:1.3rem .75rem;text-align:center}.benefitStrip>div+div{border-left:1px solid #e7dccd}.benefitStrip span{color:var(--gold);font-family:Georgia,serif;font-size:1.55rem}.benefitStrip strong{font-family:Cormorant Garamond,Georgia,serif;font-size:1.05rem;font-weight:600}.benefitStrip small{color:var(--muted);font-size:.62rem}.section,.booking,footer{padding:clamp(3.8rem,7vw,6.5rem) clamp(1.25rem,6vw,6rem)}.sectionHeading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:2rem;align-items:end;margin-bottom:2rem}.sectionHeading h2{max-width:14ch;margin-bottom:0}.sectionHeading>p{margin:0 0 .3rem;font-size:.83rem}.servicesSection{background:#fbf7f0}.serviceCards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem}.serviceCard{position:relative;overflow:hidden;border:1px solid #e2d7c9;border-radius:.35rem;background:#fffdf9;box-shadow:0 8px 26px #4a37220f}.serviceCard>img{display:block;width:100%;height:148px;object-fit:cover}.serviceCard>div{position:relative;min-height:185px;padding:1rem}.serviceCard .cardMeta{margin:0 0 .35rem;color:var(--gold-dark);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em}.serviceCard h3{font-size:1.25rem}.serviceCard p{margin:0;font-size:.72rem}.roundLink{position:absolute;right:.75rem;bottom:.75rem;display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--gold-soft);border-radius:50%;background:transparent;color:var(--gold-dark);cursor:pointer}.servicePreviewEmpty{display:grid;grid-template-columns:1.4fr .75fr;gap:1.5rem;align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:.4rem;background:#fff}.servicePreviewImages{display:grid;grid-template-columns:repeat(5,1fr);min-height:230px}.servicePreviewImages img{width:100%;height:100%;object-fit:cover}.servicePreviewEmpty>div:last-child{align-self:center;padding:2rem 2rem 2rem .5rem}.servicePreviewEmpty h3{font-size:1.8rem}.servicePreviewEmpty p:last-child{color:var(--muted);font-size:.78rem;line-height:1.6}.wellnessFeature{display:grid;grid-template-columns:1.1fr 1fr .72fr;min-height:360px;background:#2d241d;color:#fff}.wellnessFeature>img{width:100%;height:100%;min-height:360px;object-fit:cover}.wellnessFeature>div{align-self:center;padding:clamp(2rem,5vw,4rem)}.wellnessFeature h2{max-width:12ch}.wellnessFeature p{color:#e6d9c9}.wellnessFeature blockquote{display:grid;place-items:center;margin:0;padding:2rem;background:linear-gradient(145deg,#f4e6d2,#e5ceb0);color:#6e512d;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.45rem,2.5vw,2.25rem);font-style:italic;text-align:center}.teamSection{background:#fffdf9}.teamVisuals{display:grid;grid-template-columns:repeat(3,1fr) .75fr;gap:.85rem}.teamVisuals img{width:100%;height:210px;object-fit:cover;border-radius:.35rem}.teamVisuals>div{display:grid;place-content:center;padding:1.5rem;background:#f3e7d8;color:#8a6836;font-family:Cormorant Garamond,Georgia,serif;text-align:center}.teamVisuals>div span,.teamVisuals>div strong{display:block;font-size:1.45rem;font-style:italic;font-weight:500}.booking{display:grid;place-items:center;scroll-margin-top:78px;text-align:center;background:#f1e7da}.bookingInner{max-width:48rem}.booking p{margin:0 auto 1.6rem}.publicState,.publicError{padding:1rem 1.1rem;border:1px solid var(--line);border-radius:.4rem;background:var(--surface);color:var(--muted);text-align:center}.serviceOfflineNote{display:inline-block;margin-top:.8rem;color:var(--muted);font-size:.68rem}footer{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:3rem;align-items:start;background:#1e1e1c;color:#f5ecdf}.footerBrand{display:grid;justify-items:start}.footerBrand .brandMark{font-size:1.7rem}.footerBrand strong{font-family:Cormorant Garamond,Georgia,serif;font-size:1.45rem;letter-spacing:.15em}.footerBrand small{color:var(--gold-soft);font-size:.5rem;letter-spacing:.35em}.footerBrand p{color:#bdb3a6;font-family:Cormorant Garamond,Georgia,serif;font-style:italic}.footerLinks,.footerContact{display:grid;justify-items:start;gap:.45rem;font-size:.75rem}.footerLinks strong,.footerContact strong{margin-bottom:.35rem;color:#f7efe4}.footerLinks a,.footerContact a,.footerContact span{color:#bdb3a6}.footerContact a:hover,.footerLinks a:hover{color:var(--gold-soft)}@media(max-width:1100px){.siteHeader nav>a{display:none}.hero{grid-template-columns:.78fr 1.22fr}.quickBooking{width:min(300px,36vw)}.serviceCards{grid-template-columns:repeat(3,minmax(0,1fr))}.wellnessFeature{grid-template-columns:1fr 1fr}.wellnessFeature blockquote{grid-column:1 / -1;min-height:150px}}@media(max-width:800px){.siteHeader{min-height:68px}.headerPhone{display:none}.hero{grid-template-columns:1fr}.heroCopy{padding:3.5rem 1.25rem 2rem}.heroPhoto img{min-height:420px;max-height:520px}.heroPhoto:after{inset:25% 0 28%;background:linear-gradient(#f3e7d5,transparent 28%)}.quickBooking{position:relative;top:auto;right:auto;width:calc(100% - 2.5rem);margin:-5rem auto 2rem;transform:none}.benefitStrip{grid-template-columns:repeat(2,1fr)}.benefitStrip>div:nth-child(3){border-left:0;border-top:1px solid #e7dccd}.benefitStrip>div:nth-child(4){border-top:1px solid #e7dccd}.sectionHeading,.servicePreviewEmpty{grid-template-columns:1fr}.servicePreviewImages{min-height:180px}.servicePreviewEmpty>div:last-child{padding:1.5rem}.serviceCards{grid-template-columns:repeat(2,minmax(0,1fr))}.wellnessFeature{grid-template-columns:1fr}.wellnessFeature blockquote{grid-column:auto}.teamVisuals{grid-template-columns:repeat(2,1fr)}footer{grid-template-columns:1fr 1fr}.footerBrand{grid-column:1 / -1}}@media(max-width:560px){.siteHeader{padding:.55rem .8rem}.siteHeader nav{gap:.4rem}.brand{min-width:92px}.brandName{font-size:1.05rem}.siteHeader .button.small{padding:.65rem .75rem}h1{font-size:clamp(3rem,14vw,4.1rem)}.benefitStrip{grid-template-columns:1fr 1fr}.serviceCards{grid-template-columns:1fr}.servicePreviewImages{grid-template-columns:repeat(5,minmax(90px,1fr));overflow-x:auto}.teamVisuals{grid-template-columns:1fr}footer{grid-template-columns:1fr}.footerBrand{grid-column:auto}}.publicChatLauncher{position:fixed;right:1.35rem;bottom:1.35rem;z-index:50;display:inline-flex;align-items:center;gap:.55rem;padding:.8rem 1rem;border:1px solid rgba(126,91,53,.24);border-radius:999px;background:#8d6a42;color:#fff;box-shadow:0 14px 35px #46362533;font:inherit;cursor:pointer}.publicChatLauncher:hover{background:#765635}.publicChatLauncherIcon{font-family:Georgia,serif;font-size:1rem}.publicChatPanel{position:fixed;right:1.35rem;bottom:5.35rem;z-index:50;width:min(390px,calc(100vw - 2rem));max-height:min(660px,calc(100vh - 7rem));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:1.1rem;background:var(--surface);box-shadow:0 24px 70px #46362533}.publicChatHeader{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.95rem 1rem;border-bottom:1px solid var(--line);background:#f2e8dc}.publicChatHeader>div{display:grid;gap:.18rem}.publicChatHeader strong{font-family:Georgia,serif;font-size:1rem;font-weight:400}.publicChatHeader span{color:var(--muted);font-size:.72rem}.publicChatHeader button{display:grid;place-items:center;width:2rem;height:2rem;border:0;background:transparent;color:var(--muted);font-size:1.35rem;cursor:pointer}.publicChatLoading,.publicChatStart,.publicChatConversation{min-height:0;padding:1rem}.publicChatLoading{color:var(--muted);font-size:.82rem}.publicChatStart{display:grid;align-content:start;gap:.8rem}.publicChatStart p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.55}.publicChatStart label{display:grid;gap:.35rem;color:#6f6256;font-size:.75rem;font-weight:700}.publicChatStart input{width:100%;padding:.72rem .78rem;border:1px solid var(--line);border-radius:.58rem;background:var(--surface-strong);color:var(--text);font:inherit}.publicChatStart small{color:var(--muted);font-size:.68rem;line-height:1.45}.publicChatConversation{display:grid;grid-template-rows:minmax(180px,1fr) auto auto;gap:.7rem}.publicChatMessages{min-height:0;overflow-y:auto;display:grid;align-content:start;gap:.6rem;padding-right:.2rem}.publicChatEmpty{padding:1rem;border:1px dashed var(--line);border-radius:.7rem;color:var(--muted);font-size:.78rem;text-align:center}.publicChatMessage{display:grid;gap:.28rem;max-width:82%;padding:.68rem .78rem;border-radius:.75rem;line-height:1.45;font-size:.8rem}.publicChatMessage small{opacity:.68;font-size:.62rem}.customerMessage{justify-self:end;background:#8d6a42;color:#fff}.wellnessMessage{justify-self:start;background:#eee6dc;color:var(--text)}.publicChatComposer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:end}.publicChatComposer textarea{width:100%;min-height:3rem;max-height:8rem;resize:vertical;padding:.7rem .75rem;border:1px solid var(--line);border-radius:.58rem;background:var(--surface-strong);color:var(--text);font:inherit}.publicChatComposer .button,.publicChatStart .button,.publicChatClosed .button{padding:.72rem .9rem}.publicChatError{padding:.65rem .75rem;border-radius:.58rem;background:#f5e3df;color:#704740;font-size:.75rem}.publicChatClosed{display:grid;gap:.65rem;justify-items:start;padding-top:.3rem}.publicChatClosed p{margin:0;color:var(--muted);font-size:.78rem}@media(max-width:640px){.publicChatLauncher{right:.85rem;bottom:.85rem}.publicChatPanel{right:.75rem;bottom:4.75rem;width:calc(100vw - 1.5rem);max-height:calc(100vh - 5.5rem)}.publicChatComposer{grid-template-columns:1fr}.publicChatComposer .button{width:100%}}.navBookingButton,.serviceBookingLink{font:inherit}.navBookingButton{border:0}.serviceBookingLink{display:inline-block;padding:0;border:0;background:transparent;cursor:pointer}.serviceOfflineNote{display:inline-block;color:var(--muted);font-size:.78rem}.publicState,.publicError{padding:1rem 1.1rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface);color:var(--muted);text-align:center}.publicError{border-color:#e0beb5;background:#f8e8e4;color:#764b43}.bookingInnerWide{width:min(100%,1120px);max-width:1120px}.bookingIntro{max-width:50rem;margin:0 auto 2.2rem}.bookingFlow{text-align:left;border:1px solid var(--line);border-radius:1.1rem;background:#fffdf9;box-shadow:0 16px 45px #46362512;overflow:hidden}.bookingSteps{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);background:#f3ebe1}.bookingSteps span{display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.75rem;color:#8b7e70;font-size:.76rem}.bookingSteps span+span{border-left:1px solid var(--line)}.bookingSteps b{display:grid;place-items:center;width:1.5rem;height:1.5rem;border:1px solid #cfbeaa;border-radius:50%;font-size:.68rem}.bookingSteps span.active{color:var(--gold);font-weight:700}.bookingSteps span.active b{border-color:var(--gold);background:var(--gold);color:#fff}.bookingSelection{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:1rem;padding:1.25rem;border-bottom:1px solid var(--line)}.bookingSelection label,.bookingContactGrid label,.bookingNote{display:grid;gap:.38rem;color:#6f6256;font-size:.76rem;font-weight:700}.bookingSelection select,.bookingSelection input,.bookingContactGrid input,.bookingNote textarea{width:100%;padding:.72rem .78rem;border:1px solid var(--line);border-radius:.58rem;background:#fff;color:var(--text);font:inherit}.bookingSlotsBlock,.bookingContact{padding:1.25rem}.bookingSlotsBlock{border-bottom:1px solid var(--line)}.bookingSubheading,.bookingContactHeading,.bookingSubmitRow{display:flex;justify-content:space-between;align-items:end;gap:1rem}.bookingSubheading h3,.bookingContactHeading h3{margin-bottom:0;font-size:1.4rem}.bookingSubheading>span{color:var(--muted);font-size:.78rem}.bookingSlots{display:grid;grid-template-columns:repeat(6,minmax(72px,1fr));gap:.55rem;margin-top:1rem}.bookingSlot{padding:.72rem .55rem;border:1px solid #d8c9b7;border-radius:.55rem;background:#fff;color:#624b33;cursor:pointer;font:inherit;font-size:.82rem}.bookingSlot:hover,.bookingSlot.selected{border-color:var(--gold);background:#efe2d2;color:#5a4026}.bookingStateMessage,.bookingError{margin-top:1rem;padding:.85rem 1rem;border-radius:.65rem;font-size:.8rem;line-height:1.5}.bookingStateMessage{background:#f3eee7;color:var(--muted)}.bookingError{border:1px solid #e1bdb5;background:#f8e7e3;color:#74483f}.bookingContact{background:#fbf7f1}.bookingTextButton,.bookingSecondaryButton{padding:0;border:0;background:transparent;color:var(--gold);cursor:pointer;text-decoration:underline;text-underline-offset:.22rem;font:inherit}.bookingContactGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.bookingNote,.bookingSubmitRow{margin-top:1rem}.bookingSubmitRow p{max-width:36rem;margin:0;color:var(--muted);font-size:.76rem;line-height:1.5}.bookingSubmitRow .button:disabled,.bookingSlot:disabled{cursor:wait;opacity:.62}.bookingSuccess,.bookingUnavailable{padding:clamp(2rem,5vw,4rem);text-align:center}.bookingSuccess{max-width:48rem;margin:0 auto}.bookingSuccessMark{display:grid;place-items:center;width:3.4rem;height:3.4rem;margin:0 auto 1rem;border-radius:50%;background:#e8efe4;color:#66745d;font-size:1.4rem}.bookingSuccess h3,.bookingUnavailable h3{font-size:clamp(1.8rem,3vw,2.5rem)}.bookingSuccess p,.bookingUnavailable p{color:var(--muted);line-height:1.65}.footerContact{display:grid;justify-items:end;gap:.28rem;color:var(--muted);font-size:.82rem}.footerContact strong{color:var(--text)}.footerContact a{color:var(--gold)}@media(max-width:900px){.bookingSelection{grid-template-columns:1fr 1fr}.bookingSelection label:last-child{grid-column:1 / -1}.bookingSlots{grid-template-columns:repeat(4,minmax(70px,1fr))}}@media(max-width:640px){.bookingSteps span{padding:.65rem .35rem;font-size:.68rem}.bookingSelection,.bookingContactGrid{grid-template-columns:1fr}.bookingSelection label:last-child{grid-column:auto}.bookingSlots{grid-template-columns:repeat(3,minmax(68px,1fr))}.bookingSubheading,.bookingContactHeading,.bookingSubmitRow{align-items:stretch;flex-direction:column}.bookingSubmitRow .button{width:100%}.footerContact{justify-items:start}}.hero{background-color:#f8f3eb;background-image:radial-gradient(circle at 13% 18%,rgba(255,255,255,.94),transparent 26%),linear-gradient(115deg,#fbf7f0,#efe1ce 46%,#cdb38e)}.authScreen{background-color:#faf6f0;background-image:linear-gradient(135deg,#faf6f0,#eee4d8)}
