/* One type scale for every page, independent of older layout rules. */
:root{
 --type-page:clamp(2.5rem,4.5vw,4rem);
 --type-section:clamp(2rem,3.1vw,3rem);
 --type-card:clamp(1.5rem,2.1vw,1.75rem);
 --type-item:1.25rem;
 --type-body:1.125rem;
 --type-label:1rem;
 --type-number:1.125rem;
 --type-meta:.875rem;
}
body{font-size:var(--type-body);line-height:1.75}
h1{font-size:var(--type-page);line-height:1.15}
h2{font-size:var(--type-section);line-height:1.25}
h3{font-size:var(--type-card);line-height:1.35}
:root body [data-type-role="page-title"]{font-size:var(--type-page);line-height:1.15;font-weight:500;letter-spacing:-.03em}
:root body [data-type-role="section-title"]{font-size:var(--type-section);line-height:1.25;font-weight:500;letter-spacing:-.025em}
:root body [data-type-role="card-title"]{font-size:var(--type-card);line-height:1.35;font-weight:500;letter-spacing:-.02em}
:root body [data-type-role="item-title"]{font-size:var(--type-item);line-height:1.45;font-weight:500;letter-spacing:0}
:root body [data-type-role="eyebrow"]{font-size:var(--type-label);line-height:1.6;font-weight:500;letter-spacing:.06em}
:root body [data-type-role="body"]{font-size:var(--type-body);line-height:1.75;letter-spacing:0}
:root body [data-type-role="hint"]{font-size:var(--type-label);line-height:1.65;letter-spacing:0}
:root body [data-type-role="meta"]{font-size:var(--type-meta);line-height:1.65;letter-spacing:0}
:root body [data-type-role="action"]{font-size:var(--type-label);line-height:1.5;letter-spacing:.02em}
:root body [data-type-role="number"]{font-size:var(--type-number);line-height:1.5;font-weight:500;letter-spacing:0;font-variant-numeric:tabular-nums}
:root body [data-type-role="metric"]{font-size:2rem;line-height:1.3;font-weight:500;letter-spacing:-.02em}
:root body [data-type-role="claim"]{font-size:clamp(1.5rem,2vw,1.75rem);line-height:1.45;font-weight:500;letter-spacing:-.015em}
/* Numbering belongs to the same visual family throughout. */
:root body .feature::before,:root body .meaning::before,:root body .treatment-circle::before,:root body .access-grid>article::before{font-size:var(--type-number);line-height:1.5;font-weight:500;letter-spacing:0;font-variant-numeric:tabular-nums}
:root body .treatment-step b,:root body .knowledge-index{font-size:var(--type-number);line-height:1.5}
.knowledge-toggle::before{font-size:1.5rem;line-height:1}
:root body .site-footer .footer-review{font-size:var(--type-meta)!important;line-height:1.65}
:root body .timeline-item>strong small{font-size:var(--type-label);line-height:1.65}
:root body .brand-cover-location{letter-spacing:.12em;line-height:1.65}
:root body .meaning-keyword{line-height:1.6}
:root body .section.dark .eyebrow{color:var(--muted)}
/* Keep larger labels from colliding with compact index columns. */
@media(max-width:680px){
 .meaning{grid-template-columns:40px minmax(0,1fr)}
 .knowledge-disclosure>summary{grid-template-columns:32px minmax(0,1fr) 24px}
 .knowledge-disclosure h2{font-size:var(--type-card);line-height:1.35}
 .meaning h3{min-height:0}
 .circle-links small{line-height:1.75}
}
/* Complementary offers use the same copper names and clear feedback. */
:root body .treatments-complementary .circle-links strong{color:var(--bronze-text)}
:root body .circle-links a{transition:transform .18s ease,color .18s ease}
@media(hover:hover) and (pointer:fine){
 :root body .circle-links a:hover{transform:translateY(-2px)}
 :root body .circle-links a:hover strong,:root body .treatments-complementary .circle-links a:hover strong{color:var(--espresso)}
 :root body .circle-links a:hover small,:root body .treatments-complementary .circle-links a:hover small{color:var(--ink)}
}
:root body .circle-links a:focus-visible{outline:2px solid var(--espresso);outline-offset:5px}
@media(prefers-reduced-motion:reduce){:root body .circle-links a{transition:none;transform:none}}
