/* A consistent type scale, readable sentences, and mirrored English layouts. */
.tm-site main h1 { font-size: clamp(32px,4.2vw,56px); font-weight: 900; line-height: 1.5; text-wrap: balance; }
.tm-site main article h1 { font-size: clamp(28px,3.6vw,44px); }
.tm-site main :is(.hero,.page-header,.project-detail-hero,.blog-hero,.partner-hero,.contact-info) h1 { font-size: clamp(32px,4.2vw,56px); }
.tm-site main h2 { font-family: 'Cairo',sans-serif; font-weight: 900; line-height: 1.6; text-wrap: balance; }
.tm-site main :is(h3,h4) { line-height: 1.65; text-wrap: balance; }
.tm-site main :is(p,li) { line-height: 1.95; }
.tm-site main :is(.section-header,.section-header-centered,.section-title,.tm-case-heading) h2,
.tm-site main h2.section-title { font-size: clamp(27px,3.2vw,38px); }
.tm-site .section-header > p, .tm-site .section-sub { font-size: 15px; max-width: 60ch; }
.tm-site .tm-hero h1 { font-size: clamp(40px,5.2vw,72px); }
.tm-language-switch {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 8px 11px;
  border: 1px solid var(--border);
  border-radius: 24px;
  color: var(--brand-primary);
  background: var(--surface-2);
  font: 700 13px 'Tajawal',Arial,sans-serif;
  cursor: pointer;
}
.tm-language-switch:hover { background: #edf2ff; border-color: #1235c944; }
html[dir="ltr"] .tm-site { font-family: 'Tajawal',Arial,sans-serif; }
html[dir="ltr"] .tm-site main :is(h1,h2,h3,h4) { font-family: 'Tajawal',Arial,sans-serif; line-height: 1.3; letter-spacing: -.02em; }
html[dir="ltr"] .tm-site main :is(p,li) { line-height: 1.75; }
html[dir="ltr"] .tm-home .tm-home-about .section-header-left h2 { font-family: 'Tajawal',Arial,sans-serif; line-height: 1.3; letter-spacing: -.02em; }
html[dir="ltr"] .tm-site .tm-hero h1 { font-size: clamp(38px,5vw,66px); letter-spacing: -.025em; }
html[dir="ltr"] .tm-site .tm-nav > a, html[dir="ltr"] .tm-site .tm-nav summary { padding-inline: 12px; }
html[dir="ltr"] .tm-site .tm-header-inner { padding-inline: 12px 22px; gap: 14px; }
html[dir="ltr"] .tm-dropdown { right: auto; left: 0; }
html[dir="ltr"] .tm-site :is(.about-text-column,.section-header-left,.contact-info,.service-info,.service-text,.project-detail-hero,.project-overview,.meta-card,.tm-case-cta,.tm-video-figure figcaption,.timeline-content) { text-align: left; }
html[dir="ltr"] .tm-site :is(input,textarea,select) { text-align: start; }
html[dir="ltr"] .tm-site .tm-journey-step:nth-child(odd) { text-align: left; }
html[dir="ltr"] .tm-site .tm-journey-step:nth-child(even) { text-align: right; }
html[dir="ltr"] .tm-site .pf-card { direction: ltr; text-align: left; }
html[dir="ltr"] .tm-site :is(.fa-arrow-left,.fa-arrow-right),
html[dir="ltr"] .tm-text-link > span,
html[dir="ltr"] .tm-button > span:last-child:not(:first-child) { transform: scaleX(-1); }
@media (max-width: 767px) {
  .tm-site main h1 { font-size: clamp(28px,7.5vw,40px); }
  .tm-site .tm-hero h1 { font-size: clamp(32px,8vw,48px); }
  html[dir="ltr"] .tm-site .tm-hero h1 { font-size: clamp(32px,8vw,48px); }
  .tm-site .tm-header-inner { gap: 9px; }
  .tm-site .tm-header-cta > span:first-child { display: none; }
  .tm-language-switch { min-width: 40px; min-height: 40px; padding-inline: 9px; }
  html[dir="ltr"] .tm-site .tm-header-inner { padding-inline: 10px; gap: 9px; }
  html[dir="ltr"] .tm-site .tm-journey-step:nth-child(n) { text-align: left; }
}
