/* Toolbelt CMS v2.18.69 — Dynamic Pages inherit the actual homepage Unified
   body and supporting typography roles. Loaded on Dynamic Pages only when the
   global Unified typography mode is active. Do not create a second type scale.
   Family, weight, tracking and muted colour all use existing global tokens. */

/* v2.18.85: Dynamic and Areas hero descriptions use the global Body role
   (Standard = 17px); keep the existing accessible hero text colour. */
.inner-hero :is(p,.tb-dp-hero-paragraphs p){
 font-family:var(--font-body,var(--site-font));
 font-size:var(--tb-dp-body-size);
 font-weight:var(--body-weight,400);
 line-height:var(--tb-dp-body-leading);
 letter-spacing:var(--body-letter-spacing,0);
}

/* v2.18.82: Ordinary section introductions, editorial, split, FAQ and CTA
   paragraphs use the global Body role (Standard 17px), not Supporting (18px).
   Preserve palette, family, weight and letter-spacing. Hero introductions
   now use Body sizing too, per v2.18.85. */
.custom-page :is(
 .block-heading > p,
 .block-copy .prose p,
 .block-rich .prose p,
 .block-faq-intro .prose p,
 .dynamic-contact p,
 .custom-cta p,
 .pricing-block-heading .prose p,
 .custom-html-heading .prose p,
 .tb-dir-intro-copy p
){
 font-family:var(--font-body,var(--site-font));
 font-size:var(--tb-dp-body-size);
 font-weight:var(--body-weight,400);
 line-height:var(--tb-dp-body-leading);
 letter-spacing:var(--body-letter-spacing,0);
}

/* Compact copy uses the homepage's regular body role, never arbitrary 0.8rem
   fixed pixel equivalents. Does not affect headings, icons or interactive UI. */
.custom-page :is(
 .benefit-card p,
 .process-step p,
 .dynamic-service-card p,
 .pricing-card-head > p,
 .pricing-section-footer .prose p,
 .tb-media-showcase-intro .prose p,
 .tb-dir-summary-intro,
 .tb-dir-list,
 .tb-dir-note,
 .dynamic-testimonials p,
 .faq-list .faq > p,
 .pricing-feature
){
 font-family:var(--font-body,var(--site-font));
 font-size:var(--tb-dp-body-size);
 font-weight:var(--body-weight,400);
 line-height:var(--tb-dp-body-leading);
 letter-spacing:var(--body-letter-spacing,0);
}
/* The existing site's muted body colour is already the default for most copy.
   Do not overwrite contrast-safe text colours for dark/brand sections. */
.custom-page > section:not(.block-bg-dark):not(.block-bg-brand) :is(
 .dynamic-contact p,
 .custom-cta p,
 .tb-dir-list
){color:var(--brand-muted)}
/* Existing CTA heading-spacing selectors are more specific than generic body
   selectors. Keep their margins and use the global Body leading. */
.custom-page section.custom-cta .custom-cta-inner h2 + p,
.custom-page section .dynamic-contact h2 + p{
 line-height:var(--tb-dp-body-leading);
}
