* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--color-2);
  color: var(--color-5);
  font-family: var(--font-primary);
  font-size: var(--font-size-1);
  font-weight: var(--font-weight-1);
  line-height: var(--line-height-1);
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

:root {
  --font-heading: "DM Sans", sans-serif;
  --font-display: "DM Sans", sans-serif;
  --dark: var(--color-2);
  --navy: var(--color-7);
  --panel: var(--color-14);
  --panel-2: var(--color-17);
  --cyan: var(--color-8);
  --orange: var(--color-1);
  --muted: var(--color-18);
  --line: var(--color-23);
  --container: 1600px;
}

.design-container {
  max-width: var(--container);
  padding-left: 0;
  padding-right: 0;
}
.section-dark { position: relative; overflow: hidden; background: var(--dark); }
.network-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 8% 82%, rgba(23, 107, 180, .22), transparent 34%),
    linear-gradient(135deg, transparent 0 55%, rgba(0, 168, 168, .08) 56%, transparent 57%),
    linear-gradient(45deg, transparent 0 62%, rgba(65, 175, 223, .06) 63%, transparent 64%);
  pointer-events: none;
}

.btn {
  position: relative;
  overflow: hidden;
  min-height: unset;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-5);
  padding: 8px 8px 8px 30px;
  border-radius: var(--radius-11);
  border: 1px solid transparent;
  color: var(--color-5);
  font-size: var(--font-size-3);
  font-weight: var(--font-weight-3);
  line-height: var(--line-height-3);
  text-transform: uppercase;
  box-shadow: 0 0 0 rgba(98, 202, 194, 0);
  transition: transform .28s ease, border-color .28s ease, background .28s ease, color .28s ease, box-shadow .28s ease;
}

.btn span {
  position: relative;
  z-index: 2;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-5);
  color: var(--cyan);
  transition: transform .28s ease, background .28s ease, color .28s ease, box-shadow .28s ease;
}

.btn svg {
  width: 12px;
  height: 12px;
  display: block;
}

.btn > * {
  position: relative;
  z-index: 2;
}

.btn::before {
  display: none;
}

.btn:hover,
.btn:focus-visible {
  background: var(--color-1);
  color: var(--color-5);
  border-color: var(--color-1);
  transform: translateY(-3px);
  box-shadow: 0 16px 38px rgba(98, 202, 194, .18), 0 8px 22px rgba(240, 96, 21, .16);
}

.btn:hover span,
.btn:focus-visible span {
  color: var(--color-1);
  background: var(--color-5);
  transform: translateX(4px) rotate(45deg);
  box-shadow: 0 10px 22px rgba(0, 0, 0, .18);
}

.btn-cyan { background: var(--cyan); color: var(--color-5); }
button.btn.btn-cyan {
  font-size: 18px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

.btn-outline-cyan { border-color: var(--cyan); background: rgba(98, 202, 194, .06); }
.btn-outline-cyan {
  border-color: var(--color-8);
  color: var(--color-5);
}

.btn-outline-cyan span {
  background: var(--color-8);
  color: var(--color-5);
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: var(--space-5);
  margin: 0 0 var(--space-8);
  color: var(--cyan);
  font-size: var(--font-size-8);
  font-weight: var(--font-weight-8);
  letter-spacing: 6.4px;
  line-height: var(--line-height-8);
  text-transform: uppercase;
}

.eyebrow.center {
  justify-content: center;
  font-size: 20px;
  font-weight: 700;
}
.eyebrow span { width: 75px; height: 1px; background: currentColor; opacity: .8; }
.hero-content .eyebrow {
  color: var(--color-5);
}

h1, h2, h3, h4, p { margin: 0; }
h1 {
  font-family: var(--font-display);
  font-size: var(--font-size-6);
  font-weight: 400;
  line-height: var(--line-height-6);
  letter-spacing: 0;
  text-transform: uppercase;
}
.mobile-title { display: none; }
h2 {
  font-family: var(--font-heading);
  font-size: var(--font-size-9);
  font-weight: 400;
  line-height: var(--line-height-9);
  letter-spacing: 0;
  text-transform: uppercase;
  display: inline-block;
  color: transparent;
  background: linear-gradient(180deg, #E0E0E0 0%, #7A7A7A 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
h3 {
  font-family: var(--font-heading);
  font-size: var(--font-size-32);
  font-weight: 400;
  line-height: var(--line-height-32);
}
h4 {
  font-family: var(--font-heading);
  font-size: var(--font-size-12);
  font-weight: 400;
  line-height: var(--line-height-12);
}
em { color: var(--orange); font-style: normal; }
h2 em {
  color: #F06015 !important;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: #F06015 !important;
}
.text-nowrap-lg {
  white-space: nowrap;
}
.copy, section p {
  color: var(--muted);
  font-size: var(--font-size-13);
  font-weight: var(--font-weight-13);
  line-height: var(--line-height-13);
}

/* Header */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
  width: 100%;
  background: transparent;
  transition: background .2s ease, backdrop-filter .2s ease;
}

.site-header.is-scrolled {
  background: rgba(5, 9, 18, .88);
  -webkit-backdrop-filter: blur(27px);
  backdrop-filter: blur(27px);
}
.site-header .navbar { padding: 30px 44px 12px; }
.site-header .container-fluid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  padding: 0 !important;
}
.navbar-brand img { width: 238px; }
.navbar-brand {
  flex: 0 0 auto;
}
.navbar-collapse {
  display: flex;
  align-items: center;
  min-width: 0;
}
.navbar-nav { gap: 58px; align-items: center; }
.nav-link {
  color: var(--color-5);
  font-family: var(--font-display);
  font-size: var(--font-size-4);
  font-weight: var(--font-weight-4);
  line-height: var(--line-height-4);
  letter-spacing: 1.8px;
  text-transform: uppercase;
}
.site-header .nav-link:hover,
.site-header .nav-link.active,
.site-header .nav-link[aria-current="page"] {
  color: var(--cyan) !important;
}
.has-submenu::after,
.dropdown-toggle::after {
  width: 11px;
  height: 6px;
  margin-left: var(--space-2);
  vertical-align: .12em;
  border: 0;
  background: url("../icons/menu-arrow.png") center / contain no-repeat;
}

.site-header .submenu-toggle {
  display: none;
}

.site-header .dropdown-menu {
  min-width: 250px;
  margin-top: 0;
  padding: var(--space-4);
  border: 1px solid var(--line);
  border-radius: var(--radius-6);
  background: rgba(9, 14, 24, .94);
  box-shadow: var(--shadow-12);
  backdrop-filter: blur(18px);
}

.site-header .dropdown-item {
  padding: var(--space-4) var(--space-5);
  border-radius: var(--radius-5);
  color: var(--color-5);
  font-family: var(--font-primary);
  font-size: var(--font-size-1);
  line-height: var(--line-height-1);
}

.site-header .dropdown-item:hover,
.site-header .dropdown-item:focus,
.site-header .dropdown-item.active,
.site-header .dropdown-item[aria-current="page"] {
  color: var(--cyan) !important;
  background: rgba(98, 202, 194, .16);
}

.site-header .nav-item.dropdown {
  padding-bottom: var(--space-6);
  margin-bottom: calc(var(--space-6) * -1);
}

@media (min-width: 1024px) {
  .site-header .dropdown:hover > .dropdown-menu,
  .site-header .dropdown:focus-within > .dropdown-menu {
    display: block;
  }
  .site-header .dropdown:hover > .dropdown-toggle::after,
  .site-header .dropdown:focus-within > .dropdown-toggle::after,
  .site-header .dropdown:hover > .has-submenu::after,
  .site-header .dropdown:focus-within > .has-submenu::after {
    transform: rotate(180deg);
  }
}

.navbar-toggler { border-color: rgba(255,255,255,.35); }
.navbar-toggler-icon { filter: invert(1); }
.mobile-menu-close { display: none; }

.site-breadcrumbs {
  position: absolute;
  top: 140px;
  left: 0;
  z-index: 6;
  width: 100%;
  padding: 0 32px;
  background: transparent;
  border: 0;
}

.site-breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: rgba(255, 255, 255, .78);
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  text-transform: capitalize;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .35);
}

.site-breadcrumbs__item {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.site-breadcrumbs__item:not(:last-child)::after {
  content: "/";
  margin-left: 10px;
  color: rgba(98, 202, 194, .8);
}

.site-breadcrumbs a {
  color: rgba(255, 255, 255, .82);
  transition: color .2s ease;
}

.site-breadcrumbs a:hover,
.site-breadcrumbs a:focus-visible {
  color: var(--color-8);
}

.site-breadcrumbs span {
  color: var(--color-5);
}

.home ol.site-breadcrumbs__list {
  display: none;
}

main > section > .container:first-child,
main > section > .design-container:first-child {
  padding-top: 32px;
}

.hero-section {
  min-height: 1051px;
  padding: 0;
  background:
    linear-gradient(180deg, rgba(1, 6, 13, .08) 0%, #01060d96 64%, var(--color-2) 100%),
    url("../images/home-hero.gif") center bottom / cover no-repeat,
    linear-gradient(180deg, #01060d 0%, var(--color-7) 58%, var(--color-2) 100%);
}

.service-panel {
    position: relative;
    overflow: hidden;
    padding: 55px 38px 105px 38px;
    border-radius: var(--radius-8);
    background: url("../images/our-core-services-back.png") center center / cover no-repeat;
}

.partner-logo img {
    width: 100%;
    height: 140px;
    object-fit: contain;
}

.hero-swiper,
.hero-swiper .swiper-wrapper,
.hero-swiper .swiper-slide {
  min-height: 1051px;
  background: linear-gradient(269.94deg, #01060D 5.79%, rgba(1, 6, 13, 0) 16.9%, rgba(1, 6, 13, 0) 88.15%, #01060D 95.75%);
}

.hero-swiper .swiper-slide {
  display: flex;
  align-items: flex-start;
  padding-top: 196px;
  padding-left: 20px;
  padding-right: 20px;
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 1127px;
  margin: 0 auto;
  text-align: center;
}
.hero-title-divider {
  width: min(1058px, 100%);
  height: 5px;
  margin: 24px auto 0;
  display: block;
}
.hero-content p:not(.eyebrow) {
  max-width: 850px;
  margin: 35px auto 38px;
  color: var(--color-5);
}
.hero-btn { min-width: auto; }
.hero-swiper .swiper-pagination.hero-pagination {
  position: absolute;
  left: 50% !important;
  right: auto !important;
  bottom: 72px !important;
  z-index: 3;
  width: auto !important;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}

.hero-swiper .hero-pagination .swiper-pagination-bullet {
  width: 18px;
  height: 18px;
  margin: 0 6px !important;
  background: rgba(255,255,255,.55);
  opacity: 1;
}

.hero-swiper .hero-pagination .swiper-pagination-bullet-active {
  background: var(--cyan);
}

.visual-placeholder {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 35% 30%, rgba(98, 202, 194, .22), transparent 24%),
    radial-gradient(circle at 70% 68%, rgba(240, 96, 21, .16), transparent 26%),
    linear-gradient(135deg, var(--color-14) 0%, var(--color-17) 100%);
}

.visual-placeholder::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(98, 202, 194, .1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(98, 202, 194, .1) 1px, transparent 1px);
  background-size: 54px 54px;
  opacity: .46;
}

.visual-placeholder::after {
  content: "";
  position: absolute;
  width: 42%;
  aspect-ratio: 1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(98, 202, 194, .38);
  border-radius: 50%;
  box-shadow: 0 0 80px rgba(98, 202, 194, .24);
}

/* About */
.about-section {
  padding: 50px 40px 120px;
  background: url("../images/about-us-background-1.png") bottom right / cover no-repeat;
}
.about-section .row.g-5 {
  --bs-gutter-x: 0;
  display: flex;
  align-items: center;
  gap: 30px;
  flex-wrap: nowrap;
}
.about-section .col-lg-6 {
  flex: 1 1 0;
  width: auto;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.watermark {
  color: rgba(255,255,255,.035);
  font-size: 250px;
  font-weight: var(--font-weight-35);
  line-height: 250px;
  text-transform: uppercase;
  pointer-events: none;
  text-align: center;
  margin-bottom: -180px;
}
section#about h2 {
  display: inline-block;
  margin-bottom: 20px;
  color: transparent;
  background: linear-gradient(180deg, #E0E0E0 0%, #7A7A7A 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
section#about h2 em {
  color: #F06015 !important;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: #F06015 !important;
}
.image-card {
  width: 100%;
  border-radius: var(--radius-6);
  object-fit: cover;
}
.about-img { max-width: 712px; margin-left: 0; }
.about-img { height: 704px; }
.feature-list {
  display: grid;
  gap: var(--space-10);
  padding: 38px 0;
  margin: 0;
  list-style: none;
}
.feature-list li {
  display: grid;
  grid-template-columns: 33px 1fr;
  gap: var(--space-9);
  align-items: center;
  color: var(--muted);
  font-size: var(--font-size-13);
  line-height: var(--line-height-13);
}
.feature-icon img {
  width: 44px;
  height: 44px;
  object-fit: contain;
}
.feature-list b { color: var(--color-5); }
section#about .feature-list b {
  color: var(--color-5);
  font-weight: 600;
}

@media (max-width: 991.98px) {
  .about-section .row.g-5 {
    flex-direction: column;
    gap: 36px;
  }

  .about-section .col-lg-6 {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
  }
}

/* Partners */
.partners-section {
  padding: 110px 20px 120px;
  overflow: hidden;
  background: #0c1a2d;
}
.partners-swiper {
  overflow: hidden;
}
.partner-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 150px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius-6);
  background: #FFFFFF;
}
.partner-logo img {
  max-width: 100%;
  max-height: 150px;
  object-fit: contain;
}

/* Services */
.services-section {
  padding: 0 0 0 0px;
  position: relative;
}
#services .section-dark,
section#services.section-dark {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #090E18 0%, var(--dark) 100%);
}

section#services.section-dark .eyebrow,
section#services.section-dark h2 {
  padding-left: 86px;
}

section#services .service-content .eyebrow {
  padding-left: 0;
}

section#services::before {
  content: "";
  position: absolute;
  width: 289px;
  height: 115px;
  right: -110px;
  top: -40px;
  background: #060505;
  filter: blur(25px);
}
.service-panel {
  position: relative;
  overflow: hidden;
  padding: 105px 38px 165px;
  border-radius: var(--radius-8);
  background: url("../images/our-core-services-back.png") center center / cover no-repeat;
}
.service-bottom-wordmark {
  position: absolute;
  left: 50%;
  bottom: -6px;
  z-index: 1;
  width: calc(100% - 64px);
  max-width: 1611px;
  height: auto;
  opacity: 1;
  transform: translateX(-50%);
  pointer-events: none;
}
.service-tabs {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 56px;
  gap: 20px;
  align-items: center;
  margin: 58px 0 52px;
  padding-bottom: 0;
  border-bottom: 1px solid rgba(255,255,255,.15);
}
.service-tabs button {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%;
  color: var(--color-5);
  background: transparent;
}

.service-tabs button:hover {
  background: #F06015;
  border: 1px solid #F06015;
}

.service-tabs .orange { border: 0; background: var(--orange); }
.service-tabs .swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  padding-bottom: 35px;
}
.service-tab-swiper {
  width: 100%;
}

.service-tab-swiper .swiper-wrapper {
  align-items: center;
}

.service-tab-swiper .swiper-slide span {
  font-size: 25px;
  font-weight: 500;
}

.tab {
  display: flex;
  align-items: center;
  gap: 22px;
  min-height: 74px;
  color: var(--color-5);
  font-size: var(--font-size-12);
  line-height: var(--line-height-12);
  cursor: pointer;
}
.service-tab-icon {
  width: 86px;
  height: 86px;
  flex: 0 0 86px;
  display: grid;
  place-items: center;
  background-image: url("data:image/svg+xml,%3Csvg width='86' height='86' viewBox='0 0 86 86' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle opacity='0.5' cx='43' cy='43' r='42.5' stroke='url(%23paint0_linear_2004_4)' stroke-dasharray='4 4'/%3E%3Ccircle cx='43.5' cy='43.5' r='33.75' stroke='url(%23paint1_linear_2004_4)' stroke-width='1.5'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_2004_4' x1='43' y1='0' x2='43' y2='86' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23459EF3'/%3E%3Cstop offset='1' stop-color='%2362CAC2'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint1_linear_2004_4' x1='43.5' y1='9' x2='43.5' y2='78' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2344A4ED'/%3E%3Cstop offset='1' stop-color='%233CC9C1'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.service-tab-icon img {
  max-width: 35px;
  max-height: 35px;
  object-fit: contain;
}

.swiper-slide:hover .service-tab-icon img {
  filter: invert(35%) sepia(10%) saturate(1472%) hue-rotate(126deg) brightness(108%) contrast(101%);
}

.tab.swiper-slide-thumb-active,
.tab.selected {
  border-bottom: 2px solid var(--cyan);
}

.service-content-swiper {
  position: relative;
  z-index: 2;
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
  border-radius: 0;
}

.service-content {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 720px 1fr;
  align-items: stretch;
  min-height: 584px;
}
.service-visual {
  width: 100%;
  height: 100%;
  min-height: 584px;
  border-radius: var(--radius-1);
  object-fit: cover;
}
.service-content article {
  min-height: 100%;
  padding: 58px 70px;
  background: var(--color-17);
}
.service-content h3 {
  margin-top: 21px;
  font-weight: 500;
}
.service-content article p { margin: 20px 0 0; }
.service-content ul {
  display: grid;
  gap: 17px;
  padding: 26px 0 35px;
  margin: 0;
  list-style: none;
}
.service-content li {
  position: relative;
  padding-left: 36px;
  color: var(--color-5);
  font-size: var(--font-size-3);
  font-weight: 500;
  line-height: var(--line-height-3);
}
.service-content li::before {
  content: " ";
  position: absolute;
  left: 0;
  width: 22px;
  height: 22px;
  margin-right: 10px;
  color: var(--orange);
  background-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.7416 0C13.6082 0.0518017 16.3399 1.22691 18.3488 3.27246C20.3577 5.318 21.4833 8.07045 21.4833 10.9375C21.4833 13.8045 20.3577 16.557 18.3488 18.6025C16.3399 20.6481 13.6082 21.8232 10.7416 21.875C7.87506 21.8232 5.14339 20.6481 3.13448 18.6025C1.12556 16.557 0 13.8045 0 10.9375C0 8.07045 1.12556 5.318 3.13448 3.27246C5.14339 1.22691 7.87506 0.0518017 10.7416 0ZM8.47021 14.4905L5.79164 11.8095C5.57238 11.5895 5.44927 11.2916 5.44927 10.981C5.44927 10.6703 5.57238 10.3724 5.79164 10.1524C6.01201 9.93334 6.31009 9.8104 6.6208 9.8104C6.93151 9.8104 7.2296 9.93334 7.44997 10.1524L9.33687 12.0417L14.0333 7.34524C14.2533 7.12598 14.5513 7.00287 14.8619 7.00287C15.1725 7.00287 15.4704 7.12598 15.6904 7.34524C15.9094 7.56541 16.0323 7.8633 16.0323 8.17381C16.0323 8.48432 15.9094 8.78221 15.6904 9.00238L10.1643 14.5286C10.0521 14.6402 9.9185 14.728 9.77156 14.7867C9.62461 14.8454 9.46732 14.8739 9.30912 14.8703C9.15091 14.8667 8.99506 14.8313 8.8509 14.766C8.70675 14.7007 8.57726 14.607 8.47021 14.4905Z' fill='url(%23paint0_linear_445_11668)'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_445_11668' x1='10.7416' y1='0' x2='10.7416' y2='21.875' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23ED4A18'/%3E%3Cstop offset='1' stop-color='%23C88716'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center left;
  background-size: 22px;
}
/* Case studies */
.case-section {
  padding: 100px 40px 135px;
  background: var(--dark);
}
.section-heading { position: relative; z-index: 2; margin-bottom: 58px; text-align: center; }
.case-grid {
  --case-card-height: 650px;
  --case-inactive-width: 181px;
  --case-active-width: 1026px;
  position: relative;
  z-index: 2;
  display: flex;
  align-items: stretch;
  gap: 12px;
  justify-content: center;
  height: var(--case-card-height);
  overflow: hidden;
}
.case-accordion-card {
  display: flex;
  flex: 0 0 var(--case-inactive-width);
  gap: 0;
  min-width: 0;
  height: 100%;
  border-radius: var(--radius-6);
  overflow: hidden;
  background: var(--color-17);
  cursor: pointer;
  outline: 0;
  transition: flex .65s ease, filter .35s ease, transform .35s ease;
}
.case-accordion-card.active {
  flex: 1 1 var(--case-active-width);
  max-width: var(--case-active-width);
  cursor: default;
}
.case-accordion-card:not(.active):hover,
.case-accordion-card:not(.active):focus-visible {
  filter: brightness(1.08) saturate(1.08);
  transform: translateY(-4px);
}
.case-visual-wrap {
  position: relative;
  flex: 0 0 100%;
  min-width: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--radius-6);
  overflow: hidden;
  transition: flex-basis .65s ease, width .65s ease;
}
.case-accordion-card.active .case-visual-wrap {
  flex: 0 0 46%;
  width: 46%;
  padding: 14px 0 14px 14px;
}
.case-visual {
  width: 100%;
  height: 100%;
  border-radius: var(--radius-6);
  object-fit: cover;
  display: block;
}
.case-accordion-card.active .case-visual {
  border-radius: 12px;
}
.case-visual-wrap img.case-visual {
  background: linear-gradient(180deg, rgba(13, 25, 40, 0) 12.88%, rgba(13, 25, 40, 0.8) 50.61%, #0D1928 100%);
  opacity: 0.5;
}
article.case-accordion-card.active img {
  opacity: 1;
}
.case-card {
  display: flex;
  flex-direction: column;
  flex: 0 0 0;
  width: 0;
  height: 100%;
  min-height: 0;
  padding: 58px 0;
  background: var(--color-17);
  border-radius: 0 var(--radius-6) var(--radius-6) 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transform: translateX(22px);
  transition: flex-basis .65s ease, width .65s ease, padding .65s ease, opacity .35s ease .16s, transform .45s ease .14s;
}
.case-accordion-card:not(.active) .case-card {
  padding: 0;
}
.case-accordion-card:not(.active) .case-card > * {
  visibility: hidden;
}
.case-accordion-card.active .case-card {
  flex: 0 0 54%;
  width: 54%;
  padding: 78px 58px;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}
.case-card h3 {
  margin-bottom: 24px;
  font-size: var(--font-size-10);
  font-weight: 500;
  line-height: var(--line-height-10);
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.case-card hr {
  margin: 0 0 26px;
  border-color: rgba(255,255,255,.18);
  opacity: 1;
}
.case-card h4 {
  margin: 0 0 10px;
  font-size: 22px;
  font-weight: 500;
}
.case-card p + h4 { margin-top: 28px; }
.case-card p {
  display: -webkit-box;
  margin-bottom: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.case-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-shrink: 0;
  padding-top: 34px;
  margin-top: auto;
}
.case-study-link {
  min-width: 174px;
  min-height: 52px;
  gap: 18px;
  padding: 10px 9px 10px 22px;
  font-size: 15px;
  line-height: 1;
}
.case-study-link span {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
}
.case-pdf-link {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 54px;
  border-radius: 50%;
  background: var(--color-5);
  transition: transform .25s ease, box-shadow .25s ease;
}
.case-pdf-link:hover,
.case-pdf-link:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 12px 34px rgba(98, 202, 194, .24);
}
.case-pdf-icon {
  width: 30px;
  height: 30px;
  display: block;
  object-fit: contain;
}
.case-vertical-title {
  position: absolute;
  inset: 28px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  color: var(--color-5);
  font-size: 25px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  max-height: 605px;
  overflow-wrap: break-word;
  word-break: break-word;
  opacity: 1;
  transition: opacity .28s ease, transform .35s ease;
}
.case-accordion-card.active .case-vertical-title {
  opacity: 0;
  transform: rotate(180deg) translateY(12px);
  pointer-events: none;
}
.vertical-card-panel {
  position: relative;
  min-height: 650px;
  border-radius: var(--radius-6);
  overflow: hidden;
}
.vertical-card-img {
  width: 100%;
  height: 650px;
  border-radius: var(--radius-6);
  object-fit: cover;
  display: block;
}
.vertical-card-panel h3 {
  position: absolute;
  inset: 28px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  color: var(--color-5);
  font-size: var(--font-size-12);
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  max-height: 605px;
  overflow-wrap: break-word;
  word-break: break-word;
}
.vertical-card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 650px;
  padding: 24px;
  border-radius: var(--radius-6);
  background:
    radial-gradient(circle at 50% 18%, rgba(98,202,194,.2), transparent 28%),
    linear-gradient(180deg, rgba(20,35,52,.65), rgba(20,35,52,.95));
  color: var(--color-5);
  font-size: var(--font-size-12);
  line-height: var(--line-height-12);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

/* Mission */
.mission-section {
  padding: 122px 40px;
  background: url("../images/business-edge.png") center center / cover no-repeat;
}
.accordion-stack { display: grid; gap: 30px; margin-top: 50px; }
.accordion-stack article {
  position: relative;
  min-height: 106px;
  padding: 34px 48px;
  border-radius: var(--radius-6);
  background: var(--color-17);
}
.accordion-stack .open { min-height: 250px; }
.accordion-stack span {
  font-size: 25px;
  font-weight: 500;
  line-height: 33px;
}
.mission-toggle {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-5);
  display: flex;
  align-items: center;
  gap: 24px;
  text-align: left;
  font-size: var(--font-size-10);
  font-weight: var(--font-weight-6);
  line-height: var(--line-height-10);
  cursor: pointer;
}
.mission-toggle > span:nth-child(2) {
  flex: 1 1 auto;
}
.mission-arrow {
  width: 21px;
  height: 12px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 21px;
  color: var(--color-5);
  margin-left: auto;
}
.mission-arrow svg {
  grid-area: 1 / 1;
  width: 21px;
  height: 12px;
}
.mission-toggle[aria-expanded="true"] .mission-arrow__down,
.mission-toggle[aria-expanded="false"] .mission-arrow__up {
  display: none;
}
.mission-icon {
  width: 65.47px;
  height: 65.47px;
  display: grid;
  place-items: center;
  flex: 0 0 65.47px;
  border-radius: 50%;
  background: linear-gradient(180deg, #459EF3 0%, #3BCEBB 100%);
}
.mission-icon img {
  max-width: 39px;
  max-height: 39px;
  object-fit: contain;
}
.mission-panel { padding-left: 89.47px; }
.accordion-stack p { margin: 18px 0; }
.explore-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  transition: color .25s ease;
}
.explore-link:hover,
.explore-link:focus-visible {
  color: #62cac2;
}
.explore-link img {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
}
.mission-panel[hidden] { display: none; }
.mission-image {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-6);
}
.mission-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(2, 21, 47, 0) 39.84%, #02152F 100%);
  pointer-events: none;
}
.mission-visual {
  width: 100%;
  height: 830px;
  border-radius: var(--radius-6);
  object-fit: cover;
  display: block;
}
.stat-row {
  position: absolute;
  left: 44px;
  right: 44px;
  bottom: 43px;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.stat-row div {
  min-height: 170px;
  display: grid;
  place-items: center;
  padding: 20px;
  border-radius: var(--radius-6);
  background: rgba(255,255,255,.18);
  backdrop-filter: blur(20px);
  text-align: center;
}
.stat-row b {
  font-family: var(--font-heading);
  font-size: var(--font-size-27);
  line-height: var(--line-height-27);
}
.stat-row img {
  width: 29px;
  height: 29px;
}
.stat-row span { font-size: var(--font-size-1); line-height: var(--line-height-1); }

/* Industries */
.industries-section {
  padding: 120px 40px 135px;
  background: url("../images/industries-we-serve-background.png") center center / cover no-repeat;
}
.industries-section::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 20px;
  z-index: 1;
  width: min(var(--container), calc(100% - 24px));
  height: 260px;
  background: url("../images/industries-background-bottom.png") center bottom / 100% auto no-repeat;
  pointer-events: none;
  transform: translateX(-50%);
}
section#industries .section-heading {
  margin-bottom: 0;
}
.industry-slider-wrap {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  padding: 22px 40px 96px;
  overflow: hidden;
  clip-path: none;
}
.industry-swiper {
  --industry-card-height: 672px;
  width: 100%;
  overflow: hidden;
  padding: 44px 0 72px;
}
.industry-swiper .swiper-wrapper {
  align-items: stretch;
}
.industry-swiper .swiper-slide {
  height: var(--industry-card-height);
}
.industry-card {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: var(--industry-card-height);
  min-height: var(--industry-card-height);
  box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius-8);
  background: var(--color-17);
  box-shadow: 0 30px 80px rgba(0, 0, 0, .28);
  transform: none;
  transition: opacity .7s ease, box-shadow .7s ease;
}
.industry-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, transparent 20%, rgba(1, 6, 13, .32) 58%, rgba(1, 6, 13, .88) 100%),
    linear-gradient(135deg, rgba(98, 202, 194, .08), rgba(240, 96, 21, .18));
}
.industry-card::after {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: 2;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,.2), transparent 36%, rgba(98,202,194,.12));
  opacity: 0;
  transition: opacity .5s ease;
  pointer-events: none;
}
.industry-card:hover::after,
.industry-card.swiper-slide-active::after { opacity: 1; }
.industry-card.swiper-slide-active {
  box-shadow: 0 44px 110px rgba(0, 0, 0, .42), 0 0 70px rgba(65, 175, 223, .18);
}
.industry-visual {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .8s ease, filter .7s ease;
}
.industry-card:hover .industry-visual,
.industry-card.swiper-slide-active .industry-visual {
  transform: scale(1.08);
}
.industry-card:not(.swiper-slide-active) .industry-visual {
  filter: saturate(.88) brightness(.74);
}
.industry-side-title {
  position: absolute;
  left: 131px;
  bottom: 40px;
  z-index: 3;
  margin: 0;
  color: var(--color-5);
  text-shadow: 0 10px 30px rgba(0,0,0,.45);
  transition: opacity .35s ease, transform .35s ease;
}
.industry-card.swiper-slide-active .industry-side-title {
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
}
.industry-content {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 32px;
  z-index: 4;
  max-height: calc(100% - 64px);
  overflow: auto;
  box-sizing: border-box;
  padding: 34px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 20px;
  background: rgba(151, 151, 151, 0.2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 24px 80px rgba(0,0,0,.32);
  backdrop-filter: blur(25px);
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .5s ease, transform .5s ease;
  pointer-events: none;
}
.industry-card.swiper-slide-active .industry-content {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.industry-content h3 { margin-bottom: 14px; }
.industry-content p { margin-bottom: 18px; }
.industry-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 18px;
}
.industry-metrics .industry-feature {
  margin-bottom: 0;
}
.industry-feature {
  display: flex;
  align-items: center;
  gap: 10px;
}
p.industry-feature {
  font-weight: 700;
  color: #fff;
}
.industry-feature img {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
}
.industry-feature-icon {
  width: 14px;
  height: 24px;
  flex: 0 0 14px;
  color: #F06015;
}
.industry-clock-icon {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  color: #F06015;
}
.industry-growth-icon {
  width: 19px;
  height: 21px;
  flex: 0 0 19px;
  color: #F06015;
}
.industry-feature span {
  display: grid;
  gap: 2px;
}
.industry-feature-inline span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.industry-feature b {
  color: var(--color-5);
  font-weight: 700;
}
.industry-feature.industry-feature-inline b {
  color: var(--color-5);
  font-weight: 400;
}
.industry-nav {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 4;
  display: inline-flex;
  gap: 18px;
  transform: translateX(-50%);
}
.industry-nav button {
  width: 62px;
  height: 62px;
  border: 1px solid #ffffff;
  border-radius: 50%;
  color: var(--color-5);
  background: rgba(20, 35, 52, .74);
  box-shadow: 0 16px 46px rgba(0,0,0,.28);
  backdrop-filter: blur(16px);
  transition: transform .25s ease, background .25s ease, border-color .25s ease;
}
.industry-nav button:hover {
  transform: translateY(-3px);
  border-color: var(--cyan);
  background: var(--orange);
}

/* Achievements */
.achievement-section {
  padding: 0 40px 120px;
  background: var(--dark);
}
.achievement-panel {
  position: relative;
  overflow: hidden;
  padding: 78px 90px 175px;
  border-radius: 30px !important;
  background: url("../images/what-we-achieve-bottom-back.png") center bottom / 100% auto no-repeat;
  background-size: cover;
  box-shadow: 0 34px 90px rgba(0,0,0,.34);
  text-align: center;
}
.achievement-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0 42%, rgba(5, 10, 18, .16) 100%);
  pointer-events: none;
}
.achievement-panel > * {
  position: relative;
  z-index: 2;
}
.achievement-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 42px;
  margin-top: 62px;
}
.achievement-grid div {
  display: grid;
  justify-items: center;
  gap: 12px;
  min-height: 190px;
  padding: 5px 24px 0;
  border-right: 1px dashed rgba(255,255,255,.24);
}
.achievement-grid div:last-child { border: 0; }
.achievement-icon {
  width: 80px;
  height: 80px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 8px;
  border: 1px solid #62CAC2;
  border-radius: 50%;
  background: rgba(98, 202, 194, .06);
  box-shadow: 0 0 35px rgba(98,202,194,.12);
}
.achievement-icon img {
  max-width: 46px;
  max-height: 46px;
  object-fit: contain;
}
.achievement-grid b {
  display: block;
  font-family: var(--font-heading);
  font-size: var(--font-size-25);
  font-weight: var(--font-weight-25);
  line-height: var(--line-height-25);
}
.achievement-grid span {
  color: var(--color-5);
  font-size: var(--font-size-1);
  line-height: var(--line-height-1);
}

/* Technology */
.technology-section {
  padding: 108px 40px;
  background: url("../images/our-technology-stack-back.png");
  background-repeat: no-repeat;
  background-size: cover;
}
.tech-panel {
  margin-top: 48px;
  overflow: hidden;
  border-radius: var(--radius-6);
  border: 1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(20, 35, 52, .88), rgba(8, 17, 30, .94)),
    var(--color-17);
  box-shadow: 0 34px 100px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.1);
  text-align: center;
}
.tech-title {
  padding: 23px;
  color: var(--color-5);
  font-size: 28px;
  font-weight: 600;
  background: linear-gradient(239.31deg, #3BCEBB 0.74%, #0E74E1 60.71%);
}
.tech-tab-swiper,
.tech-slider-row {
  display: grid;
  align-items: center;
  gap: 28px;
  padding: 45px 40px 30px;
}
.tech-tab-swiper {
  overflow: hidden;
}
.tech-tabs {
  align-items: center;
}
section#technology .tech-tabs button {
  position: relative;
  width: auto;
  min-height: 76px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 18px 22px;
  border: 0;
  border-radius: 0;
  color: var(--color-5);
  background: transparent;
  font-size: var(--font-size-1);
  line-height: var(--line-height-1);
  white-space: nowrap;
  opacity: 1;
  transition: color .25s ease, opacity .25s ease, transform .25s ease;
}
.tech-tabs button::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 0;
  height: 2px;
  border-radius: 99px;
  background: var(--cyan);
  opacity: 0;
  transform: scaleX(.42);
  transition: opacity .25s ease, transform .25s ease;
}
.tech-tabs button img {
  width: 25px;
  height: 25px;
  object-fit: contain;
  filter: drop-shadow(0 0 12px rgba(98, 202, 194, .2));
}
.tech-tabs button:hover,
.tech-tabs button.active,
.tech-tabs button.swiper-slide-active {
  color: var(--color-5);
  opacity: 1;
  transform: translateY(-2px);
}
.tech-tabs button:hover::after,
.tech-tabs button.active::after,
.tech-tabs button.swiper-slide-active::after {
  opacity: 1;
  transform: scaleX(1);
}
.tech-slider-row { grid-template-columns: 56px minmax(0, 1fr) 56px; padding-top: 25px; }
.tech-swiper {
  width: 100%;
  box-sizing: border-box;
  padding: 5px 1px;
  margin: -5px -1px;
}
.tech-swiper .swiper-wrapper {
  align-items: stretch;
}
.tech-swiper .swiper-slide {
  height: auto;
}
.tech-card {
  position: relative;
  box-sizing: border-box;
  min-height: 150px;
  height: 100%;
  display: grid;
  gap: 12px;
  place-items: center;
  padding: 24px 18px 22px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius-6);
  background-clip: padding-box;
  background:
    radial-gradient(circle at 50% 0%, rgba(98, 202, 194, .1), transparent 48%),
    var(--color-20);
  color: var(--color-5);
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease, background .3s ease;
}
.tech-card-icon {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(98, 202, 194, .42);
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 18px rgba(98, 202, 194, .08), 0 0 22px rgba(98, 202, 194, .08);
  transition: background .3s ease, border-color .3s ease;
}
.tech-card-icon img {
  width: 26px;
  height: 26px;
  object-fit: contain;
  filter: drop-shadow(0 0 16px rgba(98, 202, 194, .22));
  transition: filter .3s ease;
}
.tech-card-icon img.tech-cloud-icon {
  width: 36px;
  height: 32px;
}
.tech-card > span:last-child {
  display: block;
  font-size: var(--font-size-1);
  font-weight: var(--font-weight-3);
  line-height: var(--line-height-1);
}
.tech-card:hover,
.tech-card.active,
.tech-card.swiper-slide-active {
  z-index: 2;
  transform: translateY(-4px);
  border: 1px solid var(--orange);
  background:
    radial-gradient(circle at 50% 0%, rgba(240, 96, 21, .13), transparent 48%),
    var(--color-20);
  box-shadow: 0 0 40px rgba(240,96,21,.35);
}
.tech-card:hover .tech-card-icon {
  border-color: var(--orange);
  background: var(--orange);
}
.tech-card:hover .tech-card-icon img {
  filter: brightness(0) invert(1) drop-shadow(0 0 16px rgba(255, 255, 255, .2));
}
.tech-card:hover .tech-card-icon img.tech-cloud-icon {
  filter: drop-shadow(0 0 16px rgba(255, 255, 255, .28));
}
.tech-slider-row button {
  width: 56px;
  height: 56px;
  border: 1px solid var(--color-5);
  border-radius: 50%;
  color: var(--color-5);
  background: transparent;
  transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}
.tech-slider-row button:hover {
  border-color: #F06015;
  color: var(--color-5);
  background: #F06015;
  transform: translateY(-3px);
}
.tech-panel > .btn { margin: 40px 0 60px; }

/* Blogs */
.insights-section {
  padding: 105px 40px 120px;
  background:
    url("../images/Latest Insights And Innovations-back.png") center / cover no-repeat,
    var(--dark);
}
.blog-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}
.blog-grid article {
  position: relative;
  overflow: hidden;
  min-height: 300px;
  padding: 58px 42px;
  border: 1px solid #2c2c2c;
  border-radius: var(--radius-6);
  background:
    var(--blog-bg, none) right center / cover no-repeat,
    var(--color-15);
}
.blog-grid article:nth-child(1) { --blog-bg: url("../images/blog-financial-diagram.png"); }
.blog-grid article:nth-child(2) { --blog-bg: url("../images/blog-technology-firms.png"); }
.blog-grid article:nth-child(3) { --blog-bg: url("../images/blog-validation.png"); }
.blog-grid article:nth-child(4) { --blog-bg: url("../images/blog-technology-control.png"); }
.blog-grid article::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, var(--color-7) 18%, rgb(58 58 58 / 78%) 48%, rgba(8, 17, 30, .1) 80%);
}
.blog-grid span, .blog-grid h3, .blog-grid a {
  position: relative;
  z-index: 2;
}
.blog-grid span {
  color: var(--color-5);
  font-size: var(--font-size-3);
  line-height: var(--line-height-3);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
}
.blog-grid .blog-date {
  display: inline-flex;
  align-items: center;
  gap: 11px;
}
.blog-grid .blog-date svg {
  width: 11px;
  height: 11px;
  flex: 0 0 11px;
}
.blog-grid h3 { max-width: 520px; margin: 20px 0 28px; }
.blog-grid a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--color-5);
  font-weight: var(--font-weight-3);
  text-transform: uppercase;
}

.blog-grid a:hover {
  color: #62CAC2;
}

.blog-grid a::after {
  content: "";
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border-radius: 50%;
  background: #62CAC2 url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='12' fill='%2362CAC2'/%3E%3Cpath d='M15 9.5C15 9.22386 14.7761 9 14.5 9L10 9C9.72386 9 9.5 9.22386 9.5 9.5C9.5 9.77614 9.72386 10 10 10L14 10L14 14C14 14.2761 14.2239 14.5 14.5 14.5C14.7761 14.5 15 14.2761 15 14L15 9.5ZM9.5 14.5L9.85355 14.8536L14.8536 9.85355L14.5 9.5L14.1464 9.14645L9.14645 14.1464L9.5 14.5Z' fill='white'/%3E%3C/svg%3E") center / contain no-repeat;
}
.blog-grid .blog-card__overlay-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  gap: 0;
}
.blog-grid .blog-card__overlay-link::after {
  content: none;
}

/* Contact */
.contact-section {
  padding: 130px 40px;
  background: url("../images/contact-us-background.jpg") center bottom / cover no-repeat;
}
.contact-section p.copy {
  padding-top: 20px;
}
section#contact .align-items-center {
  align-items: baseline !important;
  gap: 60px;
}
.contact-form {
  padding: 42px;
  border: 1px solid var(--cyan);
  border-radius: 20px;
  background: var(--color-7);
}
.contact-form label {
  display: block;
  margin-bottom: 16px;
  color: var(--color-5);
  font-size: var(--font-size-3);
  font-weight: var(--font-weight-3);
}
.contact-form input {
  width: 100%;
  height: 44px;
  margin-top: 8px;
  border: 0;
  border-radius: 10px;
  background: var(--color-5);
}

.contact-form .gform_wrapper {
  margin: 0;
}

.contact-form .gform_wrapper .gform_fields {
  display: grid;
  gap: 16px;
}

.contact-form .gfield {
  margin: 0;
}

.contact-form .gform-field-label,
.contact-form .gfield_label {
  display: block !important;
  margin: 0 !important;
  color: var(--color-5) !important;
  font-family: var(--font-primary) !important;
  font-size: var(--font-size-3) !important;
  font-weight: var(--font-weight-3) !important;
  line-height: var(--line-height-1) !important;
}

.contact-form .gfield_required {
  color: inherit;
}

.contact-form .gfield_required_text {
  display: none !important;
}

.contact-form .gfield_required::before {
  content: "*";
  font-size: 20px;
  color: #fff;
}

.contact-form .ginput_container {
  margin: 0;
}

.contact-form .gform_wrapper input:not([type="hidden"]):not([type="submit"]),
.contact-form .gform_wrapper textarea,
.contact-form .newsletter input {
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  margin-top: 8px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--color-5) !important;
  color: var(--color-3) !important;
  font-family: var(--font-primary) !important;
  font-size: var(--font-size-3) !important;
  line-height: var(--line-height-3) !important;
}

.contact-form .gform_wrapper textarea {
  height: 120px;
  padding: 12px 14px;
}

.contact-form .gfield_html,
.contact-form .gfield_html p {
  margin: 0;
  color: rgba(255, 255, 255, .72);
  font-size: var(--font-size-1);
  line-height: var(--line-height-1);
}

.contact-form .gfield_html {
  margin-top: 2px;
}

.contact-form .gform-footer,
.contact-form .gform_footer {
  margin: 27px 0 0 !important;
  padding: 0 !important;
}

.contact-form .gform_wrapper .gform-footer .btn,
.contact-form .gform_wrapper .gform_footer .btn,
.contact-form .gform_wrapper button.btn {
  min-height: 65px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--space-5) !important;
  padding: 10px 10px 10px 30px !important;
  border-radius: var(--radius-11) !important;
  border: 1px solid transparent !important;
  background: var(--cyan) !important;
  color: var(--color-5) !important;
  font-family: var(--font-primary) !important;
  font-size: var(--font-size-3) !important;
  font-weight: var(--font-weight-3) !important;
  line-height: var(--line-height-3) !important;
  text-transform: uppercase !important;
}

.contact-form .gform_wrapper .btn span {
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: var(--color-5) !important;
  color: var(--cyan) !important;
}

.contact-form .gform_wrapper .gform-footer .btn:hover,
.contact-form .gform_wrapper .gform-footer .btn:focus-visible,
.contact-form .gform_wrapper .gform_footer .btn:hover,
.contact-form .gform_wrapper .gform_footer .btn:focus-visible,
.contact-form .gform_wrapper button.btn:hover,
.contact-form .gform_wrapper button.btn:focus-visible {
  background: var(--color-1) !important;
  border-color: var(--color-1) !important;
  color: var(--color-5) !important;
  transform: translateY(-3px);
  box-shadow: 0 16px 38px rgba(98, 202, 194, .18), 0 8px 22px rgba(240, 96, 21, .16);
}

.contact-form .gform_wrapper .btn:hover span,
.contact-form .gform_wrapper .btn:focus-visible span {
  background: var(--color-5) !important;
  color: var(--color-1) !important;
  transform: translateX(4px) rotate(45deg);
}
.contact-form p { margin: var(--space-5) 0 var(--space-10); font-size: var(--font-size-1); line-height: var(--line-height-1); }

/* Footer */
.site-footer {
  padding: 105px 55px 41px;
  background: url("../images/footer-background.png") center center / cover no-repeat;
}
.site-footer .design-container {
  max-width: 100%;
  padding-left: 20px;
  padding-right: 20px;
}
.footer-card {
  display: grid;
  grid-template-columns: 1fr 1.5fr 1.2fr .9fr .9fr 2fr;
  gap: 44px;
  padding: 70px 50px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: var(--radius-8);
}
.footer-card h3 {
  margin-bottom: var(--space-8);
  font-size: var(--font-size-10);
  line-height: var(--line-height-10);
  font-weight: 500;
}
.footer-card a, .footer-card p {
  display: block;
  margin-bottom: 12px;
  color: var(--color-5);
  font-size: var(--font-size-1);
  line-height: var(--line-height-1);
}
.newsletter input {
  width: 100%;
  height: 58px;
  margin: 16px 0 4px;
  padding: 0 24px;
  border: 0;
  border-radius: var(--radius-11);
}
.newsletter input::placeholder {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 23px;
  color: #4E4E4E;
}

input#input_7_1::placeholder {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 23px;
  color: #4E4E4E;
}

div#gform_7_validation_container {
  display: none;
}

div#gform_confirmation_message_1 {
  font-size: 25px;
  line-height: 35px;
}

.contact-form .gform_validation_errors,
.contact-form .validation_error,
.contact-page-form .gform_validation_errors,
.contact-page-form .validation_error {
  display: none !important;
}

.newsletter .gform_wrapper,
.newsletter .gform_body,
.newsletter .gform_fields {
  display: block;
}
.newsletter .gform_fields {
  margin: 0;
  padding: 0;
}
.newsletter .gfield {
  margin: 0;
  padding: 0;
  list-style: none;
}
.newsletter .gform-field-label,
.newsletter .gfield_label,
.newsletter .gform_required_legend {
  display: none;
}
.newsletter .gform_wrapper input:not([type="hidden"]):not([type="submit"]) {
  width: 100%;
  height: 58px;
  margin: 16px 0 4px;
  padding: 0 24px;
  border: 0;
  border-radius: var(--radius-11);
}
.newsletter .gform_validation_errors {
  margin: 12px 0 10px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(240, 96, 21, .55) !important;
  border-radius: 12px !important;
  background: rgba(240, 96, 21, .12) !important;
  box-shadow: none !important;
}
.newsletter .gform_validation_errors h2,
.newsletter .gform_submission_error {
  margin: 0 !important;
  color: var(--color-5) !important;
  font-family: var(--font-primary) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}
.newsletter .gfield_error input:not([type="hidden"]):not([type="submit"]) {
  border: 1px solid rgba(240, 96, 21, .82) !important;
  background: rgba(255,255,255,.96) !important;
}
.newsletter .validation_message,
.newsletter .gfield_validation_message,
.newsletter .gform-field-label--type-sub {
  margin: 6px 0 4px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #ffb199 !important;
  font-family: var(--font-primary) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}
.newsletter .gform_confirmation_message {
  margin: 14px 0 0;
  padding: 13px 14px;
  border: 1px solid rgba(98, 202, 194, .55);
  border-radius: 12px;
  background: rgba(98, 202, 194, .12);
  color: var(--color-5);
  font-size: 13px;
  line-height: 1.5;
}
.newsletter .gform_footer,
.newsletter .gform-footer {
  margin: 0;
  padding: 0;
}
.newsletter .btn {
  width: 100% !important;
  box-sizing: border-box;
  position: relative;
  min-height: 65px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--space-5) !important;
  padding: 10px 10px 10px 30px !important;
  border-radius: var(--radius-11) !important;
  border: 1px solid transparent !important;
  background: var(--cyan) !important;
  color: var(--color-5) !important;
  font-family: var(--font-primary) !important;
  font-size: var(--font-size-3) !important;
  font-weight: var(--font-weight-3) !important;
  line-height: var(--line-height-3) !important;
  text-align: center;
  text-transform: uppercase !important;
}
.newsletter .btn .btn-icon {
  position: absolute;
  right: 10px;
  flex: 0 0 auto;
  width: 42px !important;
  height: 42px !important;
  margin-left: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: var(--color-5) !important;
  color: var(--cyan) !important;
}
.newsletter .btn:hover,
.newsletter .btn:focus-visible {
  background: var(--color-1) !important;
  border-color: var(--color-1) !important;
  color: var(--color-5) !important;
}
.newsletter .btn:hover .btn-icon,
.newsletter .btn:focus-visible .btn-icon {
  background: var(--color-5) !important;
  color: var(--color-1) !important;
}
.footer-bottom {
  display: flex;
  flex-direction: column;
  gap: 28px;
  margin-top: 50px;
}
.footer-brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.footer-logo,
.footer-brand-row img {
  display: block;
}
.footer-legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,.14);
}
.footer-legal p,
.footer-legal a {
  margin: 0;
  color: var(--color-5);
  font-size: var(--font-size-1);
  line-height: var(--line-height-1);
}
.footer-policy {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
}
.footer-social {
  display: inline-flex;
  align-items: center;
  gap: 18px;
}
.footer-policy {
  justify-content: flex-end;
}
.footer-policy ul,
.footer-policy .menu {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer-policy li {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
}
.footer-legal a {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid #62CAC2;
  border-radius: 50%;
  background: rgba(98, 202, 194, .04);
  transition: transform .28s ease, background .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.footer-social img {
  display: block;
  max-width: 22px;
  max-height: 22px;
  object-fit: contain;
  transition: filter .28s ease, transform .28s ease;
}
.footer-social a:hover,
.footer-social a:focus-visible {
  border-color: var(--color-1);
  background: var(--color-1);
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(240, 96, 21, .24), 0 8px 22px rgba(98, 202, 194, .12);
}
.footer-social a:hover img,
.footer-social a:focus-visible img {
  filter: brightness(0) invert(1);
  transform: scale(1.06);
}
.footer-policy li:not(:last-child)::after {
  content: "|";
  margin: 0 16px;
  color: rgba(255,255,255,.72);
}

/* 404 */
.error-section {
  min-height: 100vh;
  padding: 190px 40px 120px;
}

.error-section-clean {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100svh;
  padding: 80px 24px;
}

.error-section .design-container {
  position: relative;
  z-index: 1;
}

.error-section-clean .design-container {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100svh - 160px);
  padding-top: 0 !important;
}

.error-clean-content {
  position: relative;
  width: min(100%, 820px);
  margin: 0 auto;
  text-align: center;
}

.error-clean-code {
  display: inline-block;
  margin: 0 0 24px;
  color: transparent;
  background: linear-gradient(180deg, #ffffff 0%, rgba(98, 202, 194, .96) 52%, rgba(240, 96, 21, .94) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(108px, 16vw, 190px);
  font-weight: 900;
  line-height: .82;
  letter-spacing: 0;
  text-shadow: 0 26px 80px rgba(0,0,0,.28);
}

.error-clean-content h1 {
  max-width: 760px;
  margin: 0 auto 22px;
}

.error-clean-content .copy {
  max-width: 620px;
  margin: 0 auto 34px;
  color: rgba(255,255,255,.78);
}

.error-clean-content .error-actions {
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
}

.error-clean-content .error-actions .btn {
  min-width: 210px;
  justify-content: center;
  box-shadow: 0 18px 42px rgba(98, 202, 194, .2);
}

.error-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 600px);
  gap: 80px;
  align-items: center;
}

.error-content {
  max-width: 780px;
}

.error-content h1 {
  max-width: 720px;
  margin-bottom: 26px;
}

.error-content .copy {
  max-width: 660px;
  margin-bottom: 34px;
}

.error-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  width: min(100%, 720px);
  margin-bottom: 26px;
  padding: 10px;
  border: 1px solid rgba(98, 202, 194, .32);
  border-radius: 999px;
  background: rgba(13, 25, 40, .78);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 26px 80px rgba(0,0,0,.24);
}

.error-search input {
  width: 100%;
  min-width: 0;
  min-height: 58px;
  padding: 0 24px;
  border: 0;
  border-radius: 999px;
  outline: 0;
  background: transparent;
  color: var(--color-5);
  font: inherit;
}

.error-search input::placeholder {
  color: rgba(255,255,255,.58);
}

.error-search input:focus {
  box-shadow: inset 0 0 0 1px rgba(98, 202, 194, .6);
}

.error-search .btn {
  white-space: nowrap;
}

.error-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 28px;
  margin-bottom: 38px;
}

.error-secondary-link {
  color: var(--color-5);
  font-size: var(--font-size-3);
  font-weight: 700;
  line-height: var(--line-height-3);
  text-transform: uppercase;
  text-decoration: underline;
  text-decoration-color: rgba(98, 202, 194, .7);
  text-underline-offset: 7px;
  transition: color .25s ease, text-decoration-color .25s ease;
}

.error-secondary-link:hover,
.error-secondary-link:focus-visible {
  color: var(--color-8);
  text-decoration-color: var(--color-1);
}

.error-suggestions {
  display: grid;
  gap: 16px;
}

.error-suggestions p {
  color: rgba(255,255,255,.72);
  font-size: 16px;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: 1.8px;
}

.error-suggestions ul {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.error-suggestions a {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 10px 18px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: var(--color-5);
  font-size: 16px;
  line-height: 22px;
  transition: border-color .25s ease, background .25s ease, color .25s ease, transform .25s ease;
}

.error-suggestions a:hover,
.error-suggestions a:focus-visible {
  border-color: var(--color-8);
  background: rgba(98, 202, 194, .1);
  color: var(--color-8);
  transform: translateY(-2px);
}

.error-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 560px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius-6);
  background:
    linear-gradient(135deg, rgba(98, 202, 194, .16), transparent 38%),
    linear-gradient(315deg, rgba(240, 96, 21, .18), transparent 42%),
    rgba(13, 25, 40, .72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 32px 110px rgba(0,0,0,.36);
}

.error-visual::before {
  content: "";
  position: absolute;
  inset: 26px;
  border: 1px solid rgba(98, 202, 194, .22);
  border-radius: calc(var(--radius-6) - 8px);
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.9), rgba(0,0,0,.18));
}

.error-code {
  position: relative;
  z-index: 2;
  color: transparent;
  background: linear-gradient(180deg, #ffffff 0%, rgba(98, 202, 194, .9) 48%, rgba(240, 96, 21, .92) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(118px, 12vw, 210px);
  font-weight: 900;
  line-height: .9;
  letter-spacing: 0;
}

.error-image {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: .28;
  object-fit: cover;
}

.error-signal {
  position: absolute;
  inset: auto 54px 54px auto;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 18px);
  gap: 10px;
}

.error-signal span {
  width: 18px;
  height: 18px;
  border: 1px solid rgba(98, 202, 194, .82);
  background: rgba(98, 202, 194, .16);
  transform: rotate(45deg);
}

.gform_wrapper.gform-theme--framework .gfield .iti__country {

    padding: 12px var(--iti-spacer-horizontal);

    color: #000;

}
 
.gform_wrapper .gfield .iti input.iti__tel-input, body .gform_wrapper .gfield .iti input.iti__tel-input[type=tel], body .gform_wrapper .gfield .iti input.iti__tel-input[type=text] {

    position: relative;

    z-index: 0;

    margin: 0 !important;

    color: #b1aeae !important;

}
 