.act-cases {
  color: #172d24;
  margin: 2.5rem auto 5rem;
  max-width: 88rem;
  width: calc(100% + 4rem);
}

.act-cases *,
.act-cases *::before,
.act-cases *::after {
  box-sizing: border-box;
}

.act-cases__intro {
  max-width: 48rem;
  margin-bottom: 2.75rem;
}

.act-cases__eyebrow {
  color: #38814c;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .1em;
  margin: 0 0 .75rem;
  text-transform: uppercase;
}

.act-cases .act-cases__intro h1 {
  color: #172d24;
  font-size: clamp(2rem, 4vw, 3.25rem);
  letter-spacing: -.035em;
  line-height: 1.12;
  margin: 0 0 1rem;
}

.act-cases__intro > p:last-child {
  color: #617067;
  font-size: 1.1rem;
  line-height: 1.65;
  margin: 0;
}

.act-cases__filters { display:grid; gap:1rem; margin:0 0 2rem; }
.act-cases__filter-group { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.act-cases__filter-label { flex-basis:100%; color:#172d24; margin-bottom:.15rem; }
.act-cases__filter { background:#fff; border:1px solid #c9cfcb; border-radius:.25rem; color:#172d24; cursor:pointer; font:inherit; padding:.65rem 1rem; }
.act-cases__filter:hover,.act-cases__filter:focus-visible { border-color:#159d4b; }
.act-cases__filter.is-active { background:#159d4b; border-color:#159d4b; color:#fff; font-weight:700; }
.act-cases__hashtags { display:flex; flex-wrap:wrap; gap:.4rem; margin:0 0 .85rem; }
.act-cases__hashtags span { background:#edf6ef; border-radius:2rem; color:#287341; font-size:.78rem; padding:.25rem .55rem; }
.act-cases__card[hidden] { display:none; }

.act-cases__grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.act-cases__card {
  background: #fff;
  border: 1px solid #d5dfd7;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

.act-cases__card-link {
  color: inherit;
  display: flex;
  flex: 1;
  flex-direction: column;
  text-decoration: none;
}

.act-cases__image {
  aspect-ratio: 16 / 10;
  display: block;
  overflow: hidden;
}

.act-cases__image img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.act-cases__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.5rem;
}

.act-cases__category {
  color: #38814c;
  font-size: .78rem;
  font-weight: 700;
  margin: 0 0 1rem;
}

.act-cases .act-cases__card h2 {
  color: #172d24;
  font-size: 1.05rem !important;
  letter-spacing: -.025em;
  line-height: 1.35 !important;
  margin: 0 0 1rem !important;
}

.act-cases__card-link:focus-visible {
  outline: 3px solid #159d4b;
  outline-offset: -3px;
}

.act-cases__summary {
  color: #617067;
  font-size: .95rem;
  line-height: 1.6;
  margin: 0 0 1.75rem;
}

.act-cases__more {
  align-items: center;
  border-top: 1px solid #e7ede8;
  color: #1e6d37;
  display: flex;
  font-size: .9rem;
  font-weight: 700;
  gap: 1rem;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 1rem;
  text-decoration: none;
}

.act-cases__more span {
  font-size: 1.35rem;
  line-height: 1;
}

.act-cases__empty {
  background: #f6f8f6;
  border-radius: 1rem;
  color: #617067;
  padding: 2.5rem;
  text-align: center;
}

@media (max-width: 960px) {
  .act-cases__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .act-cases {
    margin: 2rem 0 3rem;
    width: 100%;
  }

  .act-cases__grid {
    grid-template-columns: 1fr;
  }

  .act-cases__body {
    padding: 1.25rem;
  }
}
