/* Sticky Section Nav System (Matches Pro Coaching UI) */

.hero-topic-grid {
  position: sticky;
  top: 0;
  z-index: 99;
  backdrop-filter: blur(8px);
  padding: 12px 0;
}

.hero-topic.active {
  background: #29a8ff;
  color: #ffffff;
}

/* ===== HERO FINAL SYSTEM ===== */
.unified-hero {
  background: transparent;
  padding: 40px 0 30px;
  text-align: left;
}
.hero-content {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.hero-title {
  font-size: clamp(2.4rem, 4vw, 3rem);
  font-weight: 900;
  color: #ffffff;
  margin-bottom: 12px;
}
.hero-subtitle {
  font-size: 1.05rem;
  color: #d6e8ff;
  opacity: 0.9;
  margin-bottom: 28px;
  max-width: 780px;
  line-height: 1.42;
}
.module-label-pill {
  display: inline-block;
  background: rgba(0, 180, 255, 0.25);
  padding: 6px 18px;
  font-size: .78rem;
  border-radius: 10px;
  font-weight: 700;
  color: #dff3ff;
  margin-bottom: 14px;
}

/* Pills */
/* Full-Width Elite Pill Navigation Bar */
.hero-topic-grid {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* keeps symmetry if pills wrap */
  gap: 10px 14px; /* vertical + horizontal spacing */
  padding: 14px 0 6px; /* breathing room top + bottom */
  background: rgba(0, 20, 60, 0.40); /* subtle navy panel */
  border-top: 1px solid rgba(0, 180, 255, 0.25);
  border-bottom: 1px solid rgba(0, 180, 255, 0.25);
  backdrop-filter: blur(8px);
}

.hero-topic {
  background: rgba(0, 140, 255, 0.38);
  padding: 8px 18px; /* larger tap target */
  border-radius: 8px;
  font-size: .9rem;
  font-weight: 600;
  color: #d9eeff;
  cursor: pointer;
  white-space: nowrap;
  transition: background .20s, transform .12s;
}
.hero-topic:hover {
  background: rgba(0, 180, 255, .75);
  transform: translateY(-1px);
}
.hero-topic.active {
  background: #29a8ff;
  color: #ffffff;
}
/* Tighten hero spacing globally */
.module-hero {
  padding-top: 28px !important;
  padding-bottom: 24px !important;
}

/* Better title and subtitle hierarchy */
.module-hero-title {
  margin-bottom: 6px !important;
}

.module-hero-subtitle {
  margin-bottom: 4px !important;
}

/* Hero should stand alone and breathe */
.module-hero {
  padding-top: 32px !important;
  padding-bottom: 28px !important;
}

@media (max-width: 768px) {
  /* Mobile hero still compact */
  .module-hero {
    padding-top: 22px !important;
    padding-bottom: 20px !important;
  }/* CSS Document */
}

/* Ensure unified hero rule does NOT override later sections */
.unified-hero + .module-section {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
/* CSS Document */


