/* Site-wide type scale. Change the variables in :root to resize text everywhere.
   Roles: display (home hero), h1 (page heroes), statement, h2 (sections), h3 (cards), lead, body, labels, numerals. */
:root{
  --fs-display:clamp(42px,5.6vw,88px);
  --fs-h1:clamp(34px,4.6vw,68px);
  --fs-statement:clamp(30px,4.2vw,64px);
  --fs-h2:clamp(28px,3.6vw,54px);
  --fs-h2s:clamp(21px,1.9vw,28px);
  --fs-h3l:clamp(23px,2.3vw,34px);
  --fs-h3:clamp(18px,1.55vw,23px);
  --fs-lead:clamp(17px,1.3vw,20px);
  --fs-bodyl:clamp(16px,1.2vw,18px);
  --fs-body:16px;
  --fs-small:14px;
  --fs-label:12px;
  --fs-label-ar:14px;
  --fs-numxl:clamp(38px,4.6vw,68px);
  --fs-numl:clamp(30px,3.6vw,52px);
  --fs-sup:clamp(20px,2vw,28px);
  --fs-ord:12px;
}

body .hero h1{font-size:var(--fs-display);font-weight:600;line-height:1.04;letter-spacing:-.035em}
body.ar .hero h1{font-size:var(--fs-display);font-weight:600;line-height:1.22;letter-spacing:0}
body .page-hero h1,
body .error-page h1,
body .lp-copy h1{font-size:var(--fs-h1);font-weight:600;line-height:1.04;letter-spacing:-.035em}
body.ar .page-hero h1,
body.ar .error-page h1,
body.ar .lp-copy h1{font-size:var(--fs-h1);font-weight:600;line-height:1.22;letter-spacing:0}
body .statement h2{font-size:var(--fs-statement);font-weight:600;line-height:1.04;letter-spacing:-.035em}
body.ar .statement h2{font-size:var(--fs-statement);font-weight:600;line-height:1.22;letter-spacing:0}
body .split-copy h2,
body .transform h2,
body .intelligence h2,
body .experience h2,
body .cap-head h2,
body .contact h2,
body .service-intro h2,
body .compact-contact h2,
body .decision-heading h2,
body .legacy h2,
body .legacy-copy h2,
body .home-problems-head h2,
body .home-duo-head h2,
body .home-services-title,
body .lp-section h2,
body .lp-commit-head h2,
body .lp-cta h2,
body .lp-form-copy h2,
body .hub-form-copy h2,
body .hub-capabilities h2,
body .legal-body article h2{font-size:var(--fs-h2);font-weight:600;line-height:1.04;letter-spacing:-.035em}
body.ar .split-copy h2,
body.ar .transform h2,
body.ar .intelligence h2,
body.ar .experience h2,
body.ar .cap-head h2,
body.ar .contact h2,
body.ar .service-intro h2,
body.ar .compact-contact h2,
body.ar .decision-heading h2,
body.ar .legacy h2,
body.ar .legacy-copy h2,
body.ar .home-problems-head h2,
body.ar .home-duo-head h2,
body.ar .home-services-title,
body.ar .lp-section h2,
body.ar .lp-commit-head h2,
body.ar .lp-cta h2,
body.ar .lp-form-copy h2,
body.ar .hub-form-copy h2,
body.ar .hub-capabilities h2,
body.ar .legal-body article h2{font-size:var(--fs-h2);font-weight:600;line-height:1.22;letter-spacing:0}
body .lp-twin-card h2,
body .lp-form h2,
body .lp .lp-form h2{font-size:var(--fs-h2s);line-height:1.3;letter-spacing:0;font-weight:600}
body.ar .lp-twin-card h2,
body.ar .lp-form h2,
body.ar .lp .lp-form h2{font-size:var(--fs-h2s);line-height:1.3;letter-spacing:0;font-weight:600}
body .decision-card h3,
body .home-duo-grid h3{font-size:var(--fs-h3l);line-height:1.3;letter-spacing:0;font-weight:600}
body.ar .decision-card h3,
body.ar .home-duo-grid h3{font-size:var(--fs-h3l);line-height:1.3;letter-spacing:0;font-weight:600}
body .cap-list h3,
body .service-list h3,
body .related-grid h3,
body .lp-feature-grid h3,
body .lp-step-grid h3,
body .lp-outcome-grid h3,
body .hub-card h3,
body .home-also-grid h3,
body .lp-commit-grid h3,
body .home-services-grid h3,
body .service-links h3,
body .hub-package-grid h3{font-size:var(--fs-h3);line-height:1.3;letter-spacing:0;font-weight:600}
body.ar .cap-list h3,
body.ar .service-list h3,
body.ar .related-grid h3,
body.ar .lp-feature-grid h3,
body.ar .lp-step-grid h3,
body.ar .lp-outcome-grid h3,
body.ar .hub-card h3,
body.ar .home-also-grid h3,
body.ar .lp-commit-grid h3,
body.ar .home-services-grid h3,
body.ar .service-links h3,
body.ar .hub-package-grid h3{font-size:var(--fs-h3);line-height:1.3;letter-spacing:0;font-weight:600}
body .hero p,
body .page-hero-copy>p,
body .lp-copy>p{font-size:var(--fs-lead);line-height:1.75}
body.ar .hero p,
body.ar .page-hero-copy>p,
body.ar .lp-copy>p{font-size:var(--fs-lead);line-height:1.75}
body .service-intro p,
body .home-services-lead,
body .hub-sub,
body .lp-form-copy p,
body .hub-form-copy p{font-size:var(--fs-bodyl);line-height:1.75}
body.ar .service-intro p,
body.ar .home-services-lead,
body.ar .hub-sub,
body.ar .lp-form-copy p,
body.ar .hub-form-copy p{font-size:var(--fs-bodyl);line-height:1.75}
body .stat strong{font-size:var(--fs-numxl);letter-spacing:0;font-variant-numeric:lining-nums}
body.ar .stat strong{font-size:var(--fs-numxl);letter-spacing:0;font-variant-numeric:lining-nums}
body .lp-commit-no,
body .lp-proof-grid strong{font-size:var(--fs-numl);letter-spacing:0;font-variant-numeric:lining-nums}
body.ar .lp-commit-no,
body.ar .lp-proof-grid strong{font-size:var(--fs-numl);letter-spacing:0;font-variant-numeric:lining-nums}
body .stat sup{font-size:var(--fs-sup);letter-spacing:0;font-variant-numeric:lining-nums}
body.ar .stat sup{font-size:var(--fs-sup);letter-spacing:0;font-variant-numeric:lining-nums}
body .service-list b,
body .cap-list b,
body .lp-feature-grid b,
body .lp-step-grid b,
body .hub-card b,
body .home-also-grid b,
body .home-problem b,
body .lp-outcome-no,
body .decision-no,
body .home-duo-grid b,
body .home-services-grid b,
body .service-links b,
body .legal-body article b{font-size:var(--fs-ord);letter-spacing:0;font-variant-numeric:lining-nums}
body.ar .service-list b,
body.ar .cap-list b,
body.ar .lp-feature-grid b,
body.ar .lp-step-grid b,
body.ar .hub-card b,
body.ar .home-also-grid b,
body.ar .home-problem b,
body.ar .lp-outcome-no,
body.ar .decision-no,
body.ar .home-duo-grid b,
body.ar .home-services-grid b,
body.ar .service-links b,
body.ar .legal-body article b{font-size:var(--fs-ord);letter-spacing:0;font-variant-numeric:lining-nums}

/* emphasised word inside a heading keeps the same size, lighter weight */
body h1 em, body h2 em, body .home-services-title em { font-size: inherit; font-weight: 400; }

/* labels (eyebrows, kickers, small caps) */
body .eyebrow, body .kicker, body .service-intro-tag, body .decision-kicker b { font-size: var(--fs-label); letter-spacing: .16em; }
body.ar .eyebrow, body.ar .kicker, body.ar .service-intro-tag, body.ar .decision-kicker b,
body.ar .cap-head>span, body.ar .contact-copy>span, body.ar .legacy-copy>div:first-child>span { font-size: var(--fs-label-ar); letter-spacing: 0; }
body .media-label, body .path span, body .hero-data span, body .decision-kicker span { font-size: 11px; }
body.ar .media-label, body.ar .path span, body.ar .hero-data span, body.ar .decision-kicker span { font-size: 13px; letter-spacing: 0; }

/* navigation: readable links */
body .nav nav a { font-size: clamp(12px, .95vw, 14px); }
body.ar .nav nav a { font-size: clamp(13px, 1vw, 15px); }

/* body copy inside cards and lists */
body .service-list p, body .related-grid p, body .cap-list p, body .lp-feature-grid p, body .lp-step-grid p, body .lp-outcome-grid p,
body .hub-card-head p, body .home-also-grid p, body .home-services-grid p, body .lp-commit-grid p, body .home-duo-grid p { font-size: 15.5px; line-height: 1.75; }
body .hub-card-body p, body .hub-card-body li, body .lp-check li, body .lp-dots li, body .lp-faq details p { font-size: 15.5px; line-height: 1.7; }
body .lp-faq summary { font-size: 17px; }

/* buttons and form controls: one size */
body .cta, body .submit, body .submit-link, body .wa-link, body .pill, body .text-link, body .ghost-link, body .decision-cta { font-size: 15px; }
body .lp-form input, body .lp-form select, body .lp-form textarea, body .contact-form input, body .contact-form select, body .contact-form textarea { font-size: 16px; }
body .lp-form label span, body .contact-form label span { font-size: 13px; letter-spacing: 0; }

/* footer */
body footer { font-size: 13px; }
body footer .footer-links { font-size: 13px; }

/* long Arabic text: a little more air */
body.ar p, body.ar li { line-height: 1.85; }

/* About page: the statistic is the hero of each cell, the label sits under it */
body .service-list.stat-items article { min-height: 0; padding: 38px 34px 42px; }
body .service-list.stat-items b,
body.ar .service-list.stat-items b {
  display: block; font-size: var(--fs-numxl); font-weight: 300; line-height: 1; letter-spacing: -.02em;
  color: #168b7f; font-variant-numeric: lining-nums;
}
body .service-list.stat-items h3,
body.ar .service-list.stat-items h3 { margin: 18px 0 10px; font-size: var(--fs-h3l); }
body .service-list.stat-items p { font-size: 15.5px; }

/* ===== Home spacing: tighter vertical rhythm, no empty bands ===== */
:root { --sp-section: clamp(44px, 5.2vw, 76px); --sp-inner: clamp(24px, 2.6vw, 36px); }

body .statement { padding: var(--sp-section) 6vw; }
body .experience { padding: var(--sp-section) 6vw; }
body .experience .stats { margin-top: var(--sp-inner); }
body .stat { min-height: 0; padding: 26px 28px 30px; }
body .stat strong { line-height: 1; }
body .stat span { margin-top: 8px; display: block; }

body .home-problems, body .home-duo { padding: var(--sp-section) 6vw; }
body .home-also { padding: var(--sp-section) 6vw; }
body .home-problems-list { margin-top: var(--sp-inner); }
body .home-problem { padding: 22px 0; }
body .home-duo-head h2 { margin: 12px 0 var(--sp-inner); }
body .home-problems-head h2 { margin: 12px 0 0; }
body .home-duo-grid article { padding: 30px 30px 34px; }
body .home-duo-grid h3 { margin: 24px 0 10px; }
body .home-duo-grid p { margin-bottom: 14px; }
body .home-duo-grid ul { margin-bottom: 18px; }
body .home-also-grid { margin-top: 18px; }
body .home-also-grid a { min-height: 0; padding: 26px 26px 30px; }
body .home-also-grid h3 { margin: 22px 0 8px; }

body .decision { padding: var(--sp-section) 6vw calc(var(--sp-section) * .7); }
body .decision-top { padding-bottom: var(--sp-inner); gap: 5vw; }
body .decision-heading>p { margin-top: 16px; }
body .decision-paths { margin-top: var(--sp-inner); }
body .decision-card { min-height: 0; padding: 28px 28px 30px; gap: 56px; }
body .decision-footer { padding-top: var(--sp-inner); }

@media (max-width: 900px) {
  body .statement, body .experience, body .home-problems, body .home-duo, body .home-also, body .decision { padding-inline: 5vw; }
  body .decision-card { gap: 28px; }
  body .stat { padding: 20px 18px 22px; }
}
/* two white blocks in a row (stats, then "also"): do not double the gap */
body .experience { padding-bottom: clamp(16px, 2vw, 28px); }
body .home-also { padding-top: clamp(16px, 2vw, 28px); }

/* ===== Site footer: four columns and a legal bar ===== */
footer.site-footer{display:block;background:#061614;color:#b8c9c6;padding:0;font-size:14px;line-height:1.7}
.sf-top{display:grid;grid-template-columns:1.4fr 1fr 1.1fr 1fr 1.2fr;gap:44px;padding:clamp(40px,4.6vw,64px) 6vw clamp(32px,3.4vw,48px);max-width:1500px;margin:0 auto}
.sf-brand .footer-logo{height:34px;width:auto;display:block;margin-bottom:16px}
.sf-brand p{margin:0 0 14px;color:#9fb3af;max-width:320px;font-size:14px;line-height:1.8}
.sf-socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.sf-social{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#b8c9c6;text-decoration:none;font-size:13px;transition:color .2s,border-color .2s,background .2s}
.sf-social:hover{color:#061614;background:#70dfce;border-color:#70dfce}
.sf-col{display:flex;flex-direction:column;gap:9px;min-width:0}
.sf-col h3{margin:0 0 6px;font-size:12px;letter-spacing:.16em;color:#fff;font-weight:800;text-transform:uppercase}
body.ar .sf-col h3{font-size:14px;letter-spacing:0;text-transform:none}
.sf-col h3 a{color:#fff;text-decoration:none}
.sf-col a{color:#b8c9c6;text-decoration:none;font-size:14px;transition:color .2s}
.sf-col a:hover{color:#70dfce}
.sf-col .sf-all{color:#70dfce;margin-top:4px;font-weight:700}
.sf-col p{margin:0;color:#9fb3af}
.sf-sub{margin-top:14px !important}
.sf-contact a[dir="ltr"]{align-self:flex-start;unicode-bidi:isolate}
.sf-contact a[href^="mailto"]{overflow-wrap:anywhere}
.sf-cities{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;list-style:none}
.sf-cities li{white-space:nowrap}
.sf-bottom{border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;justify-content:space-between;padding:18px 6vw;max-width:1500px;margin:0 auto;font-size:12.5px;color:#8da09c}
.sf-legal{letter-spacing:.08em;font-size:11px;opacity:.8}
.sf-bottom-links{display:flex;gap:22px;align-items:center}
.sf-bottom a{color:#b8c9c6;text-decoration:none}
.sf-bottom a:hover{color:#70dfce}
footer.site-footer a{text-decoration:none}
@media(max-width:1100px){.sf-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.sf-brand{grid-column:1/-1}}
@media(max-width:560px){.sf-top{grid-template-columns:minmax(0,1fr)}.sf-bottom{flex-direction:column;align-items:flex-start}}
