.section {
  --section-pad: var(--sp-12);
  padding-block: var(--section-pad);
}

.section--slider + .section--slider { padding-top: 0; }
.section.work + .section { padding-top: 0; }

.section--slider + .section--closing {
  margin-top: calc(var(--sp-4) - var(--section-pad));
  padding-top: 0;
}

.section--slider + .section--cta {
  margin-top: calc(-1 * var(--sp-4));
  padding-top: 0;
}

.section--under-hero {
  position: relative;
  z-index: 1;
  background-color: transparent;
  padding-top: var(--sp-12);
}

.section-head {
  --head-gap: var(--sp-4);
  --head-gaps: 4;
  --head-mark: 1.5rem;
  --head-title-em: 11.4;

  container-type: inline-size;
  display: flex;
  align-items: center;
  gap: var(--head-gap);
  margin-bottom: var(--sp-8);
}

.section-head--long { --head-title-em: 14.8; }

.section-head__rule {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--c-line-strong));
}
.section-head__rule:last-child {
  background: linear-gradient(90deg, var(--c-line-strong), transparent);
}

.section-head__mark {
  display: flex;
  font-size: var(--head-mark);
  color: var(--c-text);
}

.section-head__mark svg {
  width: 1em;
  height: 1em;
}

.section-head__title {
  margin: 0;
  font-size: var(--fs-section);
  font-size: min(
    var(--fs-section),
    calc((100cqi - var(--head-gaps) * var(--head-gap) - 2 * var(--head-mark)) / var(--head-title-em))
  );
  font-weight: 400;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 860px) {
  .section { --section-pad: var(--sp-6); }
  .section-head { margin-bottom: var(--sp-6); }

  .section--under-hero { padding-top: var(--sp-6); }
}

@media (max-width: 560px) {
  .section { --section-pad: var(--sp-4); }
  .section-head { --head-gap: var(--sp-3); }

  .section.work + .section { padding-top: var(--section-pad); }
}

@media (max-width: 440px) {
  .section-head--long {
    --head-gaps: 2;
    flex-wrap: wrap;
    justify-content: center;
  }

  .section-head--long::before {
    content: "";
    flex: 0 0 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--c-line-strong), transparent);
  }

  .section-head--long .section-head__rule { display: none; }
}
