:root {
  --ca-font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ca-type-hero: 64px;
  --ca-type-section: 48px;
  --ca-type-subsection: 32px;
  --ca-type-card: 24px;
  --ca-type-lead: 18px;
  --ca-type-body: 16px;
  --ca-type-small: 14px;
}

body,
main,
.training-main,
button,
input,
select,
textarea {
  font-family: var(--ca-font-family);
}

/* Page and hero headings */
.about-hero-title,
.ca-hero-banner-title,
.contact-hero-title,
.legal-hero-title,
.legal-static-title,
.product-detail-title,
.products-hero-title,
.reg-title,
.service-detail-title,
.services-hero-title,
.success-title,
.training-hero-title {
  font-size: var(--ca-type-hero);
  line-height: 1.08;
  letter-spacing: 0;
  font-weight: 700;
}

/* Main section headings */
.about-advantages-title,
.about-case-title,
.about-ceo-title,
.about-global-title,
.about-innovations-title,
.about-partners-title,
.about-team-title,
.about-vision-title,
.ca-faq-heading,
.ca-home-contact-title,
.ca-partners-heading,
.ca-products-heading,
.ca-services-heading,
.ca-who-we-are-title,
.contact-inquiry-title,
.legal-blog-title,
.products-blog-title,
.products-catalog-title,
.products-guide-title,
.service-detail-subtitle,
.services-contact-title,
.services-showcase-title,
.training-cta-title {
  font-size: var(--ca-type-section);
  line-height: 1.12;
  letter-spacing: 0;
  font-weight: 700;
}

/* Document and modal subheadings */
.legal-static-section-title,
.modal-title,
.ca-services-modal-title {
  font-size: var(--ca-type-subsection);
  line-height: 1.2;
  letter-spacing: 0;
  font-weight: 700;
}

/* Card and content headings */
.about-advantage-card-title,
.about-case-headline,
.about-innovation-heading,
.about-team-name,
.blog-card-title,
.ca-products-detail-title,
.ca-services-col-title,
.contact-success-title,
.course-card-title,
.df-evidence-title,
.df-timeline-title,
.feature-title,
.legal-blog-heading,
.products-blog-heading,
.products-catalog-card-name,
.service-card-title {
  font-size: var(--ca-type-card);
  line-height: 1.3;
  letter-spacing: 0;
  font-weight: 700;
}

/* Hero and introductory paragraphs */
.about-hero-subtitle,
.ca-hero-banner-desc,
.ca-home-contact-subtitle,
.contact-inquiry-lede,
.legal-hero-lead,
.products-hero-subtitle,
.reg-subtitle,
.service-detail-desc,
.services-hero-subtitle,
.training-hero-subtitle {
  font-size: var(--ca-type-lead);
  line-height: 1.55;
  letter-spacing: 0;
  font-weight: 400;
}

/* Standard reading and card copy */
.about-advantage-card-desc,
.about-case-body,
.about-case-intro,
.about-global-text,
.about-no-blogs,
.about-team-bio,
.ca-faq-answer,
.ca-products-detail-note,
.ca-products-detail-text,
.ca-products-subtitle,
.ca-who-we-are-body,
.contact-success-text,
.course-card-overview,
.df-evidence-copy,
.df-timeline-text,
.feature-desc,
.legal-static-summary,
.legal-static-text,
.legal-no-blogs,
.no-posts,
.product-detail-desc,
.products-catalog-card-desc,
.products-guide-lede,
.products-no-blogs,
.service-card-description,
.services-contact-subtitle,
.services-showcase-text,
.success-text {
  font-size: var(--ca-type-body);
  line-height: 1.6;
  letter-spacing: 0;
  font-weight: 400;
}

/* Shared compact interface text */
.ca-navbar-link,
.ca-navbar-dropdown-menu a,
.ca-site-footer-heading,
.ca-site-footer-brand-text,
.ca-site-footer-muted,
.ca-site-footer-copyright {
  font-family: var(--ca-font-family);
  letter-spacing: 0;
}

.ca-site-footer-heading {
  font-size: 18px;
  line-height: 1.3;
}

.ca-site-footer-brand-text,
.ca-site-footer-muted,
.ca-site-footer-copyright {
  font-size: var(--ca-type-small);
  line-height: 1.5;
}

@media (max-width: 900px) {
  :root {
    --ca-type-hero: 48px;
    --ca-type-section: 38px;
    --ca-type-subsection: 28px;
    --ca-type-card: 22px;
    --ca-type-lead: 17px;
  }
}

@media (max-width: 600px) {
  :root {
    --ca-type-hero: 38px;
    --ca-type-section: 32px;
    --ca-type-subsection: 26px;
    --ca-type-card: 20px;
    --ca-type-lead: 16px;
  }
}
