/* Non-home pages share the homepage's editorial system without changing page structure. */
:root{--home-system-ink:var(--ink);--home-system-bone:var(--cream);--home-system-rule:rgba(246,240,228,.22);--home-system-light-rule:rgba(37,27,22,.19);--home-system-ease:cubic-bezier(.22,1,.36,1)}
body:not(.homepage){background:var(--home-system-bone);color:var(--home-system-ink);font-family:var(--type-reading,"Manrope",Arial,sans-serif)}
body:not(.homepage) .nav{color:var(--home-system-ink)}
body:not(.homepage) .nav.on,body:not(.homepage) .nav.menu-open{background:color-mix(in srgb,var(--home-system-bone) 91%,transparent);border-color:var(--home-system-light-rule)}
body:not(.homepage) .brand,body:not(.homepage) .links,body:not(.homepage) .menu,body:not(.homepage) .eyebrow,body:not(.homepage) .badge,body:not(.homepage) .legal-page__updated,body:not(.homepage) .deck-counter,body:not(.homepage) .review-card cite{font-family:var(--type-editorial,"Playfair Display",Georgia,serif)!important;font-weight:400!important;letter-spacing:.075em!important;text-transform:uppercase}
body:not(.homepage) .eyebrow,body:not(.homepage) .badge,body:not(.homepage) .legal-page__updated,body:not(.homepage) .deck-counter{font-size:clamp(.66rem,.76vw,.78rem)!important;line-height:1.35!important}
body:not(.homepage) :is(.title,.page-hero h1,.services-intro h1,.socials-intro h1,.reviews-hero h1,.about-intro h1,.about-conditions h2,.about-person h2,.about-location h2,.about-questions h2,.portfolio-copy h2,.experience-item--ota h2,.experience-cover h1,.service-card h2,.condition-name,.offering h3,.experience-row h3,.athlete-entry-content h2,.legal-page h1,.legal-page h2,.error-page h1,.review-card h2,.deck-detail h2){font-family:var(--type-editorial,"Playfair Display",Georgia,serif)!important;font-style:normal!important;font-weight:400!important;text-transform:uppercase}
body:not(.homepage) :is(.about-prose,.portfolio-copy>p,.service-card p,.about-faq__answer,.condition-detail,.legal-page__body,.review-card p,.socials-intro p,.deck-detail p,.legal-page__intro p,.legal-page__body p,.services-intro p,.reviews-hero p,.socials-intro p){font-family:var(--type-editorial,"Playfair Display",Georgia,serif)!important;font-weight:400!important;letter-spacing:.035em!important;line-height:1.58!important}
body:not(.homepage) :is(.button,.home-pill,.reviews-cta .button,.error-page__primary,.cookie-panel button){border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font-family:var(--type-editorial,"Playfair Display",Georgia,serif)!important;font-weight:400!important;font-size:clamp(.68rem,.75vw,.76rem)!important;letter-spacing:.1em!important;line-height:1!important;text-transform:uppercase;transition:background .3s var(--home-system-ease),color .3s var(--home-system-ease),border-color .3s var(--home-system-ease),transform .3s var(--home-system-ease)}
body:not(.homepage) :is(.button,.home-pill,.reviews-cta .button,.error-page__primary,.cookie-panel button):hover,body:not(.homepage) :is(.button,.home-pill,.reviews-cta .button,.error-page__primary,.cookie-panel button):focus-visible{background:var(--home-system-ink);border-color:var(--home-system-ink);color:var(--home-system-bone);transform:translateY(-2px)}
body:not(.homepage) :is(.dark,.booking,.intro,.about-person,.about-questions,.sport-range,.socials-keepup){background-color:var(--home-system-ink);color:var(--home-system-bone);--line:var(--home-system-rule)}
body:not(.homepage) :is(.dark,.booking,.intro,.about-person,.about-questions,.sport-range,.socials-keepup) :is(.button,.home-pill,.link){border-color:rgba(246,240,228,.72);color:var(--home-system-bone)}
body:not(.homepage) :is(.dark,.booking,.intro,.about-person,.about-questions,.sport-range,.socials-keepup) :is(.button,.home-pill,.link):hover,body:not(.homepage) :is(.dark,.booking,.intro,.about-person,.about-questions,.sport-range,.socials-keepup) :is(.button,.home-pill,.link):focus-visible{background:var(--home-system-bone);color:var(--home-system-ink)}
body:not(.homepage) :is(.service-card,.condition-item,.about-faq details,.legal-page__body section,.treatment-detail,.experience-item,.portfolio-entry,.review-wall,.deck-layout){border-color:var(--home-system-light-rule)}
body:not(.homepage) :is(.service-card[open],.service-card--elite[open]){background:color-mix(in srgb,var(--home-system-ink) 6%,transparent)}
body:not(.homepage) :is(.service-card,.condition-item,.about-faq details) summary{font-family:var(--type-editorial,"Playfair Display",Georgia,serif)!important;font-weight:400!important;letter-spacing:.055em!important;text-transform:uppercase}
body:not(.homepage) .link,body:not(.homepage) .error-page__secondary{font-family:var(--type-editorial,"Playfair Display",Georgia,serif)!important;font-weight:400!important;letter-spacing:.085em!important;text-transform:uppercase;transition:opacity .3s var(--home-system-ease),transform .3s var(--home-system-ease)}
body:not(.homepage) .link:hover,body:not(.homepage) .link:focus-visible,body:not(.homepage) .error-page__secondary:hover,body:not(.homepage) .error-page__secondary:focus-visible{opacity:.62;transform:translateY(-1px)}
body:not(.homepage) footer{background:var(--home-system-ink);color:var(--home-system-bone)}
body:not(.homepage) footer :is(.brand,.foot small,.legal-footer a,.cookie-settings){font-family:var(--type-editorial,"Playfair Display",Georgia,serif)!important;font-weight:400!important;letter-spacing:.085em!important;text-transform:uppercase;color:inherit}
body:not(.homepage) .cookie-panel{border-color:var(--home-system-light-rule);background:var(--home-system-bone);box-shadow:none}
body:not(.homepage) .cookie-panel button{color:var(--home-system-ink)}
body:not(.homepage) .reveal{transform:translateY(16px);transition:opacity .9s var(--home-system-ease),transform .9s var(--home-system-ease)}
body:not(.homepage) .reveal.show{transform:translateY(0)}
body:not(.homepage) :is(.service-card,.condition-item,.about-faq details,.review-card,.social-post,.deck-card) :is(a,summary,button){transition-duration:.3s;transition-timing-function:var(--home-system-ease)}
@media(max-width:760px){body:not(.homepage) .reveal{transform:translateY(12px);transition-duration:.76s}body:not(.homepage) .reveal.show{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){body:not(.homepage) .reveal{opacity:1;transform:none;transition:none}body:not(.homepage) :is(.button,.home-pill,.link,.service-card,.condition-item,.about-faq details,.review-card,.social-post,.deck-card) *{transition:none!important}}

/* Second pass: internal pages inherit the homepage's predominantly dark atmosphere. */
body:not(.homepage){background:var(--home-system-ink);color:var(--home-system-bone)}
body:not(.homepage) .nav:not(.on):not(.menu-open){color:var(--home-system-bone)}
body:not(.homepage) .nav.on,body:not(.homepage) .nav.menu-open{color:var(--home-system-ink)}
body:not(.homepage) :is(.about-redesign,.about-intro,.about-clinic,.about-conditions,.about-location,.about-questions,.services-page,.booking-conclusion,.service-list,.experience-cover,.experience-portfolio,.sport-range,.reviews-page,.reviews-hero,.review-wall,.socials-page,.socials-intro,.deck-layout,.social-editorial-moment,.socials-keepup,.legal-page,.error-page,.book-page){background-color:var(--home-system-ink);color:var(--home-system-bone);--line:var(--home-system-rule)}
body:not(.homepage) :is(.about-intro,.about-clinic,.about-conditions,.about-location,.about-questions,.services-page,.booking-conclusion,.service-list,.experience-cover,.experience-portfolio,.sport-range,.reviews-page,.reviews-hero,.review-wall,.socials-page,.socials-intro,.deck-layout,.social-editorial-moment,.socials-keepup,.legal-page,.error-page,.book-page) :is(h1,h2,h3,h4,b,strong,summary,time){color:var(--home-system-bone)}
body:not(.homepage) :is(.about-intro,.about-clinic,.about-conditions,.about-location,.about-questions,.services-page,.booking-conclusion,.service-list,.experience-cover,.experience-portfolio,.sport-range,.reviews-page,.reviews-hero,.review-wall,.socials-page,.socials-intro,.deck-layout,.social-editorial-moment,.socials-keepup,.legal-page,.error-page,.book-page) :is(p,small,.eyebrow,.badge,.condition-number,.service-arrow,.legal-page__updated,.deck-counter,.review-card cite){color:rgba(246,240,228,.78)!important}
body:not(.homepage) :is(.about-intro,.about-clinic,.about-conditions,.about-location,.about-questions,.services-page,.booking-conclusion,.service-list,.experience-cover,.experience-portfolio,.sport-range,.reviews-page,.reviews-hero,.review-wall,.socials-page,.socials-intro,.deck-layout,.social-editorial-moment,.socials-keepup,.legal-page,.error-page,.book-page) :is(.button,.home-pill,.link,.about-map-link,.error-page__secondary){border-color:rgba(246,240,228,.72);color:var(--home-system-bone)!important}
body:not(.homepage) :is(.about-intro,.about-clinic,.about-conditions,.about-location,.about-questions,.services-page,.booking-conclusion,.service-list,.experience-cover,.experience-portfolio,.sport-range,.reviews-page,.reviews-hero,.review-wall,.socials-page,.socials-intro,.deck-layout,.social-editorial-moment,.socials-keepup,.legal-page,.error-page,.book-page) :is(.button,.home-pill,.link,.about-map-link,.error-page__secondary):hover,body:not(.homepage) :is(.about-intro,.about-clinic,.about-conditions,.about-location,.about-questions,.services-page,.booking-conclusion,.service-list,.experience-cover,.experience-portfolio,.sport-range,.reviews-page,.reviews-hero,.review-wall,.socials-page,.socials-intro,.deck-layout,.social-editorial-moment,.socials-keepup,.legal-page,.error-page,.book-page) :is(.button,.home-pill,.link,.about-map-link,.error-page__secondary):focus-visible{background:var(--home-system-bone);color:var(--home-system-ink)!important}
body:not(.homepage) :is(.service-card,.condition-item,.about-faq details,.qualification-list,.county-detail-list,.legal-page__body section,.portfolio-entry,.review-wall,.review-card,.deck-frame,.social-ticker){border-color:var(--home-system-rule)}
body:not(.homepage) :is(.service-card[open],.service-card--elite[open],.review-card){background:color-mix(in srgb,var(--home-system-ink) 88%,var(--home-system-bone))}
body:not(.homepage) :is(.review-card,.deck-detail,.socials-keepup__inside){color:var(--home-system-bone)}
/* Sport range is a full-bleed section; only its interior stays constrained. */
body:not(.homepage) .sport-range,body:not(.homepage) .ota-section{width:auto;max-width:none;margin-left:0;margin-right:0}
body:not(.homepage) .sport-range>.eyebrow,body:not(.homepage) .sport-range>.experience-list{width:min(100%,1400px)}

/* Contrast audit: dark sections own every readable text colour explicitly. */
body:not(.homepage) :is(.about-intro,.about-clinic,.about-conditions,.about-person,.about-location,.about-questions,.services-page,.booking-conclusion,.service-list,.experience-cover,.experience-portfolio,.sport-range,.reviews-page,.reviews-hero,.review-wall,.socials-page,.socials-intro,.deck-layout,.social-editorial-moment,.socials-keepup,.legal-page,.error-page,.book-page) :is(h1,h2,h3,h4,h5,b,strong,summary,time,.condition-name,.qualification-list p,.portfolio-copy h2,.service-price,.service-meta,.service-support b,.service-addon,.elite-label,.athlete-entry-number,.ota-zone,.ota-location,.reviews-mark,.social-card__label,.social-card__number,.social-moment__tag){color:var(--home-system-bone)!important}
body:not(.homepage) :is(.about-intro,.about-clinic,.about-conditions,.about-person,.about-location,.about-questions,.services-page,.booking-conclusion,.service-list,.experience-cover,.experience-portfolio,.sport-range,.reviews-page,.reviews-hero,.review-wall,.socials-page,.socials-intro,.deck-layout,.social-editorial-moment,.socials-keepup,.legal-page,.error-page,.book-page) :is(.service-meta,.service-support,.service-addon,.elite-label,.condition-number,.athlete-entry-number,.ota-location,.legal-page__updated,.deck-notice,.social-card__number){color:rgba(246,240,228,.72)!important}
body:not(.homepage) :is(.about-intro,.about-clinic,.about-conditions,.about-person,.about-location,.about-questions,.services-page,.booking-conclusion,.service-list,.experience-cover,.experience-portfolio,.sport-range,.reviews-page,.reviews-hero,.review-wall,.socials-page,.socials-intro,.deck-layout,.social-editorial-moment,.socials-keepup,.legal-page,.error-page,.book-page) :is(.service-card,.condition-item,.about-faq details,.qualification-list,.county-detail-list,.legal-page__body section,.portfolio-entry,.experience-item,.athlete-entry-content::after,.social-ticker){border-color:var(--home-system-rule)!important}
/* Cream is reserved for selected review and gift-card surfaces within the dark pages. */
body:not(.homepage) .reviews-page .review-card{background:var(--home-system-bone);color:var(--home-system-ink);border-color:var(--home-system-light-rule)}
body:not(.homepage) .reviews-page .review-card :is(h1,h2,h3,h4,p,b,strong,small,cite,.stars,.eyebrow,.button){color:var(--home-system-ink)!important}
body:not(.homepage) .reviews-page .review-card .button{border-color:var(--home-system-ink)!important;background:transparent}
body:not(.homepage) .reviews-page .review-card .button:hover,body:not(.homepage) .reviews-page .review-card .button:focus-visible{background:var(--home-system-ink);color:var(--home-system-bone)!important}

/* Targeted repair: retain the Treatments page composition inside the dark system. */
body:not(.homepage) .gift-cards{background:var(--home-system-ink);color:var(--home-system-bone);border-color:var(--home-system-rule)}
body:not(.homepage) .gift-cards__inner{max-width:650px;background:transparent;color:inherit;border:0}
body:not(.homepage) .gift-cards :is(.eyebrow,h2,p,strong,.gift-cards__link){color:var(--home-system-bone)!important}
body:not(.homepage) .gift-cards *{color:var(--home-system-bone)!important}
body:not(.homepage) .gift-cards .eyebrow{color:rgba(246,240,228,.72)!important}
body:not(.homepage) .gift-cards__link{padding:.72rem 1.2rem .68rem;border:1px solid var(--home-system-bone)!important;background:transparent!important}
body:not(.homepage) .gift-cards__link:hover,body:not(.homepage) .gift-cards__link:focus-visible{background:var(--home-system-bone)!important;color:var(--home-system-ink)!important;border-color:var(--home-system-bone)!important}
body:not(.homepage) .gift-cards__link:hover *,body:not(.homepage) .gift-cards__link:focus-visible *{color:var(--home-system-ink)!important}

/* Treatments opens with the light editorial title band, before returning to its dark treatment flow. */
body:not(.homepage) .services-page{background:linear-gradient(to bottom,var(--home-system-bone) 0,var(--home-system-bone) clamp(25rem,43vw,37.5rem),var(--home-system-ink) clamp(25rem,43vw,37.5rem),var(--home-system-ink) 100%)!important}
body:not(.homepage) .services-intro :is(h1,p,.eyebrow),body:not(.homepage) .services-intro *{color:var(--home-system-ink)!important}
body:not(.homepage) .services-intro .eyebrow{color:var(--home-system-ink)!important}
body:has(.services-page) .nav:not(.on):not(.menu-open){color:var(--home-system-ink)}
@media(max-width:760px){body:not(.homepage) .services-page{background:linear-gradient(to bottom,var(--home-system-bone) 0,var(--home-system-bone) clamp(29rem,135vw,41rem),var(--home-system-ink) clamp(29rem,135vw,41rem),var(--home-system-ink) 100%)!important}}

/* Treatments: keep the opening and Gift Cards as deliberate, full-bleed colour fields. */
body:not(.homepage) .services-intro{position:relative;z-index:0;isolation:isolate;background:transparent!important;color:var(--home-system-ink)!important}
body:not(.homepage) .services-intro::before{content:"";position:absolute;z-index:-1;top:-118px;right:calc(50% - 50vw);bottom:-48px;left:calc(50% - 50vw);background:var(--home-system-bone)}
body:not(.homepage) .services-intro :is(h1,h2,h3,p,a,span,small,strong,b,.eyebrow),body:not(.homepage) .services-intro *{color:var(--home-system-ink)!important;border-color:var(--home-system-ink)!important}
body:not(.homepage) .services-intro :is(.button,.link){background:transparent!important;color:var(--home-system-ink)!important;border-color:var(--home-system-ink)!important}
body:not(.homepage) .services-intro :is(.button,.link):hover,body:not(.homepage) .services-intro :is(.button,.link):focus-visible{background:var(--home-system-ink)!important;color:var(--home-system-bone)!important}
body:not(.homepage) .services-intro :is(.button,.link):hover *,body:not(.homepage) .services-intro :is(.button,.link):focus-visible *{color:var(--home-system-bone)!important}
/* The Treatments opening owns its direct hero content; this outranks the shared internal-page heading colour. */
html body:not(.homepage) main.services-page>section.services-intro.reveal>:is(h1,p,.eyebrow,a,span,strong,b,small),html body:not(.homepage) main.services-page>section.services-intro.reveal>:is(h1,p,.eyebrow)::before,html body:not(.homepage) main.services-page>section.services-intro.reveal>:is(h1,p,.eyebrow)::after{color:var(--home-system-ink)!important}

body:not(.homepage) .gift-cards{position:relative;z-index:0;isolation:isolate;background:var(--home-system-ink)!important;color:var(--home-system-bone)!important}
body:not(.homepage) .gift-cards::before{content:"";position:absolute;z-index:-1;top:0;right:calc(50% - 50vw);bottom:0;left:calc(50% - 50vw);background:var(--home-system-ink)}
body:not(.homepage) .gift-cards__inner{background:transparent!important;color:var(--home-system-bone)!important}
body:not(.homepage) .gift-cards :is(h1,h2,h3,h4,p,a,span,small,strong,b,.eyebrow,.gift-cards__link),body:not(.homepage) .gift-cards *{color:var(--home-system-bone)!important;border-color:var(--home-system-bone)!important}
body:not(.homepage) .gift-cards .eyebrow{color:var(--home-system-bone)!important}
body:not(.homepage) .gift-cards__link{background:transparent!important;border-color:var(--home-system-bone)!important}
body:not(.homepage) .gift-cards__link:hover,body:not(.homepage) .gift-cards__link:focus-visible{background:var(--home-system-bone)!important;color:var(--home-system-ink)!important;border-color:var(--home-system-bone)!important}
body:not(.homepage) .gift-cards__link:hover *,body:not(.homepage) .gift-cards__link:focus-visible *{color:var(--home-system-ink)!important}
@media(max-width:760px){body:not(.homepage) .services-intro::before{top:-104px;bottom:-34px}}

/* About and Experience open on light fields: their transparent headers are dark before the first scroll. */
body:has(.about-redesign) .nav:not(.on):not(.menu-open),body:has(.experience-cover) .nav:not(.on):not(.menu-open){color:var(--home-system-ink)!important}
body:has(.about-redesign) .nav:not(.on):not(.menu-open) .links .button,body:has(.experience-cover) .nav:not(.on):not(.menu-open) .links .button{color:var(--home-system-ink)!important;border-color:var(--home-system-ink)!important}
body:has(.about-redesign) .nav:not(.on):not(.menu-open) .brand img,body:has(.experience-cover) .nav:not(.on):not(.menu-open) .brand img{filter:none}
body:has(.about-redesign) .nav:is(.on,.menu-open),body:has(.experience-cover) .nav:is(.on,.menu-open){color:var(--home-system-ink)!important}
body:has(.about-redesign) .nav:is(.on,.menu-open) .links .button,body:has(.experience-cover) .nav:is(.on,.menu-open) .links .button{color:var(--home-system-ink)!important;border-color:var(--home-system-ink)!important}
body:has(.about-redesign) .nav:is(.on,.menu-open) .brand img,body:has(.experience-cover) .nav:is(.on,.menu-open) .brand img{filter:none}
body:not(.homepage) .services-faq{background:var(--home-system-ink);color:var(--home-system-bone);--line:var(--home-system-rule)}
body:not(.homepage) .services-faq :is(h2,summary,p,a,time){color:var(--home-system-bone)!important}
body:not(.homepage) .services-faq *{color:var(--home-system-bone)!important}
body:not(.homepage) .services-faq p{color:rgba(246,240,228,.78)!important}
body:not(.homepage) .services-faq summary,body:not(.homepage) .services-faq details{border-color:var(--home-system-rule)!important}

/* Targeted repair: the Experience cover and OTA event deliberately use opposing contrast treatments. */
body:not(.homepage) .experience-cover__line--beyond{color:var(--home-system-bone)!important}
body:not(.homepage) .ota-section{background:var(--home-system-bone)!important;color:var(--home-system-ink);--line:var(--home-system-light-rule)}
body:not(.homepage) .ota-section :is(.eyebrow,time,h2,.ota-zone,.ota-copy,.ota-location,a){color:var(--home-system-ink)!important}
body:not(.homepage) .ota-section *{color:var(--home-system-ink)!important}
body:not(.homepage) .ota-section .experience-item--ota{border-color:var(--home-system-light-rule)!important}
body:not(.homepage) .ota-section .experience-item--ota a{display:inline-flex;padding:.72rem 1.2rem .68rem;border:1px solid var(--home-system-ink)!important;background:transparent!important;color:var(--home-system-ink)!important}
body:not(.homepage) .ota-section .experience-item--ota a:hover,body:not(.homepage) .ota-section .experience-item--ota a:focus-visible{background:var(--home-system-ink)!important;color:var(--home-system-bone)!important;border-color:var(--home-system-ink)!important}

/* Treatments and About: centre only editorial introductions, not their functional rows or accordions. */
body:has(.services-page) .services-intro{margin-inline:auto;text-align:center}
body:has(.services-page) .services-intro>h1{margin-right:auto;margin-left:auto;text-align:center}
body:has(.services-page) .services-intro>p{max-width:40rem;margin-right:auto!important;margin-left:auto!important;text-align:center}
body:has(.services-page) .booking-conclusion>.shell>.eyebrow,body:has(.services-page) .booking-conclusion>.shell>h2{margin-right:auto;margin-left:auto;text-align:center}
body:has(.services-page) .booking-conclusion>.shell>p{max-width:42rem;margin-right:auto!important;margin-left:auto!important;text-align:center}
body:has(.services-page) .gift-cards__inner{text-align:center}
body:has(.services-page) .gift-cards__inner p{margin-right:auto!important;margin-left:auto!important}
body:has(.services-page) .services-faq>.shell>:is(.eyebrow,h2){margin-right:auto;margin-left:auto;text-align:center}

body:has(.about-redesign) .about-intro>.eyebrow,body:has(.about-redesign) .about-intro h1,body:has(.about-redesign) .about-intro__copy,body:has(.about-redesign) .about-brand-line{text-align:center}
body:has(.about-redesign) .about-intro__copy{margin-right:auto;margin-left:auto}
body:has(.about-redesign) .about-brand-line:before{left:50%;transform:translateX(-50%)}
body:has(.about-redesign) .about-conditions__head,body:has(.about-redesign) .about-questions__head{margin-right:auto;margin-left:auto;text-align:center}
body:has(.about-redesign) .about-questions__head{max-width:44rem}

/* About opening: the existing introduction now occupies the former three-word statement position. */
body:has(.about-redesign) .about-intro__grid{grid-template-columns:minmax(0,1fr)}
body:has(.about-redesign) .about-brand-copy{width:min(100% - 52px,42rem);max-width:42rem;margin:clamp(3.625rem,9vw,7.5rem) auto 0;color:inherit;font:400 clamp(.88rem,1.06vw,1.04rem)/1.62 var(--type-editorial,"Playfair Display",Georgia,serif)!important;letter-spacing:.035em!important;text-align:center}
body:has(.about-redesign) .about-brand-copy:before{content:none}
body:has(.about-redesign) .about-brand-copy p{margin:0;text-align:center}
body:has(.about-redesign) .about-brand-copy p+p{margin-top:clamp(1rem,2vw,1.5rem)}
@media(max-width:760px){body:has(.about-redesign) .about-brand-copy{width:min(100% - 34px,38rem);margin-top:3.875rem}}

/* Targeted repair: Reviews navigation stays legible at rest, on scroll and in the mobile menu. */
body.reviews-theme .nav,body.reviews-theme .nav.on,body.reviews-theme .nav.menu-open{background:var(--home-system-ink)!important;color:var(--home-system-bone)!important;border-color:var(--home-system-rule)!important;backdrop-filter:none}
body.reviews-theme .nav :is(.brand,.links,.links a,.menu,.button){color:var(--home-system-bone)!important}
body.reviews-theme .nav .brand img{filter:brightness(0) invert(93%) sepia(13%) saturate(405%) hue-rotate(343deg) brightness(99%) contrast(92%)}
@media(max-width:760px){body.reviews-theme .nav.menu-open .links{background:var(--home-system-ink)!important;border-color:var(--home-system-rule)!important}}

/* Services colour sequence: dark editorial opening, then a light booking field. */
html body:not(.homepage) main.services-page{background:var(--home-system-ink)!important}
html body:not(.homepage) main.services-page>section.services-intro{color:var(--home-system-bone)!important}
html body:not(.homepage) main.services-page>section.services-intro::before{background:var(--home-system-ink)!important}
html body:not(.homepage) main.services-page>section.services-intro :is(h1,h2,h3,p,a,span,small,strong,b,.eyebrow),html body:not(.homepage) main.services-page>section.services-intro *{color:var(--home-system-bone)!important;border-color:var(--home-system-bone)!important}
html body:not(.homepage) main.services-page>section.booking-conclusion{background:var(--home-system-bone)!important;color:var(--home-system-ink)!important;--line:var(--home-system-light-rule)}
html body:not(.homepage) main.services-page>section.booking-conclusion :is(h1,h2,h3,h4,p,a,span,small,strong,b,.eyebrow),html body:not(.homepage) main.services-page>section.booking-conclusion *{color:var(--home-system-ink)!important;border-color:var(--home-system-ink)!important}
html body:not(.homepage) main.services-page>section.booking-conclusion .button{background:transparent!important;color:var(--home-system-ink)!important;border-color:var(--home-system-ink)!important}
html body:not(.homepage) main.services-page>section.booking-conclusion .button:hover,html body:not(.homepage) main.services-page>section.booking-conclusion .button:focus-visible{background:var(--home-system-ink)!important;color:var(--home-system-bone)!important;border-color:var(--home-system-ink)!important}
html body:not(.homepage) main.services-page>section.booking-conclusion .button:hover *,html body:not(.homepage) main.services-page>section.booking-conclusion .button:focus-visible *{color:var(--home-system-bone)!important}

/* Experience cover: centre the existing three-line title composition on its symmetric grid. */
html body:not(.homepage) .experience-cover__inner{width:100%;margin-inline:auto}
html body:not(.homepage) .experience-cover h1{margin-inline:auto!important;text-align:center!important}
html body:not(.homepage) .experience-cover__line--experience,html body:not(.homepage) .experience-cover__line--beyond{margin-left:0!important}

/* Shared internal opening-title system — the same restrained scale as the homepage section heading. */
:root{--home-section-title-size:clamp(1.45rem,1.9vw,1.8rem);--home-section-title-leading:1.2;--home-section-title-tracking:.085em}
html body:not(.homepage) .internal-opening-title{width:min(100%,32rem)!important;max-width:32rem!important;margin-inline:auto!important;font-family:var(--type-editorial,"Playfair Display",Georgia,serif)!important;font-size:var(--home-section-title-size)!important;font-style:normal!important;font-weight:400!important;line-height:var(--home-section-title-leading)!important;letter-spacing:var(--home-section-title-tracking)!important;text-align:center!important;text-transform:uppercase!important}
html body:not(.homepage) .experience-cover .internal-opening-title .experience-cover__line{font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;margin-inline:0!important}
html body:not(.homepage) .socials-intro>div:first-child{grid-column:1/-1;width:min(100%,32rem);margin-inline:auto;text-align:center}
@media(max-width:760px){html body:not(.homepage) .internal-opening-title{font-size:clamp(1.35rem,6vw,1.62rem)!important}}

/* Four focused opening refinements. */
html body:not(.homepage) .about-intro .about-hero__watermark{left:50%!important;right:auto!important;transform:translateX(-50%)!important}
html body:not(.homepage) .services-intro .internal-opening-title{font-size:clamp(2.1rem,3.3vw,3.25rem)!important}
html body:not(.homepage) .experience-cover__support{grid-column:1/-1;justify-self:center;width:min(100% - 48px,32rem);max-width:32rem;margin:clamp(1.25rem,2.5vw,1.8rem) auto 0;color:var(--home-system-bone)!important;font:400 clamp(.8rem,.96vw,.9rem)/1.55 var(--type-editorial,"Playfair Display",Georgia,serif)!important;letter-spacing:.055em!important;text-align:center;text-transform:uppercase}
html body:not(.homepage) .socials-intro>p{grid-column:1/-1;justify-self:center;max-width:32rem;margin-inline:auto;text-align:center}
@media(min-width:761px){html body:not(.homepage) .socials-intro .internal-opening-title{width:max-content!important;max-width:none!important;white-space:nowrap}}

/* Four restrained editorial refinements. */
html body:not(.homepage) .socials-opening-emphasis{display:inline-block;font-size:1.2em}
html body:not(.homepage) .about-conditions__head h2{width:min(100%,32rem);max-width:32rem;margin-inline:auto!important;font:400 var(--home-section-title-size)/var(--home-section-title-leading) var(--type-editorial,"Playfair Display",Georgia,serif)!important;letter-spacing:var(--home-section-title-tracking)!important;text-align:center!important}
html body:not(.homepage) main.services-page{padding-top:0!important}
html body:not(.homepage) main.services-page>section.services-intro{display:flex;min-height:100svh;margin:0 auto!important;padding:82px 0 0;box-sizing:border-box;flex-direction:column;justify-content:center;text-align:center}
html body:not(.homepage) main.services-page>section.services-intro::before{top:0!important;bottom:0!important}
html body:not(.homepage) .opening-title-divider{justify-self:center;width:min(100% - 48px,28rem);height:1px;margin:clamp(1.5rem,3vw,2.25rem) auto 0;background:currentColor;opacity:.42}
html body:not(.homepage) .experience-cover__rule{grid-column:1/-1}
html body:not(.homepage) .about-intro>.opening-title-divider,html body:not(.homepage) .services-intro>.opening-title-divider{align-self:center}
html body:not(.homepage) .socials-intro>.opening-title-divider{grid-column:1/-1}
html body:not(.homepage) .socials-opening-emphasis{margin:clamp(.8rem,1.5vw,1.1rem) auto 0}
html body:not(.homepage) .about-intro>.opening-title-divider+.about-brand-line,html body:not(.homepage) .services-intro>.opening-title-divider+p,html body:not(.homepage) .socials-intro>.opening-title-divider+p{margin:clamp(1.25rem,2.5vw,1.8rem) auto 0!important}
@media(max-width:760px){html body:not(.homepage) main.services-page{padding-top:0!important}html body:not(.homepage) main.services-page>section.services-intro{min-height:0;padding:8rem 0 5.5rem}html body:not(.homepage) .opening-title-divider{width:min(100% - 40px,22rem)}}

/* Experience and Socials use the same full-viewport editorial opening rhythm as Services. */
@media(min-width:761px){
html body:not(.homepage) .experience-cover{min-height:100svh;padding:82px 0 0;box-sizing:border-box;display:flex;align-items:center}
html body:not(.homepage) .socials-page{padding-top:0!important}
html body:not(.homepage) .socials-page>.shell:first-child{min-height:100svh;padding:calc(82px + clamp(5rem,8vw,7.5rem)) 0 0;box-sizing:border-box;display:flex;flex-direction:column}
html body:not(.homepage) .socials-page>.shell:first-child>.socials-intro{flex:1;display:grid;grid-template-columns:1fr;align-content:center;justify-items:center;gap:0;margin-bottom:0!important}
}
@media(max-width:760px){
html body:not(.homepage) .experience-cover{min-height:100svh;padding:calc(72px + 2rem) 0 clamp(3rem,9svh,5rem);box-sizing:border-box;display:flex;align-items:center}
html body:not(.homepage) .socials-page{padding-top:0!important}
html body:not(.homepage) .socials-page>.shell:first-child{min-height:100svh;padding:calc(72px + 2rem + clamp(2.5rem,10vw,3.75rem)) 0 clamp(3rem,9svh,5rem);box-sizing:border-box;display:flex;flex-direction:column}
html body:not(.homepage) .socials-page>.shell:first-child>.socials-intro{flex:1;display:grid;grid-template-columns:1fr;align-content:center;justify-items:center;gap:0;margin-bottom:0!important}
}

/* Treatments retain their editorial rows, at a more restrained menu scale. */
html body:not(.homepage) main.services-page>.service-list .service-card summary{gap:clamp(.65rem,1.15vw,1rem);padding:clamp(1.35rem,2vw,1.5rem) 6px}
html body:not(.homepage) main.services-page>.service-list .service-card h2{font-size:clamp(1.35rem,2.8vw,2.8rem)!important;line-height:.96!important}
html body:not(.homepage) main.services-page>.service-list .service-card .service-price{font-size:clamp(.95rem,1.25vw,1.15rem)!important;line-height:1!important}
html body:not(.homepage) main.services-page>.service-list .service-card .service-arrow{font-size:1rem!important;line-height:1!important}
html body:not(.homepage) main.services-page>.service-list .service-card[open] summary{padding-bottom:1rem}
html body:not(.homepage) main.services-page>.service-list .service-detail{gap:clamp(1.25rem,2vw,1.75rem);padding:0 6px clamp(1.35rem,2vw,1.5rem)}
html body:not(.homepage) main.services-page>.service-list .service-detail p{max-width:34rem;font-size:clamp(.8rem,.86vw,.88rem)!important;line-height:1.65!important}
html body:not(.homepage) main.services-page>.service-list :is(.service-meta,.service-addon,.elite-label,.service-detail a){font-size:.56rem!important;letter-spacing:.095em!important}
html body:not(.homepage) main.services-page>.service-list .service-support{margin-top:.85rem!important;padding-top:.7rem;font-size:.56rem!important;line-height:1.65!important}
html body:not(.homepage) main.services-page>.service-list .service-card--elite{margin:1rem 0}
html body:not(.homepage) main.services-page>.service-list .service-card--elite summary{padding:clamp(1.35rem,2vw,1.5rem) clamp(1rem,2vw,1.25rem) 1rem}
html body:not(.homepage) main.services-page>.service-list .service-card--elite .service-detail{padding:0 clamp(1rem,2vw,1.25rem) clamp(1.35rem,2vw,1.5rem)}
html body:not(.homepage) main.services-page>.service-list .elite-label{margin-bottom:.55rem;padding:.3rem .48rem}
html body:not(.homepage) main.services-page>.service-list .elite-includes{gap:.45rem;margin-top:.9rem;padding-top:.75rem}
html body:not(.homepage) main.services-page>.service-list .elite-includes div{grid-template-columns:3.5rem 1fr;gap:.65rem}
html body:not(.homepage) main.services-page>.service-list .elite-includes :is(b,span){font-size:.54rem!important;line-height:1.55!important}
@media(max-width:760px){
html body:not(.homepage) main.services-page>.service-list .service-card summary{gap:.65rem;padding:1.15rem 0}
html body:not(.homepage) main.services-page>.service-list .service-card h2{font-size:clamp(1.3rem,7.7vw,2rem)!important}
html body:not(.homepage) main.services-page>.service-list .service-detail{gap:1rem;padding:0 0 1.15rem}
html body:not(.homepage) main.services-page>.service-list .service-card--elite{margin:.85rem -1px}
html body:not(.homepage) main.services-page>.service-list .service-card--elite summary{padding:1.15rem .9rem .85rem}
html body:not(.homepage) main.services-page>.service-list .service-card--elite .service-detail{padding:0 .9rem 1.15rem}
}

/* Treatments questions remain fully functional, with a quieter editorial scale. */
html body:not(.homepage) main.services-page .services-faq{padding:clamp(4.25rem,7vw,6.5rem) 0}
html body:not(.homepage) main.services-page .services-faq h2{max-width:32rem;margin:clamp(.7rem,1.3vw,1rem) auto clamp(2rem,3.5vw,3rem)!important;font-size:clamp(1.85rem,3vw,3.6rem)!important;line-height:.92!important;letter-spacing:-.06em!important}
html body:not(.homepage) main.services-page .services-faq__list{max-width:62rem;margin-inline:auto}
html body:not(.homepage) main.services-page .services-faq summary{gap:1rem;padding:clamp(1.05rem,1.8vw,1.3rem) 0;font-size:clamp(1rem,2vw,1.75rem)!important;line-height:1.05!important;letter-spacing:-.035em!important}
html body:not(.homepage) main.services-page .services-faq summary span{font-size:1.1rem!important;line-height:1!important}
html body:not(.homepage) main.services-page .services-faq p{max-width:38rem;margin:0 0 clamp(1rem,1.7vw,1.3rem);font-size:clamp(.82rem,.9vw,.92rem)!important;line-height:1.65!important}
html body:not(.homepage) main.services-page .services-faq__contact{margin-top:1rem!important;padding-top:.7rem;font-size:.58rem!important;line-height:1.65!important}
@media(max-width:760px){
html body:not(.homepage) main.services-page .services-faq{padding:4rem 0}
html body:not(.homepage) main.services-page .services-faq h2{margin-bottom:1.8rem!important;font-size:clamp(1.8rem,9vw,2.7rem)!important}
html body:not(.homepage) main.services-page .services-faq summary{gap:.8rem;padding:1rem 0;font-size:clamp(1rem,6.6vw,1.45rem)!important}
html body:not(.homepage) main.services-page .services-faq p{font-size:clamp(.8rem,3.8vw,.9rem)!important}
}

/* The About questions use the exact Treatments Q&A type scale and row rhythm. */
html body:not(.homepage) .about-questions h2{max-width:32rem;margin:clamp(.7rem,1.3vw,1rem) auto clamp(2rem,3.5vw,3rem)!important;font-size:clamp(1.85rem,3vw,3.6rem)!important;line-height:.92!important;letter-spacing:-.06em!important}
html body:not(.homepage) .about-questions .about-faq{max-width:62rem;margin:0 auto}
html body:not(.homepage) .about-questions .about-faq summary{gap:1rem;padding:clamp(1.05rem,1.8vw,1.3rem) 0;font-size:clamp(1rem,2vw,1.75rem)!important;line-height:1.05!important;letter-spacing:-.035em!important}
html body:not(.homepage) .about-questions .about-faq summary span{font-size:1.1rem!important;line-height:1!important}
html body:not(.homepage) .about-questions .about-faq__answer p{max-width:38rem;margin:0 0 clamp(1rem,1.7vw,1.3rem);font-size:clamp(.82rem,.9vw,.92rem)!important;line-height:1.65!important}
@media(max-width:760px){
html body:not(.homepage) .about-questions h2{margin-bottom:1.8rem!important;font-size:clamp(1.8rem,9vw,2.7rem)!important}
html body:not(.homepage) .about-questions .about-faq summary{gap:.8rem;padding:1rem 0;font-size:clamp(1rem,6.6vw,1.45rem)!important}
html body:not(.homepage) .about-questions .about-faq__answer p{font-size:clamp(.8rem,3.8vw,.9rem)!important}
}

/* The watermark-free Gift Card composition shares one true centre axis. */
html body:not(.homepage) main.services-page>.gift-cards .gift-cards__inner{width:min(100%,40rem);max-width:40rem;margin-inline:auto;display:flex;flex-direction:column;align-items:center;text-align:center}
html body:not(.homepage) main.services-page>.gift-cards .gift-cards__inner :is(.eyebrow,h2,p){width:100%;margin-inline:auto;text-align:center}
html body:not(.homepage) main.services-page>.gift-cards .gift-cards__inner p{max-width:28.5rem}
html body:not(.homepage) main.services-page>.gift-cards .gift-cards__link{align-self:center}

/* The Athlete / Sport divider is independent of its content, preserving the existing entry positions. */
html body:not(.homepage) .sport-range{position:relative}
html body:not(.homepage) .sport-range::before{content:"";position:absolute;top:clamp(2.5rem,3vw,3.25rem);left:max(26px,calc((100vw - 1400px)/2));right:max(26px,calc((100vw - 1400px)/2));height:1px;background:var(--line);pointer-events:none}
html body:not(.homepage) .sport-range>.experience-list{margin-top:45px;border-top:0}
html body:not(.homepage) .sport-range>.experience-list>.experience-item:first-child{padding-top:0}
@media(max-width:760px){html body:not(.homepage) .sport-range::before{top:1rem;left:26px;right:26px}}

/* Preserve the first About title line while giving its second line the light treatment. */
html body:not(.homepage) .about-intro .internal-opening-title>em,html body:not(.homepage) .about-intro .internal-opening-title>em *{color:var(--home-system-bone)!important}

/* Decorative title watermarks live on the original wrappers and never participate in text layout. */
html body:not(.homepage) :is(.about-intro__grid,.services-intro>h1,.experience-cover__inner>h1,.socials-intro>div:first-child){position:relative;isolation:isolate}
html body:not(.homepage) :is(.about-intro__grid,.services-intro>h1,.experience-cover__inner>h1,.socials-intro>div:first-child)::before{content:"";position:absolute;top:50%;left:50%;z-index:-1;display:block;width:min(590px,46vw);aspect-ratio:1;background-color:var(--hermes-brown);-webkit-mask:url("assets/hermes-logo-transparent.png") center/contain no-repeat;mask:url("assets/hermes-logo-transparent.png") center/contain no-repeat;opacity:.055;pointer-events:none;transform:translate(-50%,-50%)}
@media(max-width:760px){html body:not(.homepage) :is(.about-intro__grid,.services-intro>h1,.experience-cover__inner>h1,.socials-intro>div:first-child)::before{width:69vw}}

/* One central axis for every opening title composition. */
html body:not(.homepage) .about-intro__grid>.internal-opening-title{justify-self:center;margin-inline:auto!important;text-align:center!important}
html body:not(.homepage) .services-intro>:is(.eyebrow,.internal-opening-title,.opening-title-divider,p){align-self:center;margin-inline:auto!important;text-align:center!important}
html body:not(.homepage) .experience-cover__inner>:is(.internal-opening-title,.opening-title-divider,.experience-cover__support){justify-self:center;margin-inline:auto!important;text-align:center!important}
html body:not(.homepage) .socials-intro>:is(div:first-child,.opening-title-divider,p){justify-self:center;margin-inline:auto!important;text-align:center!important}

/* Reviews proof-point title: both lines retain the bone foreground through every state. */
html body.reviews-theme .reviews-page .reviews-mark>span,html body.reviews-theme .reviews-page .reviews-mark>span *{color:var(--home-system-bone)!important}

/* Socials uses the exact Experience opening-title scale for its primary statement. */
html body:not(.homepage) .socials-opening-emphasis.internal-opening-title{width:min(100%,32rem)!important;max-width:32rem!important;font-family:var(--type-editorial,"Playfair Display",Georgia,serif)!important;font-size:var(--home-section-title-size)!important;font-style:normal!important;font-weight:400!important;line-height:var(--home-section-title-leading)!important;letter-spacing:var(--home-section-title-tracking)!important;text-align:center!important;text-transform:uppercase!important}
@media(max-width:760px){html body:not(.homepage) .socials-opening-emphasis.internal-opening-title{font-size:clamp(1.35rem,6vw,1.62rem)!important}}

/* Only the social-channel field is light; the preceding Socials content retains its existing theme. */
html body:not(.homepage) .socials-page .socials-keepup{background:var(--home-system-bone)!important;color:var(--home-system-ink)!important;--line:var(--home-system-light-rule)}
html body:not(.homepage) .socials-page .socials-keepup :is(h1,h2,h3,h4,p,a,span,small,strong,b,em,i,.eyebrow){color:var(--home-system-ink)!important}
html body:not(.homepage) .socials-page .socials-keepup::before{content:none!important}
html body:not(.homepage) .socials-page .socials-channels{display:grid;grid-template-columns:minmax(250px,340px);gap:11px;justify-content:end}
html body:not(.homepage) .socials-page .socials-channels .social-link-box{display:flex!important;width:100%!important;height:46px!important;box-sizing:border-box!important;padding:0 16px!important;align-items:center!important;justify-content:space-between!important;border:1px solid var(--home-system-ink)!important;border-radius:0!important;box-shadow:none!important;color:var(--home-system-ink)!important;background:var(--home-system-bone)!important;opacity:1!important;visibility:visible!important}
html body:not(.homepage) .socials-page .socials-channels .social-link-box:hover,html body:not(.homepage) .socials-page .socials-channels .social-link-box:focus-visible{background:var(--home-system-bone)!important;border-color:var(--home-system-ink)!important;color:var(--home-system-ink)!important}
@media(max-width:760px){html body:not(.homepage) .socials-page .socials-channels{grid-template-columns:minmax(0,1fr);justify-content:stretch}}

/* Text-only colour audit: wording follows the established foreground of its section. */
html body:not(.homepage){--muted:currentColor}
html body:not(.homepage) :is(main,footer,aside) :is(div,figcaption,h1,h2,h3,h4,h5,h6,p,small,strong,b,em,i,span,label,time,cite,blockquote,li,dt,dd,th,td,summary){color:inherit!important}
html body:not(.homepage) :is(main,footer,aside) a:not(.button):not(.home-pill):not(.link):not(.error-page__primary):not(.cookie-settings){color:inherit!important}
html body:not(.homepage) :is(main,footer,aside) :is(.eyebrow,.condition-number,.condition-toggle,.service-arrow,.service-price,.service-meta,.service-addon,.elite-label,.qualification-list span,.about-opening-times__row,.about-hours__row,.review-stars){color:inherit!important}
html body:not(.homepage) :is(main,footer,aside) *::before,html body:not(.homepage) :is(main,footer,aside) *::after{color:inherit!important}
