.section-heading {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.gameplay-intro {
  margin-bottom: var(--space-24);
}

.gameplay-loop-grid .card {
  height: 100%;
}

.media-frame {
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}

.media-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gameplay-list {
  margin-top: var(--space-4);
  display: grid;
  gap: var(--space-3);
  padding-left: var(--space-4);
}

.gameplay-list li {
  position: relative;
  padding-left: var(--space-4);
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

.gameplay-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--color-primary), #7cf7ff);
  box-shadow: 0 0 10px rgba(95, 210, 255, 0.9);
}

.hero__subtitle strong {
  color: var(--color-text);
}

@media (min-width: 1024px) {
  .combat-grid,
  .crafting-grid,
  .companion-grid,
  .quests-grid,
  .puzzle-survival-grid,
  .boss-grid,
  .replay-grid {
    align-items: center;
    gap: var(--space-16);
  }
}

.progression-grid .card {
  height: 100%;
}

.boss-grid .media-frame,
.quests-grid .media-frame,
.exploration-grid .media-frame {
  max-height: 360px;
}

@media (max-width: 768px) {
  .gameplay-intro {
    margin-bottom: var(--space-16);
  }

  .media-frame {
    margin-bottom: var(--space-8);
  }
}
