/* =============================================
   WHAT WE DO SECTION
   ============================================= */



.whatwedo {
  display: flex;
  width: 100%;
  min-height: 520px;
  position: relative;
  background-image: url('../images/bg_wwd.webp');
  /*
  background-size: cover;
  background-position: center;
  */
}

/* LEFT – orange */
.whatwedo__left {
  flex: 0 0 50%;
  background: rgba(255, 51, 0, 0.88);
  position: relative;
  padding: 60px 50px 100px 100px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;

  padding-top: 80px;
  padding-bottom: 80px;
  padding-left: calc((100vw * 0.42 - 1100px * 0.42) / 2 + 40px);
  padding-right: 50px;


}

/* Subtle dot/texture pattern on left */
.whatwedo__left::before {
  content: '';
  position: absolute;
  inset: 0;
  /*
  background-image: radial-gradient(circle, rgba(0,0,0,0.12) 1px, transparent 1px);
  background-size: 22px 22px;
  */
  z-index: 0;
}

.whatwedo__left-content {
  position: relative;
  z-index: 1;
}

.whatwedo__title {
  font-family: 'Poppins', sans-serif;
  font-size: 100px;
  font-weight: 900;
  line-height: 0.85;
  margin-bottom: 20px;
}

.whatwedo__title--white {
  color: #fff;
}
.whatwedo__title--black {
  color: #111;
}

.whatwedo__sub {
  font-family: 'Poppins', sans-serif;
  font-size: 35px;
  font-weight: 600;
  color: #fff;
  line-height: 1.2;
  margin-bottom: 14px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.whatwedo__desc {
  font-size: 35px;
  font-weight: 400;
  color: #fff;
  line-height: 1.2;
  max-width: 450px;
}

.whatwedo__illustration {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  margin-top: 50px;
}

.whatwedo__illustration img {
  width: 500px;
  /*max-width: 100%;*/
  filter: drop-shadow(0 8px 20px rgba(0,0,0,0.2));
  
}

/* RIGHT – dark */
.whatwedo__right {
  flex: 0 0 50%;
  background: rgba(0, 0, 0, 0.9);
  
  padding: 50px 55px;
  display: flex;
  align-items: center;
  
  padding-top: 80px;
  padding-bottom: 50px;
  padding-left: 80px;
  padding-right: calc((100vw * 0.58 - 1100px * 0.58) / 2 + 55px);  
}



.whatwedo__services {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 100%;
}

/* Service item row */
.service__item {
  display: flex;
  align-items: flex-start;
  gap: 25px;
  
  
  cursor: pointer;
  transition: background 0.25s ease;  
  
	padding: 14px 80px 14px 80px;        /* sesuaikan dengan padding .whatwedo__right */
	margin-left: -80px;                   /* negatif sesuai padding-left .whatwedo__right */
	margin-right: calc(-1 * (100vw * 0.58 - 1100px * 0.58) / 2 - 55px);  /* negatif sesuai padding-right */
	border-radius: 0;                     /* hapus rounded */
  
}
.service__item:hover {
  background: rgba(255, 51, 0, 0.6);
}

.service__item:hover .service__title {
  color: #ffffff;
}

.service__item:hover .service__desc {
  color: rgba(255,255,255,0.9); /* dari 0.6 jadi lebih terang */
}

.service__item:hover .service__icon img {
  filter: brightness(0) invert(1);  /* sudah putih, pertahankan */
}

.service__icon {
  flex: 0 0 48px;
  /*
  width: 100px;
  height: 100px;
  */
  display: flex;
  align-items: center;
  justify-content: center;
}

.service__icon img {
  width: 120px;
  height: 120px;
  object-fit: contain;
  filter: brightness(0) invert(1); /* white icon */
}

.service__text {
  flex: 1;
}

.service__title {
  font-family: 'Poppins', sans-serif;
  font-size: 23px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 4px;
  line-height: 1.3;
}

.service__desc {
  font-size: 23px;
  font-weight: 400;
  color: rgba(255,255,255,0.6);
  line-height: 1.55;
}

/* =============================================
   RESPONSIVE – WHAT WE DO
   ============================================= */

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

  .whatwedo {
    flex-direction: column;
    background-size: cover;
    background-position: center top;
  }

  /* LEFT */
  .whatwedo__left {
    flex: none;
    width: 100%;
    padding: 60px 24px 40px;
  }

  .whatwedo__title {
    font-size: 72px;
    line-height: 0.9;
  }

  .whatwedo__sub  { font-size: 22px; }
  .whatwedo__desc { font-size: 20px; max-width: 100%; }

  .whatwedo__illustration img {
    width: 320px;
  }

  /* RIGHT */
  .whatwedo__right {
    flex: none;
    width: 100%;
    padding: 40px 24px;
  }

  /* Service items — reset margin negatif */
  .service__item {
    padding: 14px 16px;
    margin-left: 0;
    margin-right: 0;
    gap: 16px;
  }

  .service__icon img {
    width: 80px;
    height: 80px;
  }

  .service__title { font-size: 18px; }
  .service__desc  { font-size: 16px; }
}

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

  .whatwedo__left {
    padding: 48px 16px 32px;
  }

  .whatwedo__title { font-size: 56px; }
  .whatwedo__sub   { font-size: 18px; }
  .whatwedo__desc  { font-size: 16px; }

  .whatwedo__illustration img {
    width: 240px;
  }

  .whatwedo__right {
    padding: 32px 16px;
  }

  .whatwedo__services { gap: 20px; }

  .service__icon img {
    width: 60px;
    height: 60px;
  }

  .service__title { font-size: 16px; }
  .service__desc  { font-size: 14px; }
}
