/* Site-wide type scale. Loaded last to normalize legacy and current layouts. */
:root{--tf-type-banner:clamp(40px,calc(16px + 4vw),64px);--tf-type-heading:clamp(30px,calc(20px + 1.667vw),40px);--tf-type-subheading:clamp(22px,calc(18px + .667vw),26px);--tf-type-intro:clamp(18px,calc(16px + .334vw),20px);--tf-type-body:16px;--tf-type-label:12px;--tf-type-control:14px;--tf-type-caption:13px}
html body{font-family:var(--tf-sans,'Plus Jakarta Sans',Arial,sans-serif);font-size:var(--tf-type-body);line-height:1.7}
html body :is(h1,.tf-slide-title){font-family:var(--tf-serif,'Lora',Georgia,serif)!important;font-size:var(--tf-type-banner)!important;line-height:1.2!important;overflow-wrap:break-word}
html body :is(h2,.sh){font-family:var(--tf-serif,'Lora',Georgia,serif)!important;font-size:var(--tf-type-heading)!important;line-height:1.2!important;overflow-wrap:break-word}
html body .pm-categories h2{font-size:var(--tf-type-subheading)!important;white-space:nowrap}
html body :is(h3,h4,.svc-title,.card-title,.cat-title,.lvl-title,.why-title,.step-title,.panel-name,.modal-title){font-family:var(--tf-serif,'Lora',Georgia,serif)!important;font-size:var(--tf-type-subheading)!important;line-height:1.2!important;overflow-wrap:break-word}
html body :is(p,.svc-desc,.card-desc,.cat-desc,.lvl-desc,.why-desc,.why-body,.step-desc,.ta-expertise-list,.faq-a,.ct-info-body){font-family:var(--tf-sans,'Plus Jakarta Sans',Arial,sans-serif)!important;font-size:var(--tf-type-body)!important;line-height:1.7!important}
html body :is(.ta-lead,.tf-who-lead,.tf-what-lead,.tf-directory-lead,.sub,.sh-sub,.sub-text,.anim-hero-sub,.page-hero p,.pg-hero p,.ta-hero p,.tf-hero-copy>p:not(.tf-eyebrow)){font-size:var(--tf-type-intro)!important;line-height:1.6!important}
html body :is(.tf-eyebrow,.ta-index,.ta-values-heading,.ew,.ct-section-label,.gst-label){font-family:var(--tf-sans,'Plus Jakarta Sans',Arial,sans-serif)!important;font-size:var(--tf-type-label)!important;line-height:1.5!important}
html body :is(button,summary,.tf-button,.tf-link,.ta-discover,.lvl-btn,.cat-btn,.btn-pr,.btn-teal,.btn-ghost,.btn-ol,.cta-btn,.cta-btn-w,.cta-btn-o,.svc-link,.tf-header a,.tf-header summary){font-size:var(--tf-type-control)!important;line-height:1.5!important}
html body :is(input,select,textarea){font-family:var(--tf-sans,'Plus Jakarta Sans',Arial,sans-serif);font-size:var(--tf-type-body)!important;line-height:1.5}
html body :is(figcaption,small,.panel-sub,.modal-sub,.tf-footer p,.tf-footer a,.tf-footer address,.tf-footer-bottom,.tf-footer-bottom span){font-family:var(--tf-sans,'Plus Jakarta Sans',Arial,sans-serif)!important;font-size:var(--tf-type-caption)!important;line-height:1.6!important}
html body .tf-footer h2{font-family:var(--tf-sans,'Plus Jakarta Sans',Arial,sans-serif)!important;font-size:var(--tf-type-control)!important;line-height:1.5!important}
/* Reading width; it does not restrict the surrounding layout. */
html body :is(main,.tf-home,.sec,.founder-section) p{max-width:70ch}
@media(max-width:600px){:root{--tf-type-banner:40px;--tf-type-heading:30px;--tf-type-subheading:22px;--tf-type-intro:18px;--tf-type-label:11px;--tf-type-caption:12px}}
html body .tf-slide-title{font-size:var(--tf-type-banner)!important;line-height:1.2!important}
