/**
 * Hero.
 *
 * Mobile-first: single column, then the two-column grid comes in at 768px.
 */

.dc-hero {
  position: relative;
  overflow: hidden;
  background: var(--bg-surface);
  border-bottom: 1px solid var(--border-subtle);
}

.dc-hero__inner {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 28px;
  max-width: var(--container-wide);
  margin: 0 auto;
  padding: var(--space-8) var(--space-5) var(--space-12);
}

.dc-hero__headline {
  margin: 0 0 18px;
  font-family: var(--font-brand);
  font-weight: var(--weight-black);
  font-size: 38px;
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-headline);
  color: var(--digicel-red);
  text-wrap: balance;
}

.dc-hero__subhead {
  max-width: 580px;
  margin: 0 0 var(--space-8);
  font-weight: var(--weight-bold);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  letter-spacing: var(--tracking-body);
  color: var(--fg-primary);
}

.dc-hero__badges {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 14px;
}

.dc-hero__badge img {
  display: block;
  height: 44px;
}

.dc-hero__media {
  position: relative;
  width: 100%;
}

.dc-hero__photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: var(--radius-xl);
}

/* Tablet (768–1023px): still a single stacked column, per the design handoff —
   content first, photo below — with an intermediate headline size. The two
   column grid is a desktop-only layout. */
@media (min-width: 768px) {
  .dc-hero__inner {
    gap: 40px;
    padding: 56px var(--space-8) 64px;
  }

  .dc-hero__content {
    max-width: 720px;
  }

  .dc-hero__headline {
    font-size: clamp(44px, 6vw, 60px);
  }

  .dc-hero__subhead {
    font-size: var(--text-md);
  }

  .dc-hero__badges {
    flex-direction: row;
    align-items: center;
  }

  .dc-hero__badge img {
    height: 52px;
  }

  .dc-hero__photo {
    aspect-ratio: 16 / 9;
  }
}

/* Desktop (≥1024px): the two-column hero. */
@media (min-width: 1024px) {
  .dc-hero__inner {
    grid-template-columns: 1fr 1.05fr;
    gap: 56px;
    padding: 72px var(--space-8) 88px;
  }

  .dc-hero__content {
    max-width: none;
  }

  .dc-hero__headline {
    font-size: clamp(48px, 5.2vw, 72px);
  }

  .dc-hero__photo {
    aspect-ratio: 5 / 6;
  }
}
