
/* =========================================
   why choose us
========================================= */
/* =========================================================
   FULL RESPONSIVE PACK (HERO + SERVICES + SOLUTION)
   Paste at END of CSS
========================================================= */

/* ---------- GLOBAL WIDTH CONTROL FOR THIS PAGE ---------- */
.hero-modern,
.services-section,
.solution-section{
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 6vw;
  padding-right: 6vw;
}

/* Remove your negative-margin hacks safely */
.services-main,
.solution-section{
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ---------- SERVICES BASE (keep desktop as you like) ---------- */
.services-main{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Keep header aligned with section container */
.services-header{
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.services-title{
  margin-left: 0 !important;
}

/* ---------- 1350px and below (center hero + stack services) ---------- */
@media (max-width: 1350px){

  /* HERO centered */
  .hero-modern{
    text-align: center !important;
    padding-top: 120px;
    padding-bottom: 80px;
  }
  .hero-title{
    transform: none !important;
    white-space: normal !important;
    margin: 0 auto !important;
  }
  .hero-subtext{
    transform: none !important;
    margin: 18px auto 40px !important;
    text-align: center !important;
    max-width: 950px;
  }

  /* SERVICES title centered */
  .services-header{ text-align: center !important; }
  .services-title{ text-align: center !important; }

  /* SERVICES layout: video on top, list below */
  .services-main{
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;
    padding-top: 40px !important;
  }

  .services-left,
  .services-right{
    width: 100% !important;
    flex: none !important;
  }

  /* Video becomes horizontal */
  .services-video-frame{
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 22px !important;
  }

  /* Make rows breathe */
  .service-row{
    grid-template-columns: 70px 1.1fr 1.9fr;
  }

  /* Solution title centered */
  .solution-title{
    text-align: center !important;
  }
}

/* ---------- 1024px and below (tablet) ---------- */
@media (max-width: 1024px){

  .hero-modern,
  .services-section,
  .solution-section{
    padding-left: 5vw;
    padding-right: 5vw;
  }

  .hero-image{
    height: 28vh !important;
  }

  /* Service rows tighter */
  .service-row{
    grid-template-columns: 60px 1fr;
    row-gap: 8px;
  }
  .service-desc{
    grid-column: 1 / -1;
  }

  /* Solution cards stack */
  .solution-card{
    flex-direction: column !important;
    gap: 24px !important;
    padding: 28px !important;
  }
  .solution-right{
    width: 100% !important;
  }
  .solution-image{
    height: 260px !important;
  }
}

/* ---------- 768px and below (mobile) ---------- */
@media (max-width: 768px){

  .hero-modern{
    padding-top: 95px;
    padding-bottom: 60px;
  }

  .hero-title{
    font-size: clamp(38px, 9vw, 56px) !important;
    line-height: 1 !important;
  }

  .hero-subtext{
    font-size: 15px !important;
    line-height: 1.75 !important;
    text-align: left !important;   /* better readability on mobile */
    max-width: 100% !important;
  }

  .hero-image{
    height: 24vh !important;
  }

  .services-title,
  .solution-title{
    font-size: clamp(28px, 7vw, 44px) !important;
  }

  /* Video full width, nice radius */
  .services-video-frame{
    aspect-ratio: 16 / 9 !important;
    border-radius: 18px !important;
  }

  /* Service name/desc spacing */
  .service-name{
    font-size: 17px !important;
  }
  .service-desc{
    font-size: 14px !important;
    text-align: left !important;
  }

  .solution-text{
    text-align: left !important;
    font-size: 15px !important;
  }

  .solution-image{
    height: 230px !important;
  }
}

/* ---------- 480px and below (small phones) ---------- */
@media (max-width: 480px){

  .hero-modern,
  .services-section,
  .solution-section{
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .services-video-frame{
    border-radius: 16px !important;
  }

  .service-row{
    padding: 20px 0 !important;
  }

  .solution-card{
    padding: 22px !important;
    border-radius: 22px !important;
  }

  .solution-image{
    height: 200px !important;
    border-radius: 16px !important;
  }
}

/* <=1350px */
@media (max-width: 1350px){
  .services-video-frame{
    max-height: 380px;
  }
}

/* <=1024px (horizontal video) */
@media (max-width: 1024px){
  .services-video-frame{
    max-height: 300px !important;
  }
}

/* <=768px */
@media (max-width: 768px){
  .services-video-frame{
    max-height: 260px !important;
  }
  .hero-modern {
    margin-top: 80px;
  }
}

/*FOOTER*/

/* ===== Responsive ===== */
@media (max-width: 1120px) {
  .footer-bottom {
    flex-direction: column;
    align-items: center;
    gap: 8px;
    font-size: 13px;
  }
}


