:root{--sans:var(--font-sans);--serif:var(--font-editorial);--display:var(--font-editorial);--f-h2:var(--type-section);--f-h3:var(--type-card);--f-cap:var(--text-caption);--f-sub:var(--text-small)}
body{font-family:var(--font-sans)}
:is(.aube-section-head,.section-head,.comm-section-heading,.shead){margin-bottom:var(--heading-gap,var(--space-heading))}
:is(.aube-copy,.body-copy,.comm-lead,.lead){margin-top:var(--copy-gap,var(--space-copy));line-height:var(--leading-body)}
:is(.aube-eyebrow,.overline,.eyebrow){font-family:var(--font-editorial);font-size:var(--type-eyebrow);font-weight:var(--weight-regular);line-height:1.5;letter-spacing:0;margin-bottom:var(--eyebrow-gap,var(--space-eyebrow))}
:is(.aube-section-head,.section-head,.comm-section-heading,.shead)>:is(h2,.h2){font-family:var(--font-sans);font-size:var(--section-title-size,var(--type-section));font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
:is(.aube-page-heading,.comm-title) h1{font-family:var(--font-sans);font-size:var(--type-page);font-weight:600;line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
:is(.aube-page-heading,.comm-title) :is(.aube-copy,.comm-lead){font-size:var(--text-body)}
:is(.home-header,.hd){font-family:var(--font-sans);letter-spacing:var(--tracking-body)}
:is(.desktop-nav,.hd__nav){font-size:var(--text-body);font-weight:var(--weight-medium)}
:is(.header-book,.hd__cta){font-size:var(--text-body-small);font-weight:var(--weight-medium)}
:is(.mega-column,.hd__sub){font-size:var(--text-body-small);line-height:1.6}
.cell-recommend .section-head,.care-faq .section-head{--heading-gap:0px}
.care-treatment-intro .body-copy{--copy-gap:0px}
.cell-recommend .section-head{--section-title-size:clamp(25px,1.7vw,32px)}
.contact-page .comm-title h1{font-size:var(--type-section)}
.hero-intro h1{font-size:var(--type-hero)}

@media(max-width:760px){:is(.aube-page-heading,.comm-title) :is(.aube-copy,.comm-lead){font-size:var(--text-small)}.cell-recommend .section-head{--section-title-size:var(--type-section)}}

.form-heading>span{font-size:var(--text-page-small);line-height:1.2}
@media(max-width:760px){.form-heading>span{font-size:var(--text-subheading)}}

.aube-reveal{opacity:0;translate:0 24px;transition:opacity .75s ease,translate .75s cubic-bezier(.22,.61,.36,1)}
.aube-reveal.is-visible{opacity:1;translate:0 0}
@media(max-width:760px){.aube-reveal{translate:0 16px}.aube-reveal.is-visible{translate:0 0}}
@media(prefers-reduced-motion:reduce){.aube-reveal{opacity:1;translate:none;transition:none}}
@media print{.aube-reveal{opacity:1;translate:none}}

:root{--ink:var(--color-text);--body:var(--color-body);--body-c:var(--color-body);--muted:var(--color-muted);--purple:var(--color-purple);--purple-ink:var(--color-purple-ink)}
body{color:var(--color-body)}
.side-effect-page{--care-ink:var(--color-purple-ink)}
:is(.aube-eyebrow,.overline,.eyebrow):not(.eyebrow--light){color:var(--color-muted)}
.philosophy .overline,.phero--dark .eyebrow,.cell-hero--dark .overline{color:#fff}


:root{--color-heading:#333}
:is(main,#main) :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.detail-hero-subtitle,.cell-hero-subtitle){color:var(--color-heading)}
:is(main,#main) :is(p,li,dt,dd,td,th,label,legend,.body-copy,.comm-lead,.lead,.detail-hero-description){color:var(--color-body)}
:is(main,#main) :is(.detail-hero-subtitle,.cell-hero-subtitle,.treatment-summary,.device-summary,.principle-title,.form-heading>span){color:var(--color-heading)}
:is(main,#main) :is(.overline,.eyebrow,.aube-eyebrow,.tiny-label,.index-number,.detail-step,.cell-number,.about-step-no,.comm-kicker,.comm-date,.comm-count,.comm-footnote,.comm-case-meta,.comm-article-meta,.detail-comparison-note,.cell-program-note,.device-note,.treatment-note,.optional){color:var(--color-muted)}
:is(main,#main) :is(.credentials,.detail-facts,.cell-program-items,.cell-nad-options,.care-process,.visit-card){color:var(--color-body)}
:is(main,#main) :is(.about-comparison tbody th,.device-comparison tbody th){color:var(--color-purple-ink)}
:is(main,#main) :is(.detail-recommendation-grid li,.cell-recommend-list p,.principle-description){color:var(--color-body)}
:is(main,#main) :is(h2,h3,h4,h5,h6) :is(span,em,strong,a){color:inherit}
:is(main,#main) :is(.treatment-areas,.cell-program-card) h4{color:var(--color-heading)}
:is(main,#main) :is(.philosophy,.visit-photo,.care-title,.phero--dark) :is(h1,h2,h3,h4,p,li,dt,dd,.overline,.eyebrow){color:#fff}
:is(main,#main) .about-comparison thead th:last-child{color:#fff}
:is(main,#main) .hero-intro h1{color:var(--color-heading)}

/* Heading hierarchy is shared across pages. These sizing rules intentionally
   override component experiments so a section cannot silently change its type scale. */
:is(main,#main) :is(h1,h2,h3){font-weight:var(--weight-heading)!important;line-height:var(--leading-heading)!important;letter-spacing:var(--tracking-heading)!important}
:is(main,#main) h1{font-size:var(--type-page)!important}
:is(main,#main) :is(.hero-intro,.detail-hero-copy,.cell-hero-copy,.care-title-copy) h1{font-size:var(--type-hero)!important}
:is(main,#main) h2,:is(main,#main) .reservation-intro h1{font-size:var(--type-section)!important}
:is(main,#main) h3{font-size:var(--type-card)!important}
/* Cards and article subsections are smaller than section introductions. */
:is(main,#main) :is(.comm-card-heading,.comm-photo-open,.comm-notice-copy,.comm-login-copy,.legal-document,.cm-art,.comm-event-article,.visit-card,.comm-bottom-link) h2{font-size:var(--type-card)!important}
:is(main,#main) .about-intro h2,:is(main,#main) .cell-intro-paragraph h3{font-size:var(--text-lead)!important;font-weight:var(--weight-medium)!important}
:is(main,#main) .cell-care-grid h3{font-size:var(--text-body)!important;font-weight:var(--weight-medium)!important}
:is(main,#main) :is(h1,h2,h3) strong{font-weight:inherit!important}

:is(main,#main) .skin-guide-english{font-family:var(--font-editorial);font-size:var(--type-eyebrow);font-weight:var(--weight-regular);line-height:1.5;letter-spacing:0;margin-bottom:var(--space-eyebrow)}
