// Facette — Treatments page const { TREATMENT_CATEGORIES: CATS } = window.FacetteData; function Treatments({ branch, openBook, isMobile }) { const [active, setActive] = React.useState(CATS[0].id); const refs = React.useRef({}); const scrollTo = (id) => { setActive(id); const el = refs.current[id]; if (el) { // scroll within the closest scroll container const container = el.closest('.stage-desktop, .ios-scroll, .site') || document.scrollingElement; if (container && container !== document.scrollingElement) { const containerRect = container.getBoundingClientRect(); const elRect = el.getBoundingClientRect(); const offset = elRect.top - containerRect.top + container.scrollTop - 140; container.scrollTo({ top: offset, behavior: 'smooth' }); } else { el.scrollIntoView({ block: 'start' }); } } }; return ( {/* HERO */}
The full menu · with prices, finally

Every facial,
every price.

No JPG menus, no “DM for price.” Pick a category to jump in. Every row is bookable — tap to open the calendar.

4.9 on Fresha
From AED 385
{/* CAT NAV */}
{CATS.map((c) => ( ))}
{/* CATEGORIES */} {CATS.map((c) => (
{ refs.current[c.id] = el; }} id={`cat-${c.id}`}>
{c.label}

&') }} />

{c.desc}
{c.items.map((it, i) => ( openBook(it)} /> ))}
))} {/* Note */}
A note on prices

All prices in AED. Prices include VAT. “Price on request” rows are signature facials priced after a complimentary consultation — no surprise add-ons, no commission upsell.

Members save 20% on every facial booked outside their plan, and 10% on retail products in-branch.

); } function TxRow({ item, onBook }) { return (
{item.name}
{item.name}
{item.desc}
{item.duration}
{formatPrice(item)}
); } window.Treatments = Treatments;