/* Shared ClickTrade typography. Keep page layout and product-demo UI in their own stylesheets.
   Reference scale: case studies. See AGENTS.md before adding page-specific type rules. */
:root{
 --ct-font-body:Inter,'Segoe UI',Arial,sans-serif;
 --ct-font-heading:Manrope,Inter,'Segoe UI',Arial,sans-serif;
 --ct-copy-size:16px;--ct-copy-line:1.75;
 --ct-lead-size:18px;--ct-lead-line:1.7;
 --ct-reading-lead-size:19px;
 --ct-title-size:48px;--ct-title-line:1.18;
 --ct-article-title-size:36px;--ct-article-title-line:1.25;
 --ct-section-size:30px;--ct-section-line:1.2;
 --ct-card-title-size:21px;--ct-card-title-line:1.4;
 --ct-weight-regular:400;--ct-weight-emphasis:600;--ct-weight-heading:700;
}
body.ct-typography{font-family:var(--ct-font-body)}
/* Reusable roles for new pages. The adapters below connect existing page markup. */
body.ct-typography :is(.ct-copy,.ct-copy p,.ct-copy li){font-family:var(--ct-font-body);font-size:var(--ct-copy-size);font-weight:var(--ct-weight-regular);line-height:var(--ct-copy-line);letter-spacing:0}
body.ct-typography :is(.ct-title,.hero h1,.sub-hero>h1,.contact-intro h1,.case-hero h1,.blog-index-hero h1,.privacy-page h1){font-family:var(--ct-font-heading);font-size:var(--ct-title-size);font-weight:var(--ct-weight-heading);line-height:var(--ct-title-line);letter-spacing:0}
body.ct-typography :is(.ct-article-title,.blog-hero-copy h1){font-family:var(--ct-font-heading);font-size:var(--ct-article-title-size);font-weight:var(--ct-weight-heading);line-height:var(--ct-article-title-line);letter-spacing:0}
body.ct-typography :is(.ct-section-title,.section-heading h2,.capability-top .section-heading h2,.sub-cta h2,.contact-cta h2,.article-body>section>h2,.blog-prose>section>h2,.blog-index-page .blog-body>section>h2,.blog-feature-copy h2,.faq-topic>h2,.section-top h2,.related-heading h2,.scope-band h2,.next-row h2,.mobile-integration-summary h2,.mobile-case-links h2,.privacy-document h2){font-family:var(--ct-font-heading);font-size:var(--ct-section-size);font-weight:var(--ct-weight-heading);line-height:var(--ct-section-line);letter-spacing:0}
body.ct-typography :is(.ct-card-title,.feature-card h3,.persona-card h3,.integration-card h3,.security-grid h3,.capability-details h3,.blog-index-page .blog-card h3,.blog-prose h3,.case-card h3,.related-copy h3,.mobile-role h3,.mobile-assurance h3){font-family:var(--ct-font-heading);font-size:var(--ct-card-title-size);font-weight:var(--ct-weight-heading);line-height:var(--ct-card-title-line);letter-spacing:0}
body.ct-typography :is(.ct-lead,.hero-copy>p:not(.eyebrow),.sub-hero>p:not(.eyebrow),.contact-intro>p:not(.eyebrow),.catalogue-hero .hero-copy>p:not(.eyebrow),.blog-hero .blog-lead,.blog-hero-copy .blog-lead,.privacy-page-heading>p:not(.eyebrow):not(.privacy-date)){font-family:var(--ct-font-body);font-size:var(--ct-lead-size);font-weight:var(--ct-weight-regular);line-height:var(--ct-lead-line);letter-spacing:0}
body.ct-typography :is(.ct-reading-lead,.article-body>section>p.lead){font-size:var(--ct-reading-lead-size);line-height:var(--ct-copy-line)}
body.ct-typography :is(.section-heading>p:not(.eyebrow),.feature-card>p,.persona-card p,.integration-card p,.security-grid p,.capability-details p,.sub-cta p:not(.eyebrow),.scenario-copy>p:not(.eyebrow),.scenario-copy li,.scenario-heading>p,.contact-cta-copy>p:last-child,.demo-steps p,.mobile-role p,.mobile-assurance p,.mobile-integration-summary p,.scope-band p,.case-card>p,.article-body>section>p:not(.lead):not(.eyebrow),.privacy-document p,.privacy-document li,.blog-body p:not(:where(.bm p)),.blog-prose li,.blog-summary li,.faq-answer p){font-family:var(--ct-font-body);font-size:var(--ct-copy-size);font-weight:var(--ct-weight-regular);line-height:var(--ct-copy-line);letter-spacing:0}
/* Match selectors with section IDs used by the mobile homepage layout. */
body.ct-typography :is(#features .feature-card>p,#platforma .section-heading>p:last-child,#zespoly .section-heading>p:last-child,#proces .scenario-heading>p,#proces .scenario-copy>p:not(.eyebrow),#demo .demo-card .section-heading>p:not(.eyebrow)){font-size:var(--ct-copy-size);line-height:var(--ct-copy-line)}
body.ct-typography :is(#features .feature-card>h3){font-size:var(--ct-card-title-size);line-height:var(--ct-card-title-line)}
body.ct-typography :is(#demo .demo-card h2){font-size:var(--ct-section-size);line-height:var(--ct-section-line)}
body.ct-typography :is(.faq-item summary){font-family:var(--ct-font-heading);font-size:var(--ct-copy-size);font-weight:var(--ct-weight-emphasis);line-height:1.55;letter-spacing:0}
body.ct-typography :is(.blog-prose table){font-size:var(--ct-copy-size);line-height:1.65}
/* Supporting labels, navigation, legal notes, prices and mockup UI retain their roles. */
body.ct-typography .blog-body .faq-topics>p{font-size:13px;line-height:1.8}
body.ct-typography .article-body>section>.eyebrow{font-size:12px;font-weight:650;line-height:1.75}
@media(max-width:580px){
 :root{--ct-copy-size:15px;--ct-lead-size:16px;--ct-reading-lead-size:17px;--ct-title-size:34px;--ct-article-title-size:30px;--ct-section-size:26px;--ct-card-title-size:19px}
}
