/* Larger reading text, with the established editorial palette and heading scale. */
body{}
.lead,.benefit{max-width:68ch;}
:root body :is(.eyebrow,.circle-kicker,.related small,.article-link small){letter-spacing:.08em;color:var(--muted);}
:root body .treatment-circle>.circle-kicker{color:var(--muted);}
.condition-body,.appointment-note-body,.booking-card-intro,.booking-overview-intro,.knowledge-context p{}
:root body :is(.condition-summary,.circle-links small,.proof span,.booking-system-note,.booking-live-note,.booking-route-summary,.booking-selection-help,.booking-price-note,.booking-overview-nav span,.appointment-selection-link small,.billing-table small){color:var(--ink);}
:root body :is(.booking-option span,.booking-option .booking-action,.booking-selection,.booking-guidance>p,.booking-note-heading,.booking-group-label,.booking-status){color:var(--ink);}
.booking-option strong,.circle-links strong{}
:root body .section.dark .eyebrow{color:var(--muted);}
:root body :is(.treatments-complementary,.section.cream,.section.rose) .circle-links strong{color:var(--ink);}
.hero-editorial .hero-title>.claim-line,.lymphology-claim>.claim-line{}
.knowledge-disclosure h2{}
:root body :is(.button,.nav-cta,.mobile-booking-cta,.back-button,.article-back,.booking-guidance .billing-link-action .button){min-height:48px;}
:root body .site-footer :is(.footer-contact,.footer-contact a,.footer-practice address,.footer-essential a,.footer-app-links a,.footer-legal a){}
:root body .site-footer :is(.footer-label,.footer-practice .footer-label,.footer-fine span){color:var(--muted);}
:root body .site-footer .footer-review{}
.site-footer .footer-contact a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere;}
:root body .privacy-notice p,:root body .privacy-notice-actions :is(a,button){}
:root body :is(.cta,.closing) .eyebrow{color:var(--on-dark);}
.global-nav,.nav-treatment-panel a,.nav-treatment-panel strong{}
@media(min-width:1201px){.global-nav{gap:18px;}}
/* Collapse before enlarged navigation labels become crowded. */
@media(max-width:1200px){
 .nav-shell nav{height:auto;min-height:76px;gap:10px;flex-wrap:wrap;padding-block:10px;}
 .menu-button{display:block;order:2;}
 .header-identity{order:0;}
 .mobile-booking-cta{display:inline-flex;align-items:center;justify-content:center;order:1;padding:10px 14px;}
 .language-switch{order:3;margin-left:0;}
 .global-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:16px 24px 28px;max-height:calc(100dvh - 100px);overflow-y:auto;background:var(--ivory);border-bottom:1px solid var(--line);box-shadow:var(--shadow);}
 .global-nav.open{display:flex;}
 .global-nav>a,.nav-treatment-menu>summary{display:block;padding:16px 10px;min-height:48px;border-bottom:1px solid var(--line);}
 .global-nav .nav-cta{display:none;}
 .nav-treatment-panel{position:static;width:100%;grid-template-columns:1fr;gap:24px;padding:22px 10px;background:transparent;box-shadow:none;border:0;}
 .nav-treatment-panel a{display:block;padding:10px 0;min-height:44px;}
 .nav-shell .back-button{order:4;flex-basis:100%;padding:8px 0;}
}
@media(max-width:680px){
 .site-footer .footer-identity{grid-template-columns:1fr;gap:28px;}
 .site-footer .footer-personal{padding-top:0;}
 .booking-options,.booking-row,.booking-row-private{grid-template-columns:1fr;}
 .condition-body{padding-right:0;}
 .wrap{width:calc(100% - 40px);}
}
/* Stable visible outlines supplement hover feedback. */
:root body :is(.button,.back-button,.article-back,.billing-overview-button){border-width:1px;}
:root body :is(a,button,summary):focus-visible{outline:2px solid var(--espresso);outline-offset:5px;}
:root body :is(.cta,.closing) :is(a,button,summary):focus-visible{outline-color:var(--on-dark);}
@media(hover:hover) and (pointer:fine){
 :root body :is(.booking-option,.booking-overview-nav a,.access-overview-link):hover :is(strong,span,small){color:var(--espresso);}
 :root body .treatments-complementary .circle-links a:hover :is(strong,small){color:var(--espresso);}
}

/* Shared type roles: same purpose, same scale across homepage and subpages. */
:root{--reading-text:1.125rem;--supporting-text:1rem;--editorial-label:1rem;--category-label:1.125rem;--card-heading:clamp(1.5rem,2.3vw,2rem);}
body{}
:root body :is(.eyebrow,.related small,.article-link small,.service-group-label,.billing-cell-label,.booking-group-label){letter-spacing:.08em;}
:root body :is(.circle-kicker,.meaning-keyword){font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px;}
:root body .meaning-keyword{color:var(--bronze-text);}
:root body .treatment-circle>.circle-kicker{color:var(--muted);}
:root body :is(.meaning h3,.treatment-circle>h3){font-weight:500;letter-spacing:-.025em;}
:root body :is(.meaning>p:last-child,.section-head>p,.access-grid p,.access-grid ul,.feature p,.treatment-step p,.collaboration-note p,.billing-path p,.practice-location-copy>p:not(.eyebrow),.privacy-topic p){}
:root body :is(.lead,.benefit,.condition-body,.appointment-note-body,.booking-card-intro,.booking-overview-intro,.knowledge-context p){}
:root body :is(.circle-links strong,.booking-option strong,.booking-overview-nav strong){}
:root body :is(.circle-links small,.condition-summary,.booking-option span,.booking-option .booking-action,.booking-selection,.booking-guidance>p,.booking-note-heading,.booking-status,.booking-route-summary,.booking-price-note,.booking-system-note,.booking-selection-help,.booking-overview-nav span){}
:root body .timeline-item>span{}
:root body .site-footer :is(.footer-label,.footer-practice .footer-label){}
