/* =========================================================
   COMPONENT — Step Cards
   Cards coloridos com número grande à esquerda e "— label" no
   topo direito, título uppercase e descrição centralizados.
   Usado em: hub-top-executive (pilares), mapeamento (etapas).
   ========================================================= */

.step-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
}
@media (min-width: 640px)  { .step-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .step-cards { grid-template-columns: repeat(4, 1fr); } }

.step-card {
  color: #fff;
  border-radius: 24px;
  padding: 32px 28px 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Modificadores de cor de fundo */
.step-card--navy { background: #2B317F; }
.step-card--pink { background: var(--color-pink); }

/* Header: número grande à esquerda + "— label" alinhado ao topo dele */
.step-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 14px;
  width: 100%;
  margin-bottom: var(--space-6);
}

.step-card__number {
  font-size: 88px;
  font-weight: 700;
  line-height: 0.85;
  color: rgba(255, 255, 255, 0.28);
  letter-spacing: -0.04em;
  display: block;
}
@media (min-width: 1024px) { .step-card__number { font-size: 96px; } }

.step-card__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  /* empurra pra baixo pra alinhar com o topo do número */
  padding-top: 20px;
}
@media (min-width: 1024px) { .step-card__meta { padding-top: 22px; } }

.step-card__divider {
  display: block;
  width: 28px;
  height: 1px;
  background: rgba(255, 255, 255, 0.55);
}

.step-card__label {
  font-size: 18px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 0.04em;
  line-height: 1;
}

.step-card__title {
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.25;
  margin: 0 0 var(--space-4);
}

.step-card__desc {
  color: #fff;
  font-size: 18px;
  line-height: 1.55;
  margin: 0;
}
