:root{
  --white:#fffdf9;
  --ivory:#f8f7f2;
  --sage:#e5e8de;
  --sage-deep:#7f8877;
  --stone:#d9d3c8;
  --taupe:#8a7a6d;
  --chocolate:#4b342b;
  --chocolate-dark:#2f211b;
  --charcoal:#343331;
  --line:#ddd6cc;
  --accent:#b99a72;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--charcoal);font-family:Arial,Helvetica,sans-serif;line-height:1.65;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%;height:auto}
button,summary{font:inherit}
.header{position:sticky;top:0;z-index:50;background:rgba(255,253,249,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(47,33,27,.08)}
.nav{max-width:1200px;margin:auto;min-height:76px;padding:10px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{width:132px;height:auto}
.links{display:flex;align-items:center;gap:24px;font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.book-link,.btn{display:inline-block;border:1px solid var(--chocolate);padding:13px 20px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;transition:.2s ease;background:transparent}
.book-link:hover,.btn:hover{background:var(--chocolate);color:white}
.btn.primary{background:var(--chocolate);color:white}
.btn.primary:hover{background:var(--chocolate-dark)}
.mobile-menu{display:none;position:relative}
.mobile-menu summary{list-style:none;cursor:pointer;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--chocolate);min-width:44px;min-height:44px;display:grid;place-items:center;padding:0 8px}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-panel{position:absolute;right:0;top:48px;width:min(290px,calc(100vw - 32px));max-height:calc(100vh - 88px);overflow:auto;background:var(--white);border:1px solid var(--line);box-shadow:0 18px 40px rgba(35,29,25,.12);padding:14px;display:grid;gap:2px}
.mobile-panel a{padding:13px 10px;min-height:44px;display:flex;align-items:center;font-size:13px;letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere}
.mobile-panel a:hover{background:var(--sage)}
.hero{display:grid;grid-template-columns:1.02fr .98fr;min-height:72vh;background:var(--ivory)}
.hero-copy{padding:9vw 8vw 7vw;display:flex;flex-direction:column;justify-content:center}
.hero-media img{width:100%;height:100%;object-fit:cover}
.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--sage-deep);margin-bottom:18px}
h1,h2,h3,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;color:var(--chocolate);margin-top:0}
h1{font-size:clamp(44px,6vw,80px);max-width:760px;margin-bottom:24px}
h2{font-size:clamp(34px,4.4vw,58px);margin-bottom:22px}
h3{font-size:28px;margin-bottom:12px}
.lead{font-size:18px;color:#5c5955;max-width:760px}
.hero-copy p{font-size:18px;color:#5d5954;max-width:620px;margin:0 0 30px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.section{padding:88px 7vw}
.max{max-width:1180px;margin:auto}
.center{text-align:center}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split img{width:100%;aspect-ratio:4/5;object-fit:cover}
.clean{background:var(--white)}
.soft{background:var(--ivory)}
.sage{background:var(--sage)}
.dark{background:var(--chocolate);color:#fff9f1}
.dark h2,.dark h3{color:#fff9f1}.dark p{color:#eee2d7}.dark .eyebrow{color:#d9c8b7}
.copy p{color:#5e5a55;font-size:17px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}
.card{background:var(--white);border:1px solid rgba(75,52,43,.12);padding:28px;min-height:210px}
.card p{color:#5e5a55;margin-bottom:0}
.quote{font-family:Georgia,serif;font-size:clamp(31px,4vw,52px);line-height:1.16;margin:0 0 22px;color:inherit}
.photo-wide{width:100%;height:520px;object-fit:cover}
.cta-band{position:relative;min-height:560px;display:grid;place-items:center;text-align:center;color:white;overflow:hidden;background:#3b2b24}
.cta-band::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(41,31,27,.48),rgba(41,31,27,.52)),url('/assets/booking-motto.png') center/cover no-repeat}
.cta-inner{position:relative;z-index:1;max-width:760px;padding:60px 26px}.cta-inner h2{color:white}.cta-inner p{font-size:18px;color:#f4ece5}.cta-inner .btn{border-color:white;color:white}.cta-inner .btn:hover{background:white;color:var(--chocolate)}
.footer{background:var(--chocolate-dark);color:#f4e9df;padding:52px 7vw}.footer-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:40px}.footer-brand{display:flex;flex-direction:column;gap:12px}.footer-logo-text{font-family:Georgia,serif;font-size:28px;letter-spacing:.04em}.footer p{margin:0;color:#e7dcd2}.footer a:hover{text-decoration:underline}.footer small{color:#cdbfb0}.footer-title{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#d9c8b7;margin-bottom:10px}.footer-links{display:grid;gap:6px}
.page-hero{position:relative;min-height:530px;display:flex;align-items:flex-end;color:white;padding:90px 7vw 60px;background:#3b2b24}.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(44,32,27,.74),rgba(44,32,27,.30)),var(--hero-image) center/cover no-repeat}.page-hero-inner{position:relative;z-index:1;max-width:900px}.page-hero h1{color:white;margin-bottom:18px}.page-hero p{max-width:730px;font-size:18px;color:#f4ede6}.page-hero .eyebrow{color:#eadfd3}
.rituals{margin-top:46px;border-top:1px solid var(--line)}.ritual{display:grid;grid-template-columns:120px 1fr 140px;gap:30px;padding:42px 0;border-bottom:1px solid var(--line)}.num{font-family:Georgia,serif;color:var(--accent);font-size:17px}.sub{font-family:Georgia,serif;font-style:italic;color:#655f59;margin:7px 0 14px}.ritual p{color:#5e5a55;margin:0;max-width:760px}.price{text-align:right;font-family:Georgia,serif;color:var(--chocolate);font-size:22px}.price small{display:block;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--taupe);margin-bottom:4px}
.enhance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}.enhancement{background:var(--white);border:1px solid var(--line);padding:28px}.enhancement p{color:#5e5a55}.series{border-top:1px solid var(--line);padding-top:16px;margin-top:20px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#625c55}
.values{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:36px}.value{border-top:1px solid var(--line);padding-top:18px}.value strong{font-family:Georgia,serif;font-weight:400;color:var(--chocolate);font-size:18px}.value p{font-size:14px;color:#5e5a55}
.founder-story{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}.founder-story .portrait{aspect-ratio:4/5;object-fit:cover}.founder-note{padding:28px;border-left:3px solid var(--sage-deep);background:var(--ivory)}
.faq{max-width:900px;margin:auto}.faq-item{padding:24px 0;border-top:1px solid var(--line)}.faq-item h3{font-family:Arial,sans-serif;font-weight:600;font-size:17px;color:var(--charcoal);margin:0 0 8px}.faq-item p{margin:0;color:#5e5a55}.policy-note{background:var(--sage);padding:30px;margin-top:36px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px}.contact-card{background:var(--ivory);padding:34px}.contact-card p{color:#5e5a55}
@media(max-width:900px){
  .links,.nav>.book-link{display:none}.mobile-menu{display:block}.nav{min-height:64px;padding:8px 18px}.logo{width:116px}
  .hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:58px 24px 46px}.hero-media{height:46vh}.hero-media img{height:100%}
  .section{padding:64px 24px}.split,.founder-story,.contact-grid{grid-template-columns:1fr;gap:30px}.split img{aspect-ratio:5/4}.cards,.enhance-grid,.values,.footer-grid{grid-template-columns:1fr}.card{min-height:0}
  .ritual{grid-template-columns:1fr;gap:8px;padding:32px 0}.price{text-align:left}.page-hero{min-height:440px;padding:80px 24px 46px}.photo-wide{height:360px}.cta-band{min-height:500px}.footer{padding:44px 24px}
  h1{font-size:clamp(40px,12vw,58px)}h2{font-size:clamp(32px,9vw,46px)}
}

@media(max-width:430px){
  .nav{padding:6px 16px}.logo{width:110px}
  .hero-copy{padding:50px 20px 40px}.hero-media{height:42vh}
  .section{padding:56px 20px}.page-hero{min-height:410px;padding:72px 20px 40px}
  .cta-inner{padding:52px 20px}.footer{padding:40px 20px}
  .btn,.book-link{max-width:100%;white-space:normal;text-align:center}
  .contact-card,.enhancement,.card{padding:24px 20px}
}
@media(max-width:340px){
  h1{font-size:38px}h2{font-size:31px}.hero-copy p,.lead,.page-hero p,.cta-inner p{font-size:16px}
  .section{padding-left:18px;padding-right:18px}.hero-copy{padding-left:18px;padding-right:18px}
}
/* Keep navigation usable on tablets and small laptops. */
@media(max-width:1150px){.links,.nav>.book-link{display:none}.mobile-menu{display:block}}
[id]{scroll-margin-top:110px}
:focus-visible{outline:2px solid var(--chocolate);outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.enhancement-intro{max-width:760px;color:#5e5a55}.treatment-enhance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.treatment-enhance-grid .enhancement{padding:32px}.treatment-enhance-grid h3{font-size:clamp(24px,2.5vw,30px)}
@media(max-width:900px){.treatment-enhance-grid{grid-template-columns:1fr}.treatment-enhance-grid .enhancement{padding:26px 22px}}
