/* NoorVista hero exact image implementation - optimized 3.0.44 */
body:not([data-panel-role]) .hero.nv-hero-exact {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  padding: clamp(18px, 2.8vw, 42px) 0 clamp(24px, 3.2vw, 54px) !important;
  min-height: auto !important;
  background:
    radial-gradient(circle at 18% 44%, rgba(172, 217, 255, .38), transparent 32%),
    radial-gradient(circle at 82% 0%, rgba(96, 165, 250, .12), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f1f8ff 100%) !important;
}
body:not([data-panel-role]) .hero.nv-hero-exact::before,
body:not([data-panel-role]) .hero.nv-hero-exact::after {
  display: none !important;
}
body:not([data-panel-role]) .nv-hero-exact .container {
  max-width: 1844px !important;
  width: 100% !important;
  padding-inline: clamp(10px, 2.6vw, 34px) !important;
}
body:not([data-panel-role]) .nv-hero-composite {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: visible;
  border-radius: 0;
}
body:not([data-panel-role]) .nv-hero-composite__image {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}
body:not([data-panel-role]) .nv-hero-hotspot {
  position: absolute;
  z-index: 5;
  appearance: none;
  border: 0;
  outline: 0;
  padding: 0;
  margin: 0;
  background: rgba(255,255,255,0);
  cursor: pointer;
  border-radius: 24px;
}
body:not([data-panel-role]) .nv-hero-hotspot:focus-visible {
  outline: 3px solid rgba(37, 99, 235, .55);
  outline-offset: 4px;
}
body:not([data-panel-role]) .nv-hero-hotspot--services {
  left: 72.1%;
  top: 50.4%;
  width: 16.4%;
  height: 9.5%;
}
body:not([data-panel-role]) .nv-hero-hotspot--chat {
  left: 55.2%;
  top: 50.5%;
  width: 16.1%;
  height: 9.4%;
}
body:not([data-panel-role]) .nv-hero-seo-copy {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
@media (max-width: 980px) {
  body:not([data-panel-role]) .hero.nv-hero-exact {
    padding-top: 16px !important;
    padding-bottom: 24px !important;
  }
  body:not([data-panel-role]) .nv-hero-exact .container {
    padding-inline: 0 !important;
  }
  body:not([data-panel-role]) .nv-hero-composite {
    overflow: hidden;
    border-radius: 0;
  }
  body:not([data-panel-role]) .nv-hero-composite__image {
    width: min(920px, 235vw);
    max-width: none;
    margin-right: auto;
    margin-left: 0;
  }
  body:not([data-panel-role]) .nv-hero-hotspot {
    display: none;
  }
}
@media (max-width: 540px) {
  body:not([data-panel-role]) .hero.nv-hero-exact {
    padding-top: 10px !important;
    padding-bottom: 14px !important;
  }
  body:not([data-panel-role]) .nv-hero-composite__image {
    width: 860px;
    transform: translateX(-8%);
  }
}
@media (max-width: 390px) {
  body:not([data-panel-role]) .nv-hero-composite__image {
    width: 800px;
    transform: translateX(-10%);
  }
}

/* NoorVista 3.0.53 — mobile hero visibility fix */
@media (max-width: 980px) {
  body:not([data-panel-role]) .hero.nv-hero-exact {
    padding-top: 12px !important;
    padding-bottom: 18px !important;
  }

  body:not([data-panel-role]) .nv-hero-exact .container {
    padding-inline: 12px !important;
  }

  body:not([data-panel-role]) .nv-hero-composite {
    overflow: visible !important;
    border-radius: 22px !important;
  }

  body:not([data-panel-role]) .nv-hero-composite__image {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    transform: none !important;
    object-fit: contain !important;
    border-radius: 22px !important;
  }
}

@media (max-width: 540px) {
  body:not([data-panel-role]) .hero.nv-hero-exact {
    padding-top: 8px !important;
    padding-bottom: 12px !important;
  }

  body:not([data-panel-role]) .nv-hero-exact .container {
    padding-inline: 8px !important;
  }

  body:not([data-panel-role]) .nv-hero-composite__image {
    width: 100% !important;
    transform: none !important;
  }
}
