*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3efe7;color:#24322b;font-family:"DM Sans",sans-serif}a{text-decoration:none;color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Playfair Display",serif;font-weight:500}em{font-weight:500}.site-header{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;width:100%;color:#fff;border-bottom:1px solid #ffffff30}.site-header.solid{position:relative;background:#f3efe7;color:#24322b;border-bottom:1px solid #24322b20}.brand{display:flex;flex-direction:column;line-height:.8}.brand span{font-family:"Playfair Display",serif;font-size:25px;letter-spacing:.22em}.brand small{font-size:8px;letter-spacing:.52em;margin-top:9px}.site-header nav{display:flex;gap:34px;font-size:13px}.site-header nav a{opacity:.72;position:relative}.site-header nav a.active,.site-header nav a:hover{opacity:1}.site-header nav a.active:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:currentColor;left:50%;bottom:-12px}.btn{display:inline-flex;justify-content:center;align-items:center;background:#31473c;color:#fff;padding:16px 25px;text-transform:uppercase;font-size:11px;letter-spacing:.16em;border:0;cursor:pointer;transition:.3s}.btn:hover{transform:translateY(-3px);background:#22342b}.btn-sm{padding:13px 18px}.btn-light{background:#e9e2d6;color:#26382f}.menu{display:none;background:none;border:0;color:inherit;font-size:24px}.hero{height:100vh;min-height:720px;position:relative;color:white;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1544161515-4ab6ce6db874?auto=format&fit=crop&w=2000&q=88') center/cover;transform:scale(1.04);animation:heroZoom 12s ease-out forwards}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#172a22dc 0%,#172a2290 42%,#172a2225 75%)}@keyframes heroZoom{to{transform:scale(1)}}.hero-content{position:absolute;left:8vw;top:27%;max-width:670px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.28em;margin-bottom:25px}.light{color:#f0ece4}.hero h1,.page-hero h1{font-size:clamp(55px,7vw,102px);line-height:.91;margin-bottom:28px}.hero-content>p:not(.eyebrow){max-width:530px;font-size:15px;line-height:1.8;color:#f3f0e9d9}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid #31473c;padding-bottom:6px}.text-link.light{border-color:#fff}.hero-card{position:absolute;right:5vw;bottom:7%;background:#e7e0d5;color:#24322b;padding:25px 28px;display:grid;grid-template-columns:35px 1fr;gap:15px 12px;width:330px}.hero-card>span{font-family:"Playfair Display";font-style:italic;color:#7a8b81}.hero-card div{display:flex;flex-direction:column}.hero-card b{font-size:12px}.hero-card small{font-size:10px;opacity:.65;margin-top:3px}.scroll-note{position:absolute;left:2.5vw;bottom:7%;font-size:8px;letter-spacing:.2em;writing-mode:vertical-rl;display:flex;align-items:center;gap:15px}.scroll-note i{height:55px;width:1px;background:#fff8}.section{padding:110px 8vw}.intro{display:grid;grid-template-columns:1.3fr .7fr;gap:10vw;align-items:end}.intro h2,.section-head h2,.story h2,.faq h2{font-size:clamp(40px,5vw,68px);line-height:1.04;margin:0}.intro-text{font-size:15px;line-height:1.9}.intro-text .text-link{display:inline-block;margin-top:20px}.featured{background:#e9e2d7}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:55px}.treatment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.treatment-card{background:#f4f0e9}.photo,.service-img{height:430px;background-size:cover;background-position:center;position:relative}.photo span{position:absolute;right:0;top:0;background:#f4f0e9;padding:12px 15px;font-size:9px;letter-spacing:.14em}.p1{background-image:url('https://images.unsplash.com/photo-1600334089648-b0d9d3028eb2?auto=format&fit=crop&w=1000&q=85')}.p2{background-image:url('https://images.unsplash.com/photo-1519823551278-64ac92734fb1?auto=format&fit=crop&w=1000&q=85')}.p3{background-image:url('https://images.unsplash.com/photo-1600334129128-685c5582fd35?auto=format&fit=crop&w=1000&q=85')}.p4{background-image:url('https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&w=1000&q=85')}.card-copy{padding:28px}.card-copy small,.service-row small{font-size:9px;letter-spacing:.18em}.card-copy h3{font-size:31px;margin:12px 0}.card-copy p{font-size:13px;line-height:1.7;opacity:.75;min-height:66px}.card-copy b{font-family:"Playfair Display";font-size:18px}.experience{display:grid;grid-template-columns:1fr 1fr;min-height:750px;background:#31473c;color:#fff}.experience-image{background:url('https://images.unsplash.com/photo-1600334089648-b0d9d3028eb2?auto=format&fit=crop&w=1200&q=85') center/cover}.experience-copy{padding:100px 8vw 80px}.experience h2,.split-banner h2{font-size:clamp(44px,5vw,70px);line-height:1.02}.steps{margin:45px 0}.steps>div{display:flex;gap:25px;padding:20px 0;border-top:1px solid #ffffff25}.steps span{font-family:"Playfair Display";font-style:italic;opacity:.6}.steps p{display:flex;flex-direction:column;margin:0}.steps b{font-size:13px}.steps small{font-size:11px;opacity:.65;margin-top:5px;line-height:1.6}.quote{text-align:center;max-width:1000px;margin:auto}.quote>p{font-family:"Playfair Display";font-size:clamp(28px,4vw,48px);line-height:1.35;font-style:italic}.quote div{display:flex;justify-content:center;gap:15px;font-size:10px;letter-spacing:.14em}.quote span{opacity:.5}.cta{padding:100px 8vw;text-align:center;background:#8b715f;color:#fff}.cta h2{font-size:clamp(45px,6vw,78px);margin-bottom:35px}footer{padding:55px 7vw;background:#1f3028;color:#e9e2d7;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}footer p{font-size:12px;opacity:.6;margin:0}footer div{display:flex;gap:25px;justify-content:flex-end;font-size:11px}footer>small{grid-column:1/-1;border-top:1px solid #ffffff20;padding-top:25px;opacity:.5}.floating{position:fixed;z-index:30;right:24px;bottom:24px;width:68px;height:68px;border-radius:50%;background:#b59b7e;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:9px;letter-spacing:.12em;box-shadow:0 8px 30px #0003;transition:.3s}.floating:hover{transform:scale(1.08) rotate(-5deg)}.page-hero{height:72vh;min-height:580px;color:#fff;display:flex;align-items:flex-end;padding:8vw;background-size:cover;background-position:center;position:relative}.page-hero:before{content:"";position:absolute;inset:0;background:#172a2285}.page-hero>div{position:relative;z-index:1}.page-hero p{max-width:580px;line-height:1.8}.service-hero{background-image:url('https://images.unsplash.com/photo-1600334129128-685c5582fd35?auto=format&fit=crop&w=1800&q=85')}.about-hero{background-image:url('https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&w=1800&q=85')}.service-list{display:flex;flex-direction:column;gap:100px}.service-row{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.service-row.reverse .service-img{order:2}.service-row h2{font-size:52px;margin:12px 0}.service-row p{line-height:1.9;opacity:.75}.meta{display:flex;gap:25px;margin:25px 0;font-size:11px;font-weight:700;letter-spacing:.12em}.story{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.story-copy{font-size:16px;line-height:2}.values{display:grid;grid-template-columns:repeat(4,1fr);background:#e7dfd3}.values article{padding:65px 3vw;border-right:1px solid #24322b18}.values span{font-family:"Playfair Display";font-style:italic;opacity:.5}.values h3{font-size:29px;margin:25px 0 12px}.values p{font-size:12px;line-height:1.8;opacity:.7}.split-banner{display:grid;grid-template-columns:1fr 1fr;background:#31473c;color:#fff}.split-photo{min-height:650px;background:url('https://images.unsplash.com/photo-1515377905703-c4788e51af15?auto=format&fit=crop&w=1200&q=85') center/cover}.split-banner>div:last-child{padding:100px 8vw}.split-banner p:not(.eyebrow){line-height:1.8;opacity:.7;margin-bottom:30px}.cream{background:#eee8df}.booking-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.booking-intro h1,.contact-title h1{font-size:clamp(48px,6vw,80px);line-height:1}.booking-intro>p:not(.eyebrow),.contact-title>p:not(.eyebrow){line-height:1.8;opacity:.7}.booking-note{border-top:1px solid #24322b30;margin-top:35px;padding-top:25px;display:flex;flex-direction:column}.booking-note span{font-size:11px;opacity:.6;margin-top:5px}.booking-form{background:#f8f5ef;padding:45px;box-shadow:0 20px 70px #27352e12}.booking-form label{font-size:9px;font-weight:700;letter-spacing:.15em;display:block;margin-bottom:24px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:0;border-bottom:1px solid #27352e40;background:transparent;padding:14px 0;font:inherit;font-size:13px;outline:none}.booking-form textarea{height:70px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:25px}.wide{width:100%}.form-status{font-size:12px;margin:15px 0 0;text-align:center}.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact-cards{display:flex;flex-direction:column}.contact-cards a{padding:30px 0;border-top:1px solid #24322b30;display:grid;grid-template-columns:90px 1fr}.contact-cards small{font-size:9px;letter-spacing:.16em}.contact-cards b{font-family:"Playfair Display";font-size:24px}.contact-cards span{grid-column:2;font-size:11px;opacity:.6;margin-top:5px}.faq{background:#e8e0d5}.faq>h2{margin-bottom:50px}.accordion{max-width:850px;margin-left:auto}.accordion button{width:100%;padding:24px 0;border:0;border-top:1px solid #24322b35;background:none;display:flex;justify-content:space-between;font:600 14px "DM Sans";color:inherit;cursor:pointer;text-align:left}.accordion button span{font-size:20px;font-weight:400;transition:.3s}.accordion div{max-height:0;overflow:hidden;transition:max-height .4s ease}.accordion div p{padding:0 40px 25px 0;font-size:13px;line-height:1.8;opacity:.7}.accordion button.open span{transform:rotate(45deg)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.delay{transition-delay:.15s}
@media(max-width:850px){.site-header{height:72px;padding:0 20px}.site-header nav,.site-header>.btn{display:none}.menu{display:block}.site-header.open nav{display:flex;position:absolute;left:0;right:0;top:72px;background:#f3efe7;color:#24322b;flex-direction:column;padding:30px 25px;gap:22px;box-shadow:0 20px 30px #0002}.hero{min-height:700px}.hero-content{left:7vw;right:7vw;top:20%}.hero h1{font-size:58px}.hero-card{left:7vw;right:7vw;bottom:5%;width:auto}.scroll-note{display:none}.intro,.experience,.story,.split-banner,.booking-wrap,.contact-page{grid-template-columns:1fr}.section{padding:75px 7vw}.intro{gap:40px}.section-head{display:block}.section-head>a{display:inline-block;margin-top:25px}.treatment-grid{grid-template-columns:1fr}.photo{height:420px}.experience-image{min-height:480px}.experience-copy{padding:70px 7vw}.service-row,.service-row.reverse{grid-template-columns:1fr;gap:35px}.service-row.reverse .service-img{order:0}.service-img{height:450px}.values{grid-template-columns:1fr 1fr}.split-photo{min-height:500px}.booking-form{padding:28px}.contact-cards{margin-top:30px}footer{grid-template-columns:1fr}footer div{justify-content:flex-start;flex-wrap:wrap}.page-hero{padding:7vw}.floating{width:58px;height:58px;right:15px;bottom:15px}}@media(max-width:520px){.hero h1{font-size:49px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-card{padding:18px 20px}.intro h2,.section-head h2,.story h2,.faq h2{font-size:41px}.values{grid-template-columns:1fr}.service-row h2{font-size:42px}.two{grid-template-columns:1fr}.contact-cards a{grid-template-columns:70px 1fr}.contact-cards b{font-size:19px}}
/* Enhanced branding + motion */
.brand span{font-size:18px;letter-spacing:.12em;font-weight:700}
.brand small{font-size:8px;letter-spacing:.34em}
.brand{position:relative;padding-left:36px}
.brand:before{content:"✦";position:absolute;left:0;top:3px;width:27px;height:27px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:11px;animation:logoPulse 3s ease-in-out infinite}
@keyframes logoPulse{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(1.12) rotate(12deg);opacity:1}}
.hero-content .eyebrow{animation:tracking 1.2s ease both}
@keyframes tracking{from{letter-spacing:.5em;opacity:0}to{letter-spacing:.28em;opacity:1}}
.hero h1 em,.page-hero h1 em{display:inline-block;animation:softFloat 4s ease-in-out infinite}
@keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.treatment-card,.values article,.contact-cards a{transition:transform .45s ease,box-shadow .45s ease,background .45s ease}
.treatment-card:hover{transform:translateY(-12px);box-shadow:0 24px 60px #27352e1f}
.treatment-card .photo,.service-img{overflow:hidden;transition:background-size .8s ease,filter .5s ease}
.treatment-card:hover .photo{filter:saturate(1.08) contrast(1.03)}
.values article:hover{background:#f2ece3;transform:translateY(-5px)}
.contact-cards a:hover{padding-left:18px;background:#e8e0d5}
.btn{position:relative;overflow:hidden}
.btn:after{content:"";position:absolute;top:-50%;left:-80%;width:35%;height:200%;background:#ffffff35;transform:rotate(25deg);transition:left .6s ease}
.btn:hover:after{left:130%}
.floating{animation:bookPulse 2.4s ease-in-out infinite}
@keyframes bookPulse{0%,100%{box-shadow:0 8px 30px #0003,0 0 0 0 #b59b7e55}50%{box-shadow:0 8px 30px #0003,0 0 0 12px #b59b7e00}}
.hero-card{animation:cardFloat 5s ease-in-out infinite}
@keyframes cardFloat{0%,100%{margin-bottom:0}50%{margin-bottom:10px}}
.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#ffffff0d 50%,transparent 65%);background-size:220% 100%;animation:heroShimmer 8s linear infinite}
@keyframes heroShimmer{from{background-position:220% 0}to{background-position:-220% 0}}
