:root{--wine:#2a0f1b;--espresso:#1a0e12;--rose:#e9cfc4;--gold:#c9a27e;--cream:#fbf6f2;--ink:#281921;--muted:#806f73;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--gutter:clamp(24px,7.4vw,116px)}
*{box-sizing:border-box}
@media (hover:hover) and (pointer:fine){.treatment-card:hover .treatment-image img{transform:scale(1.055) translate3d(var(--move-x,0px),var(--move-y,0px),0)}.magnetic{transform:translate3d(var(--mag-x,0px),var(--mag-y,0px),0)}.magnetic:hover{transform:translate3d(var(--mag-x,0px),calc(var(--mag-y,0px) - 3px),0)}}
html{scroll-behavior:smooth;scroll-padding-top:85px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
::selection{background:var(--gold);color:var(--wine)}
.skip-link{position:fixed;top:-60px;left:20px;z-index:1000;background:var(--cream);padding:12px 18px;color:var(--wine)}.skip-link:focus{top:15px}
.dark-section{background:var(--wine);color:var(--cream)}.light-section{background:var(--cream);color:var(--ink)}.section-pad{padding:clamp(90px,12vw,180px) var(--gutter)}
.site-header{height:86px;padding:0 var(--gutter);position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;color:var(--cream);border-bottom:1px solid rgba(233,207,196,.16);transition:background .35s,height .35s,box-shadow .35s}
.site-header.scrolled{height:72px;background:rgba(35,13,22,.94);backdrop-filter:blur(15px);box-shadow:0 8px 32px #10080b20}
.wordmark{display:flex;align-items:center;gap:11px}.wordmark-monogram{font:500 41px/.9 var(--serif);letter-spacing:-5px;color:var(--rose)}.wordmark-monogram span{color:var(--gold)}.wordmark-name{font:500 17px/1 var(--serif);letter-spacing:.01em}.wordmark-name small{display:block;font:500 7px/1.8 var(--sans);letter-spacing:.19em;color:#d2b8ab}
.main-nav{display:flex;align-items:center;gap:clamp(20px,3vw,46px);font-size:11px;letter-spacing:.06em}.main-nav>a:not(.nav-cta){opacity:.8;transition:opacity .2s}.main-nav>a:hover{opacity:1}.nav-cta{border:1px solid rgba(201,162,126,.65);padding:12px 17px;color:var(--rose);transition:background .25s,color .25s}.nav-cta:hover{background:var(--gold);color:var(--wine)}.nav-cta span{margin-left:14px}.menu-toggle{display:none}
.hero{min-height:min(850px,100svh);min-height:max(730px,100svh);position:relative;overflow:hidden;padding:150px var(--gutter) 100px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:4vw}.hero-grain,.hero-grain:after{position:absolute;inset:0;pointer-events:none}.hero-grain{opacity:.17;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.19'/%3E%3C/svg%3E");mix-blend-mode:screen}.hero:before{content:"";position:absolute;width:55vw;height:55vw;right:-15vw;top:-25vw;border-radius:50%;background:radial-gradient(circle,#6c334033,transparent 68%)}.hero-copy{position:relative;z-index:2;max-width:660px;padding-bottom:20px}.eyebrow{display:flex;align-items:center;gap:12px;color:#d5b19a;font-size:9px;letter-spacing:.2em;font-weight:600}.eyebrow-line{height:1px;width:31px;background:var(--gold)}.eyebrow-dark{color:#9f7368}.eyebrow-dark .eyebrow-line{background:#b58975}.hero h1{font:400 clamp(60px,8.2vw,126px)/.97 var(--serif);letter-spacing:-.055em;margin:38px 0 29px}.hero h1 em,.intro-heading h2 em,.section-heading h2 em,.journey-heading h2 em,.gallery-copy h2 em,.faq-heading h2 em,.contact-heading h2 em,.visit-info h2 em{font-weight:400;color:var(--rose)}.hero-description{max-width:390px;color:#d3bdba;font-size:13px;line-height:1.9;margin:0}.hero-actions{display:flex;align-items:center;gap:31px;margin-top:34px}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:0 21px;font-size:11px;letter-spacing:.03em;transition:transform .3s,background .3s,box-shadow .3s;position:relative;overflow:hidden}.button-light{background:var(--rose);color:var(--wine)}.button:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0f050c33}.button-arrow{font-size:17px;transition:transform .3s}.button:hover .button-arrow{transform:translate(3px,-3px)}.text-link{font-size:11px;color:var(--rose);border-bottom:1px solid #c9a27e70;padding:0 0 8px;transition:color .2s}.text-link span{margin-left:12px;color:var(--gold)}.text-link:hover{color:#fff}.hero-visual{position:relative;justify-self:end;width:min(100%,540px);height:min(66vh,620px);min-height:480px;z-index:1;transform-style:preserve-3d;transition:transform .2s ease-out}.hero-image-frame{height:100%;width:82%;margin-left:auto;position:relative;overflow:hidden;border-radius:47% 47% 2px 2px/42% 42% 2px 2px;border:1px solid #c9a27e65}.hero-image-frame:before{content:"";position:absolute;inset:9px;border:1px solid #e9cfc444;border-radius:inherit;z-index:2;pointer-events:none}.hero-image-frame img,.treatment-image img,.intro-photo img,.gallery-slide img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.hero-image-frame img{object-position:50% 40%;filter:saturate(.76) sepia(.12)}.hero-image-frame:hover img{transform:scale(1.04)}.image-shade{position:absolute;inset:0;background:linear-gradient(0deg,#1a0e1280,transparent 43%),linear-gradient(90deg,#2a0f1b25,transparent 70%)}.image-caption{position:absolute;bottom:27px;left:28px;z-index:2;font:italic 15px var(--serif);color:#f5ded1}.rating-card{position:absolute;left:-5%;top:20%;padding:16px 19px;background:var(--cream);color:var(--wine);display:grid;gap:4px;box-shadow:0 16px 50px #14070e42;min-width:145px}.rating-stars{color:#ac805b;font-size:11px;letter-spacing:.15em}.rating-score{font:500 20px var(--serif)}.rating-score small{font:10px var(--sans);color:var(--muted)}.rating-note{font-size:9px;color:#76656b}.hero-seal{position:absolute;right:-2%;bottom:9%;width:110px;height:110px;border:1px solid #c9a27e80;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;color:#e7c5b3;font-size:8px;letter-spacing:.13em;line-height:1.7;background:#2a0f1b55}.hero-seal i{position:absolute;top:-12px;right:12px;font-style:normal;font-size:22px;color:var(--gold)}.scroll-cue{position:absolute;bottom:27px;left:var(--gutter);display:flex;align-items:center;gap:14px;color:#c3a9a4;font-size:8px;letter-spacing:.17em}.scroll-cue i{display:block;width:42px;height:1px;background:#c9a27e;position:relative}.scroll-cue i:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold);top:-2px;animation:scrollDot 1.6s infinite}.hero-bottom-note{position:absolute;right:var(--gutter);bottom:32px;font-size:8px;color:#a58b89;letter-spacing:.17em}.hero-bottom-note span{color:var(--gold);padding:0 8px}.hero-orb{position:absolute;border-radius:50%;pointer-events:none;opacity:.7}.hero-orb-one{width:5px;height:5px;background:#ddb891;top:29%;left:47%;box-shadow:0 0 15px 5px #c9a27e37;animation:float 6s ease-in-out infinite}.hero-orb-two{width:3px;height:3px;background:#e4c4ad;top:17%;right:9%;box-shadow:0 0 14px 4px #c9a27e42;animation:float 8s ease-in-out infinite reverse}
.intro-topline{display:flex;justify-content:space-between;border-top:1px solid #cbb9aa;padding-top:15px;font-size:8px;letter-spacing:.16em;color:#987f7b}.intro-grid{display:grid;grid-template-columns:1fr .9fr;gap:10vw;margin-top:67px}.intro-heading h2,.section-heading h2,.journey-heading h2,.gallery-copy h2,.faq-heading h2,.contact-heading h2,.visit-info h2{font:400 clamp(46px,6.3vw,88px)/1.02 var(--serif);letter-spacing:-.05em;margin:29px 0}.intro-heading h2 em,.journey-heading h2 em,.faq-heading h2 em,.visit-info h2 em{color:#9e6e66}.intro-photo{width:min(86%,430px);height:450px;margin:52px 0 0 7%;position:relative;overflow:hidden;border-radius:48% 48% 2px 2px/35% 35% 2px 2px}.intro-photo img{filter:saturate(.7) sepia(.12)}.photo-index{position:absolute;bottom:18px;left:22px;color:white;font-size:8px;letter-spacing:.18em}.intro-content{padding:94px 3% 0 0;max-width:500px}.intro-lead{font:400 clamp(24px,2.7vw,38px)/1.38 var(--serif);margin:0 0 26px}.intro-lead em{color:#a87b72}.intro-content>p:not(.intro-lead){font-size:12px;line-height:2;color:#74656a;margin:0 0 16px}.dark-link{display:inline-block;color:var(--ink);margin-top:18px;border-color:#b79789}.stats-row{display:flex;justify-content:space-between;border-top:1px solid #d8c9bf;margin-top:63px;padding-top:24px}.stat{display:flex;flex-direction:column;gap:8px}.stat strong{font:400 37px var(--serif);color:#8f5d58}.stat strong small{font:14px var(--serif)}.stat>span{font-size:9px;color:#84757a;line-height:1.55}.stat-plus{font-size:18px}.editable-note{display:block;margin-top:18px;color:#9b8987;font-size:8px;line-height:1.6}
.treatments-section{background:var(--espresso);position:relative;overflow:hidden}.treatments-section:before{content:"";position:absolute;width:400px;height:400px;right:-180px;top:10%;border-radius:50%;background:radial-gradient(circle,#60313a24,transparent 70%);pointer-events:none}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:58px;position:relative}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:300px;color:#c8b6b1;font-size:12px;line-height:1.9;margin:0 3% 8px}.treatments-grid{display:grid;grid-template-columns:1.14fr .86fr .86fr;gap:45px 22px;position:relative}.treatment-card{display:block;min-width:0}.treatment-featured{grid-row:span 2}.treatment-image{height:270px;position:relative;overflow:hidden;background:#37212a}.treatment-featured .treatment-image{height:585px}.treatment-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#14090c62,transparent 45%);pointer-events:none}.treatment-image img{filter:saturate(.7) sepia(.12)}.treatment-card:hover .treatment-image img{transform:scale(1.055)}.card-number{position:absolute;top:17px;left:18px;color:white;font:italic 15px var(--serif);z-index:2}.card-hover{position:absolute;bottom:18px;right:18px;z-index:3;color:#fff;font-size:8px;letter-spacing:.17em;opacity:0;transform:translateY(8px);transition:all .35s}.card-hover b{color:var(--gold);font-size:15px;margin-left:8px}.treatment-card:hover .card-hover,.treatment-card:focus-visible .card-hover{opacity:1;transform:none}.treatment-meta{display:flex;justify-content:space-between;align-items:center;padding-top:18px}.treatment-category{color:#c19b82;font-size:8px;letter-spacing:.17em}.treatment-meta h3{font:400 23px var(--serif);margin:7px 0 0}.treatment-plus{font:18px var(--serif);color:#c9a27e}.treatment-card>p{font-size:10px;line-height:1.7;color:#b4a3a0;margin:10px 0 0}.treatment-footnote{margin-top:38px;text-align:right;color:#aa9997;font-size:9px}.treatment-footnote span{color:var(--gold)}
.journey-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.journey-heading{position:sticky;top:125px;align-self:start}.journey-heading h2{margin-bottom:20px}.journey-heading>p:not(.eyebrow){max-width:320px;color:#7d6d71;font-size:12px;line-height:1.9}.journey-list{position:relative;padding-top:5px}.journey-line{position:absolute;top:14px;bottom:14px;left:47px;width:1px;background:#ddcfc8}.journey-line span{display:block;width:2px;height:0;background:#b18470;transition:height .15s linear}.journey-step{min-height:148px;position:relative;display:grid;grid-template-columns:95px 1fr 25px;gap:15px;align-items:center;border-bottom:1px solid #dfd3cc}.journey-step:first-of-type{border-top:1px solid #dfd3cc}.step-number{z-index:1;width:34px;height:34px;border:1px solid #bc9a88;border-radius:50%;background:var(--cream);display:grid;place-items:center;font:italic 13px var(--serif);color:#92685f;margin-left:30px}.journey-step h3{font:400 22px var(--serif);margin:0 0 8px}.journey-step p{max-width:360px;font-size:10px;line-height:1.8;color:#807176;margin:0}.step-icon{color:#aa806c;font-size:18px}
.gallery-section{background:#241018;color:var(--cream);min-height:690px;position:relative;display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;padding:100px var(--gutter);gap:6vw;overflow:hidden}.gallery-copy{position:relative;z-index:2}.gallery-copy h2{font-size:clamp(48px,5.8vw,78px);margin:30px 0 17px}.gallery-copy>p:not(.eyebrow){font-size:11px;color:#bda8a4}.gallery-controls{display:flex;align-items:center;gap:18px;margin-top:40px}.gallery-controls button,.testimonial-controls button{width:38px;height:38px;border-radius:50%;border:1px solid #c9a27e70;background:transparent;color:var(--rose);cursor:pointer;transition:background .2s}.gallery-controls button:hover,.testimonial-controls button:hover{background:#c9a27e30}.gallery-count,.review-count{font-size:9px;letter-spacing:.1em}.gallery-count i,.review-count i{font-style:normal;color:#b6988d}.gallery-track{height:min(60vw,500px);min-height:370px;position:relative}.gallery-slide{position:absolute;inset:0;margin:0;opacity:0;clip-path:inset(0 0 0 100%);transition:clip-path .8s cubic-bezier(.77,0,.18,1),opacity .5s}.gallery-slide.is-active{opacity:1;clip-path:inset(0)}.gallery-slide img{filter:saturate(.72) sepia(.1)}.gallery-slide figcaption{position:absolute;bottom:18px;left:20px;color:#f5e2d6;font-size:8px;letter-spacing:.17em}.gallery-progress{position:absolute;bottom:60px;left:var(--gutter);right:var(--gutter);height:1px;background:#ffffff21}.gallery-progress span{display:block;height:100%;width:33.333%;background:var(--gold);transition:transform .4s}.gallery-note{position:absolute;bottom:24px;left:var(--gutter);color:#ad9691;font-size:8px}
.testimonials-section{position:relative;min-height:670px;background:var(--wine);overflow:hidden}.testimonials-section:after{content:"";position:absolute;width:600px;height:600px;left:32%;top:12%;background:radial-gradient(circle,#6b374022,transparent 70%);pointer-events:none}.testimonial-head{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:1}.google-stamp{width:110px;height:110px;border:1px solid #c9a27e75;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;color:var(--rose);transform:rotate(8deg)}.google-stamp span,.google-stamp small{font-size:7px;letter-spacing:.15em}.google-stamp strong{font:400 29px var(--serif)}.google-stamp i{font-style:normal;color:var(--gold);font-size:9px;letter-spacing:.1em}.testimonial-slider{height:315px;position:relative;z-index:1;max-width:980px;margin:42px auto 0}.testimonial{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;opacity:0;transform:translateY(14px);transition:opacity .55s,transform .55s;pointer-events:none}.testimonial.is-active{opacity:1;transform:translateY(0);pointer-events:auto}.quote-mark{font:italic 78px/.6 var(--serif);color:#c9a27e}.testimonial blockquote{max-width:850px;margin:24px auto 30px;font:400 clamp(27px,4vw,53px)/1.27 var(--serif);letter-spacing:-.025em}.reviewer{font-size:8px;color:#c1a8a2;letter-spacing:.18em}.reviewer span{color:var(--gold);padding:0 5px}.testimonial-controls{display:flex;align-items:center;justify-content:center;gap:17px;position:relative;z-index:1}.review-disclaimer{text-align:center;color:#a88f8d;font-size:8px;margin:28px 0 0;position:relative;z-index:1}
.faq-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:12vw}.faq-heading h2{margin-bottom:21px}.faq-heading>p:not(.eyebrow){font-size:11px;line-height:1.8;color:#807176;max-width:270px}.faq-list{border-top:1px solid #d9c9c0}.faq-list details{border-bottom:1px solid #d9c9c0}.faq-list summary{list-style:none;min-height:74px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font:400 18px var(--serif)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary i{font:400 20px var(--sans);color:#a67c70;transition:transform .25s}.faq-list details[open] summary i{transform:rotate(45deg)}.faq-list details p{font-size:11px;line-height:1.85;color:#796a6f;max-width:550px;margin:0;padding:0 35px 23px 0}
.contact-section{display:grid;grid-template-columns:1fr .8fr;gap:12vw;background:#2a0f1b;position:relative;overflow:hidden}.contact-section:before{content:"";position:absolute;width:700px;height:700px;left:-340px;bottom:-480px;border:1px solid #c9a27e17;border-radius:50%;box-shadow:0 0 0 50px #c9a27e08,0 0 0 100px #c9a27e05}.contact-heading{position:relative;z-index:1}.contact-heading h2{font-size:clamp(48px,6vw,80px);margin-bottom:25px}.contact-heading>p:not(.eyebrow){font-size:12px;line-height:1.9;max-width:385px;color:#c6b0ac}.contact-cta{margin-top:20px;min-width:205px}.contact-phone{display:flex;flex-direction:column;gap:9px;margin-top:42px}.contact-phone span,.form-kicker{font-size:8px;letter-spacing:.17em;color:#d0a98f}.contact-phone a{font:400 24px var(--serif);color:var(--rose)}.contact-form{position:relative;z-index:1;padding:37px 36px 30px;background:#ffffff08;border:1px solid #d4b9ad2b;display:flex;flex-direction:column}.form-kicker{margin:0 0 27px}.contact-form label{color:#d8c6c2;font-size:9px;margin:14px 0 8px}.contact-form label span{color:#a88e8c}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:12px 0;background:transparent;border:0;border-bottom:1px solid #c9a27e57;border-radius:0;color:#fff;outline:0;font-size:11px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#937c7e}.contact-form select{color:#c4ada9}.contact-form select option{background:var(--wine)}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold)}.form-submit{margin-top:25px;align-self:flex-start;border:0;cursor:pointer}.contact-form>small{font-size:8px;line-height:1.7;color:#a78e8d;margin-top:13px}
.visit-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.visit-info h2{font-size:clamp(44px,5.3vw,72px);margin:27px 0}.address-link{font:400 17px/1.7 var(--serif);display:block}.address-link span{color:#a67c70;padding-left:12px}.visit-hours{margin-top:35px}.visit-hours>span,.instagram-link>span{font-size:8px;letter-spacing:.17em;color:#95777a}.visit-hours p{font-size:11px;line-height:1.9;color:#64565b}.visit-hours small{color:#9b8888;font-size:9px}.instagram-link{display:inline-flex;flex-direction:column;gap:8px;margin-top:21px}.instagram-link b{font:400 17px var(--serif);color:#885e5b}.map-wrap{height:475px;position:relative;background:#e4d8d1}.map-wrap iframe{width:100%;height:100%;border:0;filter:grayscale(.7) sepia(.16) contrast(.9)}.map-label{position:absolute;bottom:18px;left:18px;background:var(--cream);padding:13px 17px;display:flex;flex-direction:column;gap:5px;box-shadow:0 5px 22px #28192120}.map-label span{font-size:7px;color:#94776d;letter-spacing:.16em}.map-label b{font:400 15px var(--serif)}.map-label i{font-style:normal;color:#a67c70;margin-left:8px}
.site-footer{padding:56px var(--gutter) 22px;background:var(--espresso)}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding-bottom:43px}.footer-wordmark{justify-self:start}.footer-main>p{font:italic 18px/1.6 var(--serif);color:#c9b4b0}.footer-booking{justify-self:end;border-bottom:1px solid #c9a27e61;padding:0 0 10px;color:var(--rose);font-size:10px}.footer-booking span{margin-left:26px;color:var(--gold)}.footer-bottom{border-top:1px solid #ffffff20;padding-top:19px;display:flex;justify-content:space-between;color:#aa9694;font-size:7px;letter-spacing:.13em}.footer-bottom a{color:#ceb4aa}
.whatsapp-float{position:fixed;z-index:40;right:25px;bottom:25px;width:56px;height:56px;border-radius:50%;background:#477c5c;display:grid;place-items:center;box-shadow:0 6px 24px #11090b45;transition:transform .25s}.whatsapp-float:hover{transform:scale(1.07)}.whatsapp-float:before{content:"";position:absolute;inset:-5px;border:1px solid #79ac7d;border-radius:50%;animation:pulse 2.4s infinite}.whatsapp-float svg{width:26px;height:26px;fill:#fff}.whatsapp-tooltip{position:absolute;right:68px;white-space:nowrap;background:var(--cream);color:var(--wine);padding:10px 13px;font-size:10px;box-shadow:0 4px 20px #10080b25;opacity:0;transform:translateX(5px);transition:all .25s;pointer-events:none}.whatsapp-tooltip:after{content:"";position:absolute;right:-5px;top:50%;width:10px;height:10px;background:var(--cream);transform:translateY(-50%) rotate(45deg)}.whatsapp-float:hover .whatsapp-tooltip,.whatsapp-float:focus-visible .whatsapp-tooltip{opacity:1;transform:none}
.cursor{position:fixed;z-index:100;left:0;top:0;width:18px;height:18px;border:1px solid #d8b89e;border-radius:50%;pointer-events:none;opacity:0;transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s,opacity .3s;mix-blend-mode:difference}.cursor span{display:none}.cursor.is-visible{opacity:1}.cursor.is-large{width:68px;height:68px;background:#c9a27e90;border-color:transparent;mix-blend-mode:normal;display:grid;place-items:center}.cursor.is-large span{display:block;color:#2a0f1b;font-size:9px}
.reveal-up{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.reveal-up.is-visible{opacity:1;transform:translateY(0)}.image-reveal{clip-path:inset(100% 0 0 0);transition:clip-path 1.1s cubic-bezier(.77,0,.18,1)}.image-reveal.is-visible{clip-path:inset(0)}
@keyframes pulse{0%{transform:scale(.94);opacity:.7}75%,100%{transform:scale(1.2);opacity:0}}@keyframes float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-18px,0)}}@keyframes scrollDot{0%{left:0;opacity:0}25%{opacity:1}100%{left:37px;opacity:0}}
.preloader{position:fixed;inset:0;background:var(--wine);z-index:1000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;transition:opacity .7s .2s,visibility .7s .2s}.preloader.is-done{opacity:0;visibility:hidden}.preloader-mark{font:400 76px/.9 var(--serif);color:var(--rose);letter-spacing:-9px;animation:preloadIn .8s both}.preloader-mark span{color:var(--gold)}.preloader-name{font:400 12px var(--serif);letter-spacing:.17em;color:#d2b8ab}.preloader-line{height:1px;width:100px;background:#c9a27e55;position:relative;overflow:hidden}.preloader-line:after{content:"";position:absolute;inset:0;background:var(--gold);transform:translateX(-100%);animation:loadLine 1s ease forwards}@keyframes preloadIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes loadLine{to{transform:translateX(0)}}
@media(min-width:1500px){.hero{padding-left:max(var(--gutter),calc((100vw - 1400px)/2));padding-right:max(var(--gutter),calc((100vw - 1400px)/2))}}
@media(max-width:1000px){:root{--gutter:6vw}.main-nav{gap:18px;font-size:10px}.nav-cta{padding:10px}.hero{grid-template-columns:1.05fr .95fr;gap:2vw}.hero h1{font-size:clamp(58px,8vw,88px)}.hero-visual{min-height:430px;height:58vh}.intro-grid{gap:6vw}.treatments-grid{gap:32px 17px}.treatment-image{height:220px}.treatment-featured .treatment-image{height:500px}.journey-section,.faq-section{gap:7vw}.gallery-section{grid-template-columns:.8fr 1.2fr}.contact-section{gap:7vw}.visit-section{gap:5vw}}
@media(max-width:720px){:root{--gutter:24px}html{scroll-padding-top:70px}.site-header{height:70px}.site-header.scrolled{height:64px}.wordmark-monogram{font-size:35px}.wordmark-name{font-size:15px}.menu-toggle{display:flex;width:42px;height:42px;border:1px solid #c9a27e70;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;z-index:2}.menu-toggle span{width:16px;height:1px;background:var(--rose);transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.main-nav{position:fixed;inset:0;background:var(--wine);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:80px var(--gutter);gap:0;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.main-nav.is-open{opacity:1;visibility:visible}.main-nav>a:not(.nav-cta){font:400 38px/1.5 var(--serif);letter-spacing:-.02em}.main-nav .nav-cta{margin-top:20px;padding:14px 20px;font:11px var(--sans)}.hero{min-height:auto;min-height:100svh;padding:126px var(--gutter) 82px;display:flex;flex-direction:column;align-items:stretch;gap:32px}.hero-copy{padding:0}.hero h1{font-size:clamp(60px,15vw,96px);margin:30px 0 20px}.hero-description{font-size:12px;max-width:340px}.hero-actions{gap:18px;margin-top:27px;flex-wrap:wrap}.button{min-height:50px;padding:0 17px;gap:18px}.text-link{font-size:10px}.hero-visual{justify-self:auto;align-self:center;width:min(78vw,400px);height:clamp(320px,88vw,430px);min-height:0;margin:4px 15px 5px 0}.hero-image-frame{width:88%}.rating-card{left:-10%;top:17%;min-width:128px;padding:12px 14px}.hero-seal{width:84px;height:84px;font-size:7px;right:-6%;bottom:4%}.scroll-cue{bottom:20px;left:var(--gutter)}.hero-bottom-note{display:none}.hero-orb-one{left:12%;top:57%}.hero-orb-two{right:10%;top:39%}.section-pad{padding:88px var(--gutter)}.intro-topline{font-size:7px}.intro-grid{display:flex;flex-direction:column;gap:35px;margin-top:45px}.intro-heading h2,.section-heading h2,.journey-heading h2,.faq-heading h2{font-size:clamp(49px,13vw,75px);margin:24px 0}.intro-photo{width:80%;height:350px;margin:30px auto 0 7%}.intro-content{padding:5px 0 0}.intro-lead{font-size:29px}.intro-content>p:not(.intro-lead){font-size:11px}.stats-row{margin-top:40px}.stat strong{font-size:31px}.stat>span{font-size:8px}.section-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:38px}.section-heading>p{margin:0;max-width:350px}.treatments-grid{grid-template-columns:1fr 1fr;gap:31px 13px}.treatment-featured{grid-column:span 2;grid-row:auto}.treatment-image,.treatment-featured .treatment-image{height:auto;aspect-ratio:1/1.12}.treatment-featured .treatment-image{aspect-ratio:1/1}.treatment-meta{padding-top:13px}.treatment-meta h3{font-size:18px}.treatment-category{font-size:7px;letter-spacing:.12em}.treatment-plus{font-size:14px}.treatment-card>p{font-size:9px}.treatment-footnote{text-align:left;line-height:1.7}.journey-section{display:block}.journey-heading{position:static}.journey-heading>p:not(.eyebrow){max-width:350px}.journey-list{margin-top:36px}.journey-line{left:22px}.journey-step{min-height:136px;grid-template-columns:45px 1fr 20px;gap:12px}.step-number{margin-left:4px;width:35px;height:35px}.journey-step h3{font-size:19px}.journey-step p{font-size:9px}.gallery-section{min-height:auto;padding:82px var(--gutter) 95px;display:flex;flex-direction:column;align-items:stretch;gap:29px}.gallery-copy h2{font-size:57px;margin:24px 0 12px}.gallery-controls{margin-top:23px}.gallery-track{height:70vw;min-height:280px;max-height:420px}.gallery-progress{bottom:53px}.gallery-note{bottom:20px;font-size:7px}.google-stamp{width:84px;height:84px}.google-stamp strong{font-size:22px}.testimonial-slider{height:310px;margin-top:20px}.testimonial blockquote{font-size:clamp(27px,7.5vw,39px);margin:20px auto}.quote-mark{font-size:64px}.reviewer{font-size:7px;line-height:1.7}.review-disclaimer{line-height:1.6}.faq-section{display:block}.faq-heading>p:not(.eyebrow){max-width:320px}.faq-list{margin-top:42px}.faq-list summary{font-size:16px;min-height:70px}.faq-list details p{font-size:10px}.contact-section{display:block}.contact-heading h2{font-size:clamp(49px,12vw,70px)}.contact-heading>p:not(.eyebrow){max-width:350px}.contact-form{margin-top:55px;padding:27px 21px}.visit-section{display:flex;flex-direction:column;align-items:stretch;gap:40px}.visit-info h2{font-size:55px}.map-wrap{height:370px}.footer-main{grid-template-columns:1fr 1fr;gap:23px}.footer-main>p{justify-self:end;text-align:right;font-size:16px}.footer-booking{justify-self:start;grid-column:1/-1}.footer-bottom{gap:12px;flex-wrap:wrap;font-size:6px}.footer-bottom span:first-child{width:100%}.whatsapp-float{width:52px;height:52px;right:17px;bottom:17px}.cursor{display:none}}
@media(max-width:380px){:root{--gutter:19px}.hero h1{font-size:58px}.hero-actions{gap:14px}.hero-actions .button{font-size:10px}.text-link{font-size:9px}.treatment-meta h3{font-size:16px}.treatment-card>p{font-size:8px}.map-wrap{height:320px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal-up{opacity:1;transform:none}.image-reveal{clip-path:none}.preloader{display:none}.cursor{display:none}}
