@font-face{font-family:Playfair;src:url('assets/PlayfairDisplay-VariableFont_wght.ttf')}@font-face{font-family:Montserrat;src:url('assets/Montserrat-VariableFont_wght.ttf')}@font-face{font-family:Allura;src:url('assets/Allura-Regular.ttf')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#F8F1EA;color:#4A2C24;font:16px/1.65 Montserrat,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #4A2C24;outline-offset:5px}button{cursor:pointer}::selection{background:#F6D7D1}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Playfair,serif;font-weight:400;line-height:1.1}h1{font-size:clamp(3.3rem,6.5vw,6.8rem);letter-spacing:-.055em}h2{font-size:clamp(2.5rem,4.7vw,4.8rem);letter-spacing:-.045em}h3{font-size:1.8rem}p{max-width:650px}em{font-weight:400}small,.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500}.eyebrow{display:block;margin-bottom:22px}.skip{position:fixed;left:20px;top:-80px;z-index:100;background:#F8F1EA;padding:12px}.skip:focus{top:15px}.announcement{height:34px;background:#4A2C24;color:#F8F1EA;text-align:center;font-size:12px;letter-spacing:.09em;display:flex;align-items:center;justify-content:center;gap:16px}.announcement span:last-child{border-bottom:0}.nav{height:98px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:26px;background:#F8F1EA;position:relative;z-index:20;border-bottom:0}.brand img{width:195px;height:85px;object-fit:contain}.navlinks{display:flex;align-items:center;gap:32px;font-size:14px}.navtools{display:flex;align-items:center;gap:24px}.languages{display:flex;gap:9px;align-items:center;font-size:12px}.languages button{border:0;background:none;color:#4A2C24;padding:4px 0;opacity:.55}.languages button[aria-pressed=true]{opacity:1;border-bottom:1px solid}.btn{display:inline-flex;justify-content:center;align-items:center;gap:28px;border:1px solid #4A2C24;border-radius:50px;padding:16px 25px;background:#4A2C24;color:#F8F1EA;font-size:13px;font-weight:500;transition:background .2s,transform .2s}.btn:hover{background:#6b4439;transform:translateY(-2px)}.btn.light{background:#F8F1EA;color:#4A2C24;border-color:#F8F1EA}.btn.outline{background:transparent;color:#4A2C24}.nav .btn{padding:12px 23px}.menu-toggle{display:none;border:1px solid #4a2c2440;border-radius:50%;width:42px;height:42px;background:none;color:#4A2C24}.hero-scroll{height:210vh;position:relative;margin-top:0}.hero-stage{height:100vh;position:sticky;top:0;overflow:hidden;background:#F8F1EA;isolation:isolate}.hero-photo{position:absolute;inset:0;clip-path:inset(7% 30% 10% 30% round 180px 180px 36px 36px);transform:rotate(-9deg);will-change:transform,clip-path;z-index:0}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 43%}.hero-copy{position:absolute;left:6%;top:15%;width:48%;z-index:2;will-change:transform,opacity;pointer-events:none}.hero-copy .eyebrow{font-size:11px}.hero-copy h1{max-width:740px}.hero-copy h1 em{display:block;color:#4A2C24}.hero-copy p{font-size:14px;width:310px;line-height:1.8;margin-top:24px}.hero-copy a{pointer-events:auto}.hero-aside{position:absolute;right:6%;top:24%;width:165px;font-size:12px;line-height:1.8;z-index:2}.hero-aside img{width:63px;height:63px;object-fit:contain;margin-bottom:22px}.hero-aside p{margin-bottom:28px}.fine-link{border-bottom:0;padding-bottom:5px;font-size:12px}.hero-bottom{position:absolute;bottom:5%;left:6%;right:6%;display:flex;align-items:center;justify-content:space-between;z-index:2}.script{font:36px/1.1 Allura,cursive}.scroll-hint{font-size:11px;text-transform:uppercase;letter-spacing:.15em;display:flex;align-items:center;gap:15px}.scroll-hint span{border:1px solid #4a2c2450;border-radius:50%;width:36px;height:36px;display:grid;place-items:center}.hero-caption{position:absolute;left:6%;bottom:9%;color:#F8F1EA;opacity:0;font:italic clamp(3rem,6vw,6rem)/1.1 Playfair;max-width:650px;text-shadow:0 2px 25px #4a2c2480}.main-content{position:relative;z-index:3;background:#F8F1EA;border-radius:42px 42px 0 0;margin-top:-42px;overflow:hidden}.values{display:flex;justify-content:center;gap:50px;flex-wrap:wrap;padding:29px 5%;border-bottom:0;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.section{padding:105px 7%}.intro{text-align:center;max-width:1040px;margin:auto;padding-bottom:90px}.intro p{margin:25px auto 0;font-size:15px}.intro h2 em{color:#4A2C24}.intro .script{margin-top:30px;color:#4A2C24}.benefits{display:grid;grid-template-columns:1fr 1fr 1fr;gap:42px;padding-top:0}.benefit{padding-top:0}.benefit .num{font-family:Playfair;font-style:italic;color:#4A2C24;font-size:22px;display:block;margin-bottom:32px}.benefit h3{font-size:29px}.benefit p{font-size:14px;line-height:1.8}.offer{margin:0 4%;display:grid;grid-template-columns:1.2fr 1fr;background:#F6D7D1;border-radius:30px;overflow:hidden}.offer-image{display:block;min-height:490px;position:relative}.offer-image img{width:100%;height:100%;object-fit:cover;object-position:65% center;position:absolute}.offer-copy{padding:65px 55px;align-self:center}.offer-copy h2{font-size:clamp(2.4rem,3.5vw,3.8rem)}.offer-copy p{font-size:14px}.price-note{font-family:Playfair;font-size:28px;display:block;margin-bottom:26px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-head h2{max-width:630px;margin-bottom:0}.section-head p{font-size:14px;max-width:310px;margin-bottom:0}.tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:35px}.tab{background:transparent;border:1px solid #4a2c2435;border-radius:40px;padding:12px 24px;color:#4A2C24;font-size:13px}.tab[aria-expanded=true]{background:#4A2C24;color:#F8F1EA}.service-list{display:grid;grid-template-columns:1fr 1fr;column-gap:55px}.service-row{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid #4a2c2425;font-size:14px}.service-row span:last-child{font:24px Playfair;white-space:nowrap}.service-note{font-size:12px;margin:17px 0 28px}.results{background:#F6D7D1;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.results h2{font-size:clamp(2.8rem,4.5vw,4.6rem)}.results p{font-size:14px}.compare{position:relative;height:560px;border-radius:26px;overflow:hidden;--split:50%;isolation:isolate}.compare img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 43%}.compare .after{clip-path:inset(0 0 0 var(--split))}.compare .divider{position:absolute;left:var(--split);height:100%;width:2px;background:#F8F1EA;pointer-events:none}.compare .divider::after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#F8F1EA;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font-size:23px}.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:4;margin:0}.compare:focus-within{outline:3px solid #4A2C24;outline-offset:5px}.compare-label{position:absolute;bottom:24px;background:#F8F1EA;padding:7px 18px;border-radius:30px;font-size:11px;z-index:2}.compare-label.before-label{left:22px}.compare-label.after-label{right:22px}.comparison-note{font-size:11px!important;margin-top:16px}.social{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #4a2c2430;padding-top:55px;padding-bottom:55px;gap:25px}.social h3{margin-bottom:10px}.social p{font-size:14px;margin:0}.final{text-align:center;padding:95px 20%;background:#F6D7D1}.final img{width:85px;height:85px;object-fit:contain;margin-bottom:28px}.final h2{font-size:clamp(2.7rem,4.3vw,4.5rem)}.final p{font-size:14px;margin:20px auto 30px}.footer{padding:55px 7% 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:35px}.footer-logo{width:205px}.footer-nav{display:flex;gap:26px;font-size:12px;flex-wrap:wrap}.footer-bottom{border-top:0;padding-top:20px;margin-top:35px;display:flex;justify-content:space-between;gap:20px;font-size:11px}.footer-bottom button{border:0;background:none;color:inherit;font-size:11px;padding:0}.opening-hero{padding:60px 7% 75px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.opening-hero h1{font-size:clamp(3rem,5.3vw,5.8rem)}.opening-hero p{font-size:14px}.opening-hero img{width:100%;border-radius:30px}.back{font-size:12px;display:inline-block;margin-bottom:30px}.promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.promo-card{padding:35px;border:1px solid #4a2c2425;border-radius:24px;display:flex;flex-direction:column;align-items:start}.promo-card:first-child{background:#F6D7D1}.promo-card h3{max-width:400px}.promo-card p{font-size:14px;flex:1}.promo-price{font:48px Playfair;margin-bottom:25px}.terms{margin-top:30px;padding:25px;background:#F6D7D1;border-radius:20px;font-size:13px}.terms p{max-width:none;margin:0}.legal{max-width:850px;margin:auto;min-height:60vh}.legal h1{font-size:4rem}.legal p{font-size:15px}.mobile-nav{display:none}[hidden]{display:none!important}@media(min-width:1500px){.hero-photo{clip-path:inset(8% 33% 10% 33% round 220px 220px 36px 36px)}}@media(max-width:1000px){.navlinks{gap:17px}.nav{padding:0 4%}.navtools{gap:17px}.brand img{width:160px}.hero-copy{width:55%;top:17%}.hero-copy h1{font-size:5.8vw}.hero-aside{right:4%;width:130px}.section{padding:80px 5%}.offer-copy{padding:40px 30px}.results{gap:40px}.compare{height:470px}.benefits{padding-top:0;gap:26px}.final{padding:80px 12%}}@media(max-width:700px){.announcement{font-size:10px;gap:12px}.nav{height:80px}.brand img{width:145px;height:65px}.navlinks,.navtools>.btn{display:none}.menu-toggle{display:block}.navtools{gap:18px}.mobile-nav{position:absolute;top:80px;left:0;right:0;background:#F8F1EA;padding:25px;box-shadow:0 18px 25px #4a2c2415;display:flex;flex-direction:column;gap:18px;border-radius:0 0 20px 20px}.hero-scroll{height:185svh}.hero-stage{height:100svh;min-height:680px}.hero-copy{top:5%;left:7%;width:88%}.hero-copy .eyebrow{font-size:10px;margin-bottom:16px}.hero-copy h1{font-size:clamp(2.6rem,10vw,4.2rem);max-width:500px;margin-bottom:0}.hero-copy p{font-size:12px;width:57%;line-height:1.65;margin-top:27px}.hero-copy .btn{font-size:11px;padding:13px 18px;gap:15px}.hero-photo{clip-path:inset(31% 13% 13% 22% round 140px 140px 25px 25px);transform:rotate(-6deg)}.hero-photo img{object-position:58% center}.hero-aside{display:none}.hero-bottom{bottom:5%;left:7%;right:7%}.hero-bottom .script{font-size:27px;max-width:180px}.scroll-hint{font-size:9px;gap:7px}.hero-caption{font-size:3.3rem;left:7%;bottom:12%;max-width:80%}.values{gap:13px 23px;padding:24px 6%;font-size:9px}.section{padding:65px 7%}.intro{padding-bottom:55px}.intro h2{font-size:2.7rem}.intro p{font-size:14px}.benefits{grid-template-columns:1fr;padding-top:0;gap:30px}.benefit .num{margin-bottom:14px}.benefit h3{font-size:28px}.offer{grid-template-columns:1fr;margin:0 5%}.offer-image{min-height:300px}.offer-copy{padding:34px 26px}.offer-copy h2{font-size:2.7rem}.section-head{display:block}.section-head p{margin-top:24px}.tabs{gap:8px}.tab{font-size:11px;padding:10px 14px}.service-list{grid-template-columns:1fr}.service-row{font-size:13px}.results{grid-template-columns:1fr;gap:30px}.compare{height:480px}.social{display:block}.social .btn{margin-top:26px}.final{padding:65px 7%}.footer-top,.footer-bottom{align-items:start;flex-direction:column;display:flex}.footer-nav{gap:18px}.opening-hero{grid-template-columns:1fr;gap:30px;padding:35px 7% 55px}.opening-hero h1{font-size:3.3rem}.promo-grid{grid-template-columns:1fr}.promo-card{padding:28px}.legal h1{font-size:3rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.hero-scroll{height:auto}.hero-stage{position:relative}.hero-photo{transform:none!important}.hero-copy,.hero-aside,.hero-bottom{opacity:1!important;transform:none!important}.hero-caption{display:none}}

.hero-photo img{position:absolute;left:30%;top:7%;width:40%;height:83%;object-position:50% 42%}.hero-caption{color:#4A2C24;text-shadow:none}.hero-copy p{font-size:16px}.benefit p,.intro p,.offer-copy p,.results p,.final p,.opening-hero p,.promo-card p{font-size:16px}
@media(max-width:700px){.hero-photo{clip-path:inset(40% 13% 10% 22% round 140px 140px 25px 25px)}.hero-photo img{left:22%;top:40%;width:65%;height:50%}.hero-copy p{font-size:14px;width:90%;max-width:340px;margin-top:22px}.hero-copy h1{font-size:clamp(2.6rem,10vw,4.2rem)}.hero-copy .btn{margin-top:2px}.hero-caption{font-size:2.8rem;max-width:70%}}

.hero-scroll{height:310vh}.main-content{margin-top:-100vh}@media(max-width:700px){.hero-scroll{height:285svh}}@media(prefers-reduced-motion:reduce){.hero-scroll{height:auto}.main-content{margin-top:0}}

/* Editorial scroll choreography: independent title lines and masked reveals. */
.hero-title-line{display:block;transform-origin:left center;will-change:transform,opacity;white-space:nowrap}
.hero-copy h1 em{display:inline}
.hero-copy .eyebrow,.hero-copy p{will-change:transform,opacity}
.hero-copy .btn{will-change:opacity}
.caption-mask{display:block;overflow:hidden;padding-bottom:.16em;margin-bottom:-.16em}
.caption-line{display:block;transform-origin:left bottom;will-change:transform,opacity}
.hero-caption{font-size:clamp(3rem,5.8vw,5.8rem);line-height:1.16}
@media(max-width:700px){.hero-caption{font-size:clamp(2rem,8.4vw,3.3rem);max-width:83%}.hero-copy h1{font-size:clamp(2.3rem,9.8vw,4rem)}}
@media(prefers-reduced-motion:reduce){.hero-title-line,.hero-copy .eyebrow,.hero-copy p,.hero-copy .btn{transform:none!important;opacity:1!important;visibility:visible!important}}

/* Shared geometry keeps the hero pinned until the opaque content covers it. */
:root{--brand-cream:#F8F1EA;--brand-brown:#4A2C24;--hero-viewport:100svh;--hero-expansion:110svh;--reveal-radius:42px}
.hero-scroll{height:calc(var(--hero-viewport) + var(--hero-expansion) + var(--hero-viewport));position:relative;z-index:0}
.hero-stage{height:var(--hero-viewport);min-height:0;position:sticky;top:0;background:var(--brand-cream)}
.main-content{margin-top:calc(-1 * var(--hero-viewport));background:var(--brand-cream);border-radius:var(--reveal-radius) var(--reveal-radius) 0 0;z-index:3;isolation:isolate}
.hero-caption{will-change:transform}
@media(max-width:700px){:root{--hero-expansion:85svh;--reveal-radius:28px}}
@media(max-height:650px) and (max-width:950px){:root{--hero-viewport:760px}.hero-copy{top:5%}.hero-copy h1{font-size:clamp(2.2rem,6vw,3.5rem)}}
@media(prefers-reduced-motion:reduce){.hero-scroll{height:auto}.hero-stage{position:relative}.main-content{margin-top:0}.hero-caption{transform:none!important}}


/* Sparse light motes inspired by the reference, with continuous slow drift. */
.hero-photo{--dust-left:30%;--dust-top:7%;--dust-width:40%;--dust-height:83%}
.hero-atmosphere{position:absolute;left:var(--dust-left);top:var(--dust-top);width:var(--dust-width);height:var(--dust-height);overflow:hidden;pointer-events:none}
.light-mote{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#F8F1EA;opacity:var(--alpha);filter:blur(var(--blur));box-shadow:0 0 5px 1px #f8f1ea30;animation:light-mote-float var(--duration) ease-in-out var(--delay) infinite alternate;will-change:transform}
@keyframes light-mote-float{from{transform:translate3d(0,18px,0)}to{transform:translate3d(var(--drift),-38px,0)}}
@media(max-width:700px){.hero-photo{--dust-left:22%;--dust-top:40%;--dust-width:65%;--dust-height:50%}.light-mote:nth-child(n+15){display:none}}
@media(prefers-reduced-motion:reduce){.light-mote{animation:none;will-change:auto}}

/* Treatment cards: native touch scrolling, scroll snap and keyboard controls. */
.service-slider{min-width:0}
.service-list{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#C9B4A7 transparent;padding:5px 3px 18px;overscroll-behavior-x:contain}
.service-card{flex:0 0 calc((100% - 44px)/3);min-width:0;min-height:300px;scroll-snap-align:start;border:1px solid #4a2c2424;border-radius:26px;background:#f6d7d13b;padding:29px;display:flex;flex-direction:column}
.service-card:nth-child(3n+2){background:#c9b4a726}.service-card:nth-child(3n+3){background:#f6d7d175}
.service-card-top{display:flex;align-items:start;justify-content:space-between;gap:16px;font-size:12px;letter-spacing:.06em;margin-bottom:35px}
.service-card-top span:last-child{font:italic 19px Playfair}
.service-card h3{font-size:clamp(1.65rem,2.1vw,2.1rem);line-height:1.18;margin-bottom:35px;overflow-wrap:break-word}
.service-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:auto;padding-top:20px;border-top:1px solid #4a2c2420}
.service-price{font:36px Playfair}.service-card-bottom a{font-size:13px;padding:8px 0;border-bottom:1px solid #4a2c2450;white-space:nowrap}
.slider-controls{display:flex;justify-content:space-between;align-items:center;padding:12px 3px 4px}.slider-position{font-size:13px;letter-spacing:.08em}
.slider-arrows{display:flex;gap:10px}.slider-arrow{width:48px;height:48px;border:1px solid #4a2c2455;border-radius:50%;background:transparent;color:#4A2C24;font-size:22px}.slider-arrow:hover:not(:disabled){background:#4A2C24;color:#F8F1EA}.slider-arrow:disabled{opacity:.28;cursor:default}
@media(max-width:1000px){.service-card{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:600px){.service-list{gap:15px}.service-card{flex-basis:88%;min-height:280px;padding:25px}.service-card h3{font-size:27px}.service-card-top{margin-bottom:28px}}
.service-list{scroll-padding-inline:3px}

.footer-top .footer-nav{align-items:center}.instagram-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--brand-brown)}.instagram-icon:hover{background:#F6D7D1}.instagram-icon svg{display:block}

.btn:disabled{cursor:default;opacity:.6}.btn:disabled:hover{transform:none}.service-book-pending{font-size:13px;color:inherit;background:none;border:0;padding:8px 0;opacity:.55;cursor:default}

#services .section-head{align-items:center}.treatment-media{width:min(42%,440px);flex-shrink:0}.treatment-video{display:block;width:100%;max-height:400px;object-fit:contain;border-radius:26px;background:#4A2C24}.treatment-media p{max-width:none;margin:20px 0 0;font-size:14px}@media(max-width:700px){.treatment-media{width:100%;margin-top:30px}.treatment-video{max-height:440px;border-radius:22px}}
.treatment-media{width:min(35%,280px)}.treatment-video{width:100%;height:auto;max-height:none;aspect-ratio:464/832}@media(max-width:700px){.treatment-media{width:min(100%,280px);margin:30px auto 0}.treatment-video{max-height:none}}

.result-gallery{min-width:0}.result-selector{display:flex;gap:10px;margin-bottom:18px}.result-selector button{border:1px solid #4a2c2440;border-radius:40px;padding:11px 22px;color:#4A2C24;background:transparent;font-size:13px}.result-selector button[aria-pressed=true]{color:#F8F1EA;background:#4A2C24}
/* Clip the frame independently of the photo's alignment. */
.compare .after-frame{position:absolute;inset:0;clip-path:inset(0 0 0 var(--split))}
.compare .after-frame .after{clip-path:none}
.compare.second-client{height:auto;aspect-ratio:3/4;max-width:540px;margin-inline:auto}
.compare.second-client img{object-fit:cover;object-position:center}
.compare.second-client .after{transform:translateY(-4.5%) scale(1.1);transform-origin:50% 55%}

.testimonials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.testimonial{margin:0;padding:32px;border:1px solid #4a2c2425;border-radius:28px;background:#fffaf5}.testimonial figcaption{display:flex;align-items:center;gap:18px;font-weight:500;font-size:16px}.testimonial img{width:88px;height:88px;border-radius:50%;object-fit:cover;object-position:center 30%;flex-shrink:0}.testimonial blockquote{margin:26px 0 0}.testimonial blockquote p{font-size:14px;line-height:1.85;margin:0}@media(max-width:1000px){.testimonials{grid-template-columns:1fr}.testimonial{padding:28px}.testimonial blockquote p{max-width:none}}


/* One native sticky stage; the opaque next section travels over it in normal flow. */
:root{--hero-nav-height:98px;--hero-viewport:calc(100svh - var(--hero-nav-height))}
.home-page .nav{position:sticky;top:0;z-index:50}
.hero-scroll{position:relative;height:calc(var(--hero-viewport)*2);z-index:0}
.hero-stage{position:sticky;top:var(--hero-nav-height);height:var(--hero-viewport);min-height:0;overflow:hidden;isolation:isolate}
.hero-photo{position:absolute;inset:0;transform:none!important;overflow:hidden}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% 38%;transform-origin:75% 40%;will-change:transform}
.hero-copy{position:absolute;top:18%;left:6vw;width:min(42vw,520px);max-width:520px;display:flex;flex-direction:column;align-items:flex-start;gap:24px;z-index:2;pointer-events:auto;background:none;padding:0;will-change:transform,opacity}
.hero-copy h1{font-size:clamp(2.6rem,4.8vw,4.7rem);line-height:1.08;letter-spacing:-.045em;margin:0;max-width:100%;overflow:visible}
.hero-copy p{font-size:16px;line-height:1.7;margin:0;width:100%;max-width:480px}
.hero-copy .btn{margin:0;flex-shrink:0;pointer-events:auto}
.hero-bottom{position:absolute;bottom:5%;left:0;right:0;width:100%;display:flex;justify-content:center;margin:0;z-index:2}
.scroll-hint{font-size:12px;gap:14px;letter-spacing:.12em}.scroll-hint span{width:32px;height:32px}
.main-content{position:relative;margin-top:calc(-1 * var(--hero-viewport));background:var(--brand-cream);border-radius:28px 28px 0 0;z-index:3;isolation:isolate}
@media(max-width:700px),(max-width:1000px) and (orientation:portrait){
.hero-photo{background-image:url('assets/hero-editorial.png');background-size:auto 200%;background-position:left bottom}
.hero-photo img{height:56%;object-position:82% 36%;transform-origin:80% 35%}
.hero-photo:after{content:'';position:absolute;top:47%;left:0;width:100%;height:10%;background:linear-gradient(transparent,#F8F1EA00);pointer-events:none}
.hero-copy{top:auto;bottom:14%;left:7vw;width:86vw;max-width:520px;gap:16px}
.hero-copy h1{font-size:clamp(1.8rem,7.4vw,2.8rem);line-height:1.1;max-width:440px}
.hero-copy p{font-size:14px;line-height:1.55;max-width:480px}
.hero-copy .btn{padding:12px 22px;font-size:13px}
.hero-bottom{bottom:4%}.scroll-hint{font-size:10px;letter-spacing:.1em}
}
@media(max-width:700px) and (max-height:720px){.hero-photo img{height:48%}.hero-copy{bottom:13%;gap:12px}.hero-copy h1{font-size:1.8rem}.hero-copy p{font-size:13px;line-height:1.45}.hero-copy .btn{padding:10px 20px}.hero-bottom{bottom:3%}}
@media(min-width:701px) and (max-height:650px){.hero-copy{top:9%;gap:16px}.hero-copy h1{font-size:2.5rem}.hero-copy p{font-size:14px;line-height:1.5}.hero-copy .btn{padding:12px 22px}.hero-bottom{bottom:3%}}
@media(prefers-reduced-motion:reduce){.hero-scroll{height:calc(var(--hero-viewport)*2)}.hero-stage{position:sticky}.main-content{margin-top:calc(-1 * var(--hero-viewport))}.hero-copy,.hero-copy p,.hero-copy .btn{transform:initial!important;opacity:inherit!important}html{scroll-behavior:auto}}

@media(max-width:700px),(max-width:1000px) and (orientation:portrait){.hero-photo img{mask-image:linear-gradient(#000 85%,transparent 100%)}}


/* WebGL lives only inside the sticky hero; the real next section covers it. */
.hero-scroll{height:280svh}
.hero-line-mask{display:block;overflow:visible;padding:0;margin:0}
.hero-reveal-line{display:block;transform:none;opacity:1}
.hero-photo{clip-path:none}
.hero-photo.webgl-ready{clip-path:none!important;background:none}
.hero-photo.webgl-ready img{opacity:0}
.hero-photo:after{display:none}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0}
.webgl-ready .hero-canvas{opacity:1}
.hero-copy{gap:24px;transform:none;opacity:1}
.hero-copy:focus-within{opacity:1!important;filter:none!important}
@media(max-width:700px),(max-width:1000px) and (orientation:portrait){.hero-scroll{height:235svh}.hero-copy h1{font-size:clamp(1.75rem,7.2vw,2.7rem)}}
@media(prefers-reduced-motion:reduce){.hero-scroll{height:calc(var(--hero-viewport)*2)}.hero-photo{clip-path:none!important}.hero-photo img{transform:none!important}.hero-copy{transform:none!important;filter:none!important;opacity:1}.hero-copy p,.hero-copy .btn{opacity:1!important;transform:none!important}}

/* Balanced treatment introduction and quiet, readable service cards. */
#services .section-head{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:clamp(32px,4vw,60px);max-width:820px;margin:0 auto 48px;align-items:center}
#services .treatment-media{width:100%;margin:0}
#services .section-head h2{font-size:clamp(2.6rem,4.5vw,4.7rem)}
#services .tabs{justify-content:center}
.service-card{min-height:260px;justify-content:space-between}
.service-card-bottom{border:0;padding-top:14px}
.service-card-bottom a{border:0}
.slider-position{display:none}
.slider-controls{justify-content:center}
.slider-arrows{align-items:center;flex-wrap:wrap;justify-content:center}
.slider-motion{border:0;background:transparent;color:#4A2C24;font-size:12px;padding:12px 16px}
.service-list.auto-services{scroll-snap-type:none;scroll-behavior:auto}
@media(max-width:700px){#services .section-head{grid-template-columns:1fr;gap:30px;max-width:440px}#services .section-head h2{font-size:2.7rem}#services .treatment-media{max-width:280px;justify-self:center}#services .tabs{gap:10px}.service-card{min-height:245px}}

/* Compact static testimonials: one card per client. */
.testimonials{display:block;padding-top:64px;padding-bottom:64px}
.review-columns{max-width:1040px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;grid-auto-rows:1fr}
.testimonial{padding:20px;border-radius:20px}
.testimonial figcaption{gap:12px;font-size:13px}
.testimonial img{width:48px;height:48px}
.testimonial blockquote{margin:16px 0 0}
.testimonial blockquote p{font-size:12px;line-height:1.6;white-space:pre-line}
@media(max-width:700px){.review-columns{grid-template-columns:1fr;max-width:350px}.testimonials{padding-top:45px;padding-bottom:45px}}

/* Preserve the existing booking button appearance while enabling links. */
.btn[data-booking]{opacity:.6}
.service-book-pending[data-booking]{cursor:pointer}

.language-picker{position:relative;color:#4A2C24;font-size:13px}
.language-picker summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;padding:10px 12px;border:1px solid #C9B4A7;border-radius:14px}
.language-picker summary::-webkit-details-marker{display:none}
.language-options{position:absolute;right:0;top:calc(100% + 8px);min-width:130px;background:#F8F1EA;border:1px solid #C9B4A7;border-radius:12px;padding:6px;z-index:30}
.language-options button{display:block;width:100%;text-align:left;padding:9px 12px;border:0;border-radius:8px;background:none;color:#4A2C24;font-size:13px}
.language-options button[aria-pressed=true],.language-options button:hover{background:#F6D7D1}
.testimonials-title{text-align:center;margin:0 0 35px;font-size:clamp(2rem,3.5vw,3rem)}
.footer-top .footer-nav{gap:22px}
.footer-top .tiktok-icon{margin-left:-12px}

.nav-action{border-radius:8px;transition:background .2s,box-shadow .2s}
.nav-action:hover,.nav-action:focus-visible,.nav-action:active{background:#F6D7D1;box-shadow:0 0 0 8px #F6D7D1}
#services{scroll-margin-top:115px}
