/* Enterprise type scale. Native theme components only: Elementor widgets use
   their own editable document controls and Site Settings, without overrides. */
:root {
  --native-hero: 76px;
  --native-section: 52px;
  --native-service: 28px;
  --native-supporting: 24px;
  --native-body: clamp(16px, 1.33vw, 17px);
  --type-interface: 15px;
  --type-eyebrow: 12px;
  --weight-heading: 600;
  --weight-body: 400;
  --body-leading: 1.7;
  --section: 120px;
  --copy-width: 660px;
}
body {
  --type-hero: var(--e-global-typography-mchero-font-size, var(--native-hero));
  --type-section: var(--e-global-typography-mcsection-font-size, var(--native-section));
  --type-service: var(--e-global-typography-mcservice-font-size, var(--native-service));
  --type-supporting: var(--e-global-typography-mcsupport-font-size, var(--native-supporting));
  --type-body: var(--e-global-typography-text-font-size, var(--native-body));
  --type-interface: var(--e-global-typography-accent-font-size, 15px);
  --type-eyebrow: var(--e-global-typography-mceyebrow-font-size, 12px);
  --type-nav: var(--e-global-typography-mcnav-font-size, 15px);
  --weight-hero: var(--e-global-typography-mchero-font-weight, 700);
  --weight-service: var(--e-global-typography-mcservice-font-weight, 600);
  --weight-supporting: var(--e-global-typography-mcsupport-font-weight, 400);
  --weight-interface: var(--e-global-typography-accent-font-weight, 600);
  --weight-nav: var(--e-global-typography-mcnav-font-weight, 500);
  --weight-eyebrow: var(--e-global-typography-mceyebrow-font-weight, 600);
  --weight-heading: var(--e-global-typography-mcsection-font-weight, 600);
  --weight-body: var(--e-global-typography-text-font-weight, 400);
  --body-leading: var(--e-global-typography-text-line-height, 1.7);
  --hero-leading: var(--e-global-typography-mchero-line-height, 1.08);
  --hero-tracking: var(--e-global-typography-mchero-letter-spacing, -1.5px);
  --heading-leading: var(--e-global-typography-mcsection-line-height, 1.15);
  --heading-tracking: var(--e-global-typography-mcsection-letter-spacing, -1px);
  --service-leading: var(--e-global-typography-mcservice-line-height, 1.2);
  --service-tracking: var(--e-global-typography-mcservice-letter-spacing, -.4px);
  --supporting-leading: var(--e-global-typography-mcsupport-line-height, 1.3);
  --supporting-tracking: var(--e-global-typography-mcsupport-letter-spacing, -.3px);
  font-size: var(--type-body); font-weight: var(--weight-body); line-height: var(--body-leading); }
h1, h2, h3, h4 { letter-spacing: -.025em; }
h2 { font-size: var(--type-section); font-weight: var(--weight-heading); line-height: var(--heading-leading); letter-spacing: var(--heading-tracking); }
h3, h4 { font-weight: var(--weight-heading); }
.hero .hero-copy > h1, .page-hero .container h1 {
  max-width: 780px; font-size: var(--type-hero); font-weight: var(--weight-hero);
  line-height: var(--hero-leading); letter-spacing: var(--hero-tracking); margin-bottom: 32px;
}
.hero-description { max-width: var(--copy-width); font-size: var(--type-body); font-weight: 400; line-height: 1.7; margin-bottom: 40px; }
.hero-copy > .eyebrow, .section-heading .eyebrow, .eyebrow {
  font-size: var(--type-eyebrow); font-weight: var(--weight-eyebrow); letter-spacing: 1.5px; line-height: 1.5;
}
.nav-list a, .sub-menu a { font-size: var(--type-nav); font-weight: var(--weight-nav); }
.button, .hero .button, .primary-navigation .button, .text-link { font-size: var(--type-interface); font-weight: var(--weight-interface); }
.section-heading { max-width: 800px; margin-bottom: 52px; }
.section .section-heading h2 { max-width: 780px; font-size: var(--type-section); font-weight: var(--weight-heading); line-height: var(--heading-leading); letter-spacing: var(--heading-tracking); margin-bottom: 28px; }
.section-heading > p:not(.eyebrow) { max-width: var(--copy-width); font-size: var(--type-body); line-height: 1.7; }
.services-grid .service-card h3, .service-detail .service-detail-grid h2 { font-size: var(--type-service); font-weight: var(--weight-service); line-height: var(--service-leading); letter-spacing: var(--service-tracking); }
.service-card h3 { margin-bottom: 20px; }
.service-card p { font-size: 16px; font-weight: 400; line-height: 1.7; }
.why-section .benefit h3, .mission-grid .product-panel h3, .leadership-grid .leader h3 { font-size: var(--type-supporting); font-weight: var(--weight-supporting); line-height: var(--supporting-leading); letter-spacing: var(--supporting-tracking); margin-bottom: 20px; }
.benefit p { max-width: 280px; font-size: var(--type-body); line-height: 1.7; }
.section .mission-grid h2, .contact-grid aside h2 { font-size: var(--type-section); font-weight: var(--weight-heading); line-height: var(--heading-leading); letter-spacing: var(--heading-tracking); }
.mission-grid article > p:not(.eyebrow), .about-grid .prose p, .contact-grid aside > p,
.service-detail p { max-width: var(--copy-width); font-size: var(--type-body); line-height: 1.7; }
.service-detail .capabilities { font-size: 15px; }
.page-hero { padding-block: var(--section); }
.page-hero p:not(.eyebrow) { max-width: var(--copy-width); font-size: var(--type-body); line-height: 1.7; }
.philosophy p:not(.eyebrow) { max-width: var(--copy-width); }
.contact-cta { padding-block: var(--section); }
.contact-cta .cta-inner h2 { font-size: var(--type-section); font-weight: var(--weight-heading); line-height: var(--heading-leading); letter-spacing: var(--heading-tracking); margin-bottom: 28px; }
.contact-cta p:not(.eyebrow) { max-width: var(--copy-width); font-size: var(--type-body); line-height: 1.7; }
.contact-cta .eyebrow { font-size: var(--type-eyebrow); font-weight: var(--weight-eyebrow); }
.footer-intro p { font-size: var(--type-body); line-height: 1.7; }
.site-footer .footer-grid h2 { font-size: 16px; font-weight: 600; }
.footer-links a, .site-footer .nav-list a, .site-footer .text-link, .contact-line { font-size: var(--type-nav); }
.site-footer .nav-list a { font-weight: var(--weight-nav); }
.footer-bottom { font-size: 12px; }
.form-field label { font-size: 15px; font-weight: 500; }
.form-field :is(input, select, textarea) { font-size: 16px; }
/* Preserve the existing Askari Cloud showcase exactly, including its inherited
   text metrics, spacing, colors and mockup proportions. */
.product-section { --section: 100px; font-size: 16px; line-height: 1.75; }
.product-section .eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .16em; line-height: 1.6; }
.product-section .product-copy h2 { font-size: clamp(2.5rem,4vw,3.5rem); font-weight: 700; line-height: 1.2; letter-spacing: -.045em; }
.product-section .product-copy h3 { font-size: 22px; font-weight: 600; line-height: 1.5; letter-spacing: -.025em; }
.product-section .button, .product-section .text-link { font-size: 13px; }
.product-section .text-link { line-height: 1.75; }
@media (max-width: 1199px) { .product-section { --section: 80px; } .product-section .product-copy h3 { font-size: 20px; } }
@media (min-width: 768px) and (max-width: 1023px) {
  :root { --native-hero: 60px; --native-section: 44px; --native-service: 26px; --native-supporting: 22px; --section: 80px; }
  .product-section { --section: 80px; }
  .product-section .product-copy h3 { font-size: 18px; }
}
@media (max-width: 767px) {
  :root { --native-hero: 42px; --native-section: 34px; --native-service: 24px; --native-supporting: 20px; --native-body: 16px; --section: 64px; }
  .section-heading { margin-bottom: 36px; }
  .product-section { --section: 60px; }
  .product-section .product-copy h2 { font-size: 44px; }
  .product-section .product-copy h3 { font-size: 22px; }
}
.contact-form-wrap .form-feedback h2 { font-size: var(--type-supporting); font-weight: 600; }
@media print { :root { --section: 25px; } }

/* Content sections start flush; retain their existing bottom spacing.
   Elementor section padding is managed in each document’s native controls. */
.section, .hero, .industries, .page-hero { padding-top: 0; }

/* Restore balanced CTA spacing independently of the other sections. */
.contact-cta { padding-block: 120px; }
@media (max-width: 1024px) { .contact-cta { padding-block: 80px; } }
@media (max-width: 767px) { .contact-cta { padding-block: 64px; } }
