#portfolio-sticky-section {
  background: #22682a;
  color: #fff;
  position: relative;
}

.portfolio-container {
  display: flex;
  position: relative;
}

/* DESKTOP STICKY IMAGE */
.portfolio-visual-area {
  position: sticky;
  top: 0;
  width: 60%;
  height: 100vh;
  overflow: hidden;
}

.sticky-img-box {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition:
    opacity 0.8s ease,
    transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
  transform: scale(1.1);
}

.sticky-img-box.active {
  opacity: 1;
  transform: scale(1);
  z-index: 2;
}

.sticky-img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* DESKTOP TEXT AREA */
.portfolio-text-area {
  width: 40%;
  position: relative;
  z-index: 5;
}

/* Base Style Dekorasi */
/* Base Style: Gunakan z-index 3 agar di atas gambar tapi di bawah teks */
.portfolio-decor {
  position: absolute;
  border-radius: 50%;
  z-index: 3;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.08);
}

/* Bulatan Pojok Kanan Atas */
.decor-top-right {
  width: 150px;
  height: 150px;
  top: -50px;
  right: -40px; /* Posisikan di kanan */
  left: auto; /* Reset jika ada nilai left */
  animation: float-circle 5s ease-in-out infinite reverse;
}

/* Bulatan Pojok Kanan Bawah */
.decor-bottom-right {
  width: 250px;
  height: 250px;
  bottom: -60px;
  right: -50px;
  top: auto; /* Reset nilai top */
  background: rgba(255, 255, 255, 0.05);
  animation: float-circle 7s ease-in-out infinite;
}

@keyframes float-circle {
  0%,
  100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-20px); /* Efek naik turun 20px */
  }
}

.text-content-block {
  height: 100vh;
  display: flex;
  align-items: center;
  padding: 0 10%;
}

.text-inner {
  max-width: 400px;
}

.mobile-portfolio-img {
  display: none; /* Sembunyikan di desktop */
}

.p-number {
  color: #fbc02d;
  font-weight: var(--fw-bold);
  display: block;
  margin-bottom: 20px;
}

.p-title {
  font-size: var(--fs-section-title);
  font-weight: var(--fw-extrabold);
  line-height: 1.3; /* Sudah disesuaikan agar tidak rapat */
  margin-bottom: 24px;

  /* Tambahkan ini untuk mencegah pemotongan kata yang aneh */
  word-break: keep-all;
  overflow-wrap: break-word;
}

.p-desc {
  font-size: var(--fs-section-desc);
  color: #cbd5e0;
  margin-bottom: 40px;
  line-height: 1.6;
}

.btn-primary-services.portfolio-btn {
  font-size: var(--fs-cta);
  border-color: #fff !important;
  color: #fff !important;
}

.btn-primary-services.portfolio-btn:hover {
  border-color: #fbc02d !important;
  color: #000 !important;
}

/* RESPONSIVE LAYOUT */
@media (max-width: 991px) {
  .portfolio-container {
    flex-direction: column;
  }

  /* Hilangkan area sticky di mobile agar tidak memakan layar */
  .portfolio-visual-area {
    display: none;
  }

  .portfolio-text-area {
    width: 100%;
  }

  .text-content-block {
    height: auto;
    padding: 80px 24px; /* Padding atas bawah yang konsisten */
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .text-inner {
    max-width: 550px;
    width: 90%; /* Memberikan fleksibilitas */
  }

  /* Tampilkan gambar di dalam teks untuk mobile */
  .mobile-portfolio-img {
    display: block;
    margin-bottom: 30px;
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    aspect-ratio: 16 / 9;
  }

  .mobile-portfolio-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-title {
    font-size: 32px;
  }
}
