section.page-section.header {
  flex-direction: column;
}

section.page-section.header:not(.subtitle) h3 {
  font-weight: var(--theme-font-weight-primary);
}

section.page-section.header h3 em {
  display: inline-block;
  font-weight: var(--theme-font-weight-header-3);
}

section.page-section.header summary {
  font-size: var(--theme-font-size-header-4);
}

section.page-section.header.subtitle h3 {
  text-align: center;
}

section.page-section.steps {
  overflow-x: scroll;
  gap: calc(var(--theme-page-spacing-block-primary) * 1.5);
  padding-block-end: calc(var(--theme-page-spacing-block-primary) / 3);
  padding-inline: var(--theme-page-spacing-inline-primary);
}

section.page-section.steps.column {
  flex-direction: column;
  gap: calc(var(--theme-page-spacing-block-primary) * 1.25);
  overflow-x: hidden;
}

section.page-section.steps article.step {
  flex: 0 0 25%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

section.page-section.steps article.step section.number {
  flex: 0 0 auto;
  font-size: 5em;
  font-weight: 900;
  line-height: 1em;
}

section.page-section.steps article.step section.number::after {
  content: '.';
  font-size: 0.8em;
}

section.page-section.steps article.step section.content h4 {
  margin-block-end: 0.4em;
}

@media (max-width: 1920px) {
  section.page-section.steps article.step {
    flex: 0 0 40%;
  }
}

@media (max-width: 992px) {
  section.page-section.steps {
    gap: var(--theme-page-spacing-block-primary);
    padding-inline-end: calc(var(--theme-page-spacing-inline-primary) * 3);
  }

  section.page-section.steps article.step {
    flex: 0 0 80%;
  }
}
