/* Shared layout */
.intro,
.services,
.protocol,
.technology,
.training-block,
.faq,
.contact {
  position: relative;
  padding-left: var(--page-gutter);
  padding-right: var(--page-gutter);
}
.section-heading h2,
.contact h2 {
  max-width: 880px;
  font-size: var(--display-size);
  line-height: 1;
  letter-spacing: -0.05em;
  font-weight: 430;
  text-wrap: balance;
}
.section-heading p {
  max-width: 560px;
  font-size: var(--body-copy-size);
  line-height: 1.45;
  letter-spacing: -0.018em;
  color: var(--muted);
}
.section-heading > p {
  margin-top: 30px;
}

/* System overview */
.intro {
  padding-top: clamp(108px, 12vw, 184px);
  padding-bottom: clamp(100px, 12vw, 180px);
}
.signal-line {
  margin-top: clamp(110px, 13vw, 200px);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(18px, 3vw, 56px);
}
.signal-line > div {
  min-height: 100px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.signal-line dt {
  font-size: clamp(27px, 2.8vw, 42px);
  line-height: 1;
  letter-spacing: -0.04em;
  font-weight: 420;
}
.signal-line dd {
  font-size: 9px;
  letter-spacing: 0.06em;
  color: var(--quiet);
}
