/* ═══════════════════════════════════════════════════════════
   Hub hero — shared brand gradient (no background images)
   State / county / city hub pages
   ═══════════════════════════════════════════════════════════ */

.hero--hub-brand,
.hero--nj,
.hero--ny,
.hero--ct,
.hero--pa,
.hub-nj,
.hub-ny,
.hub-ct,
.hub-pa {
  position: relative !important;
  overflow: hidden !important;
  min-height: 60vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 88px 20px 48px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  background:
    radial-gradient(circle at 82% 20%, rgba(77, 163, 255, 0.12), transparent 34%),
    linear-gradient(135deg, #07111d 0%, #0a1725 55%, #07101a 100%) !important;
  background-image: none !important;
}

.hero-bg-desktop,
.hero-bg-mobile {
  display: none !important;
}

.hero--hub-brand::before,
.hero--nj::before,
.hero--ny::before,
.hero--ct::before,
.hero--pa::before,
.hub-nj::before,
.hub-ny::before,
.hub-ct::before,
.hub-pa::before {
  display: none !important;
}

.hero--hub-brand > *:not(.hero-bg-desktop):not(.hero-bg-mobile),
.hero--nj > *:not(.hero-bg-desktop):not(.hero-bg-mobile),
.hero--ny > *:not(.hero-bg-desktop):not(.hero-bg-mobile),
.hero--ct > *:not(.hero-bg-desktop):not(.hero-bg-mobile),
.hero--pa > *:not(.hero-bg-desktop):not(.hero-bg-mobile),
.hub-nj > *:not(.hero-bg-desktop):not(.hero-bg-mobile),
.hub-ny > *:not(.hero-bg-desktop):not(.hero-bg-mobile),
.hub-ct > *:not(.hero-bg-desktop):not(.hero-bg-mobile),
.hub-pa > *:not(.hero-bg-desktop):not(.hero-bg-mobile) {
  position: relative;
  z-index: 1;
}

.hero--hub-brand h1,
.hero--nj h1,
.hero--ny h1,
.hero--ct h1,
.hero--pa h1,
.hub-nj h1,
.hub-ny h1,
.hub-ct h1,
.hub-pa h1 {
  color: #ffffff !important;
  font-family: "DM Sans", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  text-shadow: none !important;
}

.hero--hub-brand .hero-sub,
.hero--nj .hero-sub,
.hero--ny .hero-sub,
.hero--ct .hero-sub,
.hero--pa .hero-sub,
.hub-nj .hero-sub,
.hub-ny .hero-sub,
.hub-ct .hero-sub,
.hub-pa .hero-sub {
  color: rgba(255, 255, 255, 0.82) !important;
  text-shadow: none !important;
}

.hero--hub-brand .hero-badge,
.hero--nj .hero-badge,
.hero--ny .hero-badge,
.hero--ct .hero-badge,
.hero--pa .hero-badge,
.hub-nj .hero-badge,
.hub-ny .hero-badge,
.hub-ct .hero-badge,
.hub-pa .hero-badge {
  color: #4d8fd9 !important;
  background: rgba(77, 143, 217, 0.12) !important;
  border-color: rgba(77, 143, 217, 0.28) !important;
  text-shadow: none !important;
}

.hero--hub-brand .hero-facts li,
.hero--nj .hero-facts li,
.hero--ny .hero-facts li,
.hero--ct .hero-facts li,
.hero--pa .hero-facts li {
  color: rgba(255, 255, 255, 0.78) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

.hero.hero--contrast .hero-inner {
  max-width: 540px;
}

@media (max-width: 768px) {
  .hero--hub-brand,
  .hero--nj,
  .hero--ny,
  .hero--ct,
  .hero--pa,
  .hub-nj,
  .hub-ny,
  .hub-ct,
  .hub-pa {
    min-height: 40vh !important;
    padding: 64px 16px 28px !important;
  }

  .hero.hero--contrast .hero-inner {
    max-width: 100%;
  }
}

/* Consistent dark navigation on hub pages linking this sheet */
body .nav {
  background: rgba(23, 33, 47, 0.96) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  height: 60px !important;
}

body .nav-link {
  color: rgba(255, 255, 255, 0.78) !important;
}

body .nav-link:hover {
  color: #ffffff !important;
}

body .nav-menu-btn {
  color: rgba(255, 255, 255, 0.9) !important;
}
