:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#2f2a24;background:#f6f1e9;font-synthesis:none;--bg: #f6f1e9;--surface: #fffaf4;--surface-strong: #fffdf9;--surface-muted: #eee5d9;--line: #dfd4c6;--text: #2f2a24;--muted: #655c52;--gold: #8d6a42;--gold-soft: #b69a76}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button{font:inherit}.siteHeader{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.05rem clamp(1.25rem,5vw,5rem);background:#f6f1e9f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{font-family:Georgia,Times New Roman,serif;letter-spacing:.08em;font-size:1.2rem;line-height:1}.brand span{display:block;margin-top:.28rem;color:var(--gold);font-size:.66rem;letter-spacing:.24em}nav{display:flex;align-items:center;gap:1.5rem;font-size:.92rem}.hero{min-height:76vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(2rem,6vw,7rem);align-items:center;padding:clamp(4.5rem,9vw,8rem) clamp(1.25rem,8vw,8rem);background:radial-gradient(circle at 82% 26%,rgba(177,146,106,.2),transparent 30%),linear-gradient(135deg,#f9f5ef,#eee4d7)}.heroContent{max-width:52rem}.eyebrow{margin:0 0 .7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-size:.75rem;font-weight:700}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:400;margin-top:0}h1{max-width:10ch;margin-bottom:1.5rem;font-size:clamp(3rem,7vw,6.2rem);line-height:.95}h2{margin-bottom:1.2rem;font-size:clamp(2.25rem,4.8vw,4.2rem);line-height:1.02}h3{margin-bottom:.7rem;font-size:1.65rem}.lead,.sectionHeading>p,.card p,.prose p,.booking p,footer p{color:var(--muted);line-height:1.7}.lead{max-width:44rem;font-size:1.08rem}.actions{display:flex;align-items:center;gap:1.35rem;flex-wrap:wrap;margin-top:2rem}.button{border:0;border-radius:.62rem;padding:.95rem 1.35rem;background:var(--gold);color:#fff;cursor:pointer;transition:transform .18s ease,background .18s ease}.button:hover{background:#765635;transform:translateY(-1px)}.button.small{padding:.7rem 1rem}.textLink{color:#745633;text-decoration:underline;text-underline-offset:.28rem}.heroVisual{position:relative;min-height:480px}.visualCard{position:absolute;border-radius:1.5rem;border:1px solid rgba(112,87,58,.15);box-shadow:0 24px 60px #4636251f;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.55),transparent 24%),linear-gradient(145deg,#cbb79e,#eadfd2 55%,#b59b7b)}.visualCardLarge{inset:2rem 3rem 4rem 0}.visualCardSmall{width:43%;height:42%;right:0;bottom:0;border:8px solid rgba(246,241,233,.9)}.section,.booking,footer{padding:clamp(4rem,8vw,7rem) clamp(1.25rem,8vw,8rem)}.sectionHeading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.65fr);gap:2rem;align-items:end;margin-bottom:2.4rem}.sectionHeading>p{margin:0 0 .5rem}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.card{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:1rem}.imagePlaceholder{height:220px;border-bottom:1px solid var(--line)}.tone1{background:linear-gradient(135deg,#c9b59b,#e8ddd0)}.tone2{background:linear-gradient(135deg,#d9cdbd,#bca88f)}.tone3{background:linear-gradient(135deg,#cabaa5,#efe7dc)}.cardBody{padding:1.25rem}.cardMeta{margin:0 0 .35rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.11em}.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.75fr);gap:3rem;align-items:end;background:var(--surface-muted)}.prose p:first-child{margin-top:0}.booking{display:grid;place-items:center;text-align:center;background:var(--surface)}.bookingInner{max-width:48rem}.booking p{margin:0 auto 1.6rem}footer{display:flex;justify-content:space-between;gap:2rem;align-items:end;border-top:1px solid var(--line)}.footerBrand{min-width:max-content}@media(max-width:980px){.hero{grid-template-columns:1fr}.heroVisual{min-height:340px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.siteHeader{align-items:flex-start}nav a:not(.button){display:none}.hero{padding-top:4rem}.sectionHeading,.split,.cards{grid-template-columns:1fr}footer{align-items:flex-start;flex-direction:column}}.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:#f9f5ef;background-image:linear-gradient(135deg,#f9f5ef,#eee4d7)}.authScreen{background-color:#faf6f0;background-image:linear-gradient(135deg,#faf6f0,#eee4d8)}
