/* =============================================
   PERFECT MATCH CTA SECTION
   ============================================= */

.perfectmatch {
  background-color: #fff;
  background-image: radial-gradient(circle, rgba(0,0,0,0.08) 5px, transparent 1.5px);
  background-size: 50px 50px;
  padding: 70px 0;
}

.perfectmatch__inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px;
}

/* Banner pill */
.perfectmatch__banner {
  background: #FF00CC;
  border-radius: 28px;
  display: flex;
  align-items: center;
  overflow: hidden;
  min-height: 280px;
}

/* Left: ilustrasi */
.perfectmatch__left {
  flex: 0 0 52%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0 0 0 40px;
  overflow: hidden;
}

.perfectmatch__left img {
  width: 100%;
  max-width: 520px;
  object-fit: contain;
  display: block;
  margin-left: -82px;
  margin-bottom: -20px;
}  
}

/* Right: teks */
.perfectmatch__right {
  flex: 1;
  padding: 44px 48px 44px 20px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.perfectmatch__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 900;
  font-size: 63px;
  line-height: 0.85;
}

.perfectmatch__title span {
  display: block;
}

.perfectmatch__title--white { color: #ffffff; }
.perfectmatch__title--black { color: #111111; }

.perfectmatch__buttons {
  display: flex;
  gap: 14px;
  margin-top: 30px;
}

.perfectmatch__buttons .btn {
  font-size: 20px;
  padding: 13px 32px;
}

/* =============================================
   RESPONSIVE
   ============================================= */

/* ===== TABLET 768px ===== */
@media (max-width: 768px) {

  .perfectmatch { padding: 50px 0; }

  .perfectmatch__banner {
    flex-direction: column;
    border-radius: 20px;
    min-height: auto;
  }

  .perfectmatch__left {
    flex: none;
    width: 100%;
    padding: 30px 30px 0;
    justify-content: center;
  }

  .perfectmatch__left img {
    max-width: 340px;
    margin-left: 0;
    margin-bottom: -10px;
  }

  .perfectmatch__right {
    padding: 24px 28px 36px;
    gap: 16px;
    align-items: center;
    text-align: center;
  }

  .perfectmatch__title { font-size: 42px; }

  .perfectmatch__buttons {
    margin-top: 16px;
    justify-content: center;
  }

  .perfectmatch__buttons .btn {
    font-size: 16px;
    padding: 11px 24px;
  }
}

/* ===== MOBILE 480px ===== */
@media (max-width: 480px) {

  .perfectmatch { padding: 40px 0; }

  .perfectmatch__left img {
    max-width: 260px;
  }

  .perfectmatch__right {
    padding: 20px 20px 28px;
  }

  .perfectmatch__title { font-size: 32px; }

  .perfectmatch__buttons {
    flex-direction: row;
    align-items: center;
    gap: 10px;
  }

  .perfectmatch__buttons .btn {
    width: auto;
    text-align: center;
    font-size: 15px;
  }
}
