/* =================================================
   COMPONENT — Hero Section
   Used on: Contact page (ID: 160)
   ================================================= */

.page-id-160 .elementor-section:first-of-type {
  padding: 0 !important;
  margin: 0 !important;
}

/* Wrapper */
.ng-hero {
  position: relative;
  padding: 50px 0px;
  overflow: hidden;
  text-align: center;
}

/* Background layer */
.ng-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.ng-hero-bg svg {
  width: 100%;
  height: 100%;
}

/* Content container */
.ng-hero-container {
  position: relative;
  z-index: 2;
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Eyebrow label */
.ng-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ng-blue);
  margin-bottom: 20px;
}

.ng-hero-eyebrow .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ng-blue);
}

/* Main heading */
.ng-hero-title {
  font-size: clamp(34px, 5vw, 52px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-bottom: 18px;
}

.ng-hero-title span {
  color: var(--ng-blue);
}

/* Subtext */
.ng-hero-description {
  font-size: 18px;
  line-height: 1.7;
  color: #5b6f8f;
  max-width: 600px;
}

/* Responsive */
@media (max-width: 768px) {
  .ng-hero {
    padding: 80px 16px;
  }

  .ng-hero-title {
    font-size: 30px;
  }

  .ng-hero-description {
    font-size: 16px;
  }
}
