/* Theme switch stays outside the collapsed mobile menu. */
nav{gap:20px}.theme-toggle{flex:none;position:relative;display:inline-flex;align-items:center;justify-content:space-between;width:88px;height:44px;padding:5px;border:1px solid #c9a0b2;border-radius:999px;background:#f6ecf0;color:#762d50;cursor:pointer;isolation:isolate}.theme-toggle:before{content:"";position:absolute;left:5px;top:5px;width:32px;height:32px;border-radius:50%;background:#fff;box-shadow:0 1px 5px #4d293b22;transition:transform .2s;z-index:-1}.theme-toggle svg{width:22px;height:22px;margin:0 5px;fill:none;stroke:currentColor;stroke-width:1.7}.theme-toggle[aria-checked=true]:before{transform:translateX(44px);background:#70405a}.theme-toggle:focus-visible{outline:3px solid #a84d76;outline-offset:4px}.navlinks{margin-left:auto}
html[data-theme=dark]{--cream:#1b171c;--white:#272129;--ink:#f8eef3;--muted:#c9b9c3;--line:#53434f;--blush:#362a34;--olive:#a64c77;--wine:#efadcc;--rose:#e29abb;--sage:#302830;--sage-ink:#f8eef3;background:#1b171c;color-scheme:dark}
html[data-theme=dark] :is(body,nav,footer,.treatment-section,.faq,.mobile-shortcuts,.mobile-booking,.navlinks,.location-dialog){background:#1b171c;color:#f8eef3;border-color:#53434f}
html[data-theme=dark] :is(.hero,.contact,.booking-heading,.locations-section){background:#2c202a;color:#f8eef3}
html[data-theme=dark] :is(.treatment-card,.location-entry,.calendar-container,.booking-empty,.booking-bar,.location-option,.treatment-picker-trigger,.treatment-picker-list,.treatment-search,.customer-form input,.customer-form select){background:#272129;color:#f8eef3;border-color:#66505f}
html[data-theme=dark] :is(.hero h1,.location-heading h2,.location-entry h3,.contact h2,.booking-heading h1,.booking-bar strong,.service-name,.location-option strong,.treatment-picker-option){color:#f8eef3}
html[data-theme=dark] :is(.hero-copy p,.hero-copy .eyebrow,.section-intro p,.treatment-body p,.booking-kind,.visual-note,.collection-note,.location-heading>p,.location-entry p,.location-entry>.eyebrow,.contact p,.booking-heading p,.booking-heading .eyebrow,.booking-bar p,.service-meta,.mobile-collection-intro,.footer-bottom,.footer-contact>a,.location-dialog>.service-label,.treatment-picker-option small){color:#c9b9c3}
html[data-theme=dark] :is(.brand,.hero h1 em,.booking-heading h1 em,.text-link,.hero .text-link,.treatment-book,.service-disclosure,.location-links a,.location-action,.contact-whatsapp,.mobile-shortcuts a,.picker-chevron){color:#efadcc}
html[data-theme=dark] :is(.button,.hero .button,.button.wine,.contact-actions .button,.treatment-card[data-mode=calendar] .service-quick-book,.mobile-booking a:nth-child(2)){background:#a34873;color:#fff;border-color:#b6658c}
html[data-theme=dark] :is(.button:hover,.hero .button:hover,.button.wine:hover,.contact-actions .button:hover){background:#b25380;color:#fff}
html[data-theme=dark] :is(.button.light,.service-quick-book,.mobile-booking a:first-child,.mobile-booking a:last-child){background:transparent;color:#efadcc;border-color:#a1788e}
html[data-theme=dark] :is(.filters,.service-detail:not([hidden])){background:#241d25;border-color:#53434f}
html[data-theme=dark] .filter[data-filter]:not(.active){color:#c9b9c3;background:transparent}
html[data-theme=dark] :is(.filter.active,.filter.active:hover,.treatment-picker-option[aria-selected=true]){background:#a34873;color:#fff;border-color:#b6658c}
html[data-theme=dark] .treatment-picker-option[aria-selected=true] small{color:#fff}
html[data-theme=dark] :is(.location-option:hover,.treatment-picker-trigger:hover,.treatment-picker-option.is-active:not([aria-selected=true]),.treatment-picker-option:hover:not([aria-selected=true]),.button.light:hover){background:#40303c}
html[data-theme=dark] :is(.hours,.faq details,.footer-bottom,.treatment-book){border-color:#53434f}
html[data-theme=dark] .experience{background:#482737}
html[data-theme=dark] .theme-toggle{background:#31232e;color:#f7d8e7;border-color:#94647f}
html[data-theme=dark] :is(.treatment-search input,.time-button){color:#f8eef3}
html[data-theme=dark] input::placeholder{color:#bba9b4}
html[data-theme=dark] .treatment-picker-list{scrollbar-color:#a1788e #272129}
html[data-theme=dark] .location-dialog::backdrop{background:#09070abf}
@media(min-width:761px) and (max-width:1150px){nav{gap:14px;padding-left:3%;padding-right:3%}.navlinks{gap:14px}.navlinks .button{padding:12px 15px}}
@media(max-width:760px){nav{gap:12px}.brand{margin-right:auto}.menu{margin-left:auto}.theme-toggle{width:76px}.theme-toggle:before{width:30px;height:30px;top:6px}.theme-toggle[aria-checked=true]:before{transform:translateX(34px)}.theme-toggle svg{width:20px;height:20px;margin:0 3px}nav>.button.light{display:none}}
@media(prefers-reduced-motion:reduce){.theme-toggle:before{transition:none}}
/* Image overlays use explicit paired colors, never inherited card text. */
html .service-detail .image-tag{background:#fffefa;color:#35282e;border:1px solid #e2d8d4;box-shadow:0 1px 5px #0002;font-weight:500}
html .service-detail .compare-divider span{background:#fffefa;color:#762d50;border:1px solid #e2d8d4}
html[data-theme=dark] .service-detail .image-tag{background:#30232d;color:#fff3f9;border-color:#a1788e;box-shadow:0 1px 6px #0005}
html[data-theme=dark] .service-detail .compare-divider span{background:#30232d;color:#fff3f9;border-color:#efadcc;box-shadow:0 1px 6px #0005}
html .service-detail .compare-divider{background:#fffefa;box-shadow:1px 0 0 #30232d80}
html .service-detail .compare:focus-within{outline:3px solid #a84d76;outline-offset:3px}
html[data-theme=dark] .service-detail .compare:focus-within{outline-color:#efadcc}

/* Labels live outside the photo, leaving the comparison unobstructed. */
.comparison-figure{margin:0;min-width:0;align-self:start;width:100%}
.comparison-labels{display:flex;justify-content:space-between;gap:12px;padding-top:7px;font:400 14px/1.5 var(--sans);color:#686368}
html .service-detail .comparison-figure .compare{width:100%;height:auto;aspect-ratio:1;margin:0;max-width:none}
html .service-detail .compare-divider span{width:26px;height:26px;font-size:15px;box-shadow:0 1px 4px #0002}
html[data-theme=dark] .comparison-labels{color:#c9b9c3}
@media(min-width:761px){.comparison-figure{grid-column:1;grid-row:1}}
@media(max-width:760px){.service-detail .comparison-figure{width:calc(100% - 28px);max-width:300px;margin:0 14px}.comparison-labels{padding-top:8px}}

/* Owner introduction and connected social profiles. */
.experience{grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:center;gap:7%}
.experience .owner-artwork{display:block;max-width:320px;width:100%;margin:0;padding:0;background:transparent;order:0}
.owner-artwork a{display:block;border-radius:12px;overflow:hidden}.owner-artwork img{display:block;width:100%;height:auto}
.treatment-still{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;height:auto}
.social-links,.google-profile-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding:12px 0;font-size:16px;line-height:1.5}
.social-links>span,.google-profile-links>span{color:var(--muted);min-width:150px}
.social-links a,.google-profile-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--wine);text-decoration:underline;text-underline-offset:5px}
.google-profile-links{margin-bottom:18px}
@media(max-width:760px){.experience .owner-artwork{max-width:260px;margin:0 auto 26px}.social-links,.google-profile-links{gap:4px 20px}.social-links>span,.google-profile-links>span{flex-basis:100%}}
