.cases {
  padding-bottom: 2.5rem;
  overflow-anchor: none;
}

.cases-hero {
  height: 80vh;
  min-height: 550px;
  max-height: min(1200px, 100vw);
  position: relative;
}

.cases-hero > .container {
  position: absolute;
  top: 65%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}

.cases__title {
  margin: 0 0 2rem;
  font-size: min(18.75vw, 240px);
  line-height: 0.84;
  letter-spacing: -0.06em;
}

.cases__title--en {
  font-size: min(10.8vw, 156px);
  white-space: nowrap;
}

.cases-filters {
  margin-bottom: 2rem;
  padding: 0.2rem 0 0.8rem;
}

.cases-content {
  overflow-anchor: none;
}

.cases-empty {
  color: var(--text-muted);
  margin-top: 2rem;
}

.section {
  margin: 20rem 0;
}

.section-title {
  margin-top: 2px;
  font-size: var(--type-label-size);
  line-height: var(--type-label-line);
  position: relative;
  font-weight: var(--type-label-weight);
  letter-spacing: var(--type-label-tracking);
  padding-left: 20px;
  &::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent);
  }
}

/* чтобы аккордеон не “якорил” скролл при изменении высоты */
.section.expertise {
  overflow-anchor: none;
}

@media (max-width: 990px) {
  .cases {
    padding-bottom: 2rem;
  }

  .cases-hero {
    min-height: 460px;
  }

  .cases__title {
    margin-bottom: 1.5rem;
  }

  .cases-filters {
    margin-bottom: 1.6rem;
    gap: calc(var(--vr) * 2);
  }

  .section-title {
    margin-bottom: 5rem;
  }

  .section {
    margin: 10rem 0;
  }
}

@media (max-width: 640px) {
  .cases-hero {
    min-height: 380px;
  }

  .section-title {
    padding-left: 12px;
    &::before {
      left: 0;
      width: 6px;
      height: 6px;
    }
  }
}

@media (max-width: 767px) {
  .cases__title {
    margin-bottom: 0;
  }

  .ui-filters.cases-filters {
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    margin-top: 3rem;
    row-gap: 32px;
    column-gap: calc(var(--vr) * 2);
  }
}

@media (max-width: 499px) {
  .section {
    margin: 6rem 0;
  }
}
