.o-cta-group {
  --columns: 1;
  --sub-grid-columns: 1;
  --grid-column-start: 1;
  --card-min-width: 210px;
  --block-margin: var(--spacing-lg);
  --layout-section-padding: var(--spacing-xl);
  margin-block: var(--block-margin);
}
@media screen and (min-width: 480px) {
  .o-cta-group {
    --sub-grid-columns: 2;
  }
}
@media screen and (min-width: 1100px) {
  .o-cta-group {
    --columns: 4;
    --sub-grid-columns: 4;
  }
  .o-cta-group:has(.o-cta-group__heading) {
    --grid-column-start: 2;
    --sub-grid-columns: 2;
  }
}
@media screen and (min-width: 1250px) {
  .o-cta-group:has(.o-cta-group__heading) {
    --sub-grid-columns: 4;
  }
}
.o-cta-group__content {
  display: grid;
  gap: var(--spacing-md);
  grid-template-columns: repeat(var(--columns), 1fr);
}
.o-cta-group__heading {
  grid-column: 1;
}
.o-cta-group__grid {
  grid-column: var(--grid-column-start)/-1;
  display: grid;
  gap: var(--spacing-sm);
  grid-template-columns: repeat(var(--sub-grid-columns), minmax(0, 1fr));
  align-self: start;
}
@media screen and (min-width: 1250px) {
  .o-cta-group__grid {
    gap: var(--spacing-md);
  }
}

.m-small-cta {
  --fs: var(--body-fs-lg);
  --img-aspect-ratio: 225 / 93;
  --img-border-radius: var(--border-radius-20);
  --cta-border-radius: 0;
  --rows: [visual-start] 1fr [visual-end title-start] auto [title-end];
  --columns: [visual-start title-start] 1fr [visual-end title-end];
  --title-justify: start;
  --title-align: start;
  --top-border-content: " ";
  --padding: 0;
  border-radius: var(--cta-border-radius);
  overflow: clip;
}
.m-small-cta[data-layout=stacked] {
  --fs: var(--h6-fs);
  --img-aspect-ratio: 321 / 109;
  --img-border-radius: 0;
  --cta-border-radius: var(--border-radius-8);
  --rows: [visual-start title-start] 1fr [visual-end title-end];
  --title-justify: center;
  --title-align: center;
  --top-border-content: none;
  --padding: var(--spacing-sm);
}
.m-small-cta__link {
  text-decoration: none;
}
.m-small-cta__link:focus-visible .m-small-cta__image, .m-small-cta__link:focus .m-small-cta__image {
  border: 2px solid blue;
}
.m-small-cta__content {
  display: grid;
  gap: var(--spacing-sm);
  grid-template-columns: var(--columns);
  grid-template-rows: var(--rows);
  isolation: isolate;
}
.m-small-cta__image {
  grid-area: visual;
  aspect-ratio: var(--img-aspect-ratio);
  border-radius: var(--img-border-radius);
  overflow: clip;
  z-index: 0;
  position: relative;
}
.m-small-cta__image::before {
  content: var(--top-border-content);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 0.813rem;
  background-color: rgb(var(--color-background));
}
.m-small-cta__image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  display: block;
  opacity: var(--opacity, 1);
  mix-blend-mode: var(--blend);
  transition: transform 0.35s ease-in-out;
}
.m-small-cta__title {
  font-size: var(--fs);
  z-index: 1;
  grid-area: title;
  align-self: var(--title-align);
  justify-self: var(--title-justify);
  padding: var(--padding);
  white-space: balance;
}
.m-small-cta:hover img {
  transform: scale(1.15);
}
