.ec-case-crumb { padding-block: 20px 0; font-size: .875rem; }
.ec-case-crumb nav { display: flex; flex-wrap: wrap; gap: .55rem; }
.ec-case-story { padding-top: clamp(2rem, 5vw, 4rem); }
.ec-case-media {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(1rem, 3vw, 2rem);
}
.ec-case-media.ec-case-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ec-case-media figure {
  min-width: 0;
  margin: 0;
  padding: clamp(.9rem, 2vw, 1.35rem);
  border: 1px solid #dadcdd;
  background: #fff;
}
.ec-case-media h3 { margin: .25rem 0 .75rem; }
.ec-case-media img { display: block; width: 100%; height: auto; }
.ec-case-story .ec-sample-image {
  background: #eff1f3;
}
.ec-case-story .ec-sample-image img {
  aspect-ratio: 4 / 3;
  object-fit: contain;
}
.ec-case-story .ec-case-three .ec-sample-image img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
}
.ec-case-media figcaption { margin-top: .9rem; color: #444; line-height: 1.65; }
.ec-case-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid #dadcdd;
  background: #fff;
  color: inherit;
  text-decoration: none;
}
.ec-case-card img { aspect-ratio: 16 / 10; object-fit: cover; }
.ec-case-card > div {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: clamp(1rem, 2vw, 1.5rem);
}
.ec-case-card .ec-text-link { margin-top: auto; }
.ec-case-card:hover h3, .ec-case-card:focus-visible h3 { text-decoration: underline; }
@media (max-width: 760px) {
  .ec-case-media, .ec-case-media.ec-case-three { grid-template-columns: minmax(0, 1fr); }
}
