/* OSJ V23 — Unified internal page hero, Services navigation, footer and floating controls.
   Applied LAST across the 98-page website, overriding older per-page treatments. */
:root{--osj-v23-ink:#553243;--osj-v23-accent:#b46c82;--osj-v23-bg:linear-gradient(118deg,#fff9f5 0%,#fce8e6 53%,#efb1b1 100%)}
/* Main navigation: single small, vertically centered chevron */
.desktop-nav .osj-nav-wrap > a.nav-link{display:inline-flex!important;align-items:center!important;justify-content:center;gap:8px;white-space:nowrap;line-height:1.3;vertical-align:middle}
.desktop-nav .osj-nav-wrap .osj-nav-chevron{width:15px;height:15px;flex:0 0 15px;display:block;color:#ad667c;transition:transform .2s ease;position:static;transform:none;margin:0}
.desktop-nav .osj-nav-wrap:is(:hover,:focus-within,.menu-open) .osj-nav-chevron{transform:rotate(180deg)}
/* Shared identity: each internal tab uses the Services page's peach / plum hero, typography and spacing. */
main > .sub-hero,main > .cutis-directory-hero,main > .cutis-group-hero,main.osj-simple-treatment > .osj-simple-hero,
main > .osj-simple-hero{background:var(--osj-v23-bg)!important;isolation:isolate;overflow:hidden}
main > .sub-hero{padding:64px 0 59px!important}
main > .cutis-directory-hero,main > .cutis-group-hero{padding:64px 0 58px!important}
main.osj-simple-treatment > .osj-simple-hero,main > .osj-simple-hero{padding:42px 0 34px!important}
main > .sub-hero::before,main > .sub-hero::after{display:none!important;content:none!important}
main :is(.sub-hero,.cutis-directory-hero,.cutis-group-hero,.osj-simple-hero) h1{
 font-family:'Manrope',Arial,sans-serif!important;font-size:clamp(2.45rem,4.4vw,4.75rem)!important;
 font-weight:800!important;line-height:1.13!important;letter-spacing:-.055em!important;
 color:var(--osj-v23-ink)!important;margin:13px 0 20px!important;max-width:100%;overflow-wrap:break-word;
}
main :is(.sub-hero,.cutis-directory-hero,.cutis-group-hero,.osj-simple-hero) h1 em,
main .terms-layout h1 em{
 font-family:'DM Serif Display',Georgia,serif!important;font-weight:400!important;font-style:italic!important;
 color:var(--osj-v23-accent)!important;letter-spacing:-.025em!important;
}
main > .sub-hero .crumbs-small,main :is(.cutis-directory-hero,.cutis-group-hero) .mini-eyebrow{
 color:#98546f!important;letter-spacing:.16em!important;font-weight:800;
}
main > .sub-hero .lead,main :is(.cutis-directory-hero,.cutis-group-hero) p:not(.mini-eyebrow):not(.cutis-crumbs){
 font-size:clamp(.98rem,1.25vw,1.07rem)!important;color:#745a68!important;line-height:1.7!important;
}
main > .sub-hero .lead{max-width:720px;margin-bottom:0}
main .cutis-dir-wrap,main .cutis-group-grid{gap:clamp(18px,3vw,48px)!important}
main .cutis-dir-mosaic,main .cutis-group-grid figure img{max-width:100%}
main .cutis-group-grid h1 em{display:block;font-size:.78em;margin-top:8px;line-height:1.18;max-width:18ch}
main .osj-simple-treatment .osj-simple-heading h1{margin:0 0 14px!important}
/* Legal text keeps its card layout, with the same typographic accent. */
main .terms-layout h1{font-family:'Manrope',Arial,sans-serif;letter-spacing:-.055em;color:var(--osj-v23-ink)}
/* Back-to-top: SAME circular dimensions as the Call and WhatsApp shortcuts. */
.floating-stack .float-btn.osj-back-top,
.floating-stack .float-wrap > .float-btn{box-sizing:border-box!important;width:62px!important;height:62px!important;min-width:62px!important;min-height:62px!important;max-width:62px!important;max-height:62px!important;padding:0!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 62px!important}
.floating-stack .float-btn.osj-back-top svg{width:28px!important;height:28px!important;stroke:#fff!important;fill:none!important;stroke-width:2.5!important}
/* Clear footer organisation, categories rather than five isolated treatments. */
.footer .footcol .osj-all-services-link{color:#934961;font-weight:800;margin-top:8px}
.footer .footcol h4{color:#714457}
@media(max-width:900px){
 main > .sub-hero,main > .cutis-directory-hero,main > .cutis-group-hero{padding:42px 0!important}
 main.osj-simple-treatment > .osj-simple-hero,main > .osj-simple-hero{padding:31px 0 24px!important}
 main :is(.sub-hero,.cutis-directory-hero,.cutis-group-hero,.osj-simple-hero) h1{font-size:clamp(2.12rem,7.2vw,3.5rem)!important;margin:12px 0 16px!important}
 main .cutis-group-grid h1 em{font-size:.75em}
 .floating-stack .float-btn.osj-back-top,.floating-stack .float-wrap > .float-btn{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;max-width:52px!important;max-height:52px!important;flex-basis:52px!important}
}
@media(max-width:620px){
 main :is(.sub-hero,.cutis-directory-hero,.cutis-group-hero,.osj-simple-hero) h1{font-size:clamp(2.0rem,9vw,2.85rem)!important;line-height:1.13!important;letter-spacing:-.052em!important}
 main .cutis-group-grid h1 em{font-size:.69em;max-width:100%}
 main > .sub-hero{padding:38px 0 35px!important}
 main > .cutis-directory-hero,main > .cutis-group-hero{padding:38px 0 37px!important}
 main > .sub-hero .lead{font-size:.96rem!important;line-height:1.65!important}
 .floating-stack{right:12px!important;bottom:14px!important;gap:9px!important}
 .floating-stack .float-btn.osj-back-top,.floating-stack .float-wrap > .float-btn{width:49px!important;height:49px!important;min-width:49px!important;min-height:49px!important;max-width:49px!important;max-height:49px!important;flex-basis:49px!important}
 .floating-stack .float-btn.osj-back-top svg{width:23px!important;height:23px!important}
}
@media(prefers-reduced-motion:reduce){.osj-nav-chevron{transition:none!important}}
