@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600&display=swap');
:root{--plum:#685447;--dark:#342e29;--paper:#fffaf6;--pink:#f0deda;--line:#d7c7c7;--muted:#70665f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--dark);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #ae7554;outline-offset:5px}.skip{position:fixed;top:-100px;background:white;padding:12px;z-index:20}.skip:focus{top:0}.announcement{background:var(--plum);color:#fff2e9;text-align:center;font-size:12px;letter-spacing:.09em;padding:9px 20px}.announcement span{margin-left:25px;opacity:.7}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:var(--paper)}.brand{font-family:Georgia,serif;font-size:31px;letter-spacing:-1.5px;line-height:1.1;white-space:nowrap}.brand span{display:block;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.24em;margin-top:11px;text-align:center}nav{display:flex;align-items:center;gap:29px;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--plum);color:#fff9f4;border:1px solid var(--plum);padding:17px 25px;font-size:14px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:#514035;transform:translateY(-2px)}.button.small{padding:13px 19px;font-size:13px;gap:15px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:670px}.hero-copy{padding:80px 8% 30px 10%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.18em;margin:0 0 24px;color:var(--muted)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;margin:0;letter-spacing:-.055em}h1{font-size:clamp(48px,4.9vw,78px);margin:0 0 29px}em{font-weight:400;color:#806855}h1 em{display:inline-block}h2{font-size:clamp(38px,3.5vw,56px)}h3{font-size:36px}.hero-copy>p:not(.eyebrow){max-width:405px;color:var(--muted);line-height:1.85;font-size:16px;margin:0 0 30px}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.text-link{font-size:14px;border-bottom:1px solid currentColor;padding-bottom:5px;display:inline-block;width:fit-content}.text-link:hover{color:#806855}.hero-foot{font-size:10px;letter-spacing:.12em;margin-top:auto;padding-top:56px;display:flex;gap:15px;align-items:center}.hero-foot i{font-style:normal;color:#ac8492}.hero-image{position:relative;overflow:hidden;background:#ac8d76;min-height:610px}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#241a226e)}.hero-image img{height:100%;width:100%;object-fit:cover;position:absolute;object-position:51% center}.image-caption{position:absolute;bottom:66px;left:9%;z-index:1;color:white;font-family:Georgia,serif;font-size:42px;line-height:1.1;letter-spacing:-.03em}.image-caption em{color:#fff4e8}.image-label{position:absolute;top:28px;right:30px;color:white;font-size:10px;letter-spacing:.19em;z-index:1}.intro-strip{display:flex;justify-content:space-between;align-items:center;padding:33px 6%;background:#f0e6df;border-bottom:1px solid #e6d7cf}.intro-strip>span{font-family:Georgia,serif;font-size:26px;letter-spacing:-.025em}.intro-strip p{font-size:13px;margin:0;color:var(--muted);line-height:1.7}.section{padding:94px 6%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:43px}.section-heading .eyebrow{margin-bottom:17px}.treatment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.treatment{border:1px solid var(--line);padding:34px;display:flex;flex-direction:column;min-height:325px;transition:background .2s,transform .2s}.treatment:nth-child(2){background:#f4e9e5}.treatment:nth-child(3){background:#e9dedf}.treatment:hover{background:#e6d1d5;transform:translateY(-4px)}.number{font-size:11px;letter-spacing:.14em;color:var(--muted);margin-bottom:36px}.treatment p{color:var(--muted);font-size:15px;line-height:1.8;margin:19px 0 29px;max-width:290px}.card-link{font-size:13px;margin-top:auto;display:flex;justify-content:space-between;align-items:center}.card-link b{font-size:21px;font-weight:400}.more-treatments{display:flex;gap:33px;border-bottom:1px solid var(--line);padding:29px 0;font-size:14px;flex-wrap:wrap}.more-treatments span{color:var(--muted);margin-right:auto}.more-treatments a:hover{text-decoration:underline}.our-spa{display:grid;grid-template-columns:1fr 1fr;background:var(--plum);color:#fff8f0}.spa-image{min-height:590px;position:relative}.spa-image img{position:absolute;width:100%;height:100%;object-fit:cover}.spa-image span{position:absolute;bottom:25px;left:30px;font-size:10px;letter-spacing:.15em;background:#685447bd;padding:9px 13px}.spa-copy{padding:80px 13% 75px 12%;align-self:center}.spa-copy .eyebrow{color:#d4acb9}.spa-copy em{color:#dfb7bc}.spa-copy p:not(.eyebrow){font-size:15px;color:#e3d2da;line-height:1.9;margin:28px 0}.spa-copy .text-link{margin-top:12px}.gifting{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:90px}.gift-copy>p:not(.eyebrow){max-width:415px;color:var(--muted);margin:27px 0 31px}.gift-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.gifting img{width:100%;height:360px;object-fit:cover}.visit{background:#eee1df;display:grid;grid-template-columns:1.2fr 1fr .85fr;gap:65px;padding-top:72px;padding-bottom:78px}.visit h2{font-size:47px;max-width:300px}.visit h3{font-size:25px;letter-spacing:-.025em;margin-bottom:24px}.visit p{font-size:15px;color:var(--muted);line-height:1.9;margin:24px 0}.visit .eyebrow{font-size:10px}.hours dl{margin:0 0 27px;font-size:13px}.hours dl div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #d7c7c7;padding:9px 0}.hours dd{margin:0;white-space:nowrap}.contact>a{display:block;font-size:14px;margin-bottom:13px}.contact .text-link{margin-top:23px}footer{background:#42372f;color:#f8e9e5;padding:48px 6% 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:45px}.footer-top>div{display:flex;gap:30px;font-size:14px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:25px;border-top:1px solid #ffffff26;font-size:11px;color:#cbb8c2}.footer-bottom>div{display:flex;gap:19px;flex-wrap:wrap}footer a:hover{text-decoration:underline}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:760px}}@media(max-width:1150px){nav{gap:18px}.brand{font-size:26px}header{padding:0 4%}.hero-copy{padding-top:65px}.hero{min-height:620px}.hero-image{min-height:620px}.hero-actions{gap:19px}.hero-foot{font-size:9px;gap:8px}.visit{gap:35px}.gifting{gap:50px}.treatment{padding:27px}.section-heading h2{font-size:43px}}@media(max-width:900px){header{height:85px}.menu{display:flex;gap:15px;background:none;border:1px solid var(--line);padding:9px 13px;font-size:14px}nav{display:none;position:absolute;top:123px;left:0;right:0;background:var(--paper);padding:25px 6%;z-index:10;box-shadow:0 10px 20px #342e2916;align-items:flex-start}nav.open{display:flex;flex-direction:column}nav a{padding:6px 0}.hero-copy{padding:55px 8% 30px}.hero h1{font-size:48px}.hero-foot{flex-wrap:wrap;padding-top:32px}.hero-image{min-height:570px}.hero{min-height:570px}.image-caption{font-size:35px}.section{padding:65px 5%}.section-heading{align-items:flex-start;flex-direction:column}.treatment-grid{gap:12px}.treatment{padding:23px}.treatment h3{font-size:30px}.treatment p{font-size:14px}.intro-strip p{display:none}.intro-strip{justify-content:center}.spa-copy{padding:50px 10%}.spa-image{min-height:560px}.gifting{gap:35px}.gift-actions{gap:20px}.gifting img{height:330px}.visit{grid-template-columns:1fr 1fr}.contact{grid-column:1/-1}.contact p{margin-top:0}.footer-top>div{gap:18px}.footer-bottom{flex-direction:column}}@media(max-width:600px){.announcement{font-size:10px;padding:9px 5px}.announcement span{margin-left:8px}.brand{font-size:26px}.hero{grid-template-columns:1fr}.hero-copy{padding:43px 6% 32px}.hero h1{font-size:53px;line-height:1.08}.hero .eyebrow{margin-bottom:22px}.hero-copy>p:not(.eyebrow){font-size:15px;max-width:360px;margin-bottom:25px}.hero-actions{gap:19px}.hero .button{padding:15px 19px;gap:15px}.hero .text-link{font-size:13px}.hero-foot{font-size:9px;padding-top:28px;margin:0}.hero-image{min-height:360px}.hero-image img{object-position:50% 45%}.image-caption{bottom:35px;left:6%;font-size:36px}.image-label{top:22px;right:22px;font-size:9px}.intro-strip{padding:25px 6%;text-align:center}.intro-strip>span{font-size:23px;max-width:270px}.section{padding:56px 6%}h2,.section-heading h2{font-size:39px}.section-heading{gap:24px;margin-bottom:30px}.eyebrow{font-size:10px}.treatment-grid{grid-template-columns:1fr;gap:14px}.treatment{padding:27px;min-height:255px}.treatment h3{font-size:35px}.number{margin-bottom:20px}.treatment p{max-width:none;font-size:15px;margin:17px 0 24px}.more-treatments{gap:16px 25px;padding-bottom:0;border:0}.more-treatments span{width:100%;margin-bottom:0}.more-treatments a{font-size:13px}.our-spa{grid-template-columns:1fr}.spa-image{min-height:365px}.spa-copy{padding:48px 6% 55px}.spa-copy h2{font-size:44px}.gifting{grid-template-columns:1fr;gap:35px}.gifting img{height:290px}.gift-copy h2{font-size:42px}.visit{grid-template-columns:1fr;gap:40px}.visit h2{max-width:none;font-size:42px}.visit p{margin:18px 0}.contact{grid-column:auto}.hours dl{font-size:14px}.visit h3{font-size:28px;margin-bottom:15px}.footer-top{align-items:flex-start;gap:32px;flex-direction:column}.footer-top>div{flex-wrap:wrap;gap:18px 24px}.footer-bottom{font-size:12px;line-height:1.8}.footer-bottom>div{gap:10px 18px}footer{padding:40px 6% 30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Shared branding and complete site pages */
.brand-lockup{display:flex;align-items:center;gap:12px;letter-spacing:-1px}.brand-lockup .brand-seal{display:flex;align-items:center;justify-content:center;width:67px;height:67px;background:var(--plum);border-radius:50%;margin:0;padding:0;flex-shrink:0}.brand-seal img{display:block;width:78px;max-width:none;height:auto}.brand-lockup .brand-words{font:26px/1.1 Georgia,serif;letter-spacing:-1px;margin:0}.brand-words>span{font:9px/1.4 'DM Sans',sans-serif;letter-spacing:.2em;margin-top:8px}.brand-lockup>span{text-align:left}header{gap:20px}header nav{gap:23px}header nav>a[aria-current=page]{color:#806855;text-decoration:underline;text-underline-offset:8px}footer .brand-seal{background:transparent;width:75px;height:75px}footer .brand-seal img{width:87px}footer .brand-words{font-size:25px}.footer-expanded{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px;padding-bottom:50px}.footer-expanded>div>p{font-size:14px;color:#d7c4ce;margin:25px 0;line-height:1.8}.footer-column{display:flex;flex-direction:column;gap:9px}.footer-column h2{font:500 14px/1.4 'DM Sans',sans-serif;letter-spacing:0;margin:10px 0 10px;color:#fff5ec}.footer-column a{font-size:14px;color:#d7c4ce}.page-intro{padding:30px 6% 68px;background:#f2e7e2;border-bottom:1px solid var(--line)}.breadcrumbs{display:flex;gap:13px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:43px;line-height:1.6}.breadcrumbs a:hover{text-decoration:underline}.page-intro .eyebrow{margin-bottom:22px}.page-intro h1{font-size:clamp(43px,5vw,76px);max-width:1080px;margin:0 0 25px;line-height:1.12}.page-lede{max-width:630px;margin:0;color:var(--muted);font-size:17px;line-height:1.85}.category-nav{display:flex;gap:10px 28px;flex-wrap:wrap;padding:23px 6%;border-bottom:1px solid var(--line);align-items:center;font-size:14px}.category-nav a{padding:8px 0}.category-nav a:hover,.category-nav a[aria-current=page]{color:#806855;text-decoration:underline;text-underline-offset:7px}.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.directory-grid h2{font-size:37px;line-height:1.1}.directory-grid .treatment{min-height:325px}.directory-grid .number{margin-bottom:25px}.pricing-note{padding:20px 6%;font-size:14px;background:#f8f0eb;color:var(--muted)}.pricing-note a{text-decoration:underline;text-underline-offset:3px}.service-list{padding:0 10%}.service-row{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;padding:58px 0;border-bottom:1px solid var(--line)}.service-row h2{font-size:43px;line-height:1.12}.service-row .eyebrow{margin-bottom:20px}.service-row p:not(.eyebrow){margin:0 0 23px;line-height:1.9;color:var(--muted);font-size:16px}.service-row p.service-note{font-size:14px;padding-left:17px;border-left:2px solid #bb8c9d}.service-row .button{margin-top:8px}.related-links{display:flex;gap:20px 35px;flex-wrap:wrap;margin:35px 0;font-size:14px}.related-links a{text-decoration:underline;text-underline-offset:5px}.service-list+.related-links{padding:0 10%;margin:36px 0 55px}.page-closing{padding:54px 6%;background:#eee1df;display:flex;justify-content:space-between;align-items:center;gap:30px}.page-closing .eyebrow{margin-bottom:15px}.page-closing h2{font-size:44px}.page-closing .button{flex-shrink:0}.editorial-columns{display:grid;grid-template-columns:1fr 1fr;gap:90px}.editorial-columns p{margin:0 0 25px;color:var(--muted);line-height:1.9}.editorial-columns .eyebrow{margin-bottom:22px}.gift-options{display:grid;grid-template-columns:1fr 1fr;gap:35px}.gift-options article{border:1px solid var(--line);padding:45px;background:#f5e9e6}.gift-options article:nth-child(2){background:#e9dedf}.gift-options p:not(.eyebrow){font-size:16px;line-height:1.9;color:var(--muted);margin:25px 0}.narrow-section{max-width:930px;margin:auto}.narrow-section>p{line-height:1.85;color:var(--muted)}.faq-list{margin-top:32px;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{font-size:18px;padding:23px 35px 23px 0;cursor:pointer;list-style:none;position:relative;line-height:1.6}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:4px;top:22px;font-size:23px;color:#806855}.faq-list details[open] summary:after{content:'−'}.faq-list p{color:var(--muted);margin:0;padding:0 28px 25px 0;line-height:1.85}.faq-list summary:hover{color:#806855}.contact-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:100px}.contact-layout h2{font-size:43px}.contact-layout address{font-style:normal;margin:25px 0;line-height:1.9}.contact-lines{display:flex;flex-direction:column;gap:10px;margin:30px 0 42px}.contact-lines a{width:fit-content;text-decoration:underline;text-underline-offset:5px}.contact-layout h3{font-size:29px}.opening-hours{max-width:390px;margin:20px 0 30px;font-size:15px}.opening-hours>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:11px 0}.opening-hours dd{margin:0}.enquiry-panel{padding:38px;background:#f2e7e2}.enquiry-panel>p:not(.eyebrow){color:var(--muted);line-height:1.8;margin:20px 0}.enquiry-panel label{display:block;font-size:14px;margin:19px 0 7px}.enquiry-panel label span{color:var(--muted)}input,textarea{font:inherit;width:100%;border:1px solid #b9a7ae;padding:12px;background:var(--paper);border-radius:0;color:var(--dark)}textarea{resize:vertical;min-height:130px}input:focus,textarea:focus{outline:2px solid #806855;outline-offset:2px}form .button{cursor:pointer;margin-top:23px}p.form-note{font-size:14px;line-height:1.8;color:var(--muted)}.form-note a{text-decoration:underline;text-underline-offset:3px}#form-status{font-size:14px;line-height:1.7}.reading-layout{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(210px,1fr);gap:100px;padding-left:10%;padding-right:10%}.prose{font-size:16px;line-height:1.95;overflow-wrap:anywhere}.prose p{margin:0 0 23px}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5{font-family:Georgia,serif;font-size:29px;font-weight:400;letter-spacing:-.025em;line-height:1.3;margin:35px 0 20px}.prose>:first-child{margin-top:0}.prose li{margin:8px 0}.prose ul,.prose ol{padding-left:25px}.prose a{text-decoration:underline;text-underline-offset:4px;color:#806855}.prose table{width:100%;border-collapse:collapse;font-size:14px}.prose td,.prose th{padding:10px;border:1px solid var(--line)}.reading-layout aside{padding-left:30px;border-left:1px solid var(--line);align-self:start;position:sticky;top:35px}.reading-layout aside h3{font-size:32px}.reading-layout aside p{color:var(--muted);font-size:15px}.aside-links{margin-top:28px;display:flex;flex-direction:column;gap:16px;font-size:14px}.aside-links a:hover{text-decoration:underline}.shop-empty{min-height:380px;max-width:1000px}.shop-empty h2{font-size:43px}.shop-empty p:not(.eyebrow){color:var(--muted);max-width:560px;margin:25px 0 32px}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.journal-card{background:#f0e2df;padding:35px;display:flex;flex-direction:column;min-height:330px;transition:background .2s}.journal-card:nth-child(2n){background:#e9dedf}.journal-card:hover{background:#e4cdd3}.journal-card h2{font-size:31px;line-height:1.3;letter-spacing:-.025em;margin:0 0 35px}.journal-card .eyebrow{font-size:12px;line-height:1.8}.journal-card .card-link{font-size:14px}.footer-bottom{font-size:12px}.button.small{font-size:14px}.text-link,.card-link,.intro-strip p,.hours dl,.footer-top>div{font-size:14px}.more-treatments a{font-size:14px}
@media(max-width:1200px){header nav{gap:17px}.brand-lockup .brand-words{font-size:23px}.brand-lockup{gap:9px}.brand-lockup .brand-seal{width:54px;height:54px}.brand-seal img{width:64px}.footer-expanded{gap:25px;grid-template-columns:1.3fr 1fr 1fr 1fr}.footer-expanded .brand-words{font-size:21px}.contact-layout{gap:55px}.reading-layout{gap:60px}.service-row{gap:45px}}
@media(max-width:1050px){header{padding:0 4%}.brand-lockup .brand-words{font-size:21px}header nav{gap:13px;font-size:14px}.button.small{padding:12px;font-size:13px}.directory-grid{grid-template-columns:repeat(2,1fr)}.footer-expanded{grid-template-columns:repeat(3,1fr)}.footer-expanded>div:first-child{grid-column:1/-1}.footer-expanded>div:first-child>p{display:none}.journal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){header nav{gap:13px;top:123px;padding:25px 6%}.brand-lockup .brand-words{font-size:25px}.brand-lockup .brand-seal{width:60px;height:60px}.brand-seal img{width:72px}.page-intro{padding:25px 5% 50px}.page-intro h1{font-size:53px}.category-nav{padding:18px 5%;gap:8px 25px}.service-list{padding:0 6%}.service-row{gap:32px}.service-row h2{font-size:36px}.page-closing h2{font-size:37px}.contact-layout{gap:35px}.enquiry-panel{padding:25px}.contact-layout h2{font-size:35px}.reading-layout{grid-template-columns:minmax(0,1fr);gap:45px}.reading-layout aside{position:static;border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.editorial-columns{gap:45px}.gift-options{gap:23px}.gift-options article{padding:30px}}
@media(max-width:600px){.brand-lockup{gap:9px}.brand-lockup .brand-words{font-size:24px}.brand-lockup .brand-seal{width:53px;height:53px}.brand-seal img{width:64px}.brand-words>span{font-size:8px}.page-intro{padding:22px 6% 42px}.breadcrumbs{font-size:12px;margin-bottom:30px;flex-wrap:wrap;gap:7px}.page-intro h1{font-size:45px;letter-spacing:-.05em}.page-lede{font-size:16px}.page-intro .eyebrow{font-size:10px}.category-nav{padding:14px 6%;gap:5px 23px}.category-nav a{font-size:14px}.directory-grid{grid-template-columns:1fr}.directory-grid .treatment{min-height:260px}.directory-grid h2{font-size:35px}.service-row{grid-template-columns:1fr;gap:25px;padding:39px 0}.service-row h2{font-size:36px}.service-row .eyebrow{margin-bottom:13px}.pricing-note{font-size:14px;line-height:1.8}.related-links{flex-direction:column;gap:17px}.page-closing{align-items:flex-start;flex-direction:column;padding:42px 6%;gap:24px}.page-closing h2{font-size:38px}.editorial-columns,.gift-options,.contact-layout{grid-template-columns:1fr;gap:35px}.gift-options article{padding:30px 25px}.gift-options h2{font-size:40px}.faq-list summary{font-size:16px;padding-right:30px}.faq-list p{font-size:16px}.narrow-section>h2{font-size:37px}.contact-layout h2{font-size:39px}.opening-hours{font-size:14px}.enquiry-panel{padding:27px 22px}.enquiry-panel h2{font-size:35px}.footer-expanded{grid-template-columns:1fr 1fr;gap:30px}.footer-expanded>div:first-child{grid-column:1/-1}.footer-expanded .brand-words{font-size:26px}.footer-column:last-child{grid-column:1/-1}.footer-column{gap:11px}.footer-column a{font-size:14px}.footer-column h2{font-size:14px}.journal-grid{grid-template-columns:1fr}.journal-card{min-height:260px;padding:28px}.journal-card h2{font-size:29px}.shop-empty h2{font-size:38px}.prose{font-size:16px;line-height:1.85}.prose h2,.prose h3,.prose h4{font-size:27px}.footer-bottom{font-size:12px}.hero .text-link{font-size:14px}.hero-foot{font-size:10px}}
.voucher-section{max-width:1000px;margin:auto}.gift-choice-note{padding:22px 26px;background:#f2e7e2;margin-bottom:35px;border-left:2px solid #806855}.gift-choice-note p{margin:0 0 10px;font-size:16px}.giftup-shell{min-height:280px;padding:25px;background:#fff;border:1px solid var(--line)}#giftup-status{font-size:15px;color:var(--muted)}.gift-up-target{width:100%;max-width:100%}@media(max-width:600px){.giftup-shell{padding:12px}.gift-choice-note{padding:20px}}
.service-row .treatment-price{font:400 35px/1.25 Georgia,serif;color:var(--plum);margin:24px 0 12px;letter-spacing:-.03em}.service-row p.higher-price{font-size:13px;line-height:1.65;margin:10px 0;color:var(--muted);max-width:390px}.treatment-options{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:23px 0}.treatment-options summary{font-size:14px;padding:15px 0;cursor:pointer;color:var(--plum)}.treatment-options dl{margin:0 0 14px}.treatment-options dl>div{display:flex;justify-content:space-between;gap:22px;padding:12px 0;border-top:1px solid #e9dddd;font-size:14px}.treatment-options dt span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.treatment-options dd{margin:0;white-space:nowrap}.price-checked{display:block;font-size:12px;margin-top:7px}.treatment .category-price{font:400 25px/1.3 Georgia,serif;color:var(--plum);margin:0 0 23px}.service-row h2{overflow-wrap:anywhere}@media(max-width:600px){.service-row .treatment-price{font-size:31px}.service-row p.higher-price{font-size:13px}.treatment-options dl>div{gap:12px}}
.voucher-policy-banner{padding:24px 6%;background:#f0e2df;color:var(--plum);font-size:16px;line-height:1.8}.voucher-policy-banner strong{display:block}.voucher-policy-banner .text-link{margin-left:12px}.voucher-policy-banner p{margin:8px 0}

/* Pastel pink modern: shared public website theme */
:root{--plum:#685447;--dark:#342e29;--paper:#fffdfd;--pink:#f7dfe7;--line:#ecdde3;--muted:#70665f}
body{font-family:'DM Sans',Arial,sans-serif}h1,h2,h3{letter-spacing:-.045em}em{color:#806855}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #806855;outline-offset:5px}.announcement{background:#685447;color:#fffafb;font-size:12px;letter-spacing:.06em;padding:8px 20px}.announcement span{opacity:.85}header{height:104px;border-bottom:0;padding:0 5%;position:relative;z-index:5;background:var(--paper)}.brand-lockup .brand-seal{background:#685447;width:58px;height:58px}.brand-seal img{width:68px}.brand-lockup .brand-words{font-size:25px}.brand-words>span{font-size:10px;letter-spacing:.15em}header nav{gap:28px}header nav>a[aria-current=page]{color:#806855}.button{border-radius:100px;padding:16px 26px;font-size:14px;background:var(--plum);border-color:var(--plum);box-shadow:none}.button:hover{background:#514035;border-color:#514035}.button.small{padding:14px 22px}.text-link:hover{color:#806855}.eyebrow{font-size:12px;letter-spacing:.15em;color:#786c62}.hero{margin:10px 3% 35px;grid-template-columns:1.05fr 1fr;min-height:640px;gap:35px;align-items:stretch}.hero-copy{padding:42px 2% 30px 4%;justify-content:center}.hero h1{font-size:clamp(46px,4.7vw,76px);line-height:1.06;letter-spacing:-.055em;margin-bottom:26px}.hero-copy>p:not(.eyebrow){max-width:450px;font-size:17px;line-height:1.8}.hero-actions{gap:25px}.hero-foot{font-size:12px;letter-spacing:.06em;margin-top:25px;padding-top:20px;flex-wrap:wrap;gap:10px}.hero-foot i{color:#806855}.hero-image{min-height:610px;border-radius:180px 24px 24px 24px;isolation:isolate}.hero-image img{object-position:52% center}.hero-image:after{background:linear-gradient(transparent 45%,#342b2466)}.image-caption{bottom:45px;left:9%;font-size:43px}.image-label{top:35px;right:28px;font-size:12px;letter-spacing:.08em;text-shadow:0 1px 8px #0009}.intro-strip{background:transparent;margin:0 6%;padding:28px 0 38px;border-bottom:1px solid var(--line);gap:25px}.intro-strip>span{font-size:29px}.intro-strip p{font-size:15px}.section{padding:90px 6%}.section-heading{margin-bottom:36px}.section-heading h2{font-size:clamp(38px,3.8vw,59px)}.treatment-grid{gap:22px}.treatment,.treatment:nth-child(2),.treatment:nth-child(3){border:0;border-radius:24px;padding:34px;background:#fceef3;min-height:330px}.treatment:nth-child(2){background:#f8e1e9}.treatment:nth-child(3){background:#f4e9f0}.treatment:hover{background:#f3d9e4;transform:translateY(-5px)}.treatment h3{font-size:40px}.treatment p{font-size:16px;line-height:1.8}.number{font-size:12px;margin-bottom:35px}.card-link{font-size:14px}.card-link b{border:1px solid #9a887869;border-radius:50%;width:34px;height:34px;text-align:center;line-height:32px;font-size:19px}.more-treatments{padding:28px 0}.our-spa{margin:0 3%;border-radius:28px;overflow:hidden;background:#685447;grid-template-columns:1fr 1fr}.spa-image{min-height:590px}.spa-image span{font-size:12px;background:#685447e6;border-radius:30px;left:25px;bottom:25px}.spa-copy{padding:65px 11%}.spa-copy .eyebrow{color:#f4dbe7}.spa-copy h2{font-size:clamp(39px,3.8vw,59px)}.spa-copy em{color:#f2c4d7}.spa-copy p:not(.eyebrow){color:#f8eaf0;font-size:16px}.spa-copy .text-link:hover{color:#f2c4d7}.gifting{gap:8%;padding-top:110px;padding-bottom:110px}.gifting img{height:440px;border-radius:24px 130px 24px 24px}.gift-copy h2{font-size:clamp(40px,3.8vw,60px)}.gift-copy>p:not(.eyebrow){font-size:16px}.visit{background:#fceef3;border-radius:28px 28px 0 0;margin:0 3%;padding:65px 4%;gap:45px}.visit h2{font-size:47px}.visit p{font-size:16px}.visit .eyebrow{font-size:12px}.hours dl{font-size:14px}.hours dl div{border-color:#e6cdd8}.contact>a{font-size:15px}footer{background:#42372f;color:#fffafb;padding-top:60px}.footer-expanded>div>p,.footer-column a{color:#e6d5df}.footer-column h2{color:#fffafb}.footer-bottom{color:#dbc5d2}footer .brand-lockup .brand-seal{background:#685447}.page-intro{margin:10px 3% 0;padding:28px 4% 65px;background:#fceef3;border:0;border-radius:28px}.page-intro h1{font-size:clamp(43px,5.3vw,78px);max-width:1050px}.page-lede{max-width:650px}.breadcrumbs{font-size:14px}.category-nav{position:static;background:transparent;box-shadow:none;font-size:14px;padding:24px 6%;gap:12px;display:flex}.category-nav a{border:1px solid var(--line);border-radius:100px;padding:8px 16px}.category-nav a:hover,.category-nav a[aria-current=page]{background:var(--plum);border-color:var(--plum);color:white;text-decoration:none}.pricing-note{background:transparent;padding:20px 6%;border-bottom:1px solid var(--line)}.directory-grid{gap:22px}.directory-grid .treatment{border-radius:24px}.service-list{padding:0 8%}.service-row{gap:9%;padding:55px 0}.service-row p.service-note{border-color:#806855}.service-row .treatment-price{color:#685447}.page-closing{background:#f9e7ef;margin:25px 3% 35px;border-radius:24px;padding:48px 4%}.gift-options article,.gift-options article:nth-child(2){background:#fceef3;border:0;border-radius:26px}.gift-options article:nth-child(2){background:#f8e1e9}.enquiry-panel{background:#fceef3;border-radius:26px;padding:38px}input,textarea{border-radius:12px;border-color:#d9bfcc;background:#ffffff}input:focus,textarea:focus{outline-color:#806855}.faq-list summary:after,.faq-list summary:hover,.prose a{color:#806855}.journal-card,.journal-card:nth-child(2n){background:#fceef3;border-radius:24px}.journal-card:nth-child(2n){background:#f8e1e9}.journal-card:hover{background:#f3d9e4}.gift-choice-note,.voucher-policy-banner{background:#f8e1e9;color:#685447}.gift-choice-note{border-color:#806855;border-radius:14px}.giftup-shell{border-radius:18px}.voucher-policy-banner{margin:20px 6%;padding:22px 26px;border-radius:16px}.voucher-policy-banner .text-link{margin-left:0}.editorial-columns{gap:9%}.reading-layout aside{border-color:var(--line)}
@media(min-width:1600px){.hero{min-height:720px}.hero-image{min-height:700px}}
@media(max-width:1100px){header nav{gap:16px}.hero{gap:20px}.hero-copy{padding-left:3%}.hero h1{font-size:55px}.hero-image{min-height:610px}.brand-lockup .brand-words{font-size:22px}.hero-foot{font-size:12px}.visit{gap:30px}.gifting{gap:5%}}
@media(max-width:900px){header{height:88px}.menu{border-radius:100px}header nav{top:88px;border-radius:0 0 22px 22px;padding:25px 6%;background:var(--paper)}.hero{grid-template-columns:1fr 1fr;min-height:560px}.hero-copy{padding:30px 2%}.hero h1{font-size:46px}.hero-copy>p:not(.eyebrow){font-size:16px}.hero-image{min-height:560px;border-top-left-radius:110px}.hero-foot{display:none}.hero-actions{gap:20px}.intro-strip p{display:block}.intro-strip>span{font-size:25px}.intro-strip{align-items:flex-start}.spa-image{min-height:540px}.spa-copy{padding:45px 9%}.gifting img{height:380px}.category-nav{position:static;display:flex;flex-direction:row;box-shadow:none}.visit{grid-template-columns:1fr 1fr}.page-intro{padding-bottom:48px}.section{padding:65px 6%}}
@media(max-width:600px){.announcement{font-size:12px;letter-spacing:0}.announcement span{margin-left:10px}header{padding:0 5%;gap:10px}.brand-lockup .brand-words{font-size:21px}.brand-lockup .brand-seal{width:45px;height:45px}.brand-seal img{width:54px}.brand-words>span{font-size:9px}.menu{font-size:14px;padding:8px 12px;gap:8px}.hero{grid-template-columns:1fr;margin:0 5% 26px;gap:24px;min-height:0}.hero-copy{padding:25px 0 5px}.hero h1{font-size:clamp(40px,10.5vw,60px);line-height:1.09}.hero .eyebrow{font-size:12px}.hero-copy>p:not(.eyebrow){font-size:16px;max-width:100%}.hero-actions{gap:22px;align-items:center}.hero .button{padding:15px 21px}.hero-image{min-height:395px;border-radius:100px 20px 20px 20px}.image-caption{font-size:36px;bottom:28px;left:8%}.image-label{font-size:12px;top:24px;right:20px;max-width:160px;text-align:right}.intro-strip{margin:0 6%;padding:8px 0 30px;flex-direction:column;gap:13px;text-align:left}.intro-strip>span{font-size:25px;max-width:none}.intro-strip p{font-size:15px}.section{padding:55px 6%}.section-heading h2{font-size:40px}.eyebrow,.number,.visit .eyebrow,.page-intro .eyebrow{font-size:12px}.treatment-grid{gap:16px}.treatment,.treatment:nth-child(2),.treatment:nth-child(3){padding:28px;min-height:280px;border-radius:20px}.number{margin-bottom:23px}.treatment h3{font-size:37px}.our-spa{margin:0 4%;grid-template-columns:1fr;border-radius:24px}.spa-image{min-height:335px}.spa-image span{font-size:12px;left:20px;bottom:20px}.spa-copy{padding:38px 7% 45px}.spa-copy h2{font-size:42px}.gifting{gap:30px}.gift-copy h2{font-size:42px}.gifting img{height:330px;border-top-right-radius:100px}.visit{grid-template-columns:1fr;margin:0 4%;padding:40px 7%;gap:35px}.visit h2{font-size:41px}.visit h3{font-size:28px}.contact{grid-column:auto}.page-intro{margin:0 4%;padding:23px 6% 40px;border-radius:22px}.page-intro h1{font-size:43px;line-height:1.13}.breadcrumbs{font-size:13px}.category-nav{padding:20px 6%;gap:8px}.category-nav a{font-size:14px;padding:7px 12px}.service-list{padding:0 6%}.service-row{padding:38px 0;gap:22px}.page-closing{padding:35px 6%;margin:15px 4% 25px}.page-closing h2{font-size:38px}.enquiry-panel{padding:27px 22px}.voucher-policy-banner{margin:15px 6%;padding:20px}.footer-expanded .brand-words{font-size:24px}.footer-expanded{gap:25px}.footer-column a{line-height:1.7}}

/* Light blush surfaces, white space and soft cocoa contrast. */
.announcement{background:#f8e1e9;color:#685447}.our-spa{background:#fceef3;color:var(--dark)}.spa-copy .eyebrow{color:#786c62}.spa-copy em{color:#806855}.spa-copy p:not(.eyebrow){color:var(--muted)}.spa-copy .text-link:hover{color:#806855}.hero-image,.gifting img{border-radius:28px}.treatment,.treatment:nth-child(2),.treatment:nth-child(3){border:1px solid #f1e3e9}.page-intro{background:#fceef3}.page-closing{background:#f8e1e9}.image-caption em{color:#fffafb}.image-label{color:#fffafb}header{background:#fffdfd}.gift-options article{border:1px solid #f1e3e9}.button{color:#fffafb}.spa-image span{color:#fffafb}@media(max-width:900px){.hero-image{border-radius:24px}}@media(max-width:600px){.hero-image,.gifting img{border-radius:22px}}

/* Cocoa typography with pale pink controls: no wine-red accents. */
.button,.category-nav a[aria-current=page]{background:#f1d5df;border-color:#f1d5df;color:#493b32}.button:hover,.category-nav a:hover{background:#e8c3d1;border-color:#e8c3d1;color:#493b32}.spa-image span{background:#685447e6}.footer-column a,.footer-expanded>div>p{color:#eee3da}.footer-bottom{color:#e0d1c6}

/* Homepage treatment spotlight and dated gift-card promotion. */
.monthly-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;align-items:center;padding-top:60px;padding-bottom:65px}.monthly-copy>p:not(.eyebrow){max-width:560px}.monthly-copy>p{color:var(--muted)}.monthly-copy h2{font-size:clamp(40px,4vw,60px)}.monthly-copy .feature-price{font:36px/1.4 Georgia,serif;color:var(--dark);margin:25px 0}.feature-price span{display:block;font:14px/1.8 'DM Sans',sans-serif;color:var(--muted)}.gift-sale{padding:40px;background:#f8e1e9;border-radius:24px;border:1px solid #edcfdc}.gift-sale[hidden]{display:none}.gift-sale h2{font-size:44px}.gift-sale p{color:var(--muted)}.promo-code{display:block;width:fit-content;font:600 25px/1.3 'DM Sans',sans-serif;letter-spacing:.13em;border:1px dashed #a99180;border-radius:10px;padding:13px 23px;margin:23px 0;color:#493b32;background:#fffafb}.gift-sale .button{background:#685447;border-color:#685447;color:#fffafb}.gift-sale .button:hover{background:#514035}.gift-sale .form-note{margin-bottom:0}.monthly-feature:not(:has(.gift-sale:not([hidden]))){grid-template-columns:1fr}.monthly-feature:not(:has(.gift-sale:not([hidden]))) .monthly-copy{max-width:800px}@media(max-width:700px){.monthly-feature{grid-template-columns:1fr;gap:30px;padding-top:30px}.gift-sale{padding:30px 25px}.gift-sale h2{font-size:39px}}
/* Responsive booking and gifting journeys. */
img{max-width:100%}main,section,article,aside,.hero-copy,.spa-copy,.gift-copy{min-width:0}.button.secondary{background:#fffdfd;border-color:#b9a493}.hero-actions{gap:12px 18px}.audience-links{margin:0;padding:24px 6% 0;color:var(--muted)}.audience-links a{text-decoration:underline;text-underline-offset:4px}.mobile-actions{display:none}a,button,summary{touch-action:manipulation}.prose{overflow-x:auto}.prose img{height:auto}input,textarea,select{font-size:16px}header nav a{min-height:44px;display:inline-flex;align-items:center}.category-nav a{min-height:44px;display:inline-flex;align-items:center}.contact a,.contact-lines a{overflow-wrap:anywhere}.button{min-height:48px;text-align:center}.hero-copy .hero-actions .text-link{margin-top:6px}.hero-foot{line-height:1.6}
@media(max-width:900px){header nav{max-height:calc(100dvh - 170px);overflow:auto}.menu{min-height:44px;min-width:70px}header nav.open{gap:10px}header nav a{width:100%}.category-nav{max-width:100%;gap:8px}.category-nav a{width:auto}.service-row>div{min-width:0}}
@media(max-width:700px){.hero{grid-template-columns:1fr}.hero-copy{padding:30px 3%}.hero h1{font-size:clamp(40px,8vw,58px)}.hero-image{min-height:360px}.treatment-grid{grid-template-columns:1fr}.our-spa,.gifting,.gift-options,.editorial-columns,.contact-layout,.service-row{grid-template-columns:1fr}.directory-grid,.journal-grid{grid-template-columns:1fr}.spa-image{min-height:330px}.contact-layout{gap:35px}.service-row{gap:24px}.visit{grid-template-columns:1fr}.contact{grid-column:auto}.section-heading{align-items:flex-start}.page-closing{flex-direction:column;align-items:flex-start}.opening-hours>div,.hours dl div{flex-wrap:wrap}.treatment-options dl>div{flex-wrap:wrap}.mobile-actions{position:fixed;inset:auto 0 0;top:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fffdfdf5;border-top:1px solid var(--line);z-index:15;box-shadow:0 -3px 15px #342e2910}.mobile-actions a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 6px;border-radius:30px;background:#f1d5df;color:#493b32;font-size:14px;text-align:center}.mobile-actions a:last-child{background:#685447;color:white}body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.footer-bottom{padding-bottom:15px}.hero-image img{object-position:center}.hero-actions .button{flex:1 1 150px}.page-intro h1{overflow-wrap:break-word}.section,.page-intro{max-width:100%}}
@media(max-width:380px){.brand-lockup .brand-words{font-size:19px}.brand-lockup .brand-seal{width:38px;height:38px}.brand-seal img{width:46px}.brand-words>span{font-size:8px}.hero h1{font-size:39px}.hero-image{min-height:310px}.image-label{max-width:140px}.footer-expanded{grid-template-columns:1fr}.footer-column:last-child{grid-column:auto}.hero-actions{width:100%}.hero-actions .button{width:100%;flex-basis:100%}.page-intro h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Multi-visit massage offers */
.multi-visit{background:#f8eef0;border-radius:24px;margin-block:48px;padding:clamp(28px,5vw,72px)}
.multi-visit-intro{max-width:680px;margin-bottom:32px}.multi-visit-intro h2{font-size:clamp(32px,4.2vw,56px);line-height:1.12}.multi-visit-intro>p:last-child{max-width:560px}
.multi-visit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.multi-visit-card{background:#fffaf7;border:1px solid #e4cfd1;border-radius:18px;padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;align-items:flex-start}
.multi-visit-card h3{font-size:clamp(25px,2.6vw,34px);line-height:1.2;margin:8px 0 20px}.multi-visit-price{font-size:38px;line-height:1.2;margin:0}.multi-visit-price span{font-size:14px}.multi-visit-rate{font-weight:600;margin:8px 0 16px}.multi-visit-card .button{margin-top:auto;white-space:normal;text-align:center}.multi-visit>.form-note{margin-top:20px}
@media(max-width:700px){.multi-visit-grid{grid-template-columns:1fr}.multi-visit{margin-block:28px;border-radius:16px}.multi-visit-card .button{width:100%;box-sizing:border-box}}
