body {
  font-family: lato, sans-serif;
  max-width: 100%;
  overflow-x: clip;
}

html {
  max-width: 100%;
  overflow-x: clip;
}

body.gry-bg,
.gry-bg {
  background: #eaeef2;
}

body.bg-light,
.bg-light {
  background: #f4f9ff;
}

#wrapper {
  overflow-x: hidden;
}

body.landing-page #wrapper {
  /* Must stay visible: any clip/hidden here makes Chromium silently downgrade
     background-attachment: fixed on descendants (the case banner). Horizontal
     overflow is already contained by the overflow-x: clip on html and body. */
  overflow: visible;
}

/* ==========================================================================
   Sekar Construction Full-Width Transparent Header & Navigation Styling
   ========================================================================== */
header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  width: 100% !important;
  z-index: 99999 !important;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%) !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 22px 4% !important;
  margin: 0 !important;
  height: auto !important;
  overflow: visible !important;
  transition: background .3s, box-shadow .3s, border-color .3s;
}

.header-container {
  width: 100% !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 12px 0 200px !important;
  position: static !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.header-row {
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  position: static !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

#slide-nav {
  position: relative !important;
  width: 100% !important;
  overflow: visible !important;
}

.header-logo {
  position: absolute !important;
  left: 0 !important;
  top: 50%;
  transform: translateY(-50%);
  z-index: 30;
  display: inline-flex !important;
  align-items: center;
  flex: 0 0 auto !important;
  flex-shrink: 0;
  width: auto !important;
  max-width: 240px !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  text-decoration: none !important;
  transition: opacity 0.25s ease;
  pointer-events: auto;
  border-radius: 0;
  overflow: visible;
}

.header-logo img {
  display: block;
  height: 56px;
  width: auto;
  max-width: 240px;
  object-fit: contain;
  border-radius: 0;
  /* Avoid light fringe looking like emboss on dark headers */
  filter: none;
  -webkit-filter: none;
}

.header-logo .logo-on-light {
  display: none;
}

.header-logo:hover {
  opacity: 0.9;
  transform: translateY(-50%);
}

@media (max-width: 1199px) {
  .header-container {
    padding-left: 210px !important;
  }

  .header-logo img {
    height: 50px;
    max-width: 210px;
  }
}

@media (max-width: 991px) {
  .header-container {
    padding-left: 180px !important;
  }

  .header-logo img {
    height: 44px;
    max-width: 180px;
  }
}

@media (max-width: 767px) {
  .header-container {
    padding-left: 150px !important;
  }

  .header-logo img {
    height: 38px;
    max-width: 155px;
  }
}

.sekar-brand-emblem {
  display: flex !important;
  align-items: center;
  gap: 12px;
  text-decoration: none !important;
}

.emblem-main-name {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 19px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.12em;
  line-height: 1.1;
  display: block;
}

.emblem-sub-name {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 9.5px;
  font-weight: 700;
  color: #c59333;
  letter-spacing: 0.16em;
  display: block;
  margin-top: 2px;
}

/* Sekar Style Navigation Links (Clean, No Pill Frame, Gold Underline) */
#navigation {
  display: flex !important;
  align-items: center !important;
  gap: 28px !important;
  background: transparent !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#navigation li.nav-item {
  position: relative;
  padding: 0 !important;
  margin: 0 !important;
}

#navigation li.nav-item > a {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  padding: 10px 0 !important;
  background: transparent !important;
  border: none !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
  position: relative !important;
  display: inline-block !important;
}

#navigation li.nav-item > a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 2px;
  background: #726cf4;
  transition: width 0.35s ease;
}

#navigation li.nav-item:hover > a::after,
#navigation li.nav-item.active > a::after {
  width: 100%;
}

#navigation li.nav-item:hover > a {
  color: #726cf4 !important;
  -webkit-text-fill-color: #726cf4 !important;
}

#navigation li.nav-item.active > a {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  color: #726cf4 !important;
  -webkit-text-fill-color: #726cf4 !important;
}

.contactform .input::-webkit-input-placeholder,
.contactform .textarea::-webkit-input-placeholder {
  color: #023575;
  opacity: 0;
}

.contactform .input::-moz-placeholder,
.contactform .textarea::-moz-placeholder {
  color: #023575;
  opacity: 0;
}

.contactform .input:-ms-input-placeholder,
.contactform .textarea:-ms-input-placeholder {
  color: #023575;
  opacity: 0;
}

.contactform .input:-moz-placeholder,
.contactform .textarea:-moz-placeholder {
  color: #023575;
  opacity: 0;
}

#navigation li.nav-item .sub {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  text-align: left;
  background: transparent !important;
  background-image: none !important;
  border-radius: 0;
  border: 0;
  display: none;
  padding: 10px 0 0;
  margin: 0;
  z-index: 100000;
  min-width: 200px;
  width: max-content;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

#navigation li.nav-item:hover > .sub,
#navigation li.nav-item:focus-within > .sub {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

#navigation li.nav-item .sub.corporate {
  background: transparent !important;
  background-image: none !important;
  background-attachment: scroll !important;
}

#navigation li.nav-item .sub .sub-menu:after,
#navigation li.nav-item .sub .sub-menu:before {
  display: none;
}

#navigation li.nav-item .sub-menu.inner-sub {
  position: absolute;
  left: 100%;
  top: 0;
  border-left: 1px solid #e2e8f0;
  display: none;
}

#navigation li.nav-item .sub-menu {
  display: block;
  min-width: 200px;
  width: max-content;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.96);
  border-radius: 14px;
  border: 1px solid rgba(114, 108, 244, 0.16);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  padding: 8px 0;
  overflow: visible;
  position: relative;
  animation: navDropdownIn 0.2s ease;
}

@keyframes navDropdownIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#navigation li.nav-item .sub-menu li {
  position: relative;
}

#navigation li.nav-item .sub-menu li a {
  color: #334155;
  padding: 10px 18px;
  display: block;
  font-weight: 600;
  width: 100%;
  border-top: none;
  font-size: 13px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  text-transform: none;
  text-decoration: none;
  line-height: 1.4;
  white-space: nowrap;
  transition: color 0.2s ease, background 0.2s ease, padding-left 0.2s ease;
}

#navigation li.nav-item .sub-menu li .new_submenu {
  max-height: 260px;
  background-color: #fff;
  display: none;
  position: absolute;
  right: 0;
  bottom: 0;
}

#navigation li.nav-item .sub-menu li:hover .new_submenu {
  display: block !important;
}

#navigation li.nav-item .sub-menu li a:hover {
  color: #726cf4;
  background: #f6f5ff;
  padding-left: 22px;
}

#navigation li.nav-item .sub-menu li a[aria-current="page"],
#navigation li.nav-item .sub-menu li a.active {
  color: #726cf4 !important;
  background: #f6f5ff !important;
  padding-left: 22px !important;
}

#navigation li.nav-item .sub-menu li a:after {
  display: none;
}

#navigation li.nav-item .sub-menu li:hover .inner-sub {
  display: block;
}

.logo {
  display: inline-block;
  width: 200px;
  height: 62px;
  background: url(../images/nohitatu-logo.png) no-repeat center center/contain;
  float: left;
  border-radius: 8px;
  overflow: hidden;
}

.row.header-row {
  margin: 0 auto;
}

.inner-menu {
  text-align: right;
}

#navigation.navbar-nav {
  display: inline-block;
  margin: 0 10px 0 0;
}

#navigation li.nav-item {
  float: none;
  display: inline-block;
  margin: 0 15px;
  position: relative;
}

#navigation li.nav-item.contact-num {
  margin: 0 22px;
}

#slidemenu,
.fr {
  width: auto;
  display: inline-block;
}

.contact-number,
.contact-number:hover,
.circle-btn,
.circle-btn.wht,
.circle-btn:hover {
  background: #fff;
  padding: 10px 20px 10px 45px;
  border-radius: 25px;
  font-size: 14px;
  font-weight: 700;
  color: #023575;
  text-decoration: none;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  font-family: poppins, sans-serif;
}

/* ==========================================================================
   Sekar Construction Header Navigation Styling (Clean, Un-encapsulated, Gold Accent)
   ========================================================================== */
.right-menu {
  text-align: center !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 auto !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  overflow: visible !important;
}

#slidemenu {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 auto !important;
  overflow: visible !important;
}

#slidemenu .inner-menu {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  overflow: visible !important;
}

#navigation.nav.navbar-nav {
  float: none !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
  width: auto !important;
  white-space: nowrap !important;
  gap: 32px !important;
  overflow: visible !important;
}

#navigation li.nav-item {
  float: none !important;
  display: inline-block !important;
  margin: 0 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  list-style: none !important;
  position: relative !important;
}

#navigation > li.nav-item > a {
  color: rgba(255, 255, 255, 0.95) !important;
  text-transform: uppercase !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  letter-spacing: 0.1em !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  padding: 8px 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  display: inline-block !important;
  position: relative !important;
  white-space: nowrap !important;
  transition: color 0.3s ease !important;
}

#navigation > li.nav-item > a::after {
  content: '' !important;
  position: absolute !important;
  bottom: -4px !important;
  left: 0 !important;
  width: 0% !important;
  height: 2.5px !important;
  background: #726cf4 !important;
  transition: width 0.35s ease !important;
  display: block !important;
  border: none !important;
  border-radius: 2px !important;
}

#navigation > li.nav-item:hover > a::after,
#navigation > li.nav-item.active > a::after {
  width: 100% !important;
}

#navigation > li.nav-item:hover > a {
  background-color: transparent !important;
  color: #726cf4 !important;
  -webkit-text-fill-color: #726cf4 !important;
}

#navigation > li.nav-item.active > a {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  color: #726cf4 !important;
  -webkit-text-fill-color: #726cf4 !important;
}

#navigation li.nav-item .sub-menu {
  display: block !important;
  min-width: 200px !important;
  width: max-content !important;
  max-width: none !important;
  box-sizing: border-box !important;
  background: rgba(255, 255, 255, 0.97) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  border-radius: 14px !important;
  border: 1px solid rgba(114, 108, 244, 0.16) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.12), 0 0 0 1px rgba(255, 255, 255, 0.6) inset !important;
  padding: 8px 0 !important;
  margin-top: 0 !important;
  overflow: visible !important;
}

#navigation li.nav-item .sub-menu::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
}

#navigation li.nav-item .sub-menu li a {
  color: #334155 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 10px 18px !important;
  display: block !important;
  text-transform: none !important;
  border-top: none !important;
  border-bottom: none !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  transition: color 0.2s ease, background 0.2s ease, padding-left 0.2s ease !important;
}

#navigation li.nav-item .sub-menu li a:hover {
  color: #726cf4 !important;
  background: #f6f5ff !important;
  padding-left: 22px !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

#navigation li.nav-item .sub-menu li a[aria-current="page"],
#navigation li.nav-item .sub-menu li a.active {
  color: #726cf4 !important;
  background: #f6f5ff !important;
  padding-left: 22px !important;
}

#navigation li.nav-item .sub-menu li a:after,
#navigation li.nav-item .sub-menu li a:hover:after,
#navigation li.nav-item .sub-menu a:hover:after {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  content: none !important;
}

@media (prefers-reduced-motion: reduce) {
  #navigation li.nav-item .sub-menu {
    animation: none !important;
  }

  #navigation li.nav-item .sub-menu li a {
    transition: color 0.01s linear !important;
  }
}

#navigation li.contact-num a {
  font-weight: 800;
  padding-bottom: 2px;
  vertical-align: middle;
}

#navigation li.contact-num a:before {
  content: "";
  display: inline-block;
  height: 14px;
  width: 1px;
  background: #ddd;
  position: relative;
  top: 1px;
  left: -18px;
}

#navigation li.nav-item a:after {
  content: "";
  display: inline-block;
  width: 0;
  background: #fff;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  margin: 0 auto;
  transition: all .2s;
  height: 2px;
}

#navigation li.nav-item a:hover:after,
#navigation li.nav-item:hover a:after {
  width: 100%;
}

#navigation li.nav-item.contact-num a:after {
  display: none;
}

#navigation li.nav-item ul.sub-menu a:hover:after {
  display: none;
}

.contact-number:after,
.circle-btn:after,
.circle-dot:after {
  position: absolute;
  display: block;
  content: '';
  width: 20px;
  height: 20px;
  top: 10px;
  left: 18px;
  z-index: 2;
  pointer-events: none;
  background-color: transparent;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  border-radius: 50%;
  -webkit-box-shadow: inset 0 0 0 5px #023575;
  box-shadow: inset 0 0 0 5px #023575;
}

.contact-number:hover:after,
.circle-btn:hover:after,
.circle-dot:hover:after {
  -webkit-box-shadow: inset 0 0 0 5px #56CBB9;
  box-shadow: inset 0 0 0 5px #56CBB9;
  -webkit-transition: all 0s ease-in-out .2s;
  -o-transition: all 0s ease-in-out .2s;
  transition: all 0s ease-in-out .2s;
}

.contact-number:before,
.circle-btn:before,
.circle-dot:before {
  position: absolute;
  display: block;
  content: '';
  width: 20px;
  height: 20px;
  top: 10px;
  left: 18px;
  z-index: 2;
  pointer-events: none;
  background-color: none;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 0 0 #56CBB9;
}

.contact-number:hover:before,
.circle-btn:hover:before,
.circle-dot:hover:before {
  -webkit-transition: all .5s ease-in-out .2s;
  -o-transition: all .5s ease-in-out .2s;
  transition: all .5s ease-in-out .2s;
  -webkit-box-shadow: 0 0 0 30px transparent;
  box-shadow: 0 0 0 30px transparent;
  -webkit-box-shadow: inset 0 0 0 5px #ef323a;
  box-shadow: inset 0 0 0 5px #023575;
}

.contact-number:hover:before,
.circle-btn:hover:before,
.circle-dot:hover:before {
  -webkit-box-shadow: 0 0 0 30px transparent;
  box-shadow: 0 0 0 30px transparent;
}

header.white-header,
.header-wht header {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid #e2e8f0 !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

header.white-header .header-logo .logo-on-dark {
  display: none;
}

header.white-header .header-logo .logo-on-light {
  display: block;
}

header.white-header #navigation li.nav-item > a,
header.white-header #navigation > li.nav-item > a,
.header-wht header #navigation li.nav-item a {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background-color: transparent !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
}

header.white-header #navigation li.nav-item .sub-menu {
  background: rgba(255, 255, 255, 0.98) !important;
  border-color: rgba(114, 108, 244, 0.18) !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.1) !important;
}

header.white-header #navigation li.nav-item:hover > a,
header.white-header #navigation > li.nav-item:hover > a {
  color: #726cf4 !important;
  -webkit-text-fill-color: #726cf4 !important;
}

header.white-header #navigation li.nav-item.active > a,
header.white-header #navigation > li.nav-item.active > a {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  color: #726cf4 !important;
  -webkit-text-fill-color: #726cf4 !important;
}

header.white-header #navigation li.nav-item a,
.header-wht header #navigation li.nav-item a {
  color: #0f172a;
}

header.white-header .logo,
.header-wht header .logo {
  background: url(../images/nohitatu-logo.png) no-repeat center center/contain;
}

.header-wht header.open-menu .logo,
.header-wht header.show-menu .logo {
  background: url(../images/nohitatu-logo.png) no-repeat center center/contain;
}

header.white-header .contact-number,
.header-wht header .contact-number,
header.white-header .contact-number:hover,
.header-wht header .contact-number:hover {
  background: #56CBB9;
  color: #fff;
}

header.white-header .contact-number:after,
.header-wht header .contact-number:after {
  -webkit-transition: all 0s ease-in-out .2s;
  -o-transition: all 0s ease-in-out 0s;
  transition: all 0s ease-in-out 0s;
}

header.white-header .contact-number:after,
.header-wht header .contact-number:after,
header.white-header .contact-number:hover:after,
.header-wht header .contact-number:hover:after {
  -webkit-box-shadow: inset 0 0 0 5px #fff;
  box-shadow: inset 0 0 0 5px #fff;
  -webkit-transition: all 0s ease-in-out 0s;
  -o-transition: all 0s ease-in-out 0s;
  transition: all 0s ease-in-out 0s;
}

header.white-header #navigation li.nav-item a:after,
.header-wht header #navigation li.nav-item a:after,
header.white-header #navigation > li.nav-item > a::after {
  background: #726cf4 !important;
}

header.white-header #navigation li.nav-item .sub-menu a:after,
.header-wht header #navigation li.nav-item .sub-menu a:after {
  background: 0 0;
}

header.white-header .contact-number:before,
.header-wht header .contact-number:before {
  -webkit-box-shadow: 0 0 0 0 #fff;
}

header.white-header .contact-number:hover:before,
.header-wht header .contact-number:hover:before {
  -webkit-box-shadow: inset 0 0 0 5px #fff;
  box-shadow: inset 0 0 0 5px #fff;
}

header.white-header .contact-number:hover:before,
.header-wht header .contact-number:hover:before {
  -webkit-box-shadow: 0 0 0 30px transparent;
  box-shadow: 0 0 0 30px transparent;
}

header.white-header .nav-menu span,
.header-wht header .nav-menu span {
  background: #023575;
}

header.white-header .navbar-toggle.cross span {
  background: #0f172a !important;
}

.full-screen-menu.section,
.contact-form-popup.section {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  background: #022a5e;
  padding: 0;
  font-family: poppins, sans-serif;
  transition: all .5s;
  -webkit-transition: all .5s;
  -ms-transition: all .5s;
  -o-transition: all .5s;
  display: none;
  opacity: 0;
  transition: all .5s .3s;
}

.full-screen-menu.show,
.contact-form-popup.show {
  display: block;
  opacity: 1;
  -webkit-animation-duration: .4s;
  animation-duration: .4s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.menu-title {
  font-size: 143px;
  text-transform: uppercase;
  color: #fff;
  font-weight: 700;
  font-family: poppins, sans-serif;
  letter-spacing: -11px;
  line-height: .8;
  margin: 10px auto 20px 15px;
  font-size: 18.12vh;
  letter-spacing: -1.4vh;
}

.menu-content {
  padding: 19vh 0 0;
}

.blueTxt {
  color: #726cf4;
}

.full-screen-menu .red-btn,
.full-screen-menu .red-btn:hover,
.contact-form-popup .red-btn,
.contact-form-popup .red-btn:hover {
  border-radius: 40px;
  margin: 40px auto 0 23px;
  padding: 12px 32px 12px 48px;
}

.side-navigation {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}

.side-navigation li a,
.side-navigation li .menu-link {
  color: #fff;
  font-size: 29px;
  text-transform: uppercase;
  font-family: poppins, sans-serif;
  font-weight: 700;
  padding: 10px 0;
  width: 100%;
  display: inline-block;
  text-decoration: none;
}

.side-navigation li .btn.btn-link {
  padding: 0;
  width: 100%;
  text-align: left;
}

.inner-sub-menus li a {
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 600;
  padding: 2px 0;
  width: 100%;
  transition: all .3s;
}

.side-navigation {
  width: 100%;
}

.side-navigation li {
  width: 100%;
  text-align: left;
  padding: 0;
  transition: all .3s;
}

.inner-sub-menus {
  margin: 0 auto 15px;
}

.side-navigation li:hover .inner-sub-menus {
  height: auto;
  opacity: 1;
  display: inline-block;
}

.inner-sub-menus li:hover a,
.side-navigation li:hover span,
.side-navigation li:hover>a {
  color: #726cf4;
  transition: all .3s;
}

.side-navigation li .btn-link .menu-link,
.side-navigation li .btn-link.collapsed:hover .menu-link {
  color: #726cf4;
}

.side-navigation li .btn-link.collapsed .menu-link {
  color: #fff;
}

.full-screen-menu .right-menu,
.contact-form-popup .right-menu {
  text-align: left;
  position: relative;
  height: calc(100vh - 170px);
  padding: 0 0 0 88px;
}

.office-sec .title {
  font-size: 45px;
  font-weight: 700;
  color: #fff;
}

.office-sec .title {
  position: relative;
  top: 50%;
  transform: translate(0, -50%);
}

.office-sec .social-icons {
  position: relative;
  top: 50%;
  transform: translate(-20px, -38%);
}

.office-sec {
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: left;
  color: #fff;
  border-top: 1px solid #244973;
}

.office-sec p {
  color: #fff;
  font-size: 15px;
}

.office-sec .col {
  padding: 40px 2%;
  border: 1px solid #244973;
  margin-left: -1px;
  border-top: 0;
}

.office-sec .col:nth-child(1) {
  border-left: 0;
  text-align: center;
  padding: 40px 3.5%;
}

.office-sec .col:nth-child(5) {
  border-right: 0;
  text-align: center;
  padding: 40px 2%;
}

.office-sec .social-icons a {
  float: none;
}

.office-sec .social-icons {
  float: left;
  width: 100%;
}

.office-sec .row {
  margin: 0;
  padding: 0;
}

header.open-menu nav#slidemenu,
header.open-menu .fr,
header.show-menu nav#slidemenu,
header.show-menu .fr {
  display: none;
}

.nav-menu span.right-ar:before,
.nav-menu span.right-ar:after {
  content: "";
  width: 32px;
  height: 5px;
  background: #fff;
  float: left;
  margin: 1px auto 7px;
  position: absolute;
  transition: all .3s;
  display: inline-block;
  top: 0;
  left: 0;
  right: 0;
  opacity: 0;
}

header.open-menu .nav-menu span.right-ar:before {
  opacity: 1;
  transform: rotate(45deg);
}

header.open-menu .nav-menu span.right-ar:after {
  opacity: 1;
  transform: rotate(-45deg);
}

header.open-menu .right-menu,
header.open-menu .row.header-row,
header.show-menu .right-menu,
header.show-menu .row.header-row {
  height: 1px;
}

.nav-menu.open>span:not(.right-ar) {
  display: none;
}

.nav-menu.open>span.right-ar {
  background: 0 0;
}

.nav-menu.open span.right-ar,
.nav-menu.open:hover span.right-ar {
  left: 0;
  top: 5px;
}

.nav-menu.open {
  margin: 12px auto 0 20px;
  height: 30px;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

.top-banner {
  height: 100vh;
  position: relative;
  overflow: hidden;
  background: #000;
}

/* Hero sits above the fixed story panel and slides up like a revealing screen */
.landing-page .top-banner {
  z-index: 50;
  isolation: isolate;
}

/* ---------- Home hero: full-bleed Spline (iframe embed - 100% Pure White Uniform Theme) ---------- */
.top-banner--spline {
  background: #ffffff !important;
  overflow: hidden !important;
}

/* Header navbar navigation links over Pure White Hero */
header.logo-navbar #navigation li.nav-item > a {
  color: #0f172a !important;
  font-weight: 600 !important;
}

header.logo-navbar #navigation li.nav-item.active > a,
header.logo-navbar #navigation li.nav-item > a:hover,
header.logo-navbar #navigation > li.nav-item.active > a,
header.logo-navbar #navigation > li.nav-item:hover > a {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  color: #726cf4 !important;
  -webkit-text-fill-color: #726cf4 !important;
}

header.logo-navbar:not(.white-header) #navigation li.nav-item.active > a,
header.logo-navbar:not(.white-header) #navigation > li.nav-item.active > a {
  color: #726cf4 !important;
  -webkit-text-fill-color: #726cf4 !important;
}

header.logo-navbar:not(.white-header) #navigation li.nav-item:hover > a,
header.logo-navbar:not(.white-header) #navigation > li.nav-item:hover > a {
  color: #726cf4 !important;
  -webkit-text-fill-color: #726cf4 !important;
}

header.logo-navbar:not(.white-header) #navigation li.nav-item > a::after,
header.logo-navbar:not(.white-header) #navigation > li.nav-item > a::after {
  background: #726cf4 !important;
}

body.landing-page header.logo-navbar:not(.white-header) #navigation li.nav-item.active > a,
body.landing-page header.logo-navbar:not(.white-header) #navigation > li.nav-item.active > a,
body.landing-page header.logo-navbar:not(.white-header) #navigation li.nav-item:hover > a,
body.landing-page header.logo-navbar:not(.white-header) #navigation > li.nav-item:hover > a {
  color: #726cf4 !important;
  -webkit-text-fill-color: #726cf4 !important;
}

body.landing-page header.logo-navbar:not(.white-header) #navigation li.nav-item > a::after,
body.landing-page header.logo-navbar:not(.white-header) #navigation > li.nav-item > a::after {
  background: #726cf4 !important;
}

/* Kill legacy blue pattern / solid cover that would bury the 3D scene */
.top-banner--spline::before {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Default NohiAI size: larger right-side figure (~0.9 desktop scale) */
@keyframes robotFadeInPosition {
  0% {
    transform: translate(360px, 48px) scale(0.82) translateZ(0);
    opacity: 0;
  }
  100% {
    transform: translate(360px, 48px) scale(0.9) translateZ(0);
    opacity: 1;
  }
}

/* Interactive Constellation Particle Canvas */
.hero-particle-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  opacity: 0.85;
}

.hero-spline-bg {
  position: absolute;
  top: 0;
  left: 0 !important;
  right: 0 !important;
  bottom: 0;
  width: 100% !important;
  z-index: 0;
  overflow: hidden;
  background: transparent !important;
  pointer-events: auto;
  contain: layout paint;
  isolation: isolate;
}

/* Kill center backlight aura to guarantee 0% vertical color seam or line down the middle */
.hero-spline-bg::before {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.hero-spline-bg::after {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

@media (max-width: 991px) {
  .hero-spline-bg {
    width: 100%;
    left: 0;
    right: 0;
  }
}

/* Full-bleed iframe / canvas for hero media */
.hero-spline-frame,
.hero-spline-viewer,
.hero-spline-bg iframe,
.hero-boxes-canvas {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block !important;
  outline: none;
  margin: 0;
  padding: 0;
  pointer-events: auto !important;
  min-width: 100%;
  min-height: 100%;
  background: transparent !important;
  background-color: transparent !important;
  touch-action: none;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  contain: strict;
  transform: translate3d(0, 0, 0);
}

.hero-boxes-canvas {
  z-index: 0;
  /* Ensure paint even before JS sizes it */
  width: 100% !important;
  height: 100% !important;
}

.hero-video-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  transform: translate(-50%, -50%);
  object-fit: cover;
  opacity: 1;
}

.hero-video-overlay {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  background: transparent !important;
}

@media (min-width: 992px) {
  .top-banner--spline .hero-spline-frame,
  .top-banner--spline .hero-spline-bg iframe {
    width: 100% !important;
    height: calc(100% + 130px) !important;
    left: 0 !important;
    top: -16px !important;
    transform: translate(360px, 48px) scale(0.9) translateZ(0) !important;
    transform-origin: 72% 48% !important;
    opacity: 1 !important;
    image-rendering: auto !important;
    filter: none !important;
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    animation: robotFadeInPosition 0.9s ease-out forwards !important;
  }
}

/* Mid desktops: right-side, same scale; keep robot clear of headline */
@media (min-width: 992px) and (max-width: 1199px) {
  .top-banner--spline .hero-spline-frame,
  .top-banner--spline .hero-spline-bg iframe {
    transform: translate(260px, 56px) scale(0.82) translateZ(0) !important;
    transform-origin: 70% 50% !important;
    animation: none !important;
  }

  .hero-robot-interactive-wrapper {
    top: 22%;
    right: 4%;
  }
}

/* ==========================================================================
   Clean 3D Robot Speech Bubble — Dark Violet Theme
   ========================================================================== */
.hero-robot-interactive-wrapper {
  position: absolute;
  top: 20%;
  right: 4%;
  z-index: 15 !important;
  cursor: pointer;
  pointer-events: auto !important;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  user-select: none;
  outline: none;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.hero-robot-interactive-wrapper:hover {
  transform: scale(1.04) translateY(-3px);
}

.hero-robot-interactive-wrapper:active {
  transform: scale(0.97);
}
.robot-speech-bubble {
  position: relative;
  background: rgba(15, 23, 42, 0.92) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1.5px solid rgba(129, 140, 248, 0.55) !important;
  border-radius: 20px 20px 20px 4px !important;
  padding: 10px 20px 10px 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #ffffff;
  box-shadow: 0 12px 35px rgba(15, 23, 42, 0.5), 0 0 22px rgba(99, 102, 241, 0.28);
  animation: floatRobotBubble 4s ease-in-out infinite;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Asymmetric speech pointer tail (Left side) */
.robot-speech-bubble::before {
  content: '' !important;
  display: block !important;
  position: absolute;
  bottom: -10px;
  left: 22px;
  width: 0;
  height: 0;
  border-right: 9px solid transparent;
  border-left: 3px solid transparent;
  border-top: 11px solid rgba(129, 140, 248, 0.7);
  z-index: 1;
}

.robot-speech-bubble::after {
  content: '' !important;
  display: block !important;
  position: absolute;
  bottom: -7px;
  left: 23px;
  width: 0;
  height: 0;
  border-right: 7px solid transparent;
  border-left: 2px solid transparent;
  border-top: 9px solid #0f172a;
  z-index: 2;
}

.badge-text {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
  font-size: 0.86rem !important;
  font-weight: 600 !important;
  color: #f8fafc !important;
  letter-spacing: 0.2px;
  white-space: nowrap;
}

.bubble-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px #10b981, 0 0 14px rgba(16, 185, 129, 0.6);
  flex-shrink: 0;
  animation: pulseStatusDot 2s ease-in-out infinite;
}

@keyframes pulseStatusDot {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: 0.7; }
}

.hero-robot-interactive-wrapper:hover .robot-speech-bubble {
  background: rgba(30, 41, 59, 0.96) !important;
  border-color: rgba(129, 140, 248, 0.85) !important;
  box-shadow: 0 16px 45px rgba(99, 102, 241, 0.4), 0 0 30px rgba(99, 102, 241, 0.35);
  transform: translateY(-2px) scale(1.04);
}

.hero-robot-interactive-wrapper:hover .robot-speech-bubble::before {
  border-top-color: rgba(129, 140, 248, 0.95);
}

.hero-robot-interactive-wrapper:hover .robot-speech-bubble::after {
  border-top-color: #1e293b;
}

/* Futuristic Energy Wave Pulse on 3D Robot Click */
.nohi-energy-wave {
  position: fixed;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid rgba(129, 140, 248, 0.95);
  background: radial-gradient(circle, rgba(129, 140, 248, 0.45) 0%, rgba(99, 102, 241, 0.12) 60%, transparent 80%);
  box-shadow: 0 0 30px rgba(99, 102, 241, 0.85), inset 0 0 18px rgba(129, 140, 248, 0.6);
  pointer-events: none;
  z-index: 99999;
  transform: translate(-50%, -50%) scale(1);
  animation: energyWaveExpand 0.65s cubic-bezier(0.1, 0.8, 0.3, 1) forwards;
}

@keyframes energyWaveExpand {
  0% {
    width: 20px;
    height: 20px;
    opacity: 1;
    border-width: 3px;
  }
  100% {
    width: 340px;
    height: 340px;
    opacity: 0;
    border-width: 1px;
  }
}

.bubble-title {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  font-style: normal !important;
  color: #ffffff !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.bubble-title .highlight-nohiai {
  color: #a78bfa !important;
  font-weight: 800 !important;
  font-style: normal !important;
  background: none !important;
  -webkit-text-fill-color: initial !important;
}

.bubble-subtitle {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  font-style: normal !important;
  color: #94a3b8 !important;
  margin-top: 2px;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

@keyframes floatRobotBubble {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

@keyframes pulseGreen {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7);
  }
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 8px rgba(34, 197, 94, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
  }
}

/* Mobile responsive placement */
@media (max-width: 991px) {
  .hero-robot-interactive-wrapper {
    top: auto;
    bottom: 25px;
    right: 50%;
    transform: translateX(50%);
    align-items: center;
  }

  .hero-robot-interactive-wrapper:hover {
    transform: translateX(50%) scale(1.04);
  }

  .robot-speech-bubble::before {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }

  .robot-speech-bubble::after {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }
}

/* Completely disable hero video overlay to guarantee 0% color seams or dark tint overlays */
.hero-video-overlay,
.hero-video-overlay.hero-spline-scrim,
.top-banner--spline .hero-video-overlay.clean-hero-overlay,
.hero-video-overlay.clean-hero-overlay {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Stretch hero text block wider to the right */
.top-banner--spline .banner-content.ai-era-hero.hero-content,
.top-banner--spline .hero-content {
  left: 0 !important;
  transform: translateY(-50%) !important;
  width: 100% !important;
  max-width: 680px !important;
  padding-left: max(40px, 3.5vw) !important;
  padding-right: 20px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.top-banner--spline .hero-content .ai-era-wrapper {
  pointer-events: none !important;
  align-items: flex-start !important;
  text-align: left !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.top-banner--spline .hero-content .ai-era-title {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
  font-family: 'Unbounded', 'Bricolage Grotesque', 'Syne', sans-serif !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  gap: 2px !important;
  margin: 0 0 22px 0 !important;
  transform: none !important;
}

.hero-title-line {
  display: block !important;
  font-size: clamp(2.0rem, 3.4vw, 3.3rem) !important;
  font-weight: 900 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.04em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  padding: 0 !important;
}

.hero-title-dark {
  color: #0f172a !important;
  font-weight: 900 !important;
  -webkit-text-fill-color: #0f172a !important;
}

.top-banner--spline .hero-content .ai-era-subtitle {
  text-align: left !important;
  font-size: clamp(0.95rem, 1.4vw, 1.22rem) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.015em !important;
  max-width: 640px !important;
  margin-bottom: 20px !important;
}

.top-banner--spline .hero-content a,
.top-banner--spline .hero-content button {
  pointer-events: auto !important;
}



.hero-micro-badge:hover {
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: rgba(114, 108, 244, 0.5) !important;
  transform: translateY(-2px) !important;
  color: #ffffff !important;
}

.badge-spark {
  font-size: 14px;
}

.badge-arrow {
  opacity: 0.7;
  transition: transform 0.2s ease;
}

.hero-micro-badge:hover .badge-arrow {
  opacity: 1;
  transform: translateX(3px);
}

/* 2. Dual-CTA Action Buttons (White Theme Support) */
.dual-cta-group {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-bottom: 22px !important;
}

.ai-era-btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: linear-gradient(135deg, #726cf4 0%, #5f58dc 100%) !important;
  color: #ffffff !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 11px 24px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  box-shadow: 0 6px 22px rgba(114, 108, 244, 0.45) !important;
  transition: all 0.25s ease !important;
}

.ai-era-btn-primary:hover {
  background: linear-gradient(135deg, #817bf7 0%, #6c65e8 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(114, 108, 244, 0.6) !important;
  color: #ffffff !important;
}

.ai-era-btn-secondary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #FAF8F5 !important;
  border: 1.5px solid #1e293b !important;
  color: #0f172a !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 11px 22px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05) !important;
  transition: all 0.25s ease !important;
}

.ai-era-btn-secondary:hover {
  background: #0f172a !important;
  border-color: #0f172a !important;
  transform: translateY(-2px) !important;
  color: #ffffff !important;
}

.btn-arrow, .btn-play {
  transition: transform 0.2s ease;
}

.ai-era-btn-primary:hover .btn-arrow {
  transform: translateX(3px);
}

.ai-era-btn-secondary:hover .btn-play {
  transform: scale(1.15);
}

/* 3. Social Proof & Micro Metrics Bar (Cream White Theme) */
.hero-proof-bar {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 8px 16px !important;
  background: #F0EDE6 !important;
  border-radius: 12px !important;
  border: 1px solid #E2DDD2 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03) !important;
}

.proof-item {
  display: flex !important;
  align-items: baseline !important;
  gap: 5px !important;
}

.proof-val {
  font-weight: 800 !important;
  font-size: 14px !important;
  color: #0d9488 !important;
}

.proof-lbl {
  font-size: 11px !important;
  color: #475569 !important;
  font-weight: 600 !important;
}

.proof-divider {
  width: 1px !important;
  height: 14px !important;
  background: #cbd5e1 !important;
}

/* Light Theme Overrides for Text */
.top-banner--spline .thin-light {
  color: #0f172a !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}

.top-banner--spline .ai-era-subtitle {
  color: #334155 !important;
  text-shadow: none !important;
}

@media (max-width: 767px) {
  .top-banner--spline {
    min-height: 100vh;
    min-height: 100dvh;
    height: 100vh;
    height: 100dvh;
  }

  .hero-spline-frame,
  .hero-spline-viewer,
  .hero-spline-bg iframe {
    width: 100% !important;
    height: 100% !important;
    /* Keep robot readable without overflowing the mobile hero */
    transform: translate(0, 28px) scale(0.92) translateZ(0) !important;
    transform-origin: center 55% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .top-banner--spline .hero-spline-bg {
    pointer-events: none;
  }

  .top-banner--spline .hero-video-overlay.hero-spline-scrim {
    background: linear-gradient(180deg, rgba(8, 10, 16, 0.55) 0%, rgba(8, 10, 16, 0.45) 100%) !important;
  }
}

.medical-billing {
  background: #022a5e url('../images/medical-billing-services.jpg') no-repeat center center/cover !important;
}

.red-btn,
.red-btn:hover,
.app-developer .red-btn,
.app-developer .red-btn:hover {
  background: #56CBB9;
  color: #fff;
  font-size: 18px;
  padding: 12px 32px;
  text-decoration: none;
  font-weight: 700;
  text-transform: uppercase;
  display: inline-block;
  font-family: poppins, sans-serif;
  position: relative;
}

.banner-content .red-btn,
.lt-content .red-btn {
  border-radius: 40px;
  margin: 40px auto 0;
  transition: all .3s;
}

.app-developer .red-btn {
  border-radius: 40px;
  margin: 10px auto 0;
  transition: all .3s;
}

.banner-content .red-btn:hover {
  background: #808080;
}

.banner-content.hero-luxury-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  position: absolute;
  bottom: 85px;
  top: auto;
  left: 50%;
  transform: translateX(-50%);
  width: 92%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  z-index: 5;
  transition: opacity 0.6s ease, transform 0.6s ease;
}

/* ==========================================================================
   Hero Stage Auto-Fade Sync (Hides Header & Content in Last 5 Seconds)
   ========================================================================== */
header.logo-navbar,
.banner-content,
.hero-video-overlay {
  transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.hero-fade-out {
  opacity: 0 !important;
  pointer-events: none !important;
}

.hero-fade-out.banner-content,
.hero-fade-out.hero-video-overlay {
  transform: translateY(15px) !important;
}

.hero-video-overlay.clean-hero-overlay {
  display: none !important;
  background: transparent !important;
}

/* ==========================================================================
   AI Era Modern Contrasting Typography Hero Styling (Reference Layout)
   ========================================================================== */
.banner-content.ai-era-hero {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 100% !important;
  max-width: 1280px !important;
  z-index: 5 !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

.ai-era-wrapper {
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

.ai-era-title {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
  font-size: clamp(3rem, 6.2vw, 6rem) !important;
  line-height: 1.15 !important;
  margin: 0 0 18px 0 !important;
  letter-spacing: -0.03em !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 0.28em !important;
  width: 100% !important;
  text-align: center !important;
}

/* Bold Heavy Gradient Word (Build & apps style) */
.gradient-heavy {
  font-weight: 900;
  background: linear-gradient(135deg, #d946ef 0%, #ec4899 35%, #726cf4 85%, #5f58dc 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

/* Thin Ultra-Light Word (enterprise style) */
.thin-light {
  font-weight: 200;
  color: #ffffff;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  display: inline-block;
  opacity: 0.95;
}

/* Second Line Subtitle (for the AI era style) */
.ai-era-subtitle {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  font-size: clamp(1.4rem, 2.8vw, 2.5rem);
  font-weight: 300;
  color: rgba(255, 255, 255, 0.92);
  margin-bottom: 36px;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.8);
}

.ai-era-cta {
  display: flex;
  align-items: center;
  justify-content: center;
}

.ai-era-btn-blue {
  background: #726cf4;
  color: #ffffff !important;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 15px;
  font-weight: 700;
  padding: 15px 42px;
  border-radius: 8px;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 30px rgba(114, 108, 244, 0.45);
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  border: none;
}

.ai-era-btn-blue:hover {
  background: #5f58dc;
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 14px 40px rgba(114, 108, 244, 0.65);
}

.sekar-btn-glass {
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.25);
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 14px 32px;
  border-radius: 4px;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  transition: all 0.3s ease;
}

.sekar-btn-glass:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: #ffffff;
  transform: translateY(-2px);
}

/* Master Trust Bar */
.master-trust-bar {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.trust-pill-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 6px 16px;
  border-radius: 20px;
}

.trust-pill-icon {
  font-size: 14px;
}

.banner-content.hero-luxury-container.hidden-logo-reveal {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translate(-50%, 15px) !important;
}

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #aaa6fa;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 30px;
  padding: 6px 18px;
  margin-bottom: 20px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

.eyebrow-dot {
  width: 7px;
  height: 7px;
  background: #726cf4;
  border-radius: 50%;
  box-shadow: 0 0 10px #726cf4;
  animation: pulseDot 2s infinite ease-in-out;
}

@keyframes pulseDot {
  0%, 100% { opacity: 0.6; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.2); }
}

.hero-luxury-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.4rem, 4.6vw, 4.4rem);
  font-weight: 600;
  color: #ffffff;
  line-height: 1.18;
  margin: 0 0 18px 0;
  text-shadow: 0 6px 30px rgba(0, 0, 0, 0.9);
}

.gradient-text {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-weight: 500;
  background: linear-gradient(135deg, #726cf4 0%, #726cf4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.hero-luxury-subtitle {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(0.95rem, 1.4vw, 1.15rem);
  font-weight: 500;
  color: #cbd5e1;
  max-width: 820px;
  margin: 0 auto 28px auto;
  line-height: 1.65;
  text-shadow: 0 2px 15px rgba(0, 0, 0, 0.9);
}

/* Executive CTA Button Group */
.hero-cta-group {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.hero-btn-primary {
  background: linear-gradient(135deg, #726cf4 0%, #5f58dc 100%);
  color: #ffffff !important;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 13px 28px;
  border-radius: 30px;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 8px 25px rgba(114, 108, 244, 0.45);
  transition: all 0.3s ease;
}

.hero-btn-primary:hover {
  background: linear-gradient(135deg, #5f58dc 0%, #5f58dc 100%);
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(114, 108, 244, 0.6);
}

.hero-btn-glass {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.25);
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 13px 28px;
  border-radius: 30px;
  text-decoration: none !important;
  transition: all 0.3s ease;
}

.hero-btn-glass:hover {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.4);
  transform: translateY(-2px);
}

/* ==========================================================================
   Option 2: Dark Executive Command Matrix Styling
   ========================================================================== */
.dark-command-sec {
  background: linear-gradient(180deg, #0b1120 0%, #0f172a 100%);
  padding: 100px 0 110px;
  position: relative;
  overflow: hidden;
  color: #ffffff;
}

.command-grid-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: 
    radial-gradient(circle at 50% 0%, rgba(114, 108, 244, 0.18) 0%, transparent 65%),
    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 100% 100%, 40px 40px, 40px 40px;
  pointer-events: none;
}

.command-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.2em;
  color: #726cf4;
  background: rgba(114, 108, 244, 0.1);
  border: 1px solid rgba(114, 108, 244, 0.25);
  padding: 6px 18px;
  border-radius: 20px;
  margin-bottom: 16px;
  text-transform: uppercase;
}

.pulse-cyan-dot {
  width: 7px;
  height: 7px;
  background: #726cf4;
  border-radius: 50%;
  box-shadow: 0 0 10px #726cf4;
}

.command-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.2rem, 3.8vw, 3.2rem);
  font-weight: 600;
  color: #ffffff;
  line-height: 1.25;
  margin-bottom: 16px;
}

.gradient-cyan-text {
  background: linear-gradient(135deg, #726cf4 0%, #726cf4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-style: italic;
  font-family: 'Playfair Display', Georgia, serif;
}

.command-subtitle {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 16px;
  color: #94a3b8;
  max-width: 800px;
  margin: 0 auto;
  line-height: 1.65;
  font-weight: 400;
}

/* Executive Metrics Bar */
.command-metrics-bar {
  display: flex;
  align-items: center;
  justify-content: space-around;
  background: rgba(30, 41, 59, 0.5);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 24px 30px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
  flex-wrap: wrap;
  gap: 16px;
}

.metric-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.metric-val {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: #726cf4;
  letter-spacing: -0.02em;
}

.metric-lbl {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  color: #cbd5e1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 2px;
}

.metric-divider {
  width: 1px;
  height: 38px;
  background: rgba(255, 255, 255, 0.12);
}

/* Dark Matrix Card */
.dark-matrix-card {
  background: rgba(30, 41, 59, 0.55);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 22px;
  padding: 36px 32px;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
}

.dark-matrix-card:hover {
  transform: translateY(-8px);
  background: rgba(30, 41, 59, 0.85);
  border-color: #726cf4;
  box-shadow: 0 20px 50px rgba(114, 108, 244, 0.22);
}

.card-num {
  position: absolute;
  top: 24px;
  right: 28px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14px;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.2);
  letter-spacing: 0.05em;
}

.card-head-group {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}

.matrix-icon {
  font-size: 26px;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(114, 108, 244, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.matrix-card-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 21px;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
}

.matrix-card-para {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14px;
  color: #94a3b8;
  line-height: 1.65;
  margin-bottom: 24px;
  flex: 1;
}

.matrix-link {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13.5px;
  font-weight: 700;
  color: #726cf4;
  text-decoration: none !important;
  transition: color 0.25s ease;
}

.matrix-link:hover {
  color: #8f8af8;
}
.luxury-features-sec {
  background: #f8fafc;
  padding: 95px 0 100px;
  position: relative;
}

.section-header {
  margin-bottom: 54px;
}

.section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
  color: #726cf4;
  background: #eeecff;
  padding: 6px 18px;
  border-radius: 20px;
  margin-bottom: 16px;
  text-transform: uppercase;
}

.eyebrow-blue-dot {
  width: 7px;
  height: 7px;
  background: #726cf4;
  border-radius: 50%;
}

.section-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.2rem, 3.8vw, 3.2rem);
  font-weight: 600;
  color: #0f172a;
  line-height: 1.25;
  margin-bottom: 18px;
}

.blue-accent-text {
  color: #726cf4;
  font-style: italic;
  font-family: 'Playfair Display', Georgia, serif;
}

.section-subtitle {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 16px;
  color: #64748b;
  max-width: 820px;
  margin: 0 auto;
  line-height: 1.65;
  font-weight: 500;
}

/* ==========================================================================
   Square Left-to-Right Sliding Card Rotator Styling
   ========================================================================== */
.card-rotator-wrapper {
  position: relative;
  max-width: 540px;
  margin: 0 auto;
  padding: 10px 0 20px 0;
  overflow: hidden;
}

.card-rotator-track {
  position: relative;
  min-height: 380px;
  overflow: hidden;
  border-radius: 24px;
}

.rotator-card {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 24px;
  padding: 42px 36px 36px 36px;
  min-height: 380px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  justify-content: space-between;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.04);
  opacity: 0;
  visibility: hidden;
  transform: translateX(100%);
  transition: transform 0.65s cubic-bezier(0.25, 1, 0.5, 1), 
              opacity 0.65s cubic-bezier(0.25, 1, 0.5, 1), 
              visibility 0.65s ease;
  pointer-events: none;
  overflow: hidden;
}

.rotator-card.active {
  position: relative;
  opacity: 1;
  visibility: visible;
  transform: translateX(0%);
  pointer-events: auto;
  box-shadow: 0 20px 50px rgba(114, 108, 244, 0.18);
  border-color: rgba(114, 108, 244, 0.45);
}

.rotator-card.slide-left-out {
  transform: translateX(-100%);
  opacity: 0;
  visibility: hidden;
}

.rotator-card.slide-right-out {
  transform: translateX(100%);
  opacity: 0;
  visibility: hidden;
}

.rotator-card .card-accent-bar {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, #726cf4 0%, #726cf4 50%, #726cf4 100%);
  background-size: 200% 100%;
  animation: lineSweep 3.5s linear infinite;
  opacity: 1;
}

@keyframes lineSweep {
  0% { background-position: 0% 0%; }
  100% { background-position: 200% 0%; }
}

/* Staggered Kinetic Element Animations for Active Card */
.rotator-card.active .card-icon-badge {
  animation: badgePop 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards, floatBadge 3.2s ease-in-out infinite 0.6s;
}

.rotator-card.active .card-title {
  animation: textSlideUp 0.55s ease 0.12s forwards;
}

.rotator-card.active .card-para {
  animation: textSlideUp 0.55s ease 0.22s forwards;
}

.rotator-card.active .card-pill-btn {
  animation: textSlideUp 0.55s ease 0.32s forwards;
}

@keyframes badgePop {
  0% { transform: scale(0.4) rotate(-10deg); opacity: 0; }
  100% { transform: scale(1) rotate(0deg); opacity: 1; }
}

@keyframes floatBadge {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

@keyframes textSlideUp {
  0% { transform: translateY(16px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}

.rotator-card .card-top-row {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-bottom: 20px;
}

.rotator-card .card-icon-badge {
  width: 62px;
  height: 62px;
  border-radius: 18px;
  background: linear-gradient(135deg, #eeecff 0%, #f6f5ff 100%);
  border: 1px solid rgba(114, 108, 244, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 20px rgba(114, 108, 244, 0.1);
  margin: 0 auto;
}

.rotator-card .card-icon-badge img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.rotator-card .card-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 24px;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 12px;
  text-align: center;
}

.rotator-card .card-para {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 15px;
  color: #475569;
  line-height: 1.65;
  margin: 0 auto 24px auto;
  max-width: 440px;
  text-align: center;
  flex: 1;
}

.rotator-card .card-footer-row {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.rotator-card .card-pill-btn {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #ffffff !important;
  background: linear-gradient(135deg, #726cf4 0%, #5f58dc 100%);
  border: none;
  padding: 13px 26px;
  border-radius: 28px;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 8px 22px rgba(114, 108, 244, 0.38);
  white-space: nowrap;
  transition: all 0.3s ease;
}

.rotator-card .card-pill-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(114, 108, 244, 0.55);
  background: linear-gradient(135deg, #5f58dc 0%, #5f58dc 100%);
}

@media (max-width: 768px) {
  .rect-card-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  .rotator-card {
    padding: 30px 24px;
  }
}

/* Rotator Control Bar & Animated Progress Dots */
.rotator-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 36px;
}

.rotator-arrow-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  color: #726cf4;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  transition: all 0.25s ease;
}

.rotator-arrow-btn:hover {
  background: #726cf4;
  color: #ffffff;
  border-color: #726cf4;
  transform: scale(1.08);
  box-shadow: 0 6px 18px rgba(114, 108, 244, 0.4);
}

.rotator-dots-container {
  display: flex;
  align-items: center;
  gap: 10px;
}

.rotator-dot {
  width: 32px;
  height: 6px;
  border-radius: 4px;
  background: #e2e8f0;
  border: none;
  padding: 0;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: width 0.3s ease, background-color 0.3s ease;
}

.rotator-dot.active {
  width: 48px;
  background: rgba(114, 108, 244, 0.2);
}

.rotator-dot .dot-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background: #726cf4;
  border-radius: 4px;
}

.rotator-dot.active .dot-fill {
  width: 100%;
  transition: width 3.8s linear;
}

/* ==========================================================================
   Apple / McKinsey Minimalist Executive Credibility Section Styling
   ========================================================================== */
.executive-trust-sec {
  background-image:
    linear-gradient(rgba(6, 18, 32, 0.72), rgba(6, 18, 32, 0.72)),
    url('../images/office-trust-parallax.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  padding: 105px 0 115px 0;
  position: relative;
  border: 0;
}

.executive-trust-sec > .container {
  position: relative;
  z-index: 1;
}

.exec-trust-header {
  margin-bottom: 60px;
}

.exec-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.18em;
  color: #726cf4;
  background: #eeecff;
  padding: 6px 18px;
  border-radius: 20px;
  margin-bottom: 18px;
  text-transform: uppercase;
}

.exec-trust-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.2rem, 3.8vw, 3.2rem);
  font-weight: 600;
  color: #ffffff;
  line-height: 1.22;
  margin-bottom: 14px;
}

.exec-trust-subtitle {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.78);
  max-width: 720px;
  margin: 0 auto;
  line-height: 1.6;
  font-weight: 400;
}

/* Minimalist Metrics Row (Zero Box Clutter) */
.exec-metrics-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1140px;
  margin: 0 auto;
  padding: 30px 20px;
  background: rgba(7, 20, 36, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 24px;
  box-shadow: none;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  flex-wrap: wrap;
  gap: 20px;
}

.exec-metric-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 1;
  min-width: 150px;
  padding: 12px 10px;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  cursor: default;
}

.exec-metric-col:hover {
  transform: translateY(-4px) scale(1.05);
}

.exec-number-wrap {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 2px;
  margin-bottom: 4px;
}

.exec-metric-col .counter {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(2.5rem, 3.4vw, 3.4rem);
  font-weight: 800;
  color: #ffffff;
  line-height: 1;
  letter-spacing: -0.03em;
  transition: color 0.3s ease, background 0.3s ease;
}

.exec-metric-col:hover .counter {
  background: linear-gradient(135deg, #726cf4 0%, #726cf4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.exec-plus {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1.8rem;
  font-weight: 800;
  color: #726cf4;
  transition: transform 0.3s ease;
}

.exec-metric-col:hover .exec-plus {
  transform: scale(1.2);
}

.exec-metric-label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.72);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1.3;
}

.exec-divider {
  width: 1px;
  height: 48px;
  background: rgba(255, 255, 255, 0.2);
}

/* Microsoft Certified Partner Medal Badge */
.exec-cert-col {
  flex: 1.4;
  min-width: 220px;
}

.ms-certified-badge {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #cbd5e1;
  padding: 12px 22px;
  border-radius: 30px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
  position: relative;
  overflow: hidden;
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ms-certified-badge::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.85), transparent);
  transform: skewX(-25deg);
  animation: badgeShimmer 3.8s ease-in-out infinite;
}

@keyframes badgeShimmer {
  0% { left: -100%; }
  35%, 100% { left: 200%; }
}

.ms-certified-badge:hover {
  border-color: #726cf4;
  box-shadow: 0 10px 30px rgba(114, 108, 244, 0.22);
  transform: translateY(-4px) scale(1.03);
}

.ms-logo-icon {
  color: #00a4ef;
  flex-shrink: 0;
  transition: transform 0.5s ease;
}

.ms-certified-badge:hover .ms-logo-icon {
  transform: rotate(360deg);
}

.badge-text-wrap {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.ms-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: 0.06em;
  line-height: 1.2;
}

.ms-sub {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: #726cf4;
  line-height: 1.2;
}

@media (max-width: 991px) {
  .executive-trust-sec {
    background-attachment: scroll;
  }

  .exec-metrics-row {
    flex-direction: column;
    gap: 30px;
  }
  .exec-divider {
    display: none;
  }
}

/* ==========================================================================
   Luxury Tech Insights Editorial Journal Styling
   ========================================================================== */
.insights-journal-sec {
  background: #f8fafc;
  padding: 105px 0 115px 0;
  position: relative;
}

.section-header {
  margin-bottom: 55px;
}

.section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.18em;
  color: #726cf4;
  background: #eeecff;
  padding: 6px 18px;
  border-radius: 20px;
  margin-bottom: 18px;
  text-transform: uppercase;
}

.eyebrow-blue-dot {
  width: 6px;
  height: 6px;
  background: #726cf4;
  border-radius: 50%;
}

.section-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.2rem, 3.8vw, 3.2rem);
  font-weight: 600;
  color: #0f172a;
  line-height: 1.22;
  margin-bottom: 14px;
}

.blue-accent-text {
  color: #726cf4;
  font-style: italic;
}

.section-subtitle {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 16px;
  color: #64748b;
  max-width: 680px;
  margin: 0 auto;
  line-height: 1.6;
}

/* ==========================================================================
   Luxury Interactive Horizontal Accordion Showcase Styling
   ========================================================================== */
.insights-accordion-sec {
  background: #ffffff;
  padding: 105px 0 115px 0;
  position: relative;
  border-top: 1px solid #f1f5f9;
  border-bottom: 1px solid #f1f5f9;
}

.insights-view-all-pill {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13.5px;
  font-weight: 700;
  color: #726cf4;
  background: #f6f5ff;
  border: 1px solid rgba(114, 108, 244, 0.25);
  padding: 10px 24px;
  border-radius: 24px;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
}

.insights-view-all-pill:hover {
  background: #726cf4;
  color: #ffffff;
  box-shadow: 0 6px 20px rgba(114, 108, 244, 0.35);
  transform: translateY(-2px);
}

.accordion-stage-grid {
  display: flex;
  gap: 16px;
  height: 460px;
  width: 100%;
}

.accordion-card-item {
  position: relative;
  flex: 1;
  border-radius: 24px;
  overflow: hidden;
  background: #0f172a;
  border: 1px solid #e2e8f0;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
  transition: flex 0.55s cubic-bezier(0.25, 1, 0.5, 1), border-color 0.4s ease, box-shadow 0.4s ease;
}

.accordion-card-item.active {
  flex: 3.5;
  border-color: #726cf4;
  box-shadow: 0 20px 45px rgba(114, 108, 244, 0.25);
}

.accordion-bg-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.accordion-bg-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.45;
  filter: brightness(0.7) contrast(1.1);
  transition: transform 0.7s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.5s ease;
}

.accordion-card-item.active .accordion-bg-image img {
  opacity: 0.95;
  filter: brightness(0.85);
  transform: scale(1.05);
}

.accordion-overlay-gradient {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.2) 0%, rgba(15, 23, 42, 0.95) 100%);
  z-index: 2;
}

/* Collapsed State Bar */
.accordion-collapsed-bar {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  opacity: 1;
  transition: opacity 0.3s ease;
}

.accordion-card-item.active .accordion-collapsed-bar {
  opacity: 0;
  pointer-events: none;
}

.acc-num {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: #726cf4;
}

.acc-vert-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11px;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: 0.18em;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  white-space: nowrap;
}

/* Expanded State Content */
.accordion-expanded-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 36px 32px;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
  transition: opacity 0.45s ease 0.15s, transform 0.45s ease 0.15s;
}

.accordion-card-item.active .accordion-expanded-content {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.acc-tag-pill {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 10.5px;
  font-weight: 800;
  color: #061527;
  background: #726cf4;
  padding: 5px 14px;
  border-radius: 18px;
  letter-spacing: 0.08em;
  margin-bottom: 12px;
}

.acc-date-meta {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #94a3b8;
  margin-bottom: 8px;
}

.acc-headline {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.4rem, 2vw, 1.85rem);
  font-weight: 600;
  color: #ffffff;
  line-height: 1.32;
  margin-bottom: 12px;
  max-width: 90%;
}

.acc-summary {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14.5px;
  color: #cbd5e1;
  line-height: 1.6;
  margin-bottom: 22px;
  max-width: 85%;
}

.acc-read-btn {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13.5px;
  font-weight: 700;
  color: #ffffff !important;
  background: linear-gradient(135deg, #726cf4 0%, #5f58dc 100%);
  padding: 11px 26px;
  border-radius: 24px;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 8px 22px rgba(114, 108, 244, 0.4);
  transition: all 0.3s ease;
}

.acc-read-btn:hover {
  background: linear-gradient(135deg, #726cf4 0%, #726cf4 100%);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(114, 108, 244, 0.5);
}

@media (max-width: 991px) {
  .accordion-stage-grid {
    flex-direction: column;
    height: auto;
  }
  .accordion-card-item {
    height: 120px;
    flex: none !important;
  }
  .accordion-card-item.active {
    height: 380px;
  }
  .accordion-collapsed-bar {
    left: 24px;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    flex-direction: row;
  }
  .acc-vert-title {
    writing-mode: horizontal-tb;
    transform: none;
  }
}

@media (max-width: 650px) {
  .accordion-card-item.active {
    height: 420px;
  }
  .accordion-expanded-content {
    padding: 26px 22px;
  }
  .acc-summary {
    max-width: 100%;
    font-size: 13.5px;
    margin-bottom: 18px;
  }
  .acc-headline {
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .accordion-card-item,
  .accordion-bg-image img,
  .accordion-collapsed-bar,
  .accordion-expanded-content,
  .acc-read-btn,
  .insights-view-all-pill {
    transition: none !important;
  }

  .accordion-card-item.active .accordion-bg-image img {
    transform: none;
  }

  .accordion-expanded-content {
    transform: none;
  }
}

/* ==========================================================================
   Luxury 3-Step Consultation Workflow Styling
   ========================================================================== */
.workflow-cta-sec {
  padding: 40px 0 75px 0;
}

.workflow-cta-box {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 32px;
  padding: 56px 48px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.03);
  position: relative;
  overflow: hidden;
}

.workflow-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  color: #726cf4;
  background: #f6f5ff;
  border: 1px solid rgba(114, 108, 244, 0.25);
  padding: 6px 18px;
  border-radius: 20px;
  margin-bottom: 18px;
}

.workflow-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2rem, 3.2vw, 2.75rem);
  font-weight: 600;
  color: #0f172a;
  line-height: 1.25;
  margin-bottom: 18px;
}

.workflow-para {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 15px;
  color: #475569;
  line-height: 1.7;
  margin-bottom: 0;
}

.workflow-primary-btn {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14.5px;
  font-weight: 700;
  color: #ffffff !important;
  background: linear-gradient(135deg, #726cf4 0%, #5f58dc 100%);
  padding: 13px 32px;
  border-radius: 28px;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 8px 24px rgba(114, 108, 244, 0.38);
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.workflow-primary-btn:hover {
  background: linear-gradient(135deg, #5f58dc 0%, #5f58dc 100%);
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(114, 108, 244, 0.5);
}

/* 3-Step Process Card */
.workflow-steps-card {
  background: #fafbfc;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  padding: 36px 30px;
}

.steps-card-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 20px;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 4px;
}

.steps-card-sub {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #64748b;
  margin-bottom: 0;
}

.steps-list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 6px 0 2px;
}

.steps-list::before {
  content: "";
  position: absolute;
  top: 22px;
  bottom: 30px;
  left: 18px;
  width: 2px;
  background: linear-gradient(180deg, #726cf4 0%, #aaa6fa 55%, #e8e6ff 100%);
}

.step-row-item {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 0 0 34px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transition: transform 0.25s ease;
}

.step-row-item:last-child {
  padding-bottom: 0;
}

.step-row-item:hover {
  transform: translateX(5px);
  box-shadow: none;
}

.step-num-badge {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 800;
  color: #726cf4;
  position: relative;
  z-index: 2;
  background: #ffffff;
  border: 2px solid #6dcdf5;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 0 0 6px #fafbfc;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.step-row-item:hover .step-num-badge {
  background: #726cf4;
  border-color: #726cf4;
  color: #ffffff;
}

.step-item-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14.5px;
  font-weight: 700;
  color: #0f172a;
  margin: 1px 0 5px;
}

.step-item-desc {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12.5px;
  color: #64748b;
  line-height: 1.5;
  margin-bottom: 0;
}

.step-info {
  padding-top: 1px;
}

/* ==========================================================================
   Luxury Executive Client Success & Case Studies Styling
   ========================================================================== */
.executive-case-studies-sec {
  padding: 60px 0 90px 0;
  background: #f8fafc;
}

.case-study-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: all 0.35s cubic-bezier(0.25, 1, 0.5, 1);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.02);
}

.case-study-card:hover {
  transform: translateY(-8px);
  border-color: #726cf4;
  box-shadow: 0 20px 40px rgba(114, 108, 244, 0.15);
}

.case-logo-stage {
  position: relative;
  aspect-ratio: 256 / 343;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-bottom: 1px solid #e2e8f0;
}

/* Smart Color Blending Stage Backdrops */
.stage-fmo {
  background: #080a06;
}

.stage-dojoman {
  background: #140c0c;
}

.stage-tax {
  background: #1e262e;
}

.stage-smartvisit {
  background: #1a6265;
}

.case-mockup-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.case-study-card:hover .case-mockup-img {
  transform: scale(1.02);
}

.case-client-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 9.5px;
  font-weight: 800;
  color: #726cf4;
  background: #ffffff;
  border: 1px solid rgba(114, 108, 244, 0.3);
  padding: 3px 10px;
  border-radius: 12px;
  letter-spacing: 0.05em;
}

.case-card-body {
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.case-category-tag {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 10.5px;
  font-weight: 800;
  color: #726cf4;
  letter-spacing: 0.12em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.case-card-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 17.5px;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.35;
  margin-bottom: 10px;
}

.case-card-desc {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  color: #64748b;
  line-height: 1.6;
  margin-bottom: 20px;
  flex-grow: 1;
}

.case-card-link {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #726cf4 !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.3s ease;
}

.case-study-card:hover .case-card-link {
  gap: 10px;
  color: #5f58dc !important;
}

.card-accent-bar {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #726cf4 0%, #726cf4 100%);
  opacity: 0;
  transition: opacity 0.35s ease;
}

.luxury-feature-card:hover {
  transform: translateY(-8px);
  border-color: rgba(114, 108, 244, 0.4);
  box-shadow: 0 20px 45px rgba(114, 108, 244, 0.12);
}

.luxury-feature-card:hover .card-accent-bar {
  opacity: 1;
}

.card-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}

.card-icon-badge {
  width: 62px;
  height: 62px;
  border-radius: 16px;
  background: linear-gradient(135deg, #eeecff 0%, #f6f5ff 100%);
  border: 1px solid rgba(114, 108, 244, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px rgba(114, 108, 244, 0.08);
  transition: transform 0.3s ease;
}

.luxury-feature-card:hover .card-icon-badge {
  transform: scale(1.08);
  background: linear-gradient(135deg, #e5e3ff 0%, #eeecff 100%);
}

.card-icon-badge img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.card-step-badge {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 800;
  color: #726cf4;
  background: #f6f5ff;
  border: 1px solid rgba(114, 108, 244, 0.15);
  padding: 4px 12px;
  border-radius: 20px;
  letter-spacing: 0.05em;
}

.card-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 22px;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 12px;
}

.card-para {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14.5px;
  color: #64748b;
  line-height: 1.65;
  margin-bottom: 26px;
  flex: 1;
}

.card-footer-row {
  margin-top: auto;
  display: flex;
  align-items: center;
}

.card-pill-btn {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #0f172a;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  padding: 8px 18px;
  border-radius: 24px;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.25s ease;
}

.card-pill-btn svg {
  transition: transform 0.25s ease;
}

.luxury-feature-card:hover .card-pill-btn {
  background: #726cf4;
  color: #ffffff !important;
  border-color: #726cf4;
  box-shadow: 0 6px 18px rgba(114, 108, 244, 0.35);
}

.luxury-feature-card:hover .card-pill-btn svg {
  transform: translateX(4px);
}

/* Interactive Filter Bar */
.hero-filter-bar {
  display: flex;
  align-items: center;
  background: rgba(248, 250, 252, 0.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
  width: 100%;
  max-width: 1060px;
  overflow: hidden;
}

.filter-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 14px 22px;
  border-right: 1px solid rgba(203, 213, 225, 0.7);
  text-align: left;
}

.filter-group:last-of-type {
  border-right: none;
}

.filter-label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: #726cf4;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.filter-select {
  width: 100%;
  background: transparent;
  border: none;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14.5px;
  font-weight: 600;
  color: #1e293b;
  outline: none;
  cursor: pointer;
  padding: 2px 0;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23334155%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right 4px top 55%;
  background-size: 9px auto;
  padding-right: 18px;
}

.hero-filter-btn {
  background: linear-gradient(135deg, #726cf4 0%, #5f58dc 100%);
  color: #ffffff;
  border: none;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 22px 28px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
  outline: none !important;
  height: 100%;
}

.hero-filter-btn:hover {
  background: linear-gradient(135deg, #5f58dc 0%, #5f58dc 100%);
  box-shadow: 0 8px 24px rgba(114, 108, 244, 0.4);
}

@media (max-width: 992px) {
  .hero-filter-bar {
    flex-direction: column;
    border-radius: 16px;
  }
  .filter-group {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid rgba(203, 213, 225, 0.7);
  }
  .hero-filter-btn {
    width: 100%;
    justify-content: center;
    border-radius: 0 0 16px 16px;
  }
}

.infosys-headline {
  font-size: clamp(1.1rem, 2.2vw, 1.85rem);
  text-transform: uppercase;
  color: #ffffff;
  font-weight: 700;
  letter-spacing: 0.06em;
  font-family: 'Plus Jakarta Sans', 'Outfit', poppins, sans-serif;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.9);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0 auto;
  padding: 0 10px;
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.infosys-headline.fade-in {
  opacity: 1;
  transform: translateY(0);
}

.infosys-headline.fade-out {
  opacity: 0;
  transform: translateY(-12px);
}


.banner-content h4.sub-heading.sm-font {
  font-size: 110px;
  text-transform: uppercase;
  color: #fff;
  font-weight: 700;
  line-height: 95px;
  letter-spacing: -8px;
  margin-top: 43px;
  font-family: poppins, sans-serif;
  height: 179px;
  text-indent: 0;
}

.dev.magento-banner .banner-content h4.sub-heading.sm-font,
.dev.mobile-banner .banner-content h4.sub-heading.sm-font,
.dev.android-banner .banner-content h4.sub-heading.sm-font,
.dev.iphone-banner .banner-content h4.sub-heading.sm-font,
.dev.software-banner .banner-content h4.sub-heading.sm-font {
  font-size: 100px;
  text-transform: uppercase;
  color: #fff;
  font-weight: 700;
  line-height: 88px;
  letter-spacing: -7px;
  margin-top: 43px;
  font-family: poppins, sans-serif;
  height: 165px;
  text-indent: 0;
}

.dev.java-banner .banner-content h4.sub-heading.sm-font,
.dev.asp-net-banner .banner-content h4.sub-heading.sm-font,
.dev.web-banner .banner-content h4.sub-heading.sm-font,
.dev.php-banner .banner-content h4.sub-heading.sm-font {
  font-size: 115px;
  line-height: 102px;
  height: 190px;
}

.cross-platform-banner .banner-content h4.sub-heading.sm-font {
  font-size: 75px;
  letter-spacing: -5px;
  line-height: 70px;
  height: 130px;
}

.dev.cross-platform-banner .banner-content h4.sub-heading.sm-font {
  font-size: 75px;
  letter-spacing: -5px;
  line-height: 70px;
  height: 130px;
}

.dev.ecommerce-banner .banner-content h4.sub-heading.sm-font {
  font-size: 95px;
  letter-spacing: -7px;
  line-height: 85px;
  height: 160px;
}

.red-border {
  border-top: 2px solid #56CBB9;
  display: inline-block;
  width: 100px;
  margin: 20px auto 24px;
}

.blue-border {
  border-top: 2px solid #023575;
  display: inline-block;
  width: 75px;
  margin: 18px auto 15px;
}

.banner-des,
.banner-des h2 {
  font-size: 24px;
  color: #fff;
  font-family: lato, sans-serif;
  line-height: 30px;
  font-weight: 600;
}

.banner-des h2 {
  display: inline;
}

.red-text {
  color: #56CBB9;
}

.blue-text {
  color: #0099da;
}

.nav-menu {
  width: 50px;
  display: inline-block;
  vertical-align: middle;
  margin: 5px auto 0 20px;
  cursor: pointer;
}

.nav-menu span {
  display: inline-block;
  width: 32px;
  height: 5px;
  background: #fff;
  float: left;
  margin: 1px auto 7px;
  position: relative;
  transition: all .3s;
}

.nav-menu span.right-ar {
  left: 7px;
}

.nav-menu:hover span.right-ar {
  left: 0;
}

.call-circle {
  display: none;
}

.top-banner::before {
  content: "";
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: url(../images/overlay-pattern.png) rgba(1, 42, 94, .05);
  z-index: 1;
  height: 100%;
}

.h4,
.left-content h1.title-h1,
.h4.sec-heading a,
.boxes-sections a h2,
.enterprise-sec .cols-sec h2.h4 {
  color: #023575;
  font-size: 43px;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1.05;
  letter-spacing: -1.5px;
  font-family: poppins, sans-serif;
  margin: 10px auto 35px;
}

.h4.sec-heading a {
  color: #023575;
  text-decoration: none;
}

.largest-company-sec h2 {
  display: inline;
  font-weight: 800;
  line-height: 1.05;
}

.largest-company-sec h3.h4,
.largest-company-sec h3,
.largest-company-sec h2.h4 {
  width: 100%;
  float: left;
}

.largest-company-sec .left-content .para,
.para,
.largest-company-sec .left-content .para a,
.left-content h1.in-h1,
.largest-company-sec .left-content .para h2.in-h2 {
  font-size: 17px;
  text-decoration: none;
}

.left-content .para h2 {
  display: inline;
}

.section {
  padding: 90px 0;
  font-size: 18px;
}

.section .container-fluid,
.footer .container-fluid,
.brands-section .container-fluid,
.back-row .container-fluid,
.detailed-section .container-fluid,
.industries-details .container-fluid {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 5%;
}

.mr0 {
  margin: 0 auto;
}

.cols-sec .cols {
  margin: 0 auto 60px;
}

.cols h4,
.cols .h4,
.cols .h4 a,
.figcaption h4,
.largest-company-sec .cols h3,
.enterprise-sec .cols-sec h2,
.enterprise-sec .cols-sec h3.head {
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  font-family: poppins, sans-serif;
  margin: 5px auto 10px;
  color: #023575;
  letter-spacing: 0;
  text-decoration: none;
  line-height: 1.3;
  display: block;
}

.cols-sec p,
.cols-sec .para,
.cols-sec h3,
.para a,
.cols-sec .para .in-h2 {
  /*font-size: 16px;*/
  font-size: 18px;
  color: #758495;
  font-weight: 400;
  line-height: 1.5;
}

.cols-sec {
  padding: 0 0 0 50px;
}

.cols-sec .cols:nth-child(odd) {
  padding-right: 40px;
}

.cols-sec .cols:nth-child(even) {
  padding-left: 40px;
}

.cols-sec .cols:nth-child(3),
.cols-sec .cols:nth-child(4),
.largest-company-sec .cols-sec .cols:nth-child(5),
.largest-company-sec .cols-sec .cols:nth-child(6) {
  /*margin-bottom: 0*/
  ;
}

.left-content p,
.left-content h1,
.left-content .para,
.left-content h3,
.para,
.largest-company-sec .left-content .para h2 {
  color: #758495;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.6;
}

.left-content h1,
.cols-sec h3,
.left-content h3 {
  display: inline;
}

.largest-company-sec .cols-sec .cols:nth-child(3),
.largest-company-sec .cols-sec .cols:nth-child(4),
.largest-company-sec .cols-sec .cols {
  margin: 0 auto 52px;
  float: left;
  flex: none;
  min-height: 180px;
}

.transform-sec {
  text-align: center;
  background: #022a5e;
  color: #fff;
  text-transform: uppercase;
  clear: both;
}

.transform-sec .h3 {
  text-align: center;
  width: 100%;
  font-size: 42px;
  font-weight: 800;
  letter-spacing: -2.5px;
  line-height: 1;
  margin: 0 auto -10px;
  font-family: poppins, sans-serif;
  padding-top: 10px;
}

.transform-sec p {
  font-weight: 600;
  font-family: poppins, sans-serif;
  font-size: 25px;
  margin: 30px auto 0;
  line-height: 1.4;
}

.red-brdr.sm,
.red-border-line {
  height: 2px;
  width: 100px;
  background: #56CBB9;
  display: block;
  margin: 20px auto;
}

.certified-sec {
  text-align: center;
  font-size: 15px;
}

.certified-sec .sm-col {
  padding: 30px 0;
  color: #fff;
  font-family: poppins, sans-serif;
  border-right: 1px solid rgba(255, 255, 255, .15);
  border-top: 1px solid rgba(255, 255, 255, .15);
}

.certified-sec .sm-col p {
  font-size: 13px;
  font-weight: 500;
  line-height: 2px;
}

.certified-sec .sm-col:last-child {
  border-right: 0;
}

.certified-sec .bl-col {
  background: #022a5e;
}

.certified-sec .bls-col {
  background: #022a5e;
}

.certified-sec .bld-col {
  background: #022a5e;
  padding: 30px;
}

.counter {
  font-size: 38px;
  font-weight: 600;
  padding-left: 15px;
}

.sm-title {
  font-size: 24px;
  font-weight: 700;
  padding: 12px 0 10px;
  line-height: 1.2;
}

.counter::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../images/plus-ico.png) no-repeat center center;
  position: relative;
  top: -3px;
}

.circle-btn,
.circle-btn:hover {
  margin: 40px auto 0;
  display: inline-block;
  background: #56CBB9;
  color: #fff;
  padding: 12px 25px 12px 48px;
  font-size: 15px;
  transition: all .2s;
}

.circle-btn:hover {
  background: #808080;
}

.circle-btn::after {
  box-shadow: inset 0 0 0 5px #fff;
  top: 12px;
}

.circle-btn:hover::after {
  box-shadow: inset 0 0 0 5px #fff;
}

.circle-btn:before {
  -webkit-box-shadow: 0 0 0 0 #fff;
  top: 12px;
}

.circle-btn:hover:before {
  -webkit-box-shadow: inset 0 0 0 5px #fff;
  box-shadow: inset 0 0 0 5px #fff;
}

.circle-btn:hover:before {
  -webkit-box-shadow: 0 0 0 30px transparent;
  box-shadow: 0 0 0 30px transparent;
}

.transform-sec .col-left,
.transform-sec .col-right {
  padding: 80px 5.5%;
}

.transform-sec .col-right {
  background: #022a5e;
  padding: 80px 7%;
}

.transform-sec .container-fluid {}

.column-box p {
  font-size: 13px;
  color: #758495;
  font-family: poppins, sans-serif;
  font-weight: 500;
  padding: 40px 15px;
  line-height: 17px;
  text-transform: uppercase;
}

.column-box .sm-cols {
  border: 1px solid #eaeaea;
  margin-left: -1px;
  margin-bottom: -1px;
  padding: 0;
}

.column-box.row {
  margin: 0 auto;
}

.cust-content .h4,
.cust-content h2 {
  font-weight: 800;
  margin: 0 auto 50px;
}

.cust-content h2 {
  display: inline;
}

.bottom-banner-sec .h4.sec-heading {
  font-weight: 800;
  margin: 0 auto 50px;
  display: inline-block;
  padding: 0 15px;
  max-width: calc(100% - 100px);
}

.testimonial-cols {}

.testimonial-sec {
  background: url(https://www.xicom.biz/) no-repeat center center/cover;
  height: 510px;
}

.links-sec .sm-title {
  color: #023575;
  font-size: 35px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -1px;
  font-family: poppins, sans-serif;
  margin: 0 auto 10px;
}

.links li {
  float: left;
  width: 100%;
  position: relative;
}

.links li a,
.teams-dtm li {
  font-size: 15px;
  color: #758495;
  text-decoration: none;
  vertical-align: middle;
  line-height: 25px;
  transition: all .1s ease-in-out;
  display: inline-block;
  width: calc(100% - 15px);
  margin-left: 10px;
  float: left;
}

.teams-dtm li {
  position: relative;
  margin-left: 0;
  padding-left: 10px;
  font-size: 17px;
  line-height: normal;
  color: #758495;
  padding: 6px 0 6px 15px;
}

.links li a:hover {
  color: #ef323a;
}

.col-listing {
  margin: 20px -15px 0;
}

.links li:before,
.listings li:before,
.teams-dtm li:before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  background: #758495;
  border-radius: 50%;
  vertical-align: middle;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}

.section.links-sec {
  padding: 100px 0 70px;
}

.consultation-sec {
  background: #022a5e;
  text-align: center;
  clear: both;
}

.consultation-sec .banner-title {
  font-size: 58px;
  text-transform: uppercase;
  color: #fff;
  font-family: poppins, sans-serif;
  text-align: center;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -2px;
}

.tools-technology .banner-title {
  font-size: 68px;
  text-transform: uppercase;
  color: #fff;
  font-family: poppins, sans-serif;
  text-align: center;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -3px;
}

.consultation-sec a.red-btn,
.consultation-sec a.red-btn.circle-btn {
  color: #fff;
  border-radius: 30px;
  margin: 30px auto 0;
  margin: 30px auto 0;
  background: #ef323a;
  font-size: 18px;
}

.consultation-sec a.red-btn.circle-btn:before,
.consultation-sec a.red-btn.circle-btn:after {
  top: 15px;
}

.testimonial-sec .item {
  padding: 30px 40px 80px;
  background: #fff;
  height: 250px;
}

.testimonial-sec .testimonial-slider {
  max-width: 475px;
  margin: 0 auto;
  position: absolute;
  bottom: -30px;
  left: 0;
  right: 0;
}

.testimonial-sec .owl-dots .owl-dot span,
.slidesjs-pagination li a {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #ccc;
  margin: 0 3px;
  vertical-align: middle;
  border-radius: 50%;
}

.testimonial-sec .owl-dots .owl-dot.active span,
.slidesjs-pagination li a.active {
  background: #ef323a;
}

.testimonial-sec .title {
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  font-family: poppins, sans-serif;
  float: left;
  width: 100%;
  margin: 0 auto 5px;
  color: #023575;
}

.testimonial-sec em {
  font-weight: 400;
  font-size: 18px;
  color: #758495;
  font-style: normal;
}

.testimonial-sec .owl-dots {
  position: absolute;
  bottom: 20px;
  right: 30px;
}

.customer-sec {
  padding: 120px 0 110px;
  clear: both;
  border-top: 1px solid #e5e5e5;
  background: #fff;
}

.mouse {
  width: 26px;
  height: 40px;
  border: 2px solid #fff;
  border-radius: 20px;
  margin: 45px 0 0 15px;
  position: relative;
  cursor: pointer;
}

.mouseDot {
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 5px auto;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  border-radius: 50%;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-name: scroll;
  animation-name: scroll;
}

@-webkit-keyframes scroll {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  50% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes scroll {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  50% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.visible-xs {
  display: none;
}

.footer {
  margin: 0 auto 0;
  clear: both;
}

.footer .inner-footer {
  background: #fff;
  padding: 100px 0 50px;
  border-top: 1px solid #e5e5e5;
}

.footer-head a,
.hvQues .footer-head {
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  font-family: poppins, sans-serif;
  margin: 5px auto 10px;
  color: #023575;
  margin: 0 auto 10px;
  display: inline-block;
}

.hvQues .footer-head {
  color: #56CBB9;
}

.menu-listing p {
  margin: 0 auto 15px;
}

.menu-listing p,
.menu-listing p a,
.footernav li a,
.rating-bottom,
.hvQues,
.linkings li a {
  color: #758495;
  font-size: 15px;
}

.contact-col.menu-listing p {
  margin: 0 auto 25px;
}

.footernav li,
.footernav li a {
  float: left;
  width: 100%;
  line-height: 2;
}

.hvQues {
  text-align: right;
  position: relative;
  right: -30px;
}

.hvQues .collapse div {
  line-height: 1.4;
}

.hvQues .collapse .rating-bottom {
  margin-top: 25px;
}

.contact-col {
  min-width: 21%;
}

.service-col,
.company-col,
.solution-col {
  padding: 0 30px;
}

.hvQues .phone-contact a {
  /*font-size: 37px;*/
  font-size: 32px;
  display: block;
  font-weight: 800;
  color: #023575;
  font-family: poppins, sans-serif;
  line-height: 1;
  letter-spacing: -2px;
}

.hvQues a {
  color: #758495;
}

.footer a {
  text-decoration: none;
}

.footer .copyright a {
  color: #fff;
}

.footer .copyright h3 {
  padding: 2px 0 0;
}

.phone-contact {
  margin: 0 auto 30px;
  white-space: nowrap
}

.bottom-footer,
.brands-section {
  padding: 20px 0;
  font-size: 13px;
  color: #fff;
  background: #022a5e;
}

.inner-nav {
  float: left;
  margin: 0 auto 30px;
}

.copyright .social-icons {
  text-align: right;
  padding-bottom: 5px;
  padding-right: 22px;
}

.social-icons a {
  display: inline-block;
  width: 40px;
  height: 40px;
  margin: 0 0 0 5px;
  opacity: 1;
  border: 0 solid #fff;
  border-radius: 50%;
}

.social-icons .fb-icon {
  background: url(../images/socials/fb.svg) no-repeat 4px 5px/32px;
}

.social-icons .tw-icon {
  background: url(../images/socials/tw.svg) no-repeat 9px 8px/25px;
}

.social-icons .lnkd-icon {
  background: url(../images/socials/linkedin.svg) no-repeat 1px -7px/40px;
}

.social-icons .insta-icon {
  background: url(../images/socials/insta.svg) no-repeat 1px -2px/40px;
}

.social-icons .fb-icon:hover {
  background: url(../images/socials/fb-hv.svg) no-repeat 4px 5px/32px;
}

.social-icons .tw-icon:hover {
  background: url(../images/socials/tw-hv.svg) no-repeat 9px 8px/25px;
}

.social-icons .lnkd-icon:hover {
  background: url(../images/socials/linkedin-hv.svg) no-repeat 1px -2px/40px;
}

.social-icons .insta-icon:hover {
  background: url(../images/socials/insta-hv.svg) no-repeat 1px -7px/40px;
}

.social-icons a:hover {
  opacity: 1;
  border: 0 solid #0099da;
}

.row.copyright {
  margin: 10px auto 0;
  font-size: 12px;
  font-family: poppins, sans-serif;
  font-weight: 500;
  padding-top: 5px;
  text-transform: uppercase;
}

.copyright .copy {
  padding-top: 5px;
}

/* ==========================================================================
   Site Footer — Light Modern SaaS
   ========================================================================== */
.site-footer {
  --ft-ink: #0f172a;
  --ft-muted: #64748b;
  --ft-line: #e2e8f0;
  --ft-blue: #726cf4;
  --ft-cyan: #726cf4;
  font-family: 'Plus Jakarta Sans', sans-serif;
  position: relative;
  color: var(--ft-ink);
}

.site-footer .inner-footer {
  position: relative;
  padding: 72px 0 48px;
  border-top: 1px solid #e2e8f0;
  overflow: hidden;
  background:
    radial-gradient(900px circle at 8% 0%, rgba(114, 108, 244, 0.08), transparent 50%),
    radial-gradient(700px circle at 100% 20%, rgba(114, 108, 244, 0.07), transparent 48%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 45%, #f1f7fc 100%);
}

.site-footer .inner-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #726cf4 0%, #726cf4 50%, #5f58dc 100%);
  background-size: 200% 100%;
  animation: footerAccentSweep 6s ease-in-out infinite;
}

.site-footer .inner-footer::after {
  content: '';
  position: absolute;
  width: 480px;
  height: 480px;
  right: -140px;
  top: -180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(114, 108, 244, 0.1) 0%, transparent 70%);
  pointer-events: none;
  animation: footerGlowDrift 10s ease-in-out infinite alternate;
}

.site-footer .container {
  position: relative;
  z-index: 1;
}

.site-footer .footer-brand-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 36px;
  padding: 18px 20px;
  border: 1px solid rgba(114, 108, 244, 0.14);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.site-footer .footer-brand-identity {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}

.site-footer .footer-brand-mark {
  width: auto;
  height: 38px;
  object-fit: contain;
  border: none;
  border-radius: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
}

.site-footer .footer-brand-text {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.site-footer .footer-brand-name {
  display: none;
}

.site-footer .footer-brand-tagline {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #726cf4;
}

.site-footer .footer-status-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  padding: 4px 10px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5f58dc;
  border: 1px solid #bae6fd;
  border-radius: 999px;
  background: #f6f5ff;
}

.site-footer .footer-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.55);
  animation: footerStatusPulse 1.8s ease-out infinite;
}

.site-footer .footer-brand-promise {
  margin: 0;
  max-width: 42ch;
  font-size: 13.5px;
  line-height: 1.65;
  color: #64748b;
  text-align: right;
}

.site-footer .footer-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.85fr 1fr 0.85fr 1.2fr;
  gap: 28px 24px;
  align-items: start;
}

.site-footer .footer-heading {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #0f172a;
  margin: 0 0 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e2e8f0;
  position: relative;
}

.site-footer .footer-heading::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 28px;
  height: 2px;
  background: linear-gradient(90deg, #726cf4, #726cf4);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.55s cubic-bezier(0.25, 1, 0.5, 1);
}

.site-footer[data-aos].aos-animate .footer-heading::after,
.site-footer .footer-col[data-aos].aos-animate .footer-heading::after {
  transform: scaleX(1);
}

.site-footer .footer-heading-accent {
  color: #726cf4;
}

.site-footer .footer-heading-accent::after {
  background: linear-gradient(90deg, #726cf4, #726cf4);
}

.site-footer .footer-office {
  margin: 0 0 14px;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid transparent;
  background: transparent;
  transition: opacity 0.45s ease, transform 0.35s ease, background 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.site-footer .footer-offices[data-aos]:not(.aos-animate) .footer-office {
  opacity: 0;
  transform: translateY(10px);
}

.site-footer .footer-offices[data-aos].aos-animate .footer-office {
  opacity: 1;
  transform: translateY(0);
}

.site-footer .footer-offices[data-aos].aos-animate .footer-office:nth-child(2) { transition-delay: 0.08s; }
.site-footer .footer-offices[data-aos].aos-animate .footer-office:nth-child(3) { transition-delay: 0.16s; }
.site-footer .footer-offices[data-aos].aos-animate .footer-office:nth-child(4) { transition-delay: 0.24s; }

.site-footer .footer-office:last-child {
  margin-bottom: 0;
}

.site-footer .footer-office:hover {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.9);
  border-color: #e5e3ff;
  box-shadow: 0 12px 28px rgba(114, 108, 244, 0.08);
  transition-delay: 0s;
}

.site-footer .footer-office-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}

.site-footer .footer-office-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 0;
}

.site-footer .footer-office-label img {
  width: 18px;
  height: auto;
  flex-shrink: 0;
  border-radius: 2px;
  transition: transform 0.35s ease;
}

.site-footer .footer-office:hover .footer-office-label img {
  transform: translateY(-2px) scale(1.08);
}

.site-footer .footer-office-label span {
  font-size: 13px;
  font-weight: 700;
  color: #0f172a;
  letter-spacing: 0.02em;
}

.site-footer .footer-office-skyline {
  display: inline-flex;
  width: 52px;
  height: 22px;
  color: #94a3b8;
  opacity: 0.8;
  transition: color 0.35s ease, opacity 0.35s ease, transform 0.35s ease;
}

.site-footer .footer-office-skyline svg {
  width: 100%;
  height: 100%;
  display: block;
}

.site-footer .footer-office:hover .footer-office-skyline {
  color: #726cf4;
  opacity: 1;
  transform: translateY(-2px);
}

.site-footer .footer-office p {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.65;
  color: #64748b;
  float: none;
}

.site-footer .footernav {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer .footernav li,
.site-footer .footernav li a {
  float: none;
  width: auto;
  line-height: 1.35;
}

.site-footer .footernav li {
  margin: 0 0 10px;
}

.site-footer .footernav li a {
  display: inline-block;
  font-size: 13.5px;
  font-weight: 500;
  color: #475569 !important;
  text-decoration: none !important;
  position: relative;
  transition: color 0.25s ease, transform 0.25s ease;
}

.site-footer .footernav li a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 1.5px;
  background: #726cf4;
  transition: width 0.3s ease;
}

.site-footer .footernav li a:hover {
  color: #726cf4 !important;
  transform: translateX(3px);
}

.site-footer .footernav li a:hover::after {
  width: 100%;
}

.site-footer .footer-contact {
  text-align: left;
  position: relative;
  right: auto;
  padding: 0 0 0 22px;
  border-left: 1px solid #e5e3ff;
}

.site-footer .footer-contact-lead {
  margin: 0 0 10px;
  font-size: 13px;
  color: #64748b;
}

.site-footer .footer-phones {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 16px;
}

.site-footer .footer-phone {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: normal;
  line-height: 1.35;
  color: #0f172a !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: color 0.25s ease;
}

.site-footer .footer-phone:hover {
  color: #726cf4 !important;
}

.site-footer .footer-phone-role {
  display: block;
  margin-bottom: 2px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
  line-height: 1;
}

.site-footer .footer-phone:hover .footer-phone-role {
  color: #726cf4;
}

.site-footer .footer-phone-number {
  display: inline;
  color: inherit;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.35;
}

.site-footer .footer-contact-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
}

.site-footer .footer-contact-meta a {
  display: inline-block;
  width: fit-content;
  font-size: 13px;
  font-weight: 500;
  color: #64748b !important;
  text-decoration: none !important;
  transition: color 0.25s ease;
}

.site-footer .footer-contact-meta a:hover {
  color: #726cf4 !important;
}

.site-footer .footer-contact > .footer-trust-item {
  width: 100%;
  max-width: 270px;
  margin: 0 0 18px;
  padding: 11px 13px;
}

.site-footer .footer-trust-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid #e2e8f0;
}

.site-footer .footer-trust-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid rgba(114, 108, 244, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(8px);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.site-footer .footer-trust-item:hover {
  transform: translateY(-3px);
  border-color: #bae6fd;
  box-shadow: 0 12px 24px rgba(114, 108, 244, 0.1);
}

.site-footer .footer-trust-iso {
  width: 48px;
  height: auto;
  flex-shrink: 0;
  filter: none;
}

.site-footer .footer-trust-badge {
  flex-shrink: 0;
  min-width: 78px;
  padding: 10px 8px;
  text-align: center;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #5f58dc;
  background: linear-gradient(135deg, #eeecff 0%, #f6f5ff 100%);
  border: 1px solid #bae6fd;
  border-radius: 10px;
  line-height: 1.25;
}

.site-footer .footer-trust-badge-alt {
  color: #0f766e;
  background: linear-gradient(135deg, #ccfbf1 0%, #f0fdfa 100%);
  border-color: #99f6e4;
}

.site-footer .footer-trust-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.site-footer .footer-trust-copy strong {
  font-size: 13px;
  font-weight: 700;
  color: #0f172a;
}

.site-footer .footer-trust-copy span {
  font-size: 12px;
  color: #64748b;
  line-height: 1.4;
}

.site-footer .social-icons a {
  margin: 0;
  opacity: 0.9;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.site-footer .social-icons a:hover {
  opacity: 1;
  transform: translateY(-3px) scale(1.06);
}

.site-footer .social-icons a:nth-child(1) { transition-delay: 0ms; }
.site-footer .social-icons a:nth-child(2) { transition-delay: 20ms; }
.site-footer .social-icons a:nth-child(3) { transition-delay: 40ms; }
.site-footer .social-icons a:nth-child(4) { transition-delay: 60ms; }

.site-footer .bottom-footer {
  padding: 16px 0;
  background: #022a5e;
  border-top: none;
  font-size: 12px;
  color: #fff;
}

.site-footer .footer-bottom-row {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.site-footer .footer-copy {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 12px;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.5;
  margin: 0;
  text-align: center;
}

.site-footer .footer-copy-sep {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #726cf4;
  flex-shrink: 0;
  opacity: 0.85;
}

.site-footer .social-icons {
  position: absolute;
  right: 0;
  text-align: right;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 4px;
}

@keyframes footerAccentSweep {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes footerGlowDrift {
  0% { transform: translate(0, 0) scale(1); opacity: 0.7; }
  100% { transform: translate(-40px, 30px) scale(1.12); opacity: 1; }
}

@keyframes footerStatusPulse {
  0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.55); }
  70% { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

@keyframes footerPhonePulse {
  0%, 100% { transform: translateY(0); box-shadow: 0 6px 18px rgba(114, 108, 244, 0.08); }
  50% { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(114, 108, 244, 0.14); }
}

@keyframes footerPhoneRing {
  0% { transform: scale(0.85); opacity: 0.7; }
  100% { transform: scale(1.35); opacity: 0; }
}

@keyframes footerPhoneWiggle {
  0%, 100% { transform: rotate(0deg); }
  20% { transform: rotate(-12deg); }
  40% { transform: rotate(10deg); }
  60% { transform: rotate(-6deg); }
  80% { transform: rotate(4deg); }
}

@keyframes footerPhoneShimmer {
  0% { transform: translateX(-120%); }
  100% { transform: translateX(120%); }
}

@keyframes footerPhoneRipple {
  0% { transform: scale(0); opacity: 0.55; }
  100% { transform: scale(28); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .site-footer .inner-footer::before,
  .site-footer .inner-footer::after,
  .site-footer .footer-phone {
    animation: none !important;
  }

  .site-footer .footer-office,
  .site-footer .footer-heading::after,
  .site-footer .footernav li a,
  .site-footer .social-icons a,
  .site-footer .footer-phone,
  .site-footer .footer-trust-item {
    transition: none !important;
  }

  .site-footer .footer-offices[data-aos]:not(.aos-animate) .footer-office {
    opacity: 1 !important;
    transform: none !important;
  }

  .site-footer .footer-heading::after {
    transform: scaleX(1) !important;
  }
}

@media (max-width: 1199px) {
  .site-footer .footer-grid {
    grid-template-columns: 1.2fr 1fr 1fr 1fr;
    gap: 36px 24px;
  }

  .site-footer .footer-contact {
    grid-column: 1 / -1;
    padding: 8px 0 0;
    border-left: none;
    display: block;
  }

  .site-footer .footer-trust-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .site-footer .inner-footer {
    padding: 48px 0 36px;
  }

  .site-footer .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px 20px;
  }

  .site-footer .footer-offices {
    grid-column: 1 / -1;
  }

  .site-footer .footer-contact {
    grid-column: 1 / -1;
  }

  .site-footer .footer-bottom-row {
    flex-direction: column;
    align-items: center;
  }

  .site-footer .social-icons {
    position: static;
    text-align: center;
  }

  .site-footer .footer-copy-sep {
    display: none;
  }
}

@media (max-width: 480px) {
  .site-footer .footer-grid {
    grid-template-columns: 1fr;
  }
}

.brands-section .circle-btn.red-btn {
  background: #56CBB9;
  margin: 0 auto;
  display: inline-block;
  vertical-align: middle;
}

.brands-fig {
  display: inline-block;
  margin-right: 20px;
  vertical-align: middle;
}

.brands-section {
  text-align: center;
  padding: 35px 0;
  border-top: 1px solid rgba(255, 255, 255, .2);
}

.brands-section .brands {
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 230px);
}

.brands li {
  display: inline-block;
  margin: 0 5% 0 0;
  vertical-align: middle;
}

.brands li img {
  float: left;
}

.circle-dot {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.circle-dot:before,
.circle-dot:after {
  top: 16px;
}

.circle-dot.wht-circle:after {
  -webkit-box-shadow: inset 0 0 0 5px #fff;
  box-shadow: inset 0 0 0 5px #fff;
}

.circle-dot.wht-circle:before {
  -webkit-box-shadow: 0 0 0 0 #fff;
}

.circle-dot.wht-circle:hover:before {
  -webkit-box-shadow: inset 0 0 0 5px #fff;
  box-shadow: inset 0 0 0 5px #fff;
}

.circle-dot.wht-circle:hover:before {
  -webkit-box-shadow: 0 0 0 30px transparent;
  box-shadow: 0 0 0 30px transparent;
}

.banner-brands .brands-section {
  text-align: center;
  padding: 5.5px 0;
  border-top: 0 solid rgba(255, 255, 255, .2);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  background: #022a5e;
  z-index: 3;
}

.banner-brands .brands-section .container-fluid {
  padding: 0 4%;
}

.banner-brands .brands-section .brands {
  width: 100%;
  text-align: left;
}

.banner-brands .brands li {
  margin: 0 auto;
  width: 14%;
}

.banner-brands .brands li img {
  max-width: 100%;
}

.blue-btn {
  background: #023575;
}

.live-chat {
  display: none !important;
  position: fixed;
  right: 25px;
  bottom: 18px;
  z-index: 4;
}

.live-chat .blue-btn {
  font-size: 0;
  background: #56CBB9 url(../images/chat-icon.png) no-repeat 15px 19px;
  display: inline-block;
  width: 65px;
  height: 65px;
  border-radius: 50%;
  transition: all .2s;
}

.live-chat .blue-btn:hover {
  background: #808080 url(../images/chat-icon.png) no-repeat 15px 19px;
}

.inner-cols {
  width: 100%;
  height: 65vh;
  background: #ccc;
  text-align: center;
  position: relative;
}

.inner-cols::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .1);
  left: 0;
  right: 0;
}

.inner-cols:before {
  background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0.61) 100%);
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0.61) 100%);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0.61) 100%);
  filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#9c000000', GradientType=0);
}

.col-logo {
  width: auto;
  display: inline-block;
  position: relative;
  margin: 0 auto 20px;
}

.col-logo img {
  width: auto;
  max-width: 100%;
  position: relative;
}

.inner-cols .para {
  position: relative;
  color: #fff;
  display: none;
  opacity: 0;
  padding: 0 30px;
  line-height: 1.4;
  font-size: 16px;
}

.banner1 {
  background: url(../images/case-studies/banner1.jpg) no-repeat center center/cover;
}

.banner2 {
  background: url(../images/case-studies/banner2.jpg) no-repeat center center/cover;
}

.banner3 {
  background: url(../images/case-studies/banner3.jpg) no-repeat center center/cover;
}

.banner4 {
  background: url(../images/case-studies/banner4.jpg) no-repeat center center/cover;
}

.banner5 {
  background: url(../images/case-studies/banner5.jpg) no-repeat center center/cover;
}

.banner6 {
  background: url(../images/case-studies/banner6.jpg) no-repeat center center/cover;
}

.banner7 {
  background: url(../images/case-studies/banner7.jpg) no-repeat center center/cover;
}

.banner8 {
  background: url(../images/case-studies/banner8.jpg) no-repeat center center/cover;
}

.banner9 {
  background: url(../images/case-studies/banner9.jpg) no-repeat center center/cover;
}

.banner-col-content {
  position: absolute;
  bottom: 25px;
  width: 100%;
}

.banner-col-content .red-btn {
  display: none;
  background: #56CBB9;
}

.inner-cols:hover .para,
.inner-cols:hover .red-btn {
  display: inline-block;
  opacity: 1;
}

.inner-cols:hover .red-btn {}

.inner-cols:hover:before {
  background: #002958;
  transition: all .2s;
}

.inner-cols:hover .banner-col-content {
  width: 100%;
  top: 50%;
  bottom: auto;
  transform: translate(0, -50%);
}

.bottom-banner .owl-nav {
  position: absolute;
  top: -95px;
  right: 92px;
}

.bottom-banner .owl-nav button {
  outline: 0;
  box-shadow: none;
}

.bottom-banner .owl-nav span {
  display: inline-block;
  width: 40px;
  height: 40px;
  background: #023575;
  font-size: 0;
  margin: 0 3px;
  float: left;
  opacity: 1;
  outline: 0;
  box-shadow: none;
}

.bottom-banner .owl-nav .owl-next:hover span,
.bottom-banner .owl-nav .owl-prev:hover span {
  opacity: 1;
}

.bottom-banner .owl-nav .owl-prev span {
  background: url(../images/arrow-blue.png) no-repeat 0 0;
}

.bottom-banner .owl-nav .owl-next span {
  background: url(../images/arrow-blue.png) no-repeat -44px 0;
}

.bottom-banner .owl-nav .owl-prev:hover span {
  background: url(../images/arrow-blue.png) no-repeat 0 -49px;
}

.bottom-banner .owl-nav .owl-next:hover span {
  background: url(../images/arrow-blue.png) no-repeat -44px -49px;
}

.bottom-banner-sec {
  border-top: 1px solid #e5e5e5;
  padding: 80px 0 0;
}

.bottom-banner .owl-dots {
  display: none;
}

.solution-row {
  margin: 40px auto 0;
}

.ecommerce-banner {
  background: #022a5e url(../images/offerings/ecommerce.jpg) repeat fixed 0px -20px/cover;
}

.java-banner {
  background: #022a5e url(../images/offerings/java.jpg) repeat fixed 0px -35px/cover;
}

.asp-net-banner {
  background: #022a5e url(../images/offerings/asp-net.jpg) repeat fixed 0px -20px/cover;
}

.web-banner {
  background: #022a5e url(../images/offerings/web.jpg) repeat fixed 0px -55px/cover;
}

.php-banner {
  background: #022a5e url(../images/offerings/php.jpg) repeat fixed 0px -80px/cover;
}

.magento-banner {
  background: #022a5e url(../images/offerings/magento.jpg) repeat fixed 0px 0px/cover;
}

.mobile-banner {
  background: #022a5e url(../images/offerings/mobile.jpg) repeat fixed 0px -50px/cover;
}

.software-banner {
  background: #022a5e url(../images/offerings/software.jpg) repeat fixed 0px -20px/cover;
}

.iphone-banner {
  background: #022a5e url(../images/offerings/iphone.jpg) no-repeat fixed 0px -30px/cover;
}

.android-banner {
  background: #022a5e url(../images/offerings/android.jpg) no-repeat fixed 0px -20px/cover;
}

.cross-platform-banner {
  background: #022a5e url(../images/offerings/cross-platform.jpg) no-repeat fixed 0px 0px/cover;
}

.ec-banner-master {
  background: #022a5e url(../images/offerings/hire-developers.jpg) repeat fixed 0px 0px/cover !important;
  position: relative;
  overflow: hidden;
  height: 100vh;
}

.ec-banner-master .container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: none;
  padding: 0 5%;
}

.app-developer .left-text-sec {
  padding-top: 0;
  width: 70%;
  padding-left: 20px;
  float: left;
  margin: 32px auto 0;
}

.ec-banner-master::before {
  content: "";
  background: url(../images/overlay-pattern.png) rgba(1, 42, 94, .05);
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.ec-banner-master .app-developer h1 {
  font-size: 85px;
  font-family: poppins, sans-serif;
  letter-spacing: -5px;
  margin-bottom: 32px;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 75px;
  color: #fff;
}

.ec-banner-master .cross-font h1 {
  font-size: 61px;
  letter-spacing: -2.3px;
}

.ec-banner-master .container.middle-set::before {
  content: "";
  display: inline-block;
  position: relative;
  width: 1px;
  height: 100vh;
  margin-left: -.32em;
  vertical-align: middle;
}

.app-developer {
  padding: 70px 0 10px;
  vertical-align: middle;
}

.app-developer p,
.app-developer h2,
.app-developer h1.sm-h1 {
  font-size: 58px;
  font-family: poppins, sans-serif;
  line-height: 55px;
  display: inline;
  margin: 0;
  font-weight: 800;
  letter-spacing: -2.5px;
  text-transform: uppercase;
}

.app-developer a h2,
.app-developer h2 a,
.app-developer h1.sm-h1 a {
  color: #fff;
}

.short-desc {
  margin-bottom: 35px;
  margin-right: 10px;
}

.yellow-border {
  display: inline-block;
  width: 90px;
  height: 2px;
  background: #df2b2b;
  margin: 0 auto 30px;
}

.app-developer ul li a {
  color: #fff;
  text-decoration: none;
}

.app-developer ul li a {
  font-size: 19px;
  line-height: 22px;
}

.app-developer ul li a h2,
.app-developer ul li h2 {
  padding: 0;
  font-weight: 500;
  font-family: lato, sans-serif;
  text-transform: none;
  font-size: 19px;
  line-height: 22px;
  letter-spacing: 0;
  text-decoration: none;
}

.ec-banner-master .form-container label,
.form-popup-ms .form-container label {
  font-family: lato, sans-serif;
  font-size: 15px;
  color: #023575;
  font-weight: 600;
  position: absolute;
  left: 0;
  z-index: 1;
  top: 5px;
  transition: all .5s;
}

.right-form-sec .btn.gry-btn {
  background: #df2b2b;
  color: #fff;
  width: 100%;
  font-size: 18px;
  padding: 12px 21px;
  text-transform: none;
  margin-top: 10px;
  border-radius: 50px;
  margin: 10px 0 25px;
  font-family: poppins, sans-serif;
  font-weight: 700;
  border: 0;
  text-transform: uppercase;
}

.right-form-sec .btn.gry-btn:hover {
  background: #022a5e;
}

.right-form-sec .form-container .input-text.textarea {
  height: 70px;
  margin-top: 5px;
  line-height: 1.1;
  padding: 10px 0 3px;
  resize: none;
  border-bottom: 1px solid #e3e3e3;
  margin-bottom: 5px;
}

.ec-banner-master .form-container .input-text,
.form-popup-ms .form-container .input-text {
  margin-bottom: 5px;
}

.form-container .input-text.error,
.right-form-sec .form-container .input-text.textarea.error {
  border-color: #df2b2b;
}

.ec-banner-master .form-container {
  background: #fff;
  color: #333;
  padding: 10px 25px;
  border-radius: 2px;
  float: left;
  width: 100%;
}

.ec-banner-master .app-developer h1 {
  margin-top: 15px;
}

.full-row {
  float: left;
  width: 100%;
}

#slide-portfolio,
#slide-portfolio #slides2 {
  overflow: visible !important;
}

#slide-portfolio .container {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 0;
  max-width: 1120px;
  max-width: 100%;
}

#slide-portfolio.campcrate {
  background: #022a5e;
  min-height: 100vh;
  padding: 0;
  position: relative;
  float: left;
  width: 100%;
}

#slide-portfolio.campcrate {
  background: #022a5e url(../images/portfolio-background.jpg) repeat fixed 0px 0px/cover;
}

#slide-portfolio .bottom-grd {
  content: "";
  display: inline-block;
  width: 100%;
  height: 500px;
  top: 300px;
  position: absolute;
  left: 0;
  z-index: 99;
}

#slide-portfolio .bottom-grd {
  background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 44%, rgba(0, 0, 0, 0.08) 50%, rgba(0, 0, 0, 0.85) 99%, rgba(0, 0, 0, 0.85) 100%);
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 44%, rgba(0, 0, 0, 0.08) 50%, rgba(0, 0, 0, 0.85) 99%, rgba(0, 0, 0, 0.85) 100%);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 44%, rgba(0, 0, 0, 0.08) 50%, rgba(0, 0, 0, 0.85) 99%, rgba(0, 0, 0, 0.85) 100%);
  filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#de000000', GradientType=0);
}

#slide-portfolio.campcrate .left-img-sec figure {
  left: 0;
  padding-top: 40px;
  right: 0;
  text-align: center;
  max-width: 1125px;
  bottom: 0;
  width: 100%;
  margin: 0 auto;
}

#slide-portfolio.campcrate .left-img-sec figure img {
  max-width: 100%;
  border-radius: 8px 8px 0 0;
  image-rendering: auto;
}

#slide-portfolio.campcrate .left-img-sec {
  position: relative;
}

#slide-portfolio.campcrate .right-text-sec {
  position: relative;
  top: 10px;
  width: 100%;
  display: inline-block;
  text-align: center;
  max-width: 1100px;
}

#slide-portfolio h2,
#slide-portfolio h4,
#slide-portfolio .h4 {
  font-family: poppins, sans-serif;
  font-weight: 800;
  color: #fff;
  font-size: 80px;
  text-indent: -3px;
  letter-spacing: -5px;
  margin-bottom: -3px;
}

#slide-portfolio.sections p {
  font-size: 19px;
  line-height: 24px;
  margin-bottom: 30px;
}

#slide-portfolio .btn {
  margin-top: 35px;
  background: #ef323a;
  border: 0;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 77%;
  font-family: poppins, sans-serif;
  font-weight: 700;
  font-size: 16px;
  border-radius: 40px;
  width: auto;
  padding: 14px 30px 14px 50px;
  color: #fff;
  transition: all .5s;
}

#slide-portfolio .btn i {
  font-size: 30px;
  vertical-align: top;
  margin: 0 10px 0 0;
}

#slide-portfolio .slidesjs-control {
  max-height: 600px !important;
  margin-top: 50px;
  top: 0 !important;
}

#slide-portfolio .btn.gossups {
  background: #ef323a;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
}

#slide-portfolio .btn.bellaprint {
  background: #df2b2b;
}

#slide-portfolio .btn.bellaprint:hover {
  background: #022a5e;
}

#slide-portfolio .btn.beyond {
  background: #df2b2b;
}

#slide-portfolio .btn.beyond:hover {
  background: #022a5e;
}

#slide-portfolio .slidesjs-container,
#slide-portfolio .slidesjs-control {
  max-height: 840px !important;
}

.slidesjs-pagination li a {
  display: block;
  width: 10px;
  height: 10px;
  float: left;
  margin: 1px;
  overflow: hidden;
  background-color: rgba(0, 0, 0, .2);
  border-radius: 60px;
  text-indent: -99999px;
}

#slide-portfolio .slidesjs-pagination li a {
  background: #ccc;
  width: 10px;
  height: 10px;
}

#slide-portfolio .slidesjs-pagination li a.active,
#slide-portfolio .slidesjs-pagination li a:hover {
  background: #ef323a;
}

#slide-portfolio .slidesjs-pagination {
  margin: -39px auto;
  text-align: center;
  width: 100%;
  display: inline-block;
  position: absolute;
  z-index: 999;
  left: 0;
}

#slide-portfolio .slidesjs-pagination li {
  float: none;
  display: inline-block;
  margin: 0 2px;
}

.brands-sec {
  background: #efe4c1;
  width: 100%;
  clear: both;
  padding: 0 0 10px;
  float: left;
}

.brands-sec .container {
  width: 100%;
  clear: both;
}

.small-heading,
.small-heading h2 {
  color: #758495;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.2;
  display: inline;
  font-family: lato, sans-serif;
  font-weight: 500;
}

.small-heading {
  display: inline-block;
  float: left;
  width: 100%;
  text-align: center;
}

.what-we-do .h4 {
  margin: 10px auto;
}

ul.hire-team-process {
  width: 100%;
  padding: 60px 0 20px;
  float: left;
}

ul.hire-team-process .figcaption {
  margin: 40px auto 0;
}

ul.hire-team-process li .figcaption h4 {
  padding: 0 20px;
  margin: 0 auto 20px;
  font-size: 18px;
  line-height: 1.3;
}

ul.hire-team-process li {
  width: 25%;
  float: left;
  padding: 0 40px;
  text-align: center;
  position: relative;
  transition: all .5s;
}

ul.hire-team-process li:first-child {
  border-left: none;
}

ul.hire-team-process li figure {
  display: block;
  width: 100%;
  height: 127px;
}

ul.hire-team-process li figcaption p,
ul.hire-team-process li .figcaption p {
  font-size: 16px;
  color: #758495;
  font-weight: 400;
  line-height: 1.4;
}

ul.hire-team-process li.step1 figure {
  background: url(https://www.xicom.biz/) no-repeat center top;
  image-rendering: pixelated;
  -webkit-image-rendering: pixelated;
  -moz-image-rendering: pixelated;
}

ul.hire-team-process li.step2 figure {
  background: url(https://www.xicom.biz/) no-repeat center top;
  image-rendering: pixelated;
  -webkit-image-rendering: pixelated;
  -moz-image-rendering: pixelated;
}

ul.hire-team-process li.step3 figure {
  background: url(https://www.xicom.biz/) no-repeat center top;
  image-rendering: pixelated;
  -webkit-image-rendering: pixelated;
  -moz-image-rendering: pixelated;
}

ul.hire-team-process li.step4 figure {
  background: url(https://www.xicom.biz/) no-repeat center top;
  image-rendering: pixelated;
  -webkit-image-rendering: pixelated;
  -moz-image-rendering: pixelated;
}

ul.hire-team-process li:hover figure {
  background-position: center bottom;
}

.our-brand {
  float: left;
  width: 100%;
  padding: 25px 22px 15px;
  border: solid 1px #d7d7d7;
  margin: 10px 0 50px;
  border-radius: 3px;
  position: relative;
}

.our-brand ul {
  float: left;
  width: 100%;
}

.our-brand li {
  display: block;
  float: left;
  padding: 0 2.2%;
  text-align: center;
}

.our-brand li img {
  display: inline-block;
  vertical-align: middle;
}

.our-brand .section-title {
  display: inline-block;
  background: #fff;
  padding: 5px;
  font-size: 10px;
  color: #a7a7a7;
  text-transform: uppercase;
  font-family: breuertextregular, Arial, sans-serif;
  position: absolute;
  left: 44%;
  top: -10px;
}

.our-brand li a {
  display: inline-block;
  width: 100px;
  height: 40px;
  box-sizing: border-box;
}

.our-brand li a.b1 {
  background: url(https://www.xicom.biz/) no-repeat 0 0;
  width: 80px;
}

.our-brand li a.b2 {
  background: url(https://www.xicom.biz/) no-repeat -115px 0;
  width: 90px;
}

.our-brand li a.b3 {
  background: url(https://www.xicom.biz/) no-repeat -240px 0;
  width: 90px;
}

.our-brand li a.b4 {
  background: url(https://www.xicom.biz/) no-repeat -360px 0;
  width: 40px;
}

.our-brand li a.b5 {
  background: url(https://www.xicom.biz/) no-repeat -424px 0;
  width: 110px;
}

.our-brand li a.b6 {
  background: url(https://www.xicom.biz/) no-repeat -568px 0;
  width: 80px;
}

.our-brand li a.b7 {
  background: url(https://www.xicom.biz/) no-repeat -680px 0;
  width: 65px;
}

.our-brand li a.b8 {
  background: url(https://www.xicom.biz/) no-repeat -775px 0;
  width: 125px;
}

.success-stories .container {
  position: relative;
  padding: 90px 0;
  font-size: 18px;
}

.success-stories h4,
.success-stories .lrg-head {
  display: inline-block;
  letter-spacing: -1.5px;
  font-size: 70px;
  font-family: breuertextbold;
  margin: 0 auto 0;
  width: 100%;
}

.diffrentiators h4,
.development-process-sec .h4,
.h4.lrg {
  color: #023575;
  font-size: 55px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -2px;
  font-family: poppins, sans-serif;
  margin: 10px auto 23px;
}

.success-stories .buttons {
  display: inline-block;
  width: 280px;
  padding: 20px 43px;
  font-size: 22px;
  top: 5px;
}

.success-stories {
  background: #e9edf3;
}

.success-stories .h3 {
  color: #023575;
}

.diffrentiators {
  height: auto;
  padding: 90px 0 110px;
  background: #fff;
  text-align: center;
  position: relative;
  float: left;
  width: 100%;
}

.diffrentiators .inner-box {
  height: 370px;
  position: relative;
  border-radius: 3px;
}

.dev1 {
  background: url(../images/dev1.jpg) no-repeat center center/cover;
}

.dev2 {
  background: url(../images/dev2.jpg) no-repeat center center/cover;
}

.dev3 {
  background: url(../images/dev3.jpg) no-repeat center center/cover;
}

.diffrentiators .inner-box .content {
  position: absolute;
  padding: 24px;
  bottom: 20px;
  left: 20px;
  right: 20px;
  background: #fff;
  -webkit-transition: .6s;
  -moz-transition: .6s;
  -o-transition: .6s;
  transition: .6s;
  text-align: left;
  border-radius: 2px;
}

.diffrentiators .inner-box:hover .content {
  bottom: 40px;
}

.diffrentiators .content h5 {
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  font-family: poppins, sans-serif;
  margin: 5px auto 10px;
  color: #023575;
  letter-spacing: 0;
  text-decoration: none;
}

.diffrentiators .content p {
  line-height: 1.3;
  color: #888;
  font-size: 15px;
  color: #758495;
  font-weight: 400;
}

.row.different-columns {
  margin: 0 auto;
  float: left;
  width: 100%;
  clear: both;
}

.row.different-columns {
  margin-top: 40px;
}

.img-box,
.img-box2 {
  height: 350px;
  background: url(https://www.xicom.biz/) no-repeat center center/cover;
  position: relative;
  padding: 0;
}

.img-box2 {
  background: url(https://www.xicom.biz/) no-repeat center center/cover;
}

.img-box img {
  max-width: 100%;
}

.right-content {
  height: 350px;
  background: #354d65;
  text-align: left;
  font-family: breuertextmedium;
  padding: 65px;
}

.right-content p {
  color: #fff;
  font-size: 19px;
}

.devlp-services {
  display: inline-block;
  margin: 40px auto 30px;
}

.devlp-services>div {
  padding: 0;
}

.sections.sections.testimonials,
#sec3.our-guarantee,
.red-section {
  clear: both;
}

.red-title {
  background: #df2b2b;
  display: inline-block;
  padding: 3px 8px;
  color: #fff;
  font-family: arial;
  font-weight: 700;
  font-size: 10px;
  margin: 0 auto 14px;
  border-radius: 2px;
}

.cms p a,
.cms p a:hover {
  color: #888 !important;
}

.iphone-img {
  width: 45%;
  right: 15px;
  top: 33px;
}

.services-sec.shorter-sec {
  max-width: 46%;
}

.web-img {
  text-align: right;
}

.buttons {
  color: #fff !important;
  font-size: 22px;
  line-height: 15px;
  text-transform: capitalize;
  font-family: breuertextbold;
  display: inline-block;
  border-radius: 3px;
  border: 0;
}

.red_small,
.mob-btn-scroll {
  background-color: #df2b2b;
  padding: 17px 23px;
  font-size: 20px;
  width: 100%;
  text-align: center;
  border-radius: 50px;
}

.h4.sm,
.boxes-sections a h2 {
  font-size: 38px;
  letter-spacing: -.5px;
  line-height: 1.1;
}

.guarantee-sec .sec-heading .red-border {
  margin: 15px 0;
  display: block;
}

.section.guarantee-sec {
  padding: 90px 0 120px;
  background: #fff;
  clear: both;
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: -1px;
}

.diffrentiators {
  border-top: 1px solid #e5e5e5;
}

.diffrentiators .small-heading,
.development-process-sec .small-heading,
.guarantee-sec .small-heading,
.dedicated-team-sec .small-heading,
.benifits-heading .small-heading,
.hire-developers-sec .small-heading {
  padding: 0 8%;
  line-height: 1.3;
}

.dashed-circle {
  width: 200px;
  height: 200px;
  border: 2px dotted #c5ced5;
  border-radius: 50%;
  display: inline-block;
}

.section.hire-section,
.section.hire-section .container-fluid {
  float: left;
  width: 100%;
}

.section.hire-section {
  padding: 0;
}

.section.development-process-sec,
.section.development-process-sec .hsgroup {
  clear: both;
  float: left;
  width: 100%;
}

.section.development-process-sec .hsgroup {}

ul.hire-team-process li:after {
  position: absolute;
  content: '';
  height: 1px;
  top: 25%;
  right: -17.25%;
  width: 35%;
  border-bottom: 2px dotted #c5ced5;
}

ul.hire-team-process li:last-child:after {
  display: none;
}

.project-requirment {
  background: url(../images/icons/development-process/post-project-requirements.png) no-repeat center center/85px;
}

.discuss-project {
  background: url(../images/icons/development-process/discuss-project.png) no-repeat 50% 47%/90px;
}

.terms-n-timelines {
  background: url(../images/icons/development-process/engagement-terms.png) no-repeat center center/auto;
}

.get-started {
  background: url(../images/icons/development-process/secure-payment.png) no-repeat 50% 60%/95px;
}

.guarantee-row .h5 {
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  font-family: poppins, sans-serif;
  margin: 25px auto 10px;
  color: #023575;
  letter-spacing: 0;
  text-decoration: none;
}

.guarantee-row .para {
  font-size: 16px;
  color: #758495;
  font-weight: 400;
  line-height: 1.4;
}

.guarantee-row,
.partners-row,
.tools-row {
  margin: 70px auto 0;
}

.guarantee-row .grnt-cols,
.partners-row .grnt-cols {
  padding: 0 30px;
  border-right: 1px solid #e5e5e5;
}

.partners-row .grnt-cols {
  max-width: 20%;
}

.partners-row .grnt-cols img {
  max-width: 100%;
}

.guarantee-row .grnt-cols img.col-icon {
  max-width: 70px;
  max-height: 60px;
}

.guarantee-row .grnt-cols img.col-icon.flexi {
  max-width: 60px;
}

.guarantee-row .grnt-cols:first-child {
  padding-left: 0;
}

.guarantee-row .grnt-cols:last-child {
  padding-right: 0;
  border: 0;
}

.partners-row .grnt-cols:last-child {
  border: 0;
}

.guarantee-row .grnt-cols figure {
  height: 65px;
}

.section.top-address {
  text-align: center;
  clear: both;
  color: #fff;
  padding: 90px 0 170px;
  position: relative;
}

.section.top-address .container-fluid {
  position: relative;
}

.add-col {
  padding: 50px 0 0;
}

.top-address .h3 {
  font-size: 25px;
  text-transform: uppercase;
  color: #fff;
  font-family: poppins, sans-serif;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.5px;
}

.clock-container {
  height: 125px;
  width: 125px;
  display: inline-block;
  margin: 0 0 15px 0;
  position: relative;
}

.contactform dl {
  float: left;
  width: 100%;
}

.contactform dl dd {
  float: left;
}

.contactform .form-group {
  border-right: 2px solid #d8d8d8;
  border-bottom: 2px solid #d8d8d8;
  position: relative;
  padding: 30px 30px 23px;
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  color: #758495;
}

.contactform .form-group .input {
  width: 100%;
  border: 0;
  height: 40px;
  font-size: 17px;
  font-weight: 500;
  color: #758495;
  z-index: 1;
  position: relative;
  background: 0 0;
  box-shadow: none;
}

.contactform .form-group .input.budget {
  font-weight: 700;
}

.contact-form-popup .contactform .form-group.select-country .input.budget,
.contactform .form-group.select-country .input.budget {
  font-weight: 400;
}

.contactform .form-group .textarea {
  width: 100%;
  border: 0;
  height: 200px;
  font-size: 17px;
  resize: none;
  font-weight: 400;
  color: #758495;
  margin-top: 8px;
}

.contactform .form-group label {
  font-size: 17px;
  color: #758495;
  margin: 0 auto 10px;
  font-weight: 700;
}

.contactform .form-group .input+label {
  font-size: 17px;
  color: #758495;
  margin: 0 auto 10px;
  font-weight: 700;
  position: absolute;
  left: 30px;
  top: 17px;
  transition: all .3s;
  font-family: lato, sans-serif;
  font-weight: 700;
}

.contactform .form-group .input.budget {
  text-indent: 0;
  background: url(../images/down-arrow.png) no-repeat 95% 15px/22px;
}

.contactform .form-group .input.budget option {
  font-size: 17px;
  font-weight: 400;
}

.contactform .form-group.phone-no label {
  position: absolute;
  left: 110px;
  top: 30px;
}

.contactform .form-group .input:focus+label,
.contactform .form-group .input.valid+label {
  top: 14px;
  font-size: 17px;
}

.contactform .form-group.textarea-group label {
  position: absolute;
  top: 25px;
  left: 30px;
}

.btn-contact {
  position: relative;
  margin: 40px auto 0 15px;
  display: inline-block;
}

.btn-contact .circle-btn,
.btn-contact .circle-btn:hover {
  margin: 0 auto;
  border: 0;
  padding: 15px 30px 14px 50px;
}

.btn-contact .circle-dot {
  z-index: 1;
}

.add-col p,
.right-form-sec .add-col p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
}

.contact-forms .right-form-sec {
  background: #022a5e;
  color: #fff;
  border-radius: 0 0 2px 0;
}

.middle-align {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0;
  right: 0;
  width: 100%;
  padding: 0 30px;
}

.right-form-sec .middle-align {
  padding: 0 0;
}

.floatLeft.captcha {
  width: auto;
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 0 40px;
}

.right-form-sec .middle-align .h2h {
  font-size: 25px;
  line-height: 1.3;
  margin: 0 auto 40px;
}

.contactform .next2btn {
  display: inline-block;
  vertical-align: middle;
  margin: 0 20px 0 100px;
  float: none;
}

.right-form-sec p {
  font-size: 22px;
}

.contact-section {
  margin: -97px auto 110px;
  background: #fff;
  border-radius: 0;
  box-shadow: 0 8px 80px rgba(0, 0, 0, .22);
  overflow: hidden;
  max-width: 88%;
  position: relative;
}

.contact-section .form-left {
  padding-bottom: 50px;
}

.top-heading,
.inner-banners .top-heading h2 {
  font-size: 28px;
  font-family: lato, sans-serif;
  line-height: 1.2;
  display: inline;
  margin: 0;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  padding: 5px 10px;
  display: inline-block;
  width: 100%;
}

.inner-banners .top-heading h2 {
  width: auto;
  padding: 0;
  display: inline;
}

.btn-contact .circle-btn.red-btn {
  background: #56CBB9;
  cursor: pointer;
}

.btn-contact .circle-dot {
  cursor: pointer;
}

.top-row.blue-bar,
.right-form-sec .blue-bar {
  background: #0099da;
  color: #fff;
  padding: 26px 20px 27px 25px;
  border-radius: 0 0 0 0;
  height: 97px;
}

.right-form-sec .blue-bar {
  font-size: 21px;
  font-weight: 700;
  text-transform: uppercase;
  font-family: poppins, sans-serif;
  margin: 0 -15px 10px;
  color: #fff;
  letter-spacing: 0;
  text-decoration: none;
  line-height: 1.3;
  padding: 40px 28px 35px 25px;
  height: 127px;
  border: 0;
}

.top-row.blue-bar .h5 {
  margin: 10px 5px;
  font-size: 20px;
  font-weight: 700;
}

.demo-container.clocks {
  max-width: 90%;
  margin: 0 auto;
}

.right-form-sec .demo-container.clocks {
  margin: 0 auto 70px;
}

.right-form-sec .add-col {
  padding: 40px 0 0;
  text-align: center;
}

.top-address .top-heading.h2 {
  font-size: 115px;
  margin: 0 auto;
  padding: 30px 0 0;
  color: #0099da;
  letter-spacing: -7px;
  line-height: 1;
  font-weight: 800;
}

.clock {
  border-radius: 50%;
  background: #fff url(https://www.xicom.biz/images/ios_clock.svg) no-repeat center;
  background-size: 75%;
  height: 100%;
  padding-bottom: 0;
  position: relative;
  width: 100%;
}

.clock {
  background: url(../images/clock.png) no-repeat center/100% auto;
  border: 5px solid #07203f;
}

.clock.simple:after {
  background: #000;
  border-radius: 50%;
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 5%;
  height: 5%;
  z-index: 10;
}

.minutes-container,
.hours-container,
.seconds-container {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.hours {
  background: #091410;
  height: 20%;
  left: 48.75%;
  position: absolute;
  top: 30%;
  transform-origin: 50% 100%;
  width: 2.5%;
  border-radius: 5px;
}

.minutes {
  background: #091410;
  height: 40%;
  left: 49%;
  position: absolute;
  top: 10%;
  transform-origin: 50% 100%;
  width: 2%;
  border-radius: 5px;
}

.seconds {
  background: #ef323a;
  height: 38%;
  left: 50%;
  position: absolute;
  top: 50%;
  transform-origin: 50% 0%;
  width: 1%;
  z-index: 8;
  border-radius: 5px;
}

@keyframes rotate {
  100% {
    transform: rotateZ(360deg);
  }
}

.hours-container {
  animation: rotate 43200s infinite linear;
  position: absolute;
  z-index: 1;
}

.minutes-container {
  animation: rotate 3600s infinite linear;
}

.seconds-container {
  animation: rotate 60s infinite linear;
}

.minutes-container {
  animation: rotate 3600s infinite steps(60);
}

.seconds-container {
  animation: rotate 60s infinite steps(60);
}

.hours:after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  background: #091410;
  border-radius: 50%;
  position: absolute;
  bottom: auto;
  top: 90%;
  left: 0;
  right: 0;
  margin: 0 auto;
  transform: translate(-35%, -31%);
}

.minutes-container {
  transition: transform .3s cubic-bezier(.4, 2.08, .55, .44);
}

.seconds-container {
  transition: transform .2s cubic-bezier(.4, 2.08, .55, .44);
}

.section.banner-section {
  min-height: 80vh;
  height: 700px;
  padding: 147px 0 0;
  background: #f0f2f5;
  background: #e9edf3;
}

.section.banner-section {
  background: #f0f2f5;
  border-bottom: 1px solid #e5e5e5;
}

.mobile-development .container-fluid {
  position: relative;
  height: 100%;
}

.mobile-development .left-img {
  position: relative;
  left: 15px;
  top: -10px;
}

.mobile-development .left-img .mob-dev {
  width: 110%;
  position: relative;
  top: -25px;
  left: -55px;
}

.mobile-development .augmented-banner .left-img {
  position: relative;
  left: -120px;
  height: 552px;
  top: 0;
}

.mobile-development .augmented-banner img.full {
  max-width: none;
  max-height: 100%;
}

.section.banner-section.mobile-development {}

.mobile-development .banner-content {}

.mobile-development.mb-app-dev .left-img {
  top: 1px;
}

.heart-img {
  text-align: right;
  padding: 0 50px 0 0;
  margin-bottom: -95px;
}

.software-development .heart-img {
  margin-bottom: -105px;
}

.banner-right-content {
  padding-left: 50px;
  padding-right: 30px;
}

.augmented-banner .banner-right-content {
  padding-left: 100px;
  padding-right: 50px;
}

.augmented-banner .heart-img {
  padding: 0 20px 0 0;
}

.testing-banner .left-img {
  position: relative;
  top: -18px;
  right: 0;
}

.testing-banner .banner-right-content {
  margin-top: 75px;
  padding-left: 105px;
}

.testing-banner .heart-img {
  position: absolute;
  right: 0;
  top: -70px;
}

.ios-development img.mob-dev {
  width: 110%;
  position: relative;
  top: -11px;
  right: 10px;
}

.web-development .banner-right-content,
.software-development .banner-right-content,
.cross-platform .banner-right-content {
  padding-left: 70px;
  padding-right: 10px;
}

.cross-platform .banner-right-content {
  padding-top: 80px;
}

.cms-development .banner-right-content {
  position: relative;
  left: -20px;
  padding: 0 45px 0 0;
}

.web-development .banner-right-content {
  position: relative;
  padding: 70px 55px 0 70px;
}

.web-development .heart-img {
  position: absolute;
  top: 0;
  right: 70px;
  padding: 0;
}

.cms-development .heart-img {
  padding-right: 10px;
}

.h2 {
  color: #032e68;
  font-size: 80px;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: -3px;
  font-family: poppins, sans-serif;
  margin: 10px auto 35px;
}

.banner-right-content .h2 {
  margin: 20px auto 35px;
}

.quality-assure-ms .banner-right-content .h2,
.web-dev-ms .banner-right-content .h2 {
  margin: 5px auto 35px;
}

.cms-ms .banner-right-content .h2 {
  margin: -5px auto 35px;
}

.short-heading,
h2.in-h2,
.short-heading h2 {
  color: #758495;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.short-heading h1 {
  display: inline;
}

h2.in-h2,
.short-heading h2 {
  display: inline;
}

ul.hire-team-process.three-steps li {
  width: 33.3%;
}

.bottom-align {
  padding: 0 15px 25px;
}

.what-we-do p,
.how-it-works p,
.capabilities p,
.container a {
  font-size: 17px;
  color: #758495;
  font-weight: 400;
  line-height: 1.5;
}

.our-guarantee .container .row {
  clear: both;
}

.success-stories {
  padding: 90px 0;
  font-size: 18px;
  border-top: 1px solid #e5e5e5;
}

.success-stories .container-fluid {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 5%;
}

.success-stories .small-heading {
  margin: 40px auto 0;
  color: #023575;
  font-size: 25px;
  font-weight: 800;
  line-height: 1.2;
  font-family: poppins, sans-serif;
  letter-spacing: -.5px;
}

.our-guarantee .container {
  clear: both;
  display: inline-block;
}

.three-blocks {
  float: left;
  width: 100%;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

.languages {
  background: #e9edf3;
  padding: 50px 0;
}

.logos-sec li {
  display: inline-block;
  margin: 0 15px;
  vertical-align: middle;
}

.logos-sec li img {
  max-width: 110px;
  max-height: 100px;
}

.inner-banners,
.services {
  background: #022a5e;
  color: #fff;
  padding: 90px 0 120px;
  position: relative;
}

.inner-banners::before,
.section.top-address:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(../images/overlay-pattern.png);
}



.industries {
  background: #022a5e url(../images/headers/Aboutus.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.whynohitatu {
  background: #022a5e url(../images/headers/Whynohitatu.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.career {
  background: #022a5e url(../images/headers/career.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.clients {
  background: #022a5e url(../images/headers/clients.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.techskills {
  background: #022a5e url(../images/headers/techskills.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.visionvalues {
  background: #022a5e url(../images/headers/visionvalues.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.ouradvantages {
  background: #022a5e url(../images/headers/ouradvantages.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.whoneedus {
  background: #022a5e url(../images/headers/whoneedus.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.Testimonials {
  background: #022a5e url(../images/headers/Testimonials.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

/*.technologies-banner {
  background: #022a5e url(../images/headers/technologies.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}*/

.lt-inner-banner.technologies-banner {
  background: #022a5e url(../images/pages/technology.jpg) no-repeat top center/auto;
  /*01*/
  background-attachment: fixed;
}

.lt-inner-banner.privacy-banner {
  background: #022a5e url(../images/pages/rcm.jpg) no-repeat top center/auto;
  /*02*/
  background-attachment: fixed;

}

.lt-inner-banner.saas {
  background: #022a5e url(../images/pages/saas.jpg) no-repeat top center/auto;
  /*03*/
  background-attachment: fixed;
}

.lt-inner-banner.ITES-services {
  background: #022a5e url(../images/pages/ITES-services.jpg) no-repeat top center/auto;
  /*04*/
  background-attachment: fixed;
}

/*.outsourcing-banner {
  background: #022a5e url(../images/headers/saas.jpg) no-repeat 0px -65px/auto;
  background-attachment: fixed;
}*/

.post-resume {
  background: #022a5e url(../images/headers/post-resume.jpg) no-repeat 0px -25px/auto;
  background-attachment: fixed;
}

.consulting-banner {
  background: #022a5e url(../images/headers/consulting.jpg) no-repeat 0px -55px/auto;
  background-attachment: fixed;
}

.dedicated-teams-banner {
  background: #022a5e url(../images/headers/dedicated-teams.jpg) no-repeat 0px -55px/auto;
  background-attachment: fixed;
}

.section.industries-sec,
.section.testimonial-sec {
  padding: 75px 15px 85px;
}

.inner-banners:after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  right: 150px;
  bottom: 0;
  display: inline-block;
  background: #ef323a;
}

.contact {
  background: #022a5e url(../images/headers/contact.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.partner {
  background: #022a5e url(../images/headers/partner.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.case-studies {
  background: #022a5e url(../images/headers/case-studies.jpg) no-repeat 0px -95px/auto;
  background-attachment: fixed;
}

.corporate {
  background: #022a5e url(../images/headers/corporate.jpg) no-repeat 0px -100px/auto;
  background-attachment: fixed;
}

.testimonials {
  background: #022a5e url(../images/headers/testimonials.jpg) no-repeat 0px -100px/auto;
  background-attachment: fixed;
}

.latest-thinking {
  background: #022a5e url(../images/headers/latest-thinking.jpg) no-repeat 0px -120px/auto;
  background-attachment: fixed;
}

.inner-banners .main-heading,
.inner-banners h1 {
  margin: 75px 0 0;
  width: 100%;
  font-size: 95px;
  font-weight: 800;
  line-height: 1;
  font-family: poppins, sans-serif;
  padding-top: 10px;
  text-transform: uppercase;
  letter-spacing: -5.5px;
}

.inner-banners .main-heading.sm {
  font-size: 95px;
}

.post-resume .main-heading,
.post-resume h1 {
  font-size: 82px;
}

.inner-banners .red-border {
  margin: 23px auto 16px;
  float: left;
}

.banner-subtitle {
  font-size: 24px;
  font-weight: 400;
  line-height: 1.6;
}

.inner-banners .top-heading,
.inner-banners h2 {
  padding: 10px 0;
  font-size: 28px;
  line-height: 1.21;
}

.h2h {
  font-size: 23px;
  font-weight: 700;
  text-transform: uppercase;
  font-family: poppins, sans-serif;
  margin: 5px auto 10px;
  color: #023575;
  letter-spacing: 0;
}

.h2h::after {
  content: "";
  display: inline-block;
  width: 100px;
  height: 2px;
  background: #ef323a;
}

.top-content .para {
  margin: 0 auto 10px;
}

.top-content {
  border-bottom: 1px solid #e5e5e5;
  padding: 60px 0;
}

.cols a {
  text-decoration: none;
}

.cols a img.col-icon {
  display: inline-block;
  float: none;
  margin: 0 auto 7px;
}

.services-sec .cols h2 {
  width: 100%;
  display: inline-block;
}

.desc-area .indus-title,
.wht-boxes .desc-area h3,
.indus-sec .desc-area h3,
.testimonial-sec-box .desc-area .indus-title {
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -1px;
  font-family: poppins, sans-serif;
  margin: 20px auto 15px;
  color: #023575;
  letter-spacing: 0;
  text-decoration: none;
  display: inline-block;
  transition: all .3s;
}

.indus-sec .desc-area h3 {
  line-height: 30px;
}

.industries-sec .column,
.wht-boxes .cols {
  display: inline-block;
  text-decoration: none;
}

.desc-area p {
  font-size: 16px;
  color: #758495;
  font-weight: 400;
  line-height: 1.4;
  transition: all .3s;
}

#innercontainer a {
  text-decoration: none;
}

#innercontainer .column {
  margin: 0;
  padding: 55px 38px;
  border: 1px solid #e5e5e5;
  margin-right: -1px;
  margin-bottom: -1px;
  transition: all .3s;
  background: #fff;
}

#innercontainer .column:hover {
  background: #022a5e;
}

#innercontainer .column:hover .desc-area p {
  color: #fff;
}

#innercontainer .column:hover .desc-area a,
.column:hover .indus-title,
.indus-sec .column:hover .desc-area h3 {
  color: #0099da;
}

#innercontainer .column img,
.wht-boxes .cols img {
  width: 100%;
  height: auto;
  max-width: 65px;
  max-height: 150px;
  transition: all .3s;
}

#innercontainer .column:hover img,
.inverse,
.wht-boxes .cols img {
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

#innercontainer .column figure span {
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(2, 42, 94, .75) url(../images/plus-hover.png) no-repeat center center;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all .3s;
}

#innercontainer .column figure {
  position: relative;
}

#innercontainer .column figure:hover span {
  opacity: 1;
  display: none;
}

.wht-boxes .cols .desc-area p,
.wht-boxes .desc-area .indus-title,
.wht-boxes .desc-area h3 {
  color: #fff;
}

.wht-boxes .cols.box2 .desc-area p,
.wht-boxes .cols.box2 .desc-area .indus-title,
.wht-boxes .cols.box2 .desc-area h3 {
  color: #002958;
}

.wht-boxes .cols.box2 img {
  filter: none;
}

.left-cols>div,
.right-cols>div,
.left-cols>a,
.right-cols>a {
  position: relative;
  float: left;
  width: 100%;
}

.boxes-sections .full-row a {
  float: left;
  width: 100%;
  position: relative;
  z-index: 1;
}

.left-cols>div .h4,
.right-cols>div .h4,
.boxes-sections .full-row .h4 {
  color: #fff;
  font-size: 38px;
  letter-spacing: -1px;
}

.left-cols {
  padding-right: 0;
}

.right-cols {
  padding-left: 0;
}

.boxes-sections a .h4.sm,
.boxes-sections a h2 {
  color: #fff;
}

.big-data .h4.sm,
.boxes-sections a h2 {
  color: #fff;
}

.big-data {
  height: 400px;
  width: 100%;
  background: #022a5e;
  color: #fff;
  padding: 30px 20px;
}

.art-intelligence {
  height: 325px;
  background: #0099da;
  color: #fff;
  padding: 30px 20px;
}

.iot {
  height: 300px;
  width: 100%;
  background: #0099da;
  color: #fff;
  padding: 30px 20px;
}

.blockchain {
  height: 425px;
  width: 100%;
  background: #0d4388;
  color: #fff;
  padding: 30px 20px;
}

.cloud-computing {
  height: 325px;
  width: 100%;
  background: #022a5e;
  color: #fff;
  position: relative;
  padding: 30px 20px;
}

.sm-heading {
  font-size: 20px;
  font-weight: 500;
  font-family: lato, sans-serif;
  line-height: 1.3;
}

.boxes-sections a .h4:after,
.boxes-sections a h2:after {
  content: "";
  width: 0;
  height: 2px;
  background: #fff;
  display: block;
  clear: both;
  margin: 20px 0 -15px;
  transition: all .2s;
}

.boxes-sections a:hover .h4:after,
.boxes-sections a:hover h2:after {
  width: 100px;
}

.boxes-sections ul li a {
  color: #fff;
}

.boxes-sections ul li a:hover {
  color: #ccc;
}

.boxes-sections .links li::before {
  background: #fff;
}

.boxes-sections ul {
  padding: 30px 0 0;
}

.section.boxes-sections {
  padding: 0 0 75px;
  clear: both;
}

.middle-content {
  position: relative;
  float: left;
  width: 100%;
  padding: 30px;
}

.latest-thinking-sec .small-heading {
  text-align: left;
  font-family: lato, sans-serif;
  line-height: 1.3;
  padding-top: 20px;
}

.latest-thinking-sec .hsgroup,
.latest-thinking-sec .container-fluid,
.section.latest-thinking-sec {
  clear: both;
  float: left;
  width: 100%;
  padding-bottom: 3px;
}

.latest-thinking-sec .red-border-line {
  float: left;
}

img.lt-img {
  height: 250px;
  float: none;
  position: relative;
  top: 5px;
  left: 100px;
}

.section.boxes-sections {}

.latest-thinking-sec .h4 {
  margin: 10px auto;
}

.latest-thinking-sec .red-border-line {
  margin: 15px auto 23px 2px;
}

@-moz-document url-prefix() {
  .contactform .form-group .input.budget {
    text-indent: -2px;
  }
}

.lt-inner-banner {
  min-height: 100vh;
  width: 100%;
  color: #fff;
  background: #022a5e;
}

.lt-inner-banner.artifical-intelligence-banner {
  background: #022a5e url(../images/pages/artificial-intelligence.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.lt-inner-banner.bigdata-analytics-banner {
  background: #022a5e url(../images/pages/bigdata.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.lt-inner-banner.sap-development-banner {
  background: #022a5e url(../images/pages/bigdata.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.lt-inner-banner.blockchian-banner {
  background: #022a5e url(../images/pages/blockchain.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.lt-inner-banner.cloud-computing-banner {
  background: #022a5e url(../images/pages/cloud-computing.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.lt-inner-banner.internet-things-banner {
  background: #022a5e url(../images/pages/iot.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.lt-inner-banner.outsourcing-banner {
  background: #022a5e url(../images/pages/outsourcing.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.lt-inner-banner.hire-developers-banner {
  background: #022a5e url(../images/pages/hire-developers.jpg) no-repeat top center/auto;
  background-attachment: fixed;
}

.lt-inner-banner::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(../images/overlay-pattern.png);
}

@-webkit-keyframes Gradient {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

@-moz-keyframes Gradient {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

@keyframes Gradient {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

.lt-inner-banner .h1,
.lt-inner-banner h1 {
  margin: 50px 0 0;
  width: 100%;
  font-size: 52px;
  font-weight: 800;
  line-height: 1;
  font-family: poppins, sans-serif;
  padding-top: 10px;
  text-transform: uppercase;
  letter-spacing: -0.9px;
}

.blockchian-banner .h1,
.blockchian-banner h1 {
  font-size: 120px;
  margin: 60px 0 0;
  letter-spacing: -8px;
}

.bigdata-analytics-banner .h1,
.bigdata-analytics-banner h1 {
  font-size: 110px;
  margin: 25px 0 0;
  letter-spacing: -8px;
  line-height: 105px;
}

.internet-things-banner .h1,
.internet-things-banner h1 {
  font-size: 90px;
  margin: 50px 0 0;
}

.artifical-intelligence-banner .h1,
.artifical-intelligence-banner h1 {
  font-size: 110px;
  margin: 50px 0 0;
  letter-spacing: -5.5px;
  line-height: 105px;
}

.cloud-computing-banner .h1,
.cloud-computing-banner h1 {
  font-size: 120px;
  margin: 30px 0 0;
  letter-spacing: -8px;
  line-height: 105px;
}

.lt-inner-banner .top-heading {
  padding: 5px 0;
  line-height: 1.2;
}

.red-border.wht {
  border-top: 2px solid #fff;
}

.lt-inner-banner .red-border {
  margin: 12px auto 20px 0px;
}

.lt-inner-banner .middle-align {
  padding: 0 0 0 6%;
}

.lt-content {
  padding: 10vh 15px 0;
}

.career-top {
  clear: both;
  float: left;
  width: 100%;
  text-align: center;
}

.career-top .h4 {
  font-family: poppings, sans-serif;
  font-weight: 700;
  text-transform: none;
  font-size: 55px;
  display: inline-block;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: -2px;
}

.career-top .red-border-line {
  margin: 20px auto 25px;
}

.career-top .small-heading {
  max-width: 80%;
  float: none;
  display: inline-block;
}

.profiles {
  float: left;
  width: 100%;
  padding: 40px 15px 90px;
}

.profile-cols {
  border: 1px solid #e5e5e5;
  padding: 0;
  font-size: 16px;
  color: #758495;
  font-weight: 400;
  line-height: 1.4;
  border-bottom: 0;
  border-right: 0;
  transition: all .3s;
}

.profile-cols a {
  color: #758495;
  text-decoration: none;
  transition: all .3s;
  padding: 50px 43px 70px;
  float: left;
  width: 100%;
}

.developers-columns .profile-cols a {
  padding: 40px 40px 60px;
}

.profile-cols:hover,
.profile-cols.blue-bg,
.hire-developers-sec .profile-cols:hover {
  background: #022a5e;
  color: #fff;
}

.profile-cols:hover a {
  color: #fff;
}

.profile-cols:hover .profile-title,
.profile-cols:hover h3,
.profile-cols:hover h2 {
  /*color: #0099da;*/
  color: #56CBB9;
}

.profile-cols:last-child {
  border-right: 1px solid #e5e5e5;
}

.bottom-row .profile-cols {
  border-bottom: 1px solid #e5e5e5;
}

.profile-cols img {
  max-width: 65px;
  margin: 0 auto 25px;
  transition: all .3s;
}

.profile-cols:hover img {
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

.profile-title,
.profile-cols h3,
.profile-cols h2 {
  font-family: poppins, sans-serif;
  margin: 0 auto 10px;
  color: #023575;
  font-weight: 700;
  text-transform: uppercase;
  transition: all .3s;
  font-size: 18px;
  line-height: 1.2;
}

.profiles .red-btn {
  border-radius: 40px;
  background: #ef323a;
  margin: 50px auto 0;
}

.profiles .red-btn:hover {
  margin: 50px auto 0;
}

.explr-openings {
  text-align: center;
}

.back-row .social-icons {
  text-align: right;
}

.top-row .red-btn {
  margin: 10px -10px 0 0;
  width: 190px;
  text-align: center;
  background: #ef323a;
}

.top-row .red-btn.bck-link {
  background: #022a5e;
  margin: 10px 12px 0 0;
}


.top-row .cyan-btn.bck-link {
  background: #56CBB9;
  margin: 10px 12px 0 0;
}


.top-row {
  padding: 20px 35px;
}

.top-row span {
  padding: 6px 20px 6px 0;
  margin: 0 20px 0 0;
  border-right: 1px solid #e5e5e5;
  display: inline-block;
  font-size: 16px;
  color: #758495;
}

.top-row span:last-child {
  border-right: 0;
}

.respons {
  font-size: 16px;
  color: #758495;
}

.detailed-section .respons {
  padding: 40px 50px 0;
  border-top: 1px solid #e5e5e5;
}

.response {
  padding: 40px 50px 0;
  border-top: 0 solid #e5e5e5;
  font-size: 16px;
  color: #758495;
}

.listings {
  margin: 0 auto 30px;
}

.listings li {
  padding: 7px 0;
  position: relative;
  padding-left: 12px;
}

.listings li:before {
  background: #022a5e;
}

.title,
.linkings li.main-link a,
.industries-details h3,
.industries-details h2 {
  font-size: 20px;
  color: #023575;
  font-weight: 700;
  margin: 0 auto 10px;
  font-family: poppins, sans-serif;
  text-transform: uppercase;
}

.inner-container {
  background: #fff;
  padding: 20px 0;
  margin: 0 auto 100px;
  border: 1px solid #e5e5e5;
}

.back-row .social-icons .fb-icon {
  background: #395a93 url(https://www.xicom.biz/images/socials/fb.svg) no-repeat 7px 6px/23px;
  border-color: #395a93;
}

.back-row .social-icons .tw-icon {
  background: #4eaee9 url(https://www.xicom.biz/images/socials/tw.svg) no-repeat 8px 6px/22px;
  border-color: #4eaee9;
}

.back-row .social-icons .lnkd-icon {
  background: #0173b2 url(https://www.xicom.biz/images/socials/linkedin.svg) no-repeat 2px -5px/32px;
  border-color: #0173b2;
}

.back-row .social-icons .insta-icon {
  background: #0173b2 url(https://www.xicom.biz/images/socials/insta.svg) no-repeat 2px -5px/32px;
  border-color: #0173b2;
}

.back-row .social-icons a {
  width: 40px;
  height: 40px;
}

.respons .circle-btn.red-btn {
  margin: 10px auto 50px;
  text-align: center;
  width: 190px;
  background: #ef323a;
}

.back-row {
  padding: 35px 0 30px;
}

.h1.job-title,
.job-title-sec h2 {
  color: #023575;
  font-weight: 800;
  margin: 0 auto 0;
  font-family: poppins, sans-serif;
  text-transform: uppercase;
  letter-spacing: -1px;
}

.job-title-sec h2 {
  font-size: 2.5rem;
}

.terms-section .h1.job-title {
  font-weight: 700;
  letter-spacing: -.5px;
  font-size: 24px;
}

.terms-section .h1.thanks {
  font-weight: 800;
  font-size: 38px;
  font-family: poppins, sans-serif;
  text-transform: uppercase;
  letter-spacing: -1px;
  color: #023575;
  line-height: 1.15;
  margin: 35px 0;
  border-right: 0;
}

.terms-section .title,
.industries-details .title,
.industries-details h3 {
  font-size: 18px;
}

.back-row .bck-link {
  margin: 0;
  font-size: 13px;
  background: #022a5e;
}

.detailed-section,
.industries-details {
  padding: 90px 15px 0;
}

#education-details,
.industries-details {
  padding: 0px 15px 0;
}



.corporate-slider .slidesjs-pagination li a {
  width: 8px;
  height: 8px;
  margin: 0 2px;
  text-decoration: none;
  font-size: 0;
}

.corporate-slider .slidesjs-pagination {
  width: 100%;
  float: right;
  position: absolute;
  bottom: 10px;
  right: 0;
  z-index: 99;
  padding-right: 20px;
  text-align: right;
}

.corporate-slider .slidesjs-pagination li {
  position: relative;
  display: inline-block;
}

.corporate-slider .slidecontainer {
  position: relative;
}

.latest-thinking-sec.mbs {
  padding-bottom: 50px;
}

#slideshow {
  float: left;
  width: 864px;
  position: relative;
  height: 417px;
  margin: 0;
  border: 1px solid #222;
  max-width: 100%;
  overflow: hidden;
  z-index: 0;
}

#slideshow img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8;
  opacity: 0;
  width: 100%;
}

#slideshow img.active {
  z-index: 10;
  opacity: 1;
}

#slideshow img.last-active {
  z-index: 9;
}

.slideshow-area {
  float: left;
  width: 910px;
  position: relative;
}

.overlap-content {
  float: left;
  width: 330px;
  padding: 0 40px;
  height: 458px;
  position: absolute;
  z-index: 20;
  top: 0;
  left: 505px;
  background: rgba(0, 0, 0, .55);
}

.slidecontent {
  float: left;
  width: 100%;
  padding-top: 60px;
}

.slidebutton {
  float: left;
  width: 100%;
  padding-top: 48px;
}

.content-below-slider {
  float: left;
  width: 864px;
  margin: 50px 45px;
}

.content-below-slider .columns-area {
  display: block;
  float: left;
  width: 100%;
}

.content-below-slider .columns-area .columntxt {
  float: left;
  width: 402px;
  margin-left: 60px;
  line-height: 20px;
  font-size: 15px;
}

.content-below-slider .columns-area .columntxt:first-child {
  margin-left: 0;
}

.content-below-slider .h2h {
  display: block;
  color: #2f303d;
  font-family: breuertextbold;
  font-size: 18px;
  line-height: 18px;
  padding: 0 0 15px;
  text-transform: uppercase;
}

.corporate-ms .latest-thinking-sec.mbs {
  padding-bottom: 90px;
}

.section.corporate-slide {
  position: relative;
  z-index: 0;
}

.partners-section {
  width: 100%;
  float: left;
  border-top: 1px solid #e5e5e5;
  padding: 0 0 75px;
}

.sm-cols .sm-heading,
.h2.sm {
  font-size: 28px;
  font-family: poppins, sans-serif;
  font-weight: 800;
  letter-spacing: -1px;
  margin: 0;
  padding: 40px 15px;
  line-height: 17px;
  text-transform: uppercase;
  color: #023575;
}

.sm-cols .sm-heading {
  font-size: 22px;
  color: #023575;
  background: #fff;
  font-weight: 800;
  letter-spacing: 0;
  padding: 25px 20px;
  letter-spacing: -.5px;
}

.dedicated-teams .cols-sec {
  padding: 0 0 0 68px;
}

.dedicated-teams .column-box .sm-cols {
  margin: 0;
  border-right: 0;
  border-top: 0;
}

.dedicated-teams .column-box .sm-cols:nth-child(3n+1),
.dedicated-teams .column-box .sm-cols:last-child {
  border-right: 1px solid #eaeaea;
}

.dedicated-teams .column-box .sm-cols:first-child {
  border-top: 1px solid #eaeaea;
}

.case-studies-banner .item {
  padding: 15px;
}

.case-studies-sec {
  padding: 80px 0;
}

.case-studies-banner {
  padding: 10px 0 30px;
}

.contact-section {
  margin: 90px auto 110px;
  box-shadow: none;
  border: 1px solid #e5e5e5;
}

.top-row.wht-bar {
  background: #fff;
  border-bottom: 1px solid #d8d8d8;
  color: #023575;
  height: auto;
  padding: 45px 20px 35px 25px;
}

.contactform .form-group {
  border-right: 1px solid #d8d8d8;
  border-bottom: 1px solid #d8d8d8;
}

.contact-forms .h2.sm {
  margin: 0;
  padding: 0 0 10px;
}

.contact-forms .small-heading {
  text-align: left;
  font-size: 16px;
  line-height: 1.3;
}

.right-form-sec .add-col {
  padding: 55px 0 0;
  text-align: center;
}

.tools-technology {
  background: #022a5e;
  border: 0;
  text-align: center;
  padding-bottom: 0;
}

.tools-technology .small-heading {
  color: #fff;
  font-family: poppins, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
  font-weight: 28px;
}

.tools-technology .red-border {
  margin: 20px auto 10px;
}

.tools-row .grnt-cols {
  max-width: 25%;
  margin-top: 0;
  border-right: 1px solid rgba(255, 255, 255, .2);
}

.tools-row.big-data-tools .grnt-cols {
  max-width: 20%;
}

.tools-row.big-data-tools .grnt-cols img {
  max-width: 100%;
}

.tools-row .grnt-cols:last-child {
  border-right: 0;
}

.tools-row {
  text-align: center;
  padding: 35px 0;
  border-top: 1px solid rgba(255, 255, 255, .2);
  margin: 85px auto 0;
}

.mr0a {
  margin: 0 auto;
}

.hire-developers-sec .profile-cols {
  background: #fff;
}

.hire-developers-sec .row:nth-of-type(3) .profile-cols {
  border-bottom: 1px solid #e5e5e5;
}

.hire-developers-sec {
  padding: 75px 15px 80px;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

hr {
  border: 0;
  border-top: 1px solid #e5e5e5;
  float: left;
  width: 100%;
  margin: 0 auto;
}

.hire-developers-sec.profiles .red-btn {
  background: #022a5e;
}

.h5.sm {
  font-family: poppins, sans-serif;
  font-size: 28px;
  color: #023575;
  font-weight: 800;
  padding: 25px 0 15px;
  letter-spacing: -.5px;
  text-transform: uppercase;
}

.browsebox {
  float: none;
  display: inline-block;
  margin: 0 auto 0 79px;
  vertical-align: middle;
  padding: 0;
  position: relative;
  float: right;
}

.browsebox {
  width: 100%;
  margin: 0;
  margin-top: -60px;
}

.browsebox input {
  position: relative;
  z-index: 2;
  opacity: 0;
  width: 100%;
  height: 100%;
  padding: 20px;
  font-size: 16px;
}

.browse-btn {
  position: absolute;
  left: 0;
  right: 0;
  color: #023575;
  z-index: 1;
  text-align: left;
  width: 100%;
  padding: 20px 20px 20px 40px;
  background: url(../images/plus-sign.png) no-repeat 93.5% 22px/22px;
  height: 100%;
  top: 0;
}

.browse-btn {
  background-position: 97.5% 22px;
}

.file-name {
  position: absolute;
  right: 60px;
  font-size: 17px;
  color: #758495;
  margin: 0 auto 10px;
  font-weight: 700;
  max-width: calc(100% - 200px);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.contactform .form-group.upload-resume label {
  margin-top: 17px;
}

.right-form-sec .small-heading {
  color: #0099da;
  font-size: 27px;
  font-weight: 700;
  line-height: 1.2;
  font-family: poppins, sans-serif;
  letter-spacing: -1px;
  text-transform: uppercase;
  margin: 10px auto 20px;
}

.right-form-sec .reviews {
  padding: 43px 40px;
  position: relative;
  margin: 0 auto;
}

.reviews a {
  color: #fff;
  display: inline-block;
  width: 100%;
  margin: 0 auto 15px;
  text-decoration: none;
  transition: all .3s;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.reviews a:last-child {
  border-bottom: 0;
}

.reviews a:hover {
  color: #0099da;
}

.review-sec {
  padding: 0;
}

.mt10 {
  margin-top: 10px;
}

.top-review-img {
  padding: 38px 40px 0;
}

.top-review-img img {
  max-width: 100%;
}

.terms-section .title {
  margin: 50px auto 5px;
}

.industries-details .title,
.industries-details h3 {
  margin: 50px auto 10px;
}

.linkings li a {
  text-decoration: none;
  padding: 6px 0;
  display: inline-block;
  line-height: 1.3;
}

.linkings li.main-link a {
  display: inline-block;
  margin: 25px auto 10px;
  font-size: 16px;
}

.linkings li.main-link.sm a {
  margin: 30px auto 8px;
}

.terms-section .title:nth-of-type(1) {
  margin-top: 0;
}

.terms-section .respons,
.industries-details .inner-container {
  padding: 40px 50px 80px;
}

.industries-details .inner-container {
  padding: 0 50px;
}

.sitemap-section .respons,
.sitemap-section .inner-container {
  border: 0;
  padding: 0;
}

.terms-section .inner-container {
  padding: 0;
}

.terms-section .top-row {
  padding: 50px 43px 20px 40px;
}

.thanks-ms .terms-section .top-row {
  padding: 50px 43px 90px 40px;
}

.sitemap-section .inner-container {
  padding: 0;
}

.sitemap-section .linkings {
  border: 1px solid #e5e5e5;
  margin-right: -1px;
  padding: 15px 15px 80px 28px;
}

.terms-section .listings li::before,
.industries-details .listings li:before {
  background: #758495;
  top: 16px;
}

.terms-section .listings li {
  padding: 2px 0 3px 12px;
}

.industries-details .para {
  font-size: 16px;
  color: #758495;
  line-height: 1.5;
}

.industries-details .listings {
  font-size: 16px;
  color: #758495;
}

.industries-details .listings li {
  padding: 2px 0 2px 12px;
}

.blue-box {
  background: #023575;
  padding: 30px;
  color: #fff;
}

.title-wht {
  font-weight: 700;
  font-family: poppins, sans-serif;
  font-size: 20px;
  margin: 0 auto 10px;
  text-transform: uppercase;
}

.blue-box {
  font-size: 16px;
  font-weight: 500;
  font-family: lato, sans-serif;
  line-height: 1.3;
}

.blue-box .circle-btn {
  background: #0099da;
}

.title.mt0 {
  margin-top: 0;
}

.left-sec {
  padding-right: 65px;
  padding-left: 10px;
  border-right: 1px solid #e5e5e5;
  margin-right: -1px;
  padding-top: 50px;
  padding-bottom: 80px;
}

.left-sec h2 {
  display: inline;
}

.right-sec {
  padding-left: 55px;
  padding-right: 5px;
  border-left: 1px solid #e5e5e5;
  padding-top: 50px;
  padding-bottom: 80px;
}

.industries-details strong {
  display: inline-block;
  width: 100%;
  margin: 10px auto 2px;
}

.industries-details .listings strong {
  display: inline;
  margin: 0 7px 0 0;
}

.blue-box .red-border {
  margin: 8px auto 12px;
  width: 70px;
}

.in-h1 {
  display: inline;
}

.menu-listing .collapse.vd {
  display: block;
}

img.full {
  max-width: 100%;
}

img.full-cross {
  position: relative;
  left: -20px;
  width: 110%;
  top: -11px;
}

.btn-contact.circle-btn,
.btn-contact.circle-btn:hover {
  padding: 0;
  background: #ef323a;
  margin: 40px auto 0 15px;
}

.btn-contact.circle-btn:after,
.btn-contact.circle-btn:before {
  top: 15px;
}

.contactform .form-group .input.error+label+.error-brdr {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  top: 0;
  height: 100%;
  border-bottom: 2px solid #ef323a;
  transition: all .3s;
}

.contactform .form-group .input.budget option,
.contactform .form-group select.input option {
  font-size: 15px;
  padding: 5px 20px;
  text-indent: 10px;
  line-height: 30px;
}

.header-wht header.logo-navbar.blnk-header.open-menu,
.header-wht header.logo-navbar.blnk-header.show-menu {
  background: 0 0;
  border: 0;
}

.consultant-ms .profile-cols {
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: -1px;
}

.mobile-development .left-img.web-dev-banner {
  position: relative;
  left: -60px;
  top: 50px;
}

.web-dev-banner img {
  max-width: 700px;
}

.mobile-development .left-img.web-dev-banner {
  position: relative;
  left: -50px;
  top: 0;
}

.web-dev-banner img {
  max-width: 800px;
}

.computer-img img {
  max-width: 100%;
  float: none;
  display: block;
  margin: 0 auto;
}

.cms-solutions-sec.section {
  padding: 150px 0 120px;
  background: #e9edf3;
}

.cms-solutions-sec .left-content {
  padding: 0 0 0 15px;
}

.banner-left-img .left-img {
  width: 100%;
}

.android-img img {
  max-width: none;
  width: 650px;
  position: relative;
  top: -120px;
  left: -65px;
}

.ecommerce-img {}

.ecommerce-img .left-img img {
  position: relative;
  left: -70px;
  top: -20px;
}

.software-img .left-img img {
  position: relative;
  left: -335px;
  top: 4px;
  max-width: 1005px;
}

.testing-banner .left-img img {
  position: relative;
  left: -110px;
  bottom: -55px;
  max-width: 1000px;
}

.web-img .left-img img {
  position: relative;
  left: -210px;
  top: 25px;
  max-width: 1005px;
}

.computer-img {
  position: relative;
  margin-top: -350px;
}

.conversation-sec .inner-box {
  height: 310px;
  color: #fff;
}

.box1 {
  background: #002958;
}

.box2,
.conversation-sec .inner-box.box2 {
  background: #e9edf3;
  color: #023575;
}

.box3,
.conversation-sec .inner-box.box3 {
  background: #002958;
}

.conversation-sec .inner-box.box2 img {
  filter: none;
}

.box4 {
  background: #0099da;
}

.box5 {
  background: #0d4388;
}

.box6,
.conversation-sec .inner-box.box6 {
  background: #0099da;
  filter: none;
}

.box7 {
  background: #0d4388;
}

.icon-sec {
  display: inline-block;
  width: 80px;
  height: 80px;
  float: left;
  margin: -12px 25px 0 15px;
}

.conversation-sec .inner-box .middle-align {
  padding: 0 60px;
  text-align: left;
}

.conversation-sec .four-row .inner-box .middle-align {
  text-align: center;
  padding: 0 20px;
}

.conversation-sec .inner-box .h3 {
  font-family: poppins, sans-serif;
  font-weight: 700;
  font-size: 30px;
  letter-spacing: -.5px;
  margin-bottom: -1px;
  text-transform: uppercase;
}

.conversation-sec .inner-box .sm-heading {
  font-size: 15px;
  text-transform: uppercase;
  font-weight: 400;
  letter-spacing: .5px;
}

.four-row {
  text-align: center;
}

.icon-sec img {
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
  max-width: 100%;
}

.conversation-sec .four-row .icon-sec {
  float: none;
  display: block;
  margin: 0 auto;
}

.conversation-sec .four-row .icon-sec img {
  max-width: 65px;
}

.conversation-sec {
  padding-top: 0;
  padding-bottom: 30px;
  text-align: center;
  position: relative;
  z-index: 1;
  float: left;
  width: 100%;
}

.web-dev-ms .conversation-sec {
  padding-bottom: 125px;
}

.conversation-sec .red-btn {
  background: #ef323a;
  margin: 120px auto 0;
  float: none;
  display: inline-block;
}

.cms-solutions-sec .red-btn {
  background: #ef323a;
}

.laptop-section .right-text {
  background: #022a5e;
  color: #fff;
  padding: 200px 50px;
}

.laptop-section .left-img {
  background: url(https://www.xicom.biz/) no-repeat center center/cover;
}

.laptop-section .h2 {
  color: #fff;
  text-transform: none;
  font-size: 50px;
  letter-spacing: -1px;
  font-weight: 700;
  margin: 5px auto 25px;
}

.laptop-section .para {
  color: #fff;
  line-height: 1.4;
  font-size: 18px;
}

.laptop-section .sm-heading {
  font-size: 35px;
  letter-spacing: -1.2px;
}

.mb-bnr {
  margin-bottom: 35px;
}

.br-btm {
  border-bottom: 1px solid #e5e5e5;
}

.cms-img img {
  position: relative;
  left: -135px;
  top: 10px;
  max-width: none;
}

.cms-solutions-sec .right-img img {
  max-width: 900px;
  position: absolute;
  right: -183px;
}

.cms-solutions-sec .right-img img {
  max-width: 900px;
  position: absolute;
  right: -183px;
}

.web-content-sec .right-img img,
.mobile-content-sec .right-img img {
  bottom: -122px;
}

.web-content-sec.section,
.mobile-content-sec.section {
  border-bottom: 1px solid #e5e5e5;
  border-top: 1px solid #e5e5e5;
  float: left;
  width: 100%;
  margin-bottom: 15px;
  padding: 130px 0 120px;
}

.mobile-content-sec .right-img img {
  max-width: 635px;
  right: -35px;
  bottom: -120px;
}

.android-mob .right-img img {
  max-width: 700px;
  right: -43px;
  bottom: -180px;
}

.wht-boxes .cols {
  border: 0 solid #e5e5e5;
  margin: 0 auto 22px;
}

.largest-company-sec .wht-boxes.cols-sec .cols {
  margin: 0 -1px -1px 0;
  padding: 35px 30px 43px;
}

.largest-company-sec .wht-boxes {
  background: #fff;
  padding: 0;
}

.quality-testing-ms .left-content {
  padding-right: 80px;
}

.section.automation-testing-sec {
  float: left;
  width: 100%;
  border-top: 1px solid #e5e5e5;
}

.software-development-sec {
  float: left;
  width: 100%;
  border-bottom: 1px solid #e5e5e5;
  border-top: 1px solid #e5e5e5;
  float: left;
  width: 100%;
  margin-bottom: 35px;
  background: #e9edf3;
}

.software-development-sec .left-img img {
  float: left;
}

.software-development-sec .content-right {
  padding: 105px 90px 90px;
  background: #022a5e;
}

.software-development-sec .content-right .h4 {
  color: #fff;
}

.software-development-sec .para {
  color: #fff;
}

.software-development-sec .circle-btn.red-btn {
  background: #ef323a;
}

.pd0 {
  padding: 0;
}

.section.development-process-sec {
  padding: 120px 0 130px;
}

.custom-mr .cols {
  height: 230px;
}

.testimonial-sec-box {
  float: left;
  width: 100%;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

.indus-sec .row {
  margin: 0 auto;
}

.testimonial-sec-box .desc-area .indus-title {
  font-family: poppins, sans-serif;
  margin: 0 auto 20px;
  color: #023575;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  transition: all .3s;
  line-height: 1.3;
}

.testimonial-sec-box .column:hover .desc-area .indus-title {
  color: #fff;
}

.testimonial-sec-box .column:hover .desc-area span.client-name {
  color: #0099da;
}

.company-name {
  display: block;
}

.client-name {
  color: #ef323a;
}

.testimonial-sec-box .row {
  margin: 0 auto;
  padding: 0 15px;
}

.section.testi-sec {
  padding: 70px 0;
}

.testi-sec .img-sec {
  margin: 0 auto;
  text-align: right;
  position: relative;
  float: right;
}

.testi-sec .img-sec img {
  float: right;
}

.testi-sec .small-heading {
  text-align: left;
}

.testi-sec .h4 {
  margin-top: 50px;
}

.largest-company-sec .augmented-right.cols-sec .cols {
  min-height: 300px;
}

.upload-resume .error-msg,
.error-div .error-msg {
  color: #ef323a;
  font-size: 15px;
}

.choose-listing li:before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  background: #758495;
  border-radius: 50%;
  vertical-align: middle;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}

.choose-listing li,
.choose-listing li a {
  position: relative;
  padding: 3px 10px;
  font-size: 17px;
  color: #758495;
  font-weight: 400;
  text-decoration: none;
}

.cust-content .choose-listing li h2 {
  font-weight: 400;
}

.choose-listing li a {
  padding: 0;
}

.co-img {
  max-width: none;
  float: left;
  padding: 5px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all .3s;
}

.half-height {
  height: 140px;
}

#macy-container {
  float: left;
  width: 100%;
}

.about-section .row>div {
  padding: 0 0;
  overflow: hidden;
}

.about-section div.row {
  margin: 0;
}

.about-section div.container-fluid.row>div {
  padding: 0 14px;
}

.about-section div.container-fluid.row>div.col-sm-7 {
  padding-right: 0;
}

.about-section div.container-fluid.row>div.col-sm-5 {
  padding-left: 0;
  padding: 0;
  padding-right: 15px;
}

.overlay {
  position: relative;
}

.overlay:before {
  position: absolute;
  content: "";
  height: auto;
  width: auto;
  top: 5px;
  bottom: 5px;
  left: 5px;
  right: 20px;
  background: rgba(0, 0, 0, .1);
}

.video-testimonials {
  float: left;
  width: 100%;
}

.video-testimonials .h4 {
  font-size: 55px;
}

.video-row {
  width: 100%;
  margin: 50px auto 15px;
  text-align: center;
}

.video-row iframe {
  display: inline-block;
  float: none;
  margin: 80px auto 0;
  border: 1px solid #e5e5e5;
  padding: 30px;
  background: #eaeef2;
}

.img-prop {
  background: url(../images/corporate/XT-13.jpg) no-repeat center center/cover;
  width: 100%;
  height: 100%;
  display: inline-block;
}

.img-colg {
  background: url(../images/corporate/XT-16.jpg) no-repeat 17% 0/auto 108%;
  width: 100%;
  height: 100%;
  display: inline-block;
}

.about-section .row>div.img-pd {
  padding: 5px;
}

.blue-container {
  position: absolute;
  z-index: 1;
  width: 300px;
  height: 280px;
  bottom: 5px;
  left: 5px;
  background: #022a5e url(../images/corporate/XT-18.jpg) no-repeat -135px center/cover;
  border-right: 10px solid #fff;
  border-top: 10px solid #fff;
}

.rating-bottom strong {
  font-weight: 400;
}

.thanks-ms .small-heading {
  font-size: 19px;
  line-height: 1.4;
  margin-bottom: 3px;
}

.section.value-proposition {
  padding: 125px 0 0;
  float: left;
  width: 100%;
  margin-bottom: -20px;
}

.value-proposition .container-fluid {
  max-width: 97%;
}

.value-proposition .column {
  height: 500px;
  position: relative;
  transition: all .5s;
  margin: 0 .75%;
  max-width: 31.8%;
}

.value-proposition .column::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.value-proposition .column::after {
  background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
  filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#66000000', GradientType=0);
}

.cols1 {
  background: url(../images/value-proposition/value-proposition-1.jpg) no-repeat 0px 0px/cover;
}

.cols2 {
  background: url(../images/value-proposition/value-proposition-2.jpg) no-repeat -50px 0px/cover;
}

.cols3 {
  background: url(../images/value-proposition/value-proposition-3.jpg) no-repeat -43px 0px/cover;
}

.hover-content {
  opacity: 0;
  position: absolute;
  z-index: 1;
  transition: all .3s;
  background: #022a5e;
  width: 100%;
  height: 100%;
  left: 0;
  bottom: 0;
  padding: 50px;
}

.value-proposition .column:hover .hover-content {
  opacity: 1;
}

.value-proposition .column .h3 {
  font-size: 28px;
  text-transform: uppercase;
  color: #fff;
  font-family: poppins, sans-serif;
  font-weight: 800;
  text-align: left;
  margin-bottom: 20px;
  color: #0099da;
}

.value-proposition .column>.h3 {
  bottom: 20px;
  left: 50px;
  position: absolute;
  z-index: 1;
  color: #fff;
}

.hover-content p {
  color: #fff;
  font-size: 17px;
  line-height: 1.5;
}

.whats-new {}

.section.whats-new {
  /*padding: 125px 0 0;
  margin-bottom: -20px;*/
  padding: 50px 0 0;
  margin-bottom: 20px;
}

.wh-col {
  height: 500px;
  background-color: #bee3ff;
  background-image: url(../images/patterns.png);
  margin: 0 .6%;
  max-width: 23.8%;
  padding: 70px 40px;
  transition: .3s;
}

.wh-col:hover {
  background: #023575;
  background-image: url(../images/patterns.png);
  color: #fff;
}

.wh-col:hover .h3 {
  /*color: #0099da;*/
  color: #56CBB9;
}

.wh-col:hover .bottom-para {
  color: #fff;
}

.wh-col:hover .blue-border {
  border-top: 2px solid #fff;
}

.wh-col.wht-col-1 {}

.wh-col.wht-col-2 {}

.wh-col.wht-col-3 {}

.wh-col.wht-col-4 {}

.wh-col .h3 {
  font-size: 28px;
  text-transform: uppercase;
  color: #023575;
  font-family: poppins, sans-serif;
  text-align: left;
  font-weight: 800;
  margin: 0 auto 20px;
  height: 50px;
  line-height: 1.1;
  letter-spacing: -.5px;
}

.bottom-para {
  color: #023575;
  font-size: 18px;
}

.whats-new .container-fluid {
  max-width: 97%;
}

.rate-us {}

.our-achivements {
  width: 100%;
  float: left;
  background: #022a5e;
  text-align: center;
  border-top: 1px solid #e5e5e5;
}

.our-achivements .col-sm-3 {
  padding: 0 41px;
  border-left: 1px solid #35557e;
}

.our-achivements .col-sm-3:first-child {
  border-left: 0;
}

.our-achivements img {
  max-width: 115px;
  margin: 0 auto 12px;
}

.awards p {
  font-size: 18px;
  text-transform: uppercase;
  color: #fff;
  line-height: 1.3;
  font-weight: 700;
  text-transform: uppercase;
  font-family: poppins, sans-serif;
}

.awrd {
  color: #0099da;
  font-size: 14px;
  margin: 12px auto 10px;
  display: inline-block;
  text-transform: uppercase;
  font-weight: 700;
  font-family: poppins, sans-serif;
}

.developers-columns,
.benifits-section {
  clear: both;
  width: 100%;
  float: left;
  margin: 60px auto 0;
}

.hire-developers-sec .h4 {
  font-size: 55px;
  letter-spacing: -2px;
  line-height: 1;
  margin: 10px auto 23px;
}

.benifits-heading {}

.developers-columns .profile-cols img {
  max-width: 50px;
}

#typed-strings,
.typed-cursor--blink,
.typed-cursor {
  display: none;
}

.banner-content h4.sub-heading.sm-font {
  margin-bottom: 23px;
}

.banner-content h4.sub-heading {
  margin-bottom: 26px;
}

.section.our-blog-sec {
  margin: 0 auto 120px;
}

.img-column img {
  height: auto;
  max-height: 100%;
  max-width: 100%;
}

.img-column {
  padding: 0;
  max-height: 498px;
  background: #b43f48;
}

.our-blog-columns .bottom-para {
  color: #758495;
}

.our-blog-sec .wh-col {
  margin: 0;
  max-width: 25%;
  border-right: 5px solid #fff;
  padding: 35px 30px;
}

.our-blog-sec .h5 {
  color: #023575;
  transition: all .05s;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  font-family: poppins, sans-serif;
}

.our-blog-sec .wh-col:hover .h5 {
  color: #fff;
}

.our-blog-columns .wh-col {
  margin: 0;
  max-width: 25%;
  border-right: 1px solid #e5e5e5;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  padding: 30px;
  background: #fff;
}

.our-blog-columns .wh-col {
  max-height: 498px;
}

.our-blog-columns .wh-col:hover {
  background: #002958;
  border-left-color: #002958;
  border-top-color: #002958;
  border-bottom-color: #002958;
  text-decoration: none;
}

.our-blog-columns {
  border-top: 1px solid #e5e5e5;
  padding: 120px 0;
}

.our-blog-columns .wh-col:first-child {
  border-left: 1px solid #e5e5e5;
}

.our-blog-columns .h5 {
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  font-family: poppins, sans-serif;
  color: #023575;
}

.our-blog-columns .h5 a {
  color: #023575;
  text-decoration: none;
}

.our-blog-columns .wh-col:hover .h5,
.our-blog-columns .wh-col:hover .h5 a {
  color: #0099da;
}

.read-more {
  font-size: 14px;
  width: 180px;
  font-weight: 600;
  text-transform: uppercase;
  font-family: poppins, sans-serif;
  color: #023575;
  float: left;
  margin: 30px auto 0;
  border: 1px solid #023575;
  padding: 10px 15px;
  border-radius: 3px;
  text-shadow: none;
  text-align: center;
  position: absolute;
  bottom: 30px;
}

.our-blog-columns .wh-col:hover .read-more,
.our-blog-sec .wh-col:hover .read-more {
  color: #fff;
  text-decoration: none;
  background: #ef323a;
  border-color: #ef323a;
}

.sm-date {
  font-size: 14px;
  margin: 0 auto 10px;
  display: inline-block;
  font-weight: 600;
  font-family: poppins, sans-serif;
  color: #ef323a;
}

.our-blog-sec .wh-col:hover .sm-date,
.our-blog-columns .wh-col:hover .sm-date {
  color: #fff;
}

.our-blog-sec .blog-title,
.our-blog-columns .blog-title {
  text-align: center;
  margin: 0 auto 40px;
}

.blog-title .sm-heading {
  font-size: 15px;
  text-transform: uppercase;
  color: #023575;
  font-family: poppins, sans-serif;
  font-weight: 600;
}

.blog-title .sm-title {
  font-size: 38px;
  text-transform: uppercase;
  font-weight: 800;
  font-family: poppins, sans-serif;
  color: #023575;
  padding-top: 2px;
  letter-spacing: -.5px;
}

.footer-logos {
  padding: 8px 0 0;
  text-align: right;
  position: relative;
  right: -70px;
  z-index: 2;
}

.footer-logos .f-logo {
  display: inline-block;
  width: 150px;
  height: 27px;
  border-right: 1px solid #35557e;
  opacity: 1;
  transition: all .3s;
}

.footer-logos .f-logo:hover {
  opacity: 1;
}

.footer-logos .cluth {
  background: url(../images/footer-logos.png) no-repeat 30px -9px;
  width: 130px;
}

.footer-logos .good-firm {
  background: url(../images/footer-logos.png) no-repeat -100px -7px;
  width: 170px;
}

.footer-logos .it-firms {
  background: url(../images/footer-logos.png) no-repeat -265px 0;
  width: 120px;
}

.wpl-postlike {
  margin: 20px auto;
}

.copyright .rating-bottom {
  font-size: 12px;
  font-family: poppins, sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  color: #fff;
}

.link,
.link:hover {
  color: #ef323a;
  text-decoration: none;
}

.link.mail {
  font-weight: 700;
}

#cookie-msg {
  position: fixed;
  bottom: 0;
  width: 100%;
  text-align: center;
  border-top: 1px solid #e5e5e5;
  z-index: 9;
  padding: 13px 50px;
  background-color: #fff;
  color: #023575;
  font-size: 11px;
  font-family: poppins, sans-serif;
  text-transform: uppercase;
  font-weight: 600;
}

.msg a.btn-aceptar {
  color: #fff;
  text-decoration: none;
  padding: 4px 11px;
  border-radius: 50px;
  background-color: #0099da;
  margin: 0 0 0 10px;
  font-family: poppins, sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0;
  display: inline-block;
}

.msg {
  line-height: normal;
}

.msg a {
  color: #0099da;
  text-decoration: none;
}

.msg a:hover {
  color: #ef323a;
  text-decoration: none;
}

.msg a.btn-aceptar:hover {
  background: #ef323a;
  color: #fff;
}

body.home_body,
body {
  padding-bottom: 0px;
}

body.home_body.cached,
body.cached {
  padding-bottom: 0;
}

.top-banner .right-form-sec {
  width: 510px;
  position: relative;
  z-index: 1;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0;
  padding: 0 90px 0 0;
}

.top-banner .right-form-sec .form-heading {
  font-size: 28px;
  margin-bottom: 1px;
  letter-spacing: -.5px;
  color: #2b3448;
}

.right-form-sec .input-box1 {
  border: 0;
  border-bottom: 1px solid #d8d8d8;
  width: 100%;
  padding: 6px 0;
  margin: 0 auto 10px;
}

.form-container input:focus+label,
.form-container textarea:focus+label,
.form-container input.valid+label,
.form-container textarea.valid+label {
  top: 0;
}

.form-container label {
  top: 0;
}

.form-container .phone-num label {
  top: 0;
}

.form-container .phone-num {
  margin-top: 15px;
}

.form-container .input-text.error,
.right-form-sec .form-container .input-text.textarea.error {
  box-shadow: none;
}

.form-container .input-text {
  color: #758495;
}

.form-container .form-group {
  margin: 0 auto 10px;
}

.form-container label {
  color: #758495;
}

.intl-tel-input.separate-dial-code .selected-dial-code,
.intl-tel-input .country-list .flag-box,
.intl-tel-input .country-list .country-name {
  color: #758495;
}

.red-btn.blue {
  background: #0099da;
}

.nav-menu-close {
  width: 40px;
  height: 30px;
  top: 30px;
  cursor: pointer;
  position: absolute;
  right: 95px;
  top: 25px;
}

.nav-menu-close span.right-ar:before,
.nav-menu-close span.right-ar:after {
  content: "";
  width: 32px;
  height: 5px;
  background: #fff;
  float: left;
  margin: 1px auto 7px;
  position: absolute;
  transition: all .3s;
  display: inline-block;
  top: 12px;
  left: 0;
  right: 0;
  opacity: 0;
}

.nav-menu-close span.right-ar:before {
  opacity: 1;
  transform: rotate(45deg);
}

.nav-menu-close span.right-ar:after {
  opacity: 1;
  transform: rotate(-45deg);
}

.contact-form-popup .contact-section {
  margin: 81px auto 80px;
  max-width: 87.7%;
}

.contact-form-popup .top-row.wht-bar {
  padding: 25px 20px 25px 0;
  margin: 0;
}

.contact-form-popup form {
  overflow: auto;
}

.contact-form-popup .contact-section .form-left {
  padding: 40px 80px;
}

.contact-form-popup .form-sec.row {
  margin: 0;
  border-left: 1px solid #d8d8d8;
}

header.show-menu .nav-menu {
  display: none;
}

.contact-form-popup .contactform .form-group .input+label,
.contact-form-popup .contactform .form-group .input.budget,
.contact-form-popup .contactform .form-group label {
  font-weight: 700;
  font-size: 17px;
  font-family: lato, sans-serif;
  font-weight: 700;
}

.contact-form-popup .btn-contact.circle-btn,
.contact-form-popup .btn-contact.circle-btn:hover {
  margin: 20px auto 5px 0;
}

.contact-form-popup .btn-contact.circle-btn {
  float: left;
}

.contact-form-popup .contactform .form-group {
  padding: 27px 30px 20px;
}

.contact-form-popup .contactform .form-group.captcha-sec {
  padding: 20px 30px 19px;
}

.contact-form-popup .contactform .form-group .input+label {
  top: 31px;
}

.contact-form-popup .contactform .form-group .input.valid+label,
.contact-form-popup .contactform .form-group .input:focus+label {
  top: 14px;
}

.contact-form-popup .contactform .form-group .input {
  font-size: 17px;
  height: 40px;
  font-family: lato, sans-serif;
}

.contact-form-popup .contactform .form-group .textarea {
  height: 120px;
  float: left;
  width: 100%;
}

.contact-form-popup .contactform .form-group .budget {
  height: 40px;
  position: relative;
  top: -3px;
  margin: 0 auto !important;
}

.contact-form-popup .contactform .form-group .input.budget {
  background: url(../images/down-arrow.png) no-repeat 95% 16px/18px;
}

.thanks-ms .contact-form-popup .small-heading {
  font-size: 15px;
}

.contact-form-popup .contact-forms .h2.sm {
  font-size: 28px;
  letter-spacing: -.5px;
}

.contact-form-popup .office-sec {
  position: relative;
  width: calc(100% + 6px);
}

.contact-form-popup.section.fadeIn.show {
  max-height: 100vh;
  overflow: auto;
  position: fixed;
  z-index: 9;
}

.home_body.cached.fixed,
body.fixed {
  overflow: hidden;
}

.contact-form-popup .navbar-header {
  padding: 8px 17px 0;
  float: left;
}

.menu-title {
  margin: 35px auto 20px 26px;
  line-height: 110px;
  letter-spacing: -10px;
  font-size: 143px;
}

.full-screen-menu .red-btn,
.full-screen-menu .red-btn:hover {
  margin: 40px auto 0 32px;
}

.office-sec .col:nth-child(1) {
  padding: 40px 4.5% 40px 4.8%;
}

.contact-form-popup.section {
  padding: 0 9px 0 0;
}

.contact-form-popup.section {
  padding: 0 9px 0 0;
}

.contactform .form-group.select-country .input+label {
  top: 37px;
}

.contactform .form-group.select-country .input.valid+label,
.contactform .form-group.select-country .input.focus+label {
  top: 14px;
}

.contact-form-popup.section .contactform .form-group.select-country .input+label {
  top: 29px;
}

.contact-form-popup .contactform .form-group.select-country .input.valid+label,
.contact-form-popup .contactform .form-group.select-country .input:focus+label {
  top: 11px;
}

.form-gorup {
  display: none;
}

.live-chat .blue-btn {
  cursor: pointer;
}

.chat-box {
  box-shadow: 0 12px 24px 0 rgba(0, 0, 0, .1);
  background: #fff;
  width: 325px;
  height: 400px;
  border-radius: 10px;
  overflow: hidden;
  position: absolute;
  bottom: 50px;
  right: 0;
  opacity: 0;
  transition: all .3s;
  visibility: hidden;
}

.chat-box.show {
  opacity: 1;
  bottom: 5px;
  visibility: visible;
}

.top-blue {
  background: #023575;
  padding: 20px;
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .2);
  color: #fff;
  font-family: poppins, sans-serif;
  float: left;
  width: 100%;
}

.top-blue h4 {
  font-weight: 700;
  line-height: 12px;
  font-family: poppins, sans-serif;
  text-transform: uppercase;
  margin-top: 13px;
  font-size: 14px;
}

.top-blue small {
  font-size: 13px;
  line-height: 18px;
  margin-top: 4px;
  font-family: roboto, lato, sans-serif;
}

.img-profile {
  width: 52px;
  height: 52px;
  position: relative;
  left: 0;
  background: url(../images/img-profile.jpg) no-repeat center center/cover;
  border-radius: 50%;
  float: left;
  margin: 0 15px 0 0;
}

.img-profile:before {
  content: '';
  bottom: 0;
  right: 0;
  width: 12px;
  height: 12px;
  box-sizing: border-box;
  background-color: #4ad504;
  position: absolute;
  z-index: 1;
  border-radius: 50%;
  border: 2px solid #023575;
}

.middle-chat,
.middle-form .form-sec {
  background: #e6ddd4;
  padding: 29px 0 32px 20px;
  float: left;
  width: 100%;
  position: relative;
  overflow: hidden;
}

/*
.middle-chat:before,
.middle-form .form-sec:before {
  display: block;
  position: absolute;
  content: '';
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
  opacity: .08;
  background: url(../images/whatsapp.png);
}
*/

.bottom-popup {
  float: left;
  width: 100%;
}

.chat-sec {
  padding: 7px 14px 6px;
  background-color: #fff;
  border-radius: 0 8px 8px 8px;
  position: relative;
  transition: .3s ease all;
  z-index: 2;
  box-shadow: 0 1px .5px rgba(0, 0, 0, .13);
  margin-top: 4px;
  max-width: calc(100% - 66px);
  left: 15px;
}

.chat-sec::before {
  content: "";
  display: inline-block;
  position: absolute;
  background: url(../images/chat-arrow.png) no-repeat top right/contain;
  left: -15px;
  top: 0;
  width: 15px;
  height: 20px;
}

.chat-sec h5 {
  font-size: 13px;
  font-weight: 700;
  line-height: 25px;
  font-family: poppins, sans-serif;
}

.chat-sec p {
  font-size: 14px;
  line-height: 19px;
  margin-top: 4px;
  color: #111;
}

.chat-sec span {
  text-align: right;
  margin-top: 4px;
  font-size: 12px;
  line-height: 16px;
  color: rgba(17, 17, 17, .5);
  width: 100%;
  display: inline-block;
}

.wts-btn,
.submit-btn {
  padding: 12px 20px 10px;
  border-radius: 5px;
  border: medium;
  background: #56CBB9 none repeat scroll 0% 0%;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  justify-content: center;
  align-items: center;
  margin: 25px 28px;
  display: block;
  overflow: hidden;
  text-align: center;
  text-decoration: none;
  font-family: poppins, sans-serif;
}

.wts-btn:hover {
  color: #fff;
  text-decoration: none;
}

.cross-chat {
  width: 15px;
  height: 15px;
  position: absolute;
  right: 10px;
  top: 20px;
  cursor: pointer;
  z-index: 9;
}

.cross-chat:before,
.cross-chat:after {
  content: '';
  position: absolute;
  width: 12px;
  height: 2px;
  background-color: rgba(255, 255, 255, .8);
  display: block;
  border-radius: 2px;
  transition: all .5s;
}

.cross-chat:before {
  transform: rotate(45deg);
}

.cross-chat:after {
  transform: rotate(-45deg);
}

.cross-chat:hover:before,
.cross-chat:hover:after {
  background: #fff;
}

.top-row .pd0 {
  padding-left: 5px;
}

.hide-chat .live-chat,
.hide-chat .chat-box.show {
  display: none;
}

.text-form-ms.live-chat {
  z-index: 9;
}

.text-form-ms .chat-box {
  height: auto;
  box-shadow: 0 12px 24px 0 rgba(0, 0, 0, .2);
  bottom: -50px;
}

.text-form-ms .chat-box.show {
  bottom: 5px;
}

.middle-form {
  padding: 0 0 20px;
}

.text-form-ms .form-sec {
  padding: 22px 25px 15px;
  float: left;
  width: 100%;
  max-height: 360px;
  overflow: auto;
}

.text-form-ms .text-box,
.text-form-ms .text-msg {
  width: 100%;
  float: left;
  border: 1px solid #d0d0d0;
  height: 35px;
  border-radius: 5px;
  padding: 8px 10px;
  position: relative;
  z-index: 1;
  background: #fff;
  color: #111;
  font-size: 13px;
}

.text-form-ms .text-msg {
  height: 80px;
  resize: none;
}

.text-form-ms .form-group label {
  position: absolute;
  top: 9px;
  left: 10px;
  font-size: 14px;
  color: #666;
  z-index: 1;
  transition: all .2s;
}

.text-form-ms .form-group {
  position: relative;
  float: left;
  width: 100%;
  margin-bottom: 8px;
}

.text-form-ms .submit-btn {
  width: calc(100% - 50px);
  margin: 21px 25px 22px;
  text-transform: uppercase;
  cursor: pointer;
}

.sm-txt {
  text-align: center;
  font-size: 13px;
  padding: 12px 25px;
  display: inline-block;
  color: #111;
  background: #fff;
  line-height: 1.4;
}

.text-form-ms .text-box:focus+label,
.text-form-ms .text-box.valid+label,
.text-form-ms .text-msg:focus+label,
.text-form-ms .text-msg.valid+label {
  top: -18px;
  left: 0;
  font-size: 11px;
}

.text-form-ms .text-box.error,
.text-form-ms .text-msg.error {
  box-shadow: none;
  outline: 0;
  color: #ef323a;
}

.text-form-ms .text-box::-webkit-input-placeholder,
.text-form-ms .text-msg::-webkit-input-placeholder {
  color: rgba(17, 17, 17, .8);
}

.text-form-ms .text-box::-moz-placeholder,
.text-form-ms .text-msg::-moz-placeholder {
  color: rgba(17, 17, 17, .8);
}

.text-form-ms .text-box:-ms-input-placeholder,
.text-form-ms .text-msg:-ms-input-placeholder {
  color: rgba(17, 17, 17, .8);
}

.text-form-ms .text-box:-moz-placeholder,
.text-form-ms .text-msg:-moz-placeholder {
  color: rgba(17, 17, 17, .8);
}

.text-form-ms .text-box.error::-webkit-input-placeholder,
.text-form-ms .text-msg.error::-webkit-input-placeholder {
  color: #ef323a;
  opacity: 1;
}

.text-form-ms .text-box.error::-moz-placeholder,
.text-form-ms .text-msg.error::-moz-placeholder {
  color: #ef323a;
  opacity: 1;
}

.text-form-ms .text-box.error:-ms-input-placeholder,
.text-form-ms .text-msg.error:-ms-input-placeholder {
  color: #ef323a;
  opacity: 1;
}

.text-form-ms .text-box.error:-moz-placeholder,
.text-form-ms .text-msg.error:-moz-placeholder {
  color: #ef323a;
  opacity: 1;
}

.thanks-ms .text-form-ms {
  display: none;
}

.chat-box .form-sec .captcha {
  float: left;
  width: 100%;
  overflow: hidden;
}

.chat-box .form-sec .g-recaptcha {
  text-align: center;
  padding: 0;
}

.chat-box .form-sec .g-recaptcha>div {
  float: none;
  display: block;
  margin: 0 auto 0;
  max-width: 100%;
  width: 100% !important;
}

.chat-box .form-sec .g-recaptcha iframe {
  transform: scale(.91);
  left: -14px;
  position: relative;
  top: -2px;
}

.text-form-ms .form-sec {
  max-height: 372px;
}

.red-color {
  color: #ef323a;
}


@media screen and (max-width: 420px) and (min-width: 380px) {
  img.lt-img {
    left: -20px !important;
    max-width: 100%;
    height: auto;
  }
}

.new_mwnu a {
  position: relative;
}

.new_mwnu .split1 {
  display: inline-block;
  position: absolute;
  right: 15px;
  top: 15px;
  width: 25px;
  height: 25px;


}

.new_mwnu .split1 i {
  font-size: 12px;
  color: #726cf4 !important;
  text-align: center;
}

.split1 {
  position: absolute;
  right: 0;
  text-align: right;
}

.new_mwnu .dropdown-menu {
  width: 250px;
  color: #334155 !important;
  z-index: 100;
  position: absolute;
  left: 100%;
  top: 0;
  margin-left: 6px;
  display: none;
  background: rgba(255, 255, 255, 0.97) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: opacity 0.22s ease, transform 0.22s ease;
  border-radius: 12px !important;
  border: 1px solid rgba(114, 108, 244, 0.16) !important;
  border-top: 2px solid #726cf4 !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12) !important;
  padding: 6px 0 !important;
}

.new_mwnu .dropdown-menu ul li a {
  border: none !important;
  color: #334155 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  padding: 10px 16px !important;
  display: block !important;
  text-decoration: none !important;
  transition: color 0.2s ease, background 0.2s ease, padding-left 0.2s ease !important;
}

.new_mwnu .dropdown-menu ul li a:hover,
.new_mwnu .dropdown-menu ul li a.active {
  color: #726cf4 !important;
  background: #f6f5ff !important;
  padding-left: 20px !important;
}

.new_mwnu:hover .dropdown-menu {
  display: block !important;
}

.bxopen {
  display: block !important;
}

.sml_text {
  letter-spacing: 1px;
  font-size: 18px;
  letter-spacing: 1px;
  /* background: #ff7a91; */
  padding: 4px 10px;
  border-radius: 16px;
  font-size: 15px;
  color: #fff;
  font-family: poppins, sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  background: #834d9b;
  background: -webkit-linear-gradient(to right, #d04ed6, #834d9b);
  background: linear-gradient(to right, #d04ed6, #834d9b);
  margin-bottom: 15px;
}

.blinktext {}

.blinking {
  animation: blinkingText 1.2s infinite;
}

@keyframes blinkingText {
  0% {
    color: #f19bf6;
  }

  49% {
    color: #fff;
  }

  60% {
    color: #f19bf6;
  }

  99% {
    color: #fff;
  }

  100% {
    color: #f19bf6;
  }
}

.page_content {
  width: 100%;
  position: relative;

}

.page_container_white {

  background-color: #fff;

}

.hsgroup {
  padding-top: 20px;
}

.medical_billing_bx {
  width: 100%;
  float: left;
  overflow: hidden;
}

.medical-services-item {
  position: relative;
  margin-bottom: 70px;
  width: 100%;

}

.medical-services-item .service__figure {
  position: relative;
}

.medical-services-item .hover__figure {
  overflow: hidden;
  position: relative;
}

.medical-services-item .hover__figure img {
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  -ms-transition: all .3s ease-out;
  -o-transition: all .3s ease-out;
  transition: all .3s ease-out;
  max-width: 100%;
  height: 300px;
}

.medical_billing_bx:hover .hover__figure img {
  transform: scale(1.1);
}

.medical_billing_bx:hover .icon-round {
  background-color: #56cbb9;
}

.medical-services-item .hover__figure:after {
  background: rgba(255, 255, 255, 0.4);
  content: "";
  height: 100%;
  left: -150%;
  position: absolute;
  top: 0;
  transition: none 0s ease 0s;
  width: 100%;
  transform: rotate(0deg) scale(1.003) skew(14deg) translate(0px);
  -webkit-transform: rotate(360deg) scale(1.003) skew(14deg) translate(0px);
  -moz-transform: rotate(0deg) scale(1.003) skew(14deg) translate(0px);
  -o-transform: rotate(0deg) scale(1.003) skew(14deg) translate(0px);
  -ms-transform: rotate(0deg) scale(1.003) skew(14deg) translate(0px);
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  -ms-transition: all .3s ease-out;
  -o-transition: all .3s ease-out;
  transition: all .3s ease-out;
}

.medical-services-item .icon-round {
  position: absolute;
  right: 20px;
  bottom: -32px;
  display: inline-block;
  box-shadow: 0 0 0 3px #fff;
}

.medical-services-item .icon-round .icon {
  vertical-align: middle;
  font-size: 33px;
}

.medical-services-item .ui-title-inner {
  margin-top: 15px;
  color: #023575;
  margin-top: 37px;
  font-weight: 600;
  margin-bottom: 10px;
}

.medical-services-item .ui-text {
  font-size: 400 !important;
  color: #333;
}

.medical-services-item .btn_small {
  margin-top: 18px;
  padding: 14px 25px 11px;
  font: 400 11px 'Raleway', sans-serif;
  color: #363636;
  border: 1px solid #56cbb9;
  transition: all 0.3s;
}

.medical-services-item .btn_small:hover {
  background-color: #56cbb9;
  color: #fff;
  border-color: #56cbb9;
}

.medical-services-item .icon-round {
  position: absolute;
  right: 20px;
  bottom: -18px;
  display: inline-block;
  box-shadow: 0 0 0 3px #fff;
  color: #fff;
  vertical-align: middle;
  border-radius: 50%;
  background-color: #2986e2;
  transition: all 0.3s;
  text-align: center;
}

.medical-services-item .icon-round_small {
  width: 64px;
  height: 64px
}

.medical-services-item .hover__figure {
  overflow: hidden;
  position: relative;
  height: 255px;
}

.medical-services-item:hover .hover__figure:after {
  left: -50%;
}

.medical-services-item .serv_icon {
  width: 100%;
  position: relative;
}

.medical-services-item .icon-round_small img {
  width: 28px;
  position: relative;
  top: 16px
}

.mbs15 {
  padding: 15px;
}

.mbs_heading {
  font-size: 18px;
  font-weight: 600;
  color: #023575;
}

.mbs .close {
  padding: 0px 7px;
  position: relative;
  top: -2px
}

.softlogo_bg {
  width: 100%;
  float: left;
  background-color: #f3f3f3;
}

.softare_bxmb {
  padding: 18px;
  width: 100%;
  float: left;
}

.soft_logo {
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;

}

.soft_logo li {
  display: inline-block;
  padding: 15px;
}

.soft_logo li img {
  transition: .3s transform cubic-bezier(.155, 1.105, .295, 1.12), .3s;
  box-shadow: 0 6px 10px rgba(0, 0, 0, .08), 0 0 6px rgba(0, 0, 0, .05);
}

.soft_logo li:hover img {
  transform: scale(1.1);
  box-shadow: 0 10px 20px rgba(0, 0, 0, .12), 0 4px 8px rgba(0, 0, 0, .06);
}

.active {
  color: #726cf4 !important;
}

.nohitatu-mobile-menu .main-link {
  color: #fff;
  font-size: 29px;
  text-transform: uppercase;
  font-family: poppins, sans-serif;
  font-weight: 700;
  padding: 10px 0;
  width: 100%;
  display: inline-block;
  text-decoration: none;
  background: none;
  border: none;
  transition: 0.2s;
  transition-timing-function: ease-in;
  transition-timing-function: ease-out;
}

.nohitatu-mobile-menu .main-link:hover {
  padding-left: 15px;
}

.nohitatu-mobile-menu .sublink {
  background: none;
  border: none;
  transition: 0.2s;
  transition-timing-function: ease-in;
  transition-timing-function: ease-out;
  text-transform: capitalize;

}

.nohitatu-mobile-menu .inner-sub-menus li a {
  text-transform: capitalize;
  font-size: 14px !important;
}

.nohitatu-mobile-menu .sublink:hover {
  padding-left: 15px;
}

.side-navigation .panel .show {
  color: #726cf4 !important;
}

.submenu-ti-icon .submenu-ti-icon {
  font-size: 10px;
}

.menu-ti-icons {
  font-size: 13px;
  padding-left: 5px;
}

@media only screen and (max-width: 768px) {
  .nohitatu-mobile-menu .sublink {
    font-size: 16px;
  }

  .nohitatu-mobile-menu .main-link {
    font-size: 20px;
  }

  .side-navigation li a,
  .side-navigation li .menu-link {
    font-size: 16px !important;
  }
}



/*Chat Style*/

.innermsg_chatbx {
  width: 100%;
}

.innermsg_chatbx .chat_bubble {
  display: block;
}

.innermsg_chatbx .chat_bubble span {
  display: inline-block;
  padding: 10px;
  margin-bottom: 5px;
  border-radius: 15px;
}

.innermsg_chatbx span {
  background-color: #585858;
}

.innermsg_chatbx span p {
  color: #f9fbff;
  font-size: 14px;
  line-height: 1.4;
}

.chatmsgin {
  text-align: left;
}

.chatmsgout {
  text-align: right;
}

.innermsg_chatbx .chat_bubble span .chat_time {
  font-size: 10px;
  margin-top: 10px;
  font-weight: 200;
}

.chatmsgout span {
  background-color: #56cbb9;
}

.chat_time .chat_footer {
  display: flex;
}

.chat_footer .msg {
  flex-grow: 1;
}

.chat_footer input {
  font-size: 14px;
}

.chat_footer input,
.chat_footer button {
  padding: 15px;
  border: 0;
  outline: 0;
}

.chat_footer button {
  background-color: transparent;
  cursor: pointer;
}

.chat_footer button:hover {
  color: #023575;
}

/*
.chatbx_scroll::-webkit-scrollbar {
    width: 5px;
}

.chatbx_scroll::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.chatbx_scroll::-webkit-scrollbar-thumb {
    background: #888;
}

    .chatbx_scroll::-webkit-scrollbar-thumb:hover {
        background: #023575;
    }
*/

.chat_footer {
  float: none !important;
  display: flex;
}

.chatbx_scroll {
  position: relative;
}

.chatbx_scroll::before {
  display: block;
  position: absolute;
  content: '';
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
  opacity: .08;
  height: 100vh;
  background-repeat: repeat-y;
  background: url(../images/whatsapp.png);
}


.isologo_Img {
  width: 110px;
  height: 90px;
  padding-top: 10px;
}

.whats_app {
  position: fixed;
  right: 5px;
  bottom: 10px;
  z-index: 1;
  padding: 0px;
  -ms-transition: all 0.4s;
  transition: all 0.4s;
}

.hiring_animate {
  animation: tada 1.5s ease infinite;
}

@keyframes tada {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    -webkit-transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -10deg);
    transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -10deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
    transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.centered-sec {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 16px;
}

.centered-sec p {
  text-align: center;
}

.centered-sec .line {
  background-color: #1c1c1c;
  height: 4px;
  width: 42%;
  border-radius: 4px;
  margin: 6px 0px;
}

.centered-sec h6 {
  font-size: 20px;
  font-weight: 600;
}

.left-sec {
  padding-bottom: 50px;
}

.inner-container {
  padding: 60px !important;
  margin: 0px;
  border-radius: 32px;
}


ul.listings,
ol.listings {
  padding-left: 32px !important;
  margin-bottom: 12px !important;
}

ul.listings li::before,
ol.listings li::before {
  display: none;
}

ul.listings li {
  padding: 0px !important;
  list-style-type: disc;
}

ol.listings li {
  padding: 0px !important;
  padding-left: 6px !important;
  list-style-type: decimal;
}

ol.listings.wid-50 {
  display: flex;
  flex-wrap: wrap;
  column-gap: 32px;
  margin-bottom: 12px;
}

ol.listings.wid-50 li {
  width: 46%;
}

ol.inner-listing li {
  list-style-type: disc;
}

.wid-50 ol.inner-listing {
  display: flex;
  flex-wrap: wrap;
  column-gap: 32px;
  margin-bottom: 12px;
}

.wid-50 li ol.inner-listing li {
  width: 46%;
}

@media screen and (max-width: 1280px) {
  .wid-50 li ol.inner-listing li {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .inner-container {
    padding: 24px !important;
    margin: 0px 12px 24px !important;
  }

  ol.listings.wid-50 li {
    width: 100%;
    margin-bottom: 12px;
  }
}

/* ==========================================================================
   Landing Page — Flat, No-Glow Treatment
   ========================================================================== */
.landing-page *,
.landing-page *::before,
.landing-page *::after {
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Higher specificity for navigation rules that already use !important. */
body.landing-page #navigation .sub-menu,
body.landing-page #navigation .dropdown-menu {
  box-shadow: none !important;
}

/* Remove decorative light blooms and animated shine effects. */
.landing-page .site-footer .inner-footer {
  background: #022a5e !important;
}

.landing-page .site-footer .inner-footer::after {
  display: none !important;
}

.landing-page .site-footer .inner-footer::before,
.landing-page .rotator-card .card-accent-bar {
  animation: none !important;
  background-position: 0 0 !important;
}

.landing-page .ms-certified-badge::before {
  display: none !important;
}

.landing-page .footer-status-dot,
.landing-page .eyebrow-dot,
.landing-page .pulse-cyan-dot {
  animation: none !important;
}

.landing-page .command-grid-overlay {
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px) !important;
  background-size: 40px 40px !important;
}

/* Homepage service cards — Sway-inspired four-card grid */
.landing-page .luxury-features-sec {
  background: #fff;
  padding: 92px 0 108px;
}

.landing-page .card-rotator-wrapper {
  max-width: 1180px;
  margin: 54px auto 0;
  padding: 12px 8px 18px;
  overflow: visible;
}

.landing-page .card-rotator-track {
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  overflow: visible;
  border-radius: 0;
}

.landing-page .rotator-card,
.landing-page .rotator-card.active,
.landing-page .rotator-card.slide-left-out,
.landing-page .rotator-card.slide-right-out {
  position: relative;
  inset: auto;
  width: auto;
  min-height: 340px;
  padding: 40px 26px 34px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border: 0;
  border-radius: 3px;
  background: #fff;
  opacity: 1;
  visibility: visible;
  transform: none !important;
  pointer-events: auto;
  overflow: hidden;
  transition: transform 220ms ease, box-shadow 220ms ease;
  box-shadow: 0 15px 38px rgba(49, 46, 75, 0.1) !important;
}

.landing-page .rotator-card:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 22px 44px rgba(49, 46, 75, 0.14) !important;
}

.landing-page .rotator-card .card-accent-bar {
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: #726cf4 !important;
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left center;
  transition: opacity 220ms ease, transform 280ms ease;
}

.landing-page .rotator-card:hover .card-accent-bar,
.landing-page .rotator-card:focus-within .card-accent-bar {
  opacity: 1;
  transform: scaleX(1);
}

.landing-page .rotator-card .card-top-row {
  margin: 0 0 25px;
}

.landing-page .rotator-card .card-icon-badge,
.landing-page .rotator-card.active .card-icon-badge {
  width: 52px;
  height: 52px;
  margin: 0 auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  animation: none;
  box-shadow: none !important;
}

/* These use the *-violet art, already painted in the accent colour with the
   backdrop blob stripped out, so hover only needs to bring it to full strength. */
.landing-page .rotator-card .card-icon-badge img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  opacity: 0.72;
  transition: opacity 220ms ease, transform 220ms ease;
}

.landing-page .rotator-card:hover .card-icon-badge img,
.landing-page .rotator-card:focus-within .card-icon-badge img {
  opacity: 1;
  transform: scale(1.08);
}

.landing-page .rotator-card .card-title,
.landing-page .rotator-card.active .card-title {
  min-height: 54px;
  margin: 0 0 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #3e3a54;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;
  animation: none;
}

.landing-page .rotator-card .card-para,
.landing-page .rotator-card.active .card-para {
  max-width: 240px;
  margin: 0 auto 24px;
  color: #6b6874;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
  animation: none;
}

.landing-page .rotator-card .card-footer-row {
  margin-top: auto;
}

.landing-page .rotator-card .card-pill-btn,
.landing-page .rotator-card.active .card-pill-btn {
  padding: 5px 0;
  gap: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #7872f5 !important;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  animation: none;
  box-shadow: none !important;
}

.landing-page .rotator-card .card-pill-btn:hover {
  background: transparent;
  color: #5f58dc !important;
  transform: none;
  box-shadow: none !important;
}

.landing-page .rotator-card .card-pill-btn svg,
.landing-page .rotator-controls {
  display: none;
}

@media (max-width: 1050px) {
  .landing-page .card-rotator-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .landing-page .luxury-features-sec {
    padding: 68px 0 78px;
  }

  .landing-page .card-rotator-wrapper {
    margin-top: 36px;
    padding-inline: 0;
  }

  .landing-page .card-rotator-track {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .landing-page .rotator-card,
  .landing-page .rotator-card.active {
    min-height: 310px;
    padding: 34px 24px 31px;
  }
}

/* Auto-hide the fixed navigation while moving down the page. */
header.logo-navbar {
  transition: transform 0.34s ease, background 0.3s, box-shadow 0.3s, border-color 0.3s !important;
  will-change: transform;
}

header.logo-navbar.nav-panel-hidden {
  transform: translateY(-110%) !important;
}

.mobile-nav-trigger,
.mobile-nav {
  display: none;
}

@media (max-width: 767px) {
  header.logo-navbar .header-container {
    padding: 0 10px !important;
  }

  header.logo-navbar .header-row {
    min-height: 44px;
  }

  header.logo-navbar .header-logo {
    left: 4px !important;
  }

  header.logo-navbar #slidemenu,
  header.logo-navbar .navbar-toggle.cross,
  header.logo-navbar .navbar-toggle.nav-menu.cross,
  .full-screen-menu.section {
    display: none !important;
  }

  header.logo-navbar .mobile-nav-trigger {
    position: absolute;
    top: 50%;
    right: 6px;
    z-index: 60;
    display: flex;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    transform: translateY(-50%);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
  }

  header.logo-navbar .mobile-nav-trigger span {
    display: block;
    width: 26px;
    height: 2px;
    border-radius: 2px;
    background: #fff;
    transition: transform 0.28s ease, opacity 0.2s ease, width 0.28s ease;
  }

  header.logo-navbar.white-header .mobile-nav-trigger span {
    background: #10233f;
  }

  header.logo-navbar .mobile-nav-trigger span:last-child {
    width: 17px;
  }

  header.logo-navbar .mobile-nav-trigger.is-active span:first-child {
    transform: translateY(8px) rotate(45deg);
  }

  header.logo-navbar .mobile-nav-trigger.is-active span:nth-child(2) {
    opacity: 0;
  }

  header.logo-navbar .mobile-nav-trigger.is-active span:last-child {
    width: 26px;
    transform: translateY(-8px) rotate(-45deg);
  }

  /* Full-screen editorial mobile menu — matches site navy + violet language. */
  .mobile-nav {
    position: fixed;
    inset: 0;
    z-index: 99998;
    display: block;
  }

  .mobile-nav[hidden] {
    display: none;
  }

  .mobile-nav__backdrop {
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at 12% 18%, rgba(114, 108, 244, 0.18), transparent 42%),
      radial-gradient(circle at 88% 82%, rgba(79, 143, 247, 0.12), transparent 38%),
      #061526;
    opacity: 0;
    transition: opacity 0.35s ease;
  }

  .mobile-nav.is-open .mobile-nav__backdrop {
    opacity: 1;
  }

  .mobile-nav__panel {
    position: absolute;
    inset: 0;
    display: flex;
    width: 100%;
    max-width: none;
    padding: 18px 24px 34px;
    background: transparent;
    box-shadow: none;
    flex-direction: column;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transform: none;
    opacity: 0;
    transition: opacity 0.32s ease;
  }

  .mobile-nav.is-open .mobile-nav__panel {
    opacity: 1;
  }

  .mobile-nav__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0 10px;
    border-bottom: 0;
  }

  .mobile-nav__logo {
    width: 126px;
    height: auto;
  }

  .mobile-nav__close {
    position: relative;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    cursor: pointer;
  }

  .mobile-nav__close span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 1.5px;
    background: rgba(255, 255, 255, 0.92);
  }

  .mobile-nav__close span:first-child {
    transform: translate(-50%, -50%) rotate(45deg);
  }

  .mobile-nav__close span:last-child {
    transform: translate(-50%, -50%) rotate(-45deg);
  }

  .mobile-nav__kicker {
    margin: 28px 0 18px;
    color: rgba(255, 255, 255, 0.48);
    font-family: "Plus Jakarta Sans", poppins, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
  }

  .mobile-nav__list {
    display: flex;
    padding: 0;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 2px;
  }

  .mobile-nav__group {
    border-bottom: 0;
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.4s ease, transform 0.4s ease;
  }

  .mobile-nav.is-open .mobile-nav__group {
    opacity: 1;
    transform: translateY(0);
  }

  .mobile-nav.is-open .mobile-nav__group:nth-child(1) { transition-delay: 0.04s; }
  .mobile-nav.is-open .mobile-nav__group:nth-child(2) { transition-delay: 0.08s; }
  .mobile-nav.is-open .mobile-nav__group:nth-child(3) { transition-delay: 0.12s; }
  .mobile-nav.is-open .mobile-nav__group:nth-child(4) { transition-delay: 0.16s; }
  .mobile-nav.is-open .mobile-nav__group:nth-child(5) { transition-delay: 0.2s; }
  .mobile-nav.is-open .mobile-nav__group:nth-child(6) { transition-delay: 0.24s; }
  .mobile-nav.is-open .mobile-nav__group:nth-child(7) { transition-delay: 0.28s; }

  .mobile-nav__link {
    display: flex;
    width: 100%;
    padding: 13px 0;
    border: 0;
    background: transparent;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: #fff;
    font-family: "Plus Jakarta Sans", poppins, sans-serif;
    font-size: clamp(1.55rem, 7.2vw, 2rem);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.15;
    text-align: left;
    text-transform: none;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.22s ease, transform 0.22s ease;
  }

  .mobile-nav__link:hover,
  .mobile-nav__link[aria-current="page"],
  .mobile-nav__group.is-open > .mobile-nav__link {
    padding-left: 0;
    color: #726cf4;
    transform: translateX(4px);
  }

  .mobile-nav__chevron {
    width: 9px;
    height: 9px;
    flex: 0 0 auto;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    opacity: 0.55;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.28s ease, opacity 0.22s ease;
  }

  .mobile-nav__group.is-open .mobile-nav__chevron {
    opacity: 1;
    transform: rotate(225deg) translateY(-2px);
  }

  .mobile-nav__sublist {
    display: grid;
    max-height: 0;
    overflow: hidden;
    gap: 2px;
    padding-left: 2px;
    transition: max-height 0.34s ease, opacity 0.3s ease, padding 0.3s ease;
    opacity: 0;
  }

  .mobile-nav__group.is-open .mobile-nav__sublist {
    max-height: 420px;
    padding: 2px 0 14px;
    opacity: 1;
  }

  .mobile-nav__sublist a {
    padding: 8px 0 8px 14px;
    border-left: 2px solid rgba(114, 108, 244, 0.4);
    color: rgba(255, 255, 255, 0.72);
    font-family: "Plus Jakarta Sans", poppins, sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-decoration: none;
    text-transform: none;
    transition: color 0.22s ease, border-color 0.22s ease, padding-left 0.22s ease;
  }

  .mobile-nav__sublist a:hover {
    border-color: #726cf4;
    padding-left: 18px;
    color: #fff;
  }

  .mobile-nav__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    margin-top: 28px;
    padding: 14px 22px;
    border-radius: 0;
    background: #726cf4;
    color: #fff;
    font-family: "Plus Jakarta Sans", poppins, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-align: center;
    text-transform: none;
    text-decoration: none;
    transition: background 0.22s ease, transform 0.22s ease;
  }

  .mobile-nav__cta:hover {
    background: #5f58dc;
    transform: translateY(-1px);
  }
}

/* Sway-style CTA overlap and fixed footer reveal */
body.footer-reveal-page {
  --footer-reveal-height: 0px;
}

.footer-reveal-content {
  position: relative;
  z-index: 10;
  overflow: visible !important;
  background: #fff;
}

.footer-reveal-cta {
  position: relative;
  z-index: 12;
  margin: 0 0 -150px;
  padding: 0 24px;
}

.footer-reveal-cta::before {
  content: "";
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: auto;
  height: 150px;
  background: #022a5e;
  pointer-events: none;
}

.footer-reveal-shell {
  position: relative;
  z-index: 1;
  width: min(1240px, 100%);
  margin: 0 auto;
}

.footer-reveal-cta .estimate-panel {
  position: relative;
  display: flex;
  min-height: 230px;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  overflow: hidden;
  padding: 52px 70px;
  border: 1px solid #e2dff4;
  border-radius: 30px;
  background: #f3f1ff;
  color: #39364e;
}

.footer-reveal-cta .estimate-panel::before,
.footer-reveal-cta .estimate-panel::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  border: 1px solid #d8d5ff;
  border-radius: 50%;
  pointer-events: none;
}

.footer-reveal-cta .estimate-panel::before {
  top: -92px;
  right: -12px;
}

.footer-reveal-cta .estimate-panel::after {
  right: -42px;
  bottom: -112px;
}

.footer-reveal-cta .estimate-copy {
  position: relative;
  z-index: 1;
  max-width: 760px;
}

.footer-reveal-cta .estimate-copy > span {
  display: block;
  margin-bottom: 8px;
  color: #726cf4;
  font: 700 12px/1.4 "Plus Jakarta Sans", sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.footer-reveal-cta .estimate-copy h2 {
  max-width: 760px;
  margin: 0;
  color: #39364e;
  font: 700 clamp(30px, 3.1vw, 48px)/1.08 "Plus Jakarta Sans", sans-serif;
  letter-spacing: -0.045em;
}

.footer-reveal-cta .estimate-button {
  position: relative;
  z-index: 1;
  display: inline-flex;
  min-width: 206px;
  min-height: 54px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 22px;
  border: 1px solid #726cf4;
  border-radius: 5px;
  background: #726cf4;
  color: #fff;
  font: 700 12px/1 "Plus Jakarta Sans", sans-serif;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.footer-reveal-cta .estimate-button:hover {
  border-color: #5f58dc;
  background: #5f58dc;
  color: #fff;
  transform: translateY(-2px);
}

body.footer-reveal-page .site-footer .inner-footer {
  padding-top: 185px;
}

@media (min-width: 821px) {
  body.footer-reveal-ready .footer-reveal-content {
    margin-bottom: calc(100vh + 150px);
  }

  body.footer-reveal-ready > .site-footer {
    position: fixed;
    z-index: 1;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    margin: 0;
    opacity: 1 !important;
    transform: none !important;
  }

  body.landing-page.footer-reveal-ready > .site-footer {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }

  body.landing-page.footer-reveal-ready > .site-footer .inner-footer,
  body.landing-page.footer-reveal-ready > .site-footer .bottom-footer {
    width: 100%;
  }
}

@media (max-width: 820px) {
  .footer-reveal-cta {
    margin-bottom: -72px;
    padding-inline: 18px;
  }

  .footer-reveal-cta::before {
    height: 72px;
  }

  .footer-reveal-cta .estimate-panel {
    min-height: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
    padding: 42px 32px;
    border-radius: 22px;
  }

  .footer-reveal-cta .estimate-copy h2 {
    font-size: clamp(28px, 7vw, 38px);
  }

  body.footer-reveal-page .site-footer .inner-footer {
    padding-top: 135px;
  }
}

@media (max-width: 520px) {
  .footer-reveal-cta .estimate-button {
    width: 100%;
  }
}

/* Dark footer matching the copyright bar */
.site-footer,
.site-footer .inner-footer,
.site-footer .bottom-footer {
  background: #022a5e !important;
}

.site-footer .inner-footer {
  border-top-color: rgba(255, 255, 255, 0.16);
}

.site-footer .inner-footer::before,
.site-footer .inner-footer::after {
  display: none;
}

.site-footer .footer-heading,
.site-footer .footer-heading-accent,
.site-footer .footer-office-label span,
.site-footer .footer-phone,
.site-footer .footer-phone:hover {
  color: #fff !important;
}

.site-footer .footer-phone-role,
.site-footer .footer-phone:hover .footer-phone-role {
  color: rgba(255, 255, 255, 0.72) !important;
}

.site-footer .footer-heading {
  border-bottom-color: rgba(255, 255, 255, 0.18);
}

.site-footer .footer-heading::after,
.site-footer .footer-heading-accent::after {
  background: #fff;
}

.site-footer .footer-office p,
.site-footer .footer-contact-lead,
.site-footer .footer-contact-meta a,
.site-footer .footernav li a,
.site-footer .footernav li a:hover {
  color: rgba(255, 255, 255, 0.76) !important;
}

.site-footer .footernav li a::after {
  background: #fff;
}

.site-footer .footer-office-skyline,
.site-footer .footer-office:hover .footer-office-skyline {
  color: rgba(255, 255, 255, 0.62);
}

.site-footer .footer-office:hover {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

.site-footer .footer-contact {
  border-left-color: rgba(255, 255, 255, 0.18);
}

.site-footer .footer-trust-item {
  border-color: rgba(255, 255, 255, 0.32);
  background: #fff;
  backdrop-filter: none;
}

.site-footer .footer-trust-item:hover {
  border-color: #fff;
  box-shadow: none;
}

.site-footer .bottom-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.site-footer .footer-copy-sep {
  background: #fff;
}

/* ============================================================
   Prodapt-inspired homepage chapters (.landing-page)
   ============================================================ */
.landing-page .nh-shell {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.landing-page .nh-geo {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(135deg, transparent 48%, rgba(114, 108, 244, 0.28) 48.2%, rgba(114, 108, 244, 0.28) 48.6%, transparent 48.8%),
    linear-gradient(45deg, transparent 62%, rgba(255, 255, 255, 0.18) 62.2%, rgba(255, 255, 255, 0.18) 62.5%, transparent 62.7%),
    repeating-linear-gradient(90deg, transparent 0 96px, rgba(255, 255, 255, 0.08) 96px 97px),
    repeating-linear-gradient(0deg, transparent 0 96px, rgba(255, 255, 255, 0.08) 96px 97px);
  opacity: 0.55;
}

.landing-page .nh-geo--light {
  background:
    linear-gradient(135deg, transparent 48%, rgba(255, 255, 255, 0.45) 48.2%, rgba(255, 255, 255, 0.45) 48.6%, transparent 48.8%),
    linear-gradient(45deg, transparent 62%, rgba(255, 255, 255, 0.28) 62.2%, rgba(255, 255, 255, 0.28) 62.5%, transparent 62.7%),
    repeating-linear-gradient(90deg, transparent 0 110px, rgba(255, 255, 255, 0.18) 110px 111px),
    repeating-linear-gradient(0deg, transparent 0 110px, rgba(255, 255, 255, 0.18) 110px 111px);
  opacity: 0.7;
}

.landing-page .nh-text-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #726cf4;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
}

.landing-page .nh-text-link:hover {
  color: #5f58dc;
}

.landing-page .nh-solid-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 28px;
  padding: 15px 24px;
  background: #726cf4;
  color: #fff;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.22s ease, transform 0.22s ease;
}

.landing-page .nh-solid-btn:hover {
  background: #5f58dc;
  color: #fff;
  transform: translateY(-1px);
}

/* Story band — cascading curtains (hero → build → scale → automate) */
.landing-page .nh-story-band {
  position: relative;
  height: 430vh;
  margin: 0;
  padding: 0;
  background: #0b1a2d;
  z-index: 1;
}

.landing-page .nh-story-slide {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100dvh;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #0b1a2d;
  will-change: transform;
  backface-visibility: hidden;
  box-sizing: border-box;
}

.landing-page .nh-story-slide--build { z-index: 30; }
.landing-page .nh-story-slide--scale { z-index: 20; }
.landing-page .nh-story-slide--automate { z-index: 10; }

.landing-page .nh-story-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.landing-page .nh-story-bg--photo::after {
  content: "";
  position: absolute;
  inset: 0;
}

/* Soft darken for type legibility only — no blue/violet wash on scale & automate */
.landing-page .nh-story-bg--build {
  filter: brightness(0.58) saturate(0.95);
}

.landing-page .nh-story-bg--build::after {
  background: linear-gradient(180deg, rgba(11, 26, 45, 0.28) 0%, rgba(11, 26, 45, 0.5) 100%);
}

.landing-page .nh-story-bg--scale {
  filter: brightness(0.62) saturate(1);
}

.landing-page .nh-story-bg--scale::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.48) 100%);
}

.landing-page .nh-story-bg--automate {
  filter: brightness(0.68) saturate(1);
}

.landing-page .nh-story-bg--automate::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.22) 0%, rgba(0, 0, 0, 0.42) 100%);
}

.landing-page .nh-geo--story {
  z-index: 2;
  opacity: 0.22;
}

.landing-page .nh-story-copy-stack {
  position: relative;
  z-index: 3;
  width: min(920px, calc(100% - 56px));
  text-align: center;
  color: #fff;
}

.landing-page .nh-story-lead {
  margin: 0 0 0.15em;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: clamp(1.15rem, 2.2vw, 1.65rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

.landing-page .nh-story-word {
  display: block;
  margin: 0.05em 0 0.18em;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: clamp(4.2rem, 12.5vw, 9.5rem);
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.9;
  text-transform: lowercase;
}

.landing-page .nh-story-trail {
  display: block;
  max-width: 34em;
  margin: 0 auto;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: clamp(1.05rem, 2vw, 1.45rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.45;
  opacity: 0.92;
}

.landing-page .nh-story-progress {
  position: fixed;
  left: 50%;
  bottom: 28px;
  z-index: 40;
  width: min(220px, 40vw);
  height: 2px;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.28);
  overflow: hidden;
  pointer-events: none;
}

.landing-page .nh-story-progress span {
  display: block;
  width: 0;
  height: 100%;
  background: #fff;
}

/* WebGL depth layer — rides above the curtains, masked clear of the headline.
   Sits inside the band (z-index 1) so the hero at z-index 50 still covers it. */
.landing-page .nh-story-3d {
  position: fixed;
  inset: 0;
  z-index: 35;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.5s ease;
  -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 48%, rgba(0, 0, 0, 0.45) 62%, #000 76%);
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 48%, rgba(0, 0, 0, 0.45) 62%, #000 76%);
}

.landing-page .nh-story-3d.is-live {
  opacity: 1;
}

.landing-page .nh-story-3d-canvas {
  display: block;
  width: 100%;
  height: 100%;
}

/* Services — same fixed-pin scrub pattern (above story when it takes over) */
.landing-page .nh-services-band {
  position: relative;
  height: 440vh;
  margin: 0;
  padding: 0;
  background: #fff;
  z-index: 10;
}

.landing-page .nh-services-sticky {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100vh;
  height: 100dvh;
  width: 100%;
  display: flex;
  align-items: center;
  background: #fff;
  z-index: 10;
  box-sizing: border-box;
}

.landing-page .nh-services-sticky.is-after {
  min-height: 0;
}

.landing-page .nh-services-shell {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 72px;
  align-items: start;
}

.landing-page .nh-services-nav {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-top: 12px;
}

.landing-page .nh-services-nav-item {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(16, 35, 63, 0.34);
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-align: left;
  cursor: pointer;
  transition: color 0.22s ease;
}

.landing-page .nh-services-nav-item span {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  opacity: 0.7;
}

.landing-page .nh-services-nav-item.is-active {
  color: #726cf4;
}

.landing-page .nh-services-nav-item:hover {
  color: #10233f;
}

.landing-page .nh-services-stage {
  position: relative;
  min-height: 320px;
}

.landing-page .nh-services-kicker {
  margin: 0 0 22px;
  color: #726cf4;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.landing-page .nh-services-panels {
  position: relative;
  min-height: 280px;
}

.landing-page .nh-services-panel {
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.landing-page .nh-services-panel.is-active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  z-index: 1;
}

.landing-page .nh-services-panel h2 {
  margin: 0 0 18px;
  color: #726cf4;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: clamp(2.1rem, 4.6vw, 3.55rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.landing-page .nh-services-panel p {
  max-width: 540px;
  margin: 0 0 24px;
  color: #4b5568;
  font-size: 16px;
  line-height: 1.7;
}

/* Featured tiles */
.landing-page .nh-featured-sec {
  margin-top: 0;
  padding: 56px 0 108px;
  background:
    radial-gradient(ellipse 70% 55% at 12% 0%, rgba(114, 108, 244, 0.07), transparent 55%),
    radial-gradient(ellipse 55% 45% at 92% 100%, rgba(0, 242, 254, 0.05), transparent 50%),
    #fff;
}

.landing-page .nh-featured-head,
.landing-page .nh-insights-head,
.landing-page .nh-cases-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 36px;
}

.landing-page .nh-featured-head h2,
.landing-page .nh-insights-head h2,
.landing-page .nh-cases-head h2,
.landing-page .nh-consult-copy h2,
.landing-page .nh-proof-copy h2 {
  margin: 0;
  color: #10233f;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.1;
}

.landing-page .nh-featured-all span {
  display: inline-block;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.landing-page .nh-featured-all:hover span {
  transform: translateX(4px);
}

.landing-page .nh-featured-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.landing-page .nh-featured-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 248px;
  padding: 28px 26px 26px;
  border: 1px solid rgba(16, 35, 63, 0.1);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px -24px rgba(16, 35, 63, 0.35);
  color: inherit;
  text-decoration: none !important;
  cursor: pointer;
  overflow: hidden;
  transition:
    border-color 0.28s ease,
    transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.35s ease;
}

.landing-page .nh-featured-tile,
.landing-page .nh-featured-tile:hover,
.landing-page .nh-featured-tile:focus,
.landing-page .nh-featured-tile:visited,
.landing-page .nh-featured-tile h3,
.landing-page .nh-featured-tile p,
.landing-page .nh-featured-tile .nh-featured-index,
.landing-page .nh-featured-tile .nh-featured-cue {
  text-decoration: none !important;
}

.landing-page .nh-featured-tile::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #726cf4, #5f58dc 55%, rgba(0, 242, 254, 0.7));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 2;
}

.landing-page .nh-featured-tile:hover,
.landing-page .nh-featured-tile:focus-visible {
  border-color: rgba(114, 108, 244, 0.55);
  transform: translateY(-6px);
  box-shadow: 0 22px 48px -24px rgba(114, 108, 244, 0.45);
  outline: none;
}

.landing-page .nh-featured-tile:hover::before,
.landing-page .nh-featured-tile:focus-visible::before {
  transform: scaleX(1);
}

.landing-page .nh-featured-tile:active {
  transform: translateY(-2px) scale(0.985);
}

.landing-page .nh-featured-index {
  display: block;
  margin: 0 0 18px;
  color: #726cf4;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1;
}

.landing-page .nh-featured-tile h3 {
  margin: 0 0 12px;
  color: #10233f;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.25;
  text-decoration: none !important;
}

.landing-page .nh-featured-tile p {
  margin: 0;
  flex: 1 1 auto;
  color: #667085;
  font-size: 14px;
  line-height: 1.65;
  text-decoration: none !important;
}

.landing-page .nh-featured-cue {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 22px;
  color: #726cf4;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  opacity: 0.72;
  transition: opacity 0.28s ease, transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.landing-page .nh-featured-cue em {
  font-style: normal;
  display: inline-block;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.landing-page .nh-featured-tile:hover .nh-featured-cue,
.landing-page .nh-featured-tile:focus-visible .nh-featured-cue {
  opacity: 1;
  transform: translateX(2px);
}

.landing-page .nh-featured-tile:hover .nh-featured-cue em,
.landing-page .nh-featured-tile:focus-visible .nh-featured-cue em {
  transform: translateX(4px);
}

/* Same treatment as the blog quote band: the photo is anchored to the viewport
   and this section is a shorter window that scans across it while scrolling.
   Nothing here may create a containing block (no transform/filter/will-change),
   or the browser silently downgrades background-attachment: fixed. */
.landing-page .nh-case-banner {
  position: relative;
  min-height: 58vh;
  display: grid;
  place-items: center;
  padding: clamp(92px, 12vw, 150px) 24px;
  /* No overflow:hidden — it makes this a scroll container, which is what makes
     Chromium ignore background-attachment: fixed. The blog band has none either. */
  background-image:
    linear-gradient(rgba(7, 18, 31, 0.7), rgba(7, 18, 31, 0.7)),
    url("../images/success-story-thumbs-up.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.landing-page .nh-case-banner .nh-geo--light {
  z-index: 0;
  opacity: 0.18;
}

.landing-page .nh-case-banner-inner {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100% - 48px));
  color: #fff;
}

/* Keep the copy clear of the subject on the right of the photo. */
.landing-page .nh-case-banner-inner h2 {
  max-width: 620px;
}

/* On short screens, trim the padding so the section stays a window rather than
   growing taller than the photo it is revealing. */
@media (max-height: 760px) {
  .landing-page .nh-case-banner {
    min-height: 0;
    padding: 64px 24px;
  }
}

.landing-page .nh-case-banner-kicker,
.landing-page .nh-logo-kicker,
.landing-page .nh-proof-kicker,
.landing-page .nh-insight-meta,
.landing-page .nh-case-body span {
  display: inline-block;
  margin: 0 0 14px;
  color: #726cf4;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.landing-page .nh-case-banner-kicker,
.landing-page .nh-proof-kicker {
  color: rgba(255, 255, 255, 0.78);
}

.landing-page .nh-case-banner-inner h2 {
  margin: 0 0 18px;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.08;
}

.landing-page .nh-case-banner-inner p {
  max-width: 560px;
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 16px;
  line-height: 1.7;
}

/* Logo strip — continuous marquee carousel */
.landing-page .nh-logo-strip {
  padding: 58px 0 62px;
  background: #fff;
}

.landing-page .nh-logo-carousel {
  position: relative;
  overflow: hidden;
  /* Feather both edges so logos glide in and out instead of cutting off. */
  padding: 6px 0;
  mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
}

.landing-page .nh-logo-track {
  display: flex;
  width: max-content;
  align-items: center;
  animation: nh-logo-marquee 38s linear infinite;
}

.landing-page .nh-logo-carousel:hover .nh-logo-track,
.landing-page .nh-logo-carousel:focus-within .nh-logo-track {
  animation-play-state: paused;
}

.landing-page .nh-logo-group {
  display: flex;
  align-items: center;
  gap: 56px;
  padding-right: 56px;
}

.landing-page .nh-logo-group img {
  flex: 0 0 auto;
  width: 152px;
  max-height: 60px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.72;
  transition: filter 0.25s ease, opacity 0.25s ease;
}

.landing-page .nh-logo-group img:hover {
  filter: grayscale(0);
  opacity: 1;
}

@keyframes nh-logo-marquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

/* Proof */
/* Same anchored-photo treatment as the case banner: nothing here may create a
   containing block (no overflow/transform/filter/will-change) or Chromium
   silently downgrades background-attachment: fixed. */
.landing-page .nh-proof-sec {
  position: relative;
  padding: 110px 0;
  background-image:
    linear-gradient(rgba(2, 26, 58, 0.7), rgba(2, 26, 58, 0.7)),
    url("../images/global-trust-parallax.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-color: #022a5e;
  color: #fff;
}

/* The photo carries the detail, so the grid overlay only whispers here. */
.landing-page .nh-proof-sec .nh-geo {
  opacity: 0.18;
}

.landing-page .nh-proof-sec .nh-shell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 56px;
  align-items: center;
}

.landing-page .nh-proof-copy h2,
.landing-page .nh-proof-copy p {
  color: #fff;
}

.landing-page .nh-proof-copy p {
  max-width: 460px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 16px;
  line-height: 1.7;
}

.landing-page .nh-proof-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 24px;
}

.landing-page .nh-proof-number {
  margin-bottom: 8px;
  color: #fff;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: clamp(2.4rem, 5vw, 3.6rem);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 1;
}

.landing-page .nh-proof-metric > span {
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Insights */
.landing-page .nh-insights-sec {
  padding: 96px 0 100px;
  background: #f7f8fc;
}

.landing-page .nh-insights-kicker {
  margin: 0 0 10px;
  color: #726cf4;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Editorial layout: one tall featured story beside three compact rows. */
.landing-page .nh-insights-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr);
  gap: 20px;
}

.landing-page .nh-insight-card {
  position: relative;
  display: flex;
  overflow: hidden;
  border: 1px solid rgba(16, 35, 63, 0.09);
  border-radius: 14px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.landing-page .nh-insight-card:hover {
  border-color: rgba(114, 108, 244, 0.55);
  transform: translateY(-4px);
  box-shadow: 0 20px 42px -24px rgba(16, 35, 63, 0.5);
}

.landing-page .nh-insight-card h3 {
  margin: 0 0 12px;
  color: #10233f;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.25;
}

.landing-page .nh-insight-card p {
  margin: 0;
  color: #667085;
  font-size: 14px;
  line-height: 1.65;
}

.landing-page .nh-insight-thumb {
  position: relative;
  display: block;
  overflow: hidden;
  background: #0b1a2d;
}

.landing-page .nh-insight-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.55s ease;
}

.landing-page .nh-insight-card:hover .nh-insight-thumb img {
  transform: scale(1.06);
}

.landing-page .nh-insight-chip {
  position: absolute;
  left: 16px;
  bottom: 14px;
  padding: 7px 13px;
  border-radius: 999px;
  background: rgba(114, 108, 244, 0.94);
  color: #fff;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.landing-page .nh-insight-date {
  display: block;
  margin: 0 0 10px;
  color: #726cf4;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Featured story */
.landing-page .nh-insight-card--lead {
  grid-column: 1;
  grid-row: 1 / span 3;
  flex-direction: column;
}

.landing-page .nh-insight-card--lead .nh-insight-thumb {
  aspect-ratio: 16 / 9;
  width: 100%;
}

.landing-page .nh-insight-card--lead .nh-insight-body {
  display: block;
  padding: 26px 28px 30px;
}

.landing-page .nh-insight-card--lead h3 {
  font-size: 26px;
}

.landing-page .nh-insight-cue {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  color: #726cf4;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: 13px;
  font-weight: 700;
}

.landing-page .nh-insight-cue em {
  font-style: normal;
  transition: transform 0.25s ease;
}

.landing-page .nh-insight-card--lead:hover .nh-insight-cue em {
  transform: translateX(5px);
}

/* Compact rows */
.landing-page .nh-insight-card--row {
  grid-column: 2;
  align-items: center;
  gap: 18px;
  padding: 16px;
}

.landing-page .nh-insight-card--row .nh-insight-thumb {
  flex: 0 0 96px;
  width: 96px;
  height: 96px;
  border-radius: 10px;
}

.landing-page .nh-insight-card--row .nh-insight-body {
  display: block;
  min-width: 0;
}

.landing-page .nh-insight-card--row h3 {
  margin: 0;
  font-size: 17px;
}

/* Consultation */
.landing-page .nh-consult-sec {
  padding: 100px 0;
  background: #fff;
}

.landing-page .nh-consult-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 56px;
  /* Stretch so the timeline can match the left column's height and
     distribute its three steps evenly across that space. */
  align-items: stretch;
}

.landing-page .nh-consult-copy p {
  max-width: 520px;
  margin: 18px 0 0;
  color: #4b5568;
  font-size: 16px;
  line-height: 1.7;
}

.landing-page .nh-consult-copy .nh-solid-btn {
  margin-top: 28px;
}

/* Timeline: numbered nodes joined by a vertical connector. */
.landing-page .nh-consult-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  /* Equal-height rows fill the column, so node-to-node spacing stays identical
     even when one step's copy wraps more than another. */
  display: grid;
  height: 100%;
  grid-auto-rows: 1fr;
  row-gap: 38px;
  align-content: stretch;
}

.landing-page .nh-consult-steps li {
  position: relative;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  column-gap: 22px;
  align-content: start;
}

/* Drives the stagger below; keeps every delay derived from one formula. */
.landing-page .nh-consult-steps li:nth-child(1) { --nh-step-i: 0; }
.landing-page .nh-consult-steps li:nth-child(2) { --nh-step-i: 1; }
.landing-page .nh-consult-steps li:nth-child(3) { --nh-step-i: 2; }

/* Spans exactly the row gap so it meets the ring of the node above and below.
   The nodes are outlined rather than solid now, so there is no white halo to
   hide an overlap behind - the line has to stop at the circle, not under it. */
.landing-page .nh-consult-steps li:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 46px;
  bottom: -38px;
  left: 22px;
  width: 2px;
  background: linear-gradient(180deg, #726cf4 0%, rgba(114, 108, 244, 0.35) 100%);
}

/* Scroll reveal. The pre-animation state is scoped to .is-armed, which only JS
   adds, so the steps stay visible when scripting or IntersectionObserver is out. */
/* The marker restates its hover transitions here: this shorthand replaces the
   base rule's, and hover must not inherit the reveal's stagger delay. */
.landing-page .nh-consult-steps.is-armed .nh-step-marker {
  transition:
    opacity 0.5s ease calc(var(--nh-step-i, 0) * 0.16s),
    transform 0.6s cubic-bezier(0.34, 1.4, 0.64, 1) calc(var(--nh-step-i, 0) * 0.16s),
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease,
    box-shadow 0.25s ease;
}

.landing-page .nh-consult-steps.is-armed .nh-step-body {
  transition:
    opacity 0.5s ease calc(var(--nh-step-i, 0) * 0.16s + 0.09s),
    transform 0.6s cubic-bezier(0.34, 1.4, 0.64, 1) calc(var(--nh-step-i, 0) * 0.16s + 0.09s);
}

.landing-page .nh-consult-steps.is-armed li:not(:last-child)::before {
  transform: scaleY(0);
  transform-origin: top center;
  transition: transform 0.5s ease-out calc(var(--nh-step-i, 0) * 0.16s + 0.24s);
}

.landing-page .nh-consult-steps.is-armed .nh-step-marker {
  opacity: 0;
  transform: scale(0.5);
}

.landing-page .nh-consult-steps.is-armed .nh-step-body {
  opacity: 0;
  transform: translateY(16px);
}

.landing-page .nh-consult-steps.is-revealed .nh-step-marker,
.landing-page .nh-consult-steps.is-revealed .nh-step-body {
  opacity: 1;
  transform: none;
}

.landing-page .nh-consult-steps.is-revealed li:not(:last-child)::before {
  transform: scaleY(1);
}

/* Outlined node: white fill, violet ring and numeral. Solid colours rather than
   a gradient so the fill can actually animate on hover. */
.landing-page .nh-consult-steps .nh-step-marker {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 46px;
  height: 46px;
  border: 2px solid #726cf4;
  border-radius: 50%;
  background-color: #fff;
  color: #726cf4;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: 14px;
  font-weight: 800;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease,
    box-shadow 0.25s ease;
}

/* Hovering anywhere on the row lights the node - the circle alone is too small
   a target to ask for. */
.landing-page .nh-consult-steps li:hover .nh-step-marker {
  background-color: #726cf4;
  border-color: #726cf4;
  box-shadow: 0 10px 22px -10px rgba(114, 108, 244, 0.85);
  color: #fff;
}

.landing-page .nh-consult-steps h3 {
  margin: 11px 0 8px;
  color: #10233f;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: 18px;
  font-weight: 700;
  transition: color 0.25s ease;
}

.landing-page .nh-consult-steps li:hover h3 {
  color: #726cf4;
}

.landing-page .nh-consult-steps p {
  margin: 0;
  color: #667085;
  font-size: 14px;
  line-height: 1.65;
}

/* Cases */
.landing-page .nh-cases-sec {
  padding: 40px 0 120px;
  background: #fff;
}

.landing-page .nh-cases-head {
  flex-direction: column;
  align-items: flex-start;
}

.landing-page .nh-cases-head p,
.landing-page .nh-cases-head .nh-cases-lead {
  max-width: none !important;
  width: max-content;
  margin: 14px 0 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.7;
  white-space: nowrap !important;
}

@media (max-width: 720px) {
  .landing-page .nh-cases-head p,
  .landing-page .nh-cases-head .nh-cases-lead {
    width: auto;
    white-space: normal !important;
  }
}

.landing-page .nh-cases-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.landing-page .nh-case-card {
  border: 1px solid rgba(16, 35, 63, 0.1);
  background: #fff;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

/* The cards are presentational, not links, so the whole tile is the hover
   target. focus-within keeps the treatment if a link is ever nested inside. */
.landing-page .nh-case-card:hover,
.landing-page .nh-case-card:focus-within {
  transform: translateY(-6px);
  border-color: rgba(114, 108, 244, 0.55);
  box-shadow: 0 22px 40px -18px rgba(114, 108, 244, 0.45);
}

/* The mockup artwork is portrait (256x343) with the client wordmark baked into
   the lower third, so the frame tracks the source ratio and the image is
   contained: a landscape crop would slice the branding off. */
.landing-page .nh-case-card figure {
  position: relative;
  margin: 0;
  aspect-ratio: 256 / 343;
  overflow: hidden;
  background: #eef1f7;
}

/* Brand rule that draws across under the artwork on hover. */
.landing-page .nh-case-card figure::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #726cf4, #5f58dc);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.landing-page .nh-case-card:hover figure::after,
.landing-page .nh-case-card:focus-within figure::after {
  transform: scaleX(1);
}

.landing-page .nh-case-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.35s ease;
}

/* Mild zoom only: the frame matches the artwork ratio, so anything stronger
   would start eating into the wordmark baked into the mockup. */
.landing-page .nh-case-card:hover img,
.landing-page .nh-case-card:focus-within img {
  transform: scale(1.04);
}

.landing-page .nh-case-body {
  padding: 20px 18px 24px;
}

.landing-page .nh-case-body span {
  transition: color 0.25s ease;
}

.landing-page .nh-case-card:hover .nh-case-body span,
.landing-page .nh-case-card:focus-within .nh-case-body span {
  color: #726cf4;
}

.landing-page .nh-case-body h3 {
  margin: 0 0 10px;
  color: #10233f;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  transition: color 0.25s ease;
}

.landing-page .nh-case-card:hover .nh-case-body h3,
.landing-page .nh-case-card:focus-within .nh-case-body h3 {
  color: #726cf4;
}

.landing-page .nh-case-body p {
  margin: 0;
  color: #667085;
  font-size: 13.5px;
  line-height: 1.6;
}

.landing-page .nh-case-card {
  cursor: pointer;
}

.landing-page .nh-case-card:focus-visible {
  outline: 2px solid #726cf4;
  outline-offset: 3px;
}

/* Case study product popup */
.nh-case-modal {
  position: fixed;
  inset: 0;
  z-index: 100050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(7, 31, 67, 0.58);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 240ms ease, visibility 240ms ease;
}

.nh-case-modal.is-open {
  opacity: 1;
  visibility: visible;
}

.nh-case-modal__dialog {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  width: min(920px, 100%);
  max-height: min(88vh, 640px);
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(114, 108, 244, 0.22);
  background: #fff;
  box-shadow: 0 28px 70px rgba(7, 31, 67, 0.28);
  transform: translateY(14px) scale(0.98);
  transition: transform 280ms cubic-bezier(.2,.8,.2,1);
}

.nh-case-modal.is-open .nh-case-modal__dialog {
  transform: none;
}

.nh-case-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: rgba(16, 35, 63, 0.08);
  color: #10233f;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.nh-case-modal__close:hover,
.nh-case-modal__close:focus-visible {
  background: #726cf4;
  color: #fff;
  outline: none;
}

.nh-case-modal__media {
  background: #eef1f7;
  min-height: 280px;
}

.nh-case-modal__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #eef1f7;
}

.nh-case-modal__content {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 36px 40px 32px;
  overflow: auto;
}

.nh-case-modal__meta {
  margin: 0;
  color: #726cf4;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nh-case-modal__title {
  margin: 0;
  color: #10233f;
  font-family: "Plus Jakarta Sans", poppins, sans-serif;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.2;
}

.nh-case-modal__tags {
  margin: 0;
  color: #667085;
  font-size: 13px;
}

.nh-case-modal__desc {
  margin: 4px 0 0;
  color: #4a5568;
  font-size: 15px;
  line-height: 1.7;
}

.nh-case-modal__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 18px;
  margin-top: auto;
  padding-top: 18px;
}

.nh-case-modal__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  border-radius: 999px;
  background: #726cf4;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
}

.nh-case-modal__cta:hover {
  background: #5f58dc;
}

.nh-case-modal__secondary {
  color: #726cf4 !important;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
}

.nh-case-modal__secondary:hover {
  text-decoration: underline !important;
}

@media (max-width: 800px) {
  .nh-case-modal__dialog {
    grid-template-columns: 1fr;
    max-height: min(92vh, 760px);
  }

  .nh-case-modal__media {
    min-height: 200px;
    max-height: 240px;
  }

  .nh-case-modal__content {
    padding: 24px 22px 28px;
  }
}

body.nh-case-modal-open {
  overflow: hidden;
}

/* Scroll-in entrance. The pre-animation state lives on .is-armed, which JS only
   adds when it can observe the grid, so the cards stay visible without it. */
.landing-page .nh-cases-grid .nh-case-card:nth-child(1) { --nh-case-i: 0; }
.landing-page .nh-cases-grid .nh-case-card:nth-child(2) { --nh-case-i: 1; }
.landing-page .nh-cases-grid .nh-case-card:nth-child(3) { --nh-case-i: 2; }
.landing-page .nh-cases-grid .nh-case-card:nth-child(4) { --nh-case-i: 3; }

.landing-page .nh-cases-grid.is-armed .nh-case-card {
  opacity: 0;
  transform: translateY(28px) scale(0.985);
  transition:
    opacity 0.55s ease calc(var(--nh-case-i, 0) * 0.11s),
    transform 0.62s cubic-bezier(0.22, 1, 0.36, 1) calc(var(--nh-case-i, 0) * 0.11s),
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

.landing-page .nh-cases-grid.is-revealed .nh-case-card {
  opacity: 1;
  transform: none;
}

/* Hover still wins while the entrance is settling. */
.landing-page .nh-cases-grid.is-revealed .nh-case-card:hover,
.landing-page .nh-cases-grid.is-revealed .nh-case-card:focus-within {
  transform: translateY(-6px);
}

@media (max-width: 991px) {
  .landing-page .nh-story-band,
  .landing-page .nh-services-band {
    height: auto !important;
  }

  .landing-page .nh-story-band {
    display: flex;
    flex-direction: column;
  }

  .landing-page .nh-story-slide,
  .landing-page .nh-services-sticky {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    height: auto;
    width: 100%;
    z-index: auto !important;
  }

  .landing-page .nh-story-slide {
    min-height: 100vh;
    min-height: 100dvh;
    display: grid;
    place-items: center;
  }

  .landing-page .nh-story-progress,
  .landing-page .nh-story-3d {
    display: none;
  }

  .landing-page .nh-story-bg--scale::after,
  .landing-page .nh-story-bg--automate::after,
  .landing-page .nh-story-bg--build::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.52));
  }

  .landing-page .nh-story-word {
    font-size: clamp(3.4rem, 18vw, 5.5rem);
  }

  .landing-page .nh-services-shell,
  .landing-page .nh-proof-sec .nh-shell,
  .landing-page .nh-consult-grid,
  .landing-page .nh-insights-grid,
  .landing-page .nh-cases-grid {
    grid-template-columns: 1fr;
  }

  .landing-page .nh-featured-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .landing-page .nh-insight-card--lead,
  .landing-page .nh-insight-card--row {
    grid-column: 1;
    grid-row: auto;
  }

  .landing-page .nh-services-nav,
  .landing-page .nh-services-kicker {
    display: none;
  }

  .landing-page .nh-services-panels {
    min-height: 0;
  }

  .landing-page .nh-services-panel {
    position: relative;
    inset: auto;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto;
    padding: 28px 0 36px;
    border-top: 1px solid rgba(16, 35, 63, 0.08);
  }

  .landing-page .nh-featured-head,
  .landing-page .nh-insights-head {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 650px) {
  .landing-page .nh-shell {
    width: min(100% - 30px, 1180px);
  }

  .landing-page .nh-featured-grid {
    grid-template-columns: 1fr;
  }

  .landing-page .nh-logo-group {
    gap: 38px;
    padding-right: 38px;
  }

  .landing-page .nh-consult-steps {
    row-gap: 30px;
  }

  .landing-page .nh-consult-steps li {
    grid-template-columns: 38px minmax(0, 1fr);
    column-gap: 16px;
  }

  .landing-page .nh-consult-steps li:not(:last-child)::before {
    top: 38px;
    bottom: -30px;
    left: 18px;
  }

  .landing-page .nh-consult-steps .nh-step-marker {
    width: 38px;
    height: 38px;
    font-size: 13px;
  }

  .landing-page .nh-consult-steps h3 {
    margin-top: 7px;
  }

  .landing-page .nh-insight-card--row .nh-insight-thumb {
    flex: 0 0 76px;
    width: 76px;
    height: 76px;
  }

  .landing-page .nh-insight-card--row h3 {
    font-size: 15px;
  }

  .landing-page .nh-logo-group img {
    width: 112px;
    max-height: 42px;
  }

  .landing-page .nh-proof-metrics {
    grid-template-columns: 1fr 1fr;
  }

  .landing-page .nh-case-banner {
    min-height: 70vh;
    padding: 72px 20px;
  }

  /* Mobile browsers scale a fixed background to the whole viewport, which crops
     the globe badly, so the photo travels with the section here instead. */
  .landing-page .nh-proof-sec {
    padding: 78px 0;
    background-attachment: scroll;
  }
}

/* Portrait thumbnails get unwieldy in a full-width single column, so the case
   grid pairs up and stays capped rather than dropping straight to one column. */
@media (max-width: 991px) {
  .landing-page .nh-cases-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 760px;
  }
}

@media (max-width: 560px) {
  .landing-page .nh-cases-grid {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
  }

  .landing-page .nh-case-card {
    width: 100%;
    max-width: 340px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .landing-page .nh-story-bg,
  .landing-page .nh-story-slide,
  .landing-page .nh-services-panel,
  .landing-page .nh-story-progress span,
  .landing-page .nh-featured-tile,
  .landing-page .nh-insight-card,
  .landing-page .nh-insight-thumb img,
  .landing-page .nh-insight-cue em,
  .landing-page .nh-solid-btn {
    transition: none !important;
  }

  /* Depth layer holds a single static frame instead of scrubbing. */
  .landing-page .nh-story-3d {
    transition: none !important;
  }

  /* Show the timeline outright instead of animating it in. */
  .landing-page .nh-consult-steps.is-armed .nh-step-marker,
  .landing-page .nh-consult-steps.is-armed .nh-step-body,
  .landing-page .nh-consult-steps.is-armed li:not(:last-child)::before {
    opacity: 1;
    transform: none;
    transition: none;
  }

  /* Case cards: keep the colour cues, drop the movement. */
  .landing-page .nh-case-card,
  .landing-page .nh-case-card img,
  .landing-page .nh-case-card figure::after {
    transition: none !important;
  }

  .landing-page .nh-case-card:hover,
  .landing-page .nh-case-card:focus-within,
  .landing-page .nh-case-card:hover img,
  .landing-page .nh-case-card:focus-within img,
  .landing-page .nh-cases-grid.is-revealed .nh-case-card:hover,
  .landing-page .nh-cases-grid.is-revealed .nh-case-card:focus-within {
    transform: none;
  }

  .landing-page .nh-cases-grid.is-armed .nh-case-card {
    opacity: 1;
    transform: none;
    transition: none;
  }

  /* The client marquee is requested behaviour, so it keeps running here rather
     than degrading to a horizontally scrollable list. */
}

/* story geometry disabled � photo + copy only */
.landing-page .nh-geo--story,
.landing-page .nh-story-3d,
.landing-page .nh-story-3d-canvas {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
/* ==========================================================================
   Sticky banner curtain (Careers-style)
   Full-bleed sticky banner; opaque panel scrolls over it via stacking.
   Mid-page dual curtains (Careers life) may also use --nh-curtain-pull.
   ========================================================================== */
html:has(.nh-curtain-stack),
body:has(.nh-curtain-stack) {
  overflow-x: visible !important;
}

body:has(.nh-curtain-stack) #wrapper {
  overflow-x: visible !important;
  overflow: visible !important;
}

.nh-curtain-stack {
  position: relative;
  z-index: 1;
  isolation: isolate;
  overflow: visible;
  transform: none;
  filter: none;
  contain: none;
}

.nh-curtain-banner {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: max(100vh, 560px);
  min-height: max(100svh, 560px);
  height: max(100vh, 560px);
  height: max(100svh, 560px);
  margin: 0;
}

.nh-curtain-panel {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  /* Optional pull-up: set --nh-curtain-pull on the stack (e.g. Careers life).
     Page-top heroes leave this at 0 so the banner is visible on load. */
  margin-top: var(--nh-curtain-pull, 0px);
  background-color: #fff;
}

@media (max-width: 820px) {
  .nh-curtain-banner {
    min-height: max(100vh, 520px);
    min-height: max(100svh, 520px);
    height: max(100vh, 520px);
    height: max(100svh, 520px);
  }
}

/* Footer contact phones — match body text scale (not display weight) */
.site-footer .footer-contact .footer-phone .footer-phone-number {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.35;
}
