/* Neo Coderz light corporate palette — color overrides only. */
:root {
  --primary-color: #124bac;
  --secondary-color: #edf6ff;
  --text-color: #123663;
  --accent-color: #075bd8;
  --dark-color: #ffffff;
  --divider-color: rgba(18, 98, 214, 0.18);
  --dark-divider-color: rgba(18, 98, 214, 0.12);
}

html,
body {
  color: var(--text-color);
  background-color: #f8fbff;
  background-image:
    radial-gradient(circle at 6% 9%, rgba(35, 137, 238, 0.2) 0%, rgba(80, 169, 244, 0.08) 20%, rgba(80, 169, 244, 0) 41%),
    radial-gradient(circle at 96% 30%, rgba(18, 98, 214, 0.16) 0%, rgba(64, 151, 235, 0.06) 23%, rgba(64, 151, 235, 0) 44%),
    radial-gradient(circle at 12% 67%, rgba(77, 169, 245, 0.15) 0%, rgba(111, 184, 255, 0.05) 23%, rgba(111, 184, 255, 0) 43%),
    radial-gradient(circle at 91% 91%, rgba(18, 75, 172, 0.12) 0%, rgba(62, 158, 246, 0.04) 22%, rgba(62, 158, 246, 0) 40%),
    linear-gradient(155deg, #ffffff 0%, #f5faff 31%, #eaf5ff 66%, #fbfdff 100%);
  background-repeat: no-repeat;
  background-size: 100vw 100vh;
  background-position: center center;
  background-attachment: fixed;
}

/* Alternate very soft blue light across the site's section flow. */
.hero,
.page-header,
.about-us,
.about-agency,
.what-we-do,
.our-clients,
.executive-partners,
.our-services,
.digital-success,
.why-choose-us,
.our-portfolio,
.our-testimonial,
.our-technologies,
.agency-benefits,
.page-service-single,
.page-project,
.page-project-single,
.page-contact-us,
.page-team,
.page-team-single,
.page-blog,
.page-faqs,
.google-map,
.footer-work-together,
.footer-main {
  background-color: transparent;
}

h1,
h2,
h3,
h4,
h5,
h6,
.section-title h1,
.section-title h2,
.section-title h3 {
  color: var(--primary-color);
}

/* Header and navigation */
header.main-header,
header.main-header .header-sticky {
  background: transparent !important;
  border-color: transparent;
}

header.main-header .header-sticky:not(.active) {
  background: linear-gradient(180deg, rgba(4, 24, 62, 0.58) 0%, rgba(4, 24, 62, 0.2) 62%, rgba(4, 24, 62, 0) 100%) !important;
  border-bottom: 1px solid rgba(143, 211, 255, 0.28);
  box-shadow: 0 10px 26px rgba(3, 18, 48, 0.2);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

header.main-header .header-sticky.active {
  background: rgba(255, 255, 255, 0.94) !important;
  border-bottom: 1px solid rgba(7, 91, 216, 0.16);
  box-shadow: 0 8px 26px rgba(8, 31, 77, 0.13);
}

header.main-header .header-sticky:not(.active) .nav-menu-wrapper > ul > li > a,
header.main-header .header-sticky:not(.active) .header-social-links > ul > li > a > i {
  color: #ffffff !important;
  text-shadow: 0 1px 10px rgba(3, 18, 48, 0.5);
}

header.main-header .header-sticky:not(.active) .nav-menu-wrapper > ul > li > a:hover,
header.main-header .header-sticky:not(.active) .nav-menu-wrapper > ul > li:hover > a {
  color: #79c5ff !important;
  text-shadow: none;
}

header.main-header .header-sticky:not(.active) .navbar-brand img {
  content: url(../images/mini/nct_logo_horizontal_white.svg);
  filter: drop-shadow(0 4px 12px rgba(3, 18, 48, 0.28));
}

header.main-header .header-sticky.active .navbar-brand img {
  content: url(../images/mini/nct_logo_horizontal_blue.svg);
  filter: none;
}

header.main-header .header-sticky.active .nav-menu-wrapper > ul > li > a,
header.main-header .header-sticky.active .header-social-links > ul > li > a > i {
  color: #123663 !important;
}

.nav-ai-solutions > a {
  position: relative;
}

.nav-ai-new-dot {
  --nav-ai-pulse-rgb: 121, 197, 255;
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-left: 6px;
  vertical-align: 2px;
  border-radius: 50%;
  background: #79c5ff;
  box-shadow: 0 0 0 0 rgba(var(--nav-ai-pulse-rgb), 0.58);
  animation: nav-ai-pulse 1.8s ease-out infinite;
}

header.main-header .header-sticky.active .nav-ai-new-dot {
  --nav-ai-pulse-rgb: 7, 91, 216;
  background: #075bd8;
}

@keyframes nav-ai-pulse {
  0% { box-shadow: 0 0 0 0 rgba(var(--nav-ai-pulse-rgb), 0.58); }
  70% { box-shadow: 0 0 0 6px rgba(var(--nav-ai-pulse-rgb), 0); }
  100% { box-shadow: 0 0 0 0 rgba(var(--nav-ai-pulse-rgb), 0); }
}

@media (prefers-reduced-motion: reduce) {
  .nav-ai-new-dot {
    animation: none;
  }
}

#nct-topbar {
  background: linear-gradient(90deg, #16399c 0%, #075bd8 58%, #3c91ed 100%) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
}

.main-menu ul ul li a:hover,
.main-menu ul ul li a:focus,
.navbar-nav > li > ul > li:hover > a {
  background: linear-gradient(120deg, #124bac 0%, #075bd8 100%);
  color: #ffffff;
}

.main-menu ul ul ul li a:hover,
.main-menu ul ul ul li a:focus,
.navbar-nav > li > ul > li > ul > li:hover > a {
  background: #124bac;
  color: #ffffff;
}

.main-menu ul li a:hover,
.main-menu ul li a:focus,
.navbar-nav > li:hover > a,
.home-slider .section-title strong,
.cblue {
  color: var(--accent-color) !important;
}

.main-menu ul ul,
.main-menu ul ul ul {
  background: linear-gradient(145deg, #ffffff 0%, #d9edff 48%, #acd8ff 100%);
  border: 1px solid rgba(7, 91, 216, 0.26);
  box-shadow: 0 14px 34px rgba(18, 75, 172, 0.2);
}

.main-menu ul ul li.nav-item a,
.main-menu ul ul ul li.nav-item a {
  color: #123663;
}

/* Keep dropdown labels readable over their saturated blue hover state. */
.main-menu ul ul li.nav-item:hover > a,
.main-menu ul ul li.nav-item > a:hover,
.main-menu ul ul li.nav-item > a:focus,
.main-menu ul ul ul li.nav-item:hover > a,
.main-menu ul ul ul li.nav-item > a:hover,
.main-menu ul ul ul li.nav-item > a:focus {
  color: #ffffff !important;
}

.main-menu ul ul li.nav-item a:not(:hover)::before {
  border-bottom-color: rgba(18, 75, 172, 0.2);
}

.header-btn .offcanvas {
  background: linear-gradient(145deg, #ffffff 0%, #e9f4ff 100%) !important;
}

.header-contact-box-content p a,
.header-social-links ul li i {
  color: var(--primary-color);
}

/* Image heroes retain their imagery with a light readable wash. */
.hero.bg-image::before,
.hero.hero-slider-layout .hero-slide::before {
  background: linear-gradient(90deg, rgba(5, 25, 62, 0.92) 0%, rgba(9, 55, 119, 0.76) 48%, rgba(7, 91, 216, 0.1) 100%);
}

.hero.hero-slider-layout .hero-content h1,
.hero.hero-slider-layout .hero-content h2,
.hero.hero-slider-layout .hero-content h3 {
  color: #ffffff;
}

.hero.hero-slider-layout .hero-content h1 strong,
.hero.hero-slider-layout .hero-content h2 strong,
.hero.hero-slider-layout .hero-content h3 strong {
  color: #79c5ff !important;
}

.hero.hero-slider-layout .hero-content p,
.hero.hero-slider-layout .hero-content p strong {
  color: #f2f8ff;
}

.page-header::before {
  background:
    radial-gradient(ellipse 58% 82% at 50% 52%,
      rgba(5, 25, 62, 0.86) 0%,
      rgba(7, 40, 91, 0.62) 38%,
      rgba(7, 91, 216, 0.2) 72%,
      rgba(7, 91, 216, 0.06) 100%),
    linear-gradient(rgba(7, 91, 216, 0.58), rgba(7, 91, 216, 0.58));
}

.page-header .page-header-box h1,
.page-header .page-header-box h2,
.page-header .page-header-box p,
.page-header .breadcrumb,
.page-header .breadcrumb-item,
.page-header .breadcrumb-item a,
.page-header .breadcrumb-item.active,
.page-header .breadcrumb-item::before {
  color: #ffffff !important;
}

.page-header .page-header-box h1,
.page-header .page-header-box h2 {
  text-shadow: none;
}

.page-header .page-header-box h1 span,
.page-header .page-header-box h2 span,
.page-header .page-header-box h1 strong,
.page-header .page-header-box h2 strong {
  color: #79c5ff !important;
  text-shadow: none;
}

.digital-success-box {
  align-items: stretch;
  gap: 44px;
  padding: 56px;
  background:
    radial-gradient(circle at 8% 8%, rgba(73, 164, 248, 0.2), rgba(73, 164, 248, 0) 34%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.98) 0%, rgba(224, 241, 255, 0.96) 100%);
  border: 1px solid rgba(7, 91, 216, 0.18);
  box-shadow: 0 24px 58px rgba(18, 75, 172, 0.15);
}

.digital-success-box::before {
  display: none;
}

.digital-success-content,
.digital-success-list {
  width: calc(50% - 22px);
}

.digital-success-content {
  padding-right: 42px;
  border-right: 1px solid rgba(7, 91, 216, 0.18);
}

.digital-success-content::before {
  display: none;
}

.digital-success-content .section-title {
  margin-bottom: 28px;
}

.digital-success-content .success-counter-box p {
  color: #274d78;
  margin-bottom: 0;
}

.digital-success-list {
  display: grid;
  gap: 20px;
}

.digital-success-list .success-list-item {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 28px;
  background: linear-gradient(145deg, #ffffff 0%, #eaf5ff 100%);
  border: 1px solid rgba(7, 91, 216, 0.16);
  border-radius: 20px;
  box-shadow: 0 12px 28px rgba(18, 75, 172, 0.1);
}

.digital-success-list .success-list-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background: linear-gradient(180deg, #49a4f8, #075bd8);
}

.digital-success-list .success-list-item::after {
  content: "";
  position: absolute;
  right: -18px;
  bottom: -20px;
  width: 138px;
  height: 138px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.075;
  pointer-events: none;
}

.digital-success-list .success-list-item.wordpress-card::after {
  background-image: url("../images/tech-icon/wordpress_icon.svg");
}

.digital-success-list .success-list-item.woocommerce-card::after {
  background-image: url("../images/tech-icon/woocommerce_icon.webp");
  border-radius: 50%;
  background-size: cover;
}

.digital-success-list .success-list-item > * {
  position: relative;
  z-index: 1;
}

.digital-success-list .success-list-item p {
  color: #274d78;
}

.digital-success-list .success-list-item p span {
  color: #075bd8;
}

/* High-contrast controls at rest; retain the saturated blue hover state. */
.testimonial-slider .testimonial-button-next,
.testimonial-slider .testimonial-button-prev {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(7, 91, 216, 0.28);
  box-shadow: 0 8px 20px rgba(18, 75, 172, 0.14);
}

.testimonial-slider .testimonial-button-next::before,
.testimonial-slider .testimonial-button-prev::before {
  background-image: url(../images/arrow-accent.svg);
}

.testimonial-slider .testimonial-button-next:hover,
.testimonial-slider .testimonial-button-prev:hover {
  background: #075bd8;
}

.testimonial-slider .testimonial-button-next:hover::before,
.testimonial-slider .testimonial-button-prev:hover::before {
  filter: brightness(0) invert(1);
}

/* Restore the existing rotating/revolving decorative artwork above the page canvas. */
.about-agency,
.our-services,
.why-choose-us,
.how-it-work,
.our-features,
.our-testimonial,
.agency-benefits,
.footer-work-together,
.who-we-are,
.our-team,
.page-service-single,
.page-blog,
.page-project,
.page-project-single,
.page-team,
.page-team-single,
.what-we-do,
.our-technologies,
.executive-partners,
.about-us,
.our-skill,
.our-faqs {
  isolation: isolate;
}

.about-agency::before,
.our-services::before,
.why-choose-us::before,
.how-it-work::before,
.our-features::before,
.our-testimonial::before,
.agency-benefits::before,
.footer-work-together::before,
.who-we-are::before,
.our-team::before,
.page-service-single::before,
.page-service-single::after,
.page-blog::before,
.page-project::before,
.page-project-single::before,
.page-project-single::after,
.page-team::before,
.page-team-single::before,
.what-we-do::before,
.our-technologies::before,
.executive-partners::before,
.about-us::before,
.our-skill::before,
.our-faqs::before {
  z-index: 0;
}

/* Let the blue 3D section forms read clearly without competing with copy. */
.about-agency::before,
.agency-benefits::before,
.our-features::before,
.how-it-work::before,
.our-testimonial::before,
.why-choose-us::before,
.footer-work-together::before,
.what-we-do::before,
.our-technologies::before,
.executive-partners::before {
  opacity: 0.66;
  filter: drop-shadow(0 14px 24px rgba(18, 75, 172, 0.16));
}

.about-agency > .container,
.our-services > .container,
.why-choose-us > .container,
.how-it-work > .container,
.our-features > .container,
.our-testimonial > .container,
.agency-benefits > .container,
.footer-work-together > .container,
.who-we-are > .container,
.our-team > .container,
.page-service-single > .container,
.page-blog > .container,
.page-project > .container,
.page-project-single > .container,
.page-team > .container,
.page-team-single > .container,
.what-we-do > .container,
.our-technologies > .container,
.executive-partners > .container,
.about-us > .container,
.our-skill > .container,
.our-faqs > .container {
  position: relative;
  z-index: 1;
}

/* Cards and panels use the same white-to-sky-blue family. */
.service-item::before,
.work-process-item::before,
.digital-features-item::before,
.testimonial-review-box::before,
.testimonial-benefits-box::before,
.benefits-steps-item::before,
.about-footer::before,
.mission-vision-item::before,
.experts-counter-item::before,
.executive-partners-box::before,
.brands-list-item::before,
.process-step-content::before,
.service-catagery-list::before,
.sidebar-cta-box::before,
.post-entry blockquote::before,
.project-catagery-list::before,
.team-single-contact-form::before,
.pricing-box::before,
.testimonial-box-item::before,
.faq-catagery-list::before,
.contact-info-box .info-box-1::before,
.contact-info-box .info-box-2::before,
.contact-us-form::before {
  background: linear-gradient(145deg, #ffffff 0%, #e6f2fe 100%);
}

.service-item,
.work-process-item,
.digital-features-item,
.testimonial-review-box,
.testimonial-benefits-box,
.benefits-steps-item,
.mission-vision-item,
.experts-counter-item,
.executive-partners-box,
.brands-list-item,
.process-step-content,
.sidebar-cta-box,
.pricing-box,
.testimonial-box-item,
.contact-us-form {
  box-shadow: 0 16px 38px rgba(18, 98, 214, 0.12);
}

.image-anime::after {
  background-color: rgba(64, 151, 235, 0.34);
}

.our-partners-list .company-logo,
.agency-supports-logo {
  background: linear-gradient(145deg, #081f4d 0%, #0d347a 58%, #124bac 100%);
  border-color: rgba(111, 184, 255, 0.28);
  box-shadow: 0 14px 30px rgba(8, 31, 77, 0.2);
}

.our-partners-list .company-logo > div,
.agency-supports-logo > div {
  color: #9fd0ff !important;
}

/* Light technology tiles keep original-colour logos clear; the logo shadow
   also outlines white artwork so it remains visible on the pale surface. */
.our-technologies .brands-list-item {
  background: linear-gradient(145deg, #ffffff 0%, #edf7ff 52%, #d8ebff 100%);
  border-color: rgba(7, 91, 216, 0.25);
  box-shadow: 0 9px 22px rgba(18, 75, 172, 0.11);
}

.our-technologies .brands-list-item::before {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(216, 235, 255, 0.96));
  opacity: 1;
}

.our-technologies .brands-list-item small {
  color: #0b347f;
}

.our-technologies .brands-list-item img {
  filter: drop-shadow(0 0 1px rgba(7, 91, 216, 0.9)) drop-shadow(0 3px 5px rgba(18, 75, 172, 0.16));
}

/* Compact, all-visible technology landscape. */
.our-technologies {
  padding: 60px 0;
}

.technology-landscape {
  position: relative;
  overflow: hidden;
  padding: 48px;
  border: 1px solid rgba(7, 91, 216, 0.2);
  border-radius: 28px;
  background:
    radial-gradient(circle at 94% 4%, rgba(73, 164, 248, 0.22), transparent 25%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(225, 241, 255, 0.97));
  box-shadow: 0 20px 48px rgba(18, 75, 172, 0.13);
}

.technology-landscape-header {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  gap: 55px;
  align-items: end;
  margin-bottom: 32px;
}

.technology-landscape-header .section-title {
  margin: 0;
}

.technology-landscape-intro p {
  margin: 0 0 14px;
  color: #274d78;
}

.technology-consultation-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #075bd8;
  font-size: 15px;
  font-weight: 800;
}

.technology-consultation-link span {
  transition: transform 0.2s ease;
}

.technology-consultation-link:hover {
  color: #124bac;
}

.technology-consultation-link:hover span {
  transform: translateX(3px);
}

.technology-groups-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.technology-group-card {
  position: relative;
  margin: 0;
  padding: 20px;
  border: 1px solid rgba(121, 197, 255, 0.34);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0, rgba(121, 197, 255, 0.23), transparent 34%),
    linear-gradient(145deg, #09265b 0%, #124bac 58%, #075bd8 100%);
  box-shadow: 0 12px 27px rgba(8, 42, 99, 0.2);
}

.technology-group-featured {
  grid-column: 1 / -1;
  background:
    radial-gradient(circle at 94% 0, rgba(121, 197, 255, 0.25), transparent 30%),
    linear-gradient(135deg, #09265b 0%, #124bac 56%, #075bd8 100%);
}

.technology-group-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  padding-bottom: 11px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
}

.technology-group-heading h3 {
  margin: 0;
  color: #ffffff;
  font-size: 17px;
}

.technology-group-heading span {
  flex-shrink: 0;
  color: #b9ddff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.technology-logo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(74px, 1fr));
  gap: 8px;
}

.technology-group-featured .technology-logo-grid {
  grid-template-columns: repeat(11, minmax(64px, 1fr));
}

.technology-logo-chip {
  min-width: 0;
  min-height: 78px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 6px;
  border: 1px solid rgba(7, 91, 216, 0.24);
  border-radius: 12px;
  background: linear-gradient(145deg, #ffffff 0%, #edf7ff 55%, #d8ebff 100%);
  box-shadow: 0 7px 16px rgba(18, 75, 172, 0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.technology-logo-chip:hover {
  transform: translateY(-3px);
  border-color: rgba(7, 91, 216, 0.48);
  background: linear-gradient(145deg, #ffffff 0%, #e4f2ff 50%, #c9e3ff 100%);
  box-shadow: 0 11px 21px rgba(18, 75, 172, 0.16);
}

.technology-logo-chip img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  filter: drop-shadow(0 0 1px rgba(7, 91, 216, 0.95)) drop-shadow(0 3px 5px rgba(18, 75, 172, 0.18));
}

.technology-logo-chip[title="iOS"] img {
  filter: brightness(0) saturate(100%);
}

.technology-logo-chip[title="PHP"] img {
  width: 48px;
  height: 30px;
  border-radius: 50%;
  mix-blend-mode: multiply;
  filter: none;
}

.technology-logo-chip small {
  max-width: 100%;
  overflow: hidden;
  color: #0b347f;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media only screen and (max-width: 991px) {
  .technology-landscape {
    padding: 38px 28px;
  }

  .technology-landscape-header {
    grid-template-columns: 1fr;
    gap: 18px;
  }

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

  .technology-group-featured {
    grid-column: 1 / -1;
  }

  .technology-group-featured .technology-logo-grid {
    grid-template-columns: repeat(auto-fit, minmax(74px, 1fr));
  }
}

@media only screen and (max-width: 767px) {
  .our-technologies {
    padding: 50px 0;
  }

  .technology-landscape {
    padding: 28px 18px;
    border-radius: 22px;
  }

  .technology-groups-grid {
    grid-template-columns: 1fr;
  }

  .technology-group-featured {
    grid-column: auto;
  }

  .technology-group-card {
    padding: 16px;
  }

  .technology-logo-grid,
  .technology-group-featured .technology-logo-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Communication and project-management logos need the same navy contrast as technology logos. */
.our-clients .client-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 8px;
  padding-right: 8px;
  background: linear-gradient(145deg, #081f4d 0%, #0d347a 58%, #124bac 100%);
  border-color: rgba(111, 184, 255, 0.38);
  box-shadow: 0 10px 24px rgba(8, 31, 77, 0.2);
}

.our-clients .client-logo::before {
  background: linear-gradient(145deg, rgba(8, 31, 77, 0.98), rgba(18, 75, 172, 0.96));
  opacity: 1;
}

.our-clients .client-logo img {
  width: auto !important;
  height: clamp(16px, 5vw, 21px) !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  filter: drop-shadow(0 1px 3px rgba(255, 255, 255, 0.24));
}

/* Preserve the blue process panels while making every line icon clearly visible. */
.work-process-icon-box img {
  filter: brightness(0) invert(1) drop-shadow(0 2px 5px rgba(3, 18, 48, 0.22));
}

/* Keep animated 3D decorations inside their own sections and behind all content. */
.about-us,
.our-team {
  overflow: clip;
}

.about-us::before,
.our-team::before {
  opacity: 0.34;
  pointer-events: none;
}

/* Keep the Team-section 3D ornament fully inside its section boundary. */
.our-team.in-my-about-us::before {
  top: 34%;
  left: 24px;
  width: 150px;
  height: 165px;
  opacity: 0.2;
}

/* The light theme reads better with team details below the photos, not over them. */
.in-my-about-us .team-item {
  height: auto;
  overflow: visible;
}

.in-my-about-us .team-image,
.in-my-about-us .team-image a,
.in-my-about-us .team-image figure,
.in-my-about-us .team-image img {
  border-radius: 24px;
}

.in-my-about-us .team-image a::before {
  display: none;
}

.in-my-about-us .team-body,
.in-my-about-us .team-item:hover .team-body {
  position: relative;
  inset: auto;
  transform: none;
  padding: 18px 12px 8px;
}

.in-my-about-us .team-social-list {
  margin-top: 12px;
  opacity: 1;
  visibility: visible;
}

/* Stabilize the animated project counter so its icon and copy never collide. */
.about-project-info-box {
  gap: 15px;
  isolation: isolate;
}

.about-project-info-box .icon-box {
  flex: 0 0 50px;
  margin-right: 0;
}

.about-project-info-box .icon-box img {
  filter: brightness(0) saturate(100%) invert(27%) sepia(78%) saturate(1795%) hue-rotate(204deg) brightness(78%) contrast(98%);
}

.about-project-content {
  min-width: 0;
}

.about-project-content h3,
.about-project-content p {
  color: #ffffff;
  background: transparent;
  line-height: 1.2;
}

/* Keep portfolio rows level: titles stay on one line and images gain a blue frame. */
body:has(.home-slider) .our-portfolio .project-image figure {
  box-sizing: border-box;
  border: 1px solid #123f8f;
}

/* Compact homepage portfolio: eight projects remain visible without creating a long page. */
.home-portfolio-compact {
  padding-top: 62px;
  padding-bottom: 62px;
}

.home-portfolio-compact .section-row {
  margin-bottom: 32px;
}

.home-portfolio-compact .project-item-boxes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
}

.home-portfolio-compact .project-item-box {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  width: auto;
  max-width: none;
  padding: 0;
}

.home-portfolio-compact .project-item {
  position: relative;
  height: 100%;
  margin: 0;
  padding: 9px 9px 7px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(235, 246, 255, 0.96));
  border: 1px solid rgba(7, 91, 216, 0.18);
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(18, 75, 172, 0.09);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.home-portfolio-compact .portfolio-card-link {
  position: absolute;
  inset: -1px;
  z-index: 5;
  border-radius: inherit;
  cursor: pointer;
}

.home-portfolio-compact .portfolio-card-link:focus-visible {
  outline: 3px solid rgba(7, 91, 216, 0.55);
  outline-offset: 3px;
}

/* Shared compact card system for inner service grids and portfolio showcases. */
.service-overview .project-item-boxes,
body:not(:has(.home-slider)) .our-portfolio .project-item-boxes {
  display: grid !important;
  height: auto !important;
  align-items: stretch !important;
  gap: 20px;
  margin: 0;
}

.service-overview .project-item-boxes {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body:not(:has(.home-slider)) .our-portfolio .project-item-boxes {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.service-overview .project-item-box,
body:not(:has(.home-slider)) .our-portfolio .project-item-box {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  width: auto;
  max-width: none;
  padding: 0;
}

.service-overview .project-item,
body:not(:has(.home-slider)) .our-portfolio .project-item,
.page-project:has(.our-Project-nav) .project-item {
  position: relative;
  height: 100%;
  margin: 0;
  padding: 9px 9px 7px;
  overflow: hidden;
  text-align: center;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(235, 246, 255, 0.96));
  border: 1px solid rgba(7, 91, 216, 0.18);
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(18, 75, 172, 0.09);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.service-overview .project-item:hover,
body:not(:has(.home-slider)) .our-portfolio .project-item:hover,
.page-project:has(.our-Project-nav) .project-item:hover {
  transform: none;
  border-color: rgba(7, 91, 216, 0.48);
  box-shadow: 0 18px 34px rgba(18, 75, 172, 0.16);
}

.service-overview .project-image,
body:not(:has(.home-slider)) .our-portfolio .project-image,
.page-project:has(.our-Project-nav) .project-image {
  margin-bottom: 0;
}

.service-overview .project-image figure,
body:not(:has(.home-slider)) .our-portfolio .project-image figure,
.page-project:has(.our-Project-nav) .project-image figure {
  width: 100%;
  aspect-ratio: 16 / 9;
  box-sizing: border-box;
  border: 1px solid #123f8f !important;
  border-radius: 12px;
  overflow: hidden;
  transform: none;
}

.service-overview .project-image figure img,
body:not(:has(.home-slider)) .our-portfolio .project-image figure img,
.page-project:has(.our-Project-nav) .project-image figure img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: top center;
  border-radius: 11px !important;
}

.service-overview .project-content,
body:not(:has(.home-slider)) .our-portfolio .project-content,
.page-project:has(.our-Project-nav) .project-content {
  padding: 11px 6px 4px;
  text-align: center;
}

.service-overview .project-content h3,
body:not(:has(.home-slider)) .our-portfolio .project-content h3,
.page-project:has(.our-Project-nav) .project-content h3 {
  min-height: 0;
  margin: 0;
  color: #0b347f;
  font-size: clamp(13px, 1vw, 16px);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.service-overview .project-content a,
body:not(:has(.home-slider)) .our-portfolio .project-content a,
.page-project:has(.our-Project-nav) .project-content a {
  color: inherit;
}

.service-overview .project-btn a,
body:not(:has(.home-slider)) .our-portfolio .project-btn a,
.page-project:has(.our-Project-nav) .project-btn a {
  width: 44px;
  height: 44px;
  background: rgba(7, 91, 216, 0.94);
  border-color: #ffffff;
}

.service-overview .project-btn a img,
body:not(:has(.home-slider)) .our-portfolio .project-btn a img,
.page-project:has(.our-Project-nav) .project-btn a img {
  max-width: 20px;
}

.is-clickable-project-card {
  cursor: pointer;
}

.is-clickable-project-card:focus-visible {
  outline: 3px solid rgba(7, 91, 216, 0.55);
  outline-offset: 3px;
}

/* Main Portfolio page: clearer filters and evenly sized project cards. */
.page-project:has(.our-Project-nav) {
  padding-top: 65px;
  padding-bottom: 70px;
}

.page-project:has(.our-Project-nav) .our-Project-nav {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 34px;
  padding: 8px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(225, 242, 255, 0.96));
  border: 1px solid rgba(7, 91, 216, 0.18);
  border-radius: 999px;
  box-shadow: 0 12px 28px rgba(18, 75, 172, 0.1);
}

.page-project:has(.our-Project-nav) .our-Project-nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
}

.page-project:has(.our-Project-nav) .our-Project-nav ul li {
  margin: 0;
}

.page-project:has(.our-Project-nav) .our-Project-nav ul li a {
  display: block;
  padding: 9px 16px;
  color: #0a3475;
  background: transparent;
  border: 0;
  border-radius: 999px;
  font-size: 14px;
  line-height: 1.25;
  transition: color 0.25s ease, background 0.25s ease;
}

.page-project:has(.our-Project-nav) .our-Project-nav ul li a.active-btn,
.page-project:has(.our-Project-nav) .our-Project-nav ul li a:hover {
  color: #ffffff;
  background: linear-gradient(135deg, #124bac, #075bd8);
}

.page-project:has(.our-Project-nav) .project-item-box {
  margin-bottom: 20px;
}

@media (max-width: 991px) {
  .service-overview .project-item-boxes,
  body:not(:has(.home-slider)) .our-portfolio .project-item-boxes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .service-overview .project-item-boxes,
  body:not(:has(.home-slider)) .our-portfolio .project-item-boxes {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .page-project:has(.our-Project-nav) .our-Project-nav {
    border-radius: 20px;
  }

  .page-project:has(.our-Project-nav) .our-Project-nav ul li a {
    padding: 8px 11px;
    font-size: 12px;
  }
}

.home-portfolio-compact .project-item:hover {
  transform: none;
  border-color: rgba(7, 91, 216, 0.48);
  box-shadow: 0 18px 34px rgba(18, 75, 172, 0.16);
}

.home-portfolio-compact .project-image figure {
  width: 100%;
  aspect-ratio: 16 / 9;
  box-sizing: border-box;
  border: 1px solid #123f8f !important;
  border-radius: 12px;
  overflow: hidden;
}

.home-portfolio-compact .project-image figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  border-radius: 11px !important;
}

.home-portfolio-compact .project-item:hover .project-image figure {
  border-color: #123f8f !important;
  transform: none;
}

.home-portfolio-compact .project-content {
  padding: 10px 5px 3px;
  text-align: center;
}

.home-portfolio-compact .project-content h3 {
  min-height: 0;
  margin: 0;
  font-size: clamp(13px, 1vw, 16px);
  line-height: 1.25;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}

.home-portfolio-compact .project-btn a {
  width: 44px;
  height: 44px;
}

/* Homepage portfolio hover cue: centered blue arrow, matching inner portfolios. */
.home-portfolio-compact .project-btn {
  z-index: 6;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -36%);
  transition: opacity 0.28s ease, visibility 0.28s ease, transform 0.28s ease;
}

.home-portfolio-compact .project-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #124bac, #075bd8);
  border: 1px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 10px 24px rgba(3, 35, 86, 0.26);
}

.home-portfolio-compact .project-btn a img {
  width: 20px;
  transition: transform 0.28s ease;
}

.home-portfolio-compact .project-item:hover .project-btn,
.home-portfolio-compact .project-item:focus-within .project-btn {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%);
}

.home-portfolio-compact .project-item:hover .project-btn a img,
.home-portfolio-compact .project-item:focus-within .project-btn a img {
  transform: rotate(45deg);
}

/* Compact, readable workflow-tool presentations on the About page. */
.workflow-tools-section {
  padding: 28px 0;
}

.workflow-tools-card {
  display: grid;
  grid-template-columns: minmax(310px, 0.78fr) minmax(0, 1.22fr);
  overflow: hidden;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(7, 91, 216, 0.2);
  border-radius: 28px;
  box-shadow: 0 20px 45px rgba(18, 75, 172, 0.11);
}

.workflow-tools-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 38px;
  background: linear-gradient(145deg, #082c68 0%, #075bd8 100%);
  color: #ffffff;
}

.workflow-tools-eyebrow {
  margin-bottom: 14px;
  color: #a9dcff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.workflow-tools-content .section-title {
  margin-bottom: 16px;
}

.workflow-tools-content .section-title h2,
.workflow-tools-content .section-title h2 span {
  color: #ffffff;
  font-size: clamp(32px, 3.2vw, 48px);
}

.workflow-tools-content .section-title h2 span {
  color: #8bd3ff;
}

.workflow-tools-content > p {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 16px;
}

.workflow-tools-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
}

.workflow-tools-meta strong {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #ffffff;
  color: #075bd8;
  font-size: 21px;
}

.workflow-tools-meta span {
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
}

.workflow-logo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-content: center;
  padding: 28px;
  background:
    radial-gradient(circle at 88% 12%, rgba(83, 175, 255, 0.22), transparent 28%),
    linear-gradient(145deg, #fafdff, #eaf5ff);
}

.workflow-logo-grid-seven {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.workflow-logo-grid-four-column {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.workflow-logo-grid-five-column {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.workflow-logo-item {
  min-width: 0;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(7, 91, 216, 0.16);
  border-radius: 15px;
  box-shadow: 0 8px 18px rgba(18, 75, 172, 0.07);
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.workflow-logo-item:hover {
  transform: translateY(-4px);
  border-color: rgba(7, 91, 216, 0.46);
}

.workflow-logo-image {
  display: grid;
  place-items: center;
  height: 78px;
  padding: 15px;
  background: linear-gradient(145deg, #062554, #0d4fae);
}

.workflow-logo-image img {
  width: auto;
  max-width: 100%;
  height: 44px;
  object-fit: contain;
  filter: none;
}

.workflow-logo-item > span {
  display: block;
  padding: 9px 7px;
  color: #0a3475;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  white-space: nowrap;
}

/* Match FAQ title bars to the blue-white footer contact-card gradient. */
.faq-accordion .accordion-header .accordion-button,
.faq-accordion .accordion-header .accordion-button.collapsed,
.our-faq-section .accordion-header .accordion-button,
.our-faq-section .accordion-header .accordion-button.collapsed,
.page-faq-accordion .accordion-header .accordion-button,
.page-faq-accordion .accordion-header .accordion-button.collapsed {
  background: linear-gradient(145deg, #ffffff 0%, #e6f2fe 100%);
  color: #0a3475;
  border: 1px solid rgba(7, 91, 216, 0.16);
}

.faq-accordion .accordion-item .accordion-button::after,
.faq-accordion .accordion-item .accordion-button.collapsed::after,
.our-faq-section .accordion-item .accordion-button::after,
.our-faq-section .accordion-item .accordion-button.collapsed::after,
.page-faq-accordion .accordion-item .accordion-button::after,
.page-faq-accordion .accordion-item .accordion-button.collapsed::after {
  background-color: #075bd8;
  color: #ffffff;
}

/* Highlight the global-client introduction without changing its message. */
.client-selection-intro {
  display: flex;
  align-items: center;
  gap: 18px;
  position: relative;
  overflow: hidden;
  padding: 20px 24px;
  background: linear-gradient(125deg, rgba(255, 255, 255, 0.98), rgba(222, 240, 255, 0.95));
  border: 1px solid rgba(7, 91, 216, 0.2);
  border-radius: 18px;
  box-shadow: 0 14px 30px rgba(18, 75, 172, 0.1);
}

.client-selection-icon {
  display: grid;
  place-items: center;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  color: #ffffff;
  background: linear-gradient(145deg, #0b377d, #075bd8);
  border-radius: 50%;
}

.client-selection-icon svg {
  width: 27px;
  height: 27px;
}

.client-selection-copy {
  position: relative;
  z-index: 1;
}

.client-selection-copy span {
  display: block;
  margin-bottom: 4px;
  color: #075bd8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.client-selection-copy p {
  margin: 0;
  color: #0a3475;
  font-size: 17px;
  line-height: 1.5;
}

.client-selection-accent {
  flex: 0 0 72px;
  height: 32px;
  margin-left: auto;
  background: repeating-linear-gradient(90deg, #075bd8 0 6px, transparent 6px 14px);
  opacity: 0.22;
  transform: skewX(-18deg);
}

/* Compact global-client showcase: supporting copy and all 12 clients in one composition. */
.executive-partners > .container > .section-row {
  margin-bottom: 34px;
}

.compact-client-showcase {
  display: grid;
  grid-template-columns: minmax(230px, 0.7fr) minmax(0, 2.3fr);
  gap: 18px;
  padding: 24px;
  border-radius: 26px;
}

.compact-client-showcase::before {
  opacity: 1;
}

.compact-client-showcase > .row {
  min-width: 0;
  margin: 0;
}

.compact-client-showcase > .row > [class*="col-"] {
  width: 100%;
  padding: 0;
}

.compact-client-showcase > .section-row {
  height: 100%;
  margin-bottom: 0;
}

.compact-client-showcase .client-selection-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  height: 100%;
  padding: 28px;
  background:
    radial-gradient(circle at 85% 12%, rgba(113, 194, 255, 0.34), transparent 31%),
    linear-gradient(150deg, #061e49 0%, #075bd8 100%);
  border: 0;
  border-radius: 20px;
  box-shadow: none;
}

.compact-client-showcase .client-selection-icon {
  width: 50px;
  height: 50px;
  margin-bottom: 22px;
  color: #075bd8;
  background: #ffffff;
}

.compact-client-showcase .client-selection-icon svg {
  stroke: currentColor;
  stroke-width: 1.5;
}

.compact-client-showcase .client-selection-copy span {
  margin-bottom: 10px;
  color: #9fd7ff;
}

.compact-client-showcase .client-selection-copy p {
  color: #ffffff;
  font-size: 16px;
  line-height: 1.55;
}

.compact-client-showcase .client-selection-accent {
  width: 74px;
  margin: 28px 0 0;
  background: repeating-linear-gradient(90deg, #ffffff 0 5px, transparent 5px 12px);
  opacity: 0.35;
}

.compact-client-showcase .our-partners-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  height: 100%;
}

.compact-client-showcase .our-partners-list .company-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  min-height: 104px;
  padding: 15px 18px 12px;
  border: 1px solid rgba(111, 184, 255, 0.2);
  border-radius: 13px;
  box-shadow: 0 9px 20px rgba(8, 31, 77, 0.14);
}

.compact-client-showcase .our-partners-list .company-logo img {
  width: 100%;
  max-width: 155px;
  height: 38px;
  object-fit: contain;
}

.compact-client-showcase .our-partners-list .company-logo > div {
  margin-top: 7px !important;
  font-size: 13px;
  line-height: 1.25;
}

@media (max-width: 991px) {
  .home-portfolio-compact .project-item-boxes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workflow-tools-card {
    grid-template-columns: 1fr;
  }

  .workflow-logo-grid-seven,
  .workflow-logo-grid-four-column,
  .workflow-logo-grid-five-column {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .compact-client-showcase {
    grid-template-columns: 1fr;
  }

  .compact-client-showcase .client-selection-intro {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 18px;
  }

  .compact-client-showcase .client-selection-icon {
    grid-row: 1 / 3;
    margin-bottom: 0;
  }

  .compact-client-showcase .client-selection-accent {
    display: none;
  }
}

@media (max-width: 575px) {
  .home-portfolio-compact {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .home-portfolio-compact .project-item-boxes {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .home-portfolio-compact .project-content h3 {
    font-size: 15px;
  }

  .workflow-tools-content,
  .workflow-logo-grid {
    padding: 24px 18px;
  }

  .workflow-logo-grid,
  .workflow-logo-grid-seven,
  .workflow-logo-grid-four-column,
  .workflow-logo-grid-five-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workflow-logo-item > span {
    white-space: normal;
  }

  .client-selection-intro {
    align-items: flex-start;
    padding: 18px;
  }

  .client-selection-accent {
    display: none;
  }

  .compact-client-showcase {
    padding: 15px;
  }

  .compact-client-showcase .our-partners-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .compact-client-showcase .our-partners-list .company-logo {
    min-height: 94px;
    padding: 13px 10px 10px;
  }
}

.page-project .project-content h3 {
  min-height: 1.3em;
  font-size: clamp(12px, 1.1vw, 18px);
  line-height: 1.3;
  letter-spacing: -0.015em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page-project .project-image figure {
  border: 1px solid rgba(7, 91, 216, 0.62);
  box-shadow: none;
}

@media (max-width: 767px) {
  .page-project .project-content h3 {
    font-size: 11px;
  }

  .page-project .project-image figure {
    border-width: 1px;
  }
}

/* Force the remaining homepage UI icons to the dark Neo blue at render time. */
.my-our-clients .benefits-steps-item .icon-box img,
.about-agency-item .icon-box img,
.agency-benefits .benefits-steps-item .icon-box img {
  filter: brightness(0) saturate(100%) invert(27%) sepia(78%) saturate(1795%) hue-rotate(204deg) brightness(78%) contrast(98%);
}

.agency-item-content h3::after {
  filter: brightness(0) saturate(100%) invert(27%) sepia(78%) saturate(1795%) hue-rotate(204deg) brightness(78%) contrast(98%);
}

.footer-logo {
  background: linear-gradient(145deg, #ffffff 0%, #eaf5ff 100%);
  border: 1px solid rgba(7, 91, 216, 0.16);
  box-shadow: 0 14px 30px rgba(18, 75, 172, 0.16);
}

.about-footer {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98) 0%, rgba(234, 245, 255, 0.94) 100%);
  border-color: rgba(7, 91, 216, 0.16);
  box-shadow: 0 18px 42px rgba(18, 75, 172, 0.13);
}

.about-footer .about-footer-content,
.about-footer .footer-contact-box {
  padding-left: 30px;
  padding-right: 30px;
}

@media (max-width: 767px) {
  .about-footer .about-footer-content,
  .about-footer .footer-contact-box {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.footer-contact-item-content {
  min-width: 0;
}

.footer-contact-item-content a {
  display: block;
  max-width: 100%;
  font-size: 15px;
  line-height: 1.45;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.agency-supports-slider::before {
  background: linear-gradient(280deg, #f7fbff 0%, rgba(247, 251, 255, 0) 61%);
}

.agency-supports-slider::after {
  background: linear-gradient(90deg, #f7fbff 0%, rgba(247, 251, 255, 0) 61%);
}

.agency-supports .our-brands a,
.footer-contact-item-content a {
  color: var(--primary-color);
}

/* Form fields remain transparent, with blue copy and borders. */
.footer-newsletter-form .form-group .form-control,
.team-single-contact-form form .form-control,
.contact-us-form form .form-control {
  color: var(--text-color);
  border-color: var(--divider-color);
  background-color: rgba(255, 255, 255, 0.72);
}

.footer-newsletter-form .form-group .form-control::placeholder,
.team-single-contact-form form .form-control::placeholder,
.contact-us-form form .form-control::placeholder {
  color: #6b86ae;
}

/* Banner-matched royal-blue CTAs with white labels. */
.btn-default,
.btn-highlighted,
.btn-free-trial,
.free-trial .form-group .btn-highlighted,
.cta-contact-btn a,
.footer-newsletter-form .form-group .btn-highlighted {
  background: linear-gradient(135deg, #124bac 0%, #075bd8 100%);
  color: #ffffff;
  box-shadow: 0 5px 14px rgba(7, 91, 216, 0.2);
}

.btn-default::after {
  background-color: transparent;
}

.btn-default::before {
  background-color: #075bd8;
  background-image: url(../images/arrow-white.svg);
}

.btn-default:hover,
.btn-highlighted:hover,
.btn-free-trial:hover,
.free-trial .form-group .btn-highlighted:hover,
.cta-contact-btn a:hover,
.footer-newsletter-form .form-group .btn-highlighted:hover {
  background: linear-gradient(135deg, #0b347f 0%, #124bac 100%);
  color: #ffffff;
}

/* Transparent header: match the refined white/sky-blue dropdown treatment. */
header.main-header .header-sticky:not(.active) .header-free-trial-box .btn-free-trial {
  background: linear-gradient(145deg, #ffffff 0%, #e5f2ff 52%, #c9e6ff 100%);
  color: #123663;
  border: 1px solid rgba(7, 91, 216, 0.16);
  box-shadow: 0 10px 26px rgba(3, 18, 48, 0.2);
}

header.main-header .header-sticky:not(.active) .header-free-trial-box .btn-free-trial:hover,
header.main-header .header-sticky:not(.active) .header-free-trial-box .btn-free-trial:focus-visible {
  background: linear-gradient(135deg, #124bac 0%, #075bd8 100%);
  color: #ffffff;
  border-color: transparent;
  box-shadow: 0 10px 26px rgba(7, 91, 216, 0.26);
}

/* Switch the header CTA label and gradient together, without a staggered colour fade. */
header.main-header .header-free-trial-box .btn-free-trial {
  transition: box-shadow 0.22s ease, transform 0.22s ease;
  transition-delay: 0s;
}

/* Keep white copy only on saturated logo-blue controls and chips. */
.btn-highlighted,
.cta-contact-btn a,
.our-Project-nav ul li a.active-btn,
.our-Project-nav ul li a:hover,
.page-pagination ul li.active a,
.page-pagination ul li a:hover,
.post-tags .tag-links a,
.post-social-sharing ul li a,
.scrolling-content span {
  color: #ffffff;
}

.cb-cursor::before {
  background: var(--accent-color);
}

@media only screen and (max-width: 991px) {
  .digital-success-content,
  .digital-success-list {
    width: 100%;
  }

  .digital-success-content {
    padding-right: 0;
    padding-bottom: 32px;
    border-right: 0;
    border-bottom: 1px solid rgba(7, 91, 216, 0.18);
  }
}

@media only screen and (max-width: 767px) {
  .main-header .header-sticky.open-menu {
    background: #ffffff !important;
  }

  .digital-success-box {
    padding: 30px 20px;
  }

  .digital-success-content,
  .digital-success-list {
    width: 100%;
  }

  .digital-success-content {
    padding-right: 0;
    padding-bottom: 28px;
    border-right: 0;
    border-bottom: 1px solid rgba(7, 91, 216, 0.18);
  }

  .digital-success-list .success-list-item {
    padding: 22px 20px;
  }
}
.about-image-circle a,
.what-we-do-circle a,
.agency-free-consultation a,
.learn-more-circle a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(145deg, #123f8f 0%, #075bd8 52%, #42a5f5 100%);
    box-shadow: 0 12px 30px rgba(7, 91, 216, 0.28), inset 0 0 0 1px rgba(255, 255, 255, 0.38);
}

.learn-more-circle img {
    filter: drop-shadow(0 2px 4px rgba(3, 18, 48, 0.2));
}

/* Home-slider badge: retain the SVG's native transparent canvas. */
.home-slider .learn-more-circle a {
    background: transparent;
    box-shadow: none;
}

.about-image-circle img,
.what-we-do-circle img,
.agency-free-consultation img {
    border-radius: 50%;
    filter: drop-shadow(0 2px 4px rgba(5, 37, 91, 0.18));
}

/* Readable rotating consultation badge in Tools & Technologies. */
.agency-free-consultation a {
    position: relative;
    width: 100px;
    height: 100px;
    background: transparent;
    box-shadow: none;
    animation: infiniterotate 30s infinite linear;
}

.agency-free-consultation a::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 56%;
    height: 56%;
    border-radius: 50%;
    background: linear-gradient(145deg, #123f8f 0%, #075bd8 62%, #42a5f5 100%);
    box-shadow: 0 8px 18px rgba(7, 91, 216, 0.24), inset 0 0 0 1px rgba(255, 255, 255, 0.45);
    transform: translate(-50%, -50%);
}

.agency-free-consultation a::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    background: url("../images/free-consultation-circle.webp") center / contain no-repeat;
    filter: brightness(0) invert(1);
    clip-path: circle(27% at 50% 50%);
}

.agency-free-consultation img {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: none;
    animation: none;
    filter: brightness(0) saturate(100%) invert(21%) sepia(76%) saturate(2358%) hue-rotate(209deg) brightness(75%) contrast(98%);
}

@media (max-width: 991px) {
    .agency-free-consultation a {
        width: 80px;
        height: 80px;
    }
}

/* Footer consultation CTA: keep its arrow readable in both states. */
.footer-work-together .work-together-btn a:not(:hover) img {
    filter: brightness(0) invert(1);
}

.footer-work-together .work-together-btn a:hover {
    background: linear-gradient(145deg, #ffffff 0%, #dceeff 100%);
    box-shadow: 0 12px 28px rgba(7, 91, 216, 0.22);
}

.footer-work-together .work-together-btn a:hover img {
    filter: brightness(0) saturate(100%) invert(21%) sepia(76%) saturate(2358%) hue-rotate(209deg) brightness(75%) contrast(98%);
    transform: rotate(45deg);
}

.footer-work-together .work-together-btn a:hover span {
    color: #123f8f;
}

/* Footer contact icons: crisp blue outlines and high-contrast hover states. */
.about-footer .footer-contact-item .icon-box {
    border: 1px solid #075bd8;
    transition: background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.about-footer .footer-contact-item .icon-box img {
    filter: brightness(0) saturate(100%) invert(21%) sepia(76%) saturate(2358%) hue-rotate(209deg) brightness(75%) contrast(98%);
}

.about-footer .footer-contact-item:hover .icon-box {
    background: linear-gradient(135deg, #124bac 0%, #075bd8 100%);
    border-color: #075bd8;
    box-shadow: 0 7px 18px rgba(7, 91, 216, 0.22);
}

.about-footer .footer-contact-item:hover .icon-box img,
.about-footer .footer-contact-box .icon-box img,
.about-footer .footer-contact-box:hover .icon-box img {
    filter: brightness(0) invert(1);
}

.free-trial-body .service-entry-image img {
    filter: drop-shadow(0 12px 24px rgba(7, 91, 216, 0.22));
}

/* Keep every service illustration inside the Neo Coderz blue/white palette. */
/* About page only: overlap the experience circle with the right-side image. */
.in-my-about-us ~ .why-choose-us .company-experience-box {
    margin-bottom: 30px;
}

.company-experience-box {
    margin-bottom: 30px;
}

/* Preserve the complete portrait posters instead of forcing mobile landscape crops. */
.why-choose-us .nct-context-poster {
    display: block;
    width: 100%;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center top !important;
}

.why-choose-us .nct-context-poster-frame {
    height: auto;
}

@media only screen and (max-width: 767px) {
    .why-choose-us .nct-context-poster-frame {
        width: 100%;
        max-width: 390px;
        margin-inline: auto;
    }
}

.faq-img-1 figure {
    border: 5px solid var(--dark-color);
}

/* Careers page: retain archived vacancy markup while showing the current status. */
.career-opening-hidden {
    display: none !important;
}

.career-no-openings {
    width: 100%;
    max-width: none;
    min-height: 260px;
    margin: 0;
    padding: 60px 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #123f8f;
    font-size: clamp(26px, 3vw, 42px);
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(220, 238, 255, 0.94));
    border: 1px solid rgba(7, 91, 216, 0.2);
    border-radius: 24px;
    box-shadow: 0 18px 42px rgba(18, 75, 172, 0.14);
}

@media (max-width: 767px) {
    .career-no-openings {
        min-height: 200px;
        padding: 38px 24px;
    }
}

/* Locked context fields shown when a visitor arrives from a contextual CTA. */
.contact-us-form .contact-context-field:disabled {
    opacity: 1;
    cursor: not-allowed;
    color: #0b347f;
    font-weight: 600;
    background: linear-gradient(135deg, rgba(222, 240, 255, 0.96), rgba(240, 247, 255, 0.98));
    border-color: rgba(7, 91, 216, 0.3);
    -webkit-text-fill-color: #0b347f;
    box-shadow: none;
}

.contact-attachment-label {
    display: block;
    margin-bottom: 9px;
    color: #0b347f;
    font-size: 15px;
    font-weight: 700;
}

.contact-attachment-label span,
.contact-attachment-help {
    color: #526b91;
    font-weight: 500;
}

.contact-us-form .contact-file-input {
    min-height: 58px;
    padding: 10px 12px;
    color: #173967;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(230, 243, 255, 0.96));
    border: 1px dashed rgba(7, 91, 216, 0.42);
    cursor: pointer;
}

.contact-us-form .contact-file-input::file-selector-button {
    margin-right: 12px;
    padding: 8px 14px;
    border: 0;
    border-radius: 8px;
    background: #075bd8;
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.contact-attachment-help {
    display: block;
    margin-top: 7px;
    font-size: 12px;
    line-height: 1.45;
}

/* Homepage hero: independent background layer for smooth scroll parallax. */
.home-slider.hero-slider-layout .hero-slide {
    --hero-parallax-y: 0px;
    background-image: none;
    overflow: hidden;
    isolation: isolate;
}

.home-slider.hero-slider-layout .hero-slide::after {
    content: "";
    position: absolute;
    inset: -5%;
    z-index: 0;
    background-image: url(../images/slide_4.webp);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    transform: translate3d(0, var(--hero-parallax-y), 0) scale(1.06);
    transform-origin: center center;
    will-change: transform;
    pointer-events: none;
}

.home-slider.hero-slider-layout .hero-slide.slide-2::after {
    background-image: url(../images/slide_5.webp);
}

.home-slider.hero-slider-layout .hero-slide.slide-3::after {
    background-image: url(../images/slide_ai_5.webp);
}

.home-slider.hero-slider-layout .hero-content {
    z-index: 2;
}

@media (max-width: 767px), (prefers-reduced-motion: reduce) {
    .home-slider.hero-slider-layout .hero-slide {
        --hero-parallax-y: 0px !important;
    }

    .home-slider.hero-slider-layout .hero-slide::after {
        inset: -3%;
        transform: scale(1.03);
        will-change: auto;
    }
}

/* Compact trust panel between the contact form and location map. */
.contact-trust-highlights {
    padding: 10px 0 55px;
}

.contact-trust-panel {
    position: relative;
    overflow: hidden;
    padding: 30px;
    border: 1px solid rgba(7, 91, 216, 0.2);
    border-radius: 24px;
    background:
        radial-gradient(circle at 100% 0, rgba(93, 177, 255, 0.2), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(225, 241, 255, 0.96));
    box-shadow: 0 16px 38px rgba(18, 75, 172, 0.12);
}

.contact-trust-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(7, 91, 216, 0.15);
}

.contact-trust-heading span {
    color: #075bd8;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    white-space: nowrap;
}

.contact-trust-heading h2 {
    margin: 0;
    color: #123663;
    font-size: 25px;
    text-align: right;
}

.contact-trust-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.contact-trust-item {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 14px;
    border: 1px solid rgba(7, 91, 216, 0.16);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.76);
}

.contact-trust-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: #ffffff;
    background: linear-gradient(145deg, #124bac, #075bd8);
    box-shadow: 0 7px 15px rgba(7, 91, 216, 0.2);
}

.contact-trust-icon i {
    font-size: 18px;
}

.contact-trust-item strong {
    color: #123663;
    font-size: 14px;
    line-height: 1.35;
}

@media (max-width: 1199px) {
    .contact-trust-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .contact-trust-highlights {
        padding: 0 0 40px;
    }

    .contact-trust-panel {
        padding: 22px 18px;
        border-radius: 20px;
    }

    .contact-trust-heading {
        display: block;
    }

    .contact-trust-heading span {
        display: block;
        margin-bottom: 8px;
        white-space: normal;
    }

    .contact-trust-heading h2 {
        font-size: 22px;
        text-align: left;
    }

    .contact-trust-grid {
        grid-template-columns: 1fr;
    }
}
