@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&family=Playfair+Display:wght@400;500&display=swap');
:root{color-scheme:light;--cream:#faf8f4;--paper:#fffefa;--ink:#242521;--muted:#696b64;--line:#e2dfd8;--sand:#efebe3}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:Manrope,'DM Sans',sans-serif;font-size:15px;line-height:1.8}body::selection{background:#dfd3bd;color:#282820}p{color:var(--muted)}a{transition:color .25s,background .25s,transform .25s}header{position:sticky;top:0;z-index:30;background:rgba(250,248,244,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);padding:17px clamp(20px,5vw,90px);gap:20px;box-shadow:0 5px 20px #25221b05}header strong{font-size:12px;letter-spacing:.13em}nav{display:flex;align-items:center;gap:7px}nav a{margin:0;color:#6b6961;text-decoration:none;font-size:12px;padding:10px 13px;border-radius:24px;white-space:nowrap}nav a:hover,nav a[aria-current=page]{background:#ece8e0;color:#222}.nav-book{background:#252521!important;color:#fff!important;padding:11px 18px!important}.nav-book:hover{background:#665f54!important}.menu-toggle{display:none}.hero{background:radial-gradient(ellipse at 88% 10%,#eee8dd 0%,#f9f7f2 52%,#f6f3ec 100%);padding:clamp(85px,12vw,160px) clamp(25px,9vw,145px) 90px;min-height:620px;max-width:none}.hero:after{content:'E';color:#c4baab30;right:5%;top:0}.hero h1{max-width:1040px;font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(50px,7vw,104px);line-height:1.09;letter-spacing:-.045em}.accent{color:#827666}.hero p{max-width:690px;font-size:17px;color:#67655f}.eyebrow{color:#827b70;letter-spacing:.2em}.cta,.pay{display:inline-block;background:#282923;color:#fff;border:1px solid #282923;border-radius:4px;padding:16px 24px;font-size:12px;letter-spacing:.08em;transition:transform .25s,box-shadow .25s,background .25s}.cta:hover,.pay:hover{background:#555348;color:#fff;transform:translateY(-3px);box-shadow:0 10px 24px #3332}.pay.secondary{background:transparent;border:1px solid #777;color:#252521}.section{background:var(--cream);border-top:1px solid var(--line);padding:clamp(65px,8vw,110px) clamp(25px,8vw,130px)}.section:nth-child(even){background:#f2efe9}.section h2,.intro h2,.pagehero h1,.premium-journey h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.035em}.intro{background:#eae5dc;padding:90px clamp(25px,8vw,130px)}.intro h2{max-width:800px}.pagehero{background:linear-gradient(115deg,#f0ece4,#faf8f4);padding:clamp(80px,10vw,125px) clamp(25px,8vw,130px);border-bottom:1px solid var(--line)}.pagehero h1{font-size:clamp(48px,7vw,85px)}.feature,.step,.panel,.servicecard,.policy-list details{background:#fffefa;border:1px solid #e3dfd7;border-radius:7px;box-shadow:0 12px 35px #332a1909;padding:28px;transition:transform .3s,box-shadow .3s}.feature:hover,.step:hover,.servicecard:hover{transform:translateY(-5px);box-shadow:0 18px 45px #332a1917}.feature h3,.servicecard h3{color:#2c2c28}.section a:not(.cta),.intro a:not(.cta){color:#615949}.tabs{gap:10px}.tab{background:#f3f0ea;color:#48453e;border:1px solid #d6d0c7;border-radius:4px}.tab.active{background:#2b2b27;color:white}.field label{color:#555149}select,input[type=date],input[type=time],input[type=text],input[type=email],input[type=tel],textarea,.bookingtime input,.bookingtime textarea{background:#fff;color:#252521;color-scheme:light;border:1px solid #cfc9c0;border-radius:5px}.bookingtime{background:#f5f2eb;border:1px solid #ded8cd;border-radius:7px}.bookingwarning,.helper,.selectedtime{color:#665e52}.price{color:#252521}.sub,.fine{color:#6b675e}.trustline{color:#726b61}.trustline span:before{color:#8e806b}.aboutquote{color:#34312b}.policy-list summary{color:#292923}.premium-journey{padding:95px clamp(25px,8vw,130px);background:#fffdfa}.premium-journey h2{font-size:clamp(35px,5vw,58px);max-width:790px;line-height:1.2}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:35px}.journey-grid a{display:flex;flex-direction:column;gap:15px;min-height:225px;background:#f5f2eb;border:1px solid #e6dfd5;border-radius:8px;padding:28px;text-decoration:none;color:#252521}.journey-grid a:hover{transform:translateY(-7px);background:#ece5da;box-shadow:0 18px 35px #3a312115}.journey-grid span,.journey-grid small{font-size:12px;color:#7b756b}.journey-grid strong{font:400 27px/1.3 'Playfair Display',Georgia,serif}.journey-grid small{margin-top:auto}.contact-panel{margin-top:42px;padding:30px;background:#ece6dc;border-radius:8px}.contact-panel h3{font:400 30px 'Playfair Display',Georgia,serif;margin:10px 0}.contact-panel a{color:#252521;font-weight:700}footer,footer[style]{background:#eae5dc!important;border-top:1px solid #d8d2c8!important;color:#635e56!important}footer a{color:#454039!important}.scroll-reveal{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s ease}.scroll-reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-reveal{opacity:1;transform:none;transition:none}*{animation-duration:.01ms!important}}@media(max-width:900px){header{flex-wrap:wrap}.menu-toggle{display:block;margin-left:auto;background:#2c2b27;color:white;border:0;padding:11px 16px;border-radius:4px;cursor:pointer}nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding:10px 0}nav.is-open{display:flex}nav a{padding:13px 16px;margin:0}.journey-grid{grid-template-columns:1fr}.hero{min-height:560px}.hero:after{display:none}}@media(max-width:600px){.hero{padding:80px 6% 65px}.hero h1{font-size:clamp(44px,11vw,66px)}.section,.intro,.premium-journey{padding:65px 6%}.pagehero{padding:75px 6%}.panel{padding:18px}.formgrid,.steps,.featuregrid{grid-template-columns:1fr}.trustline{gap:12px}}

/* Refined mobile drawer: never pushes the page down or takes the full viewport */
header{isolation:isolate}header .menu-toggle{position:relative;z-index:91;display:none;align-items:center;gap:12px;justify-content:center;min-height:43px;border-radius:50px!important;padding:10px 16px!important;box-shadow:0 5px 18px #28231c12;transition:background .25s,transform .25s}header .menu-toggle:hover{transform:translateY(-1px)}
.menu-bars{display:grid;gap:5px}.menu-bars i{width:18px;height:1.5px;background:currentColor;display:block;transition:transform .35s,opacity .3s}.drawer-open .menu-bars i:first-child{transform:translateY(3.25px) rotate(45deg)}.drawer-open .menu-bars i:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.nav-scrim{display:none}.social{display:inline-flex!important;align-items:center;gap:10px;padding:11px 17px!important;border:1px solid #9b8e7a!important;border-radius:999px!important;background:transparent!important;text-decoration:none!important;transition:background .3s,transform .3s,border-color .3s!important}.social svg{flex:none;transition:transform .4s}.social:hover{background:#f8f5ee!important;border-color:#4b453d!important;transform:translateY(-3px)}.social:hover svg{transform:rotate(-12deg) scale(1.08)}
.reading-progress{position:fixed;z-index:150;top:0;left:0;width:100%;height:2px;background:#a88f6b;transform-origin:left;transform:scaleX(0);pointer-events:none;box-shadow:0 0 10px #a88f6b66}
body{animation:page-arrive .52s cubic-bezier(.2,.7,.2,1) both}body.page-leaving{opacity:0;transform:translateY(8px);transition:opacity .24s ease,transform .24s ease} @keyframes page-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.lux-reveal{opacity:0;transform:translate3d(0,27px,0);filter:blur(3px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1),filter .85s ease;transition-delay:var(--reveal-delay,0ms)}.lux-reveal.visible{opacity:1;transform:none;filter:none}.hero h1,.pagehero h1{animation:hero-rise .9s cubic-bezier(.2,.7,.2,1) both}@keyframes hero-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:900px){header{flex-wrap:nowrap!important;min-height:76px}header strong{max-width:calc(100% - 125px);line-height:1.5}header .menu-toggle{display:flex!important;margin-left:auto}header nav#main-nav{display:flex!important;position:fixed!important;top:0!important;right:0!important;bottom:0!important;width:min(82vw,340px)!important;height:100dvh!important;max-height:100dvh!important;box-sizing:border-box;z-index:90;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:8px!important;padding:105px 24px 36px!important;background:#faf8f4!important;border-left:1px solid #e5ded2;box-shadow:-20px 0 60px #241d151f;transform:translateX(105%);visibility:hidden;opacity:0;transition:transform .45s cubic-bezier(.2,.75,.2,1),opacity .35s,visibility .45s;overflow-y:auto;overscroll-behavior:contain}header nav#main-nav.is-open{transform:translateX(0);visibility:visible;opacity:1}header nav#main-nav a{font-size:17px!important;padding:15px 18px!important;border-radius:9px!important;text-align:left!important;transition:background .3s,transform .3s!important}header nav#main-nav a:hover{transform:translateX(4px)}header nav#main-nav a.nav-book{margin-top:10px;text-align:center!important;border-radius:50px!important}header .nav-scrim{display:block;position:fixed;inset:0;z-index:89;border:0;background:rgba(28,26,22,.32);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s,visibility .4s;backdrop-filter:blur(2px)}body.drawer-open header .nav-scrim{opacity:1;visibility:visible;pointer-events:auto}body.drawer-open header .menu-toggle{position:fixed;right:20px;top:17px;background:#eae5dc!important;color:#242521!important;box-shadow:none!important}}
@media(prefers-reduced-motion:reduce){body,body.page-leaving,.lux-reveal,.hero h1,.pagehero h1{animation:none!important;transition:none!important;transform:none!important;filter:none!important;opacity:1!important}header nav#main-nav{transition:none!important}}

/* Luxury navigation refresh — strong dark text and a persistent booking action */
header{display:flex;align-items:center;gap:clamp(10px,1.7vw,22px);background:rgba(251,249,245,.96)!important;box-shadow:0 8px 34px rgba(49,40,28,.07)!important}
header strong a{color:#242521!important}
.top-book-now{order:2;display:inline-flex;align-items:center;justify-content:center;margin-left:auto;white-space:nowrap;text-decoration:none!important;background:linear-gradient(125deg,#e7d8b9,#d6be92);color:#242521!important;border:1px solid #c9ae7f;padding:11px 19px;border-radius:100px;font-size:12px;font-weight:800;letter-spacing:.06em;box-shadow:0 6px 20px #6c56321b;transition:transform .3s,box-shadow .3s,background .3s}
.top-book-now:before{content:'✦';font-size:12px;margin-right:8px}
.top-book-now:hover{transform:translateY(-2px);box-shadow:0 12px 26px #6c563233;background:#f2dfbb}
header nav#main-nav{order:1}header .menu-toggle{order:3;margin-left:0!important}
header nav#main-nav a:not(.nav-book){color:#292a27!important;font-weight:650!important}header nav#main-nav a[aria-current="page"]:not(.nav-book){color:#252521!important;background:#eee9e0!important}
header nav#main-nav .nav-book{background:#e8d8b9!important;color:#242521!important;font-weight:800!important;border:1px solid #cbb58f!important}
header nav#main-nav .nav-book:hover{background:#d9c39f!important;color:#242521!important}
header nav#main-nav .nav-instagram{display:inline-flex;align-items:center;gap:9px;color:#252521!important;border:1px solid #ddd3c2;padding:10px 13px;border-radius:100px}
header nav#main-nav .nav-instagram svg{flex:none}
.ig-contact-cta{display:inline-flex;align-items:center;gap:10px;padding:13px 21px;border-radius:100px;background:#252521!important;color:#fff!important;text-decoration:none;box-shadow:0 10px 25px #1d1c1730;transition:transform .3s,box-shadow .3s}
.ig-contact-cta:hover{transform:translateY(-3px);box-shadow:0 15px 34px #1d1c1740}
@media(max-width:900px){header{gap:9px!important}header strong{max-width:none!important;flex:1;min-width:0}header strong a{font-size:clamp(9px,2.5vw,12px);letter-spacing:.08em}.top-book-now{order:2;margin-left:0!important;padding:10px 12px;font-size:11px;min-height:40px}.top-book-now:before{display:none}header .menu-toggle{order:3;min-height:40px!important;padding:10px 12px!important}header .menu-label{font-size:12px}header nav#main-nav{order:0}header nav#main-nav a{color:#292a27!important;font-weight:700!important}header nav#main-nav a.nav-book{background:#e8d8b9!important;color:#242521!important}header nav#main-nav a.nav-instagram{margin-top:15px;display:flex!important;background:#f1ece3!important;color:#242521!important;border:1px solid #ddd4c7!important;justify-content:flex-start!important}}
@media(max-width:380px){header{padding-left:13px!important;padding-right:13px!important}header strong a{font-size:9px}.top-book-now{font-size:10px;padding:9px 10px}header .menu-toggle{padding:9px 10px!important}}


/* October 18: compact glass header, never a stacked centered action bar */
header{background:rgba(250,248,244,.72)!important;-webkit-backdrop-filter:blur(22px) saturate(155%);backdrop-filter:blur(22px) saturate(155%);border-bottom:1px solid rgba(130,119,102,.19)!important}
.top-book-now{background:rgba(232,215,185,.55)!important;-webkit-backdrop-filter:blur(16px) saturate(145%);backdrop-filter:blur(16px) saturate(145%);border:1px solid rgba(158,127,81,.38)!important;box-shadow:0 5px 22px rgba(68,54,36,.07)!important}
header .menu-toggle{background:rgba(255,255,255,.54)!important;color:#252521!important;border:1px solid rgba(98,89,75,.22)!important;-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}
@media(max-width:900px){
 header{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;column-gap:8px!important;flex-wrap:nowrap!important;padding:12px clamp(12px,3.2vw,24px)!important;min-height:68px!important;width:100%!important;box-sizing:border-box!important}
 header strong{grid-column:1!important;grid-row:1!important;min-width:0!important;max-width:none!important;margin:0!important;line-height:1.28!important}
 header strong a{display:block!important;max-width:100%!important;overflow-wrap:normal!important;letter-spacing:.035em!important;font-size:clamp(9px,2.5vw,12px)!important}
 header .top-book-now{grid-column:2!important;grid-row:1!important;order:initial!important;margin:0!important;min-height:38px!important;padding:8px 13px!important;font-size:11px!important;line-height:1.2!important;white-space:nowrap!important}
 header .menu-toggle{grid-column:3!important;grid-row:1!important;order:initial!important;display:inline-flex!important;justify-content:center!important;align-items:center!important;margin:0!important;min-height:38px!important;padding:8px 12px!important;white-space:nowrap!important;border-radius:999px!important;box-shadow:0 5px 20px rgba(50,40,28,.06)!important}
 header nav#main-nav{position:fixed!important;grid-column:auto!important;top:0!important;right:0!important;left:auto!important;bottom:0!important;width:min(82vw,330px)!important;height:100dvh!important;max-height:100dvh!important;padding:94px 22px 28px!important;box-sizing:border-box!important;background:rgba(250,248,244,.79)!important;-webkit-backdrop-filter:blur(32px) saturate(165%)!important;backdrop-filter:blur(32px) saturate(165%)!important;border-left:1px solid rgba(255,255,255,.65)!important;box-shadow:-16px 0 55px rgba(30,25,18,.12)!important}
 header .nav-scrim{background:rgba(33,30,25,.17)!important;-webkit-backdrop-filter:blur(5px)!important;backdrop-filter:blur(5px)!important}
 body.drawer-open header .menu-toggle{position:fixed!important;right:14px!important;top:14px!important;background:rgba(250,248,244,.76)!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;z-index:92!important}
}
@media(max-width:420px){header{column-gap:6px!important}header strong a{font-size:9px!important;letter-spacing:0!important}header .top-book-now{padding:8px 10px!important;font-size:10px!important}header .menu-toggle{padding:8px 10px!important}.menu-label{font-size:11px!important}}
@media(max-width:350px){header .menu-label{display:none!important}header strong a{font-size:8.5px!important}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){header{background:#f8f6f1!important}header nav#main-nav{background:#f4f0e9!important}}

/* Guided, welcoming home experience: first invite, then services, process and booking */
body.guided-home header .top-book-now{display:none!important}
body.guided-home .hero{min-height:min(83svh,800px);display:flex;flex-direction:column;justify-content:center;padding-top:clamp(82px,10vw,130px);padding-bottom:clamp(75px,8vw,110px)}
.home-welcome h1{max-width:960px}.home-lead{max-width:720px!important;line-height:1.95!important}.home-lead strong{color:#292923}.home-welcome .trustline{margin-top:52px}
.quiet-link{display:inline-flex;align-items:center;gap:13px;margin-top:18px;color:#292923!important;text-decoration:none!important;font-weight:700;letter-spacing:.015em;border-bottom:1px solid #a69a87;padding-bottom:7px;transition:gap .25s,border-color .25s!important}.quiet-link:hover{gap:22px;border-color:#292923}
.section-intro{max-width:720px;line-height:1.9;font-size:16px}.home-experiences h2,.home-invite h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(39px,5.2vw,72px);line-height:1.17;font-weight:400;letter-spacing:-.035em;max-width:840px}
.home-experiences .featuregrid{margin-top:36px}.experience-card{padding:clamp(28px,4vw,56px);min-height:345px;display:flex;flex-direction:column;align-items:flex-start}.experience-card h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(28px,3vw,39px);line-height:1.2}.card-count,.service-start{color:#8a7d69;font-size:12px;letter-spacing:.12em;font-weight:700}.experience-card .quiet-link{margin-top:auto}.experience-card .service-start{margin-top:15px}
.journey-grid .journey-step{display:flex;flex-direction:column;gap:16px;min-height:230px;background:#f5f2eb;border:1px solid #e6dfd5;border-radius:8px;padding:30px;transition:transform .35s,box-shadow .35s}.journey-grid .journey-step:hover{transform:translateY(-4px);box-shadow:0 20px 40px #332a190c}.journey-step span{font-size:12px;letter-spacing:.12em;color:#877965}.journey-step strong{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:26px;line-height:1.3}.journey-step small{font-size:14px;color:#6c695f;line-height:1.7}.journey-more{margin-top:34px}.home-invite{background:linear-gradient(145deg,#f1ebe0,#f9f6f0)!important;padding-top:clamp(95px,11vw,160px);padding-bottom:clamp(95px,11vw,160px)}.home-final-book{margin-top:23px;border-radius:100px;padding:19px 29px;font-size:13px}.soft-note{font-size:12px;max-width:540px;margin-top:18px}.home-story h2{max-width:840px;font-size:clamp(40px,5vw,67px);line-height:1.17}.home-story p{max-width:740px;font-size:17px;line-height:2}
@media(max-width:900px){body.guided-home header{grid-template-columns:minmax(0,1fr) auto!important}body.guided-home header .menu-toggle{grid-column:2!important}body.guided-home .hero{min-height:70svh}.journey-grid{grid-template-columns:1fr!important}.journey-grid .journey-step{min-height:0}.home-welcome .trustline{margin-top:38px}}
@media(max-width:550px){.home-welcome h1{font-size:clamp(44px,11vw,66px)}.home-lead{font-size:15px!important}.home-invite .home-final-book{font-size:12px;padding:15px 18px}.home-experiences .featuregrid{grid-template-columns:1fr}}

/* Guided, welcoming home experience: first invite, then services, process and booking */
body.guided-home header .top-book-now{display:none!important}
body.guided-home .hero{min-height:min(83svh,800px);display:flex;flex-direction:column;justify-content:center;padding-top:clamp(82px,10vw,130px);padding-bottom:clamp(75px,8vw,110px)}
.home-welcome h1{max-width:960px}.home-lead{max-width:720px!important;line-height:1.95!important}.home-lead strong{color:#292923}.home-welcome .trustline{margin-top:52px}
.quiet-link{display:inline-flex;align-items:center;gap:13px;margin-top:18px;color:#292923!important;text-decoration:none!important;font-weight:700;letter-spacing:.015em;border-bottom:1px solid #a69a87;padding-bottom:7px;transition:gap .25s,border-color .25s!important}.quiet-link:hover{gap:22px;border-color:#292923}
.section-intro{max-width:720px;line-height:1.9;font-size:16px}.home-experiences h2,.home-invite h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(39px,5.2vw,72px);line-height:1.17;font-weight:400;letter-spacing:-.035em;max-width:840px}
.home-experiences .featuregrid{margin-top:36px}.experience-card{padding:clamp(28px,4vw,56px);min-height:345px;display:flex;flex-direction:column;align-items:flex-start}.experience-card h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(28px,3vw,39px);line-height:1.2}.card-count,.service-start{color:#8a7d69;font-size:12px;letter-spacing:.12em;font-weight:700}.experience-card .quiet-link{margin-top:auto}.experience-card .service-start{margin-top:15px}
.journey-grid .journey-step{display:flex;flex-direction:column;gap:16px;min-height:230px;background:#f5f2eb;border:1px solid #e6dfd5;border-radius:8px;padding:30px;transition:transform .35s,box-shadow .35s}.journey-grid .journey-step:hover{transform:translateY(-4px);box-shadow:0 20px 40px #332a190c}.journey-step span{font-size:12px;letter-spacing:.12em;color:#877965}.journey-step strong{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:26px;line-height:1.3}.journey-step small{font-size:14px;color:#6c695f;line-height:1.7}.journey-more{margin-top:34px}.home-invite{background:linear-gradient(145deg,#f1ebe0,#f9f6f0)!important;padding-top:clamp(95px,11vw,160px);padding-bottom:clamp(95px,11vw,160px)}.home-final-book{margin-top:23px;border-radius:100px;padding:19px 29px;font-size:13px}.soft-note{font-size:12px;max-width:540px;margin-top:18px}.home-story h2{max-width:840px;font-size:clamp(40px,5vw,67px);line-height:1.17}.home-story p{max-width:740px;font-size:17px;line-height:2}
@media(max-width:900px){body.guided-home header{grid-template-columns:minmax(0,1fr) auto!important}body.guided-home header .menu-toggle{grid-column:2!important}body.guided-home .hero{min-height:70svh}.journey-grid{grid-template-columns:1fr!important}.journey-grid .journey-step{min-height:0}.home-welcome .trustline{margin-top:38px}}
@media(max-width:550px){.home-welcome h1{font-size:clamp(44px,11vw,66px)}.home-lead{font-size:15px!important}.home-invite .home-final-book{font-size:12px;padding:15px 18px}.home-experiences .featuregrid{grid-template-columns:1fr}}
