/* ==============================================
   COMPONENT: Hero
   Description: Full-width blue homepage banner with text column and stat card grid
   ============================================== */

/* --- Block --- */

.hero {
  position: relative;
  background: var(--color-innovation-blue);
  color: var(--color-clinical-white);
  padding-block: var(--space-16);
  overflow: hidden;
}

/* Decorative grid pattern overlay */
.hero__pattern {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
}

/* --- Container — 2-column desktop grid --- */

.hero__container {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-12);
  align-items: center;
}

/* --- Content column --- */

.hero__eyebrow {
  display: inline-block;
  font-size: var(--text-sm);
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-vitality-orange);
  margin-bottom: var(--space-4);
}

.hero__heading {
  color: var(--color-clinical-white);
  margin-bottom: var(--space-6);
}

.hero__subheading {
  font-size: var(--text-lg);
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: var(--space-8);
  max-width: 56ch;
}

.hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
}

/* --- Stat cards column --- */

.hero__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-4);
}

/* --- Responsive --- */

@media (min-width: 768px) {
  .hero {
    padding-block: var(--space-20);
  }
}

@media (min-width: 1024px) {
  .hero__container {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-16);
  }

  .hero__subheading {
    font-size: var(--text-xl);
  }
}
