@font-face{font-family:Onest;src:url('assets/onest-medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Onest;src:url('assets/onest-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--wine:#720113;--ink:#171516;--page:#f8f7f5;font-family:Onest,Arial,sans-serif;font-synthesis:none;color:var(--ink);background:var(--page)}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--wine);outline-offset:5px}button[aria-disabled=true]{cursor:default}
/* Glass recipe reused from SOVA: white translucent layer, blur and saturation. */
.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.28);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,255,255,.35);box-shadow:0 2px 12px rgba(43,16,22,.025)}
.header-inner{height:76px;max-width:1440px;padding:0 60px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:32px;font-size:14px;font-weight:400;line-height:1.4}
.brand{flex:0 0 213px;display:block}.brand img{display:block;width:213px;height:50px;object-fit:contain}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:38px;margin-left:auto;margin-right:auto;white-space:nowrap}.desktop-nav a,.desktop-nav button{min-height:44px;display:flex;align-items:center;font-size:14px;font-weight:400}.desktop-nav a:hover{color:var(--wine)}
.header-actions{display:flex;align-items:center;gap:30px;flex-shrink:0}.language{display:flex;align-items:center;gap:5px;white-space:nowrap}.language button{min-height:44px;font-size:14px}.language [aria-pressed=true]{color:var(--wine);font-weight:500}.language [aria-pressed=false]{color:var(--ink)}.language button:hover{color:var(--wine)}
.cart{width:34px;min-height:44px;display:grid;place-items:center;color:var(--wine)}.book{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:20px;text-decoration:none;box-sizing:border-box;height:42px;min-width:128px;padding:0 24px;background:var(--wine);border-radius:6px;color:#fff;white-space:nowrap;font-size:14px;font-weight:400}.header-actions>.book{width:128px;padding:0 16px}.cart img{display:block}.menu-toggle{display:none;width:40px;height:44px;position:relative;color:var(--wine)}.menu-toggle span{display:block;position:absolute;width:22px;height:1px;left:9px;top:17px;background:currentColor;transition:transform .2s,top .2s}.menu-toggle span+span{top:25px}.menu-toggle[aria-expanded=true] span{top:21px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span+span{transform:rotate(-45deg)}.mobile-nav[hidden]{display:none}.mobile-nav{padding:12px 24px 24px;display:flex;flex-direction:column;align-items:stretch;border-top:1px solid rgba(114,1,19,.08);font-size:14px;background:rgba(255,255,255,.85)}.mobile-nav a,.mobile-nav>button:not(.book){min-height:48px;text-align:left;display:flex;align-items:center}.mobile-book{margin-top:12px}main{min-height:calc(100svh - 78px)}
@media(min-width:1101px){.mobile-nav{display:none}}
@media(max-width:1250px){.header-inner{padding:0 32px;gap:24px}.desktop-nav{gap:24px}.header-actions{gap:20px}}
@media(max-width:1100px){.desktop-nav{display:none}.menu-toggle{display:block}.header-inner{padding:0 24px}.header-actions{gap:18px}}
@media(max-width:600px){.header-inner{padding:0 16px;gap:12px}.brand{flex-basis:auto}.brand img{width:170px;height:auto}.header-actions{gap:8px}.header-actions>.book,.cart{display:none}.language{gap:4px}}
@media(max-width:360px){.brand img{width:145px}.header-inner{padding:0 12px;gap:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Underline grows evenly from the word's centre; width preserves rounded ends. */
.desktop-nav > a,.desktop-nav > button,.mobile-nav > a,.mobile-nav > button:not(.book){position:relative;width:fit-content}
.desktop-nav > a::after,.desktop-nav > button::after,.mobile-nav > a::after,.mobile-nav > button:not(.book)::after{content:"";position:absolute;left:50%;bottom:7px;transform:translateX(-50%);width:0;height:1.3px;border-radius:999px;background:#720113;pointer-events:none;transition:width 280ms cubic-bezier(.22,.61,.36,1)}
@media(hover:hover){.desktop-nav > a:hover::after,.desktop-nav > button:hover::after,.mobile-nav > a:hover::after,.mobile-nav > button:not(.book):hover::after{width:100%}}
.desktop-nav > a:focus-visible::after,.desktop-nav > button:focus-visible::after,.mobile-nav > a:focus-visible::after,.mobile-nav > button:not(.book):focus-visible::after{width:100%}
@media(prefers-reduced-motion:reduce){*::before,*::after{transition:none!important}}

/* A subtle dark gradient fades in beneath the booking label. */
.book{position:relative;isolation:isolate}
.book::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(110deg,rgba(0,0,0,.04),rgba(0,0,0,.22));opacity:0;pointer-events:none;transition:opacity 240ms ease}
@media(hover:hover){.book:hover::before{opacity:1}}
.book:focus-visible::before{opacity:1}

.cart{position:relative}
.cart-count{position:absolute;right:0;bottom:5px;display:grid;place-items:center;min-width:16px;height:16px;padding:0 3px;border:1px solid #fff;border-radius:999px;background:#720113;color:#fff;font-size:10px;line-height:1;font-weight:500;pointer-events:none}
.cart-count[hidden]{display:none}

@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:'Cormorant Garamond';src:url('assets/cormorant-semibold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:block}
.hero{position:relative;min-height:572px;background:#f7f3ed;overflow:hidden;color:#080808;font-family:Manrope,Arial,sans-serif}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-inner{position:relative;max-width:1440px;min-height:572px;margin:0 auto;padding:152px 120px 56px}
.hero-copy{max-width:610px}
.hero-eyebrow,.hero-location{margin:0;font-size:14px;font-weight:400;line-height:20px;letter-spacing:1px;color:#720113}
.hero h1{margin:16px 0 26px;font-family:'Cormorant Garamond',Georgia,serif;font-size:58px;font-weight:600;line-height:1.05;letter-spacing:0}
.hero-description{max-width:440px;margin:0;font-size:16px;line-height:26px;font-weight:400;color:#625852}
.hero-actions{display:flex;gap:32px;margin-top:26px}
.hero-actions button{height:42px;min-width:190px;padding:0 22px;border-radius:6px;font-family:Manrope,Arial,sans-serif;font-size:14px;font-weight:400;white-space:nowrap}
.hero-secondary{border:1px solid rgba(114,1,19,.22);background:rgba(255,255,255,.25);color:#720113;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:background-color 350ms ease,border-color 350ms ease}
@media(hover:hover){.hero-secondary:hover{background:rgba(255,255,255,.9);border-color:rgba(255,255,255,.9)}}
.hero-location{margin-top:18px}.location-address{color:#625852}
@media(min-width:1600px){.hero-image{object-position:center 42%}}
@media(max-width:1200px){.hero-inner{padding-left:60px;padding-right:60px}.hero h1{font-size:52px}.hero-copy{max-width:560px}}
@media(max-width:900px){.hero-inner{padding:110px 32px 56px}.hero-copy{max-width:490px}.hero h1{font-size:46px}.hero-image{object-position:58% center}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,243,237,.9),rgba(247,243,237,0) 85%)}.hero-inner{z-index:1}}
@media(max-width:600px){.hero{display:flex;flex-direction:column}.hero-image{position:relative;height:260px;object-fit:cover;object-position:76% center;width:170%;max-width:none;align-self:flex-end}.hero::after{display:none}.hero-inner{min-height:0;padding:32px 24px 40px;width:100%}.hero h1{font-size:40px;line-height:1.08}.hero h1 br{display:none}.hero-copy{max-width:none}.hero-eyebrow,.hero-location{font-size:14px;letter-spacing:.5px}.hero-actions{flex-wrap:wrap;gap:16px 32px}.hero-actions button{flex:1;min-width:190px}.hero-description{max-width:none}}

@font-face{font-family:'Cormorant Garamond';src:url('assets/cormorant-semibold-italic.ttf') format('truetype');font-weight:600;font-style:italic;font-display:block}
.approach{background:#fff;padding:100px 0;font-family:Manrope,Arial,sans-serif;color:#080808}
.approach-inner{max-width:1440px;margin:0 auto;padding:0 120px;display:grid;grid-template-columns:minmax(0,570fr) minmax(0,288fr) minmax(0,260fr);column-gap:0;align-items:center}
.approach-portrait{display:block;width:100%;height:auto;border-radius:6px}
.approach-copy{margin-left:58px;width:288px;max-width:calc(100% - 28px)}
.approach-inner{grid-template-columns:minmax(0,570fr) minmax(0,376fr) minmax(0,254fr)}
.approach-eyebrow{margin:0 0 16px;font-size:14px;line-height:20px;font-weight:400;letter-spacing:1.2px;color:#720113}
.approach h2{margin:0 0 22px;font-family:'Cormorant Garamond',Georgia,serif;font-size:48px;line-height:1;font-weight:600}
.approach h2 span,.approach h2 em{display:block}.approach h2 em{font-weight:600;color:#720113}
.approach-description{margin:0;font-size:16px;line-height:22px;font-weight:400}
.approach-link{display:inline-flex;align-items:center;gap:6px;margin-top:22px;font-size:14px;line-height:20px;color:#720113;text-align:left;min-height:24px}
.approach-arrow{display:inline-block;position:relative;top:1px;transition:transform 450ms ease-in-out}
@media(hover:hover){.approach-link:hover .approach-arrow{transform:translateX(4px)}}
.approach-link:focus-visible .approach-arrow{transform:translateX(4px)}
.approach-collage{position:relative;width:100%;aspect-ratio:260/270;transform:translateY(40px)}
.approach-collage img{display:block;position:absolute;height:auto;border-radius:6px}
.approach-serum{width:46.54%;right:0;top:0}.approach-skin{width:59.23%;left:0;bottom:0}
@media(max-width:1200px){.approach-inner{padding:0 60px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.6fr);gap:28px}.approach-copy{margin-left:0;width:auto;max-width:none}.approach h2{font-size:44px}}
@media(max-width:900px){.approach-inner{padding:0 32px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.approach-collage{grid-column:2;width:220px;max-width:100%;transform:none;justify-self:end}.approach-portrait{align-self:start}.approach h2{font-size:48px}}
@media(max-width:600px){.approach-inner{padding:0 24px;grid-template-columns:minmax(0,1fr);gap:32px}.approach-copy{max-width:360px}.approach-collage{grid-column:1;width:260px}.approach{padding-bottom:64px}}

/* Tablet: retain the portrait and copy side by side, with the collage below the copy. */
@media(min-width:601px) and (max-width:1100px){
.hero-inner{min-height:560px;padding:96px 40px 56px}.hero-copy{max-width:480px}.hero h1{font-size:48px;line-height:1.08}.hero-image{object-position:65% center}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,243,237,.96) 0%,rgba(247,243,237,.88) 40%,rgba(247,243,237,.12) 78%)}.hero-inner{z-index:1}.hero-actions{flex-wrap:wrap;gap:16px}.hero-actions button{min-height:48px;height:auto;padding:12px 20px;white-space:normal}
.approach-inner{padding:0 40px;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:28px 36px;align-items:start}.approach-portrait{grid-column:1;grid-row:1 / 3;position:sticky;top:106px}.approach-copy{grid-column:2;grid-row:1;margin:0;max-width:none;width:auto}.approach h2{font-size:44px;line-height:1.05}.approach-description{line-height:25px}.approach-collage{grid-column:2;grid-row:2;width:220px;max-width:100%;justify-self:end;transform:none}.approach-link{min-height:44px;margin-top:16px}
}
@media(max-width:600px){
.header-inner{height:68px}.brand img{width:clamp(132px,40vw,170px)}.language button{min-width:28px}.header-actions{gap:4px}.menu-toggle{width:44px;flex-shrink:0}
.hero{min-height:0}.hero-image{width:100%;height:clamp(230px,65vw,350px);object-position:80% center;align-self:auto}.hero-inner{padding:32px 24px 40px}.hero h1{font-size:clamp(36px,9.8vw,48px);line-height:1.08;margin:16px 0 22px}.hero h1 br{display:none}.hero-eyebrow{line-height:23px;letter-spacing:.5px}.hero-description{line-height:25px}.hero-actions{display:grid;grid-template-columns:1fr;gap:12px;margin-top:24px}.hero-actions button{width:100%;min-width:0;min-height:48px;height:auto;padding:12px 16px;white-space:normal;line-height:22px}.hero-location{line-height:23px;margin-top:18px}.location-address{white-space:nowrap}
.approach-inner{padding:0 24px;gap:32px}.approach-copy{max-width:none}.approach h2{font-size:clamp(38px,10.7vw,48px);line-height:1.05}.approach-description{line-height:25px}.approach-link{min-height:44px;margin-top:16px}.approach-collage{width:min(280px,85%);justify-self:end;transform:none}.approach{padding:48px 0 64px}
}
@media(max-width:360px){.header-inner{padding:0 12px;gap:4px}.hero-inner,.approach-inner{padding-left:20px;padding-right:20px}}

/* Mobile preview: aligned photo pair. */
@media(max-width:600px){
.approach-inner{row-gap:24px}.approach-portrait{margin-bottom:8px}
.approach-collage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;width:100%;max-width:none;aspect-ratio:auto;justify-self:stretch;transform:none}
.approach-collage img{position:static;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:6px}
.approach-skin{grid-column:1;grid-row:1}.approach-serum{grid-column:2;grid-row:1}
}

/* Equal outer columns keep desktop navigation centred on the page. */
@media(min-width:1101px){
.header-inner{position:relative;display:flex;justify-content:space-between;gap:24px}
.desktop-nav{position:absolute;left:50%;transform:translateX(-50%);margin:0}
.header-actions{margin-left:auto}
}

@font-face{font-family:'Cormorant Garamond';src:url('assets/cormorant-medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:block}
.treatments{background:#fff;padding:0 0 100px;color:#080808}
.treatments-inner{max-width:1440px;margin:0 auto;padding:0 120px;display:grid;grid-template-columns:minmax(0,561fr) minmax(0,573fr);gap:66px;align-items:center}
.treatments-eyebrow{font:400 14px/20px Manrope,Arial,sans-serif;letter-spacing:1.2px;color:#720113;margin:0 0 16px}
.treatments h2{font:600 48px/1 'Cormorant Garamond',Georgia,serif;margin:0 0 28px}.treatments h2 em{color:#720113;font-weight:600}
.treatment-list{display:grid}.treatment-row{width:100%;min-height:108px;position:relative;display:grid;grid-template-columns:108px minmax(0,1fr) 20px;align-items:center;gap:28px;padding:14px 48px 14px 0;text-align:left;border-radius:6px;transition:background-color 450ms ease-in-out}
.treatment-row+.treatment-row{border-top:1px solid rgba(177,177,177,.2)}.treatment-row[aria-pressed=true]{background:#F7F6F2}.treatment-marker{position:absolute;left:0;top:0;width:6px;height:100%;opacity:0;transition:opacity 450ms ease}.treatment-row[aria-pressed=true] .treatment-marker{opacity:1}
.treatment-number{font:500 48px/1 'Cormorant Garamond',Georgia,serif;color:#720113;text-align:center;border-right:1px solid rgba(177,177,177,.2);align-self:stretch;display:grid;place-items:center}
.treatment-details{display:grid;gap:6px}.treatment-name{font:600 38px/1.05 'Cormorant Garamond',Georgia,serif}.treatment-row:first-child .treatment-name{font-size:48px;font-weight:500}.treatment-description{font:400 16px/22px Manrope,Arial,sans-serif}.treatment-arrow{transition:transform 450ms ease}.treatment-row:hover .treatment-arrow{transform:translateX(4px)}
.treatments-all{font-family:Onest,Arial,sans-serif;margin-top:22px;min-height:44px}
.treatment-photos{position:relative;aspect-ratio:573/615;border-radius:6px;overflow:hidden}.treatment-photo{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity 450ms ease,visibility 450ms;pointer-events:none}.treatment-photo.is-active{opacity:1;visibility:visible}.treatment-photo>img{display:block;width:100%;height:100%;object-fit:cover}.treatment-caption{position:absolute;left:20px;right:20px;text-align:center;font:600 38px/1.05 'Cormorant Garamond',Georgia,serif;color:#720113}.treatment-caption span{display:block}.caption-0{top:76%}.caption-1{top:40%}.caption-2{top:14%}
@media(max-width:1200px){.treatments-inner{padding:0 60px;gap:36px}.treatment-row{grid-template-columns:68px minmax(0,1fr) 20px;gap:18px;padding-right:22px}.treatments h2{font-size:44px}.treatment-caption{font-size:32px}}
@media(min-width:601px) and (max-width:1100px){.treatments-inner{padding:0 40px;gap:28px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.treatments h2{font-size:38px}.treatment-row{grid-template-columns:44px minmax(0,1fr) 16px;gap:12px;padding-right:12px}.treatment-number{font-size:38px}.treatment-name,.treatment-row:first-child .treatment-name{font-size:34px}.treatment-caption{font-size:28px;left:12px;right:12px}.treatment-photos{align-self:start;margin-top:48px;aspect-ratio:3/4}.caption-0{top:72%}}
@media(max-width:600px){.treatments{padding:0 0 64px}.approach{padding-bottom:48px}.treatments-inner{padding:0 24px;grid-template-columns:minmax(0,1fr);gap:28px}.treatments h2{font-size:40px;line-height:1.05}.treatment-row{grid-template-columns:48px minmax(0,1fr) 16px;gap:14px;padding:16px 12px 16px 0;min-height:108px}.treatment-number{font-size:38px}.treatment-name,.treatment-row:first-child .treatment-name{font-size:34px}.treatment-caption{font-size:32px}.treatment-arrow{width:16px}.treatments-all{margin-top:16px}.treatment-photos{width:100%}}

@media(max-width:600px){
.treatment-row{grid-template-columns:52px minmax(0,1fr) 16px;gap:14px;padding:16px 14px 16px 12px}
.treatment-marker{object-fit:fill;top:0;bottom:0;height:100%;border-radius:6px 0 0 6px}
.treatment-number{font-size:36px}.treatment-details{min-width:0}.treatment-description{overflow-wrap:break-word}
}

.treatment-row{transition:background-color 600ms ease-in-out}
.treatment-marker{transition:opacity 600ms ease-in-out}
.treatment-list.intro-pending .treatment-row[aria-pressed=true]{background:transparent}
.treatment-list.intro-pending .treatment-row[aria-pressed=true] .treatment-marker{opacity:0}

/* Match the desktop photo to the complete treatment copy column. */
@media(min-width:1101px){
.treatments-inner{align-items:stretch}
.treatment-photos{aspect-ratio:auto;min-height:0}
.treatment-photo>img{object-position:center top}
}


.language{display:grid;grid-template-columns:28px 6px 28px;gap:0;align-items:center;text-align:center}
.language button{width:28px;text-align:center;color:#720113;transition:opacity 220ms ease,color 220ms ease}
.language [aria-pressed=true]{font-weight:500;color:#720113;opacity:1}
.language [aria-pressed=false]{font-weight:400;color:#720113;opacity:.55}
.language>span{color:#720113;opacity:.45}
@media(hover:hover){.language [aria-pressed=false]:hover{opacity:1}}
.language button:focus-visible{opacity:1}

/* Full-width reasons section; the preceding section supplies the 120px gap. */
.treatments{padding-bottom:120px}
.why-anna{position:relative;background:#e4ded4;isolation:isolate;color:#080808}
.why-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1}
.why-inner{max-width:1440px;min-height:622px;padding:48px 120px 32px;margin:auto;display:flex;justify-content:space-between;gap:32px;align-items:flex-start}
#why-title,.why-eyebrow{font:400 14px/21px Manrope,Arial,sans-serif;letter-spacing:1.2px;color:#720113;margin:0}
#why-title{padding-top:0;font-size:14px;flex-shrink:0}
.why-content{width:406px;max-width:100%;flex-shrink:0}
.why-tabs{display:grid;grid-template-columns:1.15fr .8fr 1.2fr;gap:16px;margin-bottom:20px}
.why-tabs button{min-height:42px;padding:10px 12px;font:400 14px/20px Onest,Arial,sans-serif;border-radius:6px;background:rgba(247,246,242,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.35);transition:background-color 350ms ease,color 350ms ease,border-color 350ms ease}
.why-tabs button[aria-selected=true]{background:#720113;color:#fff;border-color:#720113}
.why-glass{padding:24px;border-radius:6px;background:rgba(247,246,242,.82);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:1px solid rgba(255,255,255,.35)}
.why-panel[hidden]{display:none}.why-panel{animation:why-reveal 280ms ease}
.why-panel h3{font:600 38px/1.02 'Cormorant Garamond',Georgia,serif;margin:28px 0 26px;max-width:330px;min-height:78px}
.why-description{font:400 16px/23px Manrope,Arial,sans-serif;margin:0;min-height:92px}
.why-link{font:400 16px/22px Onest,Arial,sans-serif;margin-top:10px;min-height:44px}.why-panel:last-child .why-link{font-size:14px}
.why-detail{display:block;width:100%;height:auto;aspect-ratio:716/306;object-fit:cover;border-radius:6px;margin-top:14px}
@keyframes why-reveal{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.why-panel{animation:none}}
@media(max-width:1200px){.why-inner{padding-left:60px;padding-right:60px}}
@media(min-width:601px) and (max-width:1000px){.why-inner{padding:32px 40px;min-height:680px;display:block}.why-content{margin:32px 0 0 auto;width:380px}.why-background{object-position:40% center}}
@media(max-width:600px){.treatments{padding-bottom:64px}.why-inner{padding:28px 24px 32px;display:block;min-height:0}.why-background{height:350px;object-position:36% top}.why-content{width:100%;margin-top:240px}.why-tabs{gap:8px;margin-bottom:16px;grid-template-columns:1.15fr .8fr 1.2fr}.why-tabs button{padding:10px 5px;min-height:44px}.why-glass{padding:22px 20px}.why-panel h3{font-size:36px;margin:22px 0;min-height:74px}.why-description{min-height:115px}.why-link{font-size:14px}.why-panel:last-child .why-link{font-size:14px}.why-eyebrow{letter-spacing:.8px}#why-title{font-size:14px;letter-spacing:.8px}.why-detail{margin-top:16px}}
#why-panel-0 h3{max-width:250px}#why-panel-1 h3{max-width:270px}
.why-description{min-height:69px}
@media(max-width:600px){.why-description{min-height:0}.why-panel h3{min-height:0}.why-tabs button{overflow-wrap:anywhere}}

/* Shared grid reserves the tallest tab and crossfades without layout jumps. */
.why-glass{display:grid}
.why-panel{grid-area:1/1;min-width:0;animation:none;display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 420ms ease-in-out,visibility 420ms}
.why-panel.is-active{opacity:1;visibility:visible;pointer-events:auto}
.why-panel h3{margin:28px 0 24px;min-height:0}
.why-description{margin:0;min-height:0}
.why-link{margin:20px 0 24px;min-height:22px;align-self:flex-start}
.why-detail{margin-top:0}
@media(prefers-reduced-motion:reduce){.why-panel{transition:none}}

@media(hover:hover){.why-tabs button:not([aria-selected=true]):hover{background:rgba(255,255,255,.9);color:#720113;border-color:rgba(255,255,255,.65)}}
.why-tabs button:not([aria-selected=true]):focus-visible{background:rgba(255,255,255,.9);color:#720113;border-color:rgba(255,255,255,.65)}

.hero-secondary:focus-visible{background:rgba(255,255,255,.9);border-color:rgba(255,255,255,.9)}

.hero-actions .book{transition:background-color 350ms ease}
.hero-actions .book::before{display:block}



.why-description{min-height:69px;text-wrap:pretty}
.why-panel .why-description{max-width:none;width:100%}
.why-panel h3{min-height:78px}
@media(max-width:600px){.why-description{min-height:115px}.why-panel h3{min-height:114px}}

/* Consistent text links and arrows throughout the page. */
.approach-link,.treatments-all,.why-link,.why-panel:last-child .why-link{font-family:Manrope,Arial,sans-serif;font-size:14px;font-weight:400;line-height:20px;display:inline-flex;align-items:center;gap:6px;color:#720113}
.approach-link .approach-arrow{flex:0 0 11px;width:11px;height:11px;position:relative;top:1px;display:inline-flex;align-items:center;justify-content:center}
.approach-link .approach-arrow svg{display:block;width:11px;height:11px}

/* Keep navigation light while the opening photograph passes behind it. */
.desktop-nav > a,.desktop-nav > button,.desktop-nav .products-trigger{color:var(--ink);transition:color 280ms ease}
.site-header.over-hero-photo .desktop-nav > a,.site-header.over-hero-photo .desktop-nav > button{color:#fff}
.site-header.over-hero-photo .desktop-nav > a::after,.site-header.over-hero-photo .desktop-nav > button::after{background:#fff}

/* A quiet, staggered entrance for the opening copy and actions. */
@keyframes hero-copy-reveal{
 from{opacity:0;transform:translateY(18px)}
 to{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:no-preference){
 .hero-eyebrow,.hero h1,.hero-description,.hero-actions,.hero-location{
  animation:hero-copy-reveal 900ms cubic-bezier(.22,1,.36,1) both;
 }
 .hero-eyebrow{animation-delay:100ms}
 .hero h1{animation-delay:220ms;animation-duration:1100ms}
 .hero-description{animation-delay:380ms}
 .hero-actions{animation-delay:520ms}
 .hero-location{animation-delay:640ms}
 .hero-copy:focus-within .hero-actions{animation:none}
}

/* Gentle image zoom contained within the original rounded frame. */
.approach-portrait{overflow:hidden}
.approach-portrait > img{display:block;width:100%;height:auto;transform:scale(1);transition:transform 500ms cubic-bezier(.215,.61,.355,1)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .approach-portrait:hover > img{transform:scale(1.05)}
}


/* Keep the same clipping/stacking context before and after the reveal. */
.approach-collage img{clip-path:inset(0 0 0 0);backface-visibility:hidden}
.approach-collage .approach-serum{z-index:0}
.approach-collage .approach-skin{z-index:1}
@media(prefers-reduced-motion:no-preference){
 .approach-collage.reveal-pending img{clip-path:inset(0 0 100% 0)}
 .approach-collage.reveal-visible img{animation:collage-mask 1s cubic-bezier(.645,.045,.355,1) both}
 .approach-collage.reveal-visible .approach-skin{animation-delay:100ms}
}
@keyframes collage-mask{
 from{clip-path:inset(0 0 100% 0)}
 to{clip-path:inset(0 0 0 0)}
}

/* Match the portrait hover zoom while keeping treatment captions still. */
.treatment-photo > img{transform:scale(1);transition:transform 500ms cubic-bezier(.215,.61,.355,1)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .treatment-photos:hover .treatment-photo > img{transform:scale(1.05)}
}

/* Products menu shares the header's warm glass and burgundy palette. */
.products-dropdown{position:relative}
.products-trigger{position:relative;min-height:44px;font-size:14px}
.products-trigger::after{content:"";position:absolute;left:0;right:0;bottom:7px;height:1.3px;border-radius:999px;background:currentColor;transform:scaleX(0);transition:transform 280ms ease}
.products-dropdown.is-open .products-trigger{color:#720113}
.products-dropdown.is-open .products-trigger::after{transform:scaleX(1)}
.products-panel{position:absolute;top:100%;left:50%;width:600px;transform:translate(-50%,8px);display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:28px 32px;background:rgba(250,248,245,.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.8);border-radius:8px;box-shadow:0 16px 42px rgba(54,24,24,.12);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 240ms ease,transform 240ms ease,visibility 240ms;max-height:calc(100dvh - 110px);overflow:auto;color:#171516;white-space:normal}
.products-dropdown.is-open .products-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.products-heading{margin:0 0 14px;font:400 11px/1.5 Manrope,Arial,sans-serif;letter-spacing:1.3px;text-transform:uppercase;color:#720113}
.products-panel ul{list-style:none;padding:0;margin:0}
.products-panel li+li{margin-top:2px}
.products-panel li button{display:block;width:100%;min-height:34px;padding:7px 10px;text-align:left;font:400 14px/20px Onest,Arial,sans-serif;border-radius:4px;transition:background-color 200ms ease,color 200ms ease;cursor:default}
.products-panel li button:hover,.products-panel li button:focus-visible{color:#720113;background:rgba(114,1,19,.055)}
.site-header.over-hero-photo .products-trigger{color:white}
@media(max-width:1100px){
 .mobile-nav{max-height:calc(100dvh - 78px);overflow:auto}
 .mobile-nav .products-trigger{min-height:48px}
 .mobile-nav .products-panel{position:static;display:none;transform:none;width:100%;max-height:none;padding:16px 12px 22px;gap:20px;box-shadow:none;background:rgba(247,244,240,.9)}
 .mobile-nav .products-dropdown.is-open .products-panel{display:grid;transform:none}
}
@media(max-width:420px){.mobile-nav .products-panel{grid-template-columns:1fr;gap:24px}}

/* Separate the header glass so the dropdown can blur the page beneath it. */
.site-header{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.site-header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(255,255,255,.28);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%)}
.products-panel{background:rgba(250,248,245,.76);backdrop-filter:blur(28px) saturate(135%);-webkit-backdrop-filter:blur(28px) saturate(135%);border-color:rgba(255,255,255,.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 16px 42px rgba(54,24,24,.1)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.products-panel{background:rgba(250,248,245,.97)}}

.results{padding:100px 0;background:#fff;color:#080808}
.results-inner{max-width:1440px;margin:auto;padding:0 120px}
.results-eyebrow{margin:0 0 20px;font:400 14px/20px Manrope,Arial,sans-serif;letter-spacing:1.4px;color:#720113}
.results-heading-row{display:flex;align-items:center;justify-content:space-between;gap:24px}
.results h2{margin:0;font:600 48px/1.05 'Cormorant Garamond',Georgia,serif}
.results h2 em{color:#720113;font-weight:600}
.results-actions{display:flex;align-items:center;gap:30px;flex-shrink:0}.results-actions .approach-link{margin:0;white-space:nowrap}
.results-description{margin:24px 0 32px;font:400 16px/24px Manrope,Arial,sans-serif}
.results-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.results-track::-webkit-scrollbar{display:none}
.result-card{min-width:0;scroll-snap-align:start}
.result-image{position:relative;aspect-ratio:768/792;border-radius:6px;overflow:hidden}
.result-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.result-after{opacity:0;transition:opacity 450ms ease}.result-card.show-after .result-after{opacity:1}
.result-switch{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:6px;padding:6px;background:rgba(255,255,255,.42);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.65);border-radius:6px}
.result-switch button{padding:5px 8px;font:500 10px/14px Manrope,Arial,sans-serif;letter-spacing:1px;border-radius:4px;color:#720113;transition:color 240ms,background-color 240ms}
.result-switch button[aria-pressed=true]{background:#720113;color:#fff}
.result-card h3{margin:24px 0 12px;font:600 38px/1.05 'Cormorant Garamond',Georgia,serif}
.result-description{margin:0;font:400 16px/24px Manrope,Arial,sans-serif}
.result-sessions{margin:12px 0 0;color:#625852;font:400 14px/20px Manrope,Arial,sans-serif;letter-spacing:1.4px}
.results-arrows{display:none;gap:12px;border-left:1px solid rgba(177,177,177,.2);padding-left:24px}
.results-arrows button{width:40px;height:40px;border:1px solid #720113;border-radius:50%;color:#720113;font-size:24px}.results-arrows button:disabled{opacity:.3;cursor:default}
@media(max-width:1200px){.results-inner{padding:0 60px}.results-heading-row{align-items:flex-start}.results h2{max-width:520px}}
@media(max-width:900px){.results-inner{padding:0 32px}.results-track{grid-auto-columns:calc((100% - 24px)/2)}.results-arrows{display:flex}.results-heading-row{display:block}.results-actions{margin-top:24px;justify-content:space-between}}
@media(max-width:600px){.results{padding:64px 0}.results-inner{padding:0 24px}.results h2{font-size:40px}.results-track{grid-auto-columns:90%;gap:16px}.result-card h3{font-size:34px}.results-actions{gap:16px}.results-arrows{padding-left:16px}.result-switch{bottom:20px}}

.result-switch{width:134px;height:31px;padding:5px;gap:6px;align-items:center}
.result-switch button{flex:1;min-width:0;padding:3px 4px;line-height:14px;white-space:nowrap}
.results-arrows{display:flex;gap:14px}
.results-arrows button{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;transition:background-color 200ms,color 200ms}
.results-arrows button:not(:disabled):hover{background:#720113;color:#fff}
.results-arrows svg{width:18px;height:18px}
.results-dots{display:flex;justify-content:center;gap:7px;margin-top:28px}
.results-dots button{width:22px;height:24px;display:grid;place-items:center}
.results-dots button::before{content:"";width:10px;height:10px;border-radius:50%;background:#efe8dc;transition:background-color 200ms}
.results-dots button[aria-current=true]::before{background:#720113}

.results-dot-placeholder{width:22px;height:24px;display:grid;place-items:center}
.results-dot-placeholder::before{content:"";width:10px;height:10px;border-radius:50%;background:#efe8dc}

/* Smaller, quieter pagination dots; retain comfortable click targets. */
.results-dots{gap:3px}
.results-dots button::before,.results-dot-placeholder::before{width:7px;height:7px}

/* Burgundy result controls with a restrained tinted hover. */
.results-arrows button,.results-arrows button:disabled{color:#720113;border-color:#720113;opacity:1}
@media(hover:hover){
 .results-arrows button:hover,.results-arrows button:not(:disabled):hover{background:rgba(114,1,19,.07);color:#720113}
}
.results-arrows button:focus-visible{background:rgba(114,1,19,.07)}

/* Cover the frame during a change so different angles never overlap. */
.result-after{transition:none}
.result-transition-veil{position:absolute;inset:0;background:#f4eee7;opacity:0;pointer-events:none;z-index:1}
.result-switch{z-index:2}

/* Client experiences: the preceding section supplies the 100px gap. */
.reviews{padding:0 0 100px;background:#fff;color:#080808}
.reviews-inner{max-width:1440px;margin:auto;padding:0 120px}
.reviews-eyebrow{margin:0 0 20px;font:400 14px/20px Manrope,Arial,sans-serif;letter-spacing:1.4px;color:#720113}
.reviews h2{margin:0 0 32px;font:600 48px/1.05 'Cormorant Garamond',Georgia,serif}
.reviews-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:start}
.reviews-summary{padding-top:44px}
.reviews-rating{display:flex;gap:20px;align-items:center;color:#720113}
.reviews-rating strong{font:italic 600 48px/1 'Cormorant Garamond',Georgia,serif}
.review-stars{display:inline-flex;gap:10px;flex-shrink:0}.review-stars img{display:block;width:17px;height:16px}
.reviews-count{margin:16px 0 0;color:#625852;letter-spacing:1.3px;font:400 14px/22px Manrope,Arial,sans-serif}
.reviews-actions{display:grid;gap:20px;margin-top:44px;padding-right:20px}
.reviews-actions a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;height:auto;padding:12px 10px;font:400 14px/20px Onest,Arial,sans-serif;border-radius:6px}
.review-write{border:1px solid #720113;color:#720113;transition:background-color 250ms}
.review-write:hover{background:rgba(114,1,19,.06)}
.review-card{padding:32px 28px;background:#f8f6f3;border-radius:6px;min-width:0}
.review-body{margin:20px 0 10px;font:400 16px/24px Manrope,Arial,sans-serif;white-space:pre-line;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;min-height:120px}
.review-card.is-expanded .review-body{display:block;max-height:360px;overflow-y:auto;padding-right:8px;scrollbar-width:thin;scrollbar-color:#c5a7aa transparent}
.review-more{color:#720113;font:400 14px/22px Onest,Arial,sans-serif;min-height:32px;display:inline-flex;align-items:center}
.review-more:hover{text-decoration:underline;text-underline-offset:4px}
.review-author{display:flex;align-items:center;gap:18px;margin-top:22px}
.review-initial{width:56px;height:56px;flex-shrink:0;border:1px solid #720113;border-radius:50%;display:grid;place-items:center;font:400 32px/1 Onest,Arial,sans-serif;color:#720113}
.review-author h3{margin:0 0 6px;font:500 14px/20px Onest,Arial,sans-serif}
.review-source{font:400 12px/18px Manrope,Arial,sans-serif;color:#625852}
@media(max-width:1200px){.reviews-inner{padding:0 60px}.review-card{padding:26px 20px}.reviews-grid{gap:18px}.review-stars{gap:6px}.reviews-rating{gap:12px}.review-author{gap:12px}}
@media(max-width:1000px){.reviews-inner{padding:0 32px}.reviews-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reviews-summary{grid-column:1/-1;padding:0;display:flex;align-items:center;flex-wrap:wrap;gap:20px}.reviews-count{margin:0}.reviews-actions{margin:0 0 8px auto;display:flex;padding:0;gap:12px}}
@media(max-width:700px){.reviews-inner{padding:0 24px}.reviews{padding-bottom:64px}.reviews h2{font-size:40px}.reviews-grid{grid-template-columns:1fr;gap:20px}.reviews-summary{display:block;padding-bottom:12px}.reviews-count{margin-top:14px}.reviews-actions{display:grid;margin-top:24px}.review-card{padding:28px}.review-body{min-height:0}.review-stars{gap:10px}}

/* Read full reviews within a compact, stable card. */
.review-card{display:flex;flex-direction:column;min-height:340px}
.review-body,.review-card.is-expanded .review-body{display:block;-webkit-line-clamp:unset;height:144px;min-height:144px;max-height:144px;overflow-y:auto;padding-right:10px;scrollbar-width:thin;scrollbar-color:#c5a7aa transparent;scrollbar-gutter:stable}
.review-body::-webkit-scrollbar{width:3px}
.review-body::-webkit-scrollbar-thumb{background:#c5a7aa;border-radius:3px}
.review-author{margin-top:auto;padding-top:22px}
.review-body:focus-visible{outline:1px solid #720113;outline-offset:4px;border-radius:2px}

.review-scroll-hint{align-self:flex-start;color:#720113;font:400 12px/18px Onest,Arial,sans-serif;min-height:28px;text-align:left;margin:0 0 4px}
.review-scroll-hint[hidden]{display:none}
.review-scroll-hint:hover{text-decoration:underline;text-underline-offset:3px}

/* Consistent five-line reading windows and aligned review footers. */
.review-body,.review-card.is-expanded .review-body{height:120px;min-height:120px;max-height:120px}
.review-body .review-more{display:inline-flex;margin-top:8px;white-space:normal}
.review-scroll-hint{margin-bottom:4px}
.review-card{min-height:340px}

.review-author > div{display:flex;flex-direction:column;gap:4px}
.review-author h3{margin:0}

@font-face{font-family:Manrope;src:url('assets/manrope-extralight.ttf') format('truetype');font-weight:200;font-style:normal;font-display:swap}
.review-card{padding:24px;min-height:0}
.review-body{margin-top:16px}
.review-author{margin-top:0;padding-top:16px}
.review-source{font:200 14px/20px Manrope,Arial,sans-serif;color:#625852}

.review-author h3{font-size:16px;line-height:22px;font-weight:500}

/* Follow along: the reviews section supplies the 100px separation. */
.community{padding:0 0 100px;background:#fff;color:#080808}
.community-inner{max-width:1440px;margin:auto;padding:0 120px;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:center;gap:60px}
.community-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.community-gallery img{display:block;width:100%;height:auto;aspect-ratio:768/450;object-fit:cover;border-radius:6px}
.community-eyebrow{margin:0 0 16px;color:#720113;font:400 14px/20px Manrope,Arial,sans-serif;letter-spacing:1.4px}
.community h2{margin:0 0 16px;font:600 48px/1.05 'Cormorant Garamond',Georgia,serif}
.community-description{margin:0;font:400 16px/24px Manrope,Arial,sans-serif}
.community-follow{display:inline-flex;align-items:center;justify-content:center;margin-top:26px;min-width:190px;height:42px;padding:0 24px;font:400 14px/20px Onest,Arial,sans-serif}
@media(max-width:1200px){.community-inner{padding:0 60px;gap:40px}}
@media(max-width:900px){.community-inner{padding:0 32px;gap:28px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.community-gallery{gap:16px}.community h2{font-size:42px}}
@media(max-width:600px){.community{padding-bottom:64px}.community-inner{padding:0 24px;grid-template-columns:1fr;gap:32px}.community-copy{grid-row:1}.community h2{font-size:40px}.community-gallery{gap:12px}.community-follow{min-height:48px}}

@media(min-width:601px){
 .community-inner{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
 .community-copy{grid-column:1;grid-row:1;text-align:right}
 .community-gallery{grid-column:2;grid-row:1}
}
@media(min-width:601px) and (max-width:900px){.community-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}}

/* Instagram preview treatment, contained within each photo's rounded frame. */
.community-photo{position:relative;overflow:hidden;border-radius:6px}
.community-photo img{transition:filter 400ms ease,transform 400ms ease}
.community-photo-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.34);color:#fff;opacity:0;pointer-events:none;transition:opacity 400ms ease}
.community-photo-overlay svg{width:32px;height:32px}
@media(hover:hover){
 .community-photo:hover img{filter:blur(3px);transform:scale(1.025)}
 .community-photo:hover .community-photo-overlay{opacity:1}
}

.community-photo{display:block}
.community-photo:focus-visible img{filter:blur(3px);transform:scale(1.025)}
.community-photo:focus-visible .community-photo-overlay{opacity:1}

@font-face{font-family:Onest;src:url('assets/onest-light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
.community{padding-bottom:120px}
.site-footer{background:#f8f7f4;font:400 14px/20px Onest,Arial,sans-serif;color:#080808}
.footer-main{max-width:1440px;margin:auto;padding:48px 120px 64px;display:grid;grid-template-columns:1.55fr 1fr 1.3fr .85fr;gap:48px}
.footer-logo{display:block;width:270px;max-width:100%;height:auto;margin-bottom:30px}
.footer-contact{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.footer-contact svg{width:22px;height:24px;flex-shrink:0;color:#720113}
.footer-instagram span{text-decoration:none}
.footer-column h2{font:500 14px/20px Onest,Arial,sans-serif;color:#720113;margin:12px 0 24px}
.footer-column ul{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.footer-column a,.footer-column button{text-align:left;font:400 14px/20px Onest,Arial,sans-serif;transition:color 200ms}
.footer-column a:hover,.footer-instagram:hover{color:#720113}
.footer-bottom{background:#720113;color:#fff}
.footer-bottom>div{min-height:65px;max-width:1440px;margin:auto;padding:16px 120px;display:flex;align-items:center;justify-content:space-between;gap:24px;font:300 12px/18px Onest,Arial,sans-serif}
@media(max-width:1200px){.footer-main{padding-left:60px;padding-right:60px;gap:32px}.footer-bottom>div{padding-left:60px;padding-right:60px}}
@media(max-width:900px){.footer-main{padding:40px 32px;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.footer-identity{grid-column:1/-1}.footer-logo{width:240px}.footer-bottom>div{padding-left:32px;padding-right:32px}}
@media(max-width:600px){.footer-main{padding:32px 24px 40px;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.footer-column h2{margin-top:0;margin-bottom:20px}.footer-bottom>div{padding:18px 24px;flex-direction:column;align-items:flex-start;gap:8px}.footer-contact{font-size:14px}}

/* Footer spacing and colour from the annotated reference. */
.site-footer{background:#f7f6f2}
.footer-main{padding-bottom:65px}
.footer-column h2{margin-bottom:26px}
.footer-column ul{gap:16px}

.footer-contact svg{width:20px;height:20px;display:block;overflow:visible;color:#720113}

.footer-location-icon{width:20px;height:24px;display:grid;place-items:center;flex-shrink:0}
.footer-location-icon img{display:block;width:15px;height:24px}

.footer-instagram-icon{display:block;width:21px;height:21px;flex-shrink:0}

/* A staged footer entrance, with its layout space kept intact. */
@media(prefers-reduced-motion:no-preference){
 .site-footer.footer-ready{background:transparent}
 .footer-ready .footer-main{position:relative;isolation:isolate;opacity:0;transform:translateY(14px);transition:opacity 700ms ease,transform 700ms cubic-bezier(.22,1,.36,1)}
 .footer-ready .footer-main::before{content:"";position:absolute;inset:0;left:calc((100% - 100vw)/2);right:calc((100% - 100vw)/2);background:#f7f6f2;z-index:-1;pointer-events:none}
 .footer-ready .footer-bottom{clip-path:inset(0 0 100% 0);transition:clip-path 800ms cubic-bezier(.645,.045,.355,1) 450ms}
 .footer-ready.footer-visible .footer-main{opacity:1;transform:none}
 .footer-ready.footer-visible .footer-bottom{clip-path:inset(0 0 0 0)}
}

.hero-actions>a{display:inline-flex;align-items:center;justify-content:center;height:42px;min-width:190px;padding:0 22px;border-radius:6px;font:400 14px/20px Manrope,Arial,sans-serif}
.treatments-page{min-height:0;padding-bottom:120px;background:white}
.services-hero{position:relative;overflow:hidden;background:#f7f3ed}
.services-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.services-inner{position:relative;max-width:1440px;margin:auto;padding:92px 120px 60px;min-height:312px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.services-copy{max-width:470px}
.services-eyebrow{margin:0 0 16px;font:400 14px/20px Manrope,Arial,sans-serif;letter-spacing:1px;color:#720113}
.services-copy h1{margin:0 0 20px;font:600 58px/1.05 'Cormorant Garamond',Georgia,serif;color:#080808}
.services-description{margin:0;font:400 16px/26px Manrope,Arial,sans-serif;color:#080808}
.services-consult{padding-bottom:26px;flex-shrink:0}
.services-consult>p{margin:0 0 8px;font:400 14px/20px Manrope,Arial,sans-serif;letter-spacing:0;color:#625852}
.services-consult .approach-link{margin:0;font:400 14px/20px Onest,Arial,sans-serif}
@media(max-width:1200px){.services-inner{padding-left:60px;padding-right:60px}}
@media(max-width:900px){.services-inner{padding:64px 32px;gap:32px;align-items:flex-start;flex-direction:column}.services-consult{padding:0}.services-background{object-position:60% center}}
@media(max-width:600px){.services-inner{padding:48px 24px;background:rgba(247,243,237,.4)}.services-copy h1{font-size:46px}.services-eyebrow{font-size:12px}.services-consult>p{letter-spacing:0}.treatments-page{padding-bottom:64px}.hero-actions>a{width:100%;min-height:48px;height:auto;padding:12px 16px}}

.service-filters{max-width:1440px;margin:0 auto;padding:56px 24px 0;display:flex;justify-content:center;flex-wrap:wrap;gap:28px}
.service-filters button{height:42px;padding:0 26px;border:1px solid transparent;border-radius:6px;background:#f7f6f2;color:#080808;font:400 14px/20px Onest,Arial,sans-serif;white-space:nowrap;transition:background-color 250ms,color 250ms,border-color 250ms}
.service-filters button[aria-pressed=true]{background:#720113;border-color:#720113;color:#fff}
@media(hover:hover){.service-filters button[aria-pressed=false]:hover{background:#f0ece6;border-color:transparent;color:#720113}}
@media(max-width:600px){.service-filters{padding-top:32px;gap:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.service-filters button{padding:0 10px}}

/* Personalised Meder treatment collection. */
.meder-section{max-width:1440px;margin:0 auto;padding:72px 120px 0}
.meder-section[hidden]{display:none}
.meder-eyebrow{margin:0 0 16px;color:#720113;font:400 14px/20px Manrope,Arial,sans-serif;letter-spacing:1px}
.meder-section h2{margin:0 0 24px;font:600 48px/1.1 'Cormorant Garamond',Georgia,serif;color:#080808}
.meder-intro{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:24px}
.meder-intro p{margin:0;font:400 16px/24px Manrope,Arial,sans-serif}
.meder-intro p:last-child{font-size:14px;color:#720113;letter-spacing:1px;text-align:right}
.meder-grid{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));grid-template-rows:repeat(2,minmax(280px,1fr));gap:24px}
.meder-card{position:relative;overflow:hidden;border-radius:6px;min-width:0;background:#f7f3ed;isolation:isolate}
.meder-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.meder-card--hydra{grid-column:1/7;grid-row:1/3}
.meder-card--arma{grid-column:7/14;grid-row:1}
.meder-card--lipo{grid-column:14/21;grid-row:1}
.meder-card--red{grid-column:7/12;grid-row:2}
.meder-card--eu{grid-column:12/17;grid-row:2}
.meder-card--myo{grid-column:17/21;grid-row:2;background:#720113;color:white}
.meder-card-copy{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:24px}
.meder-number{color:#720113;font:400 20px/24px 'Cormorant Garamond',Georgia,serif;margin-bottom:4px}
.meder-card h3{margin:0 0 8px;font:600 28px/1.1 'Cormorant Garamond',Georgia,serif}
.meder-card-copy>p{margin:0;font:400 12px/18px Manrope,Arial,sans-serif;color:#625852}
.meder-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;color:#720113;font:500 16px/22px Onest,Arial,sans-serif}
.meder-arrow{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;padding:0}
.meder-card--myo .meder-number,.meder-card--myo .meder-card-copy>p,.meder-card--myo .meder-card-bottom{color:white}
 .meder-grid{display:grid;grid-template-columns: .86fr 2.1fr;grid-template-rows:none;gap:24px}
.meder-right{display:grid;gap:24px;min-width:0}
.meder-top,.meder-bottom{display:grid;gap:24px;min-width:0}
.meder-top{grid-template-columns:repeat(2,minmax(0,1fr))}
.meder-bottom{grid-template-columns:repeat(3,minmax(0,1fr))}
.meder-card{grid-column:auto;grid-row:auto;min-height:280px}
@media(max-width:1200px){.meder-section{padding-left:60px;padding-right:60px}.meder-card-copy{padding:20px}}
@media(max-width:900px){.meder-section{padding:56px 32px 0}.meder-intro{align-items:flex-start;flex-direction:column;gap:12px}.meder-intro p:last-child{text-align:left}.meder-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.meder-card{grid-column:auto;grid-row:auto;min-height:340px}.meder-card--hydra>img{object-position:center 65%}}
@media(max-width:600px){.meder-section{padding:48px 24px 0}.meder-section h2{font-size:40px}.meder-grid{grid-template-columns:1fr;gap:20px}.meder-card{min-height:360px}.meder-card-copy{padding:24px}.meder-intro p:last-child{letter-spacing:.5px}}

@media(max-width:900px){.meder-right,.meder-top,.meder-bottom{display:contents}.meder-card{min-height:340px}}
@media(max-width:600px){.meder-card{min-height:360px}}

/* Fixed circular treatment controls and brand hover states. */
.meder-arrow{width:40px;height:40px;min-width:40px;max-width:40px;min-height:40px;max-height:40px;aspect-ratio:1;flex:0 0 40px;border-radius:50%;border:1px solid #720113;color:#720113;box-sizing:border-box;transition:background-color 250ms ease,color 250ms ease,border-color 250ms ease}
.meder-arrow svg{display:block}
.meder-card--myo .meder-arrow{border-color:#fff;color:#fff}
@media(hover:hover){.meder-arrow:hover{background:#720113;border-color:#720113;color:#fff}.meder-card--myo .meder-arrow:hover{background:#f7f6f2;border-color:#f7f6f2;color:#720113}}
.meder-arrow:focus-visible{background:#720113;border-color:#720113;color:#fff}
.meder-card--myo .meder-arrow:focus-visible{background:#f7f6f2;border-color:#f7f6f2;color:#720113;outline-color:#fff}
@media(prefers-reduced-motion:reduce){.meder-arrow{transition:none}}

/* Match the existing photo zoom on treatment cards. */
.meder-card>img{transform:scale(1);transition:transform 500ms cubic-bezier(.215,.61,.355,1)}
@media(hover:hover){.meder-card:hover>img{transform:scale(1.05)}}
.meder-card:focus-within>img{transform:scale(1.05)}
@media(prefers-reduced-motion:reduce){.meder-card>img{transition:none}.meder-card:hover>img,.meder-card:focus-within>img{transform:none}}

/* Activate the arrow together with its treatment card. */
@media(hover:hover){.meder-card:hover .meder-arrow{background:#720113;border-color:#720113;color:#fff}.meder-card--myo:hover .meder-arrow{background:#f7f6f2;border-color:#f7f6f2;color:#720113}}
.meder-card:focus-within .meder-arrow{background:#720113;border-color:#720113;color:#fff}
.meder-card--myo:focus-within .meder-arrow{background:#f7f6f2;border-color:#f7f6f2;color:#720113}

@media(prefers-reduced-motion:no-preference){.meder-arrow{transition:background-color 500ms cubic-bezier(.215,.61,.355,1),color 500ms cubic-bezier(.215,.61,.355,1),border-color 500ms cubic-bezier(.215,.61,.355,1)}}
.products-page{background:#fff;padding-bottom:120px}
.shop-hero{position:relative;overflow:hidden;background:#eee1d2}
.shop-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shop-hero-inner{position:relative;max-width:1440px;margin:auto;padding:56px 120px 60px}
.shop-eyebrow{margin:0 0 16px;font:400 14px/20px Manrope,Arial,sans-serif;letter-spacing:1px;color:#720113}
.shop-hero h1{margin:0 0 24px;font:600 58px/1.05 'Cormorant Garamond',Georgia,serif}
.shop-hero h1 em{color:#720113;font-weight:600}
.shop-description{max-width:440px;margin:0;font:400 16px/26px Manrope,Arial,sans-serif}
.shop-catalog{max-width:1440px;margin:auto;padding:50px 120px 0}
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;font:400 14px/20px Manrope,Arial,sans-serif}
.shop-toolbar button,.shop-sort{display:flex;align-items:center;gap:12px;position:relative}
.shop-toolbar svg{transform:rotate(90deg);transition:transform 300ms}
#shop-filter-toggle[aria-expanded=true] svg{transform:rotate(-90deg)}
.shop-sort select{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}
.shop-sort:focus-within{outline:2px solid #720113;outline-offset:5px}
#shop-filters:not([hidden]){display:flex;flex-wrap:wrap;gap:12px;padding:0 0 28px}
#shop-filters button{padding:10px 20px;border:1px solid #e8dcd9;border-radius:6px;font:400 14px/20px Manrope,Arial,sans-serif;background:#f7f6f2}
#shop-filters button[aria-pressed=true]{color:#fff;background:#720113;border-color:#720113}
.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}
.shop-card{min-width:0}.shop-card[hidden]{display:none}
.shop-photo{position:relative;overflow:hidden;border-radius:6px;background:#f7f3ef;aspect-ratio:768/820}
.shop-photo>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 500ms cubic-bezier(.215,.61,.355,1)}
.bestseller{position:absolute;left:16px;top:16px;min-width:71px;height:22px;display:grid;place-items:center;padding:0 9px;border:1px solid #e6d7d4;background:#fff;border-radius:20px;font:400 10px/16px Manrope,Arial,sans-serif}
.product-placeholder{height:100%;display:grid;place-items:center;font:600 28px 'Cormorant Garamond',Georgia,serif;color:#a99992}
.shop-details{position:relative;margin:16px 0;min-height:62px;padding-right:55px}
.shop-name{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.shop-name h2{margin:0;font:600 24px/29px 'Cormorant Garamond',Georgia,serif}
.shop-volume{font:400 14px/20px Manrope,Arial,sans-serif;color:rgba(106,106,106,.55)}
.shop-details>p{margin:8px -55px 0 0;font:400 14px/21px Manrope,Arial,sans-serif}
.shop-price{position:absolute;right:0;top:8px;font:600 20px/26px Manrope,Arial,sans-serif;color:#720113}
.shop-add{height:42px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:#720113;color:#fff;border-radius:6px;padding:0 18px;font:400 14px/20px Manrope,Arial,sans-serif;transition:background-color 500ms ease}
.shop-add img{filter:brightness(0) invert(1)}
.shop-add:disabled{opacity:.45;cursor:default}
@media(hover:hover){.shop-add:not(:disabled):hover{background:#4e000c}.shop-card:hover .shop-photo>img{transform:scale(1.05)}}
.shop-mask{position:relative;overflow:hidden;border-radius:6px;margin-top:100px;min-height:470px;display:flex;align-items:center;background:#f7f3ef}
.shop-mask>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shop-mask>div{position:relative;width:48%;padding:48px}
.shop-mask h2{font:600 48px/1.05 'Cormorant Garamond',Georgia,serif;margin:0 0 24px;max-width:270px}
.shop-mask>div>p:not(.shop-eyebrow){font:400 16px/24px Manrope,Arial,sans-serif;margin:0 0 26px}
.shop-mask .shop-add{width:190px}
.products-panel li>a{display:block;padding:7px 10px;font:400 14px/20px Onest,Arial,sans-serif;border-radius:4px}.products-panel li>a:hover{background:#f7f3ef;color:#720113}
.shop-bag{border:0;border-radius:12px;padding:32px;width:min(480px,calc(100% - 32px));color:#080808}.shop-bag::backdrop{background:#0005}.shop-bag h2{font:600 36px 'Cormorant Garamond',Georgia,serif;margin:0 0 24px}.bag-close{position:absolute;top:12px;right:18px;font-size:28px}.bag-items>div{display:flex;gap:16px;align-items:center;justify-content:space-between;border-bottom:1px solid #eadedb;padding:16px 0}.bag-items button{color:#720113;font-size:13px}.bag-total{font-weight:600;color:#720113}.bag-note{font-size:13px;color:#625852}.shop-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#720113;color:white;padding:12px 24px;border-radius:6px;z-index:30;margin:0;font:400 14px Manrope,Arial,sans-serif}.shop-status:empty{display:none}
@media(max-width:1200px){.shop-hero-inner{padding-left:60px;padding-right:60px}.shop-catalog{padding-left:60px;padding-right:60px}.shop-mask>div{padding:32px}}
@media(max-width:900px){.shop-hero-inner{padding:48px 32px}.shop-catalog{padding:50px 32px 0}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-hero-bg{object-position:60% center}.shop-mask{min-height:400px}.shop-mask h2{font-size:40px}.shop-mask>div{width:55%}}
@media(max-width:600px){.products-page{padding-bottom:64px}.shop-hero-inner{padding:40px 24px;background:linear-gradient(90deg,#f4e9dfee,#f4e9df66)}.shop-hero h1{font-size:44px}.shop-description{max-width:310px}.shop-catalog{padding:40px 24px 0}.shop-grid{grid-template-columns:1fr;gap:32px}.shop-mask{margin-top:64px;min-height:460px;align-items:flex-end}.shop-mask>img{object-position:65% center}.shop-mask>div{width:100%;padding:24px;background:linear-gradient(0deg,#f7f3efff,#f7f3efdd 80%,#f7f3ef00)}.shop-mask h2{font-size:38px;margin-bottom:16px}.shop-mask>div>p:not(.shop-eyebrow){margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.shop-photo>img,.shop-add,.shop-toolbar svg{transition:none}.shop-card:hover .shop-photo>img{transform:none}}

/* Promotional tile shares the second product row. */
.shop-grid{row-gap:60px;align-items:stretch}
.shop-grid .shop-mask{grid-column:span 2;margin:0;min-height:0}
.shop-grid .shop-mask[hidden]{display:none}
.shop-mask>div{width:52%;padding:40px}
.shop-mask h2{max-width:270px}
@media(max-width:900px){.shop-grid .shop-mask{grid-column:span 2;min-height:440px;order:1}.shop-mask>div{padding:32px}}
@media(max-width:600px){.shop-grid .shop-mask{grid-column:1;min-height:460px}.shop-mask>div{width:100%;padding:24px}}

.bestseller{min-width:88px;height:28px;padding:0 14px;font:400 12px/18px Manrope,Arial,sans-serif;border-radius:999px;color:#080808;background:#fff;border:1px solid #e6d7d4}
.shop-layout{display:grid;grid-template-columns:0px minmax(0,1fr);column-gap:0;align-items:start;transition:grid-template-columns 550ms cubic-bezier(.22,1,.36,1),column-gap 550ms cubic-bezier(.22,1,.36,1)}
.shop-layout.filters-open{grid-template-columns:220px minmax(0,1fr);column-gap:40px}
.shop-results{min-width:0}
#shop-filters.shop-sidebar{display:block;padding:0;min-width:0;overflow:hidden;opacity:0;visibility:hidden;transition:opacity 300ms ease,visibility 550ms}
.filters-open #shop-filters.shop-sidebar{opacity:1;visibility:visible;transition:opacity 400ms ease 100ms,visibility 0s}
.shop-sidebar-inner{width:220px}
.facet-group{border-bottom:1px solid #eee;padding:0 0 22px;margin-bottom:22px}
.facet-group h2{margin:0}
#shop-filters .facet-heading{padding:0;border:0;border-radius:0;background:transparent;width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;font:600 24px/30px 'Cormorant Garamond',Georgia,serif;color:#080808}
.facet-heading>span{font:400 20px/24px Manrope,Arial,sans-serif}
.facet-options{padding-top:20px}.facet-options[hidden]{display:none}
.facet-option{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px;font:400 16px/24px Manrope,Arial,sans-serif;cursor:pointer}
.facet-option:last-child{margin-bottom:0}
.facet-option input{appearance:none;width:24px;height:24px;flex:0 0 24px;margin:0;border:1px solid #d2d2d2;border-radius:5px;background:white;display:grid;place-content:center;cursor:pointer;transition:background-color 200ms,border-color 200ms}
.facet-option input:checked{background:#720113;border-color:#720113}.facet-option input:checked::after{content:'';width:9px;height:5px;border-left:1.5px solid white;border-bottom:1.5px solid white;transform:rotate(-45deg) translateY(-1px)}
.facet-option input:focus-visible{outline:2px solid #720113;outline-offset:3px}
#shop-filters .facet-clear{padding:0 0 4px;border:0;border-bottom:1px solid #720113;border-radius:0;background:none;color:#720113;font:400 14px/22px Manrope,Arial,sans-serif}
.shop-empty{padding:32px 0;color:#720113;font:400 16px/24px Manrope,Arial,sans-serif}
.filters-open .shop-details{padding-right:0}.filters-open .shop-details>p{margin-right:0}.filters-open .shop-price{position:static;display:block;margin-top:8px}.filters-open .shop-mask>div{padding:24px}.filters-open .shop-mask h2{font-size:38px}
@media(min-width:1500px){.shop-layout.filters-open{grid-template-columns:230px minmax(0,1fr);column-gap:56px}.shop-sidebar-inner{width:230px}}
@media(max-width:1100px){.filters-open .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters-open .shop-mask{order:1;min-height:400px}}
@media(max-width:700px){.shop-layout,.shop-layout.filters-open{display:block}.shop-sidebar-inner{width:100%}#shop-filters.shop-sidebar{max-height:0;transition:max-height 450ms ease,opacity 300ms ease}.filters-open #shop-filters.shop-sidebar{max-height:650px;overflow-y:auto;margin-bottom:28px;padding-right:8px}.filters-open .shop-grid{grid-template-columns:1fr}.filters-open .shop-mask{grid-column:1}.filters-open .shop-mask>div{width:100%}}
@media(prefers-reduced-motion:reduce){.shop-layout,#shop-filters.shop-sidebar,.facet-option input{transition:none!important}}

.bestseller{letter-spacing:.4px}

.facet-options{overflow:hidden;display:flow-root}

.products-panel li>a{min-height:34px;width:100%;text-align:left;transition:background-color 200ms ease,color 200ms ease}
.products-panel li>a:hover,.products-panel li>a:focus-visible{background:rgba(114,1,19,.055);color:#720113}

.shop-toolbar{gap:24px}
.shop-search{display:flex;align-items:center;gap:10px;width:190px;max-width:100%;border-bottom:1px solid #cbbeb9;padding:8px 0;color:#720113;transition:width 500ms cubic-bezier(.22,1,.36,1),border-color 300ms}
.shop-search:focus-within,.shop-search.has-query{width:280px;border-color:#720113}
.shop-search>svg{flex:0 0 18px;transform:none}
.shop-search input{width:100%;min-width:0;border:0;outline:none;background:transparent;font:400 14px/22px Manrope,Arial,sans-serif;color:#080808;padding:0;border-radius:0;appearance:none}
.shop-search input::placeholder{color:#625852;opacity:1}
.shop-search input::-webkit-search-cancel-button{appearance:none}
.shop-search .shop-search-clear{flex:0 0 24px;height:24px;display:grid;place-items:center;font:400 22px/24px Manrope,Arial,sans-serif;color:#720113}
.shop-search .shop-search-clear[hidden]{display:none}
@media(max-width:600px){.shop-toolbar{gap:16px}.shop-toolbar>#shop-filter-toggle{flex-shrink:0;font-size:12px;gap:8px}.shop-search,.shop-search:focus-within,.shop-search.has-query{width:180px;min-width:0}.shop-search{gap:7px}.shop-search input{font-size:13px}}
@media(prefers-reduced-motion:reduce){.shop-search{transition:none}}

/* Responsive filter motion without the long ease-out tail. */
@media(prefers-reduced-motion:no-preference){
.shop-layout{transition:grid-template-columns 280ms ease,column-gap 280ms ease}
#shop-filters.shop-sidebar{transition:opacity 180ms ease,visibility 280ms}
.filters-open #shop-filters.shop-sidebar{transition:opacity 180ms ease,visibility 0s}
@media(max-width:700px){#shop-filters.shop-sidebar{transition:max-height 260ms ease,opacity 180ms ease}}
}

/* Extend the glass layer over the header border and fractional sticky edge. */
.site-header::before{inset:-3px -1px -1px}
a.shop-photo{display:block}
.pdp-layout{max-width:1440px;margin:0 auto;padding:40px 60px 0;display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:start}
.pdp-gallery{display:grid;grid-template-columns:80px minmax(0,1fr);gap:24px}
.pdp-thumbs{display:flex;flex-direction:column;gap:16px}
.pdp-thumbs button{position:relative;border-radius:6px;overflow:hidden;width:80px;height:106px;background:#f7f6f2}
.pdp-thumbs img{width:100%;height:100%;object-fit:cover;opacity:.55;transition:opacity 200ms}
.pdp-thumbs button[aria-pressed=true] img,.pdp-thumbs button:hover img{opacity:1}
.pdp-thumbs button[aria-pressed=true]::after{content:'';position:absolute;top:0;bottom:0;left:0;width:4px;background:#720113}
.pdp-main-photo{aspect-ratio:1120/1480;border:1px solid #e8d9d5;border-radius:6px;overflow:hidden;background:#f7f3ef}
.pdp-main-photo img{display:block;width:100%;height:100%;object-fit:contain}
.pdp-info{padding-top:24px;font:400 16px/24px Manrope,Arial,sans-serif}
.pdp-info>.bestseller{position:static;display:inline-grid;min-width:0;margin-bottom:24px}
.pdp-title{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:28px}
.pdp-title h1{font:600 48px/1.05 'Cormorant Garamond',Georgia,serif;margin:0}.pdp-title>span{font:600 24px/30px Manrope,Arial,sans-serif;color:#720113}
.pdp-lead{font-weight:600;color:#720113;margin:0 0 14px}.pdp-description{margin:0}
.pdp-benefits{list-style:none;padding:0;margin:28px 0 24px;display:flex;flex-wrap:wrap;gap:12px}.pdp-benefits li{background:#eae3d6;border-radius:6px;padding:5px 14px;font:400 12px/18px Manrope,Arial,sans-serif}
.pdp-size h2{margin:0 0 12px;font:600 16px/24px Manrope,Arial,sans-serif;color:#720113}.pdp-size>span{display:inline-flex;align-items:center;min-height:42px;padding:0 24px;border:1px solid #720113;border-radius:6px;color:#720113}
.pdp-purchase{display:flex;gap:24px;border-top:1px solid #eee;margin-top:24px;padding:26px 0 32px}.pdp-quantity{display:flex;align-items:center;border:1px solid #720113;border-radius:6px;height:42px;flex:0 0 100px;color:#720113}.pdp-quantity button{width:30px;height:40px}.pdp-quantity button:disabled{opacity:.35;cursor:default}.pdp-quantity input{width:38px;min-width:0;text-align:center;border:0;background:none;color:inherit;font:400 16px Manrope,Arial,sans-serif;appearance:textfield;-moz-appearance:textfield}.pdp-quantity input::-webkit-inner-spin-button{appearance:none}
.pdp-trust{display:flex;justify-content:space-between;gap:16px;padding:24px 0;border-top:1px solid #eee;border-bottom:1px solid #eee}.pdp-trust>span{display:flex;align-items:center;gap:8px;font:400 12px/18px Manrope,Arial,sans-serif}.pdp-trust svg{flex:0 0 20px;color:#720113}
.pdp-accordions details{border-bottom:1px solid #eee}.pdp-accordions summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:16px 0;font:600 16px/24px Manrope,Arial,sans-serif}.pdp-accordions summary::-webkit-details-marker{display:none}.pdp-accordions summary span{color:#720113;font-size:22px}.pdp-accordions details[open] summary span{transform:rotate(180deg)}.pdp-accordions p{font-size:14px;line-height:23px;margin:0 0 20px}.pdp-accordions img{width:100%;height:auto;margin-bottom:20px}
@media(max-width:1100px){.pdp-layout{padding:32px;gap:32px;grid-template-columns:1fr 1fr}.pdp-gallery{grid-template-columns:1fr}.pdp-thumbs{grid-row:2;flex-direction:row;gap:12px}.pdp-thumbs button{width:64px;height:84px}.pdp-trust{flex-wrap:wrap}.pdp-info{padding-top:0}}
@media(max-width:700px){.pdp-layout{grid-template-columns:1fr;padding:24px;gap:32px}.pdp-main-photo{max-height:600px}.pdp-title{margin-bottom:24px}.pdp-title h1{font-size:42px}.pdp-purchase{gap:16px}.pdp-trust{flex-direction:column;gap:12px}}

.shop-search-clear svg{display:block;transform:none;transition:none}

/* Consistent gallery canvas for all four product photos. */
.pdp-main-photo{aspect-ratio:1/1}
.pdp-main-photo img{object-fit:contain}
.pdp-thumbs button{height:80px}
@media(max-width:1100px){.pdp-thumbs button{height:64px}}
/* Compact product information alongside the square gallery. */
.pdp-info{padding-top:0}
.pdp-info>.bestseller{margin-bottom:12px}
.pdp-title{margin-bottom:16px}
.pdp-lead{margin-bottom:10px}
.pdp-description{line-height:23px}
.pdp-benefits{margin:16px 0;gap:10px}
.pdp-size h2{margin-bottom:8px}
.pdp-purchase{margin-top:16px;padding:16px 0;gap:16px}
.pdp-trust{padding:14px 0;gap:12px}
.pdp-accordions summary{padding:11px 0}
@media(min-width:1101px){.pdp-layout{grid-template-columns:1.2fr 1fr;gap:40px}.pdp-trust>span{gap:6px}.pdp-trust svg{width:18px;height:18px;flex-basis:18px}}

/* Remove the embedded white margin on the ELLE gallery image. */
.pdp-main-photo img[src$="net-apax-award.webp"]{transform:scale(1.055);transform-origin:center}
.pdp-thumbs img[src$="net-apax-award.webp"]{transform:scale(1.055)}

.pdp-description + .pdp-size{margin-top:16px}

.pdp-main-photo{position:relative}
.pdp-main-photo>.bestseller{z-index:1;top:16px;left:16px}

.pdp-accordions summary span{display:flex;align-items:center;justify-content:center;color:#720113;transition:transform 180ms ease}
.pdp-accordions summary svg{display:block;transform:rotate(90deg)}
@media(prefers-reduced-motion:reduce){.pdp-accordions summary span{transition:none}}

/* Align the product information and remove its final divider. */
.pdp-info{min-width:0}
.pdp-title{align-items:center}
.pdp-title>span{flex-shrink:0}
.pdp-quantity{justify-content:space-between;padding:0 4px}
.pdp-purchase{align-items:center}
.pdp-purchase>.shop-add{flex:1;min-width:0}
.pdp-trust{align-items:center}
.pdp-trust>span{align-items:center}
.pdp-accordions summary{gap:16px;min-height:46px}
.pdp-accordions summary>span{width:20px;flex:0 0 20px}
.pdp-accordions details:last-child{border-bottom:0}

.pdp-lead{font-weight:700}

.chosen-care{position:relative;isolation:isolate;overflow:hidden;margin-top:60px;background:#f7f3ec}
.chosen-care>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.chosen-care-inner{max-width:1440px;margin:0 auto;padding:54px 120px;min-height:332px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.chosen-care-eyebrow{margin:0 0 16px;font:400 14px/20px Manrope,Arial,sans-serif;letter-spacing:1px;color:#720113}
.chosen-care h2{margin:0 0 20px;font:600 48px/1.05 'Cormorant Garamond',Georgia,serif;color:#080808}
.chosen-care-description{max-width:380px;margin:0;font:400 16px/24px Manrope,Arial,sans-serif;color:#080808}
@media(max-width:1200px){.chosen-care-inner{padding-left:60px;padding-right:60px}}
@media(max-width:900px){.chosen-care-inner{padding:40px 32px}.chosen-care>img{object-position:60% center}.chosen-care-description{max-width:340px}}
@media(max-width:600px){.chosen-care-inner{padding:36px 24px;background:linear-gradient(90deg,rgba(247,243,236,.94),rgba(247,243,236,.55) 70%,transparent)}.chosen-care h2{font-size:40px}.chosen-care-description{max-width:300px}.chosen-care-eyebrow{font-size:12px}}

.related-products{max-width:1440px;margin:60px auto 0;padding:0 120px}
.related-products>h2{margin:0 0 48px;font:600 48px/1.1 'Cormorant Garamond',Georgia,serif}
.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px}
.related-card{display:grid;grid-template-columns:1fr .95fr;gap:24px;min-width:0;align-items:stretch}
.related-photo{display:block;width:100%;height:100%;min-height:220px;object-fit:cover;border-radius:6px}
.related-info{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-width:0;padding-top:16px}
.related-info h3{margin:0 0 12px;font:600 24px/29px 'Cormorant Garamond',Georgia,serif}
.related-volume{font:400 14px/20px Manrope,Arial,sans-serif;color:rgba(106,106,106,.55)}
.related-info>p{margin:20px 0;font:400 14px/21px Manrope,Arial,sans-serif}
.related-price{margin-bottom:18px;font:600 24px/30px Manrope,Arial,sans-serif;color:#720113}
.related-info .shop-add{flex-shrink:0}
@media(max-width:1200px){.related-products{padding:0 60px}.related-grid{gap:40px}.related-card{gap:20px}}
@media(max-width:900px){.related-products{padding:0 32px}.related-grid{grid-template-columns:1fr;gap:32px}.related-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.related-photo{max-height:300px;object-fit:contain;background:#f7f3ef}}
@media(max-width:600px){.related-products{padding:0 24px}.related-products>h2{font-size:40px;margin-bottom:28px}.related-card{gap:16px}.related-photo{min-height:0;height:auto;align-self:start}.related-info{padding-top:0}.related-info h3{margin-bottom:8px}.related-info>p{margin:12px 0}.related-price{margin-bottom:12px}.related-info .shop-add{padding:0 8px;gap:6px;font-size:12px}}
.related-photo{clip-path:inset(0 0 0 0);backface-visibility:hidden}
@media(prefers-reduced-motion:no-preference){
 .related-photo.reveal-pending{clip-path:inset(0 0 100% 0)}
 .related-photo.reveal-visible{animation:collage-mask 1s cubic-bezier(.645,.045,.355,1) both}
 .related-card:nth-child(2) .related-photo.reveal-visible{animation-delay:100ms}
}

@media(min-width:701px){.pdp-info{padding-top:24px}}

.pdp-title>span{font:600 20px/26px Manrope,Arial,sans-serif;color:#720113}

.related-price{font:600 20px/26px Manrope,Arial,sans-serif}

.related-photo-frame{min-width:0;overflow:hidden;border-radius:6px}
.related-photo-frame .related-photo{transform:scale(1);transition:transform 500ms cubic-bezier(.215,.61,.355,1)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.related-photo-frame:hover .related-photo{transform:scale(1.05)}}
@media(max-width:600px){.related-photo-frame{align-self:start}}
@media(prefers-reduced-motion:reduce){.related-photo-frame .related-photo{transition:none}}
.shop-bag{position:fixed;inset:0 0 0 auto;margin:0;width:min(460px,100%);max-width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding:0;background:#f7f6f2;color:#080808;overflow:hidden;box-shadow:-8px 0 40px #35101714;font:400 14px/22px Manrope,Arial,sans-serif}
.shop-bag[open]{display:flex;flex-direction:column;animation:bag-enter 300ms cubic-bezier(.22,1,.36,1)}
.shop-bag::backdrop{background:rgba(30,19,18,.2);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.bag-heading{display:flex;align-items:center;justify-content:space-between;padding:26px 28px 22px;border-bottom:1px solid #e7ded8}
.shop-bag h2{margin:0;font:600 36px/1.1 'Cormorant Garamond',Georgia,serif}
.shop-bag .bag-close{position:static;width:36px;height:36px;display:grid;place-items:center;color:#720113;border-radius:50%}
.bag-items{flex:1;overflow:auto;padding:0 28px;overscroll-behavior:contain}
.bag-item{display:grid;grid-template-columns:84px minmax(0,1fr) 20px;gap:16px;align-items:start;padding:24px 0;border-bottom:1px solid #e7ded8}
.bag-item>img{width:84px;height:100px;object-fit:cover;border-radius:6px}
.bag-item h3{margin:0 0 4px;font:600 24px/28px 'Cormorant Garamond',Georgia,serif}
.bag-item-info>p{margin:0 0 14px;color:#625852;font-size:12px}
.bag-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.bag-row strong{color:#720113;font:600 16px Manrope,Arial,sans-serif;white-space:nowrap}
.bag-stepper{display:flex;align-items:center;border:1px solid #d5bdbc;border-radius:5px;height:32px;color:#720113}.bag-stepper button{width:28px;height:30px}.bag-stepper span{min-width:22px;text-align:center;font-size:13px}.bag-stepper button:disabled{opacity:.3;cursor:default}
.bag-remove{color:#720113;display:grid;place-items:center;width:24px;height:28px}
.bag-footer{padding:22px 28px 26px;border-top:1px solid #e7ded8;background:#fff}.bag-total{display:flex;justify-content:space-between;margin:0 0 18px;font-size:16px}.bag-total strong{font-size:20px;color:#720113}.bag-note{text-align:center;font-size:12px;margin:10px 0 16px}.bag-continue{display:block;margin:auto;color:#720113;border-bottom:1px solid #c7a2a7;font:400 14px/22px Manrope,Arial,sans-serif}.bag-empty{margin:48px 0;text-align:center;color:#625852}
@keyframes bag-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.shop-bag[open]{animation:none}}
@media(max-width:420px){.bag-heading{padding:22px 20px}.bag-items{padding:0 20px}.bag-footer{padding:20px}.bag-item{gap:10px;grid-template-columns:72px minmax(0,1fr) 20px}.bag-item>img{width:72px;height:90px}}

/* Shared centerline for drawer close and item remove controls. */
.bag-item{grid-template-columns:84px minmax(0,1fr) 36px}
.bag-remove{width:36px;justify-self:end}
@media(max-width:420px){.bag-item{grid-template-columns:72px minmax(0,1fr) 36px}}

.bag-promo{margin-bottom:8px}.bag-promo label{display:block;margin-bottom:8px;font-size:12px;color:#720113}.bag-promo>div{display:flex;gap:10px}.bag-promo input{min-width:0;flex:1;height:42px;border:1px solid #d8c4c1;border-radius:6px;background:#fff;padding:0 12px;font:400 14px Manrope,Arial,sans-serif;color:#080808}.bag-promo input:focus{outline:1px solid #720113;border-color:#720113}.bag-promo button{height:42px;padding:0 18px;border:1px solid #720113;border-radius:6px;color:#720113;font:400 14px Manrope,Arial,sans-serif;transition:background-color 250ms,color 250ms}.bag-promo button:hover{background:#720113;color:#fff}
#bag-promo-message{font:400 12px/18px Manrope,Arial,sans-serif;color:#720113;margin:0 0 14px}#bag-promo-message:empty{margin-bottom:18px}
.bag-discount{font:400 12px/20px Manrope,Arial,sans-serif;margin-bottom:16px}.bag-discount>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}.bag-discount>div:nth-child(2){color:#720113}.bag-discount>button{color:#625852;text-decoration:underline;font-size:12px}.bag-footer{flex-shrink:0;max-height:65dvh;overflow-y:auto}.bag-items{min-height:0}

/* Softer, more compact promo controls. */
.bag-promo label{font-size:11px;line-height:16px;color:#625852;margin-bottom:6px}
.bag-promo>div{gap:8px}
.bag-promo input{height:36px;border-color:#e6dcd8;border-radius:5px;padding:0 10px;font-size:13px}
.bag-promo button{height:36px;padding:0 14px;border-color:#dfceca;border-radius:5px;font-size:12px;background:#faf8f5}
.bag-promo button:hover{background:#f1e9e5;border-color:#b99398;color:#720113}

.bag-promo>div{width:280px;max-width:100%}
.bag-promo button{flex-shrink:0}

.bag-promo-disclosure{margin-bottom:18px}
.bag-promo-disclosure summary{display:inline-flex;align-items:center;gap:10px;list-style:none;cursor:pointer;color:#720113;font:400 13px/20px Manrope,Arial,sans-serif}
.bag-promo-disclosure summary::-webkit-details-marker{display:none}
.bag-promo-disclosure summary::after{content:'+';font-size:16px}
.bag-promo-disclosure[open] summary::after{content:'−'}
.bag-promo-disclosure .bag-promo{margin-top:12px}
.bag-promo-disclosure .bag-promo>div{width:100%}
.bag-promo-disclosure .bag-promo label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.bag-promo-disclosure #bag-promo-message{margin-bottom:0}

/* Keep page width unchanged while the cart locks scrolling. */
html{scrollbar-gutter:stable}

/* Match the site's subtle hover zoom, preserving the ELLE crop. */
.pdp-main-photo img{transform:scale(1);transition:transform 500ms cubic-bezier(.215,.61,.355,1)}
.pdp-main-photo img[src$="net-apax-award.webp"]{transform:scale(1.055)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .pdp-main-photo:hover img{transform:scale(1.05)}
 .pdp-main-photo:hover img[src$="net-apax-award.webp"]{transform:scale(1.10775)}
}
@media(prefers-reduced-motion:reduce){.pdp-main-photo img{transition:none}}

/* Fade the blur with the drawer instead of dropping it in a single frame. */
.shop-bag::backdrop{transition:backdrop-filter 180ms ease, -webkit-backdrop-filter 180ms ease, background-color 180ms ease}
.shop-bag.is-closing::backdrop{background-color:transparent;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}
.bag-footer{overscroll-behavior:contain}
@media(prefers-reduced-motion:reduce){.shop-bag::backdrop{transition:none}}

/* Discount entry: quiet outlined input with an adjacent compact action. */
.bag-promo-disclosure .bag-promo>div{gap:12px}
.bag-promo input{height:42px;padding:0 12px;border:1px solid #e5dbd3;border-radius:6px;font:400 14px Manrope,Arial,sans-serif;background:#fff}
.bag-promo input::placeholder{color:#625852;opacity:1}
.bag-promo button{height:42px;padding:0 16px;border:1px solid #720113;border-radius:6px;background:#fff;color:#720113;font:600 14px Manrope,Arial,sans-serif}
.bag-promo button:hover{background:#720113;border-color:#720113;color:#fff}

.checkout-page{max-width:1320px;margin:0 auto;padding:48px 60px 80px;font:400 14px/1.6 Manrope,Arial,sans-serif}
.checkout-page [hidden]{display:none!important}.checkout-page h1{font:600 48px/1.1 'Cormorant Garamond',serif;margin:0 0 20px}.checkout-page h2,.delivery-options legend{font:600 28px/1.2 'Cormorant Garamond',serif;margin:0 0 24px}.checkout-steps{display:flex;gap:14px;align-items:center;color:#625852;margin-bottom:40px}.checkout-steps button{font:inherit;color:#720113}.checkout-steps [aria-current]{color:#720113}.checkout-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);gap:72px;align-items:start}.checkout-page form section{margin-bottom:32px}.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.checkout-field{display:flex;flex-direction:column;gap:8px;min-width:0}.checkout-field input,.checkout-field select{height:44px;width:100%;min-width:0;border:1px solid #ded2ce;border-radius:6px;background:#fff;padding:0 12px;font:inherit;color:#161616}.checkout-field input:focus,.checkout-field select:focus{outline:2px solid #b88a91;outline-offset:2px}.delivery-options{border:0;padding:0;margin:0 0 26px;min-width:0}.delivery-options label{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #e5dbd3;border-radius:6px;margin-bottom:12px;cursor:pointer}.delivery-options label:has(input:checked){border-color:#720113;background:#faf7f5}.delivery-options input{accent-color:#720113}.delivery-options span{flex:1}.delivery-options strong{font-weight:500}.delivery-options small{display:block;color:#625852;font-size:12px}.delivery-options b{color:#720113;font-weight:500}.delivery-options p{font-size:12px;color:#625852}.checkout-next{width:100%;justify-content:space-between;padding:0 20px}.checkout-next:disabled{opacity:.4;cursor:default}.checkout-summary{position:sticky;top:100px;padding:28px;background:#f7f6f2;border-radius:8px}.checkout-item{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #e5dbd3}.checkout-item img{object-fit:cover;border-radius:5px}.checkout-item div{flex:1}.checkout-item h3{font:600 22px 'Cormorant Garamond',serif;margin:0 0 4px}.checkout-item p{font-size:12px;color:#625852;margin:0}.checkout-item strong{font-weight:500;color:#720113}.checkout-summary a,#checkout-payment a,#edit-delivery{color:#720113;text-decoration:underline}#checkout-totals{margin-top:24px}#checkout-totals p{display:flex;justify-content:space-between;gap:20px;margin:12px 0}.checkout-grand-total{padding-top:18px;border-top:1px solid #e5dbd3;color:#720113;font-size:20px}.checkout-grand-total strong{font-weight:600}.payment-pending{background:#f7f6f2;border-radius:6px;padding:24px;margin:28px 0}.payment-pending h3{font:600 24px 'Cormorant Garamond',serif;margin-top:0}#delivery-review{overflow-wrap:anywhere}#edit-delivery{font:inherit}#checkout-payment:focus{outline:none}
@media(max-width:900px){.checkout-page{padding:32px}.checkout-grid{gap:32px;grid-template-columns:1fr 1fr}.checkout-fields{grid-template-columns:1fr}.checkout-summary{padding:20px}}
@media(max-width:650px){.checkout-page{padding:28px 20px 48px}.checkout-grid{grid-template-columns:1fr}.checkout-summary{position:static}.checkout-steps{gap:10px;font-size:12px}.checkout-page h1{font-size:40px}}

/* Editorial promo disclosure, matching the bag typography. */
.bag-promo-disclosure{padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid #e5dbd3}
.bag-promo-disclosure summary{display:flex;justify-content:space-between;align-items:center;width:100%;gap:16px;color:#720113;font:600 22px/28px 'Cormorant Garamond',Georgia,serif}
.bag-promo-disclosure summary::after{content:'+';flex:none;width:20px;text-align:center;font:400 22px/28px Manrope,Arial,sans-serif}
.bag-promo-disclosure[open] summary::after{content:'−'}
.bag-promo-disclosure .bag-promo{margin-top:16px}

/* Give the secondary shopping link room below checkout. */
.bag-continue{margin:32px auto 0}

/* White checkout canvas and a restrained visual progress path. */
body.checkout-body{background:#fff}
.checkout-body .site-header{background:transparent}
.checkout-body .checkout-page{background:#fff}
.checkout-steps{display:flex;align-items:center;gap:16px;max-width:590px;margin:28px 0 48px}
.checkout-steps .checkout-step{display:flex;align-items:center;gap:10px;flex:none;font:400 13px/20px Manrope,Arial,sans-serif;color:#958c89;white-space:nowrap}
.checkout-steps .step-dot{display:grid;place-items:center;width:30px;height:30px;border:1px solid #dfd5d1;border-radius:50%;font-size:12px;background:#fff;color:#958c89}
.checkout-steps .is-complete{color:#720113}.checkout-steps .is-complete .step-dot{background:#f8f1f1;color:#720113;border-color:#e3cacc}
.checkout-steps [aria-current="step"]{color:#720113;font-weight:600}.checkout-steps [aria-current="step"] .step-dot{background:#720113;color:#fff;border-color:#720113;box-shadow:0 0 0 4px #f8f1f1}
.checkout-steps .step-connector{height:1px;background:#e5dbd7;flex:1;min-width:18px}
.checkout-steps:has(#payment-step[aria-current]) #delivery-step{color:#720113}.checkout-steps:has(#payment-step[aria-current]) #delivery-step .step-dot{border-color:#b98e95;color:#720113}
.checkout-summary{background:#faf8f6;border:1px solid #e9dfda;border-top:3px solid #720113;border-radius:10px;padding:30px;box-shadow:0 12px 36px rgba(60,25,20,.035)}
.checkout-summary h2{margin-bottom:12px}.checkout-item{padding:22px 0;gap:18px}.checkout-item img{background:white;border:1px solid #eee5e0;border-radius:6px}.checkout-item strong{white-space:nowrap;font-size:14px}
.checkout-summary .checkout-grand-total{background:#fff;margin:20px -14px -14px!important;padding:18px 14px;border:1px solid #e9dfda;border-radius:6px}
@media(max-width:650px){.checkout-steps{gap:10px;margin-bottom:36px}.checkout-steps .checkout-step{flex-direction:column;gap:8px;font-size:11px}.checkout-steps .step-connector{align-self:flex-start;margin-top:15px}.checkout-summary{padding:24px}}

/* Match the promo and subtotal labels in the bag. */
.shop-bag .bag-total>span{font:600 22px/28px 'Cormorant Garamond',Georgia,serif;color:#720113}
.shop-bag .bag-total{align-items:center}

/* Balanced checkout form; both columns follow the normal page scroll. */
.checkout-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px}
.checkout-summary{position:static;top:auto;align-self:start}
.checkout-page form section{margin:0 0 28px;padding:0 0 28px;border-bottom:1px solid #eee6e2}
.checkout-page form h2{margin-bottom:20px;font-size:26px}
.checkout-fields{gap:16px 20px}
.checkout-field{gap:7px;font-size:13px;color:#514746}
.checkout-field-wide{grid-column:1/-1}
.checkout-field input,.checkout-field select{height:46px;color:#161616;border-color:#e1d6d1;transition:border-color 180ms}
.checkout-field input:hover,.checkout-field select:hover{border-color:#bc9a9d}
.checkout-page .delivery-options legend{font-size:26px;margin-bottom:20px}
.checkout-steps{margin-bottom:36px}
@media(max-width:900px){.checkout-grid{gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}.checkout-fields{grid-template-columns:1fr}.checkout-field-wide{grid-column:auto}}
@media(max-width:650px){.checkout-grid{grid-template-columns:1fr}.checkout-page form section{padding-bottom:24px;margin-bottom:24px}}

.checkout-next{justify-content:center;gap:12px;border-radius:6px;font:400 16px/22px Manrope,Arial,sans-serif}
.checkout-next svg{flex-shrink:0}

/* Compact checkout summary with quantity badges and inline discount entry. */
.checkout-summary{background:#f8f6f3;border:1px solid #ebe3de;border-radius:10px;box-shadow:none;padding:28px}
.checkout-summary h2{font-size:28px;margin-bottom:24px}
.checkout-item{gap:18px;padding:12px 0;border:0;min-width:0}
.checkout-item .summary-photo{position:relative;flex:0 0 72px;width:72px;height:80px;margin-right:2px}
.summary-photo img{width:72px;height:80px;object-fit:cover;border:1px solid #e8ded8;border-radius:12px}
.summary-quantity{position:absolute;right:-7px;top:-7px;display:grid;place-items:center;min-width:24px;height:24px;padding:0 5px;border:2px solid #f8f6f3;border-radius:50%;background:#720113;color:white;font:500 11px/1 Manrope,Arial,sans-serif}
.checkout-item .summary-item-copy{min-width:0;flex:1}.checkout-item h3{font-size:22px;line-height:1.1}.checkout-item p{margin-top:6px}.checkout-item strong{font-size:14px}
#checkout-items{padding:0 8px 18px 0;max-height:340px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c9b4b5 transparent;border-bottom:1px solid #e5dbd3}
.summary-promo{margin-top:22px}.summary-promo-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.summary-promo>div{display:flex;gap:10px}.summary-promo input{min-width:0;flex:1;height:42px;border:1px solid #dfd4cf;border-radius:6px;padding:0 12px;font:400 13px Manrope,Arial,sans-serif;background:#fff}.summary-promo button{height:42px;padding:0 16px;border:1px solid #720113;border-radius:6px;color:#720113;font:500 13px Manrope,Arial,sans-serif;transition:background 200ms,color 200ms}.summary-promo button:hover{background:#720113;color:white}.summary-promo input:focus{outline:1px solid #720113;outline-offset:2px}#summary-promo-message{font-size:12px;color:#720113;margin:8px 0 0}#summary-promo-message:empty{display:none}
.checkout-summary .checkout-grand-total{background:transparent;border:0;border-top:1px solid #dfd4cf;border-radius:0;margin:20px 0 0!important;padding:20px 0 0}
#summary-remove-code{color:#720113;margin-left:5px;font-size:16px}
@media(max-width:650px){.checkout-summary{padding:24px}.checkout-item{gap:14px}}

/* Keep the country chevron centered with a consistent inset. */
.checkout-field select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m6 9 6 6 6-6' stroke='%23720113' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px 16px}

/* Separate the pale product photography from the summary panel. */
.checkout-summary{background:#f7f4f0;border-color:#e9e1da}
.checkout-summary .summary-photo img{border:2px solid #fff;box-shadow:0 3px 10px rgba(65,39,30,.08)}
.checkout-summary .summary-quantity{border-color:#f7f4f0}

/* One delivery country: display it without a redundant dropdown. */
.checkout-country-value{display:flex;align-items:center;min-height:46px;padding:0 12px;border:1px solid #e1d6d1;border-radius:6px;background:#faf8f6;color:#514746;font:400 13px/20px Manrope,Arial,sans-serif}
.checkout-country small{font:400 11px/16px Manrope,Arial,sans-serif;color:#625852}

.checkout-steps .is-complete .step-dot svg{display:block;width:16px;height:16px;flex:none}

/* Advanced facials: editorial rows, supplied treatment photography. */
.advanced-section{max-width:1440px;margin:60px auto 0;padding:0 120px}.advanced-section[hidden]{display:none}
.advanced-eyebrow{margin:0 0 16px;font:400 14px/20px Manrope,Arial,sans-serif;letter-spacing:1px;color:#720113}
.advanced-section h2{margin:0 0 24px;font:600 48px/1.1 'Cormorant Garamond',Georgia,serif;color:#080808}
.advanced-intro{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:48px}.advanced-intro p{margin:0;font:400 16px/24px Manrope,Arial,sans-serif}.advanced-intro p:last-child{font-size:14px;letter-spacing:1px;color:#720113;text-align:right}
.advanced-list{display:grid;gap:24px}.advanced-treatment{display:grid;grid-template-columns:minmax(0,1fr) 130px 156px 32.7%;align-items:center;min-height:128px;background:#f7f6f2;border:1px solid transparent;border-radius:6px;overflow:hidden;transition:border-color 450ms ease}
.advanced-copy{padding:24px 28px}.advanced-copy h3{margin:0 0 10px;font:600 38px/1.05 'Cormorant Garamond',Georgia,serif;color:#080808}.advanced-copy p{margin:0;font:400 14px/20px Manrope,Arial,sans-serif;color:#625852}
.advanced-duration,.advanced-price{display:flex;align-items:center;justify-content:center;min-height:72px;border-left:1px solid #eae6e1;font:400 14px/20px Manrope,Arial,sans-serif;color:#625852}.advanced-price{font-weight:600;font-size:18px;color:#720113}
.advanced-photo{position:relative;align-self:stretch;overflow:hidden;min-height:128px}.advanced-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform 500ms cubic-bezier(.215,.61,.355,1)}
.advanced-arrow{position:absolute;right:20px;bottom:12px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#f4efdf;color:#720113;transition:background 500ms,color 500ms}
@media(hover:hover){.advanced-treatment:hover{border-color:rgba(114,1,19,.14)}.advanced-treatment:hover img{transform:scale(1.05)}.advanced-treatment:hover .advanced-arrow{background:#720113;color:#fff}}
@media(max-width:1200px){.advanced-section{padding:0 60px}.advanced-treatment{grid-template-columns:minmax(0,1fr) 85px 95px 30%}.advanced-copy{padding:22px}.advanced-copy h3{font-size:32px}}
@media(max-width:900px){.advanced-section{padding:0 32px}.advanced-intro{display:block}.advanced-intro p:last-child{text-align:left;margin-top:12px}.advanced-treatment{grid-template-columns:minmax(0,1fr) 75px 85px 28%}.advanced-copy h3{font-size:28px}}
@media(max-width:650px){.advanced-section{padding:0 24px}.advanced-section h2{font-size:38px}.advanced-intro{margin-bottom:28px}.advanced-treatment{grid-template-columns:1fr 1fr}.advanced-copy{grid-column:1/-1;padding:24px 20px 16px}.advanced-copy h3{font-size:30px}.advanced-duration,.advanced-price{min-height:40px;margin-bottom:16px}.advanced-duration{border:0}.advanced-photo{grid-column:1/-1;aspect-ratio:784/256}.advanced-arrow{right:14px}}
@media(prefers-reduced-motion:reduce){.advanced-treatment,.advanced-photo img,.advanced-arrow{transition:none}.advanced-treatment:hover img{transform:none}}

/* Give treatment names enough room without crowding duration and price. */
@media(min-width:901px){.advanced-treatment{grid-template-columns:minmax(0,1fr) 90px 110px 32.7%}.advanced-copy{padding:24px}.advanced-copy h3{font-size:32px;white-space:nowrap}}
@media(min-width:651px) and (max-width:900px){.advanced-treatment{grid-template-columns:minmax(0,1fr) 65px 70px 24%}.advanced-copy{padding:18px 14px}.advanced-copy h3{font-size:clamp(19px,2.65vw,24px);white-space:nowrap}}
@media(max-width:650px){.advanced-copy h3{font-size:clamp(20px,4.6vw,28px);white-space:nowrap}}

/* Consultation formats, sharing the homepage treatment selection motion. */
.consultation-section{max-width:1440px;margin:100px auto 0;padding:0 120px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:60px;align-items:start}.consultation-section[hidden]{display:none}
.consultation-photo{overflow:hidden;border-radius:6px;aspect-ratio:1040/1010}.consultation-photo>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 500ms cubic-bezier(.215,.61,.355,1)}
.consultation-eyebrow{margin:0 0 20px;font:400 14px/20px Manrope,Arial,sans-serif;letter-spacing:1px;color:#720113}.consultation-copy h2{margin:0 0 16px;font:600 48px/1.05 'Cormorant Garamond',Georgia,serif;color:#080808}.consultation-intro{margin:0 0 36px;font:400 16px/23px Manrope,Arial,sans-serif}
.consultation-options{display:grid;gap:10px}.consultation-row{position:relative;display:grid;grid-template-columns:80px minmax(0,1fr) 20px;gap:24px;align-items:center;width:100%;min-height:126px;padding:16px 28px 16px 24px;text-align:left;border-radius:6px;transition:background-color 600ms ease-in-out}.consultation-row[aria-pressed=true]{background:#f7f6f2}.consultation-marker{position:absolute;left:0;top:0;height:100%;width:6px;object-fit:fill;opacity:0;transition:opacity 600ms ease-in-out}.consultation-row[aria-pressed=true] .consultation-marker{opacity:1}.consultation-number{display:flex;align-items:center;justify-content:center;border-right:1px solid #eae6e1;align-self:stretch;color:#720113;font:500 38px/1 'Cormorant Garamond',Georgia,serif}.consultation-details{display:grid;gap:10px}.consultation-name{font:600 38px/1.05 'Cormorant Garamond',Georgia,serif}.consultation-description{font:400 16px/22px Manrope,Arial,sans-serif}.consultation-arrow{transition:transform 450ms ease}.consultation-row:hover .consultation-arrow{transform:translateX(4px)}.consultation-options.intro-pending .consultation-row[aria-pressed=true]{background:transparent}.consultation-options.intro-pending .consultation-marker{opacity:0}
@media(hover:hover){.consultation-photo:hover>img{transform:scale(1.05)}}
@media(max-width:1200px){.consultation-section{padding:0 60px;gap:40px}.consultation-row{grid-template-columns:54px minmax(0,1fr) 20px;gap:18px;padding:16px 20px 16px 14px}}
@media(max-width:900px){.consultation-section{padding:0 32px;gap:28px}.consultation-copy h2{font-size:40px}.consultation-row{grid-template-columns:40px minmax(0,1fr) 16px;gap:12px;padding-right:12px}.consultation-name{font-size:32px}.consultation-number{font-size:32px}.consultation-photo{align-self:stretch;aspect-ratio:auto}}
@media(max-width:650px){.consultation-section{padding:0 24px;grid-template-columns:1fr}.consultation-photo{aspect-ratio:1040/1010}.consultation-copy h2{font-size:40px}.consultation-row{grid-template-columns:54px minmax(0,1fr) 20px;gap:18px}}
@media(prefers-reduced-motion:reduce){.consultation-row,.consultation-marker,.consultation-arrow,.consultation-photo>img{transition:none}.consultation-photo:hover>img{transform:none}}

/* Gift certificates with a translucent glass signature card. */
.gift-section{max-width:1440px;margin:100px auto 0;padding:0 120px;display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1fr);gap:60px;align-items:center}.gift-section[hidden]{display:none}
.gift-copy{text-align:right}.gift-eyebrow{margin:0 0 20px;font:400 14px/20px Manrope,Arial,sans-serif;letter-spacing:1px;color:#720113}.gift-copy h2{margin:0 0 24px;font:600 48px/1.05 'Cormorant Garamond',Georgia,serif;color:#080808}.gift-description{margin:0 0 28px auto;max-width:320px;font:400 16px/23px Manrope,Arial,sans-serif}.gift-purchase{font:400 14px/20px Manrope,Arial,sans-serif;padding:0 18px}
.gift-photo{position:relative;aspect-ratio:1428/862;border-radius:6px;overflow:hidden}.gift-background{display:block;width:100%;height:100%;object-fit:cover;transition:transform 500ms cubic-bezier(.215,.61,.355,1)}
.gift-glass{position:absolute;right:26px;bottom:24px;display:flex;align-items:center;gap:16px;padding:18px;border:1px solid rgba(255,255,255,.7);border-radius:6px;background:rgba(255,255,255,.28);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);box-shadow:0 2px 12px rgba(43,16,22,.025);max-width:calc(100% - 32px)}.gift-glass>img{width:78px;height:54px;object-fit:contain;flex:none}.gift-glass p{margin:0}.gift-occasion{font:600 14px/20px 'Cormorant Garamond',Georgia,serif;letter-spacing:1.3px;color:#720113}.gift-glass .gift-format{font:400 14px/20px Manrope,Arial,sans-serif;margin:4px 0 10px}.gift-location{font:400 8px/12px Manrope,Arial,sans-serif;letter-spacing:.5px;color:#720113}
@media(hover:hover){.gift-photo:hover .gift-background{transform:scale(1.05)}}
@media(max-width:1200px){.gift-section{padding:0 60px;gap:40px}.gift-copy h2{font-size:42px}.gift-glass{right:18px;bottom:18px;padding:14px;gap:12px}.gift-glass>img{width:64px}}
@media(max-width:900px){.gift-section{padding:0 32px;gap:28px;grid-template-columns:minmax(0,.65fr) minmax(0,1fr)}.gift-copy h2{font-size:38px}.gift-photo{aspect-ratio:1.2}.gift-glass>img{width:48px}.gift-glass{padding:12px;right:12px;bottom:12px}.gift-glass .gift-format{font-size:12px}.gift-occasion{font-size:12px;letter-spacing:.8px}}
@media(max-width:650px){.gift-section{padding:0 24px;grid-template-columns:1fr;gap:28px}.gift-copy{text-align:left}.gift-description{margin-left:0;max-width:400px}.gift-copy h2{font-size:40px}.gift-photo{aspect-ratio:1.2}.gift-glass{max-width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){.gift-background{transition:none}.gift-photo:hover .gift-background{transform:none}}

/* Keep catalog prices beside the copy, including when filters are open. */
.shop-card .shop-details{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:14px;row-gap:8px;padding-right:0}
.shop-card .shop-name{grid-column:1;grid-row:1}
.shop-card .shop-details>p{grid-column:1;grid-row:2;margin:0}
.shop-card .shop-price{position:static;display:block;grid-column:2;grid-row:1/3;align-self:center;margin:0;white-space:nowrap}

/* Compact language selector, keeping the header width stable. */
.language{position:relative;width:44px;min-width:44px;height:44px;display:block}
.language>span{display:none}
.language button{position:absolute;left:0;top:0;width:44px;height:44px;display:grid;place-items:center;margin:0;color:#720113}
.language button[aria-pressed="true"]{opacity:1;visibility:visible}
.language button[aria-pressed="false"]{top:100%;background:rgba(255,255,255,.96);border:1px solid #eadeda;border-radius:6px;box-shadow:0 4px 12px #3510170d;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity 180ms,transform 180ms,visibility 180ms}
.language:has(button:focus-visible) button[aria-pressed="false"],.language.is-open button[aria-pressed="false"]{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
@media(hover:hover){.language:hover button[aria-pressed="false"]{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.language button:hover{background:#f7f3f0;border-radius:6px}}
@media(prefers-reduced-motion:reduce){.language button{transition:none}}

.language.is-dismissed button[aria-pressed="false"]{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px)}

@media(min-width:1251px){.header-actions>.language{margin-right:-18px}}
@media(min-width:601px) and (max-width:1250px){.header-actions>.language{margin-right:-8px}}

.has-treatment-dialog{cursor:pointer}
.treatment-dialog{width:min(1160px,calc(100% - 64px));max-width:none;max-height:calc(100dvh - 64px);padding:0;border:0;border-radius:6px;background:#f7f6f2;color:#080808;overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 70px #20100f26}
.treatment-dialog::backdrop{background:rgba(30,25,20,.44);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.treatment-dialog-layout{display:grid;grid-template-columns:41% 59%;min-height:636px}
.treatment-dialog-photo{position:relative;overflow:hidden;min-height:100%}.treatment-dialog-photo img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;transition:transform 500ms cubic-bezier(.215,.61,.355,1)}
.treatment-dialog-copy{position:relative;padding:44px 54px;font:400 16px/23px Manrope,Arial,sans-serif}.treatment-dialog-copy p{margin:0 0 28px}.treatment-dialog-copy .treatment-dialog-eyebrow{font:400 14px/20px Manrope,Arial,sans-serif;letter-spacing:1px;color:#720113;margin:0 48px 18px 0}
.treatment-dialog-copy h2{font:600 48px/1.05 'Cormorant Garamond',Georgia,serif;margin:0 0 28px}.treatment-dialog-copy h3{font:600 28px/1.15 'Cormorant Garamond',Georgia,serif;margin:0 0 18px}
.treatment-dialog-meta{display:flex;gap:30px;align-items:center;margin:0 0 26px;font:400 20px/26px Manrope,Arial,sans-serif;color:#625852}.treatment-dialog-meta strong{padding-left:30px;border-left:1px solid #e6e1dc;font-weight:600;color:#720113}
.treatment-dialog-copy .treatment-best-title{color:#720113;margin-bottom:16px}.treatment-tags{list-style:none;padding:0;margin:0 0 32px;display:flex;flex-wrap:wrap;gap:12px}.treatment-tags li{background:#eae3d7;border-radius:6px;padding:10px 20px;font:400 14px/20px Manrope,Arial,sans-serif}
.treatment-dialog-close{position:absolute;right:28px;top:28px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#f0e9e6;color:#720113}.treatment-dialog-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.treatment-results{font:400 14px/20px Manrope,Arial,sans-serif;color:#720113}
@media(hover:hover){.treatment-dialog-photo:hover img{transform:scale(1.05)}}
@media(max-width:900px){.treatment-dialog-copy{padding:36px 28px}.treatment-dialog-copy h2{font-size:40px}.treatment-dialog-close{right:16px;top:16px}.treatment-dialog-actions{gap:18px}.treatment-tags li{padding:8px 12px}}
@media(max-width:650px){.treatment-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.treatment-dialog-layout{grid-template-columns:1fr;min-height:0}.treatment-dialog-photo{height:260px;min-height:0}.treatment-dialog-photo img{object-position:center 35%}.treatment-dialog-copy{padding:28px 24px}.treatment-dialog-copy h2{font-size:38px}.treatment-dialog-copy h3{font-size:26px}}
@media(prefers-reduced-motion:reduce){.treatment-dialog-photo img{transition:none}.treatment-dialog-photo:hover img{transform:none}}

.treatment-dialog:focus{outline:none}
.treatment-dialog-close:focus:not(:focus-visible){outline:none}

@media(min-width:901px){.treatment-dialog-copy{padding-top:30px}}
@media(min-width:651px) and (max-width:900px){.treatment-dialog-copy{padding-top:24px}}

.treatment-results{display:inline-flex;align-items:center;gap:8px}.treatment-results svg{display:block}


.cleansing-results[hidden]{display:none}.cleansing-results{overflow:hidden}.cleansing-results-inner{padding:32px 64px 60px}.results-eyebrow{margin:0 0 24px;font:400 14px/20px Manrope,Arial,sans-serif;letter-spacing:1px;color:#720113}.cleansing-results h2{margin:0 0 28px;font:600 48px/1.1 'Cormorant Garamond',Georgia,serif}.cleansing-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cleansing-comparison figure{margin:0;position:relative;border-radius:6px;overflow:hidden}.cleansing-comparison img{display:block;width:100%;aspect-ratio:1040/552;object-fit:cover}.cleansing-comparison figcaption{position:absolute;top:16px;left:20px;padding:6px 14px;border-radius:4px;background:#720113;color:#fff;font:400 10px/14px Manrope,Arial,sans-serif;letter-spacing:1px}.cleansing-comparison figure+figure figcaption{background:#f3e9de;color:#720113}.faq-eyebrow{margin-top:40px;margin-bottom:28px}.treatment-faq{background:#eae3d7;border-radius:6px;margin:0 0 20px}.treatment-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:16px 28px;cursor:pointer;font:600 24px/1.2 'Cormorant Garamond',Georgia,serif}.treatment-faq summary::-webkit-details-marker{display:none}.treatment-faq summary>span{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#f6ede8;color:#720113;transition:transform 240ms}.treatment-faq[open] summary>span{transform:rotate(90deg)}.treatment-faq p{margin:0;padding:0 28px 20px;font:400 16px/24px Manrope,Arial,sans-serif}
@media(max-width:900px){.cleansing-results-inner{padding:28px}.cleansing-results h2{font-size:40px}}
@media(max-width:650px){.cleansing-results-inner{padding:28px 24px 36px}.cleansing-results h2{font-size:34px}.cleansing-comparison{gap:12px}.cleansing-comparison figcaption{top:8px;left:8px;padding:4px 8px;font-size:8px}.treatment-faq summary{padding:16px;font-size:22px}.treatment-faq p{padding:0 16px 16px}}
@media(prefers-reduced-motion:reduce){.treatment-faq summary>span{transition:none}}

.treatment-dialog-actions .treatment-results{margin:0;gap:6px;min-height:42px}
@media(prefers-reduced-motion:reduce){.treatment-results .approach-arrow{transition:none}}

/* FAQ arrows match the advanced treatment cards. */
.treatment-faq summary>span{width:40px;height:40px;background:#f4efdf;color:#720113;transition:transform 240ms,background-color 500ms,color 500ms}
.treatment-faq summary>span svg{display:block;width:18px;height:18px}
@media(hover:hover){.treatment-faq summary:hover>span{background:#720113;color:#fff}}
.treatment-faq summary:focus-visible>span{background:#720113;color:#fff}
@media(prefers-reduced-motion:reduce){.treatment-faq summary>span{transition:none}}

.treatment-faq summary{font-size:22px}
@media(max-width:650px){.treatment-faq summary{font-size:20px}}

/* Keep comparison photos landscape instead of using intrinsic HTML height. */
.cleansing-comparison figure{aspect-ratio:1.88;align-self:start}
.cleansing-comparison img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}

/* Keep the close control above every section of the scrolling dialog. */
.treatment-dialog-close-anchor{position:sticky;top:0;height:0;z-index:5;overflow:visible;pointer-events:none}
.treatment-dialog-close-anchor .treatment-dialog-close{pointer-events:auto;top:28px;right:28px}
@media(max-width:900px){.treatment-dialog-close-anchor .treatment-dialog-close{top:16px;right:16px}}

/* Crossfade from the in-content close control to the pinned one. */
.treatment-dialog-close-anchor,.treatment-original-close{opacity:1;transition:opacity 220ms ease-in-out}
.treatment-dialog-close-anchor.is-hidden,.treatment-original-close.is-hidden{opacity:0;pointer-events:none}
.treatment-dialog-close-anchor.is-hidden .treatment-dialog-close{pointer-events:none}
@media(prefers-reduced-motion:reduce){.treatment-dialog-close-anchor,.treatment-original-close{transition:none}}

/* Lightweight language menu with a quiet chevron and full language name. */
.language{width:52px;min-width:52px}
.language button[aria-pressed="true"]{width:52px;display:flex;justify-content:center;gap:7px;border-radius:22px;background:transparent;font-size:13px;letter-spacing:.03em}
.language button[aria-pressed="true"]::after{content:"";width:5px;height:5px;border-right:1.25px solid currentColor;border-bottom:1.25px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform 200ms ease}
.language button[aria-pressed="false"]{left:auto;right:0;top:100%;width:142px;height:44px;padding:0 15px;display:flex;justify-content:flex-start;gap:12px;border:0;border-radius:12px;background:#fffdf9;box-shadow:0 8px 28px #35101714,0 1px 4px #35101708;font-size:12px;font-weight:500;transform:translateY(-5px);transition:opacity 200ms ease,transform 200ms ease,visibility 200ms}
.language button[aria-pressed="false"]::after{font-size:13px;font-weight:400;letter-spacing:0;color:#38302e}
.language button[data-language="uk"][aria-pressed="false"]::after{content:"Українська"}
.language button[data-language="en"][aria-pressed="false"]::after{content:"English"}
.language.is-open button[aria-pressed="true"]::after,.language:has(button:focus-visible) button[aria-pressed="true"]::after{transform:translateY(1px) rotate(225deg)}
@media(hover:hover){.language:hover button[aria-pressed="true"]::after{transform:translateY(1px) rotate(225deg)}.language button[aria-pressed="true"]:hover{background:transparent;border-radius:22px}.language button[aria-pressed="false"]:hover{background:#f5f0e8;border-radius:12px}}
.language.is-dismissed button[aria-pressed="true"]::after{transform:translateY(-2px) rotate(45deg)}
@media(prefers-reduced-motion:reduce){.language button,.language button::after{transition:none!important}}

.reviews-autoplay{display:block;margin:20px 0 0 auto;padding:8px 0;border:0;background:transparent;color:#720113;font:400 12px Manrope,Arial,sans-serif;cursor:pointer}.reviews-autoplay:hover{text-decoration:underline}.reviews-autoplay:focus-visible{outline:2px solid #720113;outline-offset:4px}

/* About Anna — shared typography and page gutters. */
.about-hero{position:relative;overflow:hidden;background:#eee5dc}
.about-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.about-inner{position:relative;max-width:1440px;min-height:572px;margin:auto;padding:150px 120px 56px}
.about-copy{max-width:630px}.about-eyebrow,.about-tagline{font:400 14px/1.5 Manrope,Arial,sans-serif;color:#720113;letter-spacing:1px}
.about-eyebrow{margin:0 0 16px}.about-copy h1{font:600 58px/1.05 'Cormorant Garamond',Georgia,serif;margin:0 0 26px;max-width:620px;color:#080808}
.about-description{max-width:460px;font:400 16px/26px Manrope,Arial,sans-serif;margin:0 0 26px;color:#080808}
.about-consult{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px;padding:0 30px;font:400 14px Manrope,Arial,sans-serif}
.about-tagline{margin:18px 0 0}
.about-signature{position:absolute;left:54%;bottom:54px;display:flex;align-items:center;gap:18px;padding:18px 20px;border:1px solid #ffffff99;border-radius:6px;background:#fff9f3b3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.about-signature>img{width:78px;height:64px;object-fit:contain}.about-signature p{margin:0}.about-signature-name{font:600 14px/1.3 'Cormorant Garamond',serif;letter-spacing:2px;color:#720113}.about-signature-role{font:400 14px/20px Manrope,Arial,sans-serif;white-space:pre-line;padding:6px 0 8px}.about-signature-place{font:400 8px/1.4 Manrope,Arial,sans-serif;letter-spacing:.6px;color:#720113}
#consultation-title{scroll-margin-top:110px}
@media(max-width:1200px){.about-inner{padding-left:60px;padding-right:60px}.about-copy{max-width:55%}.about-copy h1{font-size:52px}.about-signature{left:55%;bottom:40px}}
@media(max-width:900px){.about-inner{padding:100px 32px 44px;min-height:560px}.about-copy h1{font-size:46px}.about-copy{max-width:56%}.about-signature{left:auto;right:24px;bottom:28px;padding:14px;gap:12px}.about-signature>img{width:52px}.about-signature-role{font-size:12px}}
@media(max-width:600px){.about-background{position:relative;display:block;height:300px;object-position:75% center}.about-inner{padding:32px 24px;min-height:0;background:#f7f6f2}.about-copy{max-width:none}.about-copy h1{font-size:42px}.about-description{font-size:15px;line-height:24px}.about-signature{position:relative;left:auto;right:auto;bottom:auto;margin-top:28px;width:fit-content;background:#eee5df}.about-signature>img{width:66px}.about-signature-role{font-size:14px}}

/* Softer contrast behind the copy and a quieter signature card. */
.about-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,252,247,.48) 0%,rgba(255,252,247,.30) 30%,rgba(255,252,247,.08) 49%,transparent 64%)}
.about-inner{z-index:1}
.about-signature{transform:scale(.82);transform-origin:left bottom}
@media(max-width:900px){.about-signature{transform-origin:right bottom}}
@media(max-width:600px){.about-hero::after{display:none}.about-signature{transform:none;padding:12px 16px;gap:12px}.about-signature>img{width:54px;height:52px}.about-signature-name{font-size:12px}.about-signature-role{font-size:12px;line-height:17px}.about-signature-place{font-size:7px}}

/* Meet Anna */
.meet-anna{max-width:1440px;margin:0 auto;padding:80px 120px 100px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.meet-anna-photo{overflow:hidden;border-radius:6px;aspect-ratio:1136/1152}.meet-anna-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 500ms cubic-bezier(.215,.61,.355,1)}
@media(hover:hover){.meet-anna-photo:hover img{transform:scale(1.035)}}
.meet-anna-copy .meet-anna-eyebrow{margin:0 0 18px;color:#720113;font:400 14px/1.5 Manrope,Arial,sans-serif;letter-spacing:1.5px}
.meet-anna-copy h2{font:600 48px/1.1 'Cormorant Garamond',Georgia,serif;white-space:pre-line;margin:0 0 28px;color:#080808}
.meet-anna-copy>p{font:400 16px/1.5 Manrope,Arial,sans-serif;margin:0 0 18px;color:#080808}
.meet-anna-copy blockquote{max-width:480px;margin:28px 0 0;color:#720113}.meet-anna-copy blockquote p{font:italic 400 28px/1.25 'Cormorant Garamond',Georgia,serif;margin:0;text-wrap:balance}.meet-anna-copy cite{display:block;text-align:right;margin:12px 0 0;font:italic 400 24px/1.2 'Cormorant Garamond',Georgia,serif}
@media(max-width:1200px){.meet-anna{padding-left:60px;padding-right:60px;gap:40px}}
@media(max-width:900px){.meet-anna{padding:64px 32px;gap:32px}.meet-anna-copy h2{font-size:40px}.meet-anna-copy>p{font-size:15px}.meet-anna-copy blockquote p{font-size:26px}}
@media(max-width:650px){.meet-anna{grid-template-columns:1fr;padding:48px 24px 64px;gap:32px}.meet-anna-copy h2{font-size:38px}.meet-anna-copy>p{font-size:16px}.meet-anna-copy cite{margin-right:0}}
@media(prefers-reduced-motion:reduce){.meet-anna-photo img{transition:none}}

/* Studio photo composition. */
.about-studio{max-width:1440px;margin:0 auto;padding:0 120px 100px;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:50px;align-items:center}
.about-studio-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:24px;aspect-ratio:2.06/1.23}
.about-studio-gallery>div{min-height:0;overflow:hidden;border-radius:6px}.about-studio-tall{grid-row:1/3}
.about-studio-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 500ms cubic-bezier(.215,.61,.355,1)}
.about-studio-eyebrow{margin:0 0 18px;color:#720113;font:400 14px/1.5 Manrope,Arial,sans-serif;letter-spacing:1.5px}
.about-studio-copy h2{font:600 48px/1.05 'Cormorant Garamond',Georgia,serif;margin:0 0 20px;white-space:pre-line}
.about-studio-description{font:400 16px/1.5 Manrope,Arial,sans-serif;margin:0 0 28px;max-width:300px}
@media(hover:hover){.about-studio-gallery>div:hover img{transform:scale(1.035)}}
@media(max-width:1200px){.about-studio{padding-left:60px;padding-right:60px;gap:40px}.about-studio-gallery{gap:20px}}
@media(max-width:900px){.about-studio{padding:0 32px 64px;gap:28px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.about-studio-copy h2{font-size:38px}.about-studio-gallery{gap:16px}}
@media(max-width:650px){.about-studio{grid-template-columns:1fr;padding:0 24px 64px;gap:32px}.about-studio-gallery{gap:12px}.about-studio-copy h2{font-size:38px}.about-studio-description{max-width:none}}
@media(prefers-reduced-motion:reduce){.about-studio-gallery img{transition:none}}

/* Keep both hero text blocks the same distance from the lower edge. */
@media(min-width:601px){
.hero-inner,.about-inner{display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:56px}
.about-copy{transform:none}
}

/* Tablet proportions, including wide landscape tablets. */
@media(min-width:601px) and (max-width:1366px){
.treatments-inner{padding-inline:40px;gap:28px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center}
.treatments h2{font-size:38px;line-height:1.08}
.treatment-row{grid-template-columns:44px minmax(0,1fr) 18px;gap:12px;padding:14px 14px 14px 10px;min-height:96px}
.treatment-number{font-size:30px}
.treatment-name,.treatment-row:first-child .treatment-name{font-size:30px}
.treatment-description{font-size:14px;line-height:21px}
.treatment-arrow{width:18px}
.treatment-photos{width:100%;height:420px;max-height:50vw;aspect-ratio:auto;align-self:center;margin-top:0}
.treatment-caption{font-size:28px;left:16px;right:16px}
.treatment-marker{width:4px;object-fit:fill}
.treatments{padding-bottom:72px}
}
@media(min-width:601px) and (max-width:1100px){
.reviews-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.reviews-summary{grid-column:1/-1;padding:0;display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.reviews-actions{display:flex;flex-wrap:wrap;margin:0;padding:0;gap:12px}
.review-card{padding:22px 16px}.review-author{flex-wrap:wrap;gap:10px}.review-initial{width:40px;height:40px;font-size:24px}
.about-inner{padding:96px 40px 56px;min-height:560px}.about-copy{max-width:58%}.about-copy h1{font-size:44px}
.about-signature{left:auto;right:32px;bottom:40px;transform-origin:right bottom;transform:scale(.72)}
.meet-anna{padding:64px 40px;gap:32px;align-items:start}.meet-anna-copy h2{font-size:38px}.meet-anna-copy>p{font-size:15px}.meet-anna-copy blockquote p{font-size:26px}
.about-studio{padding:0 40px 64px;gap:28px;grid-template-columns:1.4fr 1fr}.about-studio-copy h2{font-size:36px}
}
@media(min-width:601px) and (max-width:800px){
.treatments-inner{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;padding-inline:32px}
.treatments h2{font-size:34px}.treatment-row{grid-template-columns:34px minmax(0,1fr) 16px;gap:10px;padding-right:10px}.treatment-number{font-size:26px}.treatment-name,.treatment-row:first-child .treatment-name{font-size:28px}.treatment-caption{font-size:23px}
.reviews-grid{grid-template-columns:1fr}.review-author{flex-wrap:nowrap}.review-body{min-height:0}
.about-copy{max-width:62%}.about-copy h1{font-size:38px}.about-signature{right:16px;bottom:16px;transform:scale(.62)}
.meet-anna{grid-template-columns:1fr}.meet-anna-photo{max-height:520px;width:100%}.meet-anna-photo img{object-position:center 30%}
.about-studio{grid-template-columns:1fr}.about-studio-description{max-width:480px}
}

@media(min-width:601px) and (max-width:1100px){.about-background{object-position:78% center}.about-hero::after{background:linear-gradient(90deg,rgba(255,252,247,.8),rgba(255,252,247,.48) 42%,transparent 70%)}}

/* Phone layout and comfortable touch controls. */
@media(max-width:600px){
.header-inner{padding-inline:12px;gap:4px}.brand img{width:clamp(120px,36vw,156px)}.header-actions{gap:2px}.header-actions .cart{display:grid;width:36px;min-height:44px}.menu-toggle{width:40px;flex-shrink:0}
.treatment-row{grid-template-columns:38px minmax(0,1fr) 16px;gap:12px;padding:14px 12px 14px 6px;min-height:96px}.treatment-number{font-size:28px}.treatment-name,.treatment-row:first-child .treatment-name{font-size:30px}.treatment-description{font-size:14px;line-height:21px}.treatment-marker{width:4px}.treatment-photos{height:clamp(300px,105vw,420px);aspect-ratio:auto}.treatment-caption{font-size:28px}.treatments h2{font-size:36px;line-height:1.08}
.about-copy h1{font-size:clamp(34px,10vw,40px)}.about-description{font-size:16px;line-height:25px}.about-consult{min-height:48px}.about-signature{max-width:100%}.meet-anna-copy h2,.about-studio-copy h2{font-size:36px}
#treatments-title,#why-title{scroll-margin-top:88px}
}
@media(max-width:360px){.treatments-inner,.about-inner,.meet-anna,.about-studio{padding-left:20px;padding-right:20px}.treatment-row{gap:8px;grid-template-columns:30px minmax(0,1fr) 16px}.treatment-name,.treatment-row:first-child .treatment-name{font-size:28px}}

/* Mobile editorial hero: copy overlaps the photograph's soft lower edge. */
@media(max-width:600px){
.hero-image{height:clamp(320px,92vw,440px);object-position:78% center}
.hero-inner{margin-top:-108px;padding-top:40px;background:linear-gradient(180deg,rgba(247,243,237,0) 0%,rgba(247,243,237,.88) 72px,#f7f3ed 158px);isolation:isolate}
.hero-inner::before{content:"";position:absolute;z-index:-1;left:0;right:0;top:-48px;height:160px;background:linear-gradient(180deg,transparent,rgba(247,243,237,.76) 65%,#f7f3ed);pointer-events:none}
.hero-eyebrow{font-size:11px;letter-spacing:1px;line-height:18px}
.hero h1{font-size:clamp(36px,10vw,44px);line-height:1.02;margin:12px 0 24px;text-wrap:balance}
}

/* A staggered photo collage for the mobile community section. */
@media(max-width:600px){
.community-gallery{grid-template-columns:1.08fr 1fr;grid-template-rows:clamp(100px,28vw,150px) clamp(54px,15vw,82px) clamp(100px,28vw,150px);gap:12px;align-items:stretch}
.community-gallery>a{display:block;min-width:0;min-height:0;overflow:hidden;border-radius:8px}
.community-gallery>a:nth-child(1){grid-column:1;grid-row:1 / 3}
.community-gallery>a:nth-child(2){grid-column:2;grid-row:1}
.community-gallery>a:nth-child(3){grid-column:1;grid-row:3}
.community-gallery>a:nth-child(4){grid-column:2;grid-row:2 / 4}
.community-gallery img{height:100%;aspect-ratio:auto;border-radius:0;object-fit:cover}
.community-gallery>a:nth-child(1) img{object-position:58% center}
}

@media(max-width:600px){.hero-image{object-position:70% 25%}}

/* Language placement on phones will be provided separately. */
@media(max-width:600px){.site-header .header-actions .language{display:none}}

/* Mobile split hero: portrait on the right, headline on the left. */
@media(max-width:600px){
.hero{display:block;background:#f7f3ed}
.hero-image{position:absolute;inset:0 0 auto auto;width:66%;height:340px;object-fit:cover;object-position:73% center;mask-image:linear-gradient(to bottom,#000 78%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent)}
.hero-inner{margin-top:0;padding:34px 24px 32px;background:transparent;min-height:0}
.hero-inner::before{top:0;left:0;right:auto;width:64%;height:340px;background:linear-gradient(90deg,#f7f3ed 48%,rgba(247,243,237,.85) 65%,transparent)}
.hero-eyebrow{max-width:49%;font-size:10px;line-height:16px;letter-spacing:.8px}
.hero h1{width:55%;min-height:232px;display:block;padding-top:28px;font-size:clamp(29px,8.2vw,38px);line-height:1.02;margin:12px 0 28px;text-wrap:balance}
.hero-description{font-size:15px;line-height:24px;max-width:none}
.hero-actions{margin-top:22px}
.hero-location{font-size:11px;line-height:19px}
}
@media(max-width:360px){.hero-inner{padding-left:20px;padding-right:20px}.hero h1{font-size:29px}}

@media(max-width:600px){.hero,.why-anna{filter:none!important}}

/* Inset mobile navigation inspired by the reference's full-height panel. */
@media(max-width:600px){
body.phone-menu-open{overflow:hidden}
body.phone-menu-open::before{content:"";position:fixed;inset:0;z-index:9;background:rgba(42,24,23,.22);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.site-header.menu-open{position:fixed;top:12px;left:12px;right:12px;background:#f8f7f3;border:0;box-shadow:none}
.site-header.menu-open::before{background:#f8f7f3;backdrop-filter:none}
.menu-open .header-inner{height:68px;padding:0 16px}
.menu-open .mobile-nav{position:fixed;top:80px;bottom:12px;left:12px;right:12px;max-height:none;padding:12px 20px 24px;background:#f8f7f3;border-top:0;overflow-y:auto;overscroll-behavior:contain;animation:mobile-panel-in 300ms ease both}
.menu-open .mobile-nav>a,.menu-open .mobile-nav>button:not(.book),.menu-open .mobile-nav .products-trigger{width:100%;min-height:58px;font:400 13px/20px Manrope,Arial,sans-serif;letter-spacing:1.3px;text-transform:uppercase;border-bottom:1px solid #ded7d0;color:#720113}
.menu-open .mobile-nav>a::after,.menu-open .mobile-nav>button::after{display:none}
.menu-open .mobile-nav [aria-current=page]{font-weight:600}
.menu-open .mobile-nav>button[aria-disabled=true]{color:#948982}
.menu-open .mobile-nav .products-trigger{display:flex;justify-content:space-between;align-items:center}
.menu-open .mobile-nav .products-trigger::after{content:"";width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-right:4px;transition:transform 200ms}
.menu-open .mobile-nav .products-trigger[aria-expanded=true]::after{transform:rotate(225deg)}
.menu-open .mobile-nav .products-panel{background:#efeae3;border-radius:0;grid-template-columns:1fr;padding:20px 16px;gap:24px}
.menu-open .mobile-nav .products-panel a,.menu-open .mobile-nav .products-panel button{min-height:44px}
.menu-open .mobile-book{margin-top:auto;flex-shrink:0;min-height:48px;width:100%}
}
@keyframes mobile-panel-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.menu-open .mobile-nav{animation:none}}
@media(max-width:600px){.menu-open .mobile-nav .products-trigger::after{position:static;display:block;left:auto;bottom:auto;background:none;border-radius:0;opacity:1;flex:none}}

.menu-language{display:none}
@media(max-width:600px){
.menu-open .mobile-nav .menu-language{display:block;flex-shrink:0;margin-top:20px;border-top:1px solid #ded7d0}
.menu-language-trigger{display:flex;align-items:center;gap:16px;width:100%;min-height:58px;text-align:left;color:#720113;font:400 12px/20px Manrope,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase}
.menu-language-current{margin-left:auto}.menu-language-chevron{width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);margin-right:3px;transition:transform 200ms}
.menu-language-trigger[aria-expanded=true] .menu-language-chevron{transform:rotate(-45deg)}
.menu-language-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 0 8px}.menu-language-options[hidden]{display:none}
.menu-language-options button{min-height:44px;border:1px solid #ded7d0;border-radius:6px;color:#720113;font:400 13px Manrope,Arial,sans-serif;background:transparent}
.menu-language-options button[aria-pressed=true]{background:#720113;border-color:#720113;color:#fff}
}

/* Lower the two mobile hero headings together. */
@media(max-width:600px){.hero-eyebrow,.hero h1{position:relative;top:64px}}

/* Phone treatment cards pair each image with its own description. */
@media(max-width:600px){
.treatment-list{gap:18px}
.treatment-row{overflow:hidden;padding:0 16px 16px;grid-template-columns:34px minmax(0,1fr) 18px;gap:12px;background:#f8f6f2;border:1px solid #e9e1d8;border-radius:8px;min-height:0}
.treatment-row+.treatment-row{border-top:1px solid #e9e1d8}
.treatment-row::before{content:"";display:block;grid-column:1/-1;height:150px;margin:0 -16px 4px;background-size:cover;background-repeat:no-repeat}
#treatment-0::before{background-image:url('assets/hydra-fill-web385.jpg');background-position:center 28%}
#treatment-1::before{background-image:url('assets/arma-lift-web385.jpg');background-position:center 12%}
#treatment-2::before{background-image:url('assets/red-apax-web385.jpg');background-position:center 32%}
.treatment-row[aria-pressed=true]{border-color:#e9e1d8;background:#f8f6f2}
.treatment-marker{display:none}.treatment-number{font-size:26px;align-self:center;min-height:48px}
.treatment-name,.treatment-row:first-child .treatment-name{font-size:28px}.treatment-description{font-size:13px;line-height:19px}
.treatment-photos{display:none}
.treatments-all{display:flex;justify-content:center;gap:12px;border:1px solid #b58c8f;border-radius:6px;min-height:48px;margin-top:22px;width:100%;font-size:14px}
}

/* Single-line mobile eyebrow and a slightly lower headline. */
@media(max-width:600px){.hero-eyebrow{top:112px;max-width:none;white-space:nowrap;font-size:clamp(8px,2.5vw,10px);letter-spacing:.45px}.hero h1{top:92px;margin-bottom:44px}}

/* Use the mobile portrait on larger screens, with room for the headline. */
@media(min-width:601px){
.hero-image{inset:0 0 0 auto;width:72%;height:100%;object-fit:cover;object-position:center 38%;mask-image:linear-gradient(to right,transparent 0%,#000 32%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 32%)}
}



/* A little more breathing room between homepage sections on phones. */
@media(max-width:600px){
main[aria-label="Home"]>.approach{padding-top:64px;padding-bottom:64px}
main[aria-label="Home"]>.treatments{padding-bottom:80px}
main[aria-label="Home"]>.results{padding-top:80px;padding-bottom:80px}
main[aria-label="Home"]>.reviews{padding-bottom:80px}
}

/* Keep mobile tab copy compact instead of reserving empty text rows. */
@media(max-width:600px){
.why-panel h3{min-height:0;margin:22px 0 20px}
.why-panel .why-description{min-height:0}
.why-panel .why-link{margin:20px 0 16px;min-height:44px}
}

/* Phone tabs fade out before the next panel appears; keep the grid height stable. */
@media(max-width:600px){.why-panel{transition:none;align-self:start}.why-tabs button{transition:background-color 180ms ease,color 180ms ease}}

@media(max-width:600px){.results-actions{display:none}}

/* Clip the horizontal mobile tab transition inside the stationary card. */
@media(max-width:600px){.why-glass{overflow:hidden}}

/* Give the mobile section label its own clear background above the photo. */
@media(max-width:600px){
.why-inner{padding-top:0}
#why-title{display:flex;align-items:center;min-height:66px;box-sizing:border-box;margin:0 -24px;padding:20px 24px 24px;background:#fff;font-size:13px;line-height:22px;letter-spacing:.7px}
.why-background{top:66px;height:350px}
.why-content{margin-top:280px}
}

/* Blend the photograph into one continuous mobile section background. */
@media(max-width:600px){
.why-anna{background:#f3f0e9}
.why-background{-webkit-mask-image:linear-gradient(to bottom,#000 62%,rgba(0,0,0,.85) 74%,transparent 100%);mask-image:linear-gradient(to bottom,#000 62%,rgba(0,0,0,.85) 74%,transparent 100%)}
.why-glass{background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
}

/* Keep mobile tabs distinct from the pale photograph and section background. */
@media(max-width:600px){
.why-tabs button:not([aria-selected=true]){background:#faf8f4;color:#720113;border:1px solid #cdb6b8;backdrop-filter:none;-webkit-backdrop-filter:none;font-weight:500}
}

/* Responsive before/after crossfade with immediate burgundy selection feedback. */
.result-after{transition:opacity 180ms ease-out}
.result-switch{background:rgba(250,248,244,.94);border-color:rgba(114,1,19,.2)}
.result-switch button{transition:background-color 100ms ease,color 100ms ease;touch-action:manipulation}
@media(prefers-reduced-motion:reduce){.result-after,.result-switch button{transition:none}}

/* Compact mobile link spacing while retaining a comfortable touch target. */
@media(max-width:600px){
.why-panel .why-link{margin:6px 0 6px;min-height:44px}
.why-glass{padding-bottom:0}
.why-inner{padding-bottom:32px}
}
/* Original cream veil transition, with clearer branded comparison controls. */
.result-after{transition:none}
.result-switch{width:134px;height:auto;box-sizing:content-box;padding:4px;gap:4px;background:#f7f3ed;border:1px solid #cdb6b8;border-radius:8px;backdrop-filter:none;-webkit-backdrop-filter:none}
.result-switch button{min-height:28px;padding:3px 5px;font-family:Manrope,Arial,sans-serif;font-size:10px;letter-spacing:.8px;border-radius:5px;color:#720113;background:transparent}
.result-switch button[aria-pressed=true]{background:#720113;color:#fff}
.result-switch button:focus-visible{outline:2px solid #720113;outline-offset:2px}
@media(max-width:600px){.result-switch button{min-height:28px}}

/* Measure the mobile bottom gap from the visible panel, not the tallest hidden tab. */
@media(max-width:600px){
.why-glass{position:relative;display:block}
.why-panel{position:absolute;top:22px;left:20px;right:20px}
.why-panel.is-active{position:relative;top:auto;left:auto;right:auto}
.why-inner{padding-bottom:32px}
}

/* Compact phone reviews, with the original text available on demand. */
@media(max-width:600px){
.reviews-grid{gap:14px}
.review-card{padding:20px;min-height:0}
.review-stars{gap:5px}.review-stars img{width:13px;height:13px}
.review-card .review-body{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;height:auto;min-height:0;max-height:66px;overflow:hidden;padding:0;margin:12px 0 4px;font-size:14px;line-height:22px;scrollbar-gutter:auto}
.review-card.is-expanded .review-body{display:block;max-height:none;height:auto;overflow:visible;-webkit-line-clamp:unset}
.review-scroll-hint{font-size:12px;min-height:32px;margin:0}
.review-author{padding-top:12px;gap:10px}
.review-initial{width:30px;height:30px;font-size:18px}
.review-author h3{font-size:13px;line-height:18px}
.review-source{display:none}
}

/* A restrained cream-panel reveal for the phone menu. */
@media(max-width:600px){
body.phone-menu-open::before{animation:menu-backdrop-in 320ms ease-out both}
.menu-open .mobile-nav{animation:menu-cream-reveal 400ms cubic-bezier(.22,1,.36,1) both}
.menu-open .mobile-nav> *{animation:menu-item-in 320ms cubic-bezier(.22,1,.36,1) both;animation-delay:100ms}
.menu-open .mobile-nav> :nth-child(2){animation-delay:130ms}
.menu-open .mobile-nav> :nth-child(3){animation-delay:160ms}
.menu-open .mobile-nav> :nth-child(4){animation-delay:190ms}
.menu-open .mobile-nav> :nth-child(5){animation-delay:220ms}
.menu-open .mobile-nav> :nth-child(6){animation-delay:250ms}
.menu-open .mobile-nav>.mobile-book,.menu-open .mobile-nav>.menu-language{animation-delay:270ms}
}
@keyframes menu-cream-reveal{from{opacity:0;clip-path:inset(0 0 16% 0);transform:translateY(-6px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}
@keyframes menu-item-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes menu-backdrop-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){body.phone-menu-open::before,.menu-open .mobile-nav,.menu-open .mobile-nav>*{animation:none}}

/* Align the menu header surface and content with the navigation panel. */
@media(max-width:600px){
.site-header.menu-open::before{inset:0;background:#f8f7f3;backdrop-filter:none;-webkit-backdrop-filter:none}
.menu-open .header-inner{padding-inline:20px;width:100%;box-sizing:border-box}
}

/* Give the close control more separation from the shopping bag. */
@media(max-width:600px){
.menu-open .header-inner{padding-inline:12px}
.menu-open .header-actions{gap:16px}
}

/* Compact, lightly outlined product categories inside the phone menu. */
@media(max-width:600px){
.menu-open .mobile-nav .products-panel{padding:18px 0 24px;background:transparent;border:0;border-radius:0;gap:24px;backdrop-filter:none;-webkit-backdrop-filter:none}
.menu-open .products-panel .products-heading{margin:0 0 12px;font:500 10px/16px Manrope,Arial,sans-serif;letter-spacing:1.3px;text-transform:uppercase;color:#92777a}
.menu-open .products-panel ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.menu-open .products-panel li+li{margin-top:0}
.menu-open .mobile-nav .products-panel li>a,.menu-open .mobile-nav .products-panel li>button{display:flex;align-items:center;width:100%;height:100%;min-height:44px;padding:10px 12px;border:1px solid #e5dcd7;border-radius:6px;background:#f3eee8;color:#573f40;font:400 12px/18px Manrope,Arial,sans-serif;text-align:left;letter-spacing:0;white-space:normal}
.menu-open .products-panel>div:first-child li:first-child{grid-column:1/-1;margin-bottom:4px}
.menu-open .mobile-nav .products-panel>div:first-child li:first-child>a{justify-content:space-between;color:#720113;background:transparent;border-color:#cdb6b8}
.menu-open .products-panel>div:first-child li:first-child>a::after{content:'→';font-size:18px}
.menu-open .mobile-nav .products-panel li>a:focus-visible,.menu-open .mobile-nav .products-panel li>button:focus-visible{outline:2px solid #720113;outline-offset:2px}
.menu-open .products-dropdown.is-open .products-panel{animation:menu-item-in 240ms ease-out both}
}
@media(prefers-reduced-motion:reduce){.menu-open .products-dropdown.is-open .products-panel{animation:none}}

/* Slightly larger, lower portrait in the phone hero. */
@media(max-width:600px){
.hero-image{top:20px;width:70%;height:360px;object-position:73% center}
}

/* Simple category labels rather than button-like tiles in the phone menu. */
@media(max-width:600px){
.menu-open .mobile-nav .products-panel li>button,.menu-open .mobile-nav .products-panel li>a{background:transparent;border:0;border-radius:0;padding:8px 0;color:#655b57;box-shadow:none}
.menu-open .products-panel ul{column-gap:20px;row-gap:2px}
.menu-open .mobile-nav .products-panel li>button:hover,.menu-open .mobile-nav .products-panel li>a:hover{background:transparent;color:#720113}
}

/* Blend both edges of the lowered portrait before the description begins. */
@media(max-width:600px){
.hero-image{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 22px,#000 62%,rgba(0,0,0,.65) 72%,transparent 88%);mask-image:linear-gradient(to bottom,transparent 0,#000 22px,#000 62%,rgba(0,0,0,.65) 72%,transparent 88%)}
.hero-inner::before{height:380px;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 90%);mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 90%)}
}

/* A quiet editorial link instead of a full-width outlined button. */
@media(max-width:600px){
.menu-open .products-panel>div:first-child li:first-child{margin:0 0 6px}
.menu-open .mobile-nav .products-panel>div:first-child li:first-child>a{display:inline-flex;justify-content:flex-start;gap:10px;width:auto;min-height:36px;padding:4px 0;border:0;border-radius:0;background:transparent;font-size:13px;font-weight:500;color:#720113}
.menu-open .products-panel>div:first-child li:first-child>a::after{font-size:16px}
}

/* The phone portrait meets the header cleanly, fading only at the bottom. */
@media(max-width:600px){
.hero-image{top:0;height:380px;object-position:73% top;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 62%,rgba(0,0,0,.65) 72%,transparent 89%);mask-image:linear-gradient(to bottom,#000 0%,#000 62%,rgba(0,0,0,.65) 72%,transparent 89%)}
}

/* Refined mobile hero controls and a more legible header logo. */
@media(max-width:600px){
.site-header .brand img{width:clamp(134px,40.32vw,175px);height:auto}
}

/* Keep the area behind Safari's translucent toolbar cream while the menu is open. */
@media(max-width:600px){
html:has(body.phone-menu-open),body.phone-menu-open{background:#f8f7f3}
body.phone-menu-open::before{inset:-160px 0;background:#f8f7f3;backdrop-filter:none;-webkit-backdrop-filter:none;animation:none}
}

/* Close before removing the panel, preserving the page's header space. */
@media(max-width:600px){
.site-header.menu-closing{animation:menu-header-out 260ms ease-in both}
.menu-open.menu-closing .mobile-nav{animation:menu-panel-out 260ms cubic-bezier(.4,0,1,1) both;pointer-events:none}
.menu-open.menu-closing .mobile-nav>*{animation:none}
body.phone-menu-open.phone-menu-closing::before{animation:menu-backdrop-out 260ms ease-in both}
}
@keyframes menu-panel-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}
@keyframes menu-header-out{from{opacity:1}to{opacity:0}}
@keyframes menu-backdrop-out{from{opacity:1}to{opacity:0}}

/* iPhone edge-to-edge layout: keep real content below the status area. */
@media(max-width:600px){
.site-header{padding-top:env(safe-area-inset-top,0px)}
.site-header::before{background:#f8f7f3}
.site-header.menu-open{top:calc(12px + env(safe-area-inset-top,0px));padding-top:0}
.menu-open .mobile-nav{top:calc(80px + env(safe-area-inset-top,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px))}
.site-footer{padding-bottom:env(safe-area-inset-bottom,0px)}
}

/* Paint the status-area portion of the page after the entrance is removed. */
@media(max-width:600px){
html.phone-intro-complete .site-header{background-color:#f8f7f3}
}

/* Make each Meder treatment card a booking link. */
.meder-arrow::after{content:"";position:absolute;inset:0;z-index:1}

/* Booking anchors retain the existing header button layout. */
.site-header a.book{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}
.mobile-nav>a.book::after{display:none}
.menu-open .mobile-nav>a.book{color:#fff;border-bottom:0;letter-spacing:normal;text-transform:none;font-size:14px}
@media(max-width:600px){.header-actions>a.book{display:none}}

/* Shared opening text reveal, matching the homepage timing. */
@media(prefers-reduced-motion:no-preference){
.about-copy > *,.services-copy > *,.contact-intro > *,.journal-intro > *,.article-heading > *,.services-consult > *,.pdp-title,.pdp-lead,.checkout-page > h1,.checkout-steps{animation:hero-copy-reveal 900ms cubic-bezier(.22,1,.36,1) both;animation-delay:100ms}
.about-copy > :nth-child(1),.services-copy > :nth-child(1),.shop-hero-inner > :nth-child(1),.contact-intro > :nth-child(1),.journal-intro > :nth-child(1),.article-heading > :nth-child(1){animation-delay:100ms}
.about-copy > :nth-child(2),.services-copy > :nth-child(2),.shop-hero-inner > :nth-child(2),.contact-intro > :nth-child(2),.journal-intro > :nth-child(2),.article-heading > :nth-child(2){animation-delay:220ms;animation-duration:1100ms}
.about-copy > :nth-child(3),.services-copy > :nth-child(3),.shop-hero-inner > :nth-child(3),.contact-intro > :nth-child(3),.journal-intro > :nth-child(3),.article-heading > :nth-child(3){animation-delay:380ms}
.about-copy > :nth-child(4),.services-copy > :nth-child(4),.shop-hero-inner > :nth-child(4),.contact-intro > :nth-child(4),.journal-intro > :nth-child(4),.article-heading > :nth-child(4){animation-delay:520ms}
.about-copy > :nth-child(5),.services-copy > :nth-child(5),.shop-hero-inner > :nth-child(5),.contact-intro > :nth-child(5),.journal-intro > :nth-child(5),.article-heading > :nth-child(5){animation-delay:640ms}
.pdp-title,.checkout-page > h1{animation-duration:1100ms;animation-delay:220ms}
.pdp-lead,.checkout-steps,.services-consult > p{animation-delay:380ms}
.services-consult > button{animation-delay:520ms}
.about-copy:focus-within > *,.services-copy:focus-within > *,.contact-intro:focus-within > *,.journal-intro:focus-within > *,.article-heading:focus-within > *,.services-consult:focus-within > *,.checkout-steps:focus-within{animation:none}
}

/* Native same-site transitions: no click interception or navigation delay. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-soft-out 180ms ease-out both}
::view-transition-new(root){animation:page-soft-in 280ms ease-out both}
::view-transition-group(root){animation-duration:280ms}
@keyframes page-soft-out{from{opacity:1}to{opacity:0}}
@keyframes page-soft-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
 @view-transition{navigation:none}
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}

/* Shared supporting-copy colour across the site. */
.approach-description,.treatment-description,.why-description,.results-description,.result-description,.community-description,.services-description,.shop-description,.chosen-care-description,.about-description,.about-studio-description,.meet-anna-copy>p:not(.meet-anna-eyebrow){color:#625852}
.shop-volume,.related-volume{color:#625852}

/* Soft local contrast behind the consultation prompt. */
@media(min-width:901px){
 .services-consult{position:relative;isolation:isolate}
 .services-consult::before{content:"";position:absolute;inset:-40px -48px -14px -56px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,rgba(247,243,237,.8) 0%,rgba(247,243,237,.5) 42%,rgba(247,243,237,0) 72%)}
}

/* Optical alignment with the consultation label. */
.services-consult .approach-link .approach-arrow{top:-1px}

/* A fine burgundy outline, with no elevation or shadow. */
.advanced-treatment:focus-within{border-color:rgba(114,1,19,.14)}


/* A softly feathered outline without lifting the card. */
.advanced-treatment{transition:border-color 450ms ease,box-shadow 450ms ease}
.advanced-treatment:hover,.advanced-treatment:focus-within{border-color:rgba(114,1,19,.07);box-shadow:0 0 2px 0 rgba(114,1,19,.07),inset 0 0 1px rgba(114,1,19,.03)}
@media(prefers-reduced-motion:reduce){.advanced-treatment{transition:none}}





.shop-product-category{font:400 10px/16px Manrope,Arial,sans-serif;letter-spacing:1px;color:#720113;margin:10px 0 0}



/* Keep one gallery frame; clip the frame embedded in the Energy images. */
.pdp-main-photo img[src*="energy-net-main"],.pdp-main-photo img[src*="energy-soin-main"]{object-fit:cover;width:calc(100% + 8px);height:calc(100% + 8px);max-width:none;margin:-4px}

.pdp-size select{font:inherit;color:#720113;background:#fff;border:1px solid #720113;border-radius:6px;padding:10px 14px;max-width:100%}.shop-add:disabled{opacity:.5;cursor:not-allowed}.shop-name h2 a{text-decoration:none}

/* Shared studio setting for imported packshots; original photography stays intact. */
.shop-photo:has(>img[src="assets/arma-bust-cream-0.webp"]),
.pdp-main-photo:has(>img[src="assets/arma-bust-cream-0.webp"]),
.shop-photo:has(>img[src="assets/arma-lift-concentrate-0.webp"]),
.pdp-main-photo:has(>img[src="assets/arma-lift-concentrate-0.webp"]),
.shop-photo:has(>img[src="assets/arma-lift-age-well-firming-mask-0.jpg"]),
.pdp-main-photo:has(>img[src="assets/arma-lift-age-well-firming-mask-0.jpg"]),
.shop-photo:has(>img[src="assets/blepharo-light-eye-cream-0.webp"]),
.pdp-main-photo:has(>img[src="assets/blepharo-light-eye-cream-0.webp"]),
.shop-photo:has(>img[src="assets/blepharo-rich-eye-cream-0.webp"]),
.pdp-main-photo:has(>img[src="assets/blepharo-rich-eye-cream-0.webp"]),
.shop-photo:has(>img[src="assets/body-day-natural-deodorant-body-cream-0.webp"]),
.pdp-main-photo:has(>img[src="assets/body-day-natural-deodorant-body-cream-0.webp"]),
.shop-photo:has(>img[src="assets/circa-hand-cream-0.webp"]),
.pdp-main-photo:has(>img[src="assets/circa-hand-cream-0.webp"]),
.shop-photo:has(>img[src="assets/circa-night-cream-0.webp"]),
.pdp-main-photo:has(>img[src="assets/circa-night-cream-0.webp"]),
.shop-photo:has(>img[src="assets/derma-fill-cream-0.webp"]),
.pdp-main-photo:has(>img[src="assets/derma-fill-cream-0.webp"]),
.shop-photo:has(>img[src="assets/enzy-peel-double-action-exfoliating-mask-0.webp"]),
.pdp-main-photo:has(>img[src="assets/enzy-peel-double-action-exfoliating-mask-0.webp"]),
.shop-photo:has(>img[src="assets/equa-derm-cream-0.webp"]),
.pdp-main-photo:has(>img[src="assets/equa-derm-cream-0.webp"]),
.shop-photo:has(>img[src="assets/eu-seb-concentrate-0.webp"]),
.pdp-main-photo:has(>img[src="assets/eu-seb-concentrate-0.webp"]),
.shop-photo:has(>img[src="assets/eu-seb-oily-and-problem-skin-mask-0.jpg"]),
.pdp-main-photo:has(>img[src="assets/eu-seb-oily-and-problem-skin-mask-0.jpg"]),
.shop-photo:has(>img[src="assets/eu-body-prebiotic-anti-acne-body-cream-0.webp"]),
.pdp-main-photo:has(>img[src="assets/eu-body-prebiotic-anti-acne-body-cream-0.webp"]),
.shop-photo:has(>img[src="assets/heavy-legs-relief-gel-for-tired-legs-0.webp"]),
.pdp-main-photo:has(>img[src="assets/heavy-legs-relief-gel-for-tired-legs-0.webp"]),
.shop-photo:has(>img[src="assets/hydra-fill-hyaluronic-acid-mask-0.jpg"]),
.pdp-main-photo:has(>img[src="assets/hydra-fill-hyaluronic-acid-mask-0.jpg"]),
.shop-photo:has(>img[src="assets/lipo-oval-concentrate-0.webp"]),
.pdp-main-photo:has(>img[src="assets/lipo-oval-concentrate-0.webp"]),
.shop-photo:has(>img[src="assets/lipo-oval-puffiness-reducing-face-mask-0.jpg"]),
.pdp-main-photo:has(>img[src="assets/lipo-oval-puffiness-reducing-face-mask-0.jpg"]),
.shop-photo:has(>img[src="assets/lumino-derm-cream-0.webp"]),
.pdp-main-photo:has(>img[src="assets/lumino-derm-cream-0.webp"]),
.shop-photo:has(>img[src="assets/lumino-derm-brightening-sheet-mask-0.jpg"]),
.pdp-main-photo:has(>img[src="assets/lumino-derm-brightening-sheet-mask-0.jpg"]),
.shop-photo:has(>img[src="assets/myo-fix-concentrate-0.webp"]),
.pdp-main-photo:has(>img[src="assets/myo-fix-concentrate-0.webp"]),
.shop-photo:has(>img[src="assets/myo-fix-peptide-anti-stress-mask-0.jpg"]),
.pdp-main-photo:has(>img[src="assets/myo-fix-peptide-anti-stress-mask-0.jpg"]),
.shop-photo:has(>img[src="assets/red-apax-concentrate-0.webp"]),
.pdp-main-photo:has(>img[src="assets/red-apax-concentrate-0.webp"]),
.shop-photo:has(>img[src="assets/red-apax-calming-no-redness-mask-0.jpg"]),
.pdp-main-photo:has(>img[src="assets/red-apax-calming-no-redness-mask-0.jpg"]),
.shop-photo:has(>img[src="assets/salva-derm-cream-0.webp"]),
.pdp-main-photo:has(>img[src="assets/salva-derm-cream-0.webp"]),
.shop-photo:has(>img[src="assets/salva-hand-cream-0.webp"]),
.pdp-main-photo:has(>img[src="assets/salva-hand-cream-0.webp"]),
.shop-photo:has(>img[src="assets/vita-long-oil-0.jpg"]),
.pdp-main-photo:has(>img[src="assets/vita-long-oil-0.jpg"]){isolation:isolate;position:relative;background:radial-gradient(ellipse at 45% 35%,#fbf9f6 0%,#f6f2ed 72%,#f3eee8 100%);border:1px solid #e8d9d5;}
.shop-photo:has(>img[src="assets/arma-bust-cream-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/arma-bust-cream-0.webp"])>img,
.shop-photo:has(>img[src="assets/arma-lift-concentrate-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/arma-lift-concentrate-0.webp"])>img,
.shop-photo:has(>img[src="assets/arma-lift-age-well-firming-mask-0.jpg"])>img,
.pdp-main-photo:has(>img[src="assets/arma-lift-age-well-firming-mask-0.jpg"])>img,
.shop-photo:has(>img[src="assets/blepharo-light-eye-cream-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/blepharo-light-eye-cream-0.webp"])>img,
.shop-photo:has(>img[src="assets/blepharo-rich-eye-cream-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/blepharo-rich-eye-cream-0.webp"])>img,
.shop-photo:has(>img[src="assets/body-day-natural-deodorant-body-cream-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/body-day-natural-deodorant-body-cream-0.webp"])>img,
.shop-photo:has(>img[src="assets/circa-hand-cream-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/circa-hand-cream-0.webp"])>img,
.shop-photo:has(>img[src="assets/circa-night-cream-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/circa-night-cream-0.webp"])>img,
.shop-photo:has(>img[src="assets/derma-fill-cream-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/derma-fill-cream-0.webp"])>img,
.shop-photo:has(>img[src="assets/enzy-peel-double-action-exfoliating-mask-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/enzy-peel-double-action-exfoliating-mask-0.webp"])>img,
.shop-photo:has(>img[src="assets/equa-derm-cream-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/equa-derm-cream-0.webp"])>img,
.shop-photo:has(>img[src="assets/eu-seb-concentrate-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/eu-seb-concentrate-0.webp"])>img,
.shop-photo:has(>img[src="assets/eu-seb-oily-and-problem-skin-mask-0.jpg"])>img,
.pdp-main-photo:has(>img[src="assets/eu-seb-oily-and-problem-skin-mask-0.jpg"])>img,
.shop-photo:has(>img[src="assets/eu-body-prebiotic-anti-acne-body-cream-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/eu-body-prebiotic-anti-acne-body-cream-0.webp"])>img,
.shop-photo:has(>img[src="assets/heavy-legs-relief-gel-for-tired-legs-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/heavy-legs-relief-gel-for-tired-legs-0.webp"])>img,
.shop-photo:has(>img[src="assets/hydra-fill-hyaluronic-acid-mask-0.jpg"])>img,
.pdp-main-photo:has(>img[src="assets/hydra-fill-hyaluronic-acid-mask-0.jpg"])>img,
.shop-photo:has(>img[src="assets/lipo-oval-concentrate-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/lipo-oval-concentrate-0.webp"])>img,
.shop-photo:has(>img[src="assets/lipo-oval-puffiness-reducing-face-mask-0.jpg"])>img,
.pdp-main-photo:has(>img[src="assets/lipo-oval-puffiness-reducing-face-mask-0.jpg"])>img,
.shop-photo:has(>img[src="assets/lumino-derm-cream-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/lumino-derm-cream-0.webp"])>img,
.shop-photo:has(>img[src="assets/lumino-derm-brightening-sheet-mask-0.jpg"])>img,
.pdp-main-photo:has(>img[src="assets/lumino-derm-brightening-sheet-mask-0.jpg"])>img,
.shop-photo:has(>img[src="assets/myo-fix-concentrate-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/myo-fix-concentrate-0.webp"])>img,
.shop-photo:has(>img[src="assets/myo-fix-peptide-anti-stress-mask-0.jpg"])>img,
.pdp-main-photo:has(>img[src="assets/myo-fix-peptide-anti-stress-mask-0.jpg"])>img,
.shop-photo:has(>img[src="assets/red-apax-concentrate-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/red-apax-concentrate-0.webp"])>img,
.shop-photo:has(>img[src="assets/red-apax-calming-no-redness-mask-0.jpg"])>img,
.pdp-main-photo:has(>img[src="assets/red-apax-calming-no-redness-mask-0.jpg"])>img,
.shop-photo:has(>img[src="assets/salva-derm-cream-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/salva-derm-cream-0.webp"])>img,
.shop-photo:has(>img[src="assets/salva-hand-cream-0.webp"])>img,
.pdp-main-photo:has(>img[src="assets/salva-hand-cream-0.webp"])>img,
.shop-photo:has(>img[src="assets/vita-long-oil-0.jpg"])>img,
.pdp-main-photo:has(>img[src="assets/vita-long-oil-0.jpg"])>img{position:relative;z-index:1;mix-blend-mode:multiply;object-fit:contain;}
.shop-photo:has(>img[src="assets/arma-bust-cream-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/arma-bust-cream-0.webp"])::before,
.shop-photo:has(>img[src="assets/arma-lift-concentrate-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/arma-lift-concentrate-0.webp"])::before,
.shop-photo:has(>img[src="assets/arma-lift-age-well-firming-mask-0.jpg"])::before,
.pdp-main-photo:has(>img[src="assets/arma-lift-age-well-firming-mask-0.jpg"])::before,
.shop-photo:has(>img[src="assets/blepharo-light-eye-cream-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/blepharo-light-eye-cream-0.webp"])::before,
.shop-photo:has(>img[src="assets/blepharo-rich-eye-cream-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/blepharo-rich-eye-cream-0.webp"])::before,
.shop-photo:has(>img[src="assets/body-day-natural-deodorant-body-cream-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/body-day-natural-deodorant-body-cream-0.webp"])::before,
.shop-photo:has(>img[src="assets/circa-hand-cream-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/circa-hand-cream-0.webp"])::before,
.shop-photo:has(>img[src="assets/circa-night-cream-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/circa-night-cream-0.webp"])::before,
.shop-photo:has(>img[src="assets/derma-fill-cream-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/derma-fill-cream-0.webp"])::before,
.shop-photo:has(>img[src="assets/enzy-peel-double-action-exfoliating-mask-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/enzy-peel-double-action-exfoliating-mask-0.webp"])::before,
.shop-photo:has(>img[src="assets/equa-derm-cream-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/equa-derm-cream-0.webp"])::before,
.shop-photo:has(>img[src="assets/eu-seb-concentrate-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/eu-seb-concentrate-0.webp"])::before,
.shop-photo:has(>img[src="assets/eu-seb-oily-and-problem-skin-mask-0.jpg"])::before,
.pdp-main-photo:has(>img[src="assets/eu-seb-oily-and-problem-skin-mask-0.jpg"])::before,
.shop-photo:has(>img[src="assets/eu-body-prebiotic-anti-acne-body-cream-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/eu-body-prebiotic-anti-acne-body-cream-0.webp"])::before,
.shop-photo:has(>img[src="assets/heavy-legs-relief-gel-for-tired-legs-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/heavy-legs-relief-gel-for-tired-legs-0.webp"])::before,
.shop-photo:has(>img[src="assets/hydra-fill-hyaluronic-acid-mask-0.jpg"])::before,
.pdp-main-photo:has(>img[src="assets/hydra-fill-hyaluronic-acid-mask-0.jpg"])::before,
.shop-photo:has(>img[src="assets/lipo-oval-concentrate-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/lipo-oval-concentrate-0.webp"])::before,
.shop-photo:has(>img[src="assets/lipo-oval-puffiness-reducing-face-mask-0.jpg"])::before,
.pdp-main-photo:has(>img[src="assets/lipo-oval-puffiness-reducing-face-mask-0.jpg"])::before,
.shop-photo:has(>img[src="assets/lumino-derm-cream-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/lumino-derm-cream-0.webp"])::before,
.shop-photo:has(>img[src="assets/lumino-derm-brightening-sheet-mask-0.jpg"])::before,
.pdp-main-photo:has(>img[src="assets/lumino-derm-brightening-sheet-mask-0.jpg"])::before,
.shop-photo:has(>img[src="assets/myo-fix-concentrate-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/myo-fix-concentrate-0.webp"])::before,
.shop-photo:has(>img[src="assets/myo-fix-peptide-anti-stress-mask-0.jpg"])::before,
.pdp-main-photo:has(>img[src="assets/myo-fix-peptide-anti-stress-mask-0.jpg"])::before,
.shop-photo:has(>img[src="assets/red-apax-concentrate-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/red-apax-concentrate-0.webp"])::before,
.shop-photo:has(>img[src="assets/red-apax-calming-no-redness-mask-0.jpg"])::before,
.pdp-main-photo:has(>img[src="assets/red-apax-calming-no-redness-mask-0.jpg"])::before,
.shop-photo:has(>img[src="assets/salva-derm-cream-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/salva-derm-cream-0.webp"])::before,
.shop-photo:has(>img[src="assets/salva-hand-cream-0.webp"])::before,
.pdp-main-photo:has(>img[src="assets/salva-hand-cream-0.webp"])::before,
.shop-photo:has(>img[src="assets/vita-long-oil-0.jpg"])::before,
.pdp-main-photo:has(>img[src="assets/vita-long-oil-0.jpg"])::before{content:"";position:absolute;z-index:0;pointer-events:none;left:43%;top:81%;width:48%;height:4%;background:radial-gradient(ellipse,rgba(97,77,56,.19),rgba(97,77,56,.07) 42%,transparent 72%);filter:blur(3px);transform:rotate(-9deg);transform-origin:left center;}
.shop-photo:has(>img[src="assets/arma-lift-age-well-firming-mask-0.jpg"])::before,
.pdp-main-photo:has(>img[src="assets/arma-lift-age-well-firming-mask-0.jpg"])::before,
.shop-photo:has(>img[src="assets/eu-seb-oily-and-problem-skin-mask-0.jpg"])::before,
.pdp-main-photo:has(>img[src="assets/eu-seb-oily-and-problem-skin-mask-0.jpg"])::before,
.shop-photo:has(>img[src="assets/hydra-fill-hyaluronic-acid-mask-0.jpg"])::before,
.pdp-main-photo:has(>img[src="assets/hydra-fill-hyaluronic-acid-mask-0.jpg"])::before,
.shop-photo:has(>img[src="assets/lipo-oval-puffiness-reducing-face-mask-0.jpg"])::before,
.pdp-main-photo:has(>img[src="assets/lipo-oval-puffiness-reducing-face-mask-0.jpg"])::before,
.shop-photo:has(>img[src="assets/lumino-derm-brightening-sheet-mask-0.jpg"])::before,
.pdp-main-photo:has(>img[src="assets/lumino-derm-brightening-sheet-mask-0.jpg"])::before,
.shop-photo:has(>img[src="assets/myo-fix-peptide-anti-stress-mask-0.jpg"])::before,
.pdp-main-photo:has(>img[src="assets/myo-fix-peptide-anti-stress-mask-0.jpg"])::before,
.shop-photo:has(>img[src="assets/red-apax-calming-no-redness-mask-0.jpg"])::before,
.pdp-main-photo:has(>img[src="assets/red-apax-calming-no-redness-mask-0.jpg"])::before{top:89%;left:30%;width:60%;}

/* Crop the baked frame from existing packshots inside the single gallery frame. */
.pdp-main-photo img[src*="product-hydra-fill"],
.pdp-main-photo img[src*="product-soin-apax"],
.pdp-main-photo img[src*="product-arma-derm"],
.pdp-main-photo img[src*="net-apax-main"]{
 object-fit:cover;width:calc(100% + 8px);height:calc(100% + 8px);max-width:none;margin:-4px;
}

/* Catalogue pagination */
.shop-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:56px;padding-top:28px;border-top:1px solid #eee6e0}
.shop-pagination[hidden]{display:none}
.shop-pagination button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:#720113;font:500 14px/1 Manrope,Arial,sans-serif;cursor:pointer;transition:background 180ms ease,border-color 180ms ease,color 180ms ease}
.shop-pagination button[aria-current="page"]{background:#720113;color:#fff}
.shop-pagination button:disabled{opacity:.25;cursor:default}
.shop-pagination button:focus-visible{outline:2px solid #720113;outline-offset:4px}
.shop-page-count{flex-basis:100%;margin:10px 0 0;text-align:center;color:#625852;font:400 12px/1.6 Manrope,Arial,sans-serif}
.shop-toolbar{scroll-margin-top:110px}
@media(hover:hover){.shop-pagination button:not(:disabled):not([aria-current]):hover{background:#f7f3ef;border-color:#e8d9d5}}
@media(max-width:700px){.shop-pagination{margin-top:36px;gap:8px}.shop-pagination button{width:44px;height:44px}}

/* Mobile treatment cards: clear image and content hierarchy. */
@media(max-width:600px){
 .meder-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
 .meder-right,.meder-top,.meder-bottom{display:contents}
 .meder-grid .meder-card{display:flex;flex-direction:column;min-height:0;border-radius:10px;background:#f7f3ed}
 .meder-grid .meder-card>img{position:relative;inset:auto;z-index:0;display:block;width:100%;height:180px;object-fit:cover;object-position:center 25%;transform:none}
 .meder-grid .meder-card--hydra>img{object-position:center 36%}
 .meder-grid .meder-card--lipo>img{object-position:center 35%}
 .meder-grid .meder-card--myo>img{object-position:center 20%}
 .meder-grid .meder-card-copy{height:auto;flex:1;padding:22px 24px 24px;background:#f7f3ed}
 .meder-grid .meder-number{font-size:14px;line-height:18px;margin-bottom:6px;color:#720113}
 .meder-grid .meder-card h3{font-size:32px;line-height:1.08;margin:0 0 10px}
 .meder-grid .meder-card-copy>p{font-size:14px;line-height:21px;max-width:28ch}
 .meder-grid .meder-card-bottom{margin-top:20px;padding-top:16px;border-top:1px solid rgba(114,1,19,.1);font:500 16px/24px Manrope,Arial,sans-serif}
 .meder-grid .meder-arrow{width:44px;height:44px;flex:0 0 44px}
 .meder-grid .meder-card--myo,.meder-grid .meder-card--myo .meder-card-copy{background:#720113;color:#fff}
 .meder-grid .meder-card--myo .meder-number,.meder-grid .meder-card--myo .meder-card-bottom,.meder-grid .meder-card--myo .meder-card-copy>p{color:#fff}
 .meder-grid .meder-card--myo .meder-card-bottom{border-color:rgba(255,255,255,.2)}
}

/* Swipe through mobile treatments without a long vertical list. */
@media(max-width:600px){
 .meder-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:0;padding:0 24px 14px 0;margin-right:-24px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#bda29c #f4efea;overscroll-behavior-x:contain}
 .meder-grid .meder-card{flex:0 0 88%;scroll-snap-align:start;scroll-snap-stop:always}
 .meder-grid .meder-card>img{height:160px}
 .meder-grid .meder-card-copy{padding:20px}
 .meder-grid .meder-card-copy>p{min-height:42px}
 .meder-grid .meder-card-bottom{margin-top:16px;padding-top:14px}
 .meder-grid::-webkit-scrollbar{height:3px}
 .meder-grid::-webkit-scrollbar-track{background:#f4efea;border-radius:4px}
 .meder-grid::-webkit-scrollbar-thumb{background:#bda29c;border-radius:4px}
}

/* Warm rose-beige page scrollbar, matching the treatment carousel. */
html{scrollbar-color:#bda29c #f7f4f0;scrollbar-width:thin}
html::-webkit-scrollbar{width:8px;height:8px}
html::-webkit-scrollbar-track{background:#f7f4f0}
html::-webkit-scrollbar-thumb{background:#bda29c;border:2px solid #f7f4f0;border-radius:10px}
html::-webkit-scrollbar-thumb:hover{background:#a98b84}

.pdp-size select[hidden]{display:none}
.pdp-variant-tiles{display:flex;flex-wrap:wrap;gap:12px}
.pdp-variant-tile{flex:1 1 150px;max-width:240px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:16px 20px;border:1px solid #e8d9d5;border-radius:6px;background:white;color:#625852;font:400 14px/20px Manrope,Arial,sans-serif;cursor:pointer;text-align:left;transition:background 180ms ease,border-color 180ms ease}
.pdp-variant-tile[aria-pressed="true"]{border-color:#720113;background:#faf6f3;color:#720113}
.pdp-variant-tile .variant-kind{font-weight:600;color:#720113}
.pdp-variant-tile .variant-price{font-weight:500;color:#720113;margin-top:4px}
.pdp-variant-tile:focus-visible{outline:2px solid #720113;outline-offset:3px}
@media(hover:hover){.pdp-variant-tile:hover{border-color:#bda29c;background:#faf6f3}}
@media(max-width:600px){.pdp-variant-tiles{gap:10px}.pdp-variant-tile{flex-basis:calc(50% - 5px);max-width:none;padding:14px 16px}}

/* Compact size buttons, matching the original volume control. */
.pdp-variant-tiles{gap:12px}
.pdp-variant-tile{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:90px;max-width:none;min-height:42px;padding:10px 20px;gap:0;border-color:#e8d9d5;background:#fff;color:#720113;font:400 14px/20px Manrope,Arial,sans-serif;text-align:center}
.pdp-variant-tile[aria-pressed="true"]{border-color:#720113;background:#fff;color:#720113}
@media(max-width:600px){.pdp-variant-tiles{gap:10px}.pdp-variant-tile{flex:0 0 auto;min-height:44px;min-width:90px;padding:10px 18px}}

/* Keep purchase buttons aligned within each catalogue row. */
.shop-grid>.shop-card{display:flex;flex-direction:column;align-self:stretch}
.shop-grid>.shop-card[hidden]{display:none}
.shop-grid>.shop-card>.shop-photo{flex-shrink:0}
.shop-grid>.shop-card>.shop-details{flex:1 0 auto}
.shop-grid>.shop-card>.shop-add{flex-shrink:0;margin-top:auto}

/* Quiet product-information rows with fine plus/minus icons. */
.pdp-accordions details{border-color:#eae3de}
.pdp-accordions summary{padding:18px 0;min-height:58px;font-weight:400;transition:color 180ms ease}
.pdp-accordions summary:focus-visible{outline:2px solid #bda29c;outline-offset:3px;border-radius:3px}
.pdp-accordions summary .pdp-accordion-icon{position:relative;width:18px;height:18px;flex:0 0 18px;transform:none}
.pdp-accordion-icon::before,.pdp-accordion-icon::after{content:"";position:absolute;left:2px;top:8px;width:14px;height:1px;background:#720113;transition:transform 240ms ease,opacity 180ms ease}
.pdp-accordion-icon::after{transform:rotate(90deg)}
.pdp-accordions .is-expanded .pdp-accordion-icon::after{transform:rotate(0deg);opacity:0}
.pdp-accordion-body{display:flow-root;padding:0 24px 4px 0}
.pdp-accordion-body p{color:#625852;font-weight:400;font-size:14px;line-height:1.75;overflow-wrap:anywhere;margin:0 0 20px}
@media(hover:hover){.pdp-accordions summary:hover{color:#720113}}
@media(prefers-reduced-motion:reduce){.pdp-accordion-icon::before,.pdp-accordion-icon::after,.pdp-accordions summary{transition:none}}

/* Match bag product thumbnails to the order-summary frames. */
.bag-item>img{box-sizing:border-box;border:2px solid #fff;border-radius:12px;box-shadow:0 3px 10px rgba(65,39,30,.08);background:#f7f3ef}

/* Keep mobile product content within equal page gutters. */
.pdp-layout>*{min-width:0}
.pdp-gallery,.pdp-info{min-width:0}
@media(max-width:700px){
 .pdp-layout{width:100%;box-sizing:border-box;padding-left:24px;padding-right:24px;min-width:0}
 .pdp-gallery{width:100%;min-width:0;grid-template-columns:minmax(0,1fr)}
 .pdp-thumbs{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:#bda29c transparent;scroll-snap-type:x proximity}
 .pdp-thumbs button{flex:0 0 64px;scroll-snap-align:start}
 .pdp-main-photo{width:100%;box-sizing:border-box;min-width:0}
}
/* Fine chevrons for product-information sections. */
.pdp-accordions summary .pdp-accordion-icon{width:24px;height:24px;flex-basis:24px}
.pdp-accordion-icon::before{left:8px;top:7px;width:7px;height:7px;background:transparent;border-right:1px solid #720113;border-bottom:1px solid #720113;transform:rotate(45deg);transition:transform 240ms ease;}
.pdp-accordion-icon::after{display:none}
.pdp-accordions .is-expanded .pdp-accordion-icon::before{transform:translateY(4px) rotate(225deg)}

/* Unframed bag close control with a comfortable touch target. */
.shop-bag .bag-close{width:44px;height:44px;border:0;border-radius:0;background:transparent;box-shadow:none;outline:none}
.shop-bag .bag-close:focus:not(:focus-visible){outline:none}
.shop-bag .bag-close:focus-visible{outline:1px solid #bda29c;outline-offset:2px;border-radius:4px}

/* Match carousel and page scrollbar styling. */
@media(max-width:600px){
 .meder-grid{scrollbar-color:#bda29c #f7f4f0;scrollbar-width:thin}
 .meder-grid::-webkit-scrollbar{height:6px}
 .meder-grid::-webkit-scrollbar-track{background:#f7f4f0;border-radius:10px}
 .meder-grid::-webkit-scrollbar-thumb{background:#bda29c;border:1px solid #f7f4f0;border-radius:10px}
}

.meder-scroll-track{display:none}
@media(max-width:600px){
 .meder-grid{scrollbar-width:none;padding-bottom:0}
 .meder-grid::-webkit-scrollbar{display:none}
 .meder-scroll-track:not([hidden]){display:block;position:relative;height:3px;margin-top:12px;background:#f7f4f0;border-radius:10px;overflow:hidden}
 .meder-scroll-track>span{position:absolute;top:0;height:100%;background:#bda29c;border-radius:10px}
}

.shop-search-toggle{color:#720113;flex:0 0 24px;justify-content:center;padding:0;width:24px;height:28px}
.shop-toolbar .shop-search-toggle svg,.shop-toolbar .shop-search-close svg{transform:none}
.shop-search-close{color:#720113;width:32px;height:36px;justify-content:center;padding:0;flex-shrink:0}
.shop-search-close[hidden]{display:none}
@media(max-width:600px){
 .shop-toolbar{position:relative;min-height:44px}
 .shop-toolbar>#shop-filter-toggle{transition:opacity 180ms ease}
 .shop-search,.shop-search:focus-within,.shop-search.has-query{position:absolute;right:0;top:0;width:44px;height:44px;box-sizing:border-box;padding:0;gap:0;border-bottom-color:transparent;background:#fff;overflow:hidden;transition:width 280ms cubic-bezier(.22,1,.36,1),border-color 200ms ease}
 .shop-search-toggle{flex:0 0 44px;width:44px;height:44px}
 .shop-search input{font-size:16px;line-height:24px;opacity:0;pointer-events:none;transition:opacity 180ms ease}
 .shop-search .shop-search-clear{display:none}
 .shop-toolbar.search-open>#shop-filter-toggle{opacity:0;visibility:hidden;pointer-events:none}
 .shop-toolbar.search-open .shop-search{width:100%;border-bottom-color:#bda29c}
 .shop-toolbar.search-open .shop-search input{opacity:1;pointer-events:auto}
 .shop-toolbar.search-open .shop-search-clear:not([hidden]){display:grid}
 .shop-toolbar.search-open .shop-search-close{flex:0 0 36px}
 .shop-toolbar.search-open .shop-search.has-query .shop-search-close{display:none}
}
@media(prefers-reduced-motion:reduce){.shop-search,.shop-search input,.shop-toolbar>#shop-filter-toggle{transition:none}}

.pdp-main-photo{touch-action:pan-y pinch-zoom}

/* Keep header controls stationary through mobile menu transitions. */
@media(max-width:600px){
 .site-header.menu-open{top:0;padding-top:env(safe-area-inset-top,0px)}
 .site-header.menu-closing{animation:none}
 .menu-toggle,.menu-toggle:focus,.menu-toggle:active{border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;-webkit-tap-highlight-color:transparent}
 .menu-toggle:focus-visible{outline:1px solid #bda29c;outline-offset:2px;border-radius:3px}
 .menu-toggle span{transition:transform 240ms ease,top 240ms ease}
}

@media(max-width:600px){.site-header.menu-open{left:0;right:0}.menu-open .header-inner{height:70px}.menu-open .header-actions{gap:2px}}

@media(max-width:600px){
 .meder-scroll-track:not([hidden]){opacity:0;transition:opacity 220ms ease;pointer-events:none}
 .meder-scroll-track.is-scrolling:not([hidden]){opacity:1}
}
@media(prefers-reduced-motion:reduce){.meder-scroll-track{transition:none!important}}

/* Avoid animating layout while iOS opens the keyboard. */
@media(max-width:600px){
 .shop-search,.shop-search:focus-within,.shop-search.has-query{width:100%;overflow:visible;transition:none;pointer-events:none;background:transparent}
 .shop-search-toggle{position:absolute;right:0;top:0;pointer-events:auto}
 .shop-search input,.shop-search .shop-search-clear,.shop-search-close{visibility:hidden}
 .shop-toolbar.search-open .shop-search{pointer-events:auto;background:#fff}
 .shop-toolbar.search-open .shop-search-toggle{position:static;right:auto;top:auto}
 .shop-toolbar.search-open .shop-search input,.shop-toolbar.search-open .shop-search .shop-search-clear,.shop-toolbar.search-open .shop-search-close{visibility:visible}
 .shop-toolbar.search-open .shop-search input{animation:search-field-in 150ms ease-out}
 .shop-search input{transition:none}
}
@keyframes search-field-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.shop-toolbar.search-open .shop-search input{animation:none}}

/* Use the same glass finish on mobile and desktop headers. */
@media(max-width:600px){
 html.phone-intro-complete .site-header:not(.menu-open),.site-header:not(.menu-open){background:transparent}
 .site-header:not(.menu-open)::before{background:rgba(255,255,255,.28);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%)}
}

/* Two-column mobile product catalogue. */
@media(max-width:600px){
 .shop-grid,.filters-open .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}
 .shop-card .shop-details{padding-right:0;margin:12px 0;min-height:0}
 .shop-card .shop-name{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
 .shop-card .shop-name h2{font-size:22px;line-height:24px;overflow-wrap:anywhere}
 .shop-card .shop-volume{font-size:11px;line-height:16px}
 .shop-card .shop-price{position:static;display:block;margin-top:8px;font-size:15px;line-height:21px}
 .shop-card .shop-details>p{margin:8px 0 0;font-size:12px;line-height:18px}
 .shop-card>.shop-add{height:42px;min-height:42px;padding:0 6px;gap:6px;font-size:11px;line-height:16px}
 .shop-card>.shop-add img{width:13px;height:15px;object-fit:contain}
 .shop-grid .shop-mask,.filters-open .shop-mask{grid-column:1/-1}
}

/* Keep the collapsed search icon at the right edge of the toolbar. */
@media(max-width:600px){
 .shop-toolbar .shop-search-toggle{position:absolute;right:0;top:0;display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;gap:0}
 .shop-toolbar.search-open .shop-search-toggle{position:static;right:auto;top:auto}
 .shop-toolbar .shop-search-toggle svg{display:block;width:18px;height:18px;flex:none;transform:none}
}

/* Visually balance mobile search with its neighbouring filter label. */
@media(max-width:600px){
 .shop-toolbar>#shop-filter-toggle{font-size:14px;line-height:22px}
 .shop-search input{font-size:16px;transform:scale(.875);transform-origin:left center;margin-right:-24px}
}

/* Mobile filters share the shopping-bag drawer pattern. */
.filter-drawer{position:fixed;inset:0 0 0 auto;width:min(440px,100%);height:100dvh;max-width:100%;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;background:#f8f7f3;color:#171516;overflow:hidden}
.filter-drawer[open]{display:flex;flex-direction:column;animation:filter-slide-in 280ms cubic-bezier(.22,1,.36,1)}
.filter-drawer::backdrop{background:rgba(30,19,18,.2);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
body.filter-drawer-open{overflow:hidden}
.filter-drawer-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e7ded8;flex-shrink:0}
.filter-drawer-heading h2{margin:0;font:600 32px/1.1 'Cormorant Garamond',Georgia,serif}
.filter-drawer-close{display:grid;place-items:center;width:44px;height:44px;color:#720113;border:0;background:transparent;outline:none}
.filter-drawer-close:focus-visible{outline:1px solid #bda29c;outline-offset:2px}
.filter-drawer-body{flex:1;min-height:0;overflow-y:auto;padding:8px 24px 24px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bda29c transparent}
.filter-drawer #shop-filters.shop-sidebar{display:block;max-height:none;height:auto;opacity:1;visibility:visible;overflow:visible;padding:0;margin:0;transform:none;width:100%}
.filter-drawer .shop-sidebar-inner{width:100%;min-width:0}
.filter-drawer-footer{padding:18px 24px calc(20px + env(safe-area-inset-bottom,0px));border-top:1px solid #e7ded8;background:#fff;flex-shrink:0}
.filter-drawer-footer .shop-add{height:46px}
@keyframes filter-slide-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.filter-drawer[open]{animation:none}}

/* Restore the white About content before the warm footer. */
.about-page{background:#fff}
@media(max-width:650px){
 .about-page .meet-anna,.about-page .about-studio{background:#fff}
 .about-page+.site-footer{background:#f7f6f2}
}

/* Preserve identical header geometry when toggling the phone navigation. */
@media(max-width:600px){
 .site-header,.site-header.menu-open{position:sticky;top:0;left:auto;right:auto;border:1px solid rgba(255,255,255,.35);padding-top:env(safe-area-inset-top,0px)}
 .site-header .header-inner,.site-header.menu-open .header-inner{height:68px;width:100%;padding-inline:12px;gap:4px;box-sizing:border-box}
 .site-header .brand,.site-header.menu-open .brand{flex:0 0 auto;transform:none}
 .site-header .header-actions,.site-header.menu-open .header-actions{gap:2px}
}

/* Compact phone bag typography; no touch-focus frame on close. */
@media(max-width:600px){
 .shop-bag .bag-heading h2{font-size:30px;line-height:1.1}
 .shop-bag .bag-item h3{font-size:22px;line-height:26px}
 .shop-bag .bag-promo-disclosure>summary,.shop-bag .bag-total>span{font-size:22px;line-height:28px}
 .shop-bag .bag-total{font-size:20px}
 .shop-bag .bag-item-info>p{font-size:12px}
}
@media(hover:none) and (pointer:coarse){
 .shop-bag .bag-close,.shop-bag .bag-close:focus,.shop-bag .bag-close:focus-visible,.shop-bag .bag-close:active{outline:none;border:0;border-radius:0;box-shadow:none;background:transparent;-webkit-tap-highlight-color:transparent}
}

@media(max-width:600px){.about-hero .about-signature{display:none}}

@media(max-width:600px){
 .services-inner{gap:0;padding-bottom:40px}
 .services-consult.mobile-consult-prompt{margin-top:28px;padding:24px 0 0;border-top:1px solid #e8ded8;max-width:none}
 .mobile-consult-prompt>p{font-size:14px;line-height:22px;margin-bottom:10px}
 .mobile-consult-prompt .approach-link{min-height:36px;font-size:14px}
}
#consultation-title{scroll-margin-top:100px}

@media(max-width:600px){.mobile-consult-prompt>*{animation:none!important;opacity:1;transform:none}}

/* Shared typography, using the home page as the reference. */
.about-copy h1,.services-copy h1,.shop-hero-inner h1,.contact-intro h1,.journal-intro h1,.article-heading h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600}
.about-description,.services-description,.shop-description,.contact-intro>p,.journal-intro>p,.article-heading>p{font-family:Manrope,Arial,sans-serif;font-weight:400}
@media(max-width:600px){
 .about-copy h1,.services-copy h1,.shop-hero-inner h1,.contact-intro h1,.journal-intro h1,.article-heading h1{font-size:clamp(29px,8.2vw,38px);line-height:1.02;letter-spacing:normal;margin-bottom:24px}
 .about-eyebrow,.services-eyebrow,.shop-eyebrow,.contact-eyebrow,.journal-eyebrow,.article-eyebrow{font-family:Manrope,Arial,sans-serif;font-weight:400;font-size:clamp(8px,2.5vw,10px);line-height:16px;letter-spacing:.45px}
 .about-description,.services-description,.shop-description,.contact-intro>p:not(.contact-kicker),.journal-intro>p:not(.journal-eyebrow),.article-heading>p:not(.article-eyebrow){font-size:15px;line-height:24px;letter-spacing:normal}
 .about-consult,.services-consult .approach-link{font-family:Manrope,Arial,sans-serif;font-size:14px;line-height:20px;font-weight:400}
}

@media(max-width:600px){.contact-kicker{font:400 clamp(8px,2.5vw,10px)/16px Manrope,Arial,sans-serif;letter-spacing:.45px}}

/* Minimal home-style carousel dots. */
.meder-dots{display:none}
@media(max-width:600px){
 .meder-dots{display:flex;justify-content:center;align-items:center;gap:2px;margin-top:14px}
 .meder-dots button{width:28px;height:28px;display:grid;place-items:center;padding:0}
 .meder-dots button::before{content:"";width:6px;height:6px;border-radius:50%;background:#e8e1d6;opacity:.8;transform:scale(.85);transition:background-color 280ms ease,opacity 280ms ease,transform 280ms ease}
 .meder-dots button[aria-pressed="true"]::before{background:#720113;opacity:1;transform:scale(1)}
 .meder-dots button:focus-visible{outline:1px solid #bda29c;outline-offset:0;border-radius:50%}
 .services-consult.mobile-consult-prompt{border-top:0;margin-top:12px;padding-top:8px}
}
@media(prefers-reduced-motion:reduce){.meder-dots button::before{transition:none}}

/* Mobile Treatments hero and swipeable section navigation. */
@media(max-width:600px){
 .services-inner{min-height:320px;padding:88px 24px 36px;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch}
 .services-copy h1{font-size:clamp(29px,8.2vw,38px);line-height:1.02;margin:18px 0 24px}
 .services-eyebrow{font-size:clamp(8px,2.5vw,10px);line-height:16px;letter-spacing:.45px}
 .services-description{font-size:15px;line-height:24px;max-width:34ch}
 .service-filters{display:flex;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding:24px 24px 4px;gap:10px;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-left:24px;-webkit-overflow-scrolling:touch}
 .service-filters::-webkit-scrollbar{display:none}
 .service-filters button{flex:0 0 auto;scroll-snap-align:start;height:42px;padding:0 20px;font:400 14px/20px Manrope,Arial,sans-serif}
}

/* Editorial slide count and quiet directional controls. */
.meder-carousel-nav{display:none}
@media(max-width:600px){
 .meder-carousel-nav{display:flex;align-items:center;justify-content:space-between;margin-top:12px;min-height:40px;color:#720113}
 .meder-slide-count{font:400 11px/18px Manrope,Arial,sans-serif;letter-spacing:1px;font-variant-numeric:tabular-nums;color:#a18d84}
 .meder-slide-current{display:inline-block;color:#720113}
 .meder-count-divider{padding:0 5px;color:#c7b7af}
 .meder-slide-controls{display:flex;gap:8px}
 .meder-slide-controls button{display:grid;place-items:center;width:40px;height:40px;color:#720113;border:0;background:transparent}
 .meder-slide-controls button:disabled{opacity:.22;cursor:default}
 .meder-slide-controls button:focus-visible{outline:1px solid #bda29c;outline-offset:-4px;border-radius:4px}
 .services-consult.mobile-consult-prompt{margin-top:18px}
}

/* Blend the About portrait softly into the mobile introduction. */
@media(max-width:600px){
 .about-hero{background:#f7f6f2}
 .about-hero .about-background{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 70%,rgba(0,0,0,.88) 80%,rgba(0,0,0,.32) 93%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 70%,rgba(0,0,0,.88) 80%,rgba(0,0,0,.32) 93%,transparent 100%)}
 .about-hero .about-inner{padding-top:20px}
}

@media(max-width:600px){.services-consult.mobile-consult-prompt{display:none}}

/* Calm reading area beneath the mobile Treatments image. */
@media(max-width:600px){
 .services-hero{background:#f7f3ed;isolation:isolate}
 .services-hero .services-background{object-position:60% top;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 14%,rgba(0,0,0,.65) 38%,rgba(0,0,0,.15) 65%,transparent 84%);mask-image:linear-gradient(to bottom,#000 0%,#000 14%,rgba(0,0,0,.65) 38%,rgba(0,0,0,.15) 65%,transparent 84%)}
 .services-hero .services-inner{background:linear-gradient(to bottom,rgba(247,243,237,0) 0%,rgba(247,243,237,.72) 38%,#f7f3ed 75%);min-height:320px}
 .services-copy{position:relative;z-index:1}
 .services-copy h1{color:#171516}
 .services-description{color:#625852}
}

@media(max-width:600px){
 .about-hero .about-inner{position:relative;margin-top:-24px;padding-top:8px;background:transparent}
 .about-hero .about-copy{position:relative;z-index:1}
}

/* Tighter rhythm for the mobile Treatments introduction. */
@media(max-width:600px){
 .services-hero .services-inner{min-height:280px;padding-top:64px;padding-bottom:28px}
 .services-copy h1{margin-top:12px;margin-bottom:18px}
 .service-filters{padding-top:18px;gap:10px}
 .meder-section{padding-top:30px}
 .meder-eyebrow{margin-bottom:10px}
 .meder-section h2{margin-bottom:16px}
 .meder-intro{gap:8px;margin-bottom:20px}
}

@media(max-width:600px){.meder-intro{margin-bottom:36px}}

@media(max-width:600px){.about-tagline{font:400 clamp(8px,2.5vw,10px)/16px Manrope,Arial,sans-serif;letter-spacing:.45px}}

/* More compact mobile treatment cards. */
@media(max-width:600px){
 .meder-grid .meder-card>img{height:136px}
 .meder-grid .meder-card-copy{padding:16px 18px 18px}
 .meder-grid .meder-number{font-size:12px;line-height:16px;margin-bottom:4px}
 .meder-grid .meder-card h3{font-size:28px;margin-bottom:8px}
 .meder-grid .meder-card-copy>p{font-size:13px;line-height:19px;min-height:38px}
 .meder-grid .meder-card-bottom{margin-top:10px;padding-top:10px;font-size:14px;line-height:20px}
 .meder-grid .meder-arrow{width:40px;height:40px;flex-basis:40px}
}

/* Compact advanced treatments with fully visible action controls. */
@media(max-width:650px){
 .advanced-list{gap:16px}
 .advanced-treatment{min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .advanced-copy{padding:16px 18px 10px;min-width:0}
 .advanced-copy h3{font-size:22px;line-height:1.1;white-space:normal;margin-bottom:6px}
 .advanced-copy p{font-size:13px;line-height:19px}
 .advanced-duration,.advanced-price{min-height:30px;margin-bottom:10px;font-size:13px}
 .advanced-price{font-size:16px}
 .advanced-photo{width:100%;min-width:0;height:108px;min-height:108px;aspect-ratio:auto}
 .advanced-photo .advanced-arrow{right:12px;bottom:12px;left:auto;top:auto;width:40px;height:40px;z-index:2;background:#720113;color:#fff;opacity:1;transform:none}
 .advanced-arrow svg{display:block;width:18px;height:18px}
}

/* Paired mobile approach photos reveal as one quiet composition. */
@media(max-width:600px) and (prefers-reduced-motion:no-preference){
 .approach-collage.reveal-pending img{clip-path:none;opacity:0;transform:translateY(12px)}
 .approach-collage.reveal-visible img{clip-path:none;animation:approach-pair-in 650ms cubic-bezier(.22,1,.36,1) both}
 .approach-collage.reveal-visible .approach-skin{animation-delay:0ms}
 .approach-collage.reveal-visible .approach-serum{animation-delay:100ms}
}
@keyframes approach-pair-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* Align the visible carousel controls with the card's outer gutter. */
@media(max-width:600px){
 .meder-carousel-nav{width:100%}
 .meder-slide-controls{gap:12px;margin-right:-10px}
 .meder-slide-controls button{width:40px;height:40px}
 .meder-slide-controls button svg{display:block;flex:none}
}

@media(max-width:600px){.meder-grid .meder-card--lipo>img{object-position:center top}}

/* Compact phone treatment details with close over the photo. */
@media(max-width:650px){
 .treatment-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
 .treatment-dialog-photo{height:190px;min-height:190px}
 .treatment-dialog-copy{padding:20px}
 .treatment-dialog-copy .treatment-dialog-eyebrow{font-size:10px;line-height:16px;margin:0 0 10px;letter-spacing:.5px}
 .treatment-dialog-copy h2{font-size:30px;line-height:1.04;margin-bottom:16px}
 .treatment-dialog-copy h3{font-size:24px;margin-bottom:12px}
 .treatment-dialog-copy p{font-size:14px;line-height:22px;margin-bottom:18px}
 .treatment-dialog-meta{font-size:16px;line-height:22px;margin-bottom:20px;gap:20px}
 .treatment-dialog-meta strong{padding-left:20px}
 .treatment-tags{gap:8px;margin-bottom:20px}
 .treatment-tags li{font-size:12px;padding:6px 10px}
 .treatment-dialog-close-anchor .treatment-dialog-close{top:10px;right:10px;width:40px;height:40px;background:rgba(248,247,243,.92);border:0;box-shadow:none}
 .treatment-original-close{display:none}
}

@media(max-width:650px){
 .consultation-section{gap:24px;margin-top:64px}
 .consultation-photo{aspect-ratio:4/3;min-width:0}
 .consultation-copy{min-width:0}
 .consultation-copy h2{font-size:clamp(32px,8.8vw,38px);line-height:1.05;margin-bottom:18px}
 .consultation-eyebrow{font-size:10px;line-height:16px;letter-spacing:.45px;margin-bottom:12px}
 .consultation-intro{font:400 15px/24px Manrope,Arial,sans-serif;color:#625852;margin-bottom:24px}
 .consultation-row{grid-template-columns:36px minmax(0,1fr) 18px;gap:14px;min-height:104px;padding:16px 14px}
 .consultation-name{font-size:28px}
 .consultation-number{font-size:26px}
 .consultation-description{font-size:13px;line-height:20px}
 .consultation-details{gap:6px}
}

@media(max-width:600px){.gift-section .gift-glass{display:none}}

@media(max-width:600px){
 .contacts-page .contact-actions{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:12px}
 .contacts-page .contact-actions>a{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:48px;height:auto;padding:12px 16px;box-sizing:border-box;text-align:center;font:400 14px/20px Manrope,Arial,sans-serif}
}

@media(max-width:600px){
 .meder-slide-controls{gap:0;margin-right:0}
 .meder-slide-controls button{width:36px;height:44px}
 .meder-slide-controls button svg{width:16px;height:16px}
}

/* Refined treatment FAQs: lighter type and quiet dividers. */
.treatment-dialog .faq-eyebrow{margin:32px 0 14px;font:400 11px/18px Manrope,Arial,sans-serif;letter-spacing:1px;color:#720113}
.treatment-dialog .treatment-faq{margin:0;background:transparent;border-radius:0;border-top:1px solid #e3dcd4}
.treatment-dialog .treatment-faq:last-child{border-bottom:1px solid #e3dcd4}
.treatment-dialog .treatment-faq summary{padding:20px 0;gap:20px;font:500 24px/1.2 'Cormorant Garamond',Georgia,serif}
.treatment-dialog .treatment-faq summary .treatment-faq-chevron{position:relative;width:24px;height:24px;flex:0 0 24px;background:transparent;border-radius:0;transform:none}
.treatment-faq-chevron::before{content:"";position:absolute;left:8px;top:6px;width:7px;height:7px;border-right:1px solid #720113;border-bottom:1px solid #720113;transform:rotate(45deg);transition:transform 240ms ease}
.faq-expanded .treatment-faq-chevron::before{transform:translateY(4px) rotate(225deg)}
.treatment-faq-body{display:flow-root}
.treatment-dialog .treatment-faq p{padding:0 32px 18px 0;margin:0;color:#625852;font:400 14px/23px Manrope,Arial,sans-serif}
@media(max-width:650px){.treatment-dialog .treatment-faq summary{padding:16px 0;font-size:22px;line-height:1.2}.treatment-dialog .faq-eyebrow{font-size:10px;line-height:16px;margin-top:24px;letter-spacing:.6px}}
@media(prefers-reduced-motion:reduce){.treatment-faq-chevron::before{transition:none}}

/* Keep consultation selection adjacent to its image on phones. */
@media(max-width:650px){
 .consultation-section{display:flex;flex-direction:column;gap:20px}
 .consultation-section .consultation-copy{display:contents}
 .consultation-copy .consultation-eyebrow{order:0;width:100%;margin:0 0 -8px}
 .consultation-copy h2{order:1;width:100%;margin:0}
 .consultation-copy .consultation-intro{order:2;width:100%;margin:0;color:#625852}
 .consultation-options{order:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
 .consultation-options .consultation-row{display:flex;align-items:center;justify-content:center;min-height:46px;padding:12px 10px;gap:0;border:1px solid #e5d9d3;border-radius:6px;background:transparent;color:#720113}
 .consultation-options .consultation-row[aria-pressed="true"]{background:#720113;border-color:#720113;color:#fff}
 .consultation-options .consultation-marker,.consultation-options .consultation-number,.consultation-options .consultation-description,.consultation-options .consultation-arrow{display:none}
 .consultation-options .consultation-details{display:block}
 .consultation-options .consultation-name{font:400 14px/20px Manrope,Arial,sans-serif;color:inherit}
 .consultation-section .consultation-photo{order:4;width:100%;aspect-ratio:4/3}
}

/* Prevent scroll anchoring from fighting result/FAQ disclosure motion. */
.treatment-dialog,.treatment-dialog .treatment-faq{overflow-anchor:none}
.treatment-faq summary{-webkit-tap-highlight-color:transparent;outline:none;border-radius:0}
@media(hover:none) and (pointer:coarse){.treatment-faq summary:focus,.treatment-faq summary:focus-visible,.treatment-faq summary:active{outline:none;box-shadow:none;background:transparent}}
@media(hover:hover){.treatment-faq summary:focus-visible{outline:1px solid #bda29c;outline-offset:3px}}

@media(max-width:650px){.consultation-options .consultation-row{height:48px;min-height:48px;box-sizing:border-box;padding:12px 16px}}

/* Immersive mobile treatment imagery with a hero-like soft fade. */
@media(max-width:600px){
 .meder-grid .meder-card{position:relative;display:flex;min-height:360px;height:360px;isolation:isolate;background:#f7f3ed}
 .meder-grid .meder-card>img{position:absolute;inset:0 0 auto;width:100%;height:80%;z-index:0;object-fit:cover;object-position:center 22%;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 40%,rgba(0,0,0,.65) 61%,rgba(0,0,0,.12) 85%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 40%,rgba(0,0,0,.65) 61%,rgba(0,0,0,.12) 85%,transparent 100%)}
 .meder-grid .meder-card--lipo>img{object-position:center top}
 .meder-grid .meder-card-copy{position:relative;z-index:1;flex:0 0 auto;width:100%;height:auto;margin-top:auto;padding:16px 18px 18px;background:transparent}
 .meder-grid .meder-card--myo{background:#720113}
 .meder-grid .meder-card--myo .meder-card-copy{background:transparent}
 .meder-grid .meder-card-copy>p{max-width:28ch}
}

/* Consultation selectors match the gift certificate button dimensions. */
@media(max-width:650px){.consultation-options .consultation-row{height:42px;min-height:42px;padding:0 18px;border-radius:6px;font:400 14px/20px Manrope,Arial,sans-serif}}

/* A lighter warm surface keeps the bag calm beside the white checkout area. */
.shop-bag{background:#faf9f6}

/* Readable category labels in the mobile navigation. */
@media(max-width:600px){
.menu-open .mobile-nav .products-panel li>a,.menu-open .mobile-nav .products-panel li>button{font-size:15px;line-height:21px;color:#4e4642}
.menu-open .mobile-nav .products-panel>div:first-child li:first-child>a{font-size:15px;color:#720113}
.menu-open .products-panel .products-heading{font-size:11px;line-height:16px;color:#7d6869}
}

/* Avoid the native grey tap flash on product disclosures. */
.pdp-accordions summary{-webkit-tap-highlight-color:transparent}
@media(hover:none) and (pointer:coarse){.pdp-accordions summary:focus,.pdp-accordions summary:focus-visible,.pdp-accordions summary:active{outline:none;box-shadow:none;background:transparent}}

/* Reveal the treatment intro after its fonts settle, without moving the text. */
@keyframes treatments-copy-fade{from{opacity:0}to{opacity:1}}
.services-copy > :nth-child(n){transform:none;animation:treatments-copy-fade 550ms ease-out both;animation-delay:0ms}
.treatments-type-pending .services-copy > *{opacity:0;animation:none}
@media(prefers-reduced-motion:reduce){.services-copy > *{animation:none}}

/* Quiet, compact filter disclosure controls. */
.filter-drawer .facet-group{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid #e9e3dd}
.filter-drawer .facet-group h2{margin:0}
.filter-drawer #shop-filters .facet-heading{min-height:44px;font:400 16px/22px Manrope,Arial,sans-serif;color:#292320;gap:16px}
.facet-heading>span{display:grid;place-items:center;flex:0 0 24px;transition:transform 220ms ease;color:#720113}
.facet-heading[aria-expanded=true]>span{transform:rotate(45deg)}
.filter-drawer .facet-options{padding-top:12px;box-sizing:border-box}
.filter-drawer .facet-option{align-items:center;gap:12px;min-height:36px;margin-bottom:4px;font-size:14px;line-height:21px;color:#4e4642}
.filter-drawer .facet-option input{width:20px;height:20px;flex-basis:20px;border-color:#cfc5bd;border-radius:4px}
.filter-drawer .filter-drawer-close{border:0;border-radius:50%;background:#f0e9e6;outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent}
.filter-drawer-heading{padding-block:16px}.filter-drawer-heading h2{font-size:30px}
.filter-drawer-body{padding-top:16px;overflow-anchor:none}
.filter-drawer-footer .shop-add{height:48px}
@media(hover:none) and (pointer:coarse){.filter-drawer-close:focus-visible,.facet-heading:focus-visible{outline:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){.facet-heading>span{transition:none}}

/* Suppress browser tap flashes site-wide, including labels and disclosures. */
html *{-webkit-tap-highlight-color:transparent}
:where(a,button,summary,[role="button"],[role="tab"],[tabindex]):focus:not(:focus-visible){outline:none}

/* A compact reassurance row beneath the mobile purchase controls. */
@media(max-width:700px){
.pdp-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:0;padding:16px 0;margin:0;border-color:#eee8e3}
.pdp-trust>span{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;padding:0 8px;text-align:center;font:400 11px/16px Manrope,Arial,sans-serif;color:#625852;min-width:0}
.pdp-trust>span+span{border-left:1px solid #eee8e3}
.pdp-trust svg{display:block;width:20px;height:20px;flex:0 0 20px;color:#720113}
}

/* Restore the gentle stagger once the treatment fonts are ready. */
@keyframes treatments-copy-rise{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:no-preference){
.services-copy > :nth-child(n){animation:treatments-copy-rise 750ms cubic-bezier(.22,1,.36,1) both;animation-delay:80ms}
.services-copy > :nth-child(2){animation-delay:200ms}
.services-copy > :nth-child(3){animation-delay:340ms}
.treatments-type-pending .services-copy > :nth-child(n){opacity:0;transform:translate3d(0,10px,0);animation:none}
}
@media(prefers-reduced-motion:reduce){.services-copy > :nth-child(n){animation:none;transform:none}}

.filter-drawer .filter-drawer-close{background:transparent;border:0;border-radius:0;box-shadow:none}

/* Fine-line facet icons aligned with the drawer close control. */
.filter-drawer .facet-heading>span{position:relative;flex:0 0 44px;width:44px;height:44px;font-size:0;line-height:0;transform:none}
.filter-drawer .facet-heading>span::before,.filter-drawer .facet-heading>span::after{content:"";position:absolute;left:15px;top:21.5px;width:14px;height:1px;background:#720113;transition:transform 220ms cubic-bezier(.22,1,.36,1),opacity 180ms ease}
.filter-drawer .facet-heading>span::after{transform:rotate(90deg)}
.filter-drawer .facet-heading[aria-expanded=true]>span::after{transform:rotate(0);opacity:0}
@media(prefers-reduced-motion:reduce){.filter-drawer .facet-heading>span::before,.filter-drawer .facet-heading>span::after{transition:none}}

/* Align the visible carousel chevron with the card’s outer edge. */
@media(max-width:600px){.meder-slide-controls{margin-right:-14px}}

/* One centred rotation, driven by the requested accordion state. */
.pdp-accordions details summary .pdp-accordion-icon,.pdp-accordions details[open] summary .pdp-accordion-icon{transform:none;transition:none}
.pdp-accordions summary .pdp-accordion-icon::before{left:8px;top:7px;transform-origin:4px 4px;transform:rotate(45deg);transition:transform 260ms cubic-bezier(.22,1,.36,1)}
.pdp-accordions .is-expanded summary .pdp-accordion-icon::before{transform:rotate(225deg)}
@media(prefers-reduced-motion:reduce){.pdp-accordions summary .pdp-accordion-icon::before{transition:none}}

/* Short, evenly paced intro; no long easing tail on phone GPUs. */
@media(prefers-reduced-motion:no-preference){
.services-copy > :nth-child(n){animation-duration:520ms;animation-timing-function:cubic-bezier(.2,.65,.35,1);animation-delay:0ms;backface-visibility:hidden;will-change:opacity,transform}
.services-copy > :nth-child(2){animation-delay:90ms}
.services-copy > :nth-child(3){animation-delay:180ms}
.treatments-type-pending .services-copy > :nth-child(n){animation:none}
}

/* Filter drawer follows the shopping bag's motion and surface. */
.filter-drawer{width:min(460px,100%);background:#faf9f6;box-shadow:-8px 0 40px #35101714}
.filter-drawer[open]{animation:bag-enter 300ms cubic-bezier(.22,1,.36,1)}
.filter-drawer::backdrop{transition:backdrop-filter 180ms ease,-webkit-backdrop-filter 180ms ease,background-color 180ms ease}
.filter-drawer.is-closing::backdrop{background-color:transparent;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}
@media(prefers-reduced-motion:reduce){.filter-drawer[open]{animation:none}.filter-drawer::backdrop{transition:none}}

/* Disclosure chevrons are distinct from the close icon. */
.filter-drawer .facet-heading>span::before{left:18px;top:17px;width:7px;height:7px;background:transparent;border-right:1px solid #720113;border-bottom:1px solid #720113;transform:rotate(45deg);transform-origin:4px 4px;transition:transform 240ms cubic-bezier(.22,1,.36,1)}
.filter-drawer .facet-heading>span::after{display:none}
.filter-drawer .facet-heading[aria-expanded=true]>span::before{transform:rotate(225deg)}
@media(prefers-reduced-motion:reduce){.filter-drawer .facet-heading>span::before{transition:none}}

.consultation-selection{display:none}
@media(max-width:650px){
.consultation-options{position:relative;isolation:isolate}
.consultation-selection{display:block;position:absolute;pointer-events:none;background:#720113;border-radius:6px;z-index:0}
.consultation-options .consultation-row{position:relative;z-index:1;transition:color 240ms ease,border-color 240ms ease;background:transparent}
.consultation-options .consultation-row[aria-pressed=true]{background:transparent;border-color:transparent}
.consultation-options .consultation-name{transition:color 240ms ease}
}

/* A single JS-controlled intro avoids competing CSS animation restarts. */
.services-copy > :nth-child(n){animation:none;transform:none;backface-visibility:hidden}
.treatments-type-pending .services-copy > :nth-child(n){animation:none;opacity:0;transform:translate3d(0,8px,0)}
.services-copy{isolation:isolate}

/* A clear vertical reading order for narrow catalogue cards. */
@media(max-width:600px){
.shop-grid .shop-card .shop-details{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:8px;margin:12px 0 14px;padding:0;min-width:0}
.shop-card .shop-name{grid-column:1;grid-row:1;min-width:0}
.shop-card .shop-name h2{margin:0 0 4px;font-size:22px;line-height:24px}
.shop-card .shop-volume{display:block;font-size:11px;line-height:16px;color:#726963}
.shop-grid .shop-card .shop-details>p{grid-column:1;grid-row:2;margin:0;min-height:36px;font-size:12px;line-height:18px;color:#625852}
.shop-grid .shop-card .shop-price{grid-column:1;grid-row:3;align-self:end;justify-self:start;margin:2px 0 0;font:400 15px/21px Manrope,Arial,sans-serif;color:#720113}
}

/* A restrained colour fade and uninterrupted photo crossfade. */
.consultation-photo{position:relative}
.consultation-photo>.consultation-photo-transition{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:2}
@media(max-width:650px){
.consultation-selection{display:none}
.consultation-options .consultation-row{transition:background-color 260ms ease-in-out,color 260ms ease-in-out,border-color 260ms ease-in-out}
.consultation-options .consultation-row[aria-pressed=true]{background:#720113;border-color:#720113;color:#fff}
}

/* Keep the pinned close control visible over both photo and cream content. */
.treatment-dialog .treatment-dialog-close,.treatment-dialog-close-anchor .treatment-dialog-close{background:#fffdf9;border:1px solid rgba(114,1,19,.24);box-shadow:0 2px 8px rgba(60,28,24,.12);color:#720113}

/* The close circle changes colour as it moves from photo to cream content. */
.treatment-dialog .treatment-dialog-close,.treatment-dialog-close-anchor .treatment-dialog-close{border:0;box-shadow:none;background:#fffdf9;color:#720113;transition:background-color 280ms ease-in-out,color 280ms ease-in-out}
.treatment-dialog .treatment-dialog-close.over-content{background:#720113;color:#fffdf9}
@media(prefers-reduced-motion:reduce){.treatment-dialog .treatment-dialog-close{transition:none}}

/* Start immediately: opacity-only stagger, with no loading gate or moving glyphs. */
@keyframes treatment-intro-opacity{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){
.services-copy > :nth-child(n){opacity:1;transform:none;animation:treatment-intro-opacity 420ms linear both;animation-delay:0ms;will-change:opacity;backface-visibility:visible}
.services-copy > :nth-child(2){animation-delay:80ms}
.services-copy > :nth-child(3){animation-delay:160ms}
}
@media(prefers-reduced-motion:reduce){.services-copy > :nth-child(n){opacity:1;animation:none;transform:none}}

/* Use the site's drawn arrow rather than a font glyph in the menu. */
@media(max-width:600px){
.menu-open .mobile-nav .products-panel>div:first-child li:first-child>a::after{content:"";display:block;flex:0 0 18px;width:18px;height:18px;background:#720113;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12h18M13 4l8 8-8 8' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12h18M13 4l8 8-8 8' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform 240ms ease}
.menu-open .mobile-nav .products-panel>div:first-child li:first-child>a:hover::after{transform:translateX(3px)}
}
@media(prefers-reduced-motion:reduce){.menu-open .mobile-nav .products-panel>div:first-child li:first-child>a::after{transition:none}}

/* Catalogue intro follows the treatment page's light opacity stagger. */
@media(prefers-reduced-motion:no-preference){
.shop-hero-inner > :nth-child(2){animation-delay:80ms}
.shop-hero-inner > :nth-child(3){animation-delay:160ms}
}
@media(prefers-reduced-motion:reduce){}

@media(max-width:600px){.menu-open .mobile-nav .products-panel>div:first-child li:first-child>a{gap:8px}.menu-open .mobile-nav .products-panel>div:first-child li:first-child>a::after{width:13px;height:13px;flex-basis:13px}}

/* Keep iOS's native caret crisp; fade only the search hint. */
.shop-search input{caret-color:#720113;color:#292320}
.shop-search input::placeholder{transition:color 180ms ease;opacity:1}
.shop-search input:focus::placeholder{color:#b1aaa4}
@media(max-width:700px){.shop-search input{transform:none;margin-right:0;font-size:16px}.shop-toolbar.search-open .shop-search input{animation:none}}

/* View All uses the homepage approach arrow: 11px, 2.6 stroke. */
@media(max-width:600px){
.menu-open .mobile-nav .products-panel>div:first-child li:first-child>a{gap:6px}
.menu-open .mobile-nav .products-panel>div:first-child li:first-child>a::after{width:11px;height:11px;flex-basis:11px;position:relative;top:1px;transition:transform 450ms ease-in-out;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12H21M13 4L21 12L13 20' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12H21M13 4L21 12L13 20' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
}

/* Crisp, centred check mark without a rotated border. */
.facet-option input:checked::after{content:"";display:block;width:14px;height:14px;border:0;transform:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10l4 4 8-8' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px 14px no-repeat}

/* A quieter native search caret, retaining 16px text to prevent iOS zoom. */
.shop-search input{caret-color:#9b777c}
@media(max-width:700px){.shop-search input{font-size:16px;line-height:20px;height:24px;padding-top:2px;padding-bottom:2px}}

/* Tighter mobile catalogue copy, preserving aligned purchase buttons. */
@media(max-width:600px){
.shop-grid .shop-card .shop-details{gap:5px;margin:10px 0 10px;grid-template-rows:auto 1fr auto}
.shop-card .shop-name h2{margin-bottom:2px;font-size:21px;line-height:23px}
.shop-grid .shop-card .shop-details>p{min-height:0;font-size:12px;line-height:17px}
.shop-grid .shop-card .shop-price{margin-top:4px;font-size:14px;line-height:20px}
.shop-card .shop-volume{font-size:10px;line-height:15px}
}

/* Keep the product size beside its name instead of on a separate line. */
@media(max-width:600px){
.shop-grid .shop-card .shop-name{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:space-between;gap:8px}
.shop-grid .shop-card .shop-name h2{flex:1 1 auto;min-width:0;margin:0;font-size:21px;line-height:23px;overflow-wrap:normal}
.shop-grid .shop-card .shop-name .shop-volume{flex:0 0 auto;max-width:62px;text-align:right;font:400 10px/15px Manrope,Arial,sans-serif;color:#726963}
.shop-grid .shop-card .shop-details{gap:7px;margin:10px 0}
}

/* Catalogue intro is controlled by its dedicated rule below. */

/* Match the treatment hero's mobile text placement and rhythm. */
@media(max-width:600px){
.shop-hero-inner{min-height:280px;padding:64px 24px 28px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end}
.shop-hero-inner .shop-eyebrow{margin:0;font-size:clamp(8px,2.5vw,10px);line-height:16px;letter-spacing:.45px}
.shop-hero-inner h1{font-size:clamp(29px,8.2vw,38px);line-height:1.02;margin:12px 0 18px;letter-spacing:normal}
.shop-hero-inner .shop-description{max-width:none;margin:0;font-size:15px;line-height:24px;color:#625852}
}

/* A longer, feathered portrait-to-content blend on phones. */
@media(max-width:600px){
.about-hero .about-background{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 60%,rgba(0,0,0,.97) 67%,rgba(0,0,0,.83) 75%,rgba(0,0,0,.57) 83%,rgba(0,0,0,.25) 91%,rgba(0,0,0,.06) 97%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 60%,rgba(0,0,0,.97) 67%,rgba(0,0,0,.83) 75%,rgba(0,0,0,.57) 83%,rgba(0,0,0,.25) 91%,rgba(0,0,0,.06) 97%,transparent 100%)}
}

/* Compact filter drawer spacing with full touch targets. */
@media(max-width:700px){
.filter-drawer-heading{padding:12px 24px}
.filter-drawer-body{padding-top:6px;padding-bottom:18px}
.filter-drawer .facet-group{padding-bottom:6px;margin-bottom:6px}
.filter-drawer #shop-filters .facet-heading{min-height:44px;font-size:15px;line-height:21px}
.filter-drawer .facet-options{padding-top:8px;padding-bottom:6px}
.filter-drawer .facet-option{min-height:32px;margin-bottom:2px}
.filter-drawer #shop-filters .facet-clear{margin-top:10px;font-size:13px}
.filter-drawer-footer{padding-top:14px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:600px){.shop-hero-copy .shop-eyebrow{margin:0}.shop-hero-copy h1{margin:12px 0 18px}.shop-hero-copy .shop-description{margin:0}}
@media(prefers-reduced-motion:reduce){}

/* The only catalogue intro animation. */
.shop-hero-copy{opacity:1}
.catalog-intro-pending .shop-hero-copy{opacity:0}
@keyframes catalog-enter-once{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){.catalog-intro-ready .shop-hero-copy{animation:catalog-enter-once 500ms ease-out both}}

/* Pre-mounted drawer: animate only its composited position on phones. */
@media(max-width:700px){
.filter-drawer{transform:translate3d(0,0,0);backface-visibility:hidden}
.filter-drawer[open]{animation:filter-enter-smooth 260ms cubic-bezier(.2,.7,.3,1) both}
.filter-drawer::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none;transition:background-color 180ms ease;background:rgba(30,19,18,.2)}
.filter-drawer.is-closing::backdrop{background:transparent}
.filter-drawer #shop-filters.shop-sidebar{transition:none;animation:none}
}
@keyframes filter-enter-smooth{from{transform:translate3d(100%,0,0)}to{transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:reduce){.filter-drawer[open]{animation:none}}

/* Explicit consultation selection reveals the booking action. */
.consultation-booking{z-index:3;right:16px;bottom:16px;background:#720113;color:#fff;width:40px;height:40px}
.consultation-booking[hidden]{display:none}
.consultation-booking:not([hidden]){animation:consultation-booking-in 240ms ease-out both}
@keyframes consultation-booking-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.consultation-booking:not([hidden]){animation:none}}

/* Keep the promo at its inserted position rather than sorting it last. */
.shop-grid>.shop-mask{order:0;margin-top:0;grid-column:1/-1}

/* A balanced mobile gap between consultation and gift sections. */
@media(max-width:650px){.treatments-page .gift-section{margin-top:56px}}


/* Bring the mobile product photo closer to the header. */
@media(max-width:700px){.product-detail-page .pdp-layout{padding-top:8px}}


/* Fill the photo frame completely, avoiding subpixel seams at its edges. */
.pdp-main-photo{position:relative;isolation:isolate}
.pdp-main-photo>img{display:block;min-width:100%;min-height:100%;vertical-align:middle}

/* Trim only the thin image-edge gutter inside the existing frame. */
.pdp-main-photo>img[src*="lifestyle"],.shop-mask>img{width:calc(100% + 4px);height:calc(100% + 4px);max-width:none;object-fit:cover}
.pdp-main-photo>img[src*="lifestyle"]{margin:-2px}
.shop-mask>img{inset:-2px}

/* Height measurements include the same padding throughout disclosure motion. */
#shop-filters .facet-options{box-sizing:border-box;overflow-anchor:none}

/* Native grid disclosure: no measured heights or finish-time style resets. */
#shop-filters .facet-options.facet-collapse{display:grid;grid-template-rows:0fr;padding:0;opacity:0;transition:grid-template-rows 240ms ease,opacity 180ms ease;overflow:hidden}
#shop-filters .facet-options.facet-collapse.is-open{grid-template-rows:1fr;opacity:1}
.facet-collapse-inner{min-height:0;overflow:hidden}
.facet-collapse-content{display:flow-root;padding:12px 0 6px}
@media(max-width:700px){.facet-collapse-content{padding-top:8px}}
@media(prefers-reduced-motion:reduce){#shop-filters .facet-options.facet-collapse{transition:none}}

/* Lock drawer geometry before showModal; avoid iOS dynamic-viewport resizing. */
.filter-drawer[open]{animation:none;transform:translate3d(0,0,0);outline:none}
.filter-drawer{top:0;bottom:auto;contain:layout paint}

/* Do not toggle the document's scroll geometry while Safari settles its toolbar. */
body.filter-drawer-open{overflow:visible}
.filter-drawer{overscroll-behavior:none}
.filter-drawer-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}

/* Keep filter geometry fixed through both entrance and exit. */
.filter-drawer,.filter-drawer[open]{transform:none;animation:none;backface-visibility:visible;contain:none}

/* Animate a padding-free viewport; all spacing stays inside its content. */
#shop-filters .facet-options.facet-measured{display:block;padding:0;margin:0;min-height:0;overflow:hidden;opacity:1;transition:none;overflow-anchor:none}
.facet-measured>.facet-collapse-content{display:flow-root;padding:8px 0 6px;margin:0}
.filter-drawer-body,.filter-drawer .facet-group{overflow-anchor:none;scroll-behavior:auto}

/* Avoid iOS text autosizing and scroll anchoring while filter rows resize. */
.filter-drawer{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.filter-drawer-body{-webkit-overflow-scrolling:auto;overflow-anchor:none}

/* Stable disclosure layout: no height animation or scroll correction. */
#shop-filters .facet-options.facet-simple{display:flow-root;height:auto;min-height:0;padding:8px 0 6px;opacity:1;transition:none;animation:none}
#shop-filters .facet-options.facet-simple[hidden]{display:none}

/* Browser-native filter disclosures have no animated layout or scripted focus. */
#shop-filters .facet-native>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;width:100%;margin:0}
#shop-filters .facet-native>summary::-webkit-details-marker{display:none}
#shop-filters .facet-native>.facet-options{height:auto;padding:8px 0 6px;transition:none;animation:none;opacity:1}
#shop-filters .facet-native:not([open])>.facet-options{display:none}
.filter-drawer .facet-native[open]>.facet-heading>span::before{transform:rotate(225deg)}

/* Fixed-size filter screens: selecting a category never resizes the list. */
.filter-drawer-heading{gap:12px}.filter-drawer-heading h2{flex:1;min-width:0}
.filter-view-back{display:grid;place-items:center;width:32px;height:44px;color:#720113;flex:none}
.filter-view-back[hidden],.filter-choice-view[hidden]{display:none}
.filter-drawer-body{position:relative}
.filter-drawer-body.has-choice-view{overflow:hidden}
.filter-drawer-body.has-choice-view>#shop-filters{visibility:hidden;pointer-events:none}
.filter-choice-view{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px 28px;background:#faf9f6}
.filter-choice-hint{margin:0 0 18px;color:#726963;font:400 12px/20px Manrope,Arial,sans-serif}
.filter-choice-view .facet-option{display:flex;align-items:center;min-height:48px;padding:10px 0;margin:0;border-bottom:1px solid #ece5df;font:400 14px/21px Manrope,Arial,sans-serif}
.filter-choice-view .facet-option input{width:20px;height:20px;flex-basis:20px}
.filter-drawer .facet-heading>span::before{transform:rotate(-45deg)}
.filter-drawer #shop-filters .facet-options[hidden]{display:none}
.filter-drawer-heading h2{font-size:28px}

/* Mobile filter redesign: fixed category rail and fixed-height content viewport. */
.filter-drawer .filter-drawer-body{display:flex;flex-direction:column;padding:0;overflow:hidden;min-height:0}
.filter-drawer #shop-filters.shop-sidebar{display:none}
.filter-category-tabs{display:flex;gap:8px;padding:18px 24px;overflow-x:auto;flex-shrink:0;scrollbar-width:none;border-bottom:1px solid #e9e3dd;overscroll-behavior-x:contain}
.filter-category-tabs::-webkit-scrollbar{display:none}
.filter-category-tabs button{flex:none;min-height:40px;padding:9px 14px;border-radius:6px;background:#f0ece5;color:#625852;font:400 13px/20px Manrope,Arial,sans-serif;white-space:nowrap;transition:background-color 180ms,color 180ms}
.filter-category-tabs button[aria-selected=true]{background:#720113;color:#fff}
.filter-tab-choices{flex:1;min-height:0;overflow-y:auto;padding:22px 24px;overscroll-behavior:contain}
.filter-tab-choices h3{margin:0 0 16px;font:600 26px/1.1 'Cormorant Garamond',Georgia,serif}
.filter-tab-choices .facet-option{display:flex;align-items:center;min-height:48px;gap:12px;padding:10px 0;margin:0;border-bottom:1px solid #ece5df;font:400 14px/21px Manrope,Arial,sans-serif;color:#4e4642}
.filter-tab-choices .facet-option input{width:20px;height:20px;flex-basis:20px}
.filter-drawer-footer{display:grid;gap:14px}
.filter-reset-all{justify-self:start;color:#720113;border-bottom:1px solid #bda29c;padding-bottom:3px;font:400 12px/18px Manrope,Arial,sans-serif}
@media(prefers-reduced-motion:reduce){.filter-category-tabs button{transition:none}}

/* One-tap inline dropdowns, without any animated layout or second screen. */
.filter-drawer .filter-drawer-body{display:block;overflow-y:auto;padding:8px 24px 20px}
.filter-drawer #shop-filters.shop-sidebar{display:block;visibility:visible;height:auto;max-height:none;overflow:visible;opacity:1}
#shop-filters .filter-dropdown>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;min-height:48px}
#shop-filters .filter-dropdown>summary::-webkit-details-marker{display:none}
#shop-filters .filter-dropdown>.facet-options{display:block;height:auto;padding:8px 0 12px;margin:0;transition:none;animation:none;opacity:1}
#shop-filters .filter-dropdown:not([open])>.facet-options{display:none}
.filter-drawer .filter-dropdown>.facet-heading>span::before{transform:rotate(45deg);transition:none}
.filter-drawer .filter-dropdown[open]>.facet-heading>span::before{transform:rotate(225deg)}
.filter-drawer-footer{display:block}

/* Shared writing state for search, forms, messages and promotional codes. */
:where(input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="tel"],input[type="url"],input[type="password"],textarea,[contenteditable="true"]){caret-color:#9b777c}
:where(input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="tel"],input[type="url"],input[type="password"],textarea)::placeholder{opacity:1;transition:color 180ms ease}
:where(input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="tel"],input[type="url"],input[type="password"],textarea):focus::placeholder{color:#b1aaa4!important;opacity:1}
@media(prefers-reduced-motion:reduce){input::placeholder,textarea::placeholder{transition:none}}

/* Inline-triggered floating options do not change the filter panel's geometry. */
@media(max-width:700px){
.filter-drawer .filter-dropdown{position:relative;overflow:visible}
.filter-drawer .filter-dropdown[open]{z-index:10}
.filter-drawer #shop-filters .filter-dropdown>.facet-options{position:absolute;top:calc(100% - 4px);left:0;right:0;z-index:11;max-height:240px;overflow-y:auto;overscroll-behavior:contain;padding:10px 16px;background:#fffdf9;border:1px solid #e5dad2;border-radius:8px;box-shadow:0 8px 24px rgba(55,29,24,.08)}
.filter-drawer #shop-filters .filter-dropdown.opens-up>.facet-options{top:auto;bottom:calc(100% - 4px)}
.filter-drawer .filter-dropdown .facet-option{min-height:42px;margin:0;padding:8px 0}
}

/* Shared lightweight page intros: opacity only, no moving text rasterization. */
@keyframes page-intro-soft{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){
.about-copy > :nth-child(n),.contact-intro > :nth-child(n),.journal-intro > :nth-child(n),.article-heading > :nth-child(n),.hero .hero-copy > :nth-child(n),.pdp-title,.pdp-lead{animation:page-intro-soft 500ms ease-out both;animation-delay:0ms;transform:none}
.about-copy > :nth-child(2),.contact-intro > :nth-child(2),.journal-intro > :nth-child(2),.article-heading > :nth-child(2),.hero .hero-copy > :nth-child(2){animation-delay:70ms}
.about-copy > :nth-child(3),.contact-intro > :nth-child(3),.journal-intro > :nth-child(3),.article-heading > :nth-child(3),.hero .hero-copy > :nth-child(3),.pdp-lead{animation-delay:140ms}
}
@media(prefers-reduced-motion:reduce){.about-copy > :nth-child(n),.contact-intro > :nth-child(n),.journal-intro > :nth-child(n),.article-heading > :nth-child(n),.hero .hero-copy > :nth-child(n),.pdp-title,.pdp-lead{animation:none;transform:none}}

/* Keep the complete homepage intro below one second, without a moving text layer. */
@media(prefers-reduced-motion:no-preference){
.hero-eyebrow,.hero h1,.hero-description,.hero-actions,.hero-location{animation:page-intro-soft 450ms ease-out both;animation-delay:0ms;transform:none}
.hero h1{animation-delay:60ms}.hero-description{animation-delay:120ms}.hero-actions{animation-delay:180ms}.hero-location{animation-delay:220ms}
}

/* Intro text stays visible: one small motion, no hide/show opacity cycle. */
@keyframes page-entry-settle{from{transform:translate3d(0,6px,0)}to{transform:translate3d(0,0,0)}}
.shop-hero-inner,.shop-hero-copy,.catalog-intro-pending .shop-hero-copy{opacity:1;transition:none;animation:none}
@media(prefers-reduced-motion:no-preference){
.hero .hero-copy > :nth-child(n),.about-copy > :nth-child(n),.services-copy > :nth-child(n),.contact-intro > :nth-child(n),.journal-intro > :nth-child(n),.article-heading > :nth-child(n),.pdp-title,.pdp-lead,.catalog-intro-ready .shop-hero-copy,.shop-hero .shop-hero-copy{opacity:1;animation:page-entry-settle 380ms cubic-bezier(.2,.65,.35,1) backwards;animation-delay:0ms;backface-visibility:hidden}
}
@media(prefers-reduced-motion:reduce){.hero .hero-copy > :nth-child(n),.about-copy > :nth-child(n),.services-copy > :nth-child(n),.contact-intro > :nth-child(n),.journal-intro > :nth-child(n),.article-heading > :nth-child(n),.pdp-title,.pdp-lead,.shop-hero .shop-hero-copy{opacity:1;animation:none;transform:none}}

/* Stable navigation baseline: introductory text is never hidden or replayed. */
.hero .hero-copy > :nth-child(n),.hero .hero-copy > :nth-child(n) *,
.about-copy > :nth-child(n),.about-copy > :nth-child(n) *,
.services-copy > :nth-child(n),.services-copy > :nth-child(n) *,
.shop-hero-inner,.shop-hero-copy,.shop-hero-copy *,
.contact-intro > :nth-child(n),.contact-intro > :nth-child(n) *,
.journal-intro > :nth-child(n),.journal-intro > :nth-child(n) *,
.article-heading > :nth-child(n),.article-heading > :nth-child(n) *,
.pdp-title,.pdp-lead,.checkout-page > h1,.checkout-steps{
 animation:none!important;transition:none!important;opacity:1!important;visibility:visible!important;transform:none!important;will-change:auto!important
}

/* User-approved finished packshots already include background and shadow. */
.shop-photo:has(>img[src*="approved-259"]),.pdp-main-photo:has(>img[src*="approved-259"]){background:#f8f5f0}
.shop-photo:has(>img[src*="approved-259"])::before,.pdp-main-photo:has(>img[src*="approved-259"])::before{content:none!important}
.shop-photo>img[src*="approved-259"],.pdp-main-photo>img[src*="approved-259"]{object-fit:contain;mix-blend-mode:normal;filter:none;padding:0;margin:0;width:100%;height:100%;max-width:100%;transform:none}

/* Finished packshots: use supplied photo as-is, with no synthetic shadows. */
.shop-photo:has(>img[src*="approved-261"])::before,.pdp-main-photo:has(>img[src*="approved-261"])::before{content:none!important}
.shop-photo>img[src*="approved-261"],.pdp-main-photo>img[src*="approved-261"]{object-fit:cover;mix-blend-mode:normal;filter:none;padding:0;margin:0;width:100%;height:100%;max-width:100%;transform:none}

/* Desktop promotion occupies two product columns, leaving the next product beside it. */
@media(min-width:901px){
 .shop-grid>.shop-mask{grid-column:span 2;align-self:stretch}
}

/* Supplied finished photos already contain their own studio background and shadow. */
.shop-photo:has(>img[src*="approved-264"])::before,.pdp-main-photo:has(>img[src*="approved-264"])::before{content:none!important}
.shop-photo>img[src*="approved-264"],.pdp-main-photo>img[src*="approved-264"]{object-fit:cover;mix-blend-mode:normal;filter:none;padding:0;margin:0;width:100%;height:100%;max-width:100%;transform:none}

.shop-photo>img[src*="approved-265"],.pdp-main-photo>img[src*="approved-265"]{object-fit:cover;mix-blend-mode:normal;filter:none;padding:0;margin:0;width:100%;height:100%;max-width:100%;transform:none}
.shop-photo:has(>img[src*="approved-265"])::before,.pdp-main-photo:has(>img[src*="approved-265"])::before{content:none!important}

.shop-photo>img[src*="approved-266"],.pdp-main-photo>img[src*="approved-266"]{object-fit:cover;mix-blend-mode:normal;filter:none;padding:0;margin:0;width:100%;height:100%;max-width:100%;transform:none}
.shop-photo:has(>img[src*="approved-266"])::before,.pdp-main-photo:has(>img[src*="approved-266"])::before{content:none!important}

.shop-photo>img[src*="approved-267"],.pdp-main-photo>img[src*="approved-267"]{object-fit:cover;mix-blend-mode:normal;filter:none;padding:0;margin:0;width:100%;height:100%;max-width:100%;transform:none}
.shop-photo:has(>img[src*="approved-267"])::before,.pdp-main-photo:has(>img[src*="approved-267"])::before{content:none!important}

.shop-photo>img[src*="approved-268"],.pdp-main-photo>img[src*="approved-268"]{object-fit:cover;mix-blend-mode:normal;filter:none;padding:0;margin:0;width:100%;height:100%;max-width:100%;transform:none}
.shop-photo:has(>img[src*="approved-268"])::before,.pdp-main-photo:has(>img[src*="approved-268"])::before{content:none!important}

.shop-photo>img[src*="approved-271"],.pdp-main-photo>img[src*="approved-271"]{object-fit:cover;mix-blend-mode:normal;filter:none;padding:0;margin:0;width:100%;height:100%;max-width:100%;transform:none}
.shop-photo:has(>img[src*="approved-271"])::before,.pdp-main-photo:has(>img[src*="approved-271"])::before{content:none!important}

.shop-photo>img[src*="approved-273"],.pdp-main-photo>img[src*="approved-273"]{object-fit:cover;mix-blend-mode:normal;filter:none;padding:0;margin:0;width:100%;height:100%;max-width:100%;transform:none}
.shop-photo:has(>img[src*="approved-273"])::before,.pdp-main-photo:has(>img[src*="approved-273"])::before{content:none!important}

.shop-photo>img[src*="approved-274"],.pdp-main-photo>img[src*="approved-274"]{object-fit:cover;mix-blend-mode:normal;filter:none;padding:0;margin:0;width:100%;height:100%;max-width:100%;transform:none}
.shop-photo:has(>img[src*="approved-274"])::before,.pdp-main-photo:has(>img[src*="approved-274"])::before{content:none!important}

.shop-photo>img[src*="approved-275"],.pdp-main-photo>img[src*="approved-275"]{object-fit:cover;mix-blend-mode:normal;filter:none;padding:0;margin:0;width:100%;height:100%;max-width:100%;transform:none}
.shop-photo:has(>img[src*="approved-275"])::before,.pdp-main-photo:has(>img[src*="approved-275"])::before{content:none!important}

a.meder-card--hydra{display:block;color:inherit;text-decoration:none;cursor:pointer}a.meder-card--hydra:focus-visible{outline:2px solid #720113;outline-offset:4px}

a.meder-card--arma{display:block;color:inherit;text-decoration:none;cursor:pointer}a.meder-card--arma:focus-visible{outline:2px solid #720113;outline-offset:4px}

/* Compact mobile treatment navigation: all four options visible, no clipped labels. */
@media(max-width:600px){
 .service-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:16px 24px 0;overflow:visible;scroll-snap-type:none}
 .service-filters button{width:100%;min-width:0;height:38px;padding:0 10px;border:1px solid #e9e2dc;border-radius:4px;background:transparent;color:#625852;font:400 12px/18px Manrope,Arial,sans-serif;white-space:nowrap}
 .service-filters button[aria-pressed=true]{background:#720113;border-color:#720113;color:#fff}
}

/* Quiet mobile section tabs with a typographic active indicator. */
@media(max-width:600px){
 .service-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;padding:12px 24px 0;overflow:visible;scroll-snap-type:none}
 .service-filters button{position:relative;display:flex;align-items:center;justify-content:flex-start;width:100%;min-width:0;min-height:44px;height:44px;padding:0;border:0;border-bottom:1px solid #eae5df;border-radius:0;background:transparent;color:#81766f;font:400 12px/18px Manrope,Arial,sans-serif;letter-spacing:.1px;white-space:nowrap;box-shadow:none;transition:color 180ms ease}
 .service-filters button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#720113;transform:scaleX(0);transform-origin:left;transition:transform 220ms ease}
 .service-filters button[aria-pressed=true]{background:transparent;border-color:#eae5df;color:#720113}
 .service-filters button[aria-pressed=true]::after{transform:scaleX(1)}
}
@media(max-width:600px) and (prefers-reduced-motion:reduce){.service-filters button,.service-filters button::after{transition:none}}

/* A quieter, more readable personal quote on phones. */
@media(max-width:600px){
 .meet-anna-copy blockquote{max-width:none;margin:26px 0 0;padding:0 0 0 16px;border-left:1px solid #d8c2bc}
 .meet-anna-copy blockquote p{font:italic 400 23px/1.4 'Cormorant Garamond',Georgia,serif;letter-spacing:0;text-wrap:pretty;margin:0;color:#720113}
 .meet-anna-copy blockquote cite{margin:14px 0 0;text-align:left;font:400 11px/18px Manrope,Arial,sans-serif;letter-spacing:.4px;color:#8a706a}
}

/* Original pill navigation, with generous spacing and native horizontal scrolling. */
@media(max-width:600px){
 .service-filters{display:flex;grid-template-columns:none;flex-wrap:nowrap;justify-content:flex-start;gap:12px;padding:24px 24px 12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:24px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .service-filters::-webkit-scrollbar{display:none}
 .service-filters button{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:auto;min-width:0;min-height:44px;height:44px;padding:0 24px;border:1px solid transparent;border-radius:6px;background:#f7f6f2;color:#080808;font:400 13px/20px Manrope,Arial,sans-serif;letter-spacing:0;white-space:nowrap;scroll-snap-align:start;box-shadow:none}
 .service-filters button::after{content:none}
 .service-filters button[aria-pressed=true]{background:#720113;border-color:#720113;color:#fff}
}

/* Home treatment edit: clear needs, original editorial palette, whole-card links. */
.home-care{max-width:1440px;margin:0 auto;padding:88px 60px}
.home-care-heading>p{margin:0 0 20px;color:#720113;font:400 13px/20px Manrope,Arial,sans-serif;letter-spacing:.6px}
.home-care h2{margin:0 0 36px;font:600 48px/1.08 'Cormorant Garamond',Georgia,serif}
.home-care h2 em{color:#720113;font-weight:600}
.home-care-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-care-card{display:block;overflow:hidden;border-radius:8px;background:#f8f6f2;color:inherit;text-decoration:none}
.home-care-image{height:260px;overflow:hidden}
.home-care-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%;transition:transform 750ms cubic-bezier(.22,1,.36,1)}
.home-care-copy{padding:24px}
.home-care-copy h3{margin:0 0 8px;font:600 32px/1.1 'Cormorant Garamond',Georgia,serif;color:#161311}
.home-care-copy p{margin:0;color:#625852;font:400 14px/22px Manrope,Arial,sans-serif;min-height:44px}
.home-care-meta{display:flex;align-items:center;justify-content:space-between;margin-top:20px;color:#720113;font:400 14px/20px Manrope,Arial,sans-serif}
.home-care-meta svg{transition:transform 250ms ease}
.home-care-all{display:inline-flex;align-items:center;gap:14px;min-height:44px;margin-top:24px;color:#720113;text-decoration:none;font:400 14px/20px Manrope,Arial,sans-serif}
.home-care-card:focus-visible{outline:2px solid #720113;outline-offset:4px}
#hydra-treatment,#arma-treatment,#red-treatment{scroll-margin-top:120px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.home-care-card:hover img{transform:scale(1.025)}.home-care-card:hover .home-care-meta svg{transform:translateX(3px)}}
@media(max-width:900px){.home-care{padding:64px 32px}.home-care-grid{gap:16px}.home-care-copy{padding:18px}.home-care-image{height:200px}.home-care-copy h3{font-size:28px}}
@media(max-width:600px){.home-care{padding:56px 24px}.home-care h2{font-size:36px;margin-bottom:28px}.home-care-heading>p{font-size:12px;margin-bottom:16px}.home-care-grid{grid-template-columns:1fr;gap:20px}.home-care-image{height:180px}.home-care-copy{padding:20px}.home-care-copy h3{font-size:28px;margin-bottom:7px}.home-care-copy p{font-size:13px;line-height:21px;min-height:0}.home-care-meta{margin-top:16px;font-size:13px}.home-care-all{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.home-care-image img,.home-care-meta svg{transition:none}}

/* Keep the original desktop treatment selector and the new mobile cards. */
@media(min-width:601px){.home-care{display:none}}
@media(max-width:600px){.home-treatments-desktop{display:none}}

/* Review scrollbars stay quiet until the card is hovered or keyboard-focused. */
@media(hover:hover) and (pointer:fine){
 .review-card .review-body,.review-card.is-expanded .review-body{scrollbar-width:thin;scrollbar-color:transparent transparent}
 .review-card .review-body::-webkit-scrollbar{width:4px;background:transparent}
 .review-card .review-body::-webkit-scrollbar-track{background:transparent;border:0;box-shadow:none}
 .review-card .review-body::-webkit-scrollbar-thumb{background:transparent;border:0;border-radius:4px}
 .review-card:hover .review-body,.review-card:focus-within .review-body{scrollbar-color:#720113 transparent}
 .review-card:hover .review-body::-webkit-scrollbar-thumb,.review-card:focus-within .review-body::-webkit-scrollbar-thumb{background:#720113}
}

/* Keep the browser canvas and reserved scrollbar area light. */
html{background-color:#f8f7f3;color-scheme:light}body{background-color:#fff}html::-webkit-scrollbar-track{background:#f8f7f3}

/* Hide OS scrollbars completely; an independent wine indicator appears on hover. */
.review-card{position:relative}
.review-card .review-body,.review-card.is-expanded .review-body,.review-card:hover .review-body,.review-card:focus-within .review-body{scrollbar-width:none!important;scrollbar-color:transparent transparent!important;scrollbar-gutter:auto!important;-ms-overflow-style:none}
.review-card .review-body::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.review-scroll-rail{position:absolute;right:16px;width:3px;pointer-events:none;opacity:0;transition:opacity 180ms ease;background:transparent}
.review-scroll-rail[hidden]{display:none}
.review-scroll-rail>span{display:block;width:3px;background:#720113;border-radius:4px}
@media(hover:hover) and (pointer:fine){.review-card:hover .review-scroll-rail,.review-card:focus-within .review-scroll-rail{opacity:1}}
@media(prefers-reduced-motion:reduce){.review-scroll-rail{transition:none}}

/* Review indicators match the page scrollbar muted rose tone. */
.review-scroll-rail>span{background:#bda29c}

/* Match the main scrollbar to the muted rose review indicator, including Safari. */
html{scrollbar-color:#bda29c #f8f7f3!important;scrollbar-width:thin}
@supports selector(::-webkit-scrollbar){
 html{scrollbar-width:auto;scrollbar-color:auto!important}
 html::-webkit-scrollbar,body::-webkit-scrollbar{width:6px;height:6px;background:#f8f7f3}
 html::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:#f8f7f3;box-shadow:none;border:0}
 html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{background:#bda29c!important;border:0;border-radius:8px;min-height:32px}
 html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover{background:#bda29c!important}
}

.hero-mobile-text,.hero-mobile-arrow{display:none}
@media(max-width:600px){
 .hero .hero-desktop-text,.hero .hero-eyebrow{display:none}
 .hero .hero-mobile-text{display:inline}
 .hero-inner{padding-top:124px;padding-bottom:26px}
 .hero h1{position:relative;top:0;width:62%;min-height:0;padding-top:0;margin:0 0 28px;font-size:clamp(32px,8.7vw,38px);line-height:1.04;text-wrap:balance}
 .hero-description{position:relative;max-width:none;margin:0;font-size:15px;line-height:24px}
 .hero-actions{gap:10px;margin-top:24px}
 .hero-actions .hero-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;align-self:center;width:auto;min-height:44px;padding:8px 0;border:0;border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:13px;line-height:20px;box-shadow:none}
 .hero-secondary .hero-mobile-arrow{display:block}
 .hero-location{margin-top:18px;font-size:10px;letter-spacing:.5px}
 .hero-location>[data-copy="locationLabel"],.hero-location>[aria-hidden]{display:none}
}

/* Two clear mobile hero actions on one row. */
@media(max-width:600px){
 .hero-actions{display:grid;grid-template-columns:1.12fr 1fr;gap:10px;align-items:stretch}
 .hero-actions>.book,.hero-actions>.hero-secondary{display:flex;align-items:center;justify-content:center;align-self:stretch;width:100%;min-width:0;min-height:46px;height:auto;padding:10px 8px;border-radius:6px;font:400 11px/16px Manrope,Arial,sans-serif;text-align:center;white-space:normal}
 .hero-actions>.book{background:#720113;border:1px solid #720113;color:#fff}
 .hero-actions>.hero-secondary{border:1px solid #cbb6b2;background:transparent;color:#720113;gap:0}
 .hero-secondary .hero-mobile-arrow{display:none}
}

@media(max-width:600px){
 .hero-location>[data-copy="locationLabel"],.hero-location>[aria-hidden]{display:inline}
 .hero-location .location-address>.hero-desktop-text{display:inline}
 .hero-location .location-address>.hero-mobile-text{display:none}
}

@media(max-width:600px){
 .hero-actions>.book,.hero-actions>.hero-secondary{font:400 14px/20px Manrope,Arial,sans-serif;min-height:48px;padding:10px 8px}
}

@media(max-width:600px){.approach .approach-portrait{display:none}}

@media(max-width:600px){
 .treatment-row{grid-template-columns:44px minmax(0,1fr) 18px;gap:12px}
 .treatment-number{padding-right:12px}
}

@media(max-width:600px){.treatment-row .treatment-details{padding-right:10px}}

.why-professional-mobile{display:none}
@media(max-width:600px){.why-professional-desktop{display:none}.why-professional-mobile{display:inline}}

/* Homepage typography and spacing rhythm, scoped away from other pages. */
.home-page main{font-family:Manrope,Arial,sans-serif}
.home-page .hero h1,.home-page .approach h2,.home-page .treatments h2,.home-page .why-panel h3,.home-page .results h2,.home-page .reviews h2,.home-page .community h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600}
.home-page .approach-description,.home-page .why-description,.home-page .results-description,.home-page .community-description{font-weight:400;line-height:1.6}
.home-page .approach-link,.home-page .treatments-all,.home-page .book,.home-page .hero-secondary{font-family:Manrope,Arial,sans-serif;font-weight:400}
@media(max-width:600px){
 .home-page .approach{padding-top:40px;padding-bottom:48px}
 .home-page .approach-inner{row-gap:24px}
 .home-page .approach h2,.home-page .treatments h2,.home-page .results h2,.home-page .reviews h2,.home-page .community h2{font-size:36px;line-height:1.08}
 .home-page .approach h2{margin-bottom:20px}
 .home-page .approach-description,.home-page .why-description,.home-page .results-description,.home-page .community-description{font-size:15px;line-height:24px}
 .home-page .approach-eyebrow,.home-page .treatments-eyebrow,.home-page .results-eyebrow,.home-page .community-eyebrow{font:400 12px/18px Manrope,Arial,sans-serif;letter-spacing:.6px;margin-bottom:16px}
 .home-page .treatments{padding-bottom:28px}
 .home-page .treatments h2{margin-bottom:28px}
 .home-page .treatment-list{gap:20px}
 .home-page .treatment-name,.home-page .treatment-row:first-child .treatment-name{font-size:28px;line-height:1.1}
 .home-page .treatment-description{font:400 13px/20px Manrope,Arial,sans-serif}
 .home-page .treatment-details{gap:6px}
 .home-page .treatments-all{margin-top:20px;min-height:48px;font-size:14px;line-height:20px}
 .home-page #why-title{min-height:64px;padding-top:18px;padding-bottom:22px;font-size:12px;line-height:20px}
 .home-page .why-panel h3{font-size:32px;line-height:1.12;margin-top:20px;margin-bottom:20px}
 .home-page .why-eyebrow{font-size:12px;line-height:18px;letter-spacing:.5px}
 .home-page .why-inner{padding-bottom:32px}
 .home-page .approach-link{font-size:14px;line-height:20px;min-height:44px}
 .home-page main>.reviews{padding-top:56px;padding-bottom:56px}
 .home-page .community{padding-top:0;padding-bottom:56px}
 .home-page .hero-actions>.book,.home-page .hero-actions>.hero-secondary{font-size:14px;line-height:20px}
}

@media(max-width:600px){#why-panel-2 .why-description{width:100%;max-width:none;text-wrap:pretty}}

@media(max-width:600px){.home-page #results-title>span,.home-page #results-title>em{display:block}.home-page #results-title>em{white-space:nowrap}}

.reviews-mobile-all{display:none}
@media(max-width:600px){
 .home-page .reviews h2{font-size:34px;line-height:1.12;margin:0 0 20px;text-wrap:balance}
 .home-page .reviews-eyebrow{font:400 11px/18px Manrope,Arial,sans-serif;letter-spacing:.7px;margin-bottom:14px}
 .home-page .reviews-summary{display:flex;align-items:center;justify-content:flex-start;gap:14px;flex-wrap:wrap;padding:0 0 10px}
 .home-page .reviews-rating{gap:10px}
 .home-page .reviews-rating strong{font-size:34px;line-height:1}
 .home-page .reviews-rating .review-stars{gap:3px}
 .home-page .reviews-rating .review-stars img{width:11px;height:11px}
 .home-page .reviews-count{margin:0;font:400 12px/18px Manrope,Arial,sans-serif;letter-spacing:0}
 .home-page .reviews-actions{display:none}
 .home-page .reviews-grid{gap:14px}
 .home-page .review-card{padding:22px;border-radius:8px}
 .home-page .review-card .review-body{font:400 14px/23px Manrope,Arial,sans-serif;max-height:92px;-webkit-line-clamp:4;margin:14px 0 4px}
 .home-page .review-card.is-expanded .review-body{max-height:none;-webkit-line-clamp:unset;overflow:visible}
 .home-page .review-scroll-hint{font:400 12px/18px Manrope,Arial,sans-serif;min-height:32px}
 .home-page .review-author{margin-top:12px;padding-top:0;gap:10px}
 .home-page .review-author h3{margin:0;font:500 13px/20px Manrope,Arial,sans-serif}
 .home-page .review-initial{width:30px;height:30px;font:400 17px/1 Manrope,Arial,sans-serif;border-color:#d4bfba;color:#720113}
 .home-page .reviews-mobile-all{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:18px;color:#720113;font:400 14px/20px Manrope,Arial,sans-serif;text-decoration:none}
}

/* Compact mobile review cards without losing the complete text. */
@media(max-width:600px){
 .home-page .review-card{padding:18px;min-height:0}
 .home-page .review-card>.review-stars{gap:4px}
 .home-page .review-card>.review-stars img{width:11px;height:11px}
 .home-page .review-card .review-body{height:auto;min-height:0;max-height:63px;margin:11px 0 2px;font:400 13px/21px Manrope,Arial,sans-serif;-webkit-line-clamp:3}
 .home-page .review-card.is-expanded .review-body{max-height:none;-webkit-line-clamp:unset;overflow:visible}
 .home-page .review-scroll-hint{min-height:28px;font-size:11px;line-height:18px}
 .home-page .review-author{margin-top:10px;padding-top:0;gap:8px}
 .home-page .review-initial{width:24px;height:24px;font-size:14px}
 .home-page .review-author h3{font-size:12px;line-height:18px}
 .home-page .reviews-grid{gap:12px}
}

.review-google-source{display:inline-flex;align-items:center;min-height:28px;color:#8a706a;font:400 11px/18px Manrope,Arial,sans-serif;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.home-page .review-google-source{font-size:11px;min-height:26px}}

/* Verified excerpts are short enough to read directly on phones. */
@media(max-width:600px){
 .home-page .review-card .review-body,.home-page .review-card.is-expanded .review-body{display:block;height:auto;min-height:0;max-height:none;overflow:visible;-webkit-line-clamp:unset;margin:12px 0 0}
 .home-page .review-card .review-scroll-hint,.home-page .review-card .review-more,.home-page .review-card .review-google-source{display:none!important}
 .home-page .review-card .review-author{margin-top:16px;align-items:center}
 .home-page .review-card .review-author h3{margin:0;font:400 12px/18px Manrope,Arial,sans-serif}
 .home-page .review-card .review-scroll-rail{display:none}
}

@media(max-width:600px){
 .home-page .why-anna{--why-label-height:64px}
 .home-page #why-title{height:var(--why-label-height);min-height:var(--why-label-height);position:relative;z-index:1}
 .home-page .why-background{top:calc(var(--why-label-height) - 1px)}
}

/* Definitive mobile homepage section rhythm; override older Home-specific spacing. */
@media(max-width:600px){
 .home-page main[aria-label="Home"]>.approach{padding-top:40px;padding-bottom:48px;margin-block:0}
 .home-page main[aria-label="Home"]>.treatments{padding-top:0;padding-bottom:24px;margin-block:0}
 .home-page main[aria-label="Home"]>.why-anna{margin-block:0}
 .home-page main[aria-label="Home"]>.why-anna .why-inner{padding-bottom:32px}
 .home-page main[aria-label="Home"]>.results{padding-top:48px;padding-bottom:0;margin-block:0}
 .home-page main[aria-label="Home"]>.reviews{padding-top:48px;padding-bottom:48px;margin-block:0}
 .home-page main[aria-label="Home"]>.community{padding-top:0;padding-bottom:48px;margin-block:0}
 .home-page main[aria-label="Home"]>.community .community-inner{row-gap:28px}
 .home-page main[aria-label="Home"] .treatments-all{margin-top:20px;margin-bottom:0}
 .home-page main[aria-label="Home"] .results-description{margin-bottom:28px}
}

/* A little more breathing room between mobile homepage sections. */
@media(max-width:600px){
 .home-page main[aria-label="Home"]>.approach{padding-top:48px;padding-bottom:56px}
 .home-page main[aria-label="Home"]>.treatments{padding-bottom:32px}
 .home-page main[aria-label="Home"]>.results{padding-top:56px}
 .home-page main[aria-label="Home"]>.reviews{padding-top:56px;padding-bottom:56px}
 .home-page main[aria-label="Home"]>.community{padding-bottom:56px}
}

/* Extra space belongs between complete content groups, not inside their content. */
@media(max-width:600px){
 .home-page main[aria-label="Home"]>.approach{padding-top:40px;padding-bottom:48px;margin-top:8px;margin-bottom:8px}
 .home-page main[aria-label="Home"]>.treatments{padding-bottom:24px;margin-bottom:8px}
 .home-page main[aria-label="Home"]>.results{padding-top:48px;margin-top:8px}
 .home-page main[aria-label="Home"]>.reviews{padding-top:48px;padding-bottom:48px;margin-top:8px;margin-bottom:8px}
 .home-page main[aria-label="Home"]>.community{padding-bottom:48px;margin-bottom:8px}
}

@media(max-width:600px){.home-page .approach-copy>.approach-link{margin-top:8px}}

/* Mobile tab content shares the same edge as the controls and section labels. */
@media(max-width:600px){
 .home-page .why-glass{padding:22px 0 0;border:0;border-radius:0}
 .home-page .why-panel{top:22px;left:0;right:0}
 .home-page .why-panel.is-active{position:relative;top:auto;left:auto;right:auto}
}

/* Match the menu and close controls to the shopping bag’s visual weight. */
.menu-toggle span{height:1.5px}

/* Smooth rounded menu strokes: animate transforms only, with a stable centre. */
.menu-toggle span{height:1.25px;border-radius:999px;top:21px;transform:translateY(-4px);transform-origin:center;transition:transform 240ms ease;backface-visibility:hidden}
.menu-toggle span+span{top:21px;transform:translateY(4px)}
.menu-toggle[aria-expanded=true] span{top:21px;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] span+span{transform:rotate(-45deg)}
@media(max-width:600px){
.menu-toggle span{transition:transform 240ms ease}
.menu-open .mobile-nav>*{animation:none}
.site-header.menu-open,.site-header.menu-closing{animation:none}
}
@media(prefers-reduced-motion:reduce){.menu-toggle span{transition:none}}


/* Shopping bag scrollbar matches the page scrollbar. */
.bag-items{scrollbar-width:thin;scrollbar-color:#bda29c transparent}
.bag-items::-webkit-scrollbar{width:6px}
.bag-items::-webkit-scrollbar-track{background:transparent}
.bag-items::-webkit-scrollbar-thumb{background:#bda29c;border-radius:999px}
.bag-items::-webkit-scrollbar-thumb:hover{background:#bda29c}
