/* Public-site editorial system. The approved logo and the POS theme are unchanged.
   IBM Plex supplies body/Latin type; approved Tajawal Medium supplies Arabic headings.
   All faces are self-hosted WOFF2 with real weights and bundled OFL licenses. */
@font-face {
  font-family: Tajawal;
  src: url("fonts/Tajawal-Medium.70f66f9ff902.woff2") format('woff2');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: MizanSite;
  src: url("fonts/IBMPlexSansArabic-Regular.b0f7da36fc8e.woff2") format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: MizanSite;
  src: url("fonts/IBMPlexSansArabic-SemiBold.d3646ba94e14.woff2") format('woff2');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

html[lang] body.mfx-site {
  --mfx-body-size: 1.0625rem;
  --mfx-body-leading: 1.75;
  --mfx-lead-size: 1.1875rem;
  --mfx-small-size: .9375rem;
  --mfx-label-size: .8125rem;
  --mfx-display: clamp(2.375rem, 4.1vw, 3.75rem);
  --mfx-page-title: clamp(2.125rem, 3.8vw, 3.375rem);
  --mfx-section-title: clamp(1.875rem, 3vw, 2.625rem);
  --mfx-card-title: 1.375rem;
  --mfx-article-title: clamp(1.375rem, 2vw, 1.625rem);
  --mfx-heading-leading: 1.22;
  --mfx-heading-tracking: -.025em;
  --mfx-display-leading: 1.16;
  font-family: MizanSite, 'Segoe UI', Tahoma, sans-serif !important;
  font-size: var(--mfx-body-size);
  line-height: var(--mfx-body-leading);
  font-weight: 400;
  font-synthesis: none;
}
html[lang=ar] body.mfx-site {
  --mfx-body-size: 1.125rem;
  --mfx-body-leading: 1.9;
  --mfx-lead-size: 1.25rem;
  --mfx-small-size: 1rem;
  --mfx-label-size: .875rem;
  --mfx-display: clamp(2.75rem, 4.8vw, 4.25rem);
  --mfx-page-title: clamp(2.125rem, 3.8vw, 3.375rem);
  --mfx-section-title: clamp(1.875rem, 3vw, 2.625rem);
  --mfx-card-title: 1.4375rem;
  --mfx-heading-leading: 1.5;
  --mfx-heading-tracking: normal;
  --mfx-display-leading: 1.38;
  letter-spacing: normal;
  word-spacing: normal;
}
html[lang] body.mfx-site :is(button, input, select, textarea, h1, h2, h3, h4) {
  font-family: inherit !important;
}
/* Centralized heading metrics deliberately supersede the legacy page styles.
   Components select a role below instead of adding another pixel-size override. */
html[lang] body.mfx-site :is(h1, h2, h3, h4) {
  font-size: var(--mfx-heading-size) !important;
  line-height: var(--mfx-heading-leading) !important;
  letter-spacing: var(--mfx-heading-tracking) !important;
  font-weight: 600 !important;
  text-wrap: balance;
  overflow-wrap: break-word;
}
.mfx-site h1 { --mfx-heading-size: var(--mfx-page-title); }
/* Match the approved comparison: Tajawal Medium for Arabic headings only.
   Body copy, navigation, controls and the English site retain IBM Plex. */
html[lang=ar] body.mfx-site :is(h1, h2, h3, h4) {
  font-family: Tajawal, MizanSite, Tahoma, sans-serif !important;
  font-weight: 500 !important;
}
/* Plan names are Latin labels, including when the page language is Arabic. */
html[lang=ar] body.mfx-site .price-card-v2 h2 {
  font-family: MizanSite, 'Segoe UI', sans-serif !important;
  font-weight: 600 !important;
}
.mfx-site h2 { --mfx-heading-size: var(--mfx-section-title); }
.mfx-site :is(h3, h4) { --mfx-heading-size: var(--mfx-card-title); }
.mfx-site .mfx-hero h1 {
  --mfx-heading-size: var(--mfx-display);
  --mfx-heading-leading: var(--mfx-display-leading);
  margin-block: 24px;
}
.mfx-site :is(.growth-card, .help-card, .workflow-grid, .shelf-process, .flow, .customer-growth-grid, .home-global) :is(h2, h3) {
  --mfx-heading-size: var(--mfx-card-title);
  margin-block: 16px 12px;
}
.mfx-site :is(.guide-steps, .legal-content-v2, .help-bottom, .contact-form, .form-heading, .subscribe-options) h2 {
  --mfx-heading-size: var(--mfx-article-title);
}
.mfx-site .price-card-v2 h2 { --mfx-heading-size: 1.875rem; }
.mfx-site :is(.contact-story, .signup-story) h1 {
  --mfx-heading-size: clamp(2.125rem, 3.4vw, 3rem);
}
html[lang] body.mfx-site :is(b, strong, summary) { font-weight: 600; }
html[lang] body.mfx-site p {
  line-height: var(--mfx-body-leading);
  text-wrap: pretty;
}
html[lang] body.mfx-site :is(
  .mfx-hero-copy > p, .mfx-section p, .home-shelf p, .growth-section p,
  .home-global p, .customer-growth p, .flow p, .growth-cta p, .pages-cta p,
  .contact-story > p, .contact-form > p, .form-heading p, .signup-story > div > p,
  .guide-steps p, .guide-article > p, .legal-content-v2 p, .legal-content-v2 li,
  .tour-panel p
) { font-size: var(--mfx-body-size); }
html[lang] body.mfx-site :is(
  .mfx-hero-copy > p.mfx-hero-lead, .growth-hero p, .pricing-hero-v2 > p,
  .guide-article > .guide-lead, .legal-lead
) { font-size: var(--mfx-lead-size); line-height: var(--mfx-body-leading); }
.mfx-site .mfx-hero-copy > p.mfx-hero-lead { font-weight: 400; }
.mfx-site .mfx-hero-copy > p { max-width: 34em; }
.mfx-site .growth-hero-inner { max-width: 880px; }
.mfx-site .growth-hero p { max-width: 42em; margin-inline: auto; }
.mfx-site .mfx-solution-hero p { margin-inline: 0; }
.mfx-site .growth-section .growth-heading { max-width: 880px; }
.mfx-site :is(.guide-steps p, .legal-content-v2 p, .legal-content-v2 li) { max-width: 65ch; }
html[lang=ar] .mfx-site :is(.guide-steps p, .legal-content-v2 p, .legal-content-v2 li) { max-width: 58ch; }
.mfx-site :is(.guide-steps li, .legal-content-v2 section) { margin-block-end: 32px; }

/* Navigation and controls stay readable; Arabic never uses Latin tracking. */
html[lang] body.mfx-site :is(.button, .nav-cta, .plan-button, .billing-toggle button, .tour-tabs button) {
  font-size: var(--mfx-small-size) !important;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: normal;
  min-height: 48px;
}
html[lang] body.mfx-site :is(.site-nav nav a, .nav-solutions summary) {
  font-size: var(--mfx-small-size);
  line-height: 1.6;
}
.mfx-site .site-nav nav { gap: 24px; }
html[lang] body.mfx-site :is(.site-languages a, .section-kicker, .page-kicker, .mfx-eyebrow, .breadcrumb) {
  font-size: var(--mfx-label-size);
  line-height: 1.65;
  letter-spacing: normal;
  font-weight: 600;
}
html[lang] body.mfx-site .site-languages a { padding: 6px 8px; }
html[lang] body.mfx-site :is(.mfx-assurance, .trial-assurance, .mfx-visual-bottom > span, .vendor-benefits) {
  font-size: var(--mfx-label-size);
  line-height: 1.7;
}
html[lang] body.mfx-site :is(.mfx-capabilities a, .text-link, .price-card-v2 li, .included-grid span, .plan-tag) {
  font-size: var(--mfx-small-size);
  line-height: var(--mfx-body-leading);
}
.mfx-site .mfx-preview-label { font-size: .75rem; letter-spacing: .035em; }
html[lang=ar] .mfx-site .mfx-preview-label { letter-spacing: normal; }
.mfx-site .plan-price > b { font-family: MizanSite, sans-serif; font-weight: 600; font-variant-numeric: tabular-nums; }
html[lang] body.mfx-site :is(.growth-faq summary, .faq-v2 summary) {
  font-size: var(--mfx-body-size);
  line-height: var(--mfx-body-leading);
}
html[lang] body.mfx-site :is(.field-grid label, .terms-check, .form-foot, .guide-sidebar nav a, .legal-aside a) {
  font-size: var(--mfx-small-size);
  line-height: 1.8;
}
html[lang] body.mfx-site .field-grid .site-input { font-size: 1rem; line-height: 1.7; }
html[lang] body.mfx-site :is(.field-grid small, .form-hint, .signup-story li small) {
  font-size: var(--mfx-label-size);
  line-height: 1.85;
}
html[lang] body.mfx-site :is(.footer-column, .footer-brand p, .footer-brand > a:last-child) {
  font-size: var(--mfx-small-size);
  line-height: 1.8;
}
html[lang] body.mfx-site .growth-footer > small { font-size: var(--mfx-label-size); line-height: 1.8; }
.mfx-site .footer-column a { padding-block: 3px; }
.mfx-site .signup-story .page-kicker { color: #3ecef4; }

@media (min-width: 981px) {
  .mfx-hero-inner { grid-template-columns: 1.03fr 1.07fr; gap: 48px; }
}
@media (min-width: 981px) and (max-width: 1150px) {
  .mfx-site .site-nav { gap: 14px; padding-inline: 22px; }
  .mfx-site .site-nav nav { gap: 16px; }
  .mfx-site .site-nav .brand-logo { width: 174px; }
  .mfx-site .site-nav .nav-cta { padding-inline: 14px; }
}
@media (max-width: 980px) {
  html[lang] body.mfx-site { --mfx-display: 3.375rem; }
  html[lang=ar] body.mfx-site { --mfx-display: 3.625rem; }
  .mfx-site .site-nav nav { gap: 5px; }
}
@media (max-width: 700px) {
  html[lang] body.mfx-site {
    --mfx-display: clamp(2.125rem, 6.6vw + .7rem, 3.125rem);
    --mfx-page-title: clamp(2rem, 5vw + .65rem, 2.5rem);
    --mfx-section-title: clamp(1.75rem, 4vw + .65rem, 2.125rem);
    --mfx-card-title: 1.3125rem;
    --mfx-lead-size: 1.125rem;
  }
  html[lang=ar] body.mfx-site {
    --mfx-display: clamp(2.5rem, 7vw + .7rem, 3.375rem);
    --mfx-card-title: 1.375rem;
    --mfx-lead-size: 1.1875rem;
  }
  .mfx-site :is(.contact-story, .signup-story) h1 { --mfx-heading-size: var(--mfx-page-title); }
  .mfx-site .mfx-hero h1 { margin-block: 22px; }
  .mfx-site .mfx-hero-copy > p.mfx-hero-lead { margin-bottom: 12px; }
  .mfx-site .mfx-capabilities { grid-template-columns: repeat(6, 1fr); gap: 18px 10px; padding-block: 24px; }
  .mfx-site .mfx-capabilities a { grid-column: span 2; padding: 8px 2px; }
  .mfx-site .mfx-capabilities a:nth-child(4) { grid-column: 2 / span 2; }
  .mfx-site .mfx-capabilities a:nth-child(5) { grid-column: 4 / span 2; }
  .mfx-site .mfx-assurance { gap: 10px 18px; }
}
@media (max-width: 380px) {
  .mfx-site .site-nav { gap: 8px; padding-inline: 12px; }
  .mfx-site .site-nav .brand-logo { width: 124px; height: auto; }
  html[lang] body.mfx-site .site-languages a { padding-inline: 6px; }
}
