/* Komspace business typography. Load after styles.css.
   One fixed scale across all pages; no viewport-based headline sizing.
   Decorative illustration labels and the existing logo are separate artwork. */
:root {
  --type-page: 40px;
  --type-section: 28px;
  --type-card: 20px;
  --type-lead: 18px;
  --type-body: 16px;
  --type-small: 14px;
  --type-label: 12px;
}
body { font-family: 'DM Sans', 'Segoe UI', sans-serif; font-size: var(--type-body); line-height: 1.65; }
/* Deliberately supersede the older section-specific display treatments. */
main h1 { font-family: 'DM Sans', 'Segoe UI', sans-serif !important; font-size: var(--type-page) !important; font-weight: 600 !important; line-height: 1.2 !important; letter-spacing: -.7px !important; font-style: normal !important; }
main h2 { font-family: 'DM Sans', 'Segoe UI', sans-serif !important; font-size: var(--type-section) !important; font-weight: 600 !important; line-height: 1.3 !important; letter-spacing: -.4px !important; font-style: normal !important; }
main h3 { font-family: 'DM Sans', 'Segoe UI', sans-serif !important; font-size: var(--type-card) !important; font-weight: 600 !important; line-height: 1.4 !important; letter-spacing: -.2px !important; font-style: normal !important; }
main :is(h1,h2,h3) :is(span,em,i) { font-family: inherit !important; font-size: inherit !important; line-height: inherit !important; font-weight: inherit !important; letter-spacing: inherit !important; font-style: normal !important; }
main p { font-size: var(--type-body) !important; line-height: 1.75 !important; letter-spacing: normal !important; }
main :is(.lead,.consultancy-lead) { font-size: var(--type-lead) !important; line-height: 1.65 !important; }
main :is(.eyebrow,.capability-card-label,.steps-title) { font-size: var(--type-label) !important; line-height: 1.5 !important; letter-spacing: 1px !important; font-weight: 600 !important; }
main :is(.fine,.setup,.compare,.product-footnote,.hero-note,.product-back,.service-breadcrumb,.consultancy-note p,.capability-card-footer>span,.service-visual-wrap>p) { font-size: var(--type-small) !important; line-height: 1.65 !important; }
main :is(.consultancy-intro,.service-intro-text,.capabilities-heading>p,.service-section-heading p,.editorial-heading>p:last-child,.process-heading>p:last-child) { font-size: var(--type-body) !important; }
main :is(.text-link,.card-link,.btn,.services-directory a,.jump a,.related-products a,.tag) { font-size: var(--type-small) !important; font-weight: 600; line-height: 1.5; }
main :is(.checklist li,.step,.web-process-list span,.contact-item a,.contact-item p,.faq details p) { font-size: var(--type-body) !important; line-height: 1.75 !important; }
main .faq summary { font-size: var(--type-body); line-height: 1.6; }
main .service-tags { font-size: var(--type-label); line-height: 1.6; letter-spacing: .5px; }
main .capability-card-footer>strong { font-size: var(--type-small); }
main :is(.process-grid article>span,.web-process-list li:before,.delivery-grid article>span,.design-principles>div>span) { font-size: var(--type-label); line-height: 1.5; letter-spacing: .5px; }
main :is(.price,.website-option-price) { font-size: 32px !important; line-height: 1.3 !important; font-weight: 600; letter-spacing: -.5px !important; }
main :is(.price span,.website-option-price span) { font-size: var(--type-body) !important; letter-spacing: normal; }
main .pricing-title { font-size: var(--type-card) !important; }
main .pricing-title span { font-size: var(--type-small); }
main .consultancy-image figcaption strong { font-family: 'DM Sans', 'Segoe UI', sans-serif; font-size: var(--type-section); font-weight: 500; line-height: 1.3; letter-spacing: -.4px; }
main .consultancy-image figcaption>span:first-child { font-size: var(--type-label); line-height: 1.5; letter-spacing: 1px; }
main .caller-line { font-family: 'DM Sans', 'Segoe UI', sans-serif; font-size: var(--type-card) !important; line-height: 1.5 !important; }
main :is(.reply-line p,.demo-summary p,.demo-summary b,.steps-box .step,.addon small,.addon strong) { font-size: var(--type-small) !important; line-height: 1.65 !important; }
main .demo-header { font-size: var(--type-label); line-height: 1.5; flex-wrap: wrap; }
main .demo-header>span { overflow-wrap: anywhere; }
main :is(.demo-summary,.summary,.bubble) { font-size: var(--type-small); }
main form :is(input,select,textarea) { font-size: var(--type-body); line-height: 1.5; }
main form label { font-size: var(--type-small); line-height: 1.5; }
.site-header :is(.nav-links>li>a,.products-toggle,.btn), .nav-links .products-dropdown a { font-family: 'DM Sans', 'Segoe UI', sans-serif; font-size: var(--type-small) !important; line-height: 1.5; }
.site-footer :is(p,li,a), .footer-bottom { font-size: var(--type-small); line-height: 1.65; }
.site-footer h4 { font-size: var(--type-label); line-height: 1.5; letter-spacing: 1px; }
.site-footer .brand-name { font-size: 23px; }
.site-footer .brand small { font-size: 9px; }
.consultancy-copy { padding-top: 48px; padding-bottom: 42px; }
.consultancy-copy h1 { margin-bottom: 22px; }
.consultancy-copy .consultancy-intro { margin: 18px 0 25px; }
.consultancy-image { min-height: 550px; }
.capability-card h3 { margin-bottom: 14px; }
.catalog-item h2 { max-width: none; }
.consultancy-note { max-width: none; }
@media (max-width: 600px) {
  :root { --type-page: 34px; --type-section: 26px; }
  .consultancy-copy { padding-top: 32px; padding-bottom: 30px; }
  .consultancy-image { min-height: 0; }
}
