/**
 * Body / paragraph copy — 17px desktop · 15px mobile (primary).
 * Load after page <style>. Hero sublines use shared-inner-hero-type.css.
 */

:root {
  --body-font-size: 17px;
  --body-font-size-secondary: 15px;
  --body-font-size-compact: 16px;
}

@media (max-width: 960px) {
  :root {
    --body-font-size: 15px;
    --body-font-size-secondary: 13px;
    --body-font-size-compact: 14px;
  }
}

/* —— Primary body + hero / section descriptions —— */
.hero-lede,
.services-text,
.hero-sub,
.contact-subtitle,
.cs-subtitle,
.section-description,
.section-header--stacked .section-lead,
.process-intro,
.apply-text,
.who-intro,
.home-case-card-subtext,
.card-subtitle,
.behind-content > p:not(.behind-role),
.difference p,
.difference blockquote,
.difference-list li,
.system-card-text,
.fit-card-footer,
.fit-list,
.faq-intro,
.faq-answer,
.faq-answer p,
.newsletter-text,
.founder-content > p,
.beliefs-list li,
.body-text,
.body-text p,
.col-list li,
.built-card p,
.diagnostic-text,
.quiz-sub,
.loading-line2,
.result-summary-box p,
.result-summary-list li,
.result-booking-box p,
.services-booking-lede,
.quote-text,
.story-copy p,
.story-stat-desc,
.cs-empty,
.cs-progress-note,
.contact-copy p,
.card-text,
.card-body,
.services-faq-answer,
.services-faq-answer p,
.cta-text,
.step-text,
.why-work-row-body,
.results-table .result-unit,
.what-i-do-step-text,
.apply-subtext,
.apply-note,
.cs-cta-note,
.page--case-study .built-card p {
  font-size: var(--body-font-size) !important;
  line-height: 1.75 !important;
}

.quote-attr {
  font-size: var(--body-font-size-secondary) !important;
  line-height: 1.65 !important;
}

.results-table,
.results-table th,
.results-table td {
  font-size: var(--body-font-size-compact) !important;
  line-height: 1.65 !important;
}
