/* 1. Main stylesheet */
:root {
      --navy: #1438d1;
      --navy-2: #1438d1;
      --blue: #2d78f6;
      --blue-2: #a0c4ff;
      --lime: #a9f49a;
      --lime-hover: #94e986;
      --gold: #d9b878;
      --ink: #14213b;
      --muted: #65718a;
      --line: #dce3ed;
      --mist: #f3f6fa;
      --white: #fff;
      --radius: 1.25rem;
      --shadow: 0 24px 70px rgba(0, 0, 0, .12);
    }

    * { box-sizing: border-box; }
    html {
      max-width: 100%;
      overflow-x: clip;
      scroll-behavior: smooth;
      scroll-padding-top: 6rem;
    }
    body {
      margin: 0;
      max-width: 100%;
      overflow-x: clip;
      color: var(--ink);
      background: var(--white);
      font-family: "Manrope", Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
    }
    html[dir="rtl"] body {
      font-family: "Noto Kufi Arabic", "Tahoma", sans-serif;
    }
    a { color: inherit; text-decoration: none; }
    button, input, select, textarea { font: inherit; }
    button { cursor: pointer; }
    .container { width: min(1180px, calc(100% - 2.5rem)); margin-inline: auto; }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: .7rem;
      color: var(--blue);
      font-size: .76rem;
      font-weight: 800;
      letter-spacing: .14em;
      text-transform: uppercase;
    }
    html[dir="rtl"] .eyebrow { letter-spacing: 0; }
    .eyebrow::before { content: ""; width: 1.8rem; height: 2px; background: currentColor; }
    h1, h2, h3, p { margin-top: 0; }
    h1, h2, h3 { letter-spacing: -.035em; }
    html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3 { letter-spacing: 0; }
    h2 { margin-bottom: 1.25rem; font-size: clamp(2.1rem, 4vw, 3.75rem); line-height: 1.08; }
    p { line-height: 1.75; }
    .lead { max-width: 42rem; color: var(--muted); font-size: 1.08rem; }
    .btn {
      min-height: 3.35rem;
      padding: .9rem 1.35rem;
      border: 1px solid transparent;
      border-radius: .25rem;
      position: relative;
      isolation: isolate;
      overflow: hidden;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .65rem;
      font-size: .84rem;
      font-weight: 800;
      letter-spacing: .05em;
      text-transform: uppercase;
      transition: color .25s ease, transform .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
    }
    .btn > * { position: relative; z-index: 1; }
    html[dir="rtl"] .btn { letter-spacing: 0; }
    .btn:hover { transform: translateY(-2px); }
    .btn:active { transform: translateY(0); }
    .btn:focus-visible {
      outline: 3px solid rgba(255,255,255,.92);
      outline-offset: 3px;
      box-shadow: 0 0 0 5px rgba(45,120,246,.42);
    }
    .btn-primary { color: var(--navy); background: var(--lime); }
    .btn-primary:hover { background: var(--lime); }
    .btn-ghost { color: var(--white); border-color: rgba(255,255,255,.35); }
    .btn-ghost:hover { border-color: var(--white); }
    .arrow { display: inline-block; font-size: 1.15em; transition: transform .25s ease; }
    html[dir="rtl"] .arrow { transform: scaleX(-1); }

    .hero-actions .btn::before {
      content: "";
      position: absolute;
      z-index: 0;
      inset: 0;
      background: rgba(255,255,255,.13);
      transform: translateX(-102%);
      transition: transform .32s cubic-bezier(.22, 1, .36, 1);
    }
    html[dir="rtl"] .hero-actions .btn::before { transform: translateX(102%); }
    .hero-actions .btn-primary::before { background: transparent; }
    .hero-actions .btn-ghost::before { background: rgba(255,255,255,.12); }
    .hero-actions .btn:focus-visible::before { transform: translateX(0); }
    .hero-actions .btn:first-child:focus-visible .arrow { transform: translateX(.28rem); }
    html[dir="rtl"] .hero-actions .btn:first-child:focus-visible .arrow { transform: scaleX(-1) translateX(.28rem); }
    .hero-actions .btn:last-child:focus-visible .arrow { transform: translateY(.22rem); }

    .site-header {
      position: absolute;
      z-index: 20;
      inset: 0 0 auto;
      padding: 1.2rem 0;
      color: var(--white);
    }
    .nav { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
    .brand { display: inline-flex; align-items: center; }
    .brand img {
      display: block;
      width: 220px;
      height: auto;
      max-height: 49px;
      object-fit: contain;
      object-position: left center;
    }
    html[dir="rtl"] .brand img { object-position: right center; }
    .nav-links { display: flex; align-items: center; gap: 1.55rem; font-size: .8rem; font-weight: 700; }
    .nav-links a { opacity: .76; transition: opacity .2s; }
    .nav-links a:hover { opacity: 1; }
    .lang-switch {
      display: flex;
      align-items: center;
      gap: .2rem;
      padding: .25rem;
      border: 1px solid rgba(255,255,255,.25);
      border-radius: 999px;
      background: rgba(255,255,255,.08);
      backdrop-filter: blur(12px);
    }
    .lang-switch button {
      width: 2.8rem;
      height: 2rem;
      padding: 0;
      border: 0;
      border-radius: 999px;
      color: rgba(255,255,255,.65);
      background: transparent;
      font-size: .72rem;
      font-weight: 800;
    }
    .lang-switch button.active { color: var(--navy); background: var(--white); }
    .nav-actions { display: flex; align-items: center; gap: .5rem; }
    .theme-toggle {
      position: relative;
      width: 2.65rem;
      height: 2.65rem;
      flex: 0 0 auto;
      display: grid;
      place-items: center;
      padding: 0;
      color: var(--white);
      border: 1px solid rgba(255,255,255,.25);
      border-radius: 50%;
      background: rgba(255,255,255,.08);
      transition: color .2s, background .2s, border-color .2s, transform .2s;
    }
    .theme-toggle:hover { transform: translateY(-1px); border-color: rgba(255,255,255,.6); }
    .theme-toggle .sun,
    .theme-toggle .moon { position: absolute; font-size: 1.15rem; line-height: 1; transition: opacity .2s, transform .2s; }
    .theme-toggle .sun { opacity: 1; transform: scale(1) rotate(0); }
    .theme-toggle .moon { opacity: 0; transform: scale(.65) rotate(-20deg); }

    .hero {
      position: relative;
      min-height: 790px;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      overflow: hidden;
      color: var(--white);
      background:
        radial-gradient(circle at 78% 46%, rgba(160,196,255,.42), transparent 27%),
        radial-gradient(circle at 82% 55%, rgba(217,184,120,.12), transparent 35%),
        linear-gradient(118deg, #1438d1 8%, #2d78f6 62%, #a0c4ff);
    }
    html[dir="rtl"] .hero {
      background:
        radial-gradient(circle at 22% 46%, rgba(160,196,255,.42), transparent 27%),
        radial-gradient(circle at 18% 55%, rgba(217,184,120,.12), transparent 35%),
        linear-gradient(242deg, #1438d1 8%, #2d78f6 62%, #a0c4ff);
    }
    .hero-photo {
      position: absolute;
      z-index: 1;
      inset-block: 0 6.6rem;
      inset-inline: 0;
      width: 100%;
      overflow: hidden;
    }
    .hero-photo::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(20,56,209,.62) 0%, rgba(45,120,246,.3) 48%, rgba(160,196,255,.04) 100%);
    }
    html[dir="rtl"] .hero-photo::after {
      background: linear-gradient(-90deg, rgba(20,56,209,.62) 0%, rgba(45,120,246,.3) 48%, rgba(160,196,255,.04) 100%);
    }
    .hero-photo picture { width: 100%; height: 100%; display: block; }
    .hero-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
    html[dir="rtl"] .hero-photo img { transform: scaleX(-1); }
    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: .28;
      background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
      background-size: 72px 72px;
      mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 78%, transparent);
    }
    .hero-orbit {
      position: absolute;
      width: min(48vw, 650px);
      aspect-ratio: 1;
      inset-inline-end: -3vw;
      top: 16%;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 50%;
      animation: rotate 34s linear infinite;
    }
    .hero-orbit::before,
    .hero-orbit::after {
      content: "";
      position: absolute;
      border: 1px solid rgba(160,196,255,.25);
      border-radius: 50%;
    }
    .hero-orbit::before { inset: 14%; }
    .hero-orbit::after { inset: 31%; background: radial-gradient(circle, rgba(45,120,246,.24), transparent 65%); }
    .orbit-dot {
      position: absolute;
      width: .9rem;
      aspect-ratio: 1;
      top: 49%;
      left: -.45rem;
      border-radius: 50%;
      background: var(--gold);
      box-shadow: 0 0 35px var(--gold);
    }
    @keyframes rotate { to { transform: rotate(360deg); } }
    .hero > .container {
      position: relative;
      z-index: 2;
      flex: 1;
      display: flex;
      align-items: center;
      padding-top: 7.5rem;
      padding-bottom: 3.5rem;
    }
    .hero-content { max-width: 650px; }
    .hero .eyebrow { color: #a0c4ff; }
    .hero h1 {
      max-width: 780px;
      margin: 1.4rem 0 1.4rem;
      font-size: clamp(3.2rem, 5.3vw, 4.85rem);
      line-height: 1;
    }
    html[dir="rtl"] .hero h1 { max-width: 850px; font-size: clamp(2.7rem, 4.7vw, 4.45rem); line-height: 1.2; }
    .hero-copy { max-width: 620px; color: rgba(255,255,255,.84); font-size: 1.15rem; font-weight: 500; }
    .hero-actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2.25rem; }
    .hero-actions .btn { border-width: 2px; }
    .hero-footer {
      position: relative;
      z-index: 2;
      inset: auto;
      flex: 0 0 auto;
      border-top: 1px solid rgba(255,255,255,.13);
      background: rgba(20,56,209,.78);
    }
    .trust-row { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); align-items: stretch; }
    .trust-item { padding: 1.45rem 1.8rem; border-inline-start: 1px solid rgba(255,255,255,.13); }
    .trust-item:first-child { border-inline-start: 0; padding-inline-start: 0; }
    .trust-label { color: #a0c4ff; font-size: .75rem; line-height: 1.5; text-transform: uppercase; letter-spacing: .09em; }
    html[dir="rtl"] .trust-label { letter-spacing: 0; }
    .trust-value { display: block; margin-top: .35rem; font-weight: 700; }

    section { padding: 7.5rem 0; }
    section.hero { padding: 0; }
    section[id] { scroll-margin-top: 5.5rem; }
    .intro-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 6rem; align-items: start; }
    .intro-statement { position: sticky; top: 8rem; }
    .intro-statement .chapter { margin-bottom: 2rem; color: var(--blue); font-size: .78rem; font-weight: 800; }
    .intro-copy { padding-top: 2rem; }
    .intro-copy > p:first-child { color: var(--ink); font-size: 1.15rem; font-weight: 600; line-height: 1.65; }
    .numbers {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      margin-top: 3rem;
      border-block: 1px solid var(--line);
    }
    .number { padding: 1.8rem 1rem; border-inline-start: 1px solid var(--line); }
    .number:first-child { padding-inline-start: 0; border-inline-start: 0; }
    .number strong { display: block; color: var(--navy); font-size: 2rem; }
    .number span { display: block; margin-top: .35rem; color: var(--muted); font-size: .75rem; line-height: 1.55; }

    .capabilities { color: var(--white); background: var(--navy); }
    .cap-head { display: flex; justify-content: space-between; gap: 3rem; align-items: end; margin-bottom: 3rem; }
    .cap-head p { max-width: 30rem; color: #a0c4ff; }
    .cap-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.15); }
    .cap-card {
      position: relative;
      min-height: 330px;
      padding: 2.25rem;
      display: flex;
      flex-direction: column;
      border-inline-start: 1px solid rgba(255,255,255,.15);
      overflow: hidden;
      transition: background .25s;
    }
    .cap-card:first-child { border-inline-start: 0; }
    .cap-card:hover { background: var(--blue); }
    .cap-index { color: var(--blue-2); font-size: .78rem; font-weight: 800; }
    .cap-card:hover .cap-index { color: var(--white); }
    .cap-card h3 { margin: 7rem 0 1rem; font-size: 1.65rem; }
    .cap-card p { margin-bottom: 0; color: #a0c4ff; font-size: .92rem; }
    .cap-card:hover p { color: var(--white); }
    .cap-links {
      display: flex;
      flex-wrap: wrap;
      gap: .65rem 1.15rem;
      margin-top: auto;
      padding-top: 1.75rem;
    }
    .cap-links a {
      display: inline-flex;
      align-items: center;
      gap: .4rem;
      min-height: 2.5rem;
      color: #a0c4ff;
      font-size: .72rem;
      font-weight: 800;
      letter-spacing: .04em;
      text-transform: uppercase;
      transition: color .2s, transform .2s;
    }
    html[dir="rtl"] .cap-links a { letter-spacing: 0; }
    .cap-links a:hover { color: var(--white); transform: translateY(-1px); }
    .cap-card:hover .cap-links a { color: var(--white); }
    .external-arrow { font-size: 1.05em; }
    html[dir="rtl"] .external-arrow { transform: scaleX(-1); }

    .industries { background: var(--white); }
    .industries-head {
      display: grid;
      grid-template-columns: 1fr .8fr;
      gap: 4rem;
      align-items: end;
      margin-bottom: 3.5rem;
    }
    .industries-head h2 { max-width: 760px; margin-top: 1.35rem; margin-bottom: 0; }
    .industries-head .lead { margin-bottom: .25rem; }
    .industry-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border-top: 1px solid var(--line);
      border-inline-start: 1px solid var(--line);
    }
    .industry-card {
      position: relative;
      min-height: 230px;
      padding: 1.8rem;
      border-inline-end: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      background: var(--white);
      transition: color .25s, background .25s;
    }
    .industry-card::after {
      content: "";
      position: absolute;
      inset-inline: 1.8rem;
      bottom: 0;
      height: 3px;
      background: var(--blue);
      transform: scaleX(0);
      transform-origin: center;
      transition: transform .25s;
    }
    .industry-card:hover { color: var(--white); background: var(--navy); }
    .industry-card:hover::after { transform: scaleX(1); }
    .industry-number { color: var(--blue); font-size: .72rem; font-weight: 800; }
    .industry-card h3 { margin: 4.25rem 0 .8rem; font-size: 1.35rem; }
    .industry-card p { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.65; }
    .industry-card:hover p { color: #a0c4ff; }

    .region { overflow: hidden; background: var(--mist); }
    .region-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }
    .region-visual {
      position: relative;
      min-height: 500px;
      border-radius: var(--radius);
      overflow: hidden;
      background: #1438d1 url("/me/assets/photos/ttms-team-8.webp") center 34% / cover no-repeat;
      box-shadow: var(--shadow);
    }
    .region-visual::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 44%, rgba(5,15,35,.84) 100%);
    }
    .region-photo-label {
      position: absolute;
      z-index: 1;
      inset-inline: 1.5rem;
      bottom: 1.35rem;
      color: var(--white);
      font-size: .78rem;
      font-weight: 700;
    }
    .region-list { margin: 2.2rem 0 0; padding: 0; list-style: none; }
    .region-list li { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
    .check { color: var(--blue); font-weight: 800; }

    .clients {
      overflow: hidden;
      padding: 6.5rem 0;
      background: #f4f7fb;
    }
    .clients-head { max-width: 760px; margin-bottom: 2.6rem; }
    .clients-head h2 { margin-top: 1rem; }
    .logo-slider {
      position: relative;
      width: 100%;
      display: grid;
      gap: 1rem;
    }
    .logo-slider::before,
    .logo-slider::after {
      content: "";
      position: absolute;
      z-index: 2;
      inset-block: 0;
      width: max(3rem, calc((100vw - 1180px) / 2 + 2rem));
      pointer-events: none;
    }
    .logo-slider::before { inset-inline-start: 0; background: linear-gradient(90deg, #f4f7fb, transparent); }
    .logo-slider::after { inset-inline-end: 0; background: linear-gradient(-90deg, #f4f7fb, transparent); }
    html[dir="rtl"] .logo-slider::before { background: linear-gradient(-90deg, #f4f7fb, transparent); }
    html[dir="rtl"] .logo-slider::after { background: linear-gradient(90deg, #f4f7fb, transparent); }
    .logo-row { overflow: hidden; direction: ltr; }
    .logo-track {
      display: flex;
      width: max-content;
      gap: 1rem;
      direction: ltr;
      animation: logo-scroll 30s linear infinite;
      will-change: transform;
    }
    .logo-row:nth-child(2) .logo-track { animation-direction: reverse; animation-duration: 34s; }
    .logo-slider:hover .logo-track,
    .logo-slider:focus-within .logo-track { animation-play-state: paused; }
    .logo-item {
      width: 176px;
      height: 86px;
      flex: 0 0 auto;
      display: grid;
      place-items: center;
      padding: 1.25rem 1.5rem;
      border: 1px solid #dfe6ef;
      border-radius: .75rem;
      background: #fff;
    }
    .logo-item img { display: block; width: 100%; height: 100%; object-fit: contain; filter: grayscale(1); opacity: .78; }
    .logo-item:hover img { filter: grayscale(0); opacity: 1; }
    @keyframes logo-scroll { to { transform: translateX(calc(-50% - .5rem)); } }

    .group-presence {
      position: relative;
      overflow: hidden;
      color: var(--white);
      background: #1438d1;
    }
    .group-presence::before {
      content: "";
      position: absolute;
      width: 42rem;
      aspect-ratio: 1;
      inset-block-start: -18rem;
      inset-inline-end: -14rem;
      border: 1px solid rgba(160,196,255,.16);
      border-radius: 50%;
      box-shadow: 0 0 0 7rem rgba(45,120,246,.025), 0 0 0 14rem rgba(45,120,246,.018);
      pointer-events: none;
    }
    .group-head {
      position: relative;
      display: grid;
      grid-template-columns: 1.15fr .85fr;
      gap: 6rem;
      align-items: end;
    }
    .group-copy .eyebrow { color: var(--blue-2); }
    .group-copy h2 { max-width: 780px; margin: 1.35rem 0 1.4rem; }
    .group-copy .lead { max-width: 720px; margin: 0; color: #a0c4ff; }
    .group-kpis {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      border-block: 1px solid rgba(255,255,255,.16);
    }
    .group-stat { padding: 1.8rem; border-inline-start: 1px solid rgba(255,255,255,.16); }
    .group-stat:first-child { padding-inline-start: 0; border-inline-start: 0; }
    .group-stat strong { display: block; color: var(--blue-2); font-size: clamp(2.8rem, 5vw, 4.6rem); line-height: 1; }
    .group-stat span { display: block; max-width: 12rem; margin-top: .75rem; color: #a0c4ff; font-size: .78rem; line-height: 1.55; }
    .group-footprint { position: relative; margin-top: 4.5rem; }
    .footprint-head { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 1.25rem; }
    .footprint-head h3 { margin: 0; font-size: 1.2rem; }
    .footprint-note { max-width: 32rem; margin: 0; color: #a0c4ff; font-size: .72rem; line-height: 1.55; text-align: end; }
    .country-grid {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      border-top: 1px solid rgba(255,255,255,.15);
      border-inline-start: 1px solid rgba(255,255,255,.15);
    }
    .country-card {
      min-height: 118px;
      padding: 1.3rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      border-inline-end: 1px solid rgba(255,255,255,.15);
      border-bottom: 1px solid rgba(255,255,255,.15);
      background: rgba(255,255,255,.025);
      transition: background .2s, transform .2s;
    }
    .country-card:hover { background: rgba(45,120,246,.16); transform: translateY(-2px); }
    .country-card strong { font-size: .95rem; }
    .country-card span { color: #a0c4ff; font-size: .72rem; }
    .group-sectors { display: flex; gap: 1rem 2rem; align-items: center; margin-top: 2rem; }
    .group-sectors > strong { flex: 0 0 auto; font-size: .78rem; }
    .sector-tags { display: flex; flex-wrap: wrap; gap: .55rem; }
    .sector-tag {
      padding: .55rem .8rem;
      color: #a0c4ff;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 999px;
      font-size: .7rem;
    }

    .proof-head { max-width: 760px; }
    .proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 3rem; }
    .proof-card { padding: 2rem; border: 1px solid var(--line); border-radius: .75rem; }
    .proof-icon {
      width: 2.9rem;
      height: 2.9rem;
      display: grid;
      place-items: center;
      margin-bottom: 3rem;
      color: var(--blue);
      border: 1px solid #a0c4ff;
      border-radius: 50%;
      font-weight: 800;
    }
    .proof-card h3 { margin-bottom: .7rem; font-size: 1.2rem; }
    .proof-card p { margin: 0; color: var(--muted); font-size: .9rem; }

    .contact { position: relative; padding: 0; color: var(--white); background: var(--navy); }
    .contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; }
    .contact-copy { padding: 7rem 5rem 7rem 0; }
    html[dir="rtl"] .contact-copy { padding: 7rem 0 7rem 5rem; }
    .contact-copy .eyebrow { color: var(--blue-2); }
    .contact-copy h2 { margin-top: 1.4rem; }
    .contact-copy p { color: #a0c4ff; }
    .contact-note { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.14); }
    .contact-note strong { display: block; margin-bottom: .45rem; }
    .contact-note span { color: #a0c4ff; font-size: .88rem; line-height: 1.65; }
    .form-wrap { margin-block: 4rem; padding: 3rem; color: var(--ink); background: var(--white); border-radius: .75rem; box-shadow: var(--shadow); }
    #contact-form { scroll-margin-top: 1.5rem; }
    .form-head { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 2.2rem; }
    .form-head h3 { margin: 0; font-size: 1.4rem; }
    .form-step { color: var(--muted); font-size: .72rem; }
    .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
    .field { display: flex; flex-direction: column; gap: .5rem; }
    .field.full { grid-column: 1 / -1; }
    label { font-size: .75rem; font-weight: 800; }
    input, select, textarea {
      width: 100%;
      padding: .92rem 0;
      border: 0;
      border-bottom: 1px solid #bfc8d7;
      border-radius: 0;
      outline: 0;
      color: var(--ink);
      background: transparent;
      transition: border-color .2s;
    }
    input:focus, select:focus, textarea:focus { border-color: var(--blue); }
    textarea { min-height: 90px; resize: vertical; }
    .consent {
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: auto 1fr;
      gap: .7rem;
      align-items: start;
      margin-top: .5rem;
      color: var(--muted);
      font-size: .7rem;
      line-height: 1.55;
    }
    .consent input { width: 1rem; height: 1rem; margin-top: .12rem; accent-color: var(--blue); }
    .form-actions { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .5rem; }
    .form-actions .btn { border: 0; }
    .privacy { color: var(--muted); font-size: .68rem; }
    .form-status { display: none; padding: 1rem; color: #0c6642; background: #e8f8f1; border-radius: .4rem; font-size: .84rem; }
    .form-status.show { display: block; grid-column: 1 / -1; }
    .honeypot {
      position: fixed;
      width: 1px;
      height: 1px;
      padding: 0;
      overflow: hidden;
      clip: rect(0 0 0 0);
      clip-path: inset(50%);
      white-space: nowrap;
      border: 0;
      opacity: 0;
      pointer-events: none;
    }

    footer { padding: 2rem 0; color: #a0c4ff; background: #1438d1; }
    .footer-row { display: flex; justify-content: space-between; align-items: center; gap: 2rem; font-size: .75rem; }
    .footer-links { display: flex; gap: 1.5rem; }
    .footer-links a:hover { color: var(--white); }

    .back-to-top {
      position: fixed;
      z-index: 40;
      inset-inline-end: 1.25rem;
      bottom: 1.25rem;
      width: 3.1rem;
      height: 3.1rem;
      display: grid;
      place-items: center;
      padding: 0;
      color: var(--navy);
      border: 0;
      border-radius: 50%;
      background: var(--lime);
      box-shadow: 0 12px 32px rgba(0,0,0,.26);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translateY(.75rem);
      transition: opacity .2s, visibility .2s, transform .2s, background .2s;
    }
    .back-to-top.visible { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
    .back-to-top:hover { background: var(--lime-hover); transform: translateY(-2px); }
    .back-to-top:focus-visible { outline: 3px solid var(--blue-2); outline-offset: 3px; }
    .back-to-top-icon {
      width: .72rem;
      height: .72rem;
      border-top: 2px solid currentColor;
      border-left: 2px solid currentColor;
      transform: rotate(45deg) translate(.12rem, .12rem);
    }

    .reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
    .reveal.visible { opacity: 1; transform: none; }

    html[data-theme="light"] body { color: #101828; background: #fff; }
    html[data-theme="light"] .site-header { color: #101828; }
    html[data-theme="light"] .brand img { filter: invert(1); }
    html[data-theme="light"] .nav-links a { opacity: .72; }
    html[data-theme="light"] .lang-switch {
      border-color: rgba(20,56,209,.18);
      background: rgba(20,56,209,.04);
    }
    html[data-theme="light"] .lang-switch button { color: rgba(20,56,209,.72); }
    html[data-theme="light"] .lang-switch button.active { color: #fff; background: var(--navy); }
    html[data-theme="light"] .theme-toggle {
      color: var(--navy);
      border-color: rgba(20,56,209,.18);
      background: rgba(20,56,209,.04);
    }
    html[data-theme="light"] .theme-toggle:hover { border-color: rgba(20,56,209,.45); }
    html[data-theme="light"] .theme-toggle .sun { opacity: 0; transform: scale(.65) rotate(20deg); }
    html[data-theme="light"] .theme-toggle .moon { opacity: 1; transform: scale(1) rotate(0); }
    html[data-theme="light"] .hero {
      color: #101828;
      background:
        radial-gradient(circle at 78% 46%, rgba(45,120,246,.14), transparent 27%),
        radial-gradient(circle at 82% 55%, rgba(217,184,120,.12), transparent 36%),
        linear-gradient(118deg, #fff 8%, #f6f9ff 62%, #eaf2ff);
    }
    html[dir="rtl"][data-theme="light"] .hero {
      background:
        radial-gradient(circle at 22% 46%, rgba(45,120,246,.14), transparent 27%),
        radial-gradient(circle at 18% 55%, rgba(217,184,120,.12), transparent 36%),
        linear-gradient(242deg, #fff 8%, #f6f9ff 62%, #eaf2ff);
    }
    html[data-theme="light"] .hero::before {
      background-image:
        linear-gradient(rgba(20,56,209,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(20,56,209,.045) 1px, transparent 1px);
    }
    html[data-theme="light"] .hero-orbit { border-color: rgba(20,56,209,.12); }
    html[data-theme="light"] .hero-orbit::before { border-color: rgba(45,120,246,.18); }
    html[data-theme="light"] .hero-photo::after { background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 48%, rgba(255,255,255,.38) 66%, rgba(255,255,255,.08) 100%); }
    html[dir="rtl"][data-theme="light"] .hero-photo::after { background: linear-gradient(-90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 48%, rgba(255,255,255,.38) 66%, rgba(255,255,255,.08) 100%); }
    html[data-theme="light"] .hero-copy { color: #26344d; text-shadow: 0 1px 0 rgba(255,255,255,.8); }
    html[data-theme="light"] .btn-primary { color: var(--white); background: var(--blue); }
    html[data-theme="light"] .btn-primary:hover { background: #1438d1; }
    html[data-theme="light"] .btn-ghost { color: var(--navy); border-color: rgba(20,56,209,.3); }
    html[data-theme="light"] .btn-ghost:hover { border-color: var(--navy); }
    html[data-theme="light"] .btn:focus-visible { outline-color: var(--navy); box-shadow: 0 0 0 5px rgba(45,120,246,.24); }
    html[data-theme="light"] .hero-actions .btn-primary::before { background: rgba(20,56,209,.13); }
    html[data-theme="light"] .hero-actions .btn-ghost::before { background: rgba(45,120,246,.1); }
    html[data-theme="light"] .hero-footer {
      border-color: rgba(20,56,209,.12);
      background: rgba(255,255,255,.68);
    }
    html[data-theme="light"] .trust-item { border-color: rgba(20,56,209,.12); }
    html[data-theme="light"] .trust-label { color: #68758d; }
    html[data-theme="light"] .trust-value { color: #101828; }
    html[data-theme="light"] .capabilities { color: #101828; background: #f3f6fa; }
    html[data-theme="light"] .cap-head p,
    html[data-theme="light"] .cap-card p { color: #65718a; }
    html[data-theme="light"] .cap-grid,
    html[data-theme="light"] .cap-card { border-color: #d7dfeb; }
    html[data-theme="light"] .cap-index,
    html[data-theme="light"] .cap-links a { color: var(--blue); }
    html[data-theme="light"] .cap-card:hover { color: #fff; background: var(--blue); }
    html[data-theme="light"] .cap-card:hover p,
    html[data-theme="light"] .cap-card:hover .cap-links a,
    html[data-theme="light"] .cap-card:hover .cap-index { color: #fff; }
    html[data-theme="light"] .industry-card { background: #fff; }
    html[data-theme="light"] .industry-card:hover { color: #fff; background: var(--navy); }
    html[data-theme="light"] .group-presence { color: #101828; background: #edf3fb; }
    html[data-theme="light"] .group-copy .lead,
    html[data-theme="light"] .group-stat span,
    html[data-theme="light"] .country-card span { color: #65718a; }
    html[data-theme="light"] .group-kpis,
    html[data-theme="light"] .group-stat,
    html[data-theme="light"] .country-grid,
    html[data-theme="light"] .country-card { border-color: #cdd8e7; }
    html[data-theme="light"] .country-card { background: rgba(255,255,255,.55); }
    html[data-theme="light"] .country-card:hover { background: #fff; }
    html[data-theme="light"] .footprint-note { color: #718099; }
    html[data-theme="light"] .sector-tag { color: #42516a; border-color: #cbd6e5; background: rgba(255,255,255,.45); }
    html[data-theme="light"] .contact { color: #101828; background: #eef3f9; }
    html[data-theme="light"] .contact-copy p,
    html[data-theme="light"] .contact-note span { color: #65718a; }
    html[data-theme="light"] .contact-note { border-color: #cdd6e3; }
    html[data-theme="light"] footer { color: #65718a; background: #fff; border-top: 1px solid #dce3ed; }
    html[data-theme="light"] .footer-links a:hover { color: #101828; }
    html[data-theme="light"] .back-to-top { color: var(--white); background: var(--blue); }
    html[data-theme="light"] .back-to-top:hover { background: #1438d1; }

    @media (max-width: 1100px) {
      .nav-links { gap: .9rem; font-size: .72rem; }
    }

    @media (max-width: 1024px) {
      .nav-links { display: none; }
      .hero { min-height: 760px; }
      .hero-photo { inset: 0; width: 100%; opacity: .58; }
      .hero-photo::after,
      html[dir="rtl"] .hero-photo::after { background: linear-gradient(180deg, rgba(45,120,246,.12), #1438d1 82%); }
      html[data-theme="light"] .hero-photo { opacity: .18; }
      html[data-theme="light"] .hero-photo::after,
      html[dir="rtl"][data-theme="light"] .hero-photo::after { background: linear-gradient(180deg, rgba(255,255,255,.05), #fff 82%); }
      .hero-orbit { width: 540px; opacity: .5; inset-inline-end: -250px; }
      .trust-row { grid-template-columns: repeat(3, 1fr); }
      .trust-item:first-child { display: none; }
      .trust-item:nth-child(2) { border-inline-start: 0; padding-inline-start: 0; }
      .intro-grid, .region-grid, .group-head, .contact-grid { grid-template-columns: 1fr; gap: 3rem; }
      .industries-head { grid-template-columns: 1fr; gap: 1.5rem; }
      .industry-grid { grid-template-columns: repeat(2, 1fr); }
      .intro-statement { position: static; }
      .cap-grid { grid-template-columns: 1fr; }
      .cap-card { min-height: 240px; border-inline-start: 0; border-top: 1px solid rgba(255,255,255,.15); }
      .cap-card:first-child { border-top: 0; }
      .cap-card h3 { margin-top: 3.5rem; }
      .cap-head { align-items: start; flex-direction: column; }
      .proof-grid { grid-template-columns: 1fr; }
      .country-grid { grid-template-columns: repeat(3, 1fr); }
      .contact-copy, html[dir="rtl"] .contact-copy { padding: 6rem 0 0; }
      .form-wrap { margin-top: 0; }
    }

    @media (min-width: 601px) and (max-width: 1024px) and (orientation: portrait) {
      html { font-size: 18px; }
      .container { width: min(100% - 3rem, 1180px); }
      .site-header {
        position: relative;
        padding: 1rem 0;
        background: #1438d1;
        border-bottom: 1px solid rgba(255,255,255,.1);
      }
      html[data-theme="light"] .site-header { background: #fff; border-color: #e0e7f0; }
      .nav { min-height: 3.25rem; }
      .brand img { width: 180px; max-height: 42px; }
      .hero { min-height: 0; }
      .hero-photo,
      html[data-theme="light"] .hero-photo {
        position: relative;
        inset: auto;
        order: 0;
        width: 100%;
        height: clamp(330px, 43vw, 440px);
        opacity: 1;
      }
      .hero-photo::after,
      html[dir="rtl"] .hero-photo::after,
      html[data-theme="light"] .hero-photo::after,
      html[dir="rtl"][data-theme="light"] .hero-photo::after { background: none; }
      .hero-photo img { object-position: center 48%; }
      html[dir="rtl"] .hero-photo img { transform: none; }
      .hero > .container {
        order: 1;
        width: 100%;
        padding: 3.25rem clamp(2rem, 6vw, 4rem) 3rem;
        background: linear-gradient(145deg, #1438d1, #2d78f6);
      }
      html[data-theme="light"] .hero > .container { background: #f5f8fd; }
      .hero-content { max-width: 720px; }
      .hero h1 {
        max-width: 720px;
        margin-block: 1.1rem;
        font-size: clamp(3.45rem, 7vw, 4.6rem);
        line-height: 1.03;
      }
      html[dir="rtl"] .hero h1 { max-width: 760px; font-size: clamp(3.15rem, 6.3vw, 4.15rem); line-height: 1.22; }
      .hero-copy { max-width: 700px; font-size: 1.12rem; line-height: 1.65; }
      .hero-actions { margin-top: 1.75rem; }
      .hero-footer { order: 2; background: #1438d1; }
      html[data-theme="light"] .hero-footer { background: #fff; }
      .trust-item { padding-inline: 1.25rem; }
      section { padding: 6rem 0; }
      h2 { font-size: clamp(2.35rem, 5vw, 4rem); }
      .lead { font-size: 1.12rem; }
      .intro-copy { padding-top: 0; }
      .intro-copy > p:first-child { font-size: 1.12rem; line-height: 1.65; }
      .intro-copy > p:not(:first-child) { font-size: 1rem; line-height: 1.75; }
    }

    @media (max-width: 600px) {
      .container { width: min(100% - 1.5rem, 1180px); }
      .site-header {
        position: relative;
        padding: .75rem 0;
        background: #1438d1;
        border-bottom: 1px solid rgba(255,255,255,.1);
      }
      html[data-theme="light"] .site-header { background: #fff; border-color: #e0e7f0; }
      .nav { min-height: 3rem; gap: .55rem; }
      .nav-actions { gap: .3rem; }
      .brand img { width: 126px; max-height: 32px; }
      .theme-toggle { width: 2.25rem; height: 2.25rem; }
      .lang-switch { padding: .2rem; }
      .lang-switch button { width: 2.25rem; height: 2.25rem; font-size: .76rem; }
      .hero {
        min-height: calc(100vh - 4.5rem);
        min-height: calc(100svh - 4.5rem);
      }
      .hero-photo,
      html[data-theme="light"] .hero-photo {
        position: relative;
        inset: auto;
        order: 0;
        width: 100%;
        height: auto;
        aspect-ratio: 560 / 414;
        opacity: 1;
      }
      .hero-photo::after,
      html[dir="rtl"] .hero-photo::after,
      html[data-theme="light"] .hero-photo::after,
      html[dir="rtl"][data-theme="light"] .hero-photo::after {
        background: none;
      }
      .hero-photo img { object-position: center; }
      html[dir="rtl"] .hero-photo img { transform: none; }
      .hero > .container {
        order: 1;
        width: 100%;
        padding: 1.75rem .75rem 1.5rem;
        background: linear-gradient(145deg, #1438d1, #2d78f6);
      }
      html[data-theme="light"] .hero > .container { background: #f5f8fd; }
      .hero-content { max-width: none; }
      .hero .eyebrow { font-size: .72rem; line-height: 1.5; }
      .hero h1 { margin-block: .85rem; font-size: 2.4rem; line-height: 1.08; }
      html[dir="rtl"] .hero h1 { font-size: 2.05rem; line-height: 1.28; }
      .hero-copy { max-width: none; margin-bottom: 0; font-size: .98rem; line-height: 1.62; }
      .hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; margin-top: 1.35rem; }
      .hero-actions .btn { min-height: 3.1rem; padding: .65rem .45rem; gap: .4rem; font-size: .75rem; }
      .hero-footer { order: 2; background: #1438d1; }
      html[data-theme="light"] .hero-footer { background: #fff; }
      .trust-item { min-width: 0; padding: .85rem .55rem; }
      .trust-value { font-size: .78rem; line-height: 1.4; overflow-wrap: anywhere; }
      .trust-label { font-size: .64rem; line-height: 1.45; }
      section { padding: 3.75rem 0; }
      .intro-grid, .region-grid, .group-head, .contact-grid { gap: 2rem; }
      .intro-copy { padding-top: 0; }
      .intro-copy > p:first-child { font-size: .98rem; line-height: 1.62; }
      .intro-copy > p:not(:first-child) { font-size: .93rem; line-height: 1.7; }
      .clients { padding: 4.25rem 0; }
      .clients-head { margin-bottom: 1.8rem; }
      .logo-slider { gap: .7rem; }
      .logo-track { animation-duration: 24s; }
      .logo-row:nth-child(2) .logo-track { animation-duration: 28s; }
      .logo-item { width: 138px; height: 70px; padding: 1rem; }
      .numbers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .number {
        min-width: 0;
        padding: 1.35rem .65rem;
        border-top: 0;
        border-inline-start: 1px solid var(--line);
      }
      .number:first-child { padding-inline-start: 0; border-inline-start: 0; }
      .number strong { font-size: 1.65rem; }
      .number span { font-size: .76rem; font-weight: 500; line-height: 1.45; overflow-wrap: anywhere; }
      .cap-links a { font-size: .8rem; }
      .region-visual { min-height: 320px; }
      .industry-grid { grid-template-columns: 1fr; }
      .industry-card { min-height: 205px; }
      .industry-card h3 { margin-top: 3.25rem; }
      .industry-number { font-size: .78rem; }
      .industry-card p { font-size: .92rem; }
      .footprint-head { align-items: flex-start; flex-direction: column; }
      .footprint-note { font-size: .82rem; text-align: start; }
      .country-grid { grid-template-columns: repeat(2, 1fr); }
      .country-card strong { font-size: 1rem; }
      .country-card span { font-size: .8rem; }
      .group-stat span { font-size: .84rem; }
      .group-sectors { align-items: flex-start; flex-direction: column; }
      .group-sectors > strong { font-size: .84rem; }
      .sector-tag { font-size: .8rem; }
      .proof-card p { font-size: .92rem; }
      .contact-copy, html[dir="rtl"] .contact-copy { padding-top: 4.25rem; }
      .contact-note span { font-size: .92rem; }
      .form-wrap { margin-block: 1rem 2rem; padding: 1.5rem; }
      .form-step { font-size: .8rem; }
      label { font-size: .82rem; }
      .form-grid { grid-template-columns: 1fr; }
      .field.full, .consent, .form-actions, .form-status { grid-column: auto; }
      .consent { font-size: .8rem; }
      .privacy { font-size: .78rem; line-height: 1.55; }
      .form-actions { align-items: stretch; flex-direction: column-reverse; }
      .form-actions .btn { width: 100%; }
      .footer-row { align-items: flex-start; flex-direction: column; font-size: .82rem; }
      .back-to-top { inset-inline-end: .85rem; bottom: .85rem; width: 2.9rem; height: 2.9rem; }
    }

    @media (max-width: 380px) {
      .container { width: min(100% - 1rem, 1180px); }
      .site-header { padding-block: .65rem; }
      .nav { gap: .35rem; }
      .nav-actions { gap: .2rem; }
      .brand img { width: 116px; max-height: 29px; }
      .theme-toggle { width: 2.25rem; height: 2.25rem; }
      .lang-switch { gap: 0; padding: .2rem; }
      .lang-switch button { width: 2.25rem; height: 2.25rem; font-size: .72rem; }
      .hero-photo,
      html[data-theme="light"] .hero-photo { height: auto; }
      .hero > .container { padding: 1.5rem .5rem 1.35rem; }
      .hero h1 { font-size: 2.2rem; }
      html[dir="rtl"] .hero h1 { font-size: 1.9rem; }
      .hero-copy { font-size: .94rem; }
      .hero-actions .btn { font-size: .72rem; }
      .trust-label { font-size: .62rem; }
      .trust-value { font-size: .76rem; }
      .form-head { align-items: flex-start; flex-direction: column; }
      .footer-links { flex-wrap: wrap; }
    }

    @media (hover: hover) and (pointer: fine) {
      .hero-actions .btn:hover::before { transform: translateX(0); }
      .hero-actions .btn:first-child:hover .arrow { transform: translateX(.28rem); }
      html[dir="rtl"] .hero-actions .btn:first-child:hover .arrow { transform: scaleX(-1) translateX(.28rem); }
      .hero-actions .btn:last-child:hover .arrow { transform: translateY(.22rem); }
      .hero-actions .btn-primary:hover {
        box-shadow: 0 14px 30px rgba(0,0,0,.34), 0 4px 10px rgba(0,0,0,.2);
      }
      .hero-actions .btn-ghost:hover {
        box-shadow: 0 12px 28px rgba(0,0,0,.28), 0 3px 9px rgba(0,0,0,.16);
      }
      html[data-theme="light"] .hero-actions .btn-primary:hover {
        box-shadow: 0 14px 30px rgba(45,120,246,.32), 0 4px 10px rgba(0,0,0,.16);
      }
      html[data-theme="light"] .hero-actions .btn-ghost:hover {
        box-shadow: 0 12px 26px rgba(0,0,0,.18), 0 3px 8px rgba(0,0,0,.1);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
      .reveal { opacity: 1; transform: none; }
    }

/* 3. Additional global CSS */

