.case-studies__slider {
  --card-w: 70vw;
  --card-gap: 16px;
  --visible: 1;
  --frame-w: calc((var(--visible) + 1) * var(--card-w) + (var(--visible) + 1) * var(--card-gap));

  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: var(--frame-w);
  margin: 0 auto;
  gap: 32px;
  user-select: none;
}

@media (min-width: 48rem) {
  .case-studies__slider {
    --card-w: min(45vw, 480px);
    --card-gap: 32px;
    --visible: 1;
    gap: 40px;
  }
}

@media (min-width: 80rem) {
  .case-studies__slider {
    --card-w: 540px;
    --card-gap: 41px;
    --visible: 2;
    gap: 48px;
  }
}

.case-studies__viewport {
  width: 100%;
  overflow-x: clip;
  overflow-y: visible;
  padding-block: 24px;
  margin-block: -24px;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
}

.case-studies__track {
  display: flex;
  align-items: stretch;
  gap: var(--card-gap);
  transform: translateX(0);
  transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
  touch-action: pan-y;
}

.case-studies__slider--static .case-studies__track {
  flex-wrap: wrap;
  justify-content: center;
  touch-action: auto;
  will-change: auto;
}

.case-studies__slider--static .case-studies__viewport {
  -webkit-mask-image: none;
          mask-image: none;
}

.case-studies__slider--static .case-studies__slide {
  flex: 0 1 var(--card-w);
}

@media (min-width: 80rem) {
  .case-studies__slider--compact .case-studies__viewport {
    -webkit-mask-image: none;
            mask-image: none;
  }

  .case-studies__slider--compact .case-studies__track {
    justify-content: center;
    transform: none !important;
    transition: none;
    will-change: auto;
    touch-action: auto;
  }

  .case-studies__slider--compact[data-case-studies-real="2"] .case-studies__slide:nth-child(n+3),
  .case-studies__slider--compact[data-case-studies-real="3"] .case-studies__slide:nth-child(n+4) {
    display: none;
  }

  .case-studies__slider--compact .case-studies__nav {
    display: none;
  }
}

.case-studies__track[data-dragging] {
  transition: none;
  cursor: grabbing;
}

.case-studies__track[data-instant] {
  transition: none;
}

.case-studies__slider:not([data-case-studies-ready]) .case-studies__track {
  visibility: hidden;
}

.case-studies__slide {
  flex: 0 0 var(--card-w);
  width: var(--card-w);
  display: flex;
}

.case-studies__card {
  display: flex;
  flex-direction: column;
  width: 100%;
  background-color: var(--color-white-pure);
  border-radius: 12px;
  box-shadow: 0 4px 26px rgba(0, 0, 0, 0.16);
  overflow: hidden;
}

.case-studies__media {
  display: block;
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 4 / 3;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

@media (min-width: 48rem) {
  .case-studies__media {
    aspect-ratio: 16 / 10;
  }
}

@media (min-width: 80rem) {
  .case-studies__media {
    aspect-ratio: 540 / 362;
  }
}

.case-studies__img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  object-fit: cover;
}

.case-studies__body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
  flex: 1;
  gap: 32px;
  padding: 24px;
}

@media (min-width: 48rem) {
  .case-studies__body { padding: 32px; }
}

@media (min-width: 80rem) {
  .case-studies__body { padding: 40px; }
}

.case-studies__text {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  gap: 10px;
}

.case-studies__title {
  font-family: var(--font-poppins);
  font-weight: 600;
  font-size: 22px;
  line-height: 32px;
  color: var(--color-dark-darkest);
}

@media (min-width: 48rem) {
  .case-studies__title {
    font-size: 26px;
    line-height: 36px;
  }
}

@media (min-width: 80rem) {
  .case-studies__title {
    font-size: 30px;
    line-height: 42px;
  }
}

.case-studies__desc {
  font-family: var(--font-poppins);
  font-weight: 400;
  font-size: 15px;
  line-height: 22px;
  color: var(--color-dark-darkest);
}

@media (min-width: 48rem) {
  .case-studies__desc {
    font-size: 16px;
    line-height: 24px;
  }
}

.case-studies__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.case-studies__nav .btn--round {
  background:
    linear-gradient(180deg,
      rgba(247, 247, 247, 0.40) 0%,
      rgba(255, 255, 255, 0.00) 50%,
      rgba(255, 255, 255, 0.30) 100%),
    rgba(255, 255, 255, 0.55);
  color: var(--color-grey-mid);
}

.case-studies__nav .btn--round:hover::before {
  background-color: rgba(0, 0, 0, 0.04);
}

.case-studies__nav .btn--round:active::before {
  background-color: rgba(0, 0, 0, 0.06);
}
