After reviewing the code, it appears that the .icon class has a width of 20vw, while the .desc class does not have any specified width.
For the "Fast speed" section, the content is small enough to fit within a smaller container, but the other sections cannot do so because they are all displayed as flex items. Even though you applied 20vw, it only takes effect where there is enough space, such as in the "Fast speed" section. The other .icon classes are smaller than 20vw, leading to an indented appearance.
One solution could be to add a width property to the .desc class like this:
.desc {
width: 80vw;
}
Another solution could be implemented for the mobile version:
.icon {
display: flex;
align-items: center;
justify-content: center;
height: 125px;
/* width: 20vw; */
padding: 0px 15px;
}