/* Statistics Section */
.statistics {
  background-color: var(--stats-bg-color);
}

.statistics__wrapper {
  width: 100%;
}

.statistics__header {
  margin-bottom: 4rem;
}

.statistics__heading {
  color: var(--stats-number-color);
  margin: 0;
}

/* Grid Layout */
.statistics__grid {
  display: grid;
  gap: 3rem;
  align-items: center;
  justify-items: center;
}

.statistics__grid.grid--4-col-desktop {
  grid-template-columns: repeat(4, 1fr);
}

.statistics__grid.grid--3-col-desktop {
  grid-template-columns: repeat(3, 1fr);
}

.statistics__grid.grid--2-col-desktop {
  grid-template-columns: repeat(2, 1fr);
}

/* Statistics Item */
.statistics__item {
  text-align: center;
  padding: 2rem;
  width: 100%;
  max-width: 30rem;
}

/* Number Styling */
.statistics__number-wrapper {
  margin-bottom: 1.2rem;
}

.statistics__number {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--stats-number-color);
  display: inline-block;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}

/* Label Styling */
.statistics__label {
  font-size: 1.4rem;
  line-height: 1.6;
  color: var(--stats-text-color);
  margin: 0;
  font-weight: 400;
}

/* Animation State */
.statistics__item[data-animate-stats] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.statistics__item[data-animate-stats].animated {
  opacity: 1;
  transform: translateY(0);
}

/* Tablet Styles */
@media screen and (max-width: 989px) {
  .statistics__grid.grid--4-col-desktop,
  .statistics__grid.grid--3-col-desktop,
  .statistics__grid.grid--2-col-desktop {
    grid-template-columns: repeat(2, 1fr);
  }

  .statistics__number {
    font-size: 4rem;
  }

  .statistics__label {
    font-size: 1.3rem;
  }

  .statistics__header {
    margin-bottom: 3rem;
  }
}

/* Mobile Styles */
@media screen and (max-width: 749px) {
  .statistics__grid.grid--4-col-desktop,
  .statistics__grid.grid--3-col-desktop,
  .statistics__grid.grid--2-col-desktop,
  .statistics__grid.grid--1-col-mobile {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem 2rem;
  }

  .statistics__item {
    padding: 1.5rem 1rem;
    max-width: 100%;
  }

  .statistics__number {
    font-size: 3.2rem;
  }

  .statistics__label {
    font-size: 1.2rem;
  }

  .statistics__header {
    margin-bottom: 2.5rem;
  }
}

/* Very Small Mobile */
@media screen and (max-width: 480px) {
  .statistics__number {
    font-size: 2.8rem;
  }

  .statistics__label {
    font-size: 1.1rem;
  }
}
