@font-face {
  font-family: Acumin Pro;
  src: url('../fonts/fonnts.com-Acumin_Pro_ExtraCondensed_Bold.otf') format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --off-white: #fbfcf7;
  --_type---inter: Inter, sans-serif;
  --gray: #505050;
  --_paddings---20px: 1.25rem;
  --_paddings---16px: 1rem;
  --white: white;
  --_paddings---24px: 1.5rem;
  --_paddings---10px: .625rem;
  --_paddings---36px: 2.25rem;
  --_paddings---8px: .5rem;
  --_paddings---rounded: 100vw;
  --blue: #41ace2;
  --_type---acumin-pro: "Acumin Pro", Arial, sans-serif;
  --_paddings---40px: 2.5rem;
  --_paddings---5px: .3125rem;
  --_paddings---32px: 2rem;
  --black: #000;
  --_paddings---60px: 3.75rem;
  --_paddings---48px: 3rem;
  --mid-gray: #949593;
  --_paddings---12px: .75rem;
  --light-gray: #d9d9d9;
  --_paddings---80px: 5rem;
}

body {
  background-color: var(--off-white);
  font-family: var(--_type---inter);
  color: var(--gray);
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.2;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
}

p {
  margin-bottom: 0;
}

a {
  color: var(--gray);
  text-decoration: none;
}

img {
  object-fit: cover;
  width: 100%;
  max-width: 100%;
  display: inline-block;
}

.page-wrap {
  position: relative;
}

.container {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.padding-horizontal-small {
  padding-right: var(--_paddings---20px);
  padding-left: var(--_paddings---20px);
}

.hero-section {
  z-index: 8;
  position: relative;
  overflow: clip;
}

.hero-component {
  flex-flow: column;
  justify-content: flex-end;
  align-items: flex-start;
  min-height: 100dvh;
  display: flex;
}

.navbar-component {
  padding: var(--_paddings---24px) var(--_paddings---20px);
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  justify-content: space-between;
  align-items: center;
  min-height: 8rem;
  display: flex;
}

.navbar-component.menu {
  padding-left: 0;
  padding-right: 0;
}

.navbar-component._10-grid:where(.w-variant-bb81c57c-5248-0a8d-bdc4-8657f4af95cd) {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.navbar-left {
  grid-column-gap: 8.5625rem;
  grid-row-gap: 8.5625rem;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.navbar-right {
  z-index: 9;
  grid-column-gap: var(--_paddings---10px);
  grid-row-gap: var(--_paddings---10px);
  pointer-events: auto;
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.brand-logo.w--current {
  z-index: 9;
  color: var(--gray);
}

.brand-logo.menu {
  color: var(--white);
}

.brand-logo-svg {
  max-width: 13.1875rem;
  display: flex;
}

.nav-links-wrap {
  grid-column-gap: var(--_paddings---36px);
  grid-row-gap: var(--_paddings---8px);
  grid-template-rows: auto auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.nav-link.font-medium {
  height: 1.2rem;
  overflow: clip;
}

.t-16 {
  letter-spacing: -.05em;
  font-size: 1rem;
  line-height: 1.2;
}

.t-16.no-spacing {
  letter-spacing: 0;
  font-weight: 400;
  line-height: 1;
}

.font-medium {
  font-weight: 500;
}

.projects-count {
  margin-top: .1rem;
  font-size: .75rem;
  line-height: 1;
}

.count-wrap {
  grid-column-gap: .1875rem;
  grid-row-gap: .1875rem;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.button-main {
  padding: var(--_paddings---16px) var(--_paddings---24px);
  grid-column-gap: var(--_paddings---10px);
  grid-row-gap: var(--_paddings---10px);
  border-radius: var(--_paddings---rounded);
  background-color: var(--blue);
  color: var(--white);
  text-transform: uppercase;
  justify-content: center;
  align-items: center;
  display: flex;
}

.button-main.font-semibold {
  text-align: center;
}

.button-main.font-semibold:where(.w-variant-2e4d451f-964e-f7e2-97a8-77ced93cdbea), .button-main.font-semibold.secondary {
  background-color: var(--gray);
}

.button-main.font-semibold.submit-btn {
  text-transform: none;
  position: relative;
}

.button-main.font-semibold.submit-btn._2 {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
}

.t-13 {
  letter-spacing: -.05em;
  font-size: .8125rem;
  line-height: 1.1;
}

.font-semibold {
  font-weight: 600;
}

.text-wrap {
  height: 1rem;
  overflow: clip;
}

.button-box {
  background-color: var(--white);
  width: .4375rem;
  height: .4375rem;
}

.navbar-wrap {
  z-index: 9;
  position: fixed;
  inset: 0% 0% auto;
  overflow: clip;
}

.navbar-wrap:where(.w-variant-bb81c57c-5248-0a8d-bdc4-8657f4af95cd) {
  position: sticky;
}

.nav-menu {
  z-index: 8;
  padding-top: var(--_paddings---20px);
  padding-bottom: var(--_paddings---20px);
  background-color: var(--blue);
  justify-content: flex-start;
  align-items: center;
  min-height: 92.25dvh;
  display: flex;
}

.menu-links {
  grid-column-gap: var(--_paddings---16px);
  grid-row-gap: var(--_paddings---16px);
  font-family: var(--_type---acumin-pro);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.menu-link {
  color: var(--white);
  text-transform: uppercase;
  height: 4.5rem;
  overflow: clip;
}

.t-83 {
  letter-spacing: -.01em;
  font-size: 5.1875rem;
  line-height: .9;
}

.menu-wrap {
  z-index: 10;
  background-color: var(--blue);
  pointer-events: auto;
  display: none;
  position: fixed;
  inset: 0%;
  overflow: clip;
}

.hero-p-wrap {
  max-width: 37.5rem;
  margin-bottom: 1.5625rem;
}

.p-28 {
  letter-spacing: -.05em;
  font-size: 1.75rem;
}

.p-28.inline {
  text-indent: 18.75rem;
  vertical-align: middle;
  display: inline;
}

.invue-logo-svg {
  justify-content: center;
  align-items: center;
  width: 100%;
  font-family: Bebas;
  font-size: 28.6em;
  display: flex;
}

.hero-img {
  object-fit: cover;
  height: 100%;
}

.featured-component {
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  padding-top: 12.6875rem;
  padding-bottom: 8.4375rem;
}

.hero-bg-image {
  z-index: -1;
  width: 100%;
  max-width: 50vw;
  position: absolute;
  inset: 0% 0% 0% auto;
  overflow: clip;
}

.hero-overlay {
  pointer-events: none;
  mix-blend-mode: normal;
  background-color: #000000bf;
  display: none;
  position: absolute;
  inset: 0%;
}

.h-83 {
  font-family: var(--_type---acumin-pro);
  letter-spacing: -.01em;
  text-transform: uppercase;
  font-size: 5.1875rem;
  line-height: .9;
}

.none {
  display: none;
}

.featured-cms-list {
  grid-column-gap: 4.1875rem;
  grid-row-gap: 7.5rem;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.featured-cms-list.service {
  grid-column-gap: 1rem;
  grid-row-gap: 1.875rem;
  grid-template-columns: 1fr 1fr 1fr;
}

.featured-cms-list.projects {
  grid-column-gap: 1rem;
  grid-row-gap: 1.875rem;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: start;
}

.featured-wrap {
  grid-column-gap: 4.1875rem;
  grid-row-gap: 4.1875rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  place-items: start stretch;
  margin-top: 4.6875rem;
  display: grid;
  position: relative;
}

.project-card {
  grid-column-gap: var(--_paddings---8px);
  grid-row-gap: var(--_paddings---8px);
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.overflow-hidden {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.project-left {
  grid-column-gap: var(--_paddings---5px);
  grid-row-gap: var(--_paddings---5px);
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.project-left.mobile-only {
  display: none;
}

.project-right {
  grid-column-gap: var(--_paddings---10px);
  grid-row-gap: var(--_paddings---10px);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.project-right.home {
  width: 80%;
}

.blue-box {
  background-color: var(--blue);
  width: .4375rem;
  height: .4375rem;
  margin-top: 0;
}

.blue-box.centred-verticaly {
  margin-top: 0;
}

.h-16 {
  letter-spacing: -.05em;
  font-size: 1rem;
  line-height: 1.28;
}

.img-overlay {
  z-index: 2;
  aspect-ratio: 2 / 3;
  background-color: var(--gray);
  mix-blend-mode: normal;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  display: flex;
  position: absolute;
  inset: 0%;
}

.img-overlay.hidden {
  display: none;
}

.featured-right {
  justify-content: center;
  align-items: center;
  height: 95dvh;
  position: sticky;
  top: 2.5dvh;
  bottom: 2.5dvh;
}

.featured-img {
  aspect-ratio: 1;
}

.featured-img.full-height {
  aspect-ratio: auto;
}

.featured-img.no-ratio {
  aspect-ratio: auto;
  width: 100%;
  height: 100%;
  margin-top: 0;
}

.featured-image._4-5 {
  aspect-ratio: 4 / 5;
}

.image-whipe {
  z-index: 3;
  background-color: var(--off-white);
  width: 100%;
  height: 50%;
  position: absolute;
  inset: 0%;
}

.navbar-left-left {
  grid-column-gap: 8.5625rem;
  grid-row-gap: 8.5625rem;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.blue-box-wrap {
  display: flex;
}

.image-reveal {
  position: relative;
  overflow: hidden;
}

.image-reveal:where(.w-variant-9d5c325b-722f-d961-949a-dceceb173bf0) {
  width: 100%;
  max-width: 85rem;
}

.image-reveal.full-height {
  justify-content: center;
  align-items: center;
  height: 100%;
  display: flex;
}

.about-component {
  padding-top: 7.75rem;
  padding-bottom: 9.875rem;
}

.line {
  background-color: #00000038;
  width: 100%;
  height: .0625rem;
}

.about-text-wrap {
  margin-top: 4.0625rem;
  margin-bottom: 5.6875rem;
}

.h-13 {
  letter-spacing: -.05em;
  font-size: .8125rem;
  line-height: 1.1;
  display: block;
}

.heading-wrap {
  grid-column-gap: .375rem;
  grid-row-gap: .375rem;
  justify-content: flex-start;
  align-items: center;
  margin-top: 1%;
  margin-right: 20%;
  display: inline-flex;
}

.heading-wrap:where(.w-variant-34398572-4a3e-1039-0f39-9a9ca28aedf3), .heading-wrap.no-top-margin {
  margin-top: 0%;
}

.p-83 {
  font-family: var(--_type---acumin-pro);
  letter-spacing: -.01em;
  text-transform: uppercase;
  vertical-align: top;
  font-size: 5.1875rem;
  font-weight: 400;
  line-height: .9;
}

.p-83.inline {
  text-indent: 18.75rem;
  display: inline;
}

.text-blue {
  color: var(--blue);
  display: inline;
}

.about-stats-wrap {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-end;
  place-items: start end;
  display: grid;
}

.about-stats-p {
  grid-column-gap: var(--_paddings---40px);
  grid-row-gap: var(--_paddings---40px);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  margin-top: 0;
  display: flex;
}

.p-18 {
  letter-spacing: -.05em;
  font-size: 1.125rem;
  line-height: 1.3;
}

.p-18._35ch {
  max-width: 35ch;
}

.p-18._32ch {
  max-width: 32ch;
}

.p-18.unbroken {
  white-space: nowrap;
  word-break: normal;
}

.about-stats-info {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  max-width: 21rem;
  display: flex;
}

.image-section {
  justify-content: flex-end;
  align-items: center;
  padding-bottom: 4.5rem;
  display: flex;
}

.cta-component {
  grid-column-gap: var(--_paddings---40px);
  grid-row-gap: var(--_paddings---40px);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  max-width: 49.5625rem;
  padding-top: 10.375rem;
  padding-bottom: 10.375rem;
  display: flex;
}

.block-center {
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.next-line {
  display: block;
}

.cta-button-wrap {
  padding-left: 21%;
}

.footer-component {
  padding-top: var(--_paddings---20px);
  padding-bottom: var(--_paddings---20px);
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  justify-content: space-between;
  align-items: flex-end;
  display: flex;
}

.footer-left {
  grid-column-gap: 9.6875rem;
  grid-row-gap: 9.6875rem;
  justify-content: flex-start;
  align-items: flex-end;
  display: flex;
}

.footer-links-wrap {
  grid-column-gap: var(--_paddings---16px);
  grid-row-gap: var(--_paddings---16px);
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.about-hero-component {
  padding-top: 5.4375rem;
  padding-bottom: var(--_paddings---40px);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: center;
  display: grid;
}

.section-title-wrap {
  grid-column-gap: var(--_paddings---40px);
  grid-row-gap: var(--_paddings---40px);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  max-width: 57.875rem;
  display: flex;
}

.company-component {
  padding-top: 7.125rem;
  padding-bottom: 4.1875rem;
}

.company-text-wrap {
  grid-column-gap: var(--_paddings---40px);
  grid-row-gap: var(--_paddings---40px);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.company-stats-wrap {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-end;
  place-items: start end;
  width: 100%;
  display: grid;
}

.company-img-wrap {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  max-width: 28.375rem;
  display: flex;
}

.values-component {
  padding-bottom: 7.125rem;
}

.page-loader {
  z-index: 12;
  display: none;
  position: fixed;
  inset: 0%;
}

.loader-overlay {
  background-color: var(--black);
  width: 100%;
  height: 100%;
}

.h-22 {
  font-family: var(--_type---acumin-pro);
  letter-spacing: -.03em;
  text-transform: uppercase;
  font-size: 1.375rem;
  line-height: 1.28;
}

.values-heading-wrap {
  margin-bottom: var(--_paddings---40px);
  grid-column-gap: .375rem;
  grid-row-gap: .375rem;
  justify-content: flex-start;
  align-items: center;
  display: inline-flex;
}

.values-wrap {
  margin-top: var(--_paddings---60px);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: flex-start;
  display: grid;
  position: relative;
}

.hidden-cms {
  display: none;
}

.value-links-wrap {
  grid-column-gap: var(--_paddings---8px);
  grid-row-gap: var(--_paddings---8px);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.value-link {
  grid-column-gap: .6875rem;
  grid-row-gap: .6875rem;
  color: var(--mid-gray);
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  transition: color .2s ease-out;
  display: flex;
  position: relative;
}

.value-link:hover, .value-link.w--current {
  color: var(--gray);
}

.box-wrap {
  grid-column-gap: var(--_paddings---5px);
  grid-row-gap: var(--_paddings---5px);
  justify-content: flex-start;
  align-items: center;
  margin-top: .5rem;
  display: flex;
}

.box-wrap.centred-vertically {
  margin-top: auto;
  margin-bottom: auto;
}

.t-44 {
  letter-spacing: -.05em;
  font-size: 2.75rem;
  line-height: 1.15;
}

.value-text {
  grid-column-gap: var(--_paddings---8px);
  grid-row-gap: var(--_paddings---8px);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
  position: absolute;
  inset: .5rem 10% auto auto;
}

.experise-component {
  grid-column-gap: var(--_paddings---48px);
  grid-row-gap: var(--_paddings---48px);
  grid-template-rows: auto;
  grid-template-columns: .25fr 1fr;
  grid-auto-columns: 1fr;
  place-items: start stretch;
  padding-top: 6.5rem;
  padding-bottom: 8rem;
  display: grid;
  position: relative;
}

.expertise-left {
  position: sticky;
  top: 10rem;
}

.expertise-text-wrap {
  grid-column-gap: var(--_paddings---32px);
  grid-row-gap: var(--_paddings---32px);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.expertise-wrap {
  grid-column-gap: var(--_paddings---8px);
  grid-row-gap: var(--_paddings---8px);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.director-section {
  background-image: url('../images/bg_1.avif');
  background-position: 50% 100%;
  background-repeat: no-repeat;
  background-size: cover;
}

.director-component {
  color: var(--white);
  justify-content: center;
  align-items: flex-end;
  max-width: 49.5625rem;
  min-height: 100dvh;
  padding-bottom: 2.8125rem;
  display: flex;
}

.service-hero-component {
  padding-top: 7.6875rem;
  padding-bottom: 4.5625rem;
}

.service-image-wrap {
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.service-img-wrap {
  grid-column-gap: 2.6875rem;
  grid-row-gap: 2.6875rem;
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  display: flex;
}

.service-img-wrap.offset-vertical {
  margin-top: 8.75rem;
}

.service-info-wrap {
  grid-column-gap: var(--_paddings---40px);
  grid-row-gap: var(--_paddings---40px);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.service-featured-component {
  grid-column-gap: 3.25rem;
  grid-row-gap: 3.25rem;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  padding-top: 7.1875rem;
  padding-bottom: 2.9375rem;
  display: flex;
}

.projects-component {
  grid-column-gap: 2.5625rem;
  grid-row-gap: 2.5625rem;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  padding-top: 4.1875rem;
  padding-bottom: 4.9375rem;
  display: flex;
}

.projects-grid-wrap {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.projects-general-component {
  padding-top: 3.75rem;
  padding-bottom: 6.25rem;
}

.project-arrow {
  top: auto;
  left: auto;
  right: var(--_paddings---24px);
  bottom: var(--_paddings---24px);
  z-index: 3;
  border-radius: var(--_paddings---rounded);
  background-color: var(--blue);
  justify-content: center;
  align-items: center;
  width: 3.125rem;
  height: 3.125rem;
  display: flex;
  position: absolute;
}

.svg {
  display: flex;
}

.contact-component {
  grid-column-gap: 0rem;
  grid-row-gap: 0rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: flex-start start;
  padding-top: 2.5rem;
  padding-bottom: 8.75rem;
  display: grid;
  position: relative;
}

.contact-hero-component {
  grid-column-gap: 2.5625rem;
  grid-row-gap: 2.5625rem;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  padding-top: 4.1875rem;
  padding-bottom: 5.0625rem;
  display: flex;
}

.contact-left {
  grid-column-gap: var(--_paddings---40px);
  grid-row-gap: var(--_paddings---40px);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
  position: sticky;
  top: 5rem;
}

.contact-left.no-events {
  pointer-events: none;
}

.contact-block {
  grid-column-gap: var(--_paddings---10px);
  grid-row-gap: var(--_paddings---10px);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  transition: color .25s;
  display: flex;
}

.contact-block:hover {
  color: var(--mid-gray);
}

.contact-block.transparent {
  opacity: 0;
}

.contact-block.no-hover:hover {
  color: var(--gray);
}

.contact-right {
  width: 100%;
  max-width: 43rem;
}

.contact-form {
  width: 100%;
  margin-bottom: 0;
}

.contact-form-component {
  grid-column-gap: var(--_paddings---24px);
  grid-row-gap: var(--_paddings---24px);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.contact-form-success {
  background-color: var(--gray);
  color: var(--white);
  text-align: center;
  font-size: 1rem;
}

.contact-form-label {
  color: var(--gray);
  letter-spacing: -.05em;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.28;
}

.contact-form-field {
  padding: var(--_paddings---12px) var(--_paddings---16px);
  border: .0625rem solid var(--light-gray);
  color: var(--gray);
  border-radius: .5rem;
  height: auto;
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1;
  transition: border-color .25s;
}

.contact-form-field:hover, .contact-form-field:focus {
  border-color: var(--mid-gray);
}

.contact-form-field::placeholder {
  color: #b3b3b3;
}

.contact-form-field.text-area {
  padding-bottom: var(--_paddings---48px);
}

.submit-btn {
  padding: var(--_paddings---12px) var(--_paddings---24px);
  grid-column-gap: var(--_paddings---10px);
  grid-row-gap: var(--_paddings---10px);
  border-radius: var(--_paddings---rounded);
  background-color: var(--blue);
  color: var(--white);
  text-transform: uppercase;
  justify-content: center;
  align-items: center;
  min-width: 17rem;
  display: flex;
}

.submit-btn.font-semibold:where(.w-variant-2e4d451f-964e-f7e2-97a8-77ced93cdbea) {
  background-color: var(--gray);
}

.contact-field-wrap {
  grid-column-gap: var(--_paddings---8px);
  grid-row-gap: var(--_paddings---8px);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.submit-transparent {
  z-index: 1;
  padding: var(--_paddings---12px) var(--_paddings---24px);
  grid-column-gap: var(--_paddings---10px);
  grid-row-gap: var(--_paddings---10px);
  color: #fff0;
  text-transform: uppercase;
  background-color: #41ace200;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  position: absolute;
  inset: 0%;
}

._10-grid {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

._10-grid-img {
  width: 100%;
}

.about-hero-image {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  padding-bottom: 6.875rem;
  display: grid;
}

.project-cms-component {
  grid-column-gap: 5.9375rem;
  grid-row-gap: 5.9375rem;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  padding-top: 4.375rem;
  padding-bottom: 6.6875rem;
  padding-right: 7%;
  display: flex;
}

.project-info-component {
  padding-top: 0;
}

.project-text-wrap {
  margin-top: 0;
  margin-bottom: 14.375rem;
}

.project-info-wrap {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: start;
  margin-top: 0;
  padding-bottom: 6.75rem;
  display: grid;
}

.project-info-right {
  grid-column-gap: 2.6875rem;
  grid-row-gap: 2.6875rem;
  flex-flow: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: stretch;
  display: grid;
}

.project-info-block {
  grid-column-gap: .625rem;
  grid-row-gap: .625rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: center;
  margin-bottom: 0;
  display: grid;
}

.next-project-component {
  justify-content: center;
  align-items: center;
  min-height: 100dvh;
  display: flex;
  position: relative;
  overflow: hidden;
}

.next-project-content {
  z-index: 2;
  grid-column-gap: var(--_paddings---32px);
  grid-row-gap: var(--_paddings---32px);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.next-project-img {
  z-index: 1;
  justify-content: center;
  align-items: center;
  max-width: none;
  display: flex;
  position: absolute;
  inset: 0%;
}

.full-img {
  height: 100%;
}

.full-img.next-proj-image {
  aspect-ratio: 3 / 2;
  max-width: 300px;
  height: auto;
}

.invue-svg {
  overflow: hidden;
}

.hero-gradient-mobile {
  pointer-events: none;
  mix-blend-mode: normal;
  background-color: #000000bf;
  display: none;
  position: absolute;
  inset: 0%;
}

.btn-hide-mobile {
  display: block;
}

.astrix {
  color: var(--blue);
  font-size: .875rem;
}

.about-stats-item {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
  overflow: hidden;
}

.about-stats-item-container {
  grid-column-gap: 3px;
  grid-row-gap: 3px;
  flex-flow: column;
  display: flex;
  position: relative;
  left: -15px;
}

.service-image-component {
  padding-top: 13.75rem;
  padding-bottom: 4.5625rem;
}

.footer-left_watermark-container {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: row;
  justify-content: flex-start;
  align-items: flex-end;
  display: flex;
}

.image {
  width: auto;
  min-height: auto;
  max-height: 80px;
}

.image-container {
  aspect-ratio: 2 / 3;
  height: 80%;
  position: relative;
  overflow: hidden;
}

.form-button {
  border-radius: var(--_paddings---rounded);
  background-color: var(--blue);
  width: 100%;
  min-width: 17rem;
  padding: 12px 24px;
}

.text {
  color: var(--white);
  letter-spacing: 0;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  display: flex;
  position: absolute;
  inset: 0%;
}

.button-wrapper {
  z-index: 10;
  position: relative;
}

@media screen and (max-width: 991px) {
  .padding-horizontal-small {
    padding-right: var(--_paddings---16px);
    padding-left: var(--_paddings---16px);
  }

  .hero-component {
    color: var(--white);
    padding-bottom: 2rem;
  }

  .navbar-component {
    padding: var(--_paddings---24px) var(--_paddings---16px);
    min-height: auto;
  }

  .navbar-component._10-grid {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    display: flex;
  }

  .nav-links-wrap {
    display: none;
  }

  .menu-link {
    height: 2rem;
  }

  .t-83.menu {
    font-size: 2.5rem;
  }

  .menu-wrap {
    display: none;
  }

  .p-28.inline {
    text-indent: 0;
    display: inline-block;
  }

  .featured-component {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .hero-bg-image {
    max-width: 100%;
  }

  .h-83 {
    font-size: 4rem;
  }

  .featured-cms-list {
    grid-column-gap: var(--_paddings---20px);
    grid-row-gap: var(--_paddings---40px);
  }

  .featured-cms-list.service {
    grid-template-columns: 1fr 1fr;
  }

  .featured-cms-list.projects {
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
  }

  .featured-wrap {
    display: flex;
  }

  .project-left.mobile-hide {
    display: none;
  }

  .project-left.mobile-only {
    display: flex;
  }

  .featured-right {
    display: none;
  }

  .image-reveal {
    width: 100%;
  }

  .about-component {
    padding-top: 2rem;
    padding-bottom: 6rem;
  }

  .about-text-wrap {
    grid-column-gap: var(--_paddings---40px);
    grid-row-gap: var(--_paddings---40px);
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    margin-top: 4rem;
    margin-bottom: 6rem;
    display: flex;
  }

  .p-83.inline {
    text-indent: 0;
    font-size: 3rem;
    display: inline-block;
  }

  .about-stats-wrap {
    grid-column-gap: var(--_paddings---40px);
    grid-row-gap: var(--_paddings---40px);
    flex-flow: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    display: flex;
  }

  .p-18._35ch, .about-stats-info {
    max-width: none;
  }

  .image-section {
    padding-bottom: 0;
  }

  .cta-component {
    width: 100%;
    max-width: none;
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .cta-button-wrap {
    padding-left: 13%;
  }

  .footer-component {
    grid-column-gap: var(--_paddings---32px);
    grid-row-gap: var(--_paddings---32px);
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
  }

  .footer-left {
    grid-column-gap: var(--_paddings---32px);
    grid-row-gap: var(--_paddings---32px);
    flex-flow: column-reverse;
    justify-content: center;
    align-items: flex-start;
  }

  .footer-links-wrap {
    flex-flow: wrap;
  }

  .about-hero-component {
    padding-top: 6rem;
    display: block;
  }

  .company-component {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .company-stats-wrap {
    grid-column-gap: var(--_paddings---32px);
    grid-row-gap: var(--_paddings---32px);
    flex-flow: column;
    align-items: stretch;
    max-width: none;
    display: flex;
  }

  .company-img-wrap {
    max-width: none;
  }

  .values-component {
    padding-bottom: 6rem;
  }

  .values-wrap {
    flex-flow: column;
    display: flex;
  }

  .value-links-wrap {
    grid-column-gap: var(--_paddings---48px);
    grid-row-gap: var(--_paddings---48px);
  }

  .value-link {
    pointer-events: none;
    color: var(--gray);
  }

  .value-text {
    grid-column-gap: var(--_paddings---10px);
    grid-row-gap: var(--_paddings---10px);
    position: static;
  }

  .value-right {
    grid-column-gap: var(--_paddings---12px);
    grid-row-gap: var(--_paddings---12px);
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    display: flex;
  }

  .experise-component {
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    padding-top: 0;
    padding-bottom: 6rem;
    display: flex;
  }

  .expertise-left {
    position: static;
  }

  .directors-text-wrap {
    grid-column-gap: var(--_paddings---40px);
    grid-row-gap: var(--_paddings---40px);
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    display: flex;
  }

  .service-hero-component {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .service-image-wrap {
    display: block;
  }

  .service-featured-component {
    padding-top: 3rem;
    padding-bottom: 2rem;
  }

  .projects-component {
    padding-top: 0;
    padding-bottom: 6rem;
  }

  .projects-grid-wrap {
    margin-top: 6rem;
    display: block;
  }

  .projects-general-component {
    padding-top: 4rem;
    padding-bottom: 6rem;
  }

  .contact-component {
    grid-column-gap: var(--_paddings---40px);
    grid-row-gap: var(--_paddings---40px);
    flex-flow: column;
    padding-top: 0;
    padding-bottom: 6rem;
    display: flex;
  }

  .contact-hero-component {
    grid-column-gap: var(--_paddings---40px);
    grid-row-gap: var(--_paddings---40px);
    padding-top: 0;
    padding-bottom: 6rem;
  }

  .contact-left {
    grid-column-gap: var(--_paddings---32px);
    grid-row-gap: var(--_paddings---32px);
    position: static;
  }

  .contact-left.no-events {
    display: none;
  }

  ._10-grid {
    display: block;
  }

  .about-hero-image {
    padding-bottom: 0;
    display: block;
  }

  .project-cms-component {
    grid-column-gap: var(--_paddings---40px);
    grid-row-gap: var(--_paddings---40px);
    padding-top: 6rem;
    padding-bottom: 6rem;
    padding-right: 0%;
  }

  .project-info-component {
    padding-top: 0;
  }

  .project-text-wrap {
    grid-column-gap: var(--_paddings---40px);
    grid-row-gap: var(--_paddings---40px);
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    display: flex;
  }

  .project-info-wrap {
    grid-column-gap: var(--_paddings---40px);
    grid-row-gap: var(--_paddings---40px);
    flex-flow: column;
    margin-top: 6rem;
    padding-bottom: 6rem;
    display: flex;
  }

  .project-info-left {
    width: 100%;
  }

  .next-project-component {
    min-height: 50dvh;
  }

  .hero-gradient-mobile {
    z-index: -1;
    background-color: #0000;
    background-image: linear-gradient(#0000, #00000080 46%, #000000b3);
    display: block;
  }

  .project-info-wrapper {
    grid-column-gap: var(--_paddings---12px);
    grid-row-gap: var(--_paddings---12px);
    flex-flow: wrap;
    justify-content: flex-start;
    align-items: center;
    display: flex;
  }

  .about-stats-item-container {
    left: 0;
  }

  .service-image-component {
    padding-top: 4rem;
  }

  .footer-left_watermark-container {
    grid-column-gap: var(--_paddings---32px);
    grid-row-gap: var(--_paddings---32px);
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
  }
}

@media screen and (max-width: 767px) {
  .navbar-right {
    margin-left: auto;
  }

  .brand-logo-svg {
    max-width: 8rem;
  }

  .p-28.inline {
    font-size: 1.25rem;
    line-height: 1.2;
  }

  .value-link {
    grid-column-gap: var(--_paddings---40px);
    grid-row-gap: var(--_paddings---40px);
  }

  .t-44 {
    font-size: 1.5rem;
  }

  .experise-component {
    grid-column-gap: var(--_paddings---48px);
    grid-row-gap: var(--_paddings---48px);
  }

  .btn-hide-mobile {
    display: block;
  }
}

@media screen and (max-width: 479px) {
  .p-28 {
    font-size: 1.25rem;
    line-height: 1.2;
  }

  .h-83 {
    font-size: 2.5rem;
  }

  .featured-cms-list {
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    display: flex;
  }

  .about-text-wrap {
    margin-top: 2rem;
    margin-bottom: 4rem;
  }

  .p-83.inline {
    font-size: 2rem;
  }

  .about-stats-p {
    margin-top: 0;
  }

  .cta-component {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .cta-button-wrap {
    padding-left: 17%;
  }

  .footer-component {
    padding-top: var(--_paddings---32px);
    padding-bottom: var(--_paddings---32px);
    grid-column-gap: var(--_paddings---40px);
    grid-row-gap: var(--_paddings---40px);
  }

  .footer-left {
    grid-column-gap: var(--_paddings---40px);
    grid-row-gap: var(--_paddings---40px);
  }

  .about-hero-component, .service-hero-component {
    padding-top: 4rem;
  }

  .service-img-wrap.offset-vertical {
    margin-top: 4rem;
  }

  .service-featured-component {
    padding: 2rem 0;
  }

  .projects-component {
    padding-bottom: 4rem;
  }

  .projects-grid-wrap {
    margin-top: 4rem;
  }

  .contact-component {
    flex-flow: column-reverse;
  }

  .contact-form-component {
    align-items: stretch;
  }

  .project-cms-component {
    padding-top: 4rem;
  }

  .project-info-right {
    grid-column-gap: var(--_paddings---16px);
    grid-row-gap: var(--_paddings---24px);
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    width: 100%;
    display: grid;
  }

  .project-info-block {
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 0;
    display: flex;
  }

  .btn-hide-mobile {
    display: none;
  }

  .service-image-component {
    padding-top: 0;
  }
}

#w-node-_3212dbb8-89a5-9fce-b9f7-cdf10104aacf-6b89b836 {
  grid-area: 1 / 11 / 2 / 4;
}

#w-node-e7d5d3bb-cc51-8019-279c-fc05890eea10-6b89b836 {
  grid-area: 1 / 4 / 2 / 11;
}

#w-node-e7ec89ee-0ad9-4679-2879-2ee6efc6cd8c-efc6cd88 {
  grid-area: 1 / 10 / 2 / 4;
}

#w-node-_89bee42a-2330-b438-51ca-e4dbd22dc87b-d22dc875 {
  grid-area: 1 / 1 / 2 / 3;
}

#w-node-_89bee42a-2330-b438-51ca-e4dbd22dc87d-d22dc875 {
  grid-area: 1 / 4 / 2 / 6;
}

#w-node-_89bee42a-2330-b438-51ca-e4dbd22dc8a4-d22dc875 {
  grid-area: 1 / 8 / 2 / 11;
}

#w-node-_2bc7c219-2430-3006-cafc-cc6b928c8d8c-edccf14b, #w-node-b381e427-6038-3323-bc12-94a0a5fd4acf-edccf14b {
  grid-area: 1 / 4 / 2 / 11;
}

#w-node-_5745de5a-32a0-d70f-139c-8bec3bcf862e-edccf14b {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_3e605836-9091-70e7-6b8b-8d822e047504-edccf14b {
  grid-area: 1 / 4 / 2 / 11;
}

#w-node-_80c78185-6303-3109-6f87-573c14a1db58-edccf14b, #w-node-debeeb6e-0b7c-299e-4311-df7261b33f4a-edccf14b, #w-node-_20645cde-44c8-49cd-2fd7-97080d850e6a-edccf14b, #w-node-_14ddf3d6-acdc-879a-8db0-ff84d92b96c6-edccf14b, #w-node-a5f99489-ef86-573b-b448-71192cbbf170-edccf14b {
  grid-area: 1 / 3 / 2 / 5;
}

#w-node-_7bbe15cf-6880-13a1-390f-f0d0418b8655-73e705f4 {
  grid-area: 1 / 10 / 2 / 4;
}

#w-node-_50ca4215-0f48-ca78-fcc0-8def35731a69-73e705f4, #w-node-ab8dbba8-3755-1376-e77d-69696ed11a0b-73e705f4, #w-node-e4f29d9e-816f-70fb-9e9c-91b3c28b4da9-73e705f4 {
  grid-area: 1 / 4 / 2 / 11;
}

#w-node-f55a7d3f-9a9e-f3bb-1718-28e39ddaf623-ae934534 {
  grid-area: 1 / 10 / 2 / 4;
}

#w-node-_7c6ad0c2-dd0a-3690-a200-8c078a3b1926-ae934534 {
  grid-area: 1 / 2 / 2 / 6;
}

#w-node-_7c6ad0c2-dd0a-3690-a200-8c078a3b1928-ae934534 {
  grid-area: 1 / 7 / 2 / 10;
}

#w-node-a58096aa-2683-f228-4c67-2cb8b6c1dbde-d77c597e, #w-node-ff69cfa3-f369-0893-ab67-cb022a840d1f-f0bd82f9 {
  grid-area: 1 / 4 / 2 / 11;
}

#w-node-ba3bc0aa-a425-7950-2e32-b756537f5a8e-f0bd82f9 {
  grid-area: 1 / 2 / 2 / 11;
}

#w-node-_501c0a6c-b1af-3959-74a4-33c986896eea-f0bd82f9 {
  grid-area: 1 / 4 / 2 / 11;
}

#w-node-f55a7d3f-9a9e-f3bb-1718-28e39ddaf623-9eceed05 {
  grid-area: 1 / 10 / 2 / 4;
}

#w-node-_6e863339-f7d0-d7ff-ac0a-5cff980a3b7a-9eceed05 {
  grid-area: 1 / 2 / 2 / 6;
}

#w-node-_42d10547-2635-2c62-60ba-d8d3a24b0e94-9eceed05 {
  grid-area: 1 / 7 / 2 / 10;
}

#w-node-f55a7d3f-9a9e-f3bb-1718-28e39ddaf623-701d0c7f {
  grid-area: 1 / 10 / 2 / 4;
}

#w-node-f4303dac-6a00-a5a9-d5bd-e4acf970fd8f-701d0c7f {
  grid-area: 1 / 11 / 2 / 3;
}

#w-node-ac428bd0-3901-db23-fe16-07028e7f190f-701d0c7f {
  grid-area: 1 / 2 / 2 / 6;
}

#w-node-ac428bd0-3901-db23-fe16-07028e7f1911-701d0c7f {
  grid-area: 1 / 7 / 2 / 10;
}


@font-face {
  font-family: 'Acumin Pro';
  src: url('../fonts/fonnts.com-Acumin_Pro_ExtraCondensed_Bold.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}