@font-face {
  font-family: "Open Sans";
  src: url("../fonts/OpenSans-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

/* Final site-wide consistency pass
   Keeps the hero editorial treatment while unifying every following section. */
:root {
  --op-heading: #f7fafb;
  --op-heading-muted: #9aa6ad;
  --op-accent: #00b0d5;
  --op-burgundy: #7d0414;
  --op-section-title: clamp(2.25rem, 4.4vw, 4.85rem);
}

.nav-dropdown__menu {
  background: #080d11 !important;
  border-color: rgba(0, 176, 213, .32) !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .72), 0 0 0 1px rgba(125, 4, 20, .18) inset !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.op-coverage__inner,
.op-team__grid,
.op-faq__shell {
  width: min(1280px, 100%) !important;
}

.op-legal h1 {
  font-size: clamp(3.5rem, 4.45vw, 5.125rem) !important;
  line-height: .98 !important;
  letter-spacing: -.04em !important;
}

.op-service-suite__head h2,
.op-industries__head h2,
.op-process__head h2,
.op-tech__head h2,
.op-services__head h2,
.op-uae-map__head h2,
.op-clients__head h2,
.op-team__head h2,
.op-coverage__head h2,
.op-faq__aside h2 {
  color: var(--op-heading) !important;
  max-width: 950px;
  margin: 0;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: var(--op-section-title) !important;
  font-weight: 800 !important;
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;
  text-transform: none !important;
}

.op-service-suite__head h2 span,
.op-industries__head h2 span,
.op-process__head h2 span,
.op-tech__head h2 span,
.op-services__head h2 span,
.op-uae-map__head h2 span,
.op-clients__head h2 em,
.op-team__head h2 span,
.op-coverage__head h2 span,
.op-faq__aside h2 span {
  display: block;
  color: var(--op-heading-muted) !important;
  font: inherit !important;
  text-transform: none !important;
}

.op-service-suite__eyebrow,
.op-industries__eyebrow,
.op-process__eyebrow,
.op-tech__eyebrow,
.op-services__eyebrow,
.op-clients__eyebrow,
.op-team__eyebrow,
.op-coverage__eyebrow,
.op-faq__eyebrow {
  color: var(--op-accent) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .18em !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
}

@media (max-width: 900px) {
  .nav-dropdown__menu {
    background: #080d11 !important;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .65) !important;
  }
}

@media (max-width: 680px) {
  :root { --op-section-title: clamp(2.05rem, 10vw, 3.35rem); }

  .op-legal h1 {
    font-size: clamp(2.75rem, 11.2vw, 3.5rem) !important;
  }

  main > section:not(.op-hero),
  main > section:not(.op-hero) header,
  .op-service-suite__head,
  .op-industries__head,
  .op-process__head,
  .op-tech__head,
  .op-services__head,
  .op-uae-map__head,
  .op-clients__head,
  .op-team__head,
  .op-coverage__head,
  .op-faq__aside {
    text-align: center !important;
  }

  .op-service-suite__head h2,
  .op-industries__head h2,
  .op-process__head h2,
  .op-tech__head h2,
  .op-services__head h2,
  .op-uae-map__head h2,
  .op-clients__head h2,
  .op-team__head h2,
  .op-coverage__head h2,
  .op-faq__aside h2 { margin-inline: auto !important; }

  .op-service-suite__eyebrow,
  .op-industries__eyebrow,
  .op-process__eyebrow,
  .op-tech__eyebrow,
  .op-services__eyebrow,
  .op-clients__eyebrow,
  .op-team__eyebrow,
  .op-coverage__eyebrow,
  .op-faq__eyebrow {
    justify-content: center !important;
    text-align: center !important;
  }

  .op-service-suite__head p,
  .op-industries__head p,
  .op-process__head p,
  .op-tech__head p,
  .op-services__head p,
  .op-clients__head p,
  .op-team__head p,
  .op-coverage__head > p,
  .op-faq__aside > p {
    margin-inline: auto !important;
  }

  .op-footer__inner,
  .op-footer__brand-zone,
  .op-footer__column,
  .op-footer__column--contact,
  .op-footer__bottom {
    text-align: center !important;
  }

  .op-footer__brand,
  .op-footer__brand-note,
  .op-footer__social-row,
  .op-footer__socials,
  .op-footer__title,
  .op-footer__links,
  .op-footer__services,
  .op-footer__contact-list,
  .op-footer__legal {
    margin-inline: auto !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .op-footer__columns { justify-items: center !important; }
  .op-footer__column { width: 100% !important; align-items: center !important; }
  .op-footer__links,
  .op-footer__services { display: flex !important; flex-direction: column !important; }
  .op-footer__contact { justify-content: center !important; text-align: center !important; }
  .op-footer__contact-copy { align-items: center !important; text-align: center !important; }
  .op-footer__bottom { align-items: center !important; justify-content: center !important; gap: 14px !important; }
  .op-footer__credit { text-align: center !important; }

  /* The hero intentionally keeps its cinematic left alignment on mobile. */
  .op-hero,
  .op-hero__content,
  .op-hero__content h1,
  .op-hero__content p { text-align: left !important; }
}

@font-face {
  font-family: "Open Sans";
  src: url("../fonts/OpenSans-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Open Sans";
  src: url("../fonts/OpenSans-SemiBold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Open Sans";
  src: url("../fonts/OpenSans-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Open Sans";
  src: url("../fonts/OpenSans-ExtraBold.ttf") format("truetype");
  font-style: normal;
  font-weight: 800 900;
  font-display: swap;
}

:root {
  --blue: #00B0D5;
  --burgundy: #7D0414;
  --ink: #060a0d;
  --white: #ffffff;
  --page-gutter: clamp(26px, 5.5vw, 105px);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: #05080b;
}

body {
  margin: 0;
  overflow-x: hidden;
  background: #05080b;
  color: #fff;
  font-family: "Open Sans", Arial, sans-serif;
}

a {
  color: inherit;
  text-decoration: none;
}

/* ================================
   FLOATING HEADER
================================ */

.site-header {
  position: fixed;
  z-index: 1000;
  top: 40px;
  left: 50%;
  width: min(1040px, calc(100% - 80px));
  transform: translateX(-50%);
  opacity: 0;
  transform: translate(-50%, -16px);
  transition: top .3s ease, width .3s ease, opacity .75s cubic-bezier(.22,1,.36,1), transform .75s cubic-bezier(.22,1,.36,1);
}

body.hero-ready .site-header {
  opacity: 1;
  transform: translate(-50%, 0);
}

.site-header.is-scrolled {
  top: 18px;
  width: min(960px, calc(100% - 48px));
}

.nav-pill {
  min-height: 62px;
  display: grid;
  grid-template-columns: 215px 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 6px 7px 6px 17px;
  border: 1px solid rgba(255,255,255,.30);
  border-radius: 999px;
  background: linear-gradient(110deg, rgba(255,255,255,.24), rgba(255,255,255,.10));
  box-shadow: 0 18px 54px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.20);
  backdrop-filter: blur(24px) saturate(150%);
  -webkit-backdrop-filter: blur(24px) saturate(150%);
}

.nav-logo {
  width: 176px;
  display: flex;
  align-items: center;
}

.nav-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -.025em;
}

.nav-links a {
  position: relative;
  padding: 8px 0;
}

.nav-links a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 2px;
  height: 1px;
  background: #fff;
  transition: right .22s ease;
}

.nav-links a:hover::after {
  right: 0;
}

.nav-dropdown {
  position: relative;
}

.nav-dropdown__trigger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.nav-dropdown__trigger svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .25s ease;
}

.nav-dropdown__menu {
  position: absolute;
  top: calc(100% + 19px);
  left: 50%;
  width: 230px;
  padding: 9px;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 18px;
  background: rgba(8,13,16,.72);
  box-shadow: 0 24px 60px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter: blur(24px) saturate(145%);
  -webkit-backdrop-filter: blur(24px) saturate(145%);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -8px);
  transition: opacity .22s ease, transform .22s ease, visibility .22s;
}

.nav-dropdown__menu a {
  display: block;
  padding: 12px 13px;
  border-radius: 11px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -.02em;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease, padding-left .2s ease;
}

.nav-dropdown__menu a::after {
  display: none;
}

.nav-dropdown__menu a:hover {
  padding-left: 17px;
  background: rgba(255,255,255,.11);
  color: #fff;
}

.nav-dropdown.is-open .nav-dropdown__menu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.nav-dropdown.is-open .nav-dropdown__trigger svg {
  transform: rotate(180deg);
}

/* Nested service dropdowns */
.nav-dropdown__primary {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.nav-dropdown__nested-group {
  position: relative;
}

.nav-dropdown__parent {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 13px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}

.nav-dropdown__parent:hover,
.nav-dropdown__parent.is-current-group {
  background: rgba(255,255,255,.11);
}

.nav-dropdown__parent svg {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .22s ease;
}

.nav-dropdown__submenu {
  position: absolute;
  top: -9px;
  left: calc(100% + 8px);
  width: 230px;
  padding: 9px;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 16px;
  background: #080d10;
  box-shadow: 0 24px 60px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.10);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
  z-index: 30;
}

.nav-dropdown__nested-group.is-open > .nav-dropdown__submenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
}

.nav-dropdown__nested-group.is-open > .nav-dropdown__parent svg {
  transform: rotate(0deg);
}


.nav-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.nav-action,
.menu-toggle {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 0;
  border-radius: 50%;
  background: #050809;
  color: #fff;
}

.nav-action {
  transition: background .22s ease, transform .22s ease;
}

.nav-action svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nav-action:hover {
  background: var(--blue);
  transform: rotate(5deg);
}

.menu-toggle {
  display: none;
  padding: 0;
  cursor: pointer;
}

.menu-toggle span {
  width: 19px;
  height: 1px;
  display: block;
  margin: 3px auto;
  background: #fff;
  transition: transform .22s ease;
}

/* ================================
   HERO
================================ */

.op-hero {
  position: relative;
  min-height: max(calc(100svh - 36px), 760px);
  margin: 18px;
  overflow: hidden;
  isolation: isolate;
  border-radius: 26px;
  background:
    radial-gradient(circle at 72% 40%, rgba(0,176,213,.22), transparent 28%),
    linear-gradient(135deg, #07131a, #04080b 70%);
}

.op-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.op-hero__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 70% center;
  opacity: 0;
  transform: scale(1.12);
  will-change: transform, opacity;
  transition: transform 1.7s cubic-bezier(.22,1,.36,1), opacity .9s ease;
}

body.hero-ready .op-hero__media img {
  opacity: 1;
  transform: scale(1.055);
}

.op-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      90deg,
      rgba(2,7,10,.96) 0%,
      rgba(2,7,10,.84) 29%,
      rgba(2,7,10,.54) 48%,
      rgba(2,7,10,.14) 72%,
      rgba(2,7,10,.04) 100%
    );
}

.op-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 16%;
  bottom: -240px;
  width: 780px;
  height: 480px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,176,213,.15), transparent 68%);
  pointer-events: none;
}

.op-hero__content {
  position: absolute;
  z-index: 2;
  left: var(--page-gutter);
  right: var(--page-gutter);
  bottom: clamp(76px, 9vh, 108px);
  width: auto;
  max-width: 900px;
  overflow: visible;
}

.op-hero__brand {
  margin-bottom: 20px;
  color: var(--blue);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: 0;
  filter: blur(10px);
  transform: translateY(10px);
  transition: opacity .7s ease .16s, filter .85s ease .16s, transform .85s cubic-bezier(.22,1,.36,1) .16s;
}

body.hero-ready .op-hero__brand {
  opacity: 1;
  filter: blur(0);
  transform: none;
}

.op-hero h1 {
  margin: 0;
  max-width: 900px;
  font-size: clamp(56px, 4.45vw, 82px);
  font-weight: 800;
  line-height: .96;
  letter-spacing: -.045em;
  overflow: visible;
  opacity: 0;
  filter: blur(18px);
  transform: translateY(18px);
  transition: opacity .9s ease .24s, filter 1.05s cubic-bezier(.22,1,.36,1) .24s, transform 1.05s cubic-bezier(.22,1,.36,1) .24s;
}

.op-hero h1 span {
  color: rgba(255,255,255,.82);
}

body.hero-ready .op-hero h1 {
  opacity: 1;
  filter: blur(0);
  transform: none;
}

.op-hero__lead {
  max-width: 650px;
  margin: 30px 0 0;
  color: rgba(255,255,255,.88);
  font-size: clamp(17px, 1.28vw, 21px);
  font-weight: 600;
  line-height: 1.48;
  letter-spacing: -.025em;
  opacity: 0;
  filter: blur(10px);
  transform: translateY(12px);
  transition: opacity .75s ease .42s, filter .9s ease .42s, transform .9s cubic-bezier(.22,1,.36,1) .42s;
}

.op-hero__description {
  max-width: 760px;
  margin: 20px 0 0;
  color: rgba(255,255,255,.66);
  font-size: clamp(13px, .95vw, 16px);
  font-weight: 500;
  line-height: 1.72;
  letter-spacing: -.015em;
  opacity: 0;
  filter: blur(9px);
  transform: translateY(11px);
  transition: opacity .75s ease .52s, filter .9s ease .52s, transform .9s cubic-bezier(.22,1,.36,1) .52s;
}

.op-hero__micro {
  margin: 21px 0 0;
  color: rgba(255,255,255,.66);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .075em;
  opacity: 0;
  filter: blur(8px);
  transform: translateY(10px);
  transition: opacity .7s ease .62s, filter .85s ease .62s, transform .85s cubic-bezier(.22,1,.36,1) .62s;
}

body.hero-ready .op-hero__lead,
body.hero-ready .op-hero__description,
body.hero-ready .op-hero__micro {
  opacity: 1;
  filter: blur(0);
  transform: none;
}

.op-hero__buttons {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 32px;
  opacity: 0;
  filter: blur(7px);
  transform: translateY(14px);
  transition: opacity .7s ease .72s, filter .85s ease .72s, transform .85s cubic-bezier(.22,1,.36,1) .72s;
}

body.hero-ready .op-hero__buttons {
  opacity: 1;
  filter: blur(0);
  transform: none;
}

.op-btn {
  width: 198px;
  min-width: 198px;
  height: 60px;
  min-height: 60px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 26px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -.02em;
  transition: background-color .3s ease, color .3s ease, border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}

.op-btn:hover {
  transform: translateY(-3px);
}

.op-btn--light {
  background: #fff;
  color: #071016;
  border-color: #fff;
}

.op-btn--light:hover {
  background: linear-gradient(110deg, var(--burgundy), var(--blue));
  color: #fff;
  border-color: var(--blue);
  box-shadow: 0 12px 30px rgba(0,176,213,.28);
}

.op-btn--outline {
  border: 1px solid rgba(255,255,255,.5);
  color: #fff;
}

.op-btn--outline:hover {
  background: rgba(125,4,20,.72);
  color: #fff;
  border-color: rgba(255,255,255,.72);
}

.op-hero__bottom {
  position: absolute;
  z-index: 2;
  left: var(--page-gutter);
  right: var(--page-gutter);
  bottom: 27px;
  display: flex;
  justify-content: space-between;
  color: rgba(255,255,255,.58);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .055em;
  opacity: 0;
  filter: blur(7px);
  transition: opacity .7s ease .76s, filter .85s ease .76s;
}

body.hero-ready .op-hero__bottom {
  opacity: 1;
  filter: blur(0);
}

/* Temporary footer; later sections will sit above it. */
.site-footer {
  padding: 26px 30px;
  background: #050809;
  color: #737c81;
  font-size: 13px;
}

.footer-inner {
  width: min(1400px, 100%);
  margin: auto;
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.footer-inner a:hover {
  color: var(--blue);
}

@media (max-width: 900px) {
  .site-header,
  .site-header.is-scrolled {
    top: 24px;
    width: calc(100% - 48px);
  }

  .nav-pill {
    min-height: 58px;
    grid-template-columns: 1fr auto;
    padding: 5px 6px 5px 14px;
  }

  .nav-logo {
    width: 170px;
  }

  .nav-links {
    position: absolute;
    top: 68px;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    max-height: calc(100svh - 108px);
    overflow-x: hidden;
    overflow-y: auto;
    padding: 17px;
    border-radius: 20px;
    color: #fff;
    background: #070c0f;
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(22px) saturate(145%);
    -webkit-backdrop-filter: blur(22px) saturate(145%);
    box-shadow: 0 20px 45px rgba(0,0,0,.35);
    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease;
  }

  .nav-links.is-open {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }

  .nav-links a {
    padding: 14px 8px;
    border-bottom: 1px solid #d5d7d6;
  }

  .nav-dropdown__trigger {
    width: 100%;
    justify-content: space-between;
    padding: 14px 8px;
    border-bottom: 1px solid rgba(255,255,255,.18);
  }

  .nav-dropdown__menu {
    position: static;
    width: 100%;
    max-height: 0;
    margin: 0;
    padding: 0 8px;
    overflow: hidden;
    border-color: transparent;
    border-radius: 14px;
    background: #0a1115;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    transform: none;
    transition: max-height .3s ease, margin .3s ease, padding .3s ease, opacity .2s ease;
  }

  .nav-dropdown.is-open .nav-dropdown__menu {
    max-height: 70vh;
    margin: 7px 0;
    padding: 8px;
    opacity: 1;
    visibility: visible;
    transform: none;
    overflow-y: auto;
  }

  .nav-dropdown__primary {
    gap: 0;
  }

  .nav-dropdown__nested-group {
    width: 100%;
  }

  .nav-dropdown__parent {
    min-height: 50px;
    padding: 13px 12px;
    border-radius: 10px;
    border-bottom: 1px solid rgba(255,255,255,.12);
    font-size: 14px;
  }

  .nav-dropdown__submenu {
    position: static;
    width: auto;
    max-height: 0;
    margin: 0;
    padding: 0 7px;
    overflow: hidden;
    border: 0;
    border-radius: 10px;
    background: #11191e;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: none;
    transition: max-height .3s ease, margin .3s ease, padding .3s ease, opacity .2s ease;
  }

  .nav-dropdown__nested-group.is-open > .nav-dropdown__submenu {
    max-height: 420px;
    margin: 6px 0;
    padding: 7px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    overflow-y: auto;
  }

  .nav-dropdown__submenu a {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255,255,255,.10);
    border-radius: 8px;
    white-space: normal;
    line-height: 1.25;
    font-size: 14px;
  }

  .nav-dropdown__submenu a:last-child {
    border-bottom: 0;
  }

  .nav-dropdown__menu a {
    padding: 11px 12px;
    border-bottom: 0;
  }

  .nav-phone {
    display: none;
  }

  .menu-toggle {
    display: grid;
  }

  .menu-toggle.is-open span:first-child {
    transform: translateY(4px) rotate(45deg);
  }

  .menu-toggle.is-open span:last-child {
    transform: translateY(-4px) rotate(-45deg);
  }

  .op-hero {
    min-height: max(calc(100svh - 16px), 820px);
    margin: 8px;
    border-radius: 20px;
  }

  .op-hero__media img {
    object-position: 67% center;
  }

  .op-hero__overlay {
    background:
      linear-gradient(
        0deg,
        rgba(2,7,10,.97) 0%,
        rgba(2,7,10,.86) 42%,
        rgba(2,7,10,.28) 75%,
        rgba(2,7,10,.08) 100%
      );
  }

  .op-hero__content {
    left: 26px;
    right: 26px;
    bottom: 76px;
    width: auto;
  }

  .op-hero h1 {
    font-size: clamp(48px, 10.5vw, 68px);
  }

  .op-hero__lead {
    max-width: 520px;
    font-size: 17px;
  }

  .op-hero__description {
    max-width: 620px;
    font-size: 14px;
    line-height: 1.65;
  }

  .op-hero__micro {
    display: none;
  }

  .op-hero__bottom {
    left: 26px;
    right: 26px;
    font-size: 9px;
  }
}

@media (max-width: 520px) {
  .site-header,
  .site-header.is-scrolled {
    width: calc(100% - 32px);
  }

  .nav-logo {
    width: 150px;
  }

  .nav-action,
  .menu-toggle {
    width: 43px;
    height: 43px;
  }

  .op-hero__brand {
    font-size: 12px;
  }

  .op-hero h1 {
    font-size: clamp(42px, 11.2vw, 56px);
  }

  .op-hero__buttons {
    gap: 8px;
  }

  .op-btn {
    min-width: 0;
    flex: 1;
    height: 52px;
    min-height: 52px;
    padding: 0 12px;
    font-size: 12px;
  }

  .op-hero__bottom span:last-child {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
  }

  .site-header,
  .op-hero__media img,
  .op-hero__brand,
  .op-hero h1,
  .op-hero__lead,
  .op-hero__description,
  .op-hero__micro,
  .op-hero__buttons,
  .op-hero__bottom {
    transition: none !important;
  }

  .op-hero__media img {
    transform: none !important;
  }
}

/* Exact uploaded animated SVG: sizing only; animation lives inside the file. */
.op-animated-logo {
  display: block;
  height: auto;
  object-fit: contain;
}

.op-animated-logo--header {
  width: 218px;
  max-width: 100%;
}

.op-animated-logo--visual {
  position: absolute;
  z-index: 6;
  top: 50%;
  left: 50%;
  width: min(470px, 145%);
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 16px 32px rgba(0,0,0,.38));
}

@media (max-width: 520px) {
  .op-animated-logo--header {
    width: 184px;
  }
}

/* =====================================
   ABOUT + CONSULTATION SECTION
===================================== */

.op-consult {
  position: relative;
  overflow: hidden;
  padding: clamp(110px, 10vw, 170px) 24px;
  background:
    radial-gradient(circle at 82% 22%, rgba(0,176,213,.10), transparent 29%),
    linear-gradient(180deg, #04080b 0%, #05080b 42%, #05080b 100%);
  color: #fff;
}

.op-consult__inner {
  position: relative;
  z-index: 2;
  width: min(720px, 100%);
  margin: 0 auto;
}

.op-consult__form-head,
.op-consult__form {
  position: relative;
  z-index: 2;
}

.op-consult__form-head > span {
  display: block;
  margin-bottom: 10px;
  color: var(--blue);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.op-consult__form-head h3 {
  margin: 0;
  font-size: clamp(30px, 2.5vw, 42px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.045em;
}

.op-consult__form-head p {
  max-width: 400px;
  margin: 14px 0 0;
  color: rgba(255,255,255,.55);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
}

.op-consult__form {
  margin-top: 30px;
}

.op-consult__form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.op-consult__field {
  margin-bottom: 13px;
}

.op-consult__field label {
  display: block;
  margin: 0 0 8px 3px;
  color: rgba(255,255,255,.68);
  font-size: 11px;
  font-weight: 700;
}

.op-consult__field input,
.op-consult__field select,
.op-consult__field textarea {
  width: 100%;
  min-height: 54px;
  padding: 0 17px;
  outline: none;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 13px;
  background: rgba(2,5,7,.45);
  color: #fff;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  transition: border-color .25s ease, background-color .25s ease, box-shadow .25s ease;
}

.op-consult__field textarea {
  min-height: 120px;
  padding-top: 16px;
  resize: vertical;
}

.op-consult__field select {
  cursor: pointer;
  color-scheme: dark;
}

.op-consult__field input::placeholder,
.op-consult__field textarea::placeholder {
  color: rgba(255,255,255,.32);
}

.op-consult__field input:focus,
.op-consult__field select:focus,
.op-consult__field textarea:focus {
  border-color: var(--blue);
  background: rgba(4,10,14,.75);
  box-shadow: 0 0 0 4px rgba(0,176,213,.09);
}

.op-consult__submit {
  width: 100%;
  min-height: 60px;
  margin-top: 5px;
  padding: 0 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff;
  border-radius: 999px;
  background: #fff;
  color: #071016;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: background-color .3s ease, color .3s ease, transform .3s ease, box-shadow .3s ease;
}

.op-consult__submit:hover {
  background: linear-gradient(110deg, var(--burgundy), var(--blue));
  color: #fff;
  border-color: var(--blue);
  transform: translateY(-2px);
  box-shadow: 0 15px 40px rgba(0,176,213,.2);
}

.op-consult__privacy {
  margin: 13px 0 0;
  color: rgba(255,255,255,.36);
  font-size: 10px;
  font-weight: 500;
  text-align: center;
}

.op-consult__glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(100px);
}

.op-consult__glow--one {
  top: 18%;
  left: -180px;
  width: 360px;
  height: 360px;
  background: rgba(0,176,213,.08);
}

.op-consult__glow--two {
  right: -200px;
  bottom: -180px;
  width: 420px;
  height: 420px;
  background: rgba(0,176,213,.1);
}

.op-consult [data-reveal] {
  opacity: 0;
  filter: blur(14px);
  transform: translateY(26px);
  transition: opacity .9s ease, filter 1.05s ease, transform 1.05s cubic-bezier(.22,1,.36,1);
}

.op-consult [data-reveal].is-visible {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
}

@media (max-width: 640px) {
  .op-consult {
    padding: 80px 20px;
  }

  .op-consult__form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }

}

@media (prefers-reduced-motion: reduce) {
  .op-consult [data-reveal] {
    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
  }
}

/* Premium split consultation layout */
.op-consult__inner {
  width: min(1280px, 100%);
}

.op-consult__shell {
  position: relative;
  min-height: 660px;
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 28px;
  background: #070b10;
  box-shadow: 0 40px 110px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.05);
}

.op-consult__shell::before {
  content: "";
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,176,213,.65), transparent);
  pointer-events: none;
}

.op-consult__visual {
  position: relative;
  isolation: isolate;
  min-height: 660px;
  overflow: hidden;
  border-right: 1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(ellipse at 50% -4%, rgba(235,228,255,.92), transparent 32%),
    radial-gradient(circle at 50% 24%, rgba(117,137,255,.68), transparent 35%),
    radial-gradient(circle at 50% 42%, rgba(0,176,213,.32), transparent 39%),
    linear-gradient(180deg, #8d98ed 0%, #4259d8 20%, #18266f 43%, #080d28 68%, #020304 100%);
}

.op-consult__visual::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -38%;
  left: -18%;
  width: 136%;
  height: 118%;
  background:
    radial-gradient(ellipse at 50% 28%, rgba(255,255,255,.94) 0%, rgba(190,208,255,.62) 19%, transparent 49%),
    radial-gradient(ellipse at 50% 48%, rgba(69,143,255,.72) 0%, rgba(0,176,213,.28) 34%, transparent 67%);
  filter: blur(20px);
  opacity: .9;
  transform: translate3d(0, 0, 0) scale(1.04);
  transform-origin: center;
  will-change: transform, opacity;
  animation: opGradientVertical 5s ease-in-out infinite alternate;
  pointer-events: none;
}

.op-consult__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(180deg, rgba(255,255,255,.06), transparent 34%, rgba(0,0,0,.4));
  pointer-events: none;
}

.op-consult__visual-grid {
  position: absolute;
  z-index: 1;
  inset: 110px 0 0;
  opacity: .18;
  background-image:
    linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
  background-size: 72px 72px;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 20%, #000 82%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 20%, #000 82%, transparent);
}

.op-consult__orbit {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 56%;
  width: 310px;
  height: 310px;
  transform: translate(-50%, -50%);
}

.op-consult__orbit span {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  box-shadow: inset 0 0 42px rgba(0,176,213,.08);
}

.op-consult__orbit span:nth-child(2) {
  inset: 56px;
  border-color: rgba(255,255,255,.2);
}

.op-consult__orbit span:nth-child(3) {
  inset: 118px;
  border-color: rgba(255,255,255,.34);
  background: rgba(0,176,213,.2);
  box-shadow: 0 0 70px rgba(0,176,213,.48);
}

.op-consult__orbit span:first-child {
  animation: opRingBreathe 9s ease-in-out infinite;
}

.op-consult__orbit span:nth-child(2) {
  animation: opRingBreathe 9s ease-in-out 1.8s infinite;
}

@keyframes opGradientVertical {
  0% {
    opacity: .76;
    transform: translate3d(0, 0, 0) scale(1.02);
  }
  52% {
    opacity: 1;
    transform: translate3d(0, 17%, 0) scale(1.1);
  }
  100% {
    opacity: .84;
    transform: translate3d(0, 34%, 0) scale(1.04);
  }
}

@keyframes opRingBreathe {
  0%, 100% { transform: scale(1); opacity: .55; }
  50% { transform: scale(1.045); opacity: 1; }
}

.op-consult__form-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(42px, 5vw, 76px);
  background: linear-gradient(145deg, rgba(10,15,22,.99), rgba(5,9,14,.99));
}

.op-consult__form-head {
  text-align: center;
}

.op-consult__form-head h3 {
  font-size: clamp(32px, 2.8vw, 46px);
}

.op-consult__form-head p {
  max-width: 440px;
  margin-right: auto;
  margin-left: auto;
}

.op-consult__form {
  margin-top: 34px;
}

.op-consult__form-row {
  gap: 14px;
}

.op-consult__field {
  margin-bottom: 16px;
}

.op-consult__field label {
  margin: 0 0 9px;
  color: rgba(255,255,255,.74);
  font-size: 12px;
}

.op-consult__field input,
.op-consult__field select,
.op-consult__field textarea {
  min-height: 55px;
  padding: 0 16px;
  border-color: rgba(255,255,255,.11);
  border-radius: 11px;
  background: #181d25;
}

.op-consult__field textarea {
  min-height: 116px;
  padding-top: 16px;
}

.op-consult__submit {
  min-height: 58px;
  border-color: var(--blue);
  border-radius: 11px;
  background: var(--blue);
  color: #fff;
}

.op-consult__submit:hover {
  background: #fff;
  color: #071016;
  border-color: #fff;
}

.op-consult__shell[data-reveal] {
  transition-delay: .12s;
}

@media (max-width: 900px) {
  .op-consult__inner {
    width: min(700px, 100%);
  }

  .op-consult__shell {
    min-height: 0;
    display: block;
  }

  .op-consult__visual {
    display: none;
  }
}

@media (max-width: 640px) {
  .op-consult__shell {
    border-radius: 20px;
  }

  .op-consult__form-panel {
    padding: 32px 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .op-consult__visual::before,
  .op-consult__orbit span {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* =====================================
   SERVICES
===================================== */

.op-services {
  position: relative;
  overflow: hidden;
  padding: clamp(100px, 10vw, 160px) 24px;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
    radial-gradient(circle at 82% 12%, rgba(0,176,213,.12), transparent 28%),
    radial-gradient(circle at 12% 88%, rgba(125,4,20,.18), transparent 34%),
    #05090c;
  background-size: 72px 72px, 72px 72px, auto, auto, auto;
  color: #fff;
}

/* The full service catalogue now lives in the scroll-stacking section above. */
.op-services--footprint > .op-services__glow,
.op-services--footprint > .op-services__inner > .op-services__head,
.op-services--footprint > .op-services__inner > .op-services__grid {
  display: none;
}

.op-services--footprint {
  padding-top: clamp(54px, 6vw, 86px);
}

.op-services::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(1280px, calc(100% - 48px));
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
  transform: translateX(-50%);
}

.op-services__glow {
  position: absolute;
  top: 12%;
  right: -180px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: rgba(0,176,213,.08);
  filter: blur(110px);
  pointer-events: none;
}

.op-services__inner {
  position: relative;
  z-index: 1;
  width: min(1280px, 100%);
  margin: 0 auto;
}

.op-services__head {
  max-width: 850px;
  margin-bottom: clamp(46px, 5vw, 68px);
}

.op-services__eyebrow {
  display: block;
  margin-bottom: 22px;
  color: var(--blue);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
}

.op-services__head h2 {
  margin: 0;
  color: #f7f9fa;
  font-size: clamp(42px, 5.1vw, 72px);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: 1.02;
}

.op-services__head p {
  max-width: 720px;
  margin: 26px 0 0;
  color: rgba(255,255,255,.6);
  font-size: clamp(16px, 1.35vw, 20px);
  font-weight: 500;
  line-height: 1.7;
}

.op-services__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.op-service-card {
  position: relative;
  min-height: 210px;
  padding: 25px 22px 23px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
  transition: transform .38s cubic-bezier(.22,1,.36,1), border-color .35s ease, background .35s ease, box-shadow .35s ease;
}

.op-service-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 18px;
  right: 18px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,176,213,.82), transparent);
  opacity: .7;
  transition: opacity .35s ease;
  pointer-events: none;
}

.op-service-card:hover {
  z-index: 2;
  border-color: rgba(0,176,213,.48);
  background: linear-gradient(145deg, rgba(125,4,20,.2), rgba(0,176,213,.07));
  box-shadow: 0 22px 54px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.07);
  transform: translateY(-4px);
}

.op-service-card:hover::before {
  opacity: 1;
}

.op-service-card__icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin-bottom: 25px;
  border: 1px solid rgba(0,176,213,.25);
  border-radius: 14px;
  background: rgba(0,176,213,.07);
  color: var(--blue);
  transition: color .35s ease, border-color .35s ease, background .35s ease;
}

.op-service-card:hover .op-service-card__icon {
  border-color: rgba(0,176,213,.65);
  background: rgba(0,176,213,.14);
  color: #62cfff;
}

.op-service-card__icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.op-service-card h3 {
  margin: 0 0 14px;
  color: #f7f9fa;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.35;
}

.op-service-card p {
  margin: 0;
  color: rgba(255,255,255,.53);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.7;
}

.op-services [data-reveal] {
  opacity: 0;
  filter: blur(12px);
  transform: translateY(26px);
  transition:
    opacity .75s ease var(--reveal-delay, 0s),
    filter .9s ease var(--reveal-delay, 0s),
    transform .9s cubic-bezier(.22,1,.36,1) var(--reveal-delay, 0s),
    border-color .35s ease,
    background .35s ease,
    box-shadow .35s ease;
}

.op-services [data-reveal].is-visible {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
}

.op-services .op-service-card[data-reveal].is-visible:hover {
  transform: translateY(-4px);
}

.op-footprint__layout {
  display: grid;
  grid-template-columns: minmax(330px, .78fr) minmax(0, 1.45fr);
  align-items: stretch;
  gap: 18px;
  margin-top: clamp(54px, 6vw, 80px);
}

.op-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 28px 14px;
  overflow: hidden;
  border: 1px solid rgba(0,176,213,.22);
  border-radius: 24px;
  background:
    radial-gradient(circle at 8% 0%, rgba(125,4,20,.5), transparent 38%),
    linear-gradient(115deg, #13060a 0%, #071319 54%, #073b47 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 30px 80px rgba(0,0,0,.28);
}

.op-stat {
  display: grid;
  justify-items: center;
  gap: 10px;
  min-width: 0;
  padding: 28px 15px;
  text-align: center;
}

.op-stat:nth-child(even) { border-left: 1px solid rgba(0,176,213,.25); }
.op-stat:nth-child(n+3) { border-top: 1px solid rgba(0,176,213,.25); }
.op-stat svg { width: 36px; height: 36px; fill: none; stroke: #00B0D5; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.op-stat strong { color: #fff; font-size: clamp(38px, 3.2vw, 54px); font-weight: 800; letter-spacing: -.055em; line-height: 1; }
.op-stat span { color: rgba(255,255,255,.88); font-size: 14px; font-weight: 600; line-height: 1.45; }

/* UAE CLIENT MAP */
.op-uae-map {
  margin-top: 0;
  padding: clamp(30px, 4vw, 54px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 24px;
  background:
    radial-gradient(circle at 78% 24%, rgba(0,176,213,.13), transparent 30%),
    radial-gradient(circle at 12% 100%, rgba(125,4,20,.26), transparent 38%),
    #070c10;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 30px 80px rgba(0,0,0,.22);
}

.op-uae-map__head {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 30px;
}

.op-uae-map__head .op-services__eyebrow { margin-bottom: 16px; }
.op-uae-map__head h2 { margin: 0; color: #fff; font-size: clamp(30px, 4vw, 54px); font-weight: 700; letter-spacing: -.05em; line-height: 1.02; }
.op-uae-map__head h2 span { color: rgba(255,255,255,.48); }

.op-uae-map__capacity {
  min-width: 180px;
  padding: 16px 20px;
  border: 1px solid rgba(0,176,213,.24);
  border-radius: 16px;
  background: rgba(0,176,213,.06);
  text-align: right;
}

.op-uae-map__capacity span { display: block; color: rgba(255,255,255,.45); font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.op-uae-map__capacity strong { display: block; margin-top: 5px; color: #00B0D5; font-size: 30px; font-weight: 800; line-height: 1; }

.op-uae-map__canvas {
  position: relative;
  min-height: 410px;
  margin-top: 12px;
  overflow: hidden;
  border-radius: 18px;
}

.op-uae-map__grid {
  position: absolute;
  inset: 0;
  opacity: .48;
  background-image: linear-gradient(rgba(0,176,213,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(0,176,213,.07) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 88%, transparent);
}

.op-uae-map__svg { position: relative; z-index: 1; display: block; width: 100%; height: auto; color: rgba(128,164,176,.24); }
.op-uae-map__country { fill: rgba(0,176,213,.025); stroke: rgba(0,176,213,.35); stroke-width: 1.5; }
.op-uae-map__dots { fill: url(#uaeDots); }
.op-uae-map__marker { fill: #7D0414; stroke: #ff6175; stroke-width: 3; filter: drop-shadow(0 0 14px rgba(125,4,20,1)); }
.op-uae-map__core { fill: #fff; }
.op-uae-map__line { fill: none; stroke: #00B0D5; stroke-width: 1.5; }
.op-uae-map__pulse { fill: none; stroke: rgba(125,4,20,.9); stroke-width: 1.5; transform-origin: center; animation: uaeMapPulse 2.4s ease-out infinite; }
.op-uae-map__pulse--two { animation-delay: 1.2s; }
.op-uae-map__label rect { fill: #071a21; stroke: rgba(0,176,213,.5); }
.op-uae-map__label text { fill: #fff; font-family: "Open Sans", sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.op-uae-map__label .op-uae-map__label-sub { fill: #00B0D5; font-size: 7px; letter-spacing: .13em; }
.op-uae-map__meta { position: absolute; right: 18px; bottom: 12px; z-index: 2; display: flex; gap: 18px; color: rgba(255,255,255,.28); font-size: 9px; font-weight: 700; letter-spacing: .14em; }

@keyframes uaeMapPulse {
  0% { opacity: .9; transform: scale(.5); }
  75%, 100% { opacity: 0; transform: scale(1.35); }
}

@media (max-width: 1120px) {
  .op-services__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .op-footprint__layout { grid-template-columns: 1fr; }
  .op-stats { min-height: 360px; }
}

@media (max-width: 760px) {
  .op-services {
    padding: 88px 20px;
  }

  .op-services__head h2 br {
    display: none;
  }

  .op-services__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .op-service-card {
    min-height: 205px;
  }

  .op-stats { padding: 30px 12px; }
  .op-uae-map { padding: 28px 20px; }
  .op-uae-map__canvas { min-height: 310px; margin-top: 20px; }
  .op-uae-map__svg { width: 135%; max-width: none; transform: translateX(-18%); }
}

@media (max-width: 520px) {
  .op-services__grid {
    grid-template-columns: 1fr;
  }

  .op-service-card {
    min-height: 0;
    padding: 26px 24px;
  }

  .op-service-card__icon {
    margin-bottom: 25px;
  }

  .op-stats { grid-template-columns: 1fr; }
  .op-stat:nth-child(even) { border-left: 0; }
  .op-stat:nth-child(n+2) { border-top: 1px solid rgba(0,176,213,.2); }
  .op-uae-map__head { display: block; }
  .op-uae-map__capacity { width: max-content; min-width: 150px; margin-top: 22px; text-align: left; }
  .op-uae-map__canvas { min-height: 260px; }
  .op-uae-map__svg { width: 165%; transform: translateX(-29%); }
  .op-uae-map__meta { display: none; }
}

/* =====================================
   CLIENTS CONTINUOUS SLIDER
===================================== */

.op-clients {
  position: relative;
  overflow: hidden;
  padding: clamp(62px, 7vw, 92px) 24px;
  background:
    radial-gradient(circle at 9% 8%, rgba(125,4,20,.22), transparent 28%),
    radial-gradient(circle at 93% 100%, rgba(0,176,213,.1), transparent 30%),
    #05090c;
  color: #fff;
}

.op-clients::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(1280px, calc(100% - 48px));
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,176,213,.36), transparent);
  transform: translateX(-50%);
}

.op-clients__inner { position: relative; z-index: 1; width: min(1280px, 100%); margin: 0 auto; }
.op-clients__head { display: grid; grid-template-columns: minmax(320px,.9fr) minmax(420px,1.1fr) auto; align-items: end; gap: 34px; margin-bottom: 32px; }
.op-clients__eyebrow { display: block; margin-bottom: 13px; color: var(--blue); font-size: 11px; font-weight: 700; letter-spacing: .25em; text-transform: uppercase; }
.op-clients h2 { margin: 0; max-width: 620px; color: #fff; font-size: clamp(31px,4vw,52px); font-weight: 700; letter-spacing: -.055em; line-height: 1.02; }
.op-clients h2 em { display: block; color: rgba(255,255,255,.48); font-style: normal; }
.op-clients__intro { max-width: 620px; margin: 0; color: rgba(255,255,255,.56); font-size: 14px; font-weight: 500; line-height: 1.75; }
.op-clients__controls { display: flex; gap: 8px; }

.op-clients__arrow {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  background: rgba(255,255,255,.035);
  color: #fff;
  cursor: pointer;
  transition: border-color .25s ease, background .25s ease, transform .25s ease;
}

.op-clients__arrow:hover { border-color: rgba(0,176,213,.7); background: rgba(0,176,213,.12); transform: translateY(-2px); }
.op-clients__arrow svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.op-clients__viewport { position: relative; }
.op-clients__viewport::before,
.op-clients__viewport::after { content: ""; position: absolute; z-index: 3; top: 0; bottom: 0; width: 48px; pointer-events: none; }
.op-clients__viewport::before { left: 0; background: linear-gradient(90deg,#05090c,transparent); }
.op-clients__viewport::after { right: 0; background: linear-gradient(-90deg,#05090c,transparent); }

.op-clients__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: clamp(168px,17vw,218px);
  gap: 12px;
  overflow-x: auto;
  padding: 2px 1px 12px;
  scroll-behavior: auto;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
}

.op-clients__track::-webkit-scrollbar { display: none; }

.op-client-card {
  position: relative;
  height: 126px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  background: linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  transition: transform .3s ease, border-color .3s ease, background .3s ease;
}

.op-client-card::before { content: ""; position: absolute; top: 0; left: 22px; right: 22px; height: 1px; background: linear-gradient(90deg,transparent,rgba(0,176,213,.7),transparent); }
.op-client-card:hover { z-index: 2; border-color: rgba(0,176,213,.42); background: linear-gradient(145deg,rgba(125,4,20,.14),rgba(0,176,213,.06)); transform: translateY(-4px); }
.op-client-card__logo {
  position: relative;
  z-index: 1;
  width: 82%;
  height: 80px;
  display: grid;
  place-items: center;
  padding: 11px 14px;
  border: 1px solid rgba(0,176,213,.4);
  border-radius: 13px;
  background: #091016;
  box-shadow: inset 0 0 24px rgba(0,176,213,.035);
}
.op-client-card__logo img { display: block; width: auto; max-width: 100%; height: auto; max-height: 58px; margin: auto; object-fit: contain; filter: saturate(.88) drop-shadow(0 7px 14px rgba(0,0,0,.25)); transition: filter .3s ease, transform .3s ease; }
.op-client-card:hover .op-client-card__logo img { filter: saturate(1); transform: scale(1.025); }
.op-clients__progress { position: relative; width: 100%; height: 2px; margin-top: 14px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.07); }
.op-clients__progress span { position: absolute; inset: 0 auto 0 0; width: 24%; border-radius: inherit; background: linear-gradient(90deg,var(--burgundy),var(--blue)); transition: transform .25s ease; }

.op-clients [data-reveal] { opacity: 0; filter: blur(10px); transform: translateY(22px); transition: opacity .75s ease, filter .85s ease, transform .85s cubic-bezier(.22,1,.36,1); }
.op-clients [data-reveal].is-visible { opacity: 1; filter: blur(0); transform: translateY(0); }

@media (max-width: 980px) {
  .op-clients__head { grid-template-columns: 1fr auto; }
  .op-clients__intro { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width: 640px) {
  .op-clients { padding: 60px 18px; }
  .op-clients__head { display: block; margin-bottom: 25px; }
  .op-clients__intro { margin-top: 18px; font-size: 13px; }
  .op-clients__controls { margin-top: 22px; }
  .op-clients__arrow { width: 42px; height: 42px; }
  .op-clients__track { grid-auto-columns: 72%; }
  .op-client-card { height: 116px; }
  .op-clients__viewport::before,
  .op-clients__viewport::after { width: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .op-services [data-reveal] {
    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
  }

  .op-uae-map__pulse { animation: none; opacity: .45; }
}
    .op-service-suite {
      position: relative;
      overflow: clip;
      padding: clamp(90px, 10vw, 150px) 24px;
      background:
        radial-gradient(circle at 4% 8%, rgba(125,4,20,.13), transparent 28%),
        radial-gradient(circle at 94% 35%, rgba(0,176,213,.1), transparent 30%),
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
        var(--ink);
      background-size: auto, auto, 72px 72px, 72px 72px, auto;
    }

    .op-service-suite::before { content: ""; position: absolute; top: 0; left: 50%; width: min(1280px,calc(100% - 48px)); height: 1px; background: linear-gradient(90deg,transparent,rgba(0,176,213,.38),transparent); transform: translateX(-50%); }
    .op-service-suite__inner { position: relative; z-index: 1; width: min(1280px,100%); margin: 0 auto; }

    .op-service-suite__head {
      display: grid;
      grid-template-columns: minmax(0,1.15fr) minmax(330px,.65fr);
      align-items: end;
      gap: clamp(40px,7vw,100px);
      margin-bottom: clamp(48px,6vw,76px);
    }

    .op-service-suite__eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; color: var(--cyan); font-size: 11px; font-weight: 700; letter-spacing: .25em; text-transform: uppercase; }
    .op-service-suite__eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--cyan); box-shadow: 0 0 12px rgba(0,176,213,.55); }
    .op-service-suite h1 { margin: 0; max-width: 880px; color: #f7f9fa; font-size: clamp(38px,5.1vw,70px); font-weight: 700; letter-spacing: -.06em; line-height: .99; }
    .op-service-suite h1 span { display: block; color: rgba(255,255,255,.43); }
    .op-service-suite__intro { margin: 0; color: rgba(255,255,255,.56); font-size: 14px; font-weight: 500; line-height: 1.8; }

    .op-service-suite__grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 16px; }

    .op-service-box {
      --mouse-x: 50%;
      --mouse-y: 50%;
      position: relative;
      grid-column: span 4;
      min-height: 460px;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      padding: clamp(27px,3vw,38px);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 24px;
      background:
        radial-gradient(circle 260px at var(--mouse-x) var(--mouse-y), rgba(0,176,213,.095), transparent 72%),
        linear-gradient(145deg,rgba(255,255,255,.042),rgba(255,255,255,.014)),
        #080e13;
      background-color: #080e13;
      opacity: 1;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 24px 70px rgba(0,0,0,.18), 0 14px 42px rgba(125,4,20,.045);
      transition: transform .4s cubic-bezier(.22,1,.36,1), border-color .35s ease, box-shadow .35s ease;
    }

    .op-service-box--wide { grid-column: span 7; }
    .op-service-box--narrow { grid-column: span 5; }
    .op-service-box--full { grid-column: 1 / -1; min-height: 390px; }
    .op-service-box::before { content: ""; position: absolute; top: 0; left: 24px; right: 24px; height: 1px; background: linear-gradient(90deg,transparent,rgba(0,176,213,.8),transparent); }
    .op-service-box::after { content: ""; position: absolute; right: -75px; bottom: -90px; width: 190px; height: 190px; border-radius: 50%; background: rgba(125,4,20,.15); filter: blur(45px); pointer-events: none; }
    .op-service-box:hover { z-index: 2; border-color: rgba(0,176,213,.42); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 30px 85px rgba(0,0,0,.28), 0 18px 46px rgba(125,4,20,.11); transform: translateY(-6px); }

    .op-service-box__top { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 34px; }
    .op-service-box__icon { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid rgba(0,176,213,.25); border-radius: 15px; background: rgba(0,176,213,.07); color: var(--cyan); }
    .op-service-box__icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .op-service-box__number { color: rgba(255,255,255,.16); font-size: 11px; font-weight: 700; letter-spacing: .16em; }
    .op-service-box__category { width: max-content; margin-bottom: 14px; padding: 6px 10px; border: 1px solid rgba(0,176,213,.32); border-radius: 999px; color: var(--cyan); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
    .op-service-box h2 { margin: 0; color: #fff; font-size: clamp(20px,2vw,28px); font-weight: 700; letter-spacing: -.045em; line-height: 1.18; }
    .op-service-box__copy { margin: 19px 0 0; color: rgba(255,255,255,.56); font-size: 13px; font-weight: 500; line-height: 1.72; }
    .op-service-box--wide .op-service-box__copy { max-width: 700px; }
    .op-service-box--full .op-service-box__copy { max-width: 900px; }
    .op-service-box__footer { margin-top: auto; padding-top: 30px; }
    .op-service-box__tags { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 22px; }
    .op-service-box__tag { padding: 5px 9px; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; color: rgba(255,255,255,.48); font-size: 8px; font-weight: 600; }
    .op-service-box__cta { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-size: 12px; font-weight: 700; }
    .op-service-box__cta span { position: relative; }
    .op-service-box__cta span::after { content: ""; position: absolute; right: 0; bottom: -5px; left: 0; height: 1px; background: linear-gradient(90deg,var(--cyan),var(--burgundy)); transform-origin: left; transition: transform .25s ease; }
    .op-service-box__cta:hover span::after { transform: scaleX(.55); }
    .op-service-box__cta svg { width: 18px; height: 18px; fill: none; stroke: var(--cyan); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s ease; }
    .op-service-box__cta:hover svg { transform: translate(3px,-3px); }

    [data-reveal] { opacity: 0; filter: blur(12px); transform: translateY(28px); transition: opacity .75s ease var(--delay,0s), filter .85s ease var(--delay,0s), transform .85s cubic-bezier(.22,1,.36,1) var(--delay,0s); }
    [data-reveal].is-visible { opacity: 1; filter: blur(0); transform: translateY(0); }
    .op-service-box[data-reveal].is-visible:hover { transform: translateY(-6px); }

    /* Our Services — clean aligned card layout (no scroll parallax) */
    @media (min-width: 1051px) {
      .op-service-suite__grid {
        display: grid;
        grid-template-columns: repeat(12,minmax(0,1fr));
        gap: 18px;
        align-items: stretch;
      }

      .op-service-box,
      .op-service-box--wide,
      .op-service-box--narrow,
      .op-service-box--full {
        position: relative;
        top: auto;
        width: auto;
        margin-bottom: 0;
        min-height: 460px;
        transform: none;
        opacity: 1;
        will-change: auto;
      }

      .op-service-box--wide { grid-column: span 7; }
      .op-service-box--narrow { grid-column: span 5; }
      .op-service-box--full {
        grid-column: 1 / -1;
        min-height: 390px;
      }

      .op-service-box__copy { max-width: 880px; font-size: 14px; }
      .op-service-box__footer { max-width: 940px; }
    }

    @media (max-width: 1050px) {
      .op-service-suite__head { grid-template-columns: 1fr; gap: 28px; }
      .op-service-suite__intro { max-width: 760px; }

      .op-service-suite__grid {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 18px;
        align-items: stretch;
      }

      .op-service-box,
      .op-service-box--wide,
      .op-service-box--narrow,
      .op-service-box--full {
        position: relative;
        top: auto;
        width: auto;
        margin-bottom: 0;
        grid-column: span 1;
        min-height: 430px;
        transform: none;
        will-change: auto;
      }

      .op-service-box--full { grid-column: 1 / -1; }
    }

    @media (max-width: 680px) {
      .op-service-suite { padding: 78px 18px; }

      .op-service-suite__grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
        padding-bottom: 7vh;
        align-items: stretch;
      }

      .op-service-box,
      .op-service-box--wide,
      .op-service-box--narrow,
      .op-service-box--full {
        position: relative;
        top: auto;
        width: 100%;
        min-height: 0;
        margin: 0;
        padding: 24px 20px;
        border-radius: 20px;
        transform: none;
        opacity: 1;
        will-change: auto;
      }

      .op-service-box__top { margin-bottom: 26px; }
      .op-service-box h2 { font-size: clamp(20px,6vw,25px); }
      .op-service-box__copy { font-size: 11.5px; line-height: 1.65; }
      .op-service-box__footer { margin-top: 8px; }
      .op-service-box__tags { margin-bottom: 18px; }
    }

    @media (prefers-reduced-motion: reduce) {
      [data-reveal] { opacity: 1; filter: none; transform: none; transition: none; }
      .op-service-box { transition: none; }
    }
    .op-footer {
      position: relative;
      overflow: hidden;
      padding: 0 24px;
      background:
        radial-gradient(circle at 8% 5%, rgba(125,4,20,.1), transparent 28%),
        radial-gradient(circle at 92% 58%, rgba(0,176,213,.1), transparent 30%),
        var(--footer-bg);
      color: #fff;
    }

    .op-footer::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: .32;
      background-image:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
      background-size: 64px 64px;
      pointer-events: none;
      -webkit-mask-image: linear-gradient(to bottom, #000, transparent 86%);
      mask-image: linear-gradient(to bottom, #000, transparent 86%);
    }

    .op-footer__inner {
      position: relative;
      z-index: 1;
      width: min(1280px, 100%);
      margin: 0 auto;
    }

    .op-footer__brand-zone {
      position: relative;
      display: grid;
      justify-items: center;
      padding: clamp(58px, 7vw, 90px) 0 36px;
      text-align: center;
    }

    .op-footer__brand {
      display: inline-flex;
      align-items: center;
      gap: 16px;
    }

    .op-footer__logo-file {
      display: block;
      width: min(460px, 78vw);
      height: auto;
      filter: drop-shadow(0 0 20px rgba(0,176,213,.14)) drop-shadow(0 12px 26px rgba(125,4,20,.1));
    }

    .op-footer__mark {
      width: 86px;
      height: auto;
      overflow: visible;
      filter: drop-shadow(0 0 18px rgba(0,176,213,.12)) drop-shadow(0 9px 22px rgba(125,4,20,.12));
    }

    .op-footer__mark .mark-outer { transform-origin: 45.6px 49px; animation: footerMarkSpin 5.8s cubic-bezier(.65,0,.35,1) infinite; }
    .op-footer__mark .mark-inner { transform-origin: 45.6px 49px; animation: footerMarkSpinReverse 5.8s cubic-bezier(.65,0,.35,1) infinite; }

    .op-footer__brand-text {
      display: grid;
      color: #fff;
      font-size: clamp(22px, 2.5vw, 34px);
      font-weight: 700;
      letter-spacing: -.055em;
      line-height: .98;
      text-align: left;
    }

    .op-footer__brand-text span:last-child { color: rgba(255,255,255,.82); }

    .op-footer__brand-note {
      max-width: 560px;
      margin: 20px 0 0;
      color: rgba(255,255,255,.48);
      font-size: 13px;
      font-weight: 500;
      line-height: 1.7;
    }

    .op-footer__social-row {
      width: 100%;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 24px;
      margin-top: 30px;
    }

    .op-footer__social-row::before,
    .op-footer__social-row::after {
      content: "";
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.22));
    }

    .op-footer__social-row::after { background: linear-gradient(-90deg, transparent, rgba(255,255,255,.22)); }
    .op-footer__socials { display: flex; align-items: center; gap: 9px; }

    .op-footer__social {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 50%;
      background: rgba(255,255,255,.035);
      color: rgba(255,255,255,.8);
      transition: color .25s ease, border-color .25s ease, background .25s ease, transform .25s ease;
    }

    .op-footer__social:hover {
      border-color: rgba(0,176,213,.72);
      background: rgba(0,176,213,.12);
      color: #fff;
      transform: translateY(-3px);
      box-shadow: 0 10px 26px rgba(125,4,20,.12);
    }

    .op-footer__social svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .op-footer__social svg.fill-icon { fill: currentColor; stroke: none; }

    .op-footer__columns {
      display: grid;
      grid-template-columns: .8fr 1.25fr 1.15fr;
      gap: clamp(45px, 7vw, 104px);
      padding: 50px 0 58px;
      border-bottom: 1px solid rgba(255,255,255,.13);
    }

    .op-footer__column { min-width: 0; }

    .op-footer__title {
      position: relative;
      margin: 0 0 25px;
      padding-left: 13px;
      color: #fff;
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .19em;
      text-transform: uppercase;
    }

    .op-footer__title::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 2px;
      border-radius: 999px;
      background: linear-gradient(to bottom, var(--cyan), var(--burgundy));
    }

    .op-footer__links { display: grid; gap: 15px; }

    .op-footer__links a {
      width: max-content;
      max-width: 100%;
      color: rgba(255,255,255,.62);
      font-size: 13px;
      font-weight: 500;
      line-height: 1.45;
      transition: color .25s ease, transform .25s ease;
    }

    .op-footer__links a:hover { color: var(--cyan); transform: translateX(4px); }

    .op-footer__services {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 15px 24px;
    }

    .op-footer__services a {
      color: rgba(255,255,255,.62);
      font-size: 13px;
      font-weight: 500;
      line-height: 1.45;
      transition: color .25s ease;
    }

    .op-footer__services a:hover { color: var(--cyan); }

    .op-footer__contact-list { display: grid; gap: 14px; }

    .op-footer__contact {
      display: grid;
      grid-template-columns: 38px 1fr;
      align-items: center;
      gap: 13px;
      padding: 12px 14px;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 14px;
      background: rgba(255,255,255,.025);
      transition: border-color .25s ease, background .25s ease;
    }

    .op-footer__contact:hover { border-color: rgba(0,176,213,.35); background: rgba(0,176,213,.055); box-shadow: 0 12px 30px rgba(125,4,20,.11); }

    .op-footer__contact-icon {
      width: 38px;
      height: 38px;
      display: grid;
      place-items: center;
      border-radius: 11px;
      background: rgba(0,176,213,.09);
      color: var(--cyan);
    }

    .op-footer__contact-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .op-footer__contact-copy span { display: block; color: rgba(255,255,255,.34); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
    .op-footer__contact-copy strong { display: block; margin-top: 4px; color: rgba(255,255,255,.83); font-size: 12px; font-weight: 600; line-height: 1.45; word-break: break-word; }

    .op-footer__bottom {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      padding: 21px 0 25px;
      color: rgba(255,255,255,.35);
      font-size: 10px;
      font-weight: 500;
    }

    .op-footer__legal { display: flex; flex-wrap: wrap; gap: 8px 20px; }
    .op-footer__legal a { transition: color .25s ease; }
    .op-footer__legal a:hover { color: var(--cyan); }
    .op-footer__credit a { color: rgba(255,255,255,.7); }

    @keyframes footerMarkSpin {
      0%, 72%, 100% { transform: rotate(0); }
      88% { transform: rotate(360deg); }
    }

    @keyframes footerMarkSpinReverse {
      0%, 72%, 100% { transform: rotate(0); }
      88% { transform: rotate(-360deg); }
    }

    @media (max-width: 940px) {
      .op-footer__columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .op-footer__column--contact { grid-column: 1 / -1; }
      .op-footer__contact-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .op-footer__contact { grid-template-columns: 34px 1fr; padding: 11px; }
      .op-footer__contact-icon { width: 34px; height: 34px; }
    }

    @media (max-width: 680px) {
      .op-footer { padding: 0 18px; }
      .op-footer__brand-zone { padding-top: 54px; }
      .op-footer__brand { gap: 12px; }
      .op-footer__logo-file { width: min(390px, 88vw); }
      .op-footer__mark { width: 66px; }
      .op-footer__social-row { grid-template-columns: 1fr; }
      .op-footer__social-row::before,
      .op-footer__social-row::after { display: none; }
      .op-footer__columns { grid-template-columns: 1fr; gap: 38px; padding: 42px 0 46px; }
      .op-footer__column--contact { grid-column: auto; }
      .op-footer__contact-list { grid-template-columns: 1fr; }
      .op-footer__services { grid-template-columns: 1fr; }
      .op-footer__bottom { align-items: flex-start; flex-direction: column; gap: 14px; }
    }

    @media (prefers-reduced-motion: reduce) {
      .op-footer__mark .mark-outer,
      .op-footer__mark .mark-inner { animation: none; }
    }

/* Mobile alignment: keep the hero and form fields left-aligned; center section presentation copy. */
@media (max-width: 680px) {
  .op-service-suite__head,
  .op-uae-map__head,
  .op-clients__head {
    text-align: center;
  }

  .op-service-suite__eyebrow,
  .op-uae-map__head .op-services__eyebrow {
    justify-content: center;
  }

  .op-service-suite__intro,
  .op-clients__intro {
    margin-right: auto;
    margin-left: auto;
  }

  .op-uae-map__capacity {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }

  .op-clients h2 {
    margin-right: auto;
    margin-left: auto;
  }

  .op-clients__controls {
    justify-content: center;
  }

  .op-footer__column {
    text-align: center;
  }

  .op-footer__title {
    width: max-content;
    margin-right: auto;
    margin-left: auto;
    padding: 0 0 12px;
  }

  .op-footer__title::before {
    top: auto;
    right: 22%;
    bottom: 0;
    left: 22%;
    width: auto;
    height: 2px;
  }

  .op-footer__links {
    justify-items: center;
  }

  .op-footer__services a {
    text-align: center;
  }

  .op-footer__bottom {
    align-items: center;
    text-align: center;
  }

  .op-footer__legal {
    justify-content: center;
  }
}
    .op-industries {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      padding: clamp(84px, 9vw, 138px) 24px;
      background:
        radial-gradient(circle at 4% 8%, rgba(125,4,20,.16), transparent 27%),
        radial-gradient(circle at 96% 92%, rgba(0,176,213,.095), transparent 29%),
        #05090d;
    }

    .op-industries::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      opacity: .3;
      background-image:
        linear-gradient(rgba(255,255,255,.024) 1px, transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.024) 1px, transparent 1px);
      background-size: 72px 72px;
      mask-image: linear-gradient(to bottom, #000, transparent 94%);
    }

    .op-industries::after {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      width: min(1280px, calc(100% - 48px));
      height: 1px;
      background: linear-gradient(90deg,transparent,rgba(0,176,213,.48),transparent);
      transform: translateX(-50%);
    }

    .op-industries__inner { width: min(1280px,100%); margin: 0 auto; }

    .op-industries__head {
      display: grid;
      grid-template-columns: minmax(0,1.25fr) minmax(330px,.65fr);
      align-items: end;
      gap: clamp(40px,7vw,100px);
      margin-bottom: clamp(48px,6vw,78px);
    }

    .op-industries__eyebrow {
      display: flex;
      align-items: center;
      gap: 11px;
      margin-bottom: 20px;
      color: var(--ind-cyan);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .24em;
      text-transform: uppercase;
    }

    .op-industries__eyebrow::before {
      content: "";
      width: 29px;
      height: 1px;
      background: var(--ind-cyan);
      box-shadow: 0 0 14px rgba(0,176,213,.55);
    }

    .op-industries h1 {
      max-width: 900px;
      margin: 0;
      color: #fff;
      font-size: clamp(36px,4.8vw,68px);
      font-weight: 700;
      letter-spacing: -.06em;
      line-height: 1;
    }

    .op-industries h1 span { display: block; color: rgba(255,255,255,.42); }

    .op-industries__intro {
      margin: 0;
      color: rgba(255,255,255,.55);
      font-size: 14px;
      font-weight: 500;
      line-height: 1.8;
    }

    .op-industries__grid {
      display: grid;
      grid-template-columns: repeat(2,minmax(0,1fr));
      gap: 16px;
    }

    .op-industry {
      --spot-x: 50%;
      --spot-y: 50%;
      position: relative;
      min-height: 260px;
      display: grid;
      grid-template-columns: 62px 1fr;
      gap: 23px;
      overflow: hidden;
      padding: clamp(26px,3vw,38px);
      border: 1px solid rgba(255,255,255,.09);
      border-radius: 22px;
      background:
        radial-gradient(circle 280px at var(--spot-x) var(--spot-y),rgba(0,176,213,.09),transparent 70%),
        linear-gradient(145deg,rgba(255,255,255,.038),rgba(255,255,255,.01)),
        var(--ind-card);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 20px 60px rgba(0,0,0,.2);
      transition: transform .4s cubic-bezier(.22,1,.36,1), border-color .35s ease, box-shadow .35s ease;
    }

    .op-industry:nth-child(4n+2),
    .op-industry:nth-child(4n+3) {
      background:
        radial-gradient(circle 260px at var(--spot-x) var(--spot-y),rgba(125,4,20,.13),transparent 72%),
        linear-gradient(145deg,rgba(255,255,255,.038),rgba(255,255,255,.01)),
        var(--ind-card);
    }

    .op-industry::before {
      content: "";
      position: absolute;
      top: 0;
      left: 28px;
      right: 28px;
      height: 1px;
      background: linear-gradient(90deg,transparent,rgba(0,176,213,.75),transparent);
    }

    .op-industry::after {
      content: attr(data-index);
      position: absolute;
      right: 22px;
      bottom: -10px;
      color: rgba(255,255,255,.025);
      font-size: 88px;
      font-weight: 800;
      letter-spacing: -.08em;
      line-height: 1;
      pointer-events: none;
    }

    .op-industry:hover {
      border-color: rgba(0,176,213,.38);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 27px 78px rgba(0,0,0,.28), 0 18px 42px rgba(125,4,20,.08);
      transform: translateY(-6px);
    }

    .op-industry__icon {
      position: relative;
      z-index: 1;
      width: 62px;
      height: 62px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(0,176,213,.25);
      border-radius: 18px;
      background: rgba(0,176,213,.075);
      color: var(--ind-cyan);
    }

    .op-industry__icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .op-industry__body { position: relative; z-index: 1; }

    .op-industry__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }

    .op-industry h2 {
      margin: 2px 0 0;
      color: #fff;
      font-size: clamp(18px,1.8vw,24px);
      font-weight: 700;
      letter-spacing: -.04em;
      line-height: 1.18;
    }

    .op-industry__projects {
      flex: 0 0 auto;
      padding: 7px 10px;
      border: 1px solid rgba(0,176,213,.28);
      border-radius: 999px;
      background: rgba(0,176,213,.07);
      color: var(--ind-cyan);
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .op-industry p {
      max-width: 520px;
      margin: 22px 0 0;
      color: rgba(255,255,255,.54);
      font-size: 12.5px;
      font-weight: 500;
      line-height: 1.75;
    }

    [data-reveal] { opacity: 0; filter: blur(10px); transform: translateY(24px); transition: opacity .7s ease var(--delay,0s), filter .8s ease var(--delay,0s), transform .8s cubic-bezier(.22,1,.36,1) var(--delay,0s); }
    [data-reveal].is-visible { opacity: 1; filter: blur(0); transform: translateY(0); }
    .op-industry[data-reveal].is-visible:hover { transform: translateY(-6px); }

    @media (max-width: 900px) {
      .op-industries__head { grid-template-columns: 1fr; gap: 28px; }
      .op-industries__intro { max-width: 760px; }
      .op-industry { grid-template-columns: 52px 1fr; gap: 18px; padding: 25px 22px; }
      .op-industry__icon { width: 52px; height: 52px; border-radius: 15px; }
      .op-industry__top { display: block; }
      .op-industry__projects { display: inline-flex; margin-top: 10px; }
    }

    @media (max-width: 680px) {
      .op-industries { padding: 76px 18px; }
      .op-industries__head { text-align: center; margin-bottom: 40px; }
      .op-industries__eyebrow { justify-content: center; }
      .op-industries__intro { margin-right: auto; margin-left: auto; font-size: 13px; }
      .op-industries h1 { font-size: clamp(34px,10.4vw,49px); }
      .op-industries__grid { grid-template-columns: 1fr; gap: 13px; }
      .op-industry { min-height: 0; grid-template-columns: 1fr; gap: 17px; padding: 25px 22px 28px; }
      .op-industry__icon { width: 50px; height: 50px; }
      .op-industry h2 { font-size: 20px; }
      .op-industry p { margin-top: 17px; font-size: 12px; }
      .op-industry::after { font-size: 68px; }
    }

    @media (prefers-reduced-motion: reduce) {
      [data-reveal] { opacity: 1; filter: none; transform: none; transition: none; }
      .op-industry { transition: none; }
    }
    .op-process {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      padding: clamp(86px,9vw,138px) 24px;
      background:
        radial-gradient(circle at 6% 12%,rgba(125,4,20,.17),transparent 28%),
        radial-gradient(circle at 94% 88%,rgba(0,176,213,.1),transparent 29%),
        #05090d;
    }

    .op-process::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      opacity: .28;
      background-image:
        linear-gradient(rgba(255,255,255,.023) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.023) 1px,transparent 1px);
      background-size: 72px 72px;
      mask-image: linear-gradient(to bottom,#000,transparent 95%);
    }

    .op-process::after {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      width: min(1280px,calc(100% - 48px));
      height: 1px;
      background: linear-gradient(90deg,transparent,rgba(0,176,213,.46),transparent);
      transform: translateX(-50%);
    }

    .op-process__inner { width: min(1280px,100%); margin: 0 auto; }

    .op-process__head {
      display: grid;
      grid-template-columns: minmax(0,1.15fr) minmax(330px,.65fr);
      align-items: end;
      gap: clamp(38px,7vw,100px);
      margin-bottom: clamp(58px,7vw,92px);
    }

    .op-process__eyebrow {
      display: flex;
      align-items: center;
      gap: 11px;
      margin-bottom: 20px;
      color: var(--process-cyan);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .24em;
      text-transform: uppercase;
    }

    .op-process__eyebrow::before {
      content: "";
      width: 29px;
      height: 1px;
      background: var(--process-cyan);
      box-shadow: 0 0 14px rgba(0,176,213,.58);
    }

    .op-process h1 {
      max-width: 900px;
      margin: 0;
      color: #fff;
      font-size: clamp(37px,4.8vw,68px);
      font-weight: 700;
      letter-spacing: -.06em;
      line-height: 1;
    }

    .op-process h1 span { display: block; color: rgba(255,255,255,.42); }

    .op-process__intro {
      margin: 0;
      color: rgba(255,255,255,.55);
      font-size: 14px;
      font-weight: 500;
      line-height: 1.8;
    }

    .op-process__timeline {
      --line-progress: 0%;
      position: relative;
      display: grid;
      grid-template-columns: repeat(4,minmax(0,1fr));
      gap: 16px;
      padding-top: 56px;
    }

    .op-process__line,
    .op-process__line-fill {
      position: absolute;
      top: 25px;
      left: calc(12.5% - 2px);
      width: calc(75% + 4px);
      height: 1px;
      border-radius: 999px;
    }

    .op-process__line { background: rgba(255,255,255,.13); }
    .op-process__line-fill { width: calc(75% + 4px); background: linear-gradient(90deg,var(--process-burgundy),var(--process-cyan)); box-shadow: 0 0 18px rgba(0,176,213,.32); transform: scaleX(var(--line-progress)); transform-origin: left; transition: transform 1.3s cubic-bezier(.22,1,.36,1); }

    .op-process__step {
      --spot-x: 50%;
      --spot-y: 30%;
      position: relative;
      min-height: 440px;
      display: flex;
      flex-direction: column;
      overflow: visible;
      padding: 42px 29px 30px;
      border: 1px solid rgba(255,255,255,.09);
      border-radius: 24px;
      background:
        radial-gradient(circle 260px at var(--spot-x) var(--spot-y),rgba(0,176,213,.09),transparent 72%),
        linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012)),
        var(--process-card);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.035),0 24px 70px rgba(0,0,0,.22),0 14px 38px rgba(125,4,20,.045);
      transition: transform .4s cubic-bezier(.22,1,.36,1),border-color .35s ease,box-shadow .35s ease;
    }

    .op-process__step:nth-of-type(even) {
      background:
        radial-gradient(circle 260px at var(--spot-x) var(--spot-y),rgba(125,4,20,.135),transparent 72%),
        linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012)),
        var(--process-card);
    }

    .op-process__step::after {
      content: "";
      position: absolute;
      top: 0;
      left: 24px;
      right: 24px;
      height: 1px;
      background: linear-gradient(90deg,transparent,rgba(0,176,213,.78),transparent);
    }

    .op-process__step:hover {
      z-index: 3;
      border-color: rgba(0,176,213,.38);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.055),0 30px 86px rgba(0,0,0,.3),0 19px 46px rgba(125,4,20,.09);
      transform: translateY(-8px);
    }

    .op-process__node {
      position: absolute;
      top: -72px;
      left: 50%;
      width: 52px;
      height: 52px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(0,176,213,.44);
      border-radius: 50%;
      background: #071016;
      box-shadow: 0 0 0 8px #05090d,0 0 0 9px rgba(255,255,255,.08),0 0 25px rgba(0,176,213,.16);
      color: #fff;
      font-size: 14px;
      font-weight: 800;
      transform: translateX(-50%);
      transition: background .35s ease,box-shadow .35s ease,transform .35s ease;
    }

    .op-process__step:hover .op-process__node { background: var(--process-cyan); box-shadow: 0 0 0 8px #05090d,0 0 0 9px rgba(0,176,213,.38),0 0 30px rgba(0,176,213,.38); transform: translateX(-50%) scale(1.06); }

    .op-process__meta { display: flex; align-items: center; justify-content: space-between; gap: 15px; }

    .op-process__label {
      color: var(--process-cyan);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .op-process__icon {
      width: 47px;
      height: 47px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(0,176,213,.25);
      border-radius: 14px;
      background: rgba(0,176,213,.075);
      color: var(--process-cyan);
    }

    .op-process__icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

    .op-process__step h2 {
      margin: 28px 0 0;
      color: #fff;
      font-size: clamp(20px,1.7vw,25px);
      font-weight: 700;
      letter-spacing: -.045em;
      line-height: 1.18;
    }

    .op-process__step p {
      margin: 20px 0 0;
      color: rgba(255,255,255,.54);
      font-size: 12px;
      font-weight: 500;
      line-height: 1.76;
    }

    .op-process__status {
      display: flex;
      align-items: center;
      gap: 9px;
      margin-top: auto;
      padding-top: 29px;
      color: rgba(255,255,255,.34);
      font-size: 9px;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .op-process__status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--process-cyan); box-shadow: 0 0 12px rgba(0,176,213,.75); }

    [data-reveal] { opacity: 0; filter: blur(10px); transform: translateY(25px); transition: opacity .7s ease var(--delay,0s),filter .8s ease var(--delay,0s),transform .8s cubic-bezier(.22,1,.36,1) var(--delay,0s); }
    [data-reveal].is-visible { opacity: 1; filter: blur(0); transform: translateY(0); }
    .op-process__step[data-reveal].is-visible:hover { transform: translateY(-8px); }

    @media (max-width: 1050px) {
      .op-process__head { grid-template-columns: 1fr; gap: 28px; }
      .op-process__intro { max-width: 760px; }
      .op-process__timeline { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 64px 16px; padding-top: 0; }
      .op-process__line,.op-process__line-fill { display: none; }
      .op-process__step { min-height: 390px; padding-top: 32px; }
      .op-process__node { top: 21px; left: auto; right: 23px; width: 42px; height: 42px; box-shadow: 0 0 0 5px #080e13,0 0 18px rgba(0,176,213,.16); transform: none; }
      .op-process__step:hover .op-process__node { transform: scale(1.06); }
    }

    @media (max-width: 680px) {
      .op-process { padding: 76px 18px; }
      .op-process__head { text-align: center; margin-bottom: 42px; }
      .op-process__eyebrow { justify-content: center; }
      .op-process__intro { margin-right: auto; margin-left: auto; font-size: 13px; }
      .op-process h1 { font-size: clamp(34px,10.2vw,49px); }
      .op-process__timeline { grid-template-columns: 1fr; gap: 14px; }
      .op-process__step { min-height: 0; padding: 27px 22px 29px; }
      .op-process__node { top: 25px; right: 21px; width: 39px; height: 39px; font-size: 12px; }
      .op-process__meta { padding-right: 50px; }
      .op-process__step h2 { margin-top: 24px; font-size: 21px; }
      .op-process__step p { margin-top: 17px; font-size: 12px; }
      .op-process__status { margin-top: 24px; padding-top: 0; }
    }

    @media (prefers-reduced-motion: reduce) {
      [data-reveal] { opacity: 1; filter: none; transform: none; transition: none; }
      .op-process__line-fill { transition: none; }
      .op-process__step { transition: none; }
    }

    /* Directional process flow */
    .op-process__timeline {
      display: grid;
      grid-template-columns: minmax(0,1fr) 58px minmax(0,1fr) 58px minmax(0,1fr) 58px minmax(0,1fr);
      align-items: stretch;
      gap: 0;
      padding-top: 0;
    }

    .op-process__line,
    .op-process__line-fill { display: none; }

    .op-process__step {
      min-height: 470px;
      padding: 92px 26px 28px;
    }

    .op-process__node {
      top: 27px;
      left: 27px;
      width: 46px;
      height: 46px;
      background: linear-gradient(145deg,rgba(0,176,213,.18),#071016);
      box-shadow: 0 0 0 5px #080e13,0 0 0 6px rgba(0,176,213,.22),0 0 25px rgba(0,176,213,.16);
      transform: none;
    }

    .op-process__step:hover .op-process__node { transform: scale(1.06); }
    .op-process__meta { min-height: 47px; }

    .op-process__flow-arrow {
      position: relative;
      z-index: 4;
      display: grid;
      place-items: center;
      align-self: center;
      color: var(--process-cyan);
    }

    .op-process__flow-arrow::before {
      content: "";
      position: absolute;
      width: 34px;
      height: 34px;
      border-radius: 50%;
      background: rgba(0,176,213,.08);
      box-shadow: 0 0 22px rgba(0,176,213,.15),0 8px 20px rgba(125,4,20,.09);
      animation: opFlowPulse 2.4s ease-in-out infinite;
    }

    .op-process__flow-arrow svg {
      position: relative;
      z-index: 1;
      width: 50px;
      height: 22px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.7;
      stroke-linecap: round;
      stroke-linejoin: round;
      filter: drop-shadow(0 0 7px rgba(0,176,213,.5));
    }

    .op-process__flow-arrow:nth-of-type(2) { color: #8b5260; }

    @keyframes opFlowPulse {
      0%,100% { opacity: .45; transform: scale(.86); }
      50% { opacity: 1; transform: scale(1.08); }
    }

    @media (max-width: 1100px) {
      .op-process__timeline {
        grid-template-columns: 1fr;
      }

      .op-process__step {
        width: min(720px,100%);
        min-height: 0;
        margin: 0 auto;
        padding: 86px 28px 30px;
      }

      .op-process__flow-arrow {
        width: 52px;
        height: 62px;
        margin: 0 auto;
        transform: rotate(90deg);
      }

      .op-process__flow-arrow svg { width: 46px; }
    }

    @media (max-width: 680px) {
      .op-process__step { padding: 82px 22px 27px; }
      .op-process__node { top: 23px; left: 23px; }
      .op-process__meta { padding-right: 0; }
      .op-process__flow-arrow { height: 54px; }
    }

    @media (prefers-reduced-motion: reduce) {
      .op-process__flow-arrow::before { animation: none; }
    }
    /* Final concept: alternating growth journey */
    .op-process__timeline {
      display: grid;
      grid-template-columns: minmax(0,1fr) 110px minmax(0,1fr);
      grid-template-rows: repeat(4,auto);
      align-items: center;
      gap: 28px 0;
      padding: 0;
    }

    .op-process__line,
    .op-process__line-fill {
      display: block;
      top: 0;
      bottom: auto;
      left: 50%;
      width: 2px;
      height: 100%;
      border-radius: 999px;
      transform: translateX(-50%);
    }

    .op-process__line { background: rgba(255,255,255,.1); }

    .op-process__line-fill {
      background: linear-gradient(to bottom,var(--process-burgundy),var(--process-cyan) 46%,#3ee3ff);
      box-shadow: 0 0 22px rgba(0,176,213,.28);
      transform: translateX(-50%) scaleY(var(--line-progress));
      transform-origin: top;
      transition: transform 1.6s cubic-bezier(.22,1,.36,1);
    }

    .op-process__flow-arrow { display: none; }

    .op-process__step {
      width: 100%;
      min-height: 330px;
      padding: 31px 31px 29px;
      overflow: visible;
    }

    .op-process__step:nth-of-type(1) { grid-column: 1; grid-row: 1; }
    .op-process__step:nth-of-type(2) { grid-column: 3; grid-row: 2; }
    .op-process__step:nth-of-type(3) { grid-column: 1; grid-row: 3; }
    .op-process__step:nth-of-type(4) { grid-column: 3; grid-row: 4; }

    .op-process__node {
      top: 50%;
      left: auto;
      right: -87px;
      width: 64px;
      height: 64px;
      border: 1px solid rgba(0,176,213,.52);
      background: linear-gradient(145deg,rgba(0,176,213,.24),#071016 72%);
      box-shadow: 0 0 0 9px #05090d,0 0 0 10px rgba(0,176,213,.18),0 0 34px rgba(0,176,213,.22);
      font-size: 16px;
      transform: translateY(-50%);
    }

    .op-process__step:nth-of-type(even) .op-process__node {
      right: auto;
      left: -87px;
    }

    .op-process__step::before {
      content: "";
      position: absolute;
      z-index: 0;
      top: 50%;
      right: -55px;
      width: 55px;
      height: 1px;
      background: linear-gradient(90deg,rgba(0,176,213,.5),rgba(0,176,213,.12));
    }

    .op-process__step:nth-of-type(even)::before {
      right: auto;
      left: -55px;
      background: linear-gradient(-90deg,rgba(0,176,213,.5),rgba(0,176,213,.12));
    }

    .op-process__step:hover .op-process__node {
      background: var(--process-cyan);
      box-shadow: 0 0 0 9px #05090d,0 0 0 10px rgba(0,176,213,.34),0 0 42px rgba(0,176,213,.38);
      transform: translateY(-50%) scale(1.08);
    }

    .op-process__meta { min-height: 47px; padding: 0; }
    .op-process__step h2 { margin-top: 25px; }

    .op-process__step:nth-of-type(odd) { text-align: right; }
    .op-process__step:nth-of-type(odd) .op-process__meta { flex-direction: row-reverse; }
    .op-process__step:nth-of-type(odd) .op-process__status { justify-content: flex-end; }
    .op-process__step:nth-of-type(odd) p { margin-left: auto; }

    @media (max-width: 1100px) {
      .op-process__timeline {
        display: block;
        padding-left: 74px;
      }

      .op-process__line,
      .op-process__line-fill {
        left: 28px;
      }

      .op-process__step,
      .op-process__step:nth-of-type(1),
      .op-process__step:nth-of-type(2),
      .op-process__step:nth-of-type(3),
      .op-process__step:nth-of-type(4) {
        width: 100%;
        min-height: 0;
        margin: 0 0 26px;
        padding: 30px 28px;
        text-align: left;
      }

      .op-process__step:last-of-type { margin-bottom: 0; }

      .op-process__node,
      .op-process__step:nth-of-type(even) .op-process__node {
        top: 50%;
        right: auto;
        left: -74px;
        width: 56px;
        height: 56px;
        font-size: 14px;
        transform: translateY(-50%);
      }

      .op-process__step::before,
      .op-process__step:nth-of-type(even)::before {
        top: 50%;
        right: auto;
        left: -46px;
        width: 46px;
        background: linear-gradient(-90deg,rgba(0,176,213,.5),rgba(0,176,213,.12));
      }

      .op-process__step:hover .op-process__node { transform: translateY(-50%) scale(1.06); }
      .op-process__step:nth-of-type(odd) .op-process__meta { flex-direction: row; }
      .op-process__step:nth-of-type(odd) .op-process__status { justify-content: flex-start; }
      .op-process__step:nth-of-type(odd) p { margin-left: 0; }
    }

    @media (max-width: 680px) {
      .op-process__timeline { padding-left: 58px; }
      .op-process__line,.op-process__line-fill { left: 21px; }
      .op-process__step,
      .op-process__step:nth-of-type(1),
      .op-process__step:nth-of-type(2),
      .op-process__step:nth-of-type(3),
      .op-process__step:nth-of-type(4) { padding: 26px 21px 27px; }
      .op-process__node,
      .op-process__step:nth-of-type(even) .op-process__node { left: -58px; width: 43px; height: 43px; font-size: 11px; box-shadow: 0 0 0 6px #05090d,0 0 0 7px rgba(0,176,213,.2),0 0 24px rgba(0,176,213,.2); }
      .op-process__step::before,
      .op-process__step:nth-of-type(even)::before { left: -37px; width: 37px; }
      .op-process__meta { padding: 0; }
    }
    .op-tech {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      padding: clamp(82px,8vw,124px) 0;
      background:
        radial-gradient(circle at 6% 4%,rgba(125,4,20,.17),transparent 27%),
        radial-gradient(circle at 95% 94%,rgba(0,176,213,.1),transparent 28%),
        #05090d;
    }

    .op-tech::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      opacity: .28;
      background-image:
        linear-gradient(rgba(255,255,255,.023) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.023) 1px,transparent 1px);
      background-size: 72px 72px;
      mask-image: linear-gradient(to bottom,#000,transparent 96%);
    }

    .op-tech::after {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      width: min(1280px,calc(100% - 48px));
      height: 1px;
      background: linear-gradient(90deg,transparent,rgba(0,176,213,.48),transparent);
      transform: translateX(-50%);
    }

    .op-tech__inner { width: min(1280px,calc(100% - 48px)); margin: 0 auto; }

    .op-tech__head {
      display: grid;
      grid-template-columns: minmax(0,1.15fr) minmax(330px,.65fr);
      align-items: end;
      gap: clamp(38px,7vw,100px);
      margin-bottom: clamp(44px,5vw,66px);
    }

    .op-tech__eyebrow {
      display: flex;
      align-items: center;
      gap: 11px;
      margin-bottom: 20px;
      color: var(--tech-cyan);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .24em;
      text-transform: uppercase;
    }

    .op-tech__eyebrow::before { content: ""; width: 29px; height: 1px; background: var(--tech-cyan); box-shadow: 0 0 14px rgba(0,176,213,.58); }

    .op-tech h1 {
      max-width: 920px;
      margin: 0;
      color: #fff;
      font-size: clamp(36px,4.6vw,65px);
      font-weight: 700;
      letter-spacing: -.06em;
      line-height: 1;
    }

    .op-tech h1 span { display: block; color: rgba(255,255,255,.42); }

    .op-tech__intro { margin: 0; color: rgba(255,255,255,.55); font-size: 14px; font-weight: 500; line-height: 1.8; }

    .op-tech__marquees { position: relative; display: grid; gap: 14px; }

    .op-tech__marquees::before,
    .op-tech__marquees::after {
      content: "";
      position: absolute;
      z-index: 4;
      top: -10px;
      bottom: -10px;
      width: max(70px,8vw);
      pointer-events: none;
    }

    .op-tech__marquees::before { left: 0; background: linear-gradient(90deg,#05090d,transparent); }
    .op-tech__marquees::after { right: 0; background: linear-gradient(-90deg,#05090d,transparent); }

    .op-tech__marquee { display: flex; overflow: hidden; }
    .op-tech__track { display: flex; flex: none; gap: 14px; width: max-content; padding: 4px 7px; animation: techMoveLeft 35s linear infinite; will-change: transform; }
    .op-tech__marquee--reverse .op-tech__track { animation-name: techMoveRight; animation-duration: 39s; }
    .op-tech__marquee:hover .op-tech__track { animation-play-state: paused; }

    .op-tech__card {
      --brand: var(--tech-cyan);
      position: relative;
      width: clamp(180px,15vw,220px);
      height: 104px;
      display: flex;
      align-items: center;
      gap: 14px;
      flex: none;
      overflow: hidden;
      padding: 19px 20px;
      border: 1px solid rgba(255,255,255,.92);
      border-radius: 20px;
      background: linear-gradient(145deg,#fff,#f1f4f6);
      box-shadow: inset 0 1px 0 #fff,0 18px 46px rgba(0,0,0,.24),0 8px 24px rgba(125,4,20,.045);
      transition: border-color .3s ease,background .3s ease,box-shadow .3s ease,transform .3s ease;
    }

    .op-tech__card::before { content: ""; position: absolute; top: 0; left: 22px; right: 22px; height: 1px; background: linear-gradient(90deg,transparent,var(--brand),transparent); opacity: .75; }
    .op-tech__card::after { content: ""; position: absolute; right: -34px; bottom: -40px; width: 92px; height: 92px; border-radius: 50%; background: var(--brand); opacity: .07; filter: blur(25px); }

    .op-tech__card:hover {
      z-index: 3;
      border-color: color-mix(in srgb,var(--brand) 52%,#fff);
      background: linear-gradient(145deg,#fff,#f8fafb);
      box-shadow: inset 0 1px 0 #fff,0 25px 64px rgba(0,0,0,.32),0 15px 36px rgba(125,4,20,.1);
      transform: translateY(-4px);
    }

    .op-tech__symbol {
      position: relative;
      z-index: 1;
      width: 46px;
      height: 46px;
      display: grid;
      place-items: center;
      flex: 0 0 auto;
      border: 1px solid color-mix(in srgb,var(--brand) 35%,transparent);
      border-radius: 14px;
      background: color-mix(in srgb,var(--brand) 9%,#fff);
      color: var(--brand);
      font-size: 15px;
      font-weight: 800;
      letter-spacing: -.05em;
    }

    .op-tech__symbol svg { width: 24px; height: 24px; display: block; fill: currentColor; }

    .op-tech__copy { position: relative; z-index: 1; min-width: 0; }
    .op-tech__name { display: block; color: #10161b; font-size: 15px; font-weight: 700; letter-spacing: -.035em; line-height: 1.15; }
    .op-tech__type { display: block; margin-top: 6px; color: rgba(16,22,27,.48); font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

    .op-tech__note {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      margin: 35px 24px 0;
      color: rgba(255,255,255,.34);
      font-size: 9px;
      font-weight: 700;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .op-tech__note::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--tech-cyan); box-shadow: 0 0 12px rgba(0,176,213,.75); }

    [data-reveal] { opacity: 0; filter: blur(10px); transform: translateY(23px); transition: opacity .7s ease,filter .8s ease,transform .8s cubic-bezier(.22,1,.36,1); }
    [data-reveal].is-visible { opacity: 1; filter: blur(0); transform: translateY(0); }

    @keyframes techMoveLeft { to { transform: translateX(calc(-50% - 7px)); } }
    @keyframes techMoveRight { from { transform: translateX(calc(-50% - 7px)); } to { transform: translateX(0); } }

    @media (max-width: 900px) {
      .op-tech__head { grid-template-columns: 1fr; gap: 27px; }
      .op-tech__intro { max-width: 760px; }
    }

    @media (max-width: 680px) {
      .op-tech { padding: 76px 0; }
      .op-tech__inner { width: calc(100% - 36px); }
      .op-tech__head { text-align: center; margin-bottom: 38px; }
      .op-tech__eyebrow { justify-content: center; }
      .op-tech__intro { margin-right: auto; margin-left: auto; font-size: 13px; }
      .op-tech h1 { font-size: clamp(34px,10vw,48px); }
      .op-tech__marquees { gap: 11px; }
      .op-tech__card { width: 174px; height: 92px; padding: 15px; border-radius: 17px; }
      .op-tech__symbol { width: 41px; height: 41px; border-radius: 12px; font-size: 13px; }
      .op-tech__name { font-size: 13px; }
      .op-tech__note { margin-top: 27px; text-align: center; line-height: 1.5; }
    }

    @media (prefers-reduced-motion: reduce) {
      [data-reveal] { opacity: 1; filter: none; transform: none; transition: none; }
      .op-tech__track { animation-play-state: paused; }
      .op-tech__card { transition: none; }
    }

    /* Static premium logo showcase — no marquee motion */
    .op-tech__marquees {
      width: min(1280px,calc(100% - 48px));
      display: grid;
      grid-template-columns: repeat(8,minmax(0,1fr));
      gap: 15px;
      margin: 0 auto;
    }

    .op-tech__marquees::before,
    .op-tech__marquees::after { display: none; }

    .op-tech__marquee,
    .op-tech__track { display: contents; }

    .op-tech__track { animation: none !important; transform: none !important; }
    .op-tech__marquee:first-child .op-tech__card:nth-child(n+9) { display: none; }
    .op-tech__marquee:last-child .op-tech__card:nth-child(n+9) { display: none; }

    .op-tech__card {
      width: auto;
      min-width: 0;
      max-width: none;
      height: 92px;
      flex: none;
      justify-content: center;
      gap: 13px;
      padding: 17px 18px;
      border: 1px solid rgba(255,255,255,.95);
      border-radius: 18px;
      background:
        radial-gradient(circle at 92% 12%,color-mix(in srgb,var(--brand) 10%,transparent),transparent 42%),
        linear-gradient(145deg,#fff 0%,#f8fafb 58%,#eef2f4 100%);
      box-shadow:
        inset 0 1px 0 #fff,
        inset 0 -1px 0 rgba(16,22,27,.06),
        0 13px 28px rgba(0,0,0,.22),
        0 3px 0 rgba(125,4,20,.12);
    }

    .op-tech__card::before {
      top: auto;
      right: 26px;
      bottom: -1px;
      left: 26px;
      height: 2px;
      border-radius: 999px;
      background: linear-gradient(90deg,transparent,var(--brand),transparent);
      opacity: .78;
    }

    .op-tech__card::after {
      right: -22px;
      bottom: -28px;
      width: 70px;
      height: 70px;
      opacity: .07;
      filter: blur(20px);
    }

    .op-tech__card:hover {
      border-color: color-mix(in srgb,var(--brand) 42%,#fff);
      background:
        radial-gradient(circle at 90% 8%,color-mix(in srgb,var(--brand) 14%,transparent),transparent 45%),
        linear-gradient(145deg,#fff,#f9fbfc);
      box-shadow:
        inset 0 1px 0 #fff,
        0 22px 46px rgba(0,0,0,.3),
        0 5px 0 color-mix(in srgb,var(--brand) 34%,var(--tech-burgundy));
      transform: translateY(-6px);
    }

    .op-tech__symbol {
      width: 42px;
      height: 42px;
      border: 0;
      border-radius: 0;
      background: transparent;
    }

    .op-tech__symbol svg { width: 29px; height: 29px; transition: transform .3s cubic-bezier(.22,1,.36,1); }
    .op-tech__card:hover .op-tech__symbol svg { transform: scale(1.12); }
    .op-tech__name { font-size: 14px; }
    .op-tech__type { display: none; }

    .op-tech__note { margin-top: 32px; }

    @media (max-width: 1100px) {
      .op-tech__marquees { grid-template-columns: repeat(4,minmax(0,1fr)); }
    }

    @media (max-width: 760px) {
      .op-tech__marquees { width: calc(100% - 36px); gap: 12px; }
      .op-tech__marquees { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .op-tech__card { width: 100%; max-width: none; min-width: 0; height: 84px; padding: 13px 10px; gap: 8px; border-radius: 16px; }
      .op-tech__symbol { width: 35px; height: 35px; }
      .op-tech__symbol svg { width: 25px; height: 25px; }
      .op-tech__name { font-size: 12px; }
    }

    @media (max-width: 380px) {
      .op-tech__marquees { grid-template-columns: 1fr; }
    }

/* ================================
   TEAM — COMPACT STATIC GRID
================================ */

.op-team {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(82px, 8vw, 124px) var(--page-gutter) 90px;
  background:
    radial-gradient(circle at 50% -18%, rgba(0,176,213,.16), transparent 35%),
    linear-gradient(180deg, #05090d 0%, #09141a 100%);
}

.op-team::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  background-image:
    linear-gradient(rgba(0,176,213,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,176,213,.05) 1px, transparent 1px);
  background-size: 72px 72px;
  opacity: .32;
  mask-image: linear-gradient(to bottom, #000, transparent 62%);
}

.op-team__glow {
  position: absolute;
  z-index: -1;
  right: -14%;
  bottom: -45%;
  width: 58%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(125,4,20,.18);
  filter: blur(100px);
  pointer-events: none;
}

.op-team__head {
  width: min(900px, 100%);
  margin: 0 auto 52px;
  text-align: center;
}

.op-team__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 16px;
  border: 1px solid rgba(0,176,213,.52);
  border-radius: 100px;
  background: rgba(6,16,21,.62);
  color: #46c5e0;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.op-team__eyebrow::before {
  content: "";
  width: 18px;
  height: 2px;
  background: var(--blue);
  box-shadow: 0 0 10px var(--blue);
}

.op-team__head h2 {
  margin: 23px 0 17px;
  color: #fff;
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.055em;
}

.op-team__head h2 span {
  position: relative;
  white-space: nowrap;
}

.op-team__head h2 span::after {
  content: "";
  position: absolute;
  left: -7%;
  right: -7%;
  bottom: -10px;
  height: 15px;
  border: 2px solid var(--burgundy);
  border-radius: 50%;
  transform: rotate(-3deg);
}

.op-team__head p {
  max-width: 720px;
  margin: 0 auto;
  color: #9dafb8;
  font-size: 15px;
  line-height: 1.75;
}

.op-team__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  width: min(1240px, 100%);
  margin: 0 auto;
}

.op-team-card {
  position: relative;
  height: 330px;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  background: #101920;
  box-shadow: 0 20px 55px rgba(0,0,0,.32);
  transition: transform .42s cubic-bezier(.2,.8,.2,1), border-color .42s ease, box-shadow .42s ease;
}

.op-team-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  filter: grayscale(.78) saturate(.58) contrast(1.04) drop-shadow(0 18px 20px rgba(0,0,0,.36));
  transition: filter .48s ease, transform .58s cubic-bezier(.2,.8,.2,1);
}

.op-team-card--founder img {
  inset: 10px 3% 0;
  width: 94%;
}

.op-team-card__badge {
  position: absolute;
  z-index: 3;
  top: 13px;
  left: 13px;
  padding: 6px 9px;
  border: 1px solid rgba(0,176,213,.5);
  border-radius: 100px;
  background: rgba(4,10,14,.76);
  color: var(--blue);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}

.op-team-card__info {
  position: absolute;
  z-index: 4;
  right: 9px;
  bottom: 9px;
  left: 9px;
  min-height: 62px;
  padding: 13px 42px 12px 14px;
  border-radius: 10px;
  background: #f7f8f8;
  color: #090d10;
  box-shadow: 0 12px 35px rgba(0,0,0,.26);
}

.op-team-card__info strong {
  display: block;
  color: #080d10;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.15;
}

.op-team-card__info span {
  display: block;
  margin-top: 5px;
  color: #53616a;
  font-size: 8.5px;
  font-weight: 600;
  line-height: 1.25;
}

.op-team-card__info::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 11px;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #071117;
  color: var(--blue);
  font-size: 11px;
  transform: translateY(-50%);
  transition: transform .32s ease, background .32s ease, color .32s ease;
}

.op-team-card:hover {
  z-index: 2;
  border-color: rgba(0,176,213,.58);
  box-shadow: 0 30px 66px rgba(0,0,0,.5), 0 0 32px rgba(0,176,213,.1);
  transform: translateY(-9px);
}

.op-team-card:hover img {
  filter: grayscale(0) saturate(1) contrast(1) drop-shadow(0 20px 24px rgba(0,0,0,.44));
  transform: scale(1.035);
}

.op-team-card:hover .op-team-card__info::after {
  background: var(--burgundy);
  color: #fff;
  transform: translateY(-50%) rotate(45deg);
}

.op-form-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.op-form-status{grid-column:1/-1;margin-bottom:16px;padding:13px 15px;border:1px solid;border-radius:12px;font-size:12px;font-weight:700;line-height:1.55}.op-form-status--success{border-color:rgba(37,211,102,.38);background:rgba(37,211,102,.09);color:#9ff2be}.op-form-status--error{border-color:rgba(255,98,98,.38);background:rgba(125,4,20,.18);color:#ffc0c5}

@media (max-width: 1040px) {
  .op-team__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(860px, 100%);
  }

  .op-team-card { height: 350px; }
}

@media (max-width: 680px) {
  .op-team {
    padding: 72px 14px 66px;
  }

  .op-team__head {
    margin-bottom: 36px;
  }

  .op-team__head h2 {
    font-size: clamp(38px, 11vw, 54px);
  }

  .op-team__head p {
    font-size: 14px;
  }

  .op-team__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
  }

  .op-team-card {
    height: 300px;
  }

  .op-team-card__info {
    right: 7px;
    bottom: 7px;
    left: 7px;
    min-height: 58px;
    padding: 11px 34px 10px 11px;
  }

  .op-team-card__info strong { font-size: 10px; }
  .op-team-card__info span { font-size: 7.5px; }

  .op-team-card:hover {
    transform: none;
  }
}

@media (max-width: 390px) {
  .op-team__grid {
    grid-template-columns: 1fr;
    width: min(280px, 100%);
  }

  .op-team-card { height: 345px; }
}

/* Shared supplied brand icon treatment */
.op-service-box__icon img,
.op-service-card__icon img,
.op-tech__symbol img,
.op-footer__social img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.op-service-box__icon img { width: 30px; height: 30px; }
.op-service-card__icon img { width: 28px; height: 28px; }
.op-tech__symbol img { width: 29px; height: 29px; filter: invert(1); }
.op-footer__social img { width: 18px; height: 18px; }

/* ================================
   UAE COVERAGE
================================ */
.op-coverage{position:relative;isolation:isolate;overflow:hidden;padding:clamp(78px,8vw,124px) var(--page-gutter);background:radial-gradient(circle at 88% 2%,rgba(0,176,213,.14),transparent 29%),radial-gradient(circle at 8% 96%,rgba(125,4,20,.22),transparent 31%),linear-gradient(145deg,#04080b,#071118 58%,#0a1820)}
.op-coverage::before{content:"";position:absolute;z-index:-2;inset:0;background-image:linear-gradient(rgba(0,176,213,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(0,176,213,.045) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to bottom,#000,transparent 70%)}
.op-coverage::after{content:"07";position:absolute;z-index:-1;right:-.02em;top:-.18em;color:transparent;font-size:clamp(190px,29vw,500px);font-weight:900;line-height:1;-webkit-text-stroke:1px rgba(0,176,213,.055);pointer-events:none}
.op-coverage__inner{width:min(1320px,100%);margin:auto}.op-coverage__head{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,.75fr);gap:clamp(40px,8vw,120px);align-items:end;margin-bottom:clamp(50px,6vw,82px)}
.op-coverage__eyebrow,.op-faq__eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.op-coverage__eyebrow::before,.op-faq__eyebrow::before{content:"";width:20px;height:2px;background:var(--blue);box-shadow:0 0 12px var(--blue)}
.op-coverage__head h2{max-width:760px;margin:18px 0 0;font-size:clamp(40px,5vw,72px);font-weight:800;line-height:.98;letter-spacing:-.055em;text-transform:uppercase}.op-coverage__head h2 span{color:var(--blue)}.op-coverage__head>p{margin:0;color:#9aabb4;font-size:15px;line-height:1.85}
.op-coverage__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.op-emirate{--accent:var(--blue);position:relative;grid-column:span 3;min-height:350px;overflow:hidden;padding:25px;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:linear-gradient(155deg,rgba(14,30,39,.96),rgba(5,10,14,.99));box-shadow:0 22px 60px rgba(0,0,0,.34);transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .45s ease,box-shadow .45s ease}.op-emirate:nth-child(5),.op-emirate:nth-child(7){--accent:var(--burgundy)}.op-emirate:nth-child(n+5){grid-column:span 4;min-height:320px}
.op-emirate::before{content:"";position:absolute;right:-80px;bottom:-105px;width:220px;height:220px;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:50%;box-shadow:0 0 0 34px color-mix(in srgb,var(--accent) 5%,transparent),0 0 0 68px color-mix(in srgb,var(--accent) 3%,transparent);transition:transform .55s ease}.op-emirate::after{content:attr(data-index);position:absolute;top:12px;right:18px;color:rgba(255,255,255,.06);font-size:72px;font-weight:900;letter-spacing:-.08em}.op-emirate:hover{z-index:2;transform:translateY(-9px);border-color:color-mix(in srgb,var(--accent) 65%,transparent);box-shadow:0 34px 75px rgba(0,0,0,.52),0 0 35px color-mix(in srgb,var(--accent) 12%,transparent)}
.op-emirate__icon{position:relative;z-index:1;display:grid;place-items:center;width:54px;height:54px;margin-bottom:30px;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:16px;background:color-mix(in srgb,var(--accent) 10%,#071016);color:var(--accent)}.op-emirate__icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.op-emirate h3{position:relative;z-index:1;margin:0 0 8px;font-size:21px;font-weight:800;text-transform:uppercase}.op-emirate__tag{position:relative;z-index:1;display:block;margin-bottom:17px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.op-emirate p{position:relative;z-index:1;margin:0;color:#aebcc3;font-size:13px;line-height:1.72}

/* ================================
   FAQ
================================ */
.op-faq{position:relative;isolation:isolate;overflow:hidden;padding:clamp(78px,8vw,125px) var(--page-gutter);background:radial-gradient(circle at 9% 82%,rgba(125,4,20,.22),transparent 28%),radial-gradient(circle at 94% 8%,rgba(0,176,213,.14),transparent 31%),linear-gradient(145deg,#03070a,#071118 55%,#091820)}
.op-faq::before{content:"";position:absolute;z-index:-2;inset:0;background-image:linear-gradient(rgba(0,176,213,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(0,176,213,.045) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000,transparent 78%)}.op-faq::after{content:"?";position:absolute;z-index:-1;left:-.05em;bottom:-.35em;color:transparent;font-size:clamp(300px,48vw,760px);font-weight:900;line-height:1;-webkit-text-stroke:1px rgba(125,4,20,.11);transform:rotate(-8deg)}
.op-faq__shell{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(0,1.35fr);gap:clamp(42px,7vw,105px);width:min(1320px,100%);margin:auto;align-items:start}.op-faq__aside{position:sticky;top:30px}.op-faq__aside h2{margin:20px 0 28px;font-size:clamp(43px,5vw,72px);font-weight:800;line-height:.96;letter-spacing:-.055em}.op-faq__aside h2 span{display:block;color:var(--blue)}
.op-faq__contact{position:relative;overflow:hidden;padding:30px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:linear-gradient(145deg,rgba(15,31,39,.95),rgba(5,10,14,.98));box-shadow:0 28px 75px rgba(0,0,0,.4)}.op-faq__contact>strong{position:relative;display:block;margin-bottom:15px;font-size:18px;line-height:1.35}.op-faq__contact>p{position:relative;margin:0;color:#9babb4;font-size:13px;line-height:1.75}.op-faq__cta{position:relative;display:inline-flex;align-items:center;gap:10px;margin-top:25px;padding:14px 19px;border-radius:100px;background:var(--blue);color:#041014;font-size:13px;font-weight:800;transition:transform .3s ease,background .3s ease}.op-faq__cta:hover{transform:translateY(-3px);background:#fff}.op-faq__cta img{width:17px;height:17px;filter:invert(1)}.op-faq__contact ul{position:relative;display:flex;flex-wrap:wrap;gap:11px 18px;margin:23px 0 0;padding:21px 0 0;border-top:1px solid rgba(255,255,255,.09);list-style:none}.op-faq__contact li{display:flex;align-items:center;gap:8px;color:#bcc9ce;font-size:11px}.op-faq__contact li::before{content:"✓";display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(0,176,213,.14);color:var(--blue);font-weight:900}
.op-faq__list{display:grid;gap:12px}.op-faq-item{overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:linear-gradient(145deg,rgba(14,27,34,.95),rgba(6,11,15,.98));box-shadow:0 15px 40px rgba(0,0,0,.23);transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease}.op-faq-item:hover{border-color:rgba(0,176,213,.38);transform:translateX(-4px)}.op-faq-item.is-open{border-color:rgba(0,176,213,.6);box-shadow:0 22px 55px rgba(0,0,0,.35),0 0 28px rgba(0,176,213,.06)}
.op-faq-item__question{display:grid;grid-template-columns:46px 1fr 34px;gap:15px;align-items:center;width:100%;padding:19px 21px;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}.op-faq-item__question>span{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.12em}.op-faq-item__question strong{font-size:15px;line-height:1.45}.op-faq-item__question i{position:relative;width:31px;height:31px;border:1px solid rgba(0,176,213,.35);border-radius:50%;background:rgba(0,176,213,.06)}.op-faq-item__question i::before,.op-faq-item__question i::after{content:"";position:absolute;top:50%;left:50%;width:11px;height:1.5px;background:#fff;transform:translate(-50%,-50%);transition:transform .35s ease}.op-faq-item__question i::after{transform:translate(-50%,-50%) rotate(90deg)}.op-faq-item.is-open .op-faq-item__question i{background:var(--burgundy);border-color:var(--burgundy)}.op-faq-item.is-open .op-faq-item__question i::after{transform:translate(-50%,-50%)}
.op-faq-item__answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .48s cubic-bezier(.2,.8,.2,1)}.op-faq-item__answer>div{overflow:hidden}.op-faq-item.is-open .op-faq-item__answer{grid-template-rows:1fr}.op-faq-item__answer p{margin:0;padding:0 70px 24px 82px;color:#aebdc4;font-size:13px;line-height:1.8}.op-faq-item__answer b{color:#fff}
@media(max-width:1050px){.op-coverage__head{grid-template-columns:1fr;gap:24px}.op-emirate,.op-emirate:nth-child(n+5){grid-column:span 6;min-height:330px}.op-emirate:last-child{grid-column:4/span 6}.op-faq__shell{grid-template-columns:1fr}.op-faq__aside{position:relative;top:auto}.op-faq__contact,.op-faq__list{width:min(820px,100%);margin-inline:auto}}
@media(max-width:680px){.op-coverage,.op-faq{padding:70px 15px}.op-coverage__head{text-align:center;margin-bottom:38px}.op-coverage__eyebrow,.op-faq__eyebrow{justify-content:center}.op-coverage__head>p{font-size:14px}.op-coverage__grid{gap:12px}.op-emirate,.op-emirate:nth-child(n+5),.op-emirate:last-child{grid-column:1/-1;min-height:0;padding:23px;text-align:center}.op-emirate__icon{margin:0 auto 22px}.op-emirate:hover,.op-faq-item:hover{transform:none}.op-faq__aside{text-align:center}.op-faq__aside h2{font-size:clamp(39px,11vw,55px)}.op-faq__contact{padding:24px;text-align:left}.op-faq-item__question{grid-template-columns:30px 1fr 30px;gap:10px;padding:17px 14px}.op-faq-item__question strong{font-size:13px}.op-faq-item__answer p{padding:0 18px 21px 54px;font-size:12.5px}}

/* Master UI arrow supplied by Optimizers.
   Override --arrow-color on a parent or the SVG to recolor it. */
.op-ui-arrow {
  fill: none !important;
  stroke: var(--arrow-color, currentColor) !important;
  stroke-width: 40 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  transform-origin: center;
}

.op-ui-arrow--left { transform: rotate(180deg); }
.op-ui-arrow--diagonal { transform: rotate(-45deg); }
.op-service-box__cta .op-ui-arrow { --arrow-color: var(--blue); }
.op-service-box__cta:hover .op-ui-arrow { transform: rotate(-45deg) translateX(5px); }
.nav-action .op-ui-arrow { --arrow-color: #fff; }
.nav-action:hover .op-ui-arrow { --arrow-color: #041014; }
.op-clients__arrow .op-ui-arrow--left { transform: rotate(180deg); }
.op-process__flow-arrow .op-ui-arrow { width: 50px; height: 22px; }

/* Supplied telephone and process icon assets */
.nav-phone img {
  width: 21px;
  height: 21px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  transition: filter .25s ease;
}
.nav-phone:hover img { filter: brightness(0); }
.op-footer__contact-icon img {
  display: block;
  width: 18px;
  height: 18px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.op-process__icon img {
  display: block;
  width: 25px;
  height: 25px;
  object-fit: contain;
}

/* Technology partners — approved static two-row display */
.op-tech--display { padding: clamp(76px, 8vw, 116px) 0; }
.op-tech--display .op-tech__inner { width: min(1280px, calc(100% - 48px)); }
.op-tech-display {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 15px;
}
.op-tech-display__card {
  position: relative;
  min-width: 0;
  height: 126px;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 20px;
  background: linear-gradient(150deg,#fff 0%,#f5f8fa 100%);
  box-shadow: 0 20px 48px rgba(0,0,0,.28), inset 0 0 0 1px rgba(0,176,213,.08);
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease;
}
.op-tech-display__card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 26px;
  right: 26px;
  height: 2px;
  background: linear-gradient(90deg,transparent,var(--blue),transparent);
  opacity: .78;
}
.op-tech-display__card::after {
  content: "";
  position: absolute;
  right: -35px;
  bottom: -50px;
  width: 105px;
  height: 105px;
  border-radius: 50%;
  background: rgba(125,4,20,.09);
  filter: blur(24px);
}
.op-tech-display__card:hover {
  z-index: 2;
  border-color: rgba(0,176,213,.72);
  box-shadow: 0 28px 64px rgba(0,0,0,.38),0 0 30px rgba(0,176,213,.12),0 12px 35px rgba(125,4,20,.12);
  transform: translateY(-7px);
}
.op-tech-display__card img {
  position: relative;
  z-index: 1;
  display: block;
  width: auto;
  max-width: 88%;
  height: auto;
  max-height: 64px;
  object-fit: contain;
  transition: transform .35s cubic-bezier(.22,1,.36,1);
}
.op-tech-display__card:hover img { transform: scale(1.055); }
.op-tech--display .op-tech__note { margin-top: 30px; }

@media (max-width: 920px) {
  .op-tech-display { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .op-tech--display .op-tech__inner { width: calc(100% - 36px); }
  .op-tech-display { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
  .op-tech-display__card { height: 96px; padding: 15px; border-radius: 16px; }
  .op-tech-display__card img { max-width: 94%; max-height: 50px; }
}

.op-team-card__info::after {
  content: "";
  width: 13px;
  height: 13px;
  padding: 5px;
  background-color: var(--blue);
  background-clip: content-box;
  -webkit-mask: url("../icons/ui/right-arrow.svg") center / 13px 13px no-repeat;
  mask: url("../icons/ui/right-arrow.svg") center / 13px 13px no-repeat;
  transform: translateY(-50%) rotate(-45deg);
}

.op-team-card:hover .op-team-card__info::after {
  background-color: #fff;
  transform: translateY(-50%) rotate(-45deg) translateX(2px);
}

/* Open Sans tracking correction — avoid cramped cinematic headings. */
body { letter-spacing: .002em; }
h1,
h2,
.op-hero h1,
.op-service-suite__head h2,
.op-industries__head h2,
.op-process__head h2,
.op-tech__head h2,
.op-services__head h2,
.op-uae-map__head h2,
.op-clients__head h2,
.op-team__head h2,
.op-coverage__head h2,
.op-faq__aside h2,
.op-growth-cta h2 { letter-spacing: -.012em !important; }
h3,
.nav-links,
.nav-dropdown__menu a,
.op-service-box h2,
.op-industry h2,
.op-process__step h2,
.op-emirate h3,
.op-service-card h3,
.op-tech__name,
button,
input,
select,
textarea { letter-spacing: 0 !important; }
p,
li,
.op-footer__links a,
.op-footer__services a,
.op-footer__contact-copy strong { letter-spacing: .002em !important; }

/* Precision polish — mobile navigation, typography, coverage, FAQ and footer */
.op-team__head h2 span::after { display: none !important; }
.op-team__glow { display: none; }
.op-team__head h2 span { white-space: normal; }
.op-service-box h2,.op-industry h2,.op-process__step h2,.op-emirate h3,.op-service-card h3 { text-transform: none !important; }
.op-emirate,.op-emirate:nth-child(5),.op-emirate:nth-child(7) { --accent: var(--blue) !important; }
.op-emirate:nth-child(5),.op-emirate:nth-child(7) { background: linear-gradient(155deg,rgba(14,30,39,.96),rgba(5,10,14,.99)) !important; }
.op-coverage__head h2 span { color: #9aa6ad !important; }
@media (max-width:900px){
  .nav-links{background:#070c0f !important;border-color:rgba(0,176,213,.28) !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;box-shadow:0 22px 54px rgba(0,0,0,.78) !important}
  .nav-dropdown__menu,.nav-dropdown.is-open .nav-dropdown__menu{background:#0b1217 !important;border:1px solid rgba(0,176,213,.22) !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035) !important}
}
@media (max-width:680px){
  main > section:not(.op-hero):not(.op-faq){text-align:center !important}
  main > section:not(.op-hero):not(.op-faq) h2,main > section:not(.op-hero):not(.op-faq) h3{text-align:center !important}
  .op-service-box__category,.op-service-box__tags,.op-service-box__cta,.op-service-box__top,.op-process__meta,.op-process__status{margin-inline:auto !important;justify-content:center !important}
  .op-service-box__copy,.op-industry p,.op-process__step p,.op-emirate p{margin-inline:auto !important;text-align:center !important}
  .op-faq,.op-faq__shell,.op-faq__list,.op-faq-item,.op-faq-item__question,.op-faq-item__answer,.op-faq-item__answer p{text-align:left !important}
  .op-faq__eyebrow{justify-content:flex-start !important;text-align:left !important}
  .op-faq__aside,.op-faq__aside h2,.op-faq__aside>p{text-align:left !important;margin-inline:0 !important}
  .op-faq__contact{margin-inline:0 !important;text-align:left !important}
  .op-faq-item__answer p{padding:0 18px 22px 54px !important}
  .op-footer__inner,.op-footer__brand-zone,.op-footer__columns,.op-footer__column,.op-footer__column--contact,.op-footer__bottom{width:100% !important;margin-inline:auto !important;text-align:center !important}
  .op-footer__brand-zone,.op-footer__columns,.op-footer__column{display:flex !important;flex-direction:column !important;align-items:center !important}
  .op-footer__brand-note{max-width:330px !important}
  .op-footer__social-row{display:flex !important;width:100% !important;justify-content:center !important}
  .op-footer__links,.op-footer__services{width:100% !important;align-items:center !important;justify-items:center !important}
  .op-footer__links a,.op-footer__services a{width:100% !important;text-align:center !important}
  .op-footer__contact-list{width:min(360px,100%) !important}
  .op-footer__contact{width:100% !important;grid-template-columns:34px minmax(0,1fr) 34px !important;gap:10px !important;text-align:center !important}
  .op-footer__contact::after{content:"";width:34px;height:1px}
  .op-footer__contact-copy{min-width:0;text-align:center !important}
  .op-footer__contact-copy span,.op-footer__contact-copy strong{text-align:center !important}
  .op-footer__bottom{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important}
}

/* Closing growth CTA */
.op-growth-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(82px,10vw,145px) 24px;
  border-top: 1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 12% 15%,rgba(125,4,20,.24),transparent 28%),
    radial-gradient(circle at 88% 88%,rgba(0,176,213,.12),transparent 30%),
    #04080b;
  color: #fff;
}
.op-growth-cta::before { content:"";position:absolute;z-index:-2;inset:0;background-image:linear-gradient(rgba(0,176,213,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,176,213,.035) 1px,transparent 1px);background-size:62px 62px;mask-image:linear-gradient(to bottom,#000,transparent 82%); }
.op-growth-cta__orb { position:absolute;z-index:-1;top:50%;left:50%;width:min(570px,75vw);aspect-ratio:1;border:1px solid rgba(0,176,213,.12);border-radius:50%;box-shadow:0 0 0 74px rgba(0,176,213,.025),0 0 0 148px rgba(125,4,20,.018);transform:translate(-50%,-50%); }
.op-growth-cta__orb::before,.op-growth-cta__orb::after{content:"";position:absolute;inset:20%;border:1px solid rgba(255,255,255,.07);border-radius:50%}.op-growth-cta__orb::after{inset:40%;border-color:rgba(0,176,213,.26);box-shadow:0 0 34px rgba(0,176,213,.12)}
.op-growth-cta__inner { width:min(1050px,100%);margin:0 auto;text-align:center; }
.op-growth-cta__eyebrow { display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase; }
.op-growth-cta__eyebrow::before,.op-growth-cta__eyebrow::after{content:"";width:24px;height:1px;background:var(--blue);box-shadow:0 0 12px rgba(0,176,213,.7)}
.op-growth-cta h2 { max-width:940px;margin:0 auto;color:#f7fafb;font-size:clamp(2.25rem,4.4vw,4.85rem);font-weight:800;line-height:1.04;letter-spacing:-.045em; }
.op-growth-cta h2 span { display:block;color:#9aa6ad; }
.op-growth-cta p { max-width:730px;margin:28px auto 0;color:rgba(255,255,255,.61);font-size:clamp(14px,1.35vw,18px);line-height:1.75; }.op-growth-cta p strong{color:#fff}
.op-growth-cta__button { display:inline-flex;align-items:center;justify-content:center;gap:12px;margin-top:34px;padding:16px 24px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#25d366;color:#fff;font-size:14px;font-weight:800;box-shadow:0 16px 38px rgba(37,211,102,.18);transition:transform .3s ease,box-shadow .3s ease; }.op-growth-cta__button:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(37,211,102,.27)}
.op-growth-cta__button img{width:20px;height:20px;filter:brightness(0) invert(1)}.op-growth-cta__button .op-growth-cta__arrow{width:17px;height:17px;transform:rotate(-45deg)}
.op-growth-cta__trust { display:grid;grid-template-columns:repeat(3,1fr);max-width:900px;margin:48px auto 0;border-block:1px solid rgba(255,255,255,.1); }.op-growth-cta__trust span{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:72px;padding:16px;color:rgba(255,255,255,.87);font-size:13px;font-weight:700}.op-growth-cta__trust span+span::before{content:"";position:absolute;top:20px;bottom:20px;left:0;width:1px;background:linear-gradient(transparent,rgba(255,255,255,.2),transparent)}.op-growth-cta__trust b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:rgba(0,176,213,.14);color:var(--blue)}.op-growth-cta__trust .op-growth-cta__star{background:none;color:#ffad34;font-size:18px}
@media(max-width:680px){.op-growth-cta{padding:76px 18px}.op-growth-cta h2{font-size:clamp(2.05rem,10vw,3.35rem)}.op-growth-cta__button{width:100%;max-width:310px}.op-growth-cta__trust{grid-template-columns:1fr;margin-top:38px}.op-growth-cta__trust span{min-height:60px}.op-growth-cta__trust span+span::before{top:0;right:15%;bottom:auto;left:15%;width:auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent)}}

/* Legal pages */
.op-legal{background:#05090c;color:#dbe3e7}.op-legal__hero{position:relative;overflow:hidden;padding:clamp(150px,17vw,225px) 24px 85px;border-bottom:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 13% 18%,rgba(125,4,20,.3),transparent 30%),radial-gradient(circle at 87% 82%,rgba(0,176,213,.13),transparent 31%),#05090c}.op-legal__hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,176,213,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,176,213,.035) 1px,transparent 1px);background-size:62px 62px;mask-image:linear-gradient(#000,transparent)}.op-legal__hero-inner{position:relative;width:min(1280px,100%);margin:auto}.op-legal__eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.op-legal__eyebrow::before{content:"";width:25px;height:2px;background:var(--blue)}.op-legal h1{max-width:920px;margin:22px 0 18px;color:#f8fafb;font-size:clamp(3.2rem,8vw,7.6rem);font-weight:800;line-height:.94;letter-spacing:-.035em}.op-legal h1 span{display:block;color:#8f9ba1}.op-legal__hero p{max-width:680px;color:#9ca8ae;font-size:clamp(16px,1.5vw,20px);line-height:1.7}.op-legal__meta{display:flex;gap:28px;margin-top:32px;color:#738087;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.op-legal__body{display:grid;grid-template-columns:250px minmax(0,850px);gap:clamp(50px,8vw,120px);width:min(1280px,calc(100% - 48px));margin:auto;padding:90px 0 130px}.op-legal__toc{position:sticky;top:115px;align-self:start;display:flex;flex-direction:column;gap:4px;padding:22px;border:1px solid rgba(0,176,213,.16);border-radius:18px;background:#091116}.op-legal__toc strong{margin-bottom:12px;color:#fff;font-size:13px}.op-legal__toc a{padding:7px 0;color:#7f8d94;font-size:12px;line-height:1.35;transition:color .2s}.op-legal__toc a:hover{color:var(--blue)}.op-legal__content{min-width:0}.op-legal__intro{margin-bottom:28px;padding:30px;border:1px solid rgba(0,176,213,.2);border-radius:20px;background:linear-gradient(135deg,rgba(0,176,213,.08),rgba(125,4,20,.06))}.op-legal__content>section{position:relative;padding:54px 0;border-bottom:1px solid rgba(255,255,255,.08);scroll-margin-top:110px}.op-legal__number{display:block;margin-bottom:12px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.12em}.op-legal__content h2{margin:0 0 22px;color:#f5f7f8;font-size:clamp(1.65rem,3vw,2.55rem);font-weight:800;line-height:1.15;letter-spacing:-.018em;text-transform:none}.op-legal__content h3{margin:28px 0 10px;color:#fff;font-size:16px;font-weight:750}.op-legal__content p,.op-legal__content li{color:#9aa6ad;font-size:15px;line-height:1.85}.op-legal__content p+p{margin-top:15px}.op-legal__content ul{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none}.op-legal__content li{position:relative;padding-left:22px}.op-legal__content li::before{content:"";position:absolute;top:.75em;left:0;width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 12px rgba(0,176,213,.45)}.op-legal__content a{color:var(--blue)}.op-legal__note{margin-top:25px;padding:18px 20px;border-left:3px solid var(--blue);background:rgba(0,176,213,.07);color:#dce4e7}.op-legal__contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:25px}.op-legal__contact-grid p{display:flex;flex-direction:column;gap:6px;margin:0;padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#091116}.op-legal__contact-grid small{color:#718087;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.op-legal__contact-grid strong,.op-legal__contact-grid a{font-size:13px;overflow-wrap:anywhere}
@media(max-width:900px){.op-legal__body{grid-template-columns:1fr}.op-legal__toc{position:relative;top:auto;display:none}}
@media(max-width:680px){.op-legal__hero{padding:130px 20px 62px;text-align:left}.op-legal h1{text-align:left!important;font-size:clamp(3rem,16vw,4.5rem)}.op-legal__hero p{text-align:left!important}.op-legal__meta{flex-direction:column;gap:8px}.op-legal__body{width:calc(100% - 36px);padding:48px 0 85px;text-align:left!important}.op-legal__content,.op-legal__content section,.op-legal__content h2,.op-legal__content h3,.op-legal__content p,.op-legal__content li{text-align:left!important}.op-legal__intro{padding:22px}.op-legal__content>section{padding:42px 0}.op-legal__contact-grid{grid-template-columns:1fr}}

@media (max-width:900px){.nav-links{overflow-x:hidden!important;overflow-y:auto!important}.nav-dropdown__menu{position:static!important;left:auto!important;right:auto!important;width:100%!important;max-width:100%!important;min-width:0!important;transform:none!important;box-sizing:border-box!important}.nav-dropdown__primary,.nav-dropdown__nested-group{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}.nav-dropdown__submenu{position:static!important;left:auto!important;right:auto!important;top:auto!important;width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;transform:none!important;box-sizing:border-box!important;overflow-x:hidden!important}.nav-dropdown__submenu a{width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding-left:14px!important;padding-right:14px!important;white-space:normal!important;overflow-wrap:anywhere!important}}@media (max-width:680px){.nav-links{padding:12px!important}.nav-dropdown__menu{margin-left:0!important;margin-right:0!important;padding-left:8px!important;padding-right:8px!important}.nav-dropdown__submenu{padding-left:7px!important;padding-right:7px!important}}
/* MOBILE NESTED ACCORDION — final deterministic layout */
@media (max-width:900px){
  .nav-links{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;}
  .nav-dropdown{width:100%!important;max-width:100%!important;min-width:0!important;}

  /* Services is one accordion panel inside the mobile menu. */
  .nav-dropdown__menu{display:none!important;position:static!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:8px 0 0!important;padding:8px!important;box-sizing:border-box!important;opacity:1!important;visibility:visible!important;transform:none!important;overflow:visible!important;}
  .nav-dropdown.is-open > .nav-dropdown__menu{display:block!important;}

  .nav-dropdown__primary{display:flex!important;flex-direction:column!important;width:100%!important;gap:0!important;}
  .nav-dropdown__nested-group{display:block!important;position:static!important;width:100%!important;max-width:100%!important;min-width:0!important;}

  /* Every nested submenu is closed by default and takes zero space. */
  .nav-dropdown__submenu{display:none!important;position:static!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;box-sizing:border-box!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;overflow:visible!important;}
  .nav-dropdown__nested-group.is-open > .nav-dropdown__submenu{display:block!important;margin:6px 0 8px!important;padding:7px!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:12px!important;background:#0c1419!important;}

  .nav-dropdown__parent{display:flex!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:54px!important;box-sizing:border-box!important;align-items:center!important;justify-content:space-between!important;padding:14px 12px!important;border-radius:10px!important;}
  .nav-dropdown__parent span{min-width:0!important;max-width:calc(100% - 34px)!important;white-space:normal!important;overflow-wrap:anywhere!important;}

  .nav-dropdown__submenu a{display:flex!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:48px!important;box-sizing:border-box!important;align-items:center!important;padding:12px 14px!important;border-bottom:1px solid rgba(255,255,255,.09)!important;border-radius:8px!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;line-height:1.3!important;}
  .nav-dropdown__submenu a:last-child{border-bottom:0!important;}

  /* Main mobile rows match the supplied accordion example. */
  .nav-links > a,
  .nav-dropdown > .nav-dropdown__trigger{width:100%!important;min-height:58px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:16px 12px!important;border-bottom:1px solid rgba(255,255,255,.16)!important;}
  .nav-links > a.is-current{background:rgba(0,176,213,.10)!important;border-radius:12px!important;color:var(--blue)!important;}
}

/* =========================================================
   FINAL MOBILE NAVIGATION — NESTED ACCORDION
   This block is intentionally last so older mobile dropdown
   rules above cannot override the accordion behavior.
   ========================================================= */
@media (max-width: 900px) {
  html, body { overflow-x: hidden !important; }

  .nav-links {
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  /* Services is an accordion inside the mobile menu. */
  .nav-dropdown__menu {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  .nav-dropdown.is-open > .nav-dropdown__menu {
    display: block !important;
    margin: 7px 0 !important;
    padding: 7px !important;
    background: #0a1115 !important;
    border: 1px solid rgba(0,176,213,.20) !important;
  }

  .nav-dropdown__primary,
  .nav-dropdown__nested-group {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    position: static !important;
    box-sizing: border-box !important;
  }

  /* Each nested category opens below its own parent. */
  .nav-dropdown__submenu {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    border: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  .nav-dropdown__nested-group.is-open > .nav-dropdown__submenu {
    display: block !important;
    margin: 5px 0 8px !important;
    padding: 6px !important;
    background: #11191e !important;
    border: 1px solid rgba(255,255,255,.07) !important;
    border-radius: 12px !important;
  }

  .nav-dropdown__parent {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  .nav-dropdown__parent span {
    min-width: 0 !important;
    max-width: calc(100% - 30px) !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .nav-dropdown__submenu a {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 46px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    padding: 11px 13px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.25 !important;
    border-radius: 8px !important;
  }
}

/* Our Services: one-card-at-a-time scroll slideshow */
@media (max-width:680px){
  .op-service-suite__grid{
    position:relative !important;
    display:block !important;
  }

  .op-service-suite__grid .op-service-box{
    position:sticky !important;
    top:62px !important;
    width:100% !important;
    min-height:calc(100svh - 82px) !important;
    margin-bottom:12svh !important;
    transform:
      translate3d(0,var(,0),0)
      scale(var(,1)) !important;
    opacity:var(,1) !important;
    transform-origin:50% 0 !important;
    will-change:transform,opacity;
    transition:none !important;
  }

  .op-service-suite__grid .op-service-box:nth-child(1){z-index:6}
  .op-service-suite__grid .op-service-box:nth-child(2){z-index:5}
  .op-service-suite__grid .op-service-box:nth-child(3){z-index:4}
  .op-service-suite__grid .op-service-box:nth-child(4){z-index:3}
  .op-service-suite__grid .op-service-box:nth-child(5){z-index:2}
  .op-service-suite__grid .op-service-box:nth-child(6){
    z-index:1;
    margin-bottom:0 !important;
  }
}



/* Unified WhatsApp CTA — same button everywhere on the site. */
.wa-unified-button,
.op-growth-cta__button.wa-unified-button,
.op-faq__cta.wa-unified-button,
.op-company-page .cp-button--whatsapp.wa-unified-button {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  max-width:100% !important;
  min-height:58px !important;
  height:58px !important;
  margin-top:24px !important;
  padding:0 28px !important;
  gap:11px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#20d66d !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:none !important;
  box-shadow:0 10px 24px rgba(32,214,109,.18) !important;
  opacity:1 !important;
  filter:none !important;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease !important;
}
.wa-unified-button:hover,
.op-growth-cta__button.wa-unified-button:hover,
.op-faq__cta.wa-unified-button:hover,
.op-company-page .cp-button--whatsapp.wa-unified-button:hover {
  background:#18c861 !important;
  color:#fff !important;
  transform:translateY(-2px) !important;
  box-shadow:0 14px 30px rgba(32,214,109,.24) !important;
}
.wa-unified-button img,
.op-growth-cta__button.wa-unified-button img:not(.op-growth-cta__arrow),
.op-faq__cta.wa-unified-button img,
.op-company-page .cp-button--whatsapp.wa-unified-button img {
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  min-height:26px !important;
  flex:0 0 26px !important;
  display:block !important;
  object-fit:contain !important;
  filter:none !important;
  opacity:1 !important;
}
.wa-unified-button span { color:#fff !important; }
@media(max-width:680px){
  .wa-unified-button,
  .op-growth-cta__button.wa-unified-button,
  .op-faq__cta.wa-unified-button,
  .op-company-page .cp-button--whatsapp.wa-unified-button {
    width:max-content !important;
    max-width:100% !important;
    min-height:58px !important;
    height:58px !important;
    padding:0 22px !important;
    gap:10px !important;
    font-size:15px !important;
  }
  .wa-unified-button img,
  .op-growth-cta__button.wa-unified-button img:not(.op-growth-cta__arrow),
  .op-faq__cta.wa-unified-button img,
  .op-company-page .cp-button--whatsapp.wa-unified-button img {
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    min-height:24px !important;
    flex-basis:24px !important;
  }
}


/* =================================================
   WORDPRESS PACKAGES PAGE
================================================= */
.wp-packages-page{background:#e9eef1;color:#203d59}
.wp-packages-page *{box-sizing:border-box}
.wp-packages-shell{width:min(1600px,calc(100% - 48px));margin:0 auto}
.wp-packages-hero{padding:170px 0 82px;background:radial-gradient(circle at 20% 0,rgba(0,176,213,.20),transparent 34%),linear-gradient(135deg,#07131a,#102d3e);color:#fff;text-align:center}
.wp-packages-hero .wp-packages-shell{max-width:1040px}
.wp-packages-eyebrow,.wp-packages-heading small{display:block;color:#2c829f;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.wp-packages-eyebrow{color:#72c8e5;margin-bottom:17px}
.wp-packages-hero h1{margin:0;font-size:clamp(40px,6vw,76px);line-height:1.05;letter-spacing:-.045em;font-weight:800}
.wp-packages-hero h1 span,.wp-packages-heading h2 span{color:#00b0d5}
.wp-packages-hero p{max-width:720px;margin:22px auto 0;color:rgba(255,255,255,.70);font-size:17px;line-height:1.75}
.wp-packages-hero-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:30px}
.wp-packages-hero-meta span{padding:9px 14px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#bcd5df;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.wp-packages-section{padding:72px 0;background:linear-gradient(180deg,#e6edf1,#f2f4f4)}
.wp-addons-section{padding:0 0 76px;background:#f2f4f4}
.wp-packages-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin:0 0 28px}
.wp-packages-heading small{margin-bottom:9px}
.wp-packages-heading h2{margin:0;font-size:clamp(32px,4vw,52px);line-height:1.05;letter-spacing:-.04em;color:#213e59}
.wp-packages-heading p{max-width:500px;margin:0;color:#5c7080;font-size:15px;line-height:1.7}
.wp-pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.wp-package-card{position:relative;display:flex;flex-direction:column;padding:34px 28px 28px;border:1px solid #c9d8df;border-radius:28px;background:rgba(255,255,255,.66);box-shadow:0 18px 42px rgba(20,48,65,.07);overflow:hidden}
.wp-package-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:6px;background:linear-gradient(90deg,#00a6ca,#243e5b)}
.wp-package-card--popular{border:2px solid #1f8fb4;background:linear-gradient(155deg,#f9fbfc,#dce8ed)}
.wp-package-card--ecommerce{border:2px solid #f06a39;background:linear-gradient(155deg,#fffdfb,#f5e4db)}
.wp-package-type{margin-bottom:9px;color:#2b7f9e;font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.wp-package-card--ecommerce .wp-package-type{color:#bd4d2c}
.wp-package-card h3{margin:0;color:#203d59;font-size:30px;line-height:1.15;letter-spacing:-.035em}
.wp-package-card--ecommerce h3{color:#913b24}
.wp-ideal{min-height:74px;margin:13px 0 21px;color:#5d6e7b;font-size:15px;line-height:1.55}
.wp-price{display:flex;align-items:baseline;gap:8px;padding:21px 0 20px;border-bottom:1px solid #d6dfe3}
.wp-price strong{color:#203d59;font-size:clamp(32px,3vw,47px);line-height:1;font-weight:800;letter-spacing:-.04em}
.wp-price span{color:#60707c;font-size:11px;font-weight:800;letter-spacing:.09em}
.wp-price--orange strong{color:#d4512d}
.wp-package-card ul{display:grid;gap:10px;flex:1;margin:22px 0;padding:0;list-style:none}
.wp-package-card li{position:relative;padding-left:25px;color:#455d70;font-size:13px;line-height:1.4}
.wp-package-card li:before{content:"✓";position:absolute;left:0;top:-1px;width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#e1f0ec;color:#248b6c;font-size:11px;font-weight:800}
.wp-package-button,.wp-cta-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 20px;border-radius:999px;background:#213e59;color:#fff!important;font-size:13px;font-weight:800;transition:transform .2s ease,background .2s ease}
.wp-package-button:hover,.wp-cta-button:hover{transform:translateY(-2px);background:#00a9ce}
.wp-package-button--orange{background:#d9552e}.wp-package-button--orange:hover{background:#f06a39}
.wp-popular-badge,.wp-store-badge{position:absolute;top:0;left:50%;transform:translate(-50%,-1px);padding:10px 21px;border-radius:0 0 18px 18px;background:#224a68;color:#fff;white-space:nowrap;font-size:11px;font-weight:800;letter-spacing:.12em}
.wp-store-badge{background:#e15a30}
.wp-package-card--popular .wp-package-type,.wp-package-card--ecommerce .wp-package-type{margin-top:26px}
.wp-package-notes{margin-top:44px;padding:30px 34px;border:1px solid #d0dde2;border-radius:24px;background:rgba(255,255,255,.62)}
.wp-package-notes>span{color:#2b829f;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.wp-package-notes h3{margin:6px 0 18px;color:#213e59;font-size:25px}
.wp-package-notes ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 32px;margin:0;padding:0;list-style:none}
.wp-package-notes li{position:relative;padding-left:18px;color:#586c79;font-size:13px;line-height:1.55}
.wp-package-notes li:before{content:"•";position:absolute;left:0;color:#00a8cd;font-weight:800}
.wp-addons-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #cdd9df;border-radius:25px;overflow:hidden;background:rgba(255,255,255,.55)}
.wp-addons-grid article{min-height:222px;padding:30px 28px;border-right:1px solid #cdd9df;border-bottom:1px solid #cdd9df}
.wp-addons-grid article:nth-child(3n){border-right:0}.wp-addons-grid article:nth-last-child(-n+3){border-bottom:0}
.wp-addons-grid small{display:block;margin-bottom:10px;color:#8497a2;font-size:12px;font-weight:800;letter-spacing:.14em}
.wp-addons-grid h3{margin:0;color:#213e59;font-size:20px;line-height:1.25}
.wp-addons-grid p{min-height:45px;margin:9px 0 22px;color:#5b6f7d;font-size:14px;line-height:1.55}
.wp-addons-grid strong{display:block;color:#2b7f9e;font-size:25px;letter-spacing:.01em}
.wp-package-notes--compact{margin-top:26px}
.wp-packages-cta{padding:84px 0;background:radial-gradient(circle at 50% -20%,rgba(0,176,213,.22),transparent 40%),#071017;color:#fff;text-align:center}
.wp-packages-cta .wp-packages-shell{max-width:880px}
.wp-packages-cta span{display:block;color:#68cce7;font-size:11px;font-weight:800;letter-spacing:.16em}
.wp-packages-cta h2{margin:10px 0;font-size:clamp(36px,5vw,62px);line-height:1.05;letter-spacing:-.04em}
.wp-packages-cta h2 em{color:#00b0d5;font-style:normal}
.wp-packages-cta p{max-width:610px;margin:0 auto 27px;color:rgba(255,255,255,.66)}
.wp-cta-button{min-width:210px;background:#fff;color:#122d42!important}
@media(max-width:1180px){.wp-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wp-addons-grid{grid-template-columns:repeat(2,1fr)}.wp-addons-grid article:nth-child(3n){border-right:1px solid #cdd9df}.wp-addons-grid article:nth-child(2n){border-right:0}.wp-addons-grid article:nth-last-child(-n+3){border-bottom:1px solid #cdd9df}.wp-addons-grid article:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:760px){.wp-packages-shell{width:min(100% - 28px,640px)}.wp-packages-hero{padding:135px 0 60px}.wp-packages-heading{display:block}.wp-packages-heading p{margin-top:15px}.wp-pricing-grid,.wp-addons-grid{grid-template-columns:1fr}.wp-package-notes ul{grid-template-columns:1fr}.wp-addons-grid article,.wp-addons-grid article:nth-child(3n),.wp-addons-grid article:nth-child(2n){border-right:0;border-bottom:1px solid #cdd9df}.wp-addons-grid article:last-child{border-bottom:0}.wp-package-card{padding:30px 23px 23px}.wp-ideal{min-height:auto}.wp-package-card--popular .wp-package-type,.wp-package-card--ecommerce .wp-package-type{margin-top:25px}.wp-package-notes{padding:25px 22px}.wp-packages-section{padding:52px 0}.wp-addons-section{padding-bottom:52px}}
