/* Boda type system — self-hosted, language-aware, structure-neutral. */
@font-face {
  font-family: "Boda Manrope";
  src: url("/fonts/manrope-latin.a30ddcd3.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Boda IBM Plex Arabic";
  src: url("/fonts/ibm-plex-arabic-400.6010e7fd.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

@font-face {
  font-family: "Boda IBM Plex Arabic";
  src: url("/fonts/ibm-plex-arabic-500.90aef64f.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

@font-face {
  font-family: "Boda IBM Plex Arabic";
  src: url("/fonts/ibm-plex-arabic-600.16734a5a.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

@font-face {
  font-family: "Boda IBM Plex Arabic";
  src: url("/fonts/ibm-plex-arabic-700.04c730b4.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

:root {
  --sans: "Boda Manrope", Arial, sans-serif;
  --display: "Boda Manrope", Arial, sans-serif;
  --mono: "Boda Manrope", Arial, sans-serif;
}

html[dir="rtl"] {
  --sans: "Boda IBM Plex Arabic", "Boda Manrope", Tahoma, Arial, sans-serif;
  --display: "Boda IBM Plex Arabic", "Boda Manrope", Tahoma, Arial, sans-serif;
  --mono: "Boda IBM Plex Arabic", "Boda Manrope", Tahoma, Arial, sans-serif;
}

html {
  font-synthesis: style;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

html[dir="rtl"] {
  font-synthesis: none;
}

body {
  font-family: var(--sans);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.62;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body[dir="rtl"] {
  font-family: var(--sans);
  font-weight: 400;
  line-height: 1.78;
}

main h1,
main h2,
main h3 {
  font-family: var(--display);
  font-weight: 700;
  letter-spacing: -0.038em;
  line-height: 1.08;
}

main h3 {
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.15;
}

main h1 em,
main h2 em {
  font-weight: inherit;
}

.hero h1 {
  font-size: clamp(2.625rem, 5.4vw, 6rem);
  font-weight: 800;
  letter-spacing: -0.055em;
  line-height: 1.05;
}

.section-heading h1,
.work-title-row h1,
.about-copy h1,
.contact-intro h1,
.ai-page h1,
.section-heading h2,
.work-title-row h2,
.about-copy h2,
.contact-intro h2,
.home-cta .contact-intro h2 {
  font-size: clamp(3rem, 4.4vw, 4rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.08;
}

.service-main h3 {
  font-size: clamp(1.75rem, 2.3vw, 2.25rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.12;
}

.hero-lede,
.section-intro,
.service-main p,
.work-title-row p,
.about-copy > p,
.contact-intro > p {
  font-size: clamp(1.0625rem, 1.2vw, 1.1875rem);
  font-weight: 400;
  line-height: 1.62;
}

.about-page .about-depth__heading {
  font-size: clamp(3rem, 4.4vw, 4rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.08;
}

.partners-heading h2 {
  font-size: clamp(3rem, 4.4vw, 4rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.08;
}

.about-page .about-depth__intro,
.about-page .about-think__detail {
  font-size: clamp(1.0625rem, 1.2vw, 1.1875rem);
  font-weight: 400;
  line-height: 1.65;
}

.about-page .about-timeline__title {
  font-size: clamp(1.75rem, 2.25vw, 2.25rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.12;
}

.about-page .about-think__statement,
.about-page .about-now__body > p {
  font-size: clamp(3rem, 4.4vw, 4rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.1;
}

.work-page .work-block-heading h2 {
  font-size: clamp(1.75rem, 2.1vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.028em;
  line-height: 1.15;
}

.eyebrow,
.chapter-label,
.signal-topline,
.signal-bottomline,
.hero-note,
.hero-scroll,
.proof-note,
.service-number,
.form-note,
.chat-kicker,
.chat-footnote,
.about-page .about-depth__eyebrow,
.about-page .about-timeline__step,
.about-page .about-think__mark,
.about-page .about-practice-list li,
.footer-brand > span:last-child,
.footer-meta,
.form-row label,
.fact-rail span:last-child,
.about-caption,
.orb-label {
  font-size: 11px;
}

.form-row label,
.form-note,
.form-status {
  font-size: 12px;
}

.work-page .work-media-meta,
.work-page .work-tag,
.work-page .work-project-title,
.work-page .work-project-category,
.work-page .portfolio-view {
  font-size: 10px;
}

.main-nav a,
.text-link,
.topbar-cta,
.language-toggle,
.button,
.eyebrow,
.chapter-label,
.signal-topline,
.signal-bottomline,
.hero-note,
.hero-scroll,
.proof-note,
.service-number,
.work-card-meta,
.form-note,
.chat-kicker,
.chat-footnote,
.about-page .about-depth__eyebrow,
.about-page .about-timeline__step,
.about-page .about-think__mark,
.about-page .about-practice-list li,
.work-page .work-media-meta,
.work-page .work-tag,
.work-page .work-project-title,
.work-page .work-project-category,
.work-page .portfolio-view,
.work-page .portfolio-dialog-header h2,
.footer-brand > span:last-child,
.footer-meta,
.form-row label,
.fact-rail span:last-child,
.about-caption,
.orb-label,
.chat-chip {
  font-family: var(--mono);
  font-weight: 600;
}

.main-nav a,
.text-link,
.topbar-cta,
.language-toggle,
.button {
  font-size: 11px;
  letter-spacing: 0.045em;
  line-height: 1.35;
}

.eyebrow,
.chapter-label,
.signal-topline,
.signal-bottomline,
.hero-note,
.hero-scroll,
.proof-note,
.service-number,
.work-card-meta,
.form-note,
.chat-kicker,
.chat-footnote,
.about-page .about-depth__eyebrow,
.about-page .about-timeline__step,
.about-page .about-think__mark,
.about-page .about-practice-list li,
.work-page .work-media-meta,
.work-page .work-tag,
.work-page .work-project-title,
.work-page .work-project-category,
.work-page .portfolio-view,
.work-page .portfolio-dialog-header h2,
.footer-brand > span:last-child,
.footer-meta,
.form-row label,
.fact-rail span:last-child,
.about-caption,
.orb-label,
  .chat-chip {
  letter-spacing: 0.055em;
}

.work-page .portfolio-dialog-header h2 {
  font-family: var(--display);
  font-size: clamp(1.75rem, 2.1vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.028em;
  line-height: 1.15;
}

.form-row input,
.form-row select,
.form-row textarea,
.chat-form input {
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}

.chat-header h2 {
  font-family: var(--sans);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

.chat-message {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
}

.chat-chip {
  font-size: 11px;
}

.chat-footnote {
  font-size: 10px;
}

html[dir="rtl"] main h1,
html[dir="rtl"] main h2,
html[dir="rtl"] main h3 {
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.22;
}

html[dir="rtl"] main h3,
html[dir="rtl"] .service-main h3,
html[dir="rtl"] .about-page .about-timeline__title {
  font-weight: 600;
}

html[dir="rtl"] main h1 em,
html[dir="rtl"] main h2 em {
  font-weight: 600;
}

html[dir="rtl"] .hero h1 {
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}

html[dir="rtl"] .statement-body > p {
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.28;
}

html[dir="rtl"] .statement-signature {
  letter-spacing: 0;
}

html[dir="rtl"] .main-nav a,
html[dir="rtl"] .text-link,
html[dir="rtl"] .topbar-cta,
html[dir="rtl"] .language-toggle,
html[dir="rtl"] .button,
html[dir="rtl"] .eyebrow,
html[dir="rtl"] .chapter-label,
html[dir="rtl"] .signal-topline,
html[dir="rtl"] .signal-bottomline,
html[dir="rtl"] .hero-note,
html[dir="rtl"] .hero-scroll,
html[dir="rtl"] .proof-note,
html[dir="rtl"] .service-number,
html[dir="rtl"] .work-card-meta,
html[dir="rtl"] .form-note,
html[dir="rtl"] .chat-kicker,
html[dir="rtl"] .chat-footnote,
html[dir="rtl"] .about-page .about-depth__eyebrow,
html[dir="rtl"] .about-page .about-timeline__step,
html[dir="rtl"] .about-page .about-think__mark,
html[dir="rtl"] .about-page .about-practice-list li,
html[dir="rtl"] .work-page .work-media-meta,
html[dir="rtl"] .work-page .work-tag,
html[dir="rtl"] .work-page .work-project-title,
html[dir="rtl"] .work-page .work-project-category,
html[dir="rtl"] .work-page .portfolio-view,
html[dir="rtl"] .work-page .portfolio-dialog-header h2,
html[dir="rtl"] .footer-brand > span:last-child,
html[dir="rtl"] .footer-meta,
html[dir="rtl"] .form-row label,
html[dir="rtl"] .fact-rail span:last-child,
html[dir="rtl"] .about-caption,
html[dir="rtl"] .orb-label,
html[dir="rtl"] .chat-chip {
  font-weight: 500;
  letter-spacing: 0;
}

html[dir="rtl"] .work-page .portfolio-dialog-header h2 {
  font-family: var(--display);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.22;
}

html[dir="rtl"] .hero-lede,
html[dir="rtl"] .section-intro,
html[dir="rtl"] .service-main p,
html[dir="rtl"] .work-title-row p,
html[dir="rtl"] .about-copy > p,
html[dir="rtl"] .contact-intro > p,
html[dir="rtl"] .about-page .about-depth__intro,
html[dir="rtl"] .about-page .about-think__detail,
html[dir="rtl"] .chat-message {
  font-weight: 400;
  line-height: 1.78;
}

@media (max-width: 560px) {
  body {
    font-size: 16px;
    line-height: 1.68;
  }

  .hero h1 {
    font-size: clamp(2.625rem, 5.4vw, 6rem);
    line-height: 1.08;
  }

  .section-heading h1,
  .work-title-row h1,
  .about-copy h1,
  .contact-intro h1,
  .ai-page h1,
  .section-heading h2,
  .work-title-row h2,
  .about-copy h2,
  .contact-intro h2,
  .home-cta .contact-intro h2,
  .about-page .about-depth__heading,
  .about-page .about-think__statement,
  .about-page .about-now__body > p {
    font-size: clamp(2.15rem, 10vw, 2.875rem);
    line-height: 1.12;
  }

  .service-main h3,
  .about-page .about-timeline__title,
  .work-page .work-block-heading h2,
  .work-page .portfolio-dialog-header h2 {
    font-size: clamp(1.5rem, 7vw, 1.875rem);
    line-height: 1.18;
  }

  .partners-heading h2 {
    font-size: clamp(2.15rem, 10vw, 2.875rem);
    line-height: 1.12;
  }

  .hero-lede,
  .section-intro,
  .service-main p,
  .work-title-row p,
  .about-copy > p,
  .contact-intro > p,
  .about-page .about-depth__intro,
  .about-page .about-think__detail {
    font-size: clamp(1rem, 4.3vw, 1.125rem);
    line-height: 1.68;
  }

  .main-nav a,
  .text-link,
  .topbar-cta,
  .language-toggle,
  .button {
    font-size: 10px;
  }

  .chat-message {
    font-size: 16px;
  }

  .about-page .about-practice-list li {
    font-size: 12px;
  }

  html[dir="rtl"] .hero h1 {
    line-height: 1.22;
  }

  html[dir="rtl"] .hero-lede,
  html[dir="rtl"] .section-intro,
  html[dir="rtl"] .service-main p,
  html[dir="rtl"] .work-title-row p,
  html[dir="rtl"] .about-copy > p,
  html[dir="rtl"] .contact-intro > p,
  html[dir="rtl"] .about-page .about-depth__intro,
  html[dir="rtl"] .about-page .about-think__detail,
  html[dir="rtl"] .chat-message {
    line-height: 1.78;
  }
}
