:root{--choc:#302019;--deep:#1f1511;--rose:#a95f4c;--blush:#e8b8ab;--ivory:#fffaf6;--cream:#f5ece6;--line:#e7d7cf;--muted:#76645b;--white:#fff;--serif:'Cormorant Garamond',serif;--sans:Manrope,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--choc);font:400 15px/1.8 var(--sans);overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:.98}em{color:var(--blush);font-weight:400}.section-pad{padding:110px max(6vw,24px)}.eyebrow{display:inline-block;color:var(--rose);font-size:10px;font-weight:700;letter-spacing:4px}.eyebrow.light{color:#f5c7ba}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 25px;border:1px solid transparent;text-decoration:none;text-transform:uppercase;letter-spacing:1.5px;font:700 10px var(--sans);transition:.25s}.button-dark{background:var(--choc);color:#fff}.button-dark:hover{background:var(--rose);transform:translateY(-2px)}.button-light{border-color:#fff;background:#fff;color:var(--choc)}.button-light:hover{background:transparent;color:#fff}.text-link{text-decoration:none;color:var(--rose);font-size:12px;font-weight:600}.text-link span{display:inline-block;margin-left:6px;transition:.2s}.text-link:hover span{transform:translateX(5px)}.text-link.light{color:#fff}
.site-header{position:fixed;inset:0 0 auto;z-index:20;height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5vw;background:rgba(255,250,246,.94);border-bottom:1px solid rgba(180,135,118,.22);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:12px;color:var(--choc);text-decoration:none}.brand img{width:auto;max-width:190px;height:55px;object-fit:contain;object-position:left center}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid var(--rose);border-radius:50%;font:italic 29px var(--serif)}.brand-copy{font-weight:700;letter-spacing:2px}.brand-copy small{display:block;color:#9b786a;font-size:7px;letter-spacing:3.5px}.site-nav{display:flex;gap:34px}.site-nav a{position:relative;text-decoration:none;font-size:11px;font-weight:600;letter-spacing:1px}.site-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--rose);transition:.25s}.site-nav a:hover:after,.site-nav a.active:after{right:0}.nav-toggle{display:none;border:0;background:none}.header-book{min-height:42px;padding:10px 18px}main{padding-top:88px}
.hero-luxe{position:relative;min-height:calc(100vh - 88px);display:flex;align-items:center;color:#fff;overflow:hidden}.hero-image,.page-banner>img,.experience-banner>img,.service-note>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image{animation:heroZoom 14s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,17,13,.88) 0%,rgba(39,22,17,.55) 48%,rgba(25,13,10,.12) 78%)}.hero-content{position:relative;z-index:2;width:min(720px,88vw);margin-left:7vw}.hero-content h1{margin:22px 0;font-size:clamp(60px,7vw,105px);letter-spacing:-2px}.hero-content p{max-width:570px;color:#eadbd4;font-size:16px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.hero-details{position:absolute;z-index:2;right:5vw;bottom:35px;display:flex;gap:30px;font-size:10px;letter-spacing:1px}.hero-details b{color:#f5c7ba;margin-right:7px}@keyframes heroZoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.philosophy{text-align:center}.philosophy h2{margin:20px 0;font-size:clamp(43px,5vw,69px)}.philosophy p{max-width:760px;margin:0 auto;color:var(--muted);font-size:16px}.signature{margin-top:32px;color:var(--rose);font:italic 25px var(--serif)}.image-story{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:9vw;background:var(--cream)}.image-stack{position:relative}.image-stack img{width:100%;height:650px;object-fit:cover}.image-stack span{position:absolute;right:-45px;bottom:40px;padding:25px 30px;background:var(--rose);color:#fff;font:25px/1.1 var(--serif)}.story-copy h2,.section-heading h2,.menu-intro h2{margin:17px 0 26px;font-size:clamp(44px,5vw,66px)}.story-copy p,.menu-intro p{color:var(--muted)}.story-copy ul{list-style:none;margin:28px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.story-copy li:before{content:'◇';margin-right:9px;color:var(--rose)}
.rituals{background:#f8f1ed}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:40px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-grid article{position:relative;display:flex;flex-direction:column;min-height:310px;padding:32px;background:var(--ivory);border:1px solid var(--line);transition:.35s}.service-grid article:hover{transform:translateY(-8px);border-color:var(--blush);box-shadow:0 25px 55px rgba(67,35,24,.1)}.service-grid article small{color:var(--rose);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.service-grid h3{margin:23px 0 12px;font-size:32px}.service-grid p{color:var(--muted);font-size:13px}.service-grid footer{display:flex;justify-content:space-between;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}.service-grid footer span{color:var(--muted);font-size:11px}.service-grid article>a{margin-top:13px;color:var(--rose);text-decoration:none;font-size:11px;font-weight:700}.service-number{position:absolute;right:22px;top:10px;color:#eadbd4;font:52px var(--serif)}
.experience-banner,.service-note{position:relative;min-height:690px;display:flex;align-items:center;justify-content:flex-end;color:#fff}.experience-banner:after,.service-note:after,.page-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 15%,rgba(30,16,12,.2) 48%,rgba(25,14,10,.86) 100%)}.experience-banner>div,.service-note>div{position:relative;z-index:2;width:50%;padding:7vw}.experience-banner h2,.service-note h2{margin:20px 0;font-size:clamp(49px,6vw,78px)}.experience-banner p,.service-note p{color:#e5d5ce;margin-bottom:30px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.values>div{border-top:1px solid var(--line);padding-top:28px}.values strong{color:var(--rose);font-size:11px}.values h3{margin:18px 0 9px;font-size:31px}.values p{color:var(--muted);font-size:13px}.home-gallery{background:var(--deep);color:#fff}.home-gallery h2{margin:20px 0 50px;font-size:clamp(48px,5vw,68px)}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.gallery-grid img{width:100%;height:510px;object-fit:cover}.gallery-grid img:last-child{margin-top:-120px}.final-cta{text-align:center;background:var(--cream)}.final-cta h2{margin:18px 0;font-size:clamp(50px,6vw,78px)}.final-cta p{margin-bottom:30px;color:var(--muted)}
.page-banner{position:relative;min-height:600px;display:flex;align-items:center;color:#fff}.page-banner:after{background:linear-gradient(90deg,rgba(25,14,10,.83),rgba(25,14,10,.2))}.page-banner>div{position:relative;z-index:2;padding-left:8vw}.page-banner h1{margin:18px 0;font-size:clamp(68px,8vw,110px)}.page-banner p{color:#eadbd4}.story-intro{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.story-intro h2,.about-feature h2,.contact-section h2{margin:20px 0;font-size:clamp(48px,5vw,68px)}.story-intro p,.about-feature p{color:var(--muted);font-size:16px}.about-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;background:var(--cream)}.about-feature>img{height:650px;width:100%;object-fit:cover}.mini-values{display:grid;gap:14px;margin-top:30px}.mini-values span{padding:13px 0;border-bottom:1px solid var(--line);color:var(--muted)}.mini-values b{display:inline-block;width:110px;color:var(--choc)}.quote-section{text-align:center}.quote-section blockquote{max-width:850px;margin:0 auto 20px;color:var(--rose);font:italic clamp(44px,6vw,75px)/1.05 var(--serif)}.service-page{background:var(--ivory)}.menu-intro{text-align:center}.menu-intro p{max-width:720px;margin:auto}.empty-state{grid-column:1/-1;padding:50px;text-align:center}.pagination-wrap{margin-top:35px}.service-note{min-height:570px}.service-note:after{background:linear-gradient(90deg,rgba(25,14,10,.9),rgba(25,14,10,.25))}.service-note{justify-content:flex-start}.service-note>div{width:55%}
.contact-section{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:start}.contact-form-card{padding:45px;background:#fff;border:1px solid var(--line);box-shadow:0 25px 70px rgba(67,35,24,.07)}.contact-form-card>p{color:var(--muted)}.contact-form-card form{margin-top:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form-card label{display:block;margin-bottom:18px;font-size:10px;font-weight:700;letter-spacing:1px}.contact-form-card label>span{color:var(--rose)}.contact-form-card input,.contact-form-card textarea{display:block;width:100%;margin-top:7px;padding:13px 2px;border:0;border-bottom:1px solid #cdb8ae;border-radius:0;background:transparent;color:var(--choc);font:14px var(--sans);outline:0;transition:.2s}.contact-form-card input:focus,.contact-form-card textarea:focus{border-color:var(--rose)}.captcha-box{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 25px;padding:18px;background:var(--cream);border-left:3px solid var(--rose)}.captcha-box small,.captcha-box strong{display:block}.captcha-box small{color:var(--rose);font-size:8px;letter-spacing:2px}.captcha-box label{width:120px;margin:0}.alert-success,.alert-error{margin:20px 0;padding:14px 18px}.alert-success{background:#edf6eb;color:#43633f}.alert-error{background:#fff0ed;color:#944936}.alert-error ul{margin:5px 0 0}.contact-details{padding-top:30px}.contact-detail{padding:20px 0;border-bottom:1px solid var(--line)}.contact-detail small{color:var(--rose);font-size:8px;letter-spacing:2px}.contact-detail p{margin:4px 0;color:var(--muted)}.contact-detail a{text-decoration:none}.contact-details>img{margin-top:35px;width:100%;height:280px;object-fit:cover}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-footer{padding:75px 6vw 25px;background:var(--deep);color:#d9c8c0}.footer-main{display:grid;grid-template-columns:1.6fr .7fr 1fr .8fr;gap:6vw}.footer-main>div:first-child p{max-width:310px;margin-top:20px;color:#a9958c}.footer-main>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start}.footer-main small{margin-bottom:14px;color:#d99e8d;font-size:8px;letter-spacing:3px}.footer-main a{margin-bottom:8px;color:#d9c8c0;text-decoration:none;font-size:12px}.footer-main p{color:#b9a69d}.footer-brand{color:#fff}.footer-brand img{filter:brightness(0) invert(1)}.footer-bottom{display:flex;justify-content:space-between;margin-top:55px;padding-top:20px;border-top:1px solid #49342b;color:#917c73;font-size:10px}.footer-bottom a{color:#917c73;text-decoration:none}
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}[data-reveal].revealed{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}}
@media(max-width:980px){.site-nav{position:absolute;left:0;right:0;top:88px;display:none;flex-direction:column;gap:0;padding:12px 6vw 22px;background:var(--ivory);border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.site-nav a{padding:11px 0}.nav-toggle{display:block}.nav-toggle span{display:block;width:24px;height:1px;margin:6px;background:var(--choc)}.header-book{display:none}.hero-details{display:none}.image-story,.story-intro,.about-feature,.contact-section{grid-template-columns:1fr}.image-stack span{right:15px}.service-grid{grid-template-columns:1fr 1fr}.experience-banner>div,.service-note>div{width:70%}.footer-main{grid-template-columns:1fr 1fr}.gallery-grid img{height:400px}}
@media(max-width:640px){.section-pad{padding:75px 22px}.site-header{height:74px;padding:0 20px}.brand img{max-width:145px;height:46px}.site-nav{top:74px}main{padding-top:74px}.hero-luxe{min-height:720px}.hero-content{margin:0 22px}.hero-content h1{font-size:55px}.hero-actions{align-items:flex-start;flex-direction:column}.philosophy h2 br{display:none}.image-story{gap:55px}.image-stack img,.about-feature>img{height:430px}.story-copy ul{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.service-grid{grid-template-columns:1fr}.experience-banner,.service-note{min-height:600px;justify-content:flex-start}.experience-banner:after,.service-note:after{background:rgba(25,14,10,.68)}.experience-banner>div,.service-note>div{width:100%;padding:40px 22px}.values{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:330px}.gallery-grid img:last-child{margin-top:0}.page-banner{min-height:520px}.page-banner>div{padding:0 24px}.page-banner h1{font-size:62px}.form-row{grid-template-columns:1fr}.contact-form-card{padding:28px 20px}.captcha-box{align-items:flex-start;flex-direction:column}.captcha-box label{width:100%}.footer-main{grid-template-columns:1fr}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}}

/* Transparent sticky header */
.site-header{background:transparent;border-bottom-color:rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(2px);transition:background .3s,border-color .3s,box-shadow .3s,color .3s}.site-header.scrolled{background:rgba(255,250,246,.96);border-color:rgba(180,135,118,.22);box-shadow:0 8px 30px rgba(47,27,20,.08);color:var(--choc);backdrop-filter:blur(16px)}.site-header .brand{color:inherit}.site-header .brand-mark{border-color:currentColor}.site-header .brand-copy small{color:inherit;opacity:.72}.site-header:not(.scrolled)>.brand img{filter:brightness(0) invert(1)}.site-header .site-nav{gap:30px}.site-header .site-nav a{color:inherit}.site-header .site-nav a:after{background:currentColor}.header-actions{display:flex;align-items:center;gap:18px}.header-phone{color:inherit;text-decoration:none;font-size:11px;font-weight:700;line-height:1.3;white-space:nowrap}.header-phone small{display:block;opacity:.65;font-size:7px;letter-spacing:2px}.site-header.scrolled .header-book{background:var(--choc);border-color:var(--choc);color:#fff}main{padding-top:0}

/* Testimonials */
.testimonials{background:var(--cream)}.testimonial-heading{max-width:720px;margin:0 auto 48px;text-align:center}.testimonial-heading h2{margin:18px 0;font-size:clamp(48px,5vw,68px)}.testimonial-heading p{color:var(--muted)}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.testimonial-grid article{display:flex;flex-direction:column;min-height:330px;padding:34px;background:var(--ivory);border:1px solid var(--line);transition:.3s}.testimonial-grid article:hover{transform:translateY(-7px);box-shadow:0 22px 50px rgba(67,35,24,.09)}.stars{color:#b4773f;font-size:14px;letter-spacing:4px}.testimonial-grid blockquote{margin:26px 0;color:#59453c;font:italic 24px/1.35 var(--serif)}.testimonial-grid footer{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}.testimonial-grid footer>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--rose);color:#fff;font-size:10px}.testimonial-grid footer b,.testimonial-grid footer small{display:block}.testimonial-grid footer small{color:var(--muted);font-size:9px}

@media(max-width:1100px){.header-phone{display:none}}@media(max-width:980px){.site-header .site-nav{background:var(--ivory);color:var(--choc)}.nav-toggle span{background:currentColor}.testimonial-grid{grid-template-columns:1fr 1fr}.testimonial-grid article:last-child{grid-column:1/-1}}@media(max-width:640px){.site-header .brand img{filter:none}.site-header:not(.scrolled)>.brand img{filter:brightness(0) invert(1)}.testimonial-grid{grid-template-columns:1fr}.testimonial-grid article:last-child{grid-column:auto}main{padding-top:0}}

/* Full viewport hero on every screen size */
.hero-luxe{height:100vh;height:100svh;min-height:560px}.hero-image{width:100%;height:100%;object-fit:cover}@supports(height:100dvh){.hero-luxe{height:100dvh}}@media(max-width:640px){.hero-luxe{height:100svh;min-height:620px}.hero-content{max-height:calc(100svh - 120px);padding-top:60px}.hero-content h1{font-size:clamp(46px,14vw,60px)}}

/* Separate logos for light and dark backgrounds */
.site-header .brand-logo-dark{display:block;filter:none!important}.site-header .brand-logo-default{display:none}.site-header.scrolled .brand-logo-dark{display:none}.site-header.scrolled .brand-logo-default{display:block;filter:none}.site-header:not(.scrolled) .brand-logo-default:only-child{display:block;filter:brightness(0) invert(1)}.footer-brand img.brand-logo-dark{filter:none}
