.acpa-match {
  position: relative;
  overflow: clip;
  padding: 0 0 var(--section-spacing);
}

.acpa-match__grid {
  align-items: center;
}

.acpa-match__heart {
  fill: #e17379;
  height: 30px;
  width: auto;
  display: block;
  overflow: visible;
	animation: acpaMatchPulse 1s infinite;
}

.acpa-match__text {
  position: relative;
}

.acpa-match__media {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 4;
  margin: 0 auto var(--text-spacing-md);
}

.acpa-match__media::after {
  content: "Disclaimer: The use of your logo and other brand assets is solely to demonstrate our product and how it relates to yours. This use is for illustrative purposes only and does not imply sponsorship, endorsement, or affiliation between the parties. We just really like your style.";
  font-size: 11px;
  line-height: 1.4;
  opacity: 0.5;
  left: 0;
  position: absolute;
  bottom: 0;
  width: 37%;
  padding-bottom: 5px;
}

@media screen and (max-width: 599px) {
  .acpa-match__media {
    margin-bottom: calc(var(--text-spacing-md) + 140px);
  }
  
  .acpa-match__media::after {
    position: absolute;
    width: 100%;
    text-align: center;
    transform: translateY(100%);
    padding-top: 20px;
  }
}
  
.acpa-match__media-src {
  position: absolute;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: top;
  border-radius: var(--border-radius-md);
  background-color: #fff;
  box-shadow: -10px 10px 40px 0px rgba(27, 26, 61, 0.10);
}

{#
.acpa-match__media-src-1 {
  width: 40%;
  left: 50%;
  top: 0;
  z-index: 3;
}
#}
  
.acpa-match__media-src-2 {
  width: 70%;
  left: 0;
  top: 20%;
  z-index: 2;
}
  
.acpa-match__media-src-3 {
  width: 50%;
  right: 0;
  bottom: 0;
  z-index: 1;
}
  
.acpa-match__media-svg {
  position: absolute;
  width: 15%;
  height: auto;
  z-index: 4;
}
  
.acpa-match__media-svg-1 {
  top: 35%;
  left: 65%;
}
  
.acpa-match__media-svg-2 {
  bottom: 20%;
  left: 43%;
}

.acpa-match__text {
}

@media screen and (max-width: 899px) {
  .acpa-match__text {
    max-width: 36em;
  }
}

@media screen and (min-width: 900px) {
  .acpa-match__heart {
    height: 40px;
  }

  .acpa-match__media {
    order: 1;
    grid-column: 1 / 7;
    margin-bottom: 0;
  }

  .acpa-match__text {
    order: 2;
    grid-column: 8 / 13;
    padding-top: var(--section-spacing);
  }
}

@media screen and (min-width: 1200px) {
  .acpa-match__media {
    grid-column: 1 / 7;
  }
  
  .acpa-match__text {
    grid-column: 8 / 12;
  }
}

@keyframes acpaMatchPulse {
	10% {
    transform: scale(1.1);
  }
}