.services-section {
  position: relative; /* Added this */

  width: 100vw;
  height: 100dvh;
  min-height: -webkit-fill-available;
  background-color: black;
  margin-bottom: 75px;
}

.services-content {
  position: absolute;
  width: 100%;
  height: 100%;

  /* opacity: 0.2; */
  position: relative;
  top: 75px;
  left: 0;
  z-index: 5;
  background-image: url('/assets/homepage/services-bg-min.webp');
  background-position-x: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.services-boxes {
  position: absolute;
  top: 75px;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10; /* Above the overlay */
  pointer-events: none;
}

.services-title {
  position: absolute;
  font-family: 'Korbin';
  font-weight: 600;
  font-style: italic;
  /* top: 5%;
  left: 5%; */
  color: #ffd700;
  /* font-size: 4rem; */
  margin: 0;
}
.service-box {
  position: absolute;
  background: rgba(0, 0, 0, 0.8);
  border: 2px solid white;
  border-radius: 50px;
  padding: 20px;
  color: white;
  pointer-events: auto;
  opacity: 0;

  /* Set FINAL positions in CSS - don't change these */
  /* top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); */
}

/* Define final positions using CSS custom properties */
.web-dev-box {
  width: 200px;
  /* --final-x: calc(8vw - 50vw);
  --final-y: calc(20vh - 50vh); */
}

.marketing-box {
  width: 220px;
  /* --final-x: calc(35vw - 50vw);
  --final-y: calc(35vh - 50vh); */
}

.branding-box {
  width: 200px;
  /* --final-x: calc(90vw - 50vw - 200px);
  --final-y: calc(15vh - 50vh); */
}

.social-box {
  width: 180px;
  /* --final-x: calc(5vw - 50vw);
  --final-y: calc(75vh - 50vh); */
}

.print-box {
  width: 180px;
  /* --final-x: calc(85vw - 50vw - 180px);
  --final-y: calc(80vh - 50vh); */
}
.service-box h3 {
  margin: 0 0 15px 0;
  /* font-size: 1.2rem; */
  font-weight: bold;
}

.service-box ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.service-box li {
  margin-bottom: 8px;
  font-size: 0.9rem;
}

.get-started-btn {
  position: absolute;
  bottom: 8%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #ed2399;
  color: white;
  border: none;
  border-radius: 25px;
  padding: 15px 30px;
  font-size: 1.1rem;
  font-weight: bold;
  cursor: pointer;
  pointer-events: auto;
}

.get-started-btn:hover {
  transform: translateX(-50%) scale(1.05);
  transition: transform 0.2s ease;
}

/* Desktop (1921px+) */
@media (min-width: 1921px) {
  .web-dev-box {
    width: 220px;
  }
  .marketing-box {
    width: 240px;
  }
  .branding-box {
    width: 220px;
  }
  .social-box {
    width: 200px;
  }
  .print-box {
    width: 200px;
  }

  .service-box-heading {
    font-size: 22px;
  }
}

/* Laptop (1367px - 1920px) */
@media (min-width: 1367px) and (max-width: 1920px) {
  .web-dev-box {
    width: 300px;
    top: 20%;
    left: 12%;
  }
  .marketing-box {
    width: 220px;
    top: 30%;
    left: 42%;
  }
  .branding-box {
    width: 200px;
    top: 10%;
    right: 15%;
  }
  .social-box {
    width: 250px;
    top: 60%;
    left: 12%;
  }
  .print-box {
    width: 180px;
    top: 60%;
    right: 16%;
  }

  .service-box-heading {
    font-size: 29px;
  }

  .service-box li {
    font-size: 21px;
  }
}

/* Large tablet (1025px - 1366px) */
@media (min-width: 1024px) and (max-width: 1366px) {
  .services-section {
    max-height: 650px;
  }
  .web-dev-box {
    width: 200px;
    top: 25%;
    left: 12%;
  }
  .marketing-box {
    width: 220px;
    top: 30%;
    left: 40%;
  }
  .branding-box {
    width: 200px;
    top: 10%;
    right: 4%;
  }
  .social-box {
    width: 190px;
    top: 60%;
    left: 12%;
  }
  .print-box {
    width: 180px;
    top: 60%;
    right: 6%;
  }

  .service-box-heading {
    font-size: 19px;
  }

  .service-box li {
    font-size: 18px;
  }
}

/* Small tablet (769px - 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
  .services-section {
    max-height: 550px;
  }
  .services-title {
    padding-left: 5%;
  }
  .web-dev-box {
    width: 165px;
    top: 17%;
    left: 12%;
  }
  .marketing-box {
    width: 178px;
    top: 30%;
    left: 40%;
  }
  .branding-box {
    width: 155px;
    top: 10%;
    right: 5%;
  }
  .social-box {
    width: 155px;
    top: 60%;
    left: 12%;
  }
  .print-box {
    width: 142px;
    top: 60%;
    right: 7%;
  }

  .service-box-heading {
    font-size: 16px;
  }

  .service-box li {
    font-size: 16px;
  }
}

/* Large mobile (481px - 768px) */
@media (min-width: 481px) and (max-width: 768px) {
  .services-title {
    padding-left: 5%;
  }
  .services-content {
    background-size: cover;
  }
  .web-dev-box {
    width: 144px;
    top: 7%;
    left: 2%;
  }
  .marketing-box {
    width: 155px;
    top: 31%;
    left: 33%;
  }
  .branding-box {
    width: 136px;
    top: 4%;
    right: 3%;
  }
  .social-box {
    width: 135px;
    top: 64%;
    left: 2%;
  }
  .print-box {
    width: 125px;
    top: 64%;
    right: 1%;
  }

  .service-box-heading {
    font-size: 14px;
  }

  .service-box li {
    font-size: 14px;
  }
}

/* Small mobile (320px - 480px) */
@media (max-width: 480px) {
  .services-section {
    margin-bottom: 50px;
  }

  .services-title {
    padding-left: 5%;
    top: 20px;
  }

  .services-content {
    top: 50px;
  }

  .services-boxes {
    top: 50px;
  }

  .services-content {
    background-size: cover;
  }
  .web-dev-box {
    width: 103px;
    top: 7%;
    left: 2%;
  }
  .marketing-box {
    width: 111px;
    top: 31%;
    left: 27%;
  }
  .branding-box {
    width: 98px;
    top: 4%;
    right: 3%;
  }
  .social-box {
    width: 97px;
    top: 62%;
    left: 2%;
  }
  .print-box {
    width: 88px;
    top: 60%;
    right: 1%;
  }

  .service-box-heading {
    font-size: 11px;
  }

  .service-box li {
    font-size: 10px;
  }
}
