.section {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap-section, 20px);
}

.section__title {
  font-size: inherit;
  font-weight: bold;
  color: var(--color-button, #ff0070);
}

.section__content:not(.section-part),
ul.section-part__content {
  display: flex;
  flex-direction: column;
  gap: var(--gap-section-text, 20px);
}

.section-part__content:has(img) {
  gap: var(--gap-section-images, 10px);
}

.section-part__title {
  font-weight: bold;
}

.section__content:not(.section-part) .section-part__title {
  margin-block-end: var(--margin-block-end-part-title, 10px);
}

.section-part__title 
.section-part__content:has(img) {
  display: flex;
  flex-direction: column;
}

.section-part:has(.section-subpart) .section-part__title {
  margin-block-end: 20px;
}

.section-part:has(.section-part__image) .section-part__title {
  margin-block-end: var(--gap-section-images);
}

.section-subpart__title {
  margin-block-end: var(--margin-block-end-subpart-title);
  font-weight: normal;
}

.section-part__image {
  object-fit: cover;
  object-position: center;
}

@media (width >= 768px) {
  .section {
    grid-template-columns: repeat(3, 1fr);
  }

  .section:nth-of-type(2n + 1) .section__content {
    grid-column: 2 / -1;
  }

  .section:nth-of-type(2n) .section__content {
    grid-row: 2 / 3;
    grid-column: 1 / -1;
  }

  .section-part__content:has(.section-part__image) {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-areas: 
      "sunset sunset ice-cream"
      "tape   books  ice-cream"
      "tape   street street   "
    ;
  }

  .section-part__image-container:nth-child(1) {
    grid-area: sunset;
  }

  .section-part__image-container:nth-child(2) {
    grid-area: ice-cream;
  }

  .section-part__image-container:nth-child(3) {
    grid-area: tape;
  }

  .section-part__image-container:nth-child(4) {
    grid-area: books;
  }

  .section-part__image-container:nth-child(5) {
    grid-area: street;
  }
}

@media (width >= 1024px) {
  .section:nth-of-type(2) .section__content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}