/* ============================================================
   HEXA BRANDING — MOBILE ONLY RESPONSIVE FIX
   DESKTOP / LAPTOP = ZERO CHANGES (min-width: 769px untouched)
   All rules below apply ONLY to max-width: 768px and below
   ============================================================ */

/* ===== GLOBAL ===== */
@media (max-width: 768px) {
  body { overflow-x: hidden; }
  .main-root, .wrapper, #dsn-scrollbar {
    max-width: 100%;
    overflow-x: hidden;
  }
  img { max-width: 100%; height: auto; }
}

/* ============================================================
   HEADER — LOGO + MENU SAME LINE
   ============================================================ */
@media (max-width: 768px) {
  .header-top.header-top-hamburger {
    display: block !important;
  }

  .header-top .header-container {
    position: relative !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 20px !important;
    background-color: rgba(0, 0, 0, 0.92) !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .header-top .header-container .logo,
  .header-top .header-container .logo.main-logo {
    position: static !important;
    float: none !important;
    top: auto !important;
    right: auto !important;
    display: flex !important;
    align-items: center !important;
    z-index: 99999;
  }

  .header-top .header-container .logo img {
    width: 130px !important;
    height: auto !important;
    display: block !important;
  }

  .header-top .header-container .menu-icon {
    position: static !important;
    float: none !important;
    top: auto !important;
    margin-right: 0 !important;
    display: flex !important;
    align-items: center !important;
    transform: none !important;
  }

  .header-top .header-container .logo img[style] {
    width: 130px !important;
  }
}

@media (max-width: 480px) {
  .header-top .header-container {
    padding: 10px 15px !important;
  }

  .header-top .header-container .logo img {
    width: 110px !important;
  }
}

@media (max-width: 360px) {
  .header-top .header-container .logo img {
    width: 95px !important;
  }

  .header-top .header-container {
    padding: 10px 12px !important;
  }
}

/* ============================================================
   HERO SLIDER — MOBILE
   ============================================================ */
@media (max-width: 768px) {
  .dsn-slider, .dsn-root-slider, .slide-item {
    min-height: 100svh;
    width: 100%;
  }

  .slide-item .image-container {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .slide-item .image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .slide-item .image-bg.cover-bg {
    background-size: cover;
    background-position: center center;
    width: 100%;
    height: 100%;
  }

  .dsn-slider .slide-item .slide-content {
    position: absolute !important;
    z-index: 10 !important;
    top: 50% !important;
    left: 0 !important;
    width: 100% !important;
    transform: translateY(-50%) !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .dsn-slider .slide-item .slide-content .slide-content-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-bottom: 30px;
  }

  .title-text-header a {
    font-size: 34px !important;
    line-height: 1.15;
    word-break: break-word;
    max-width: 100%;
  }

  .slide-item .slide-content p {
    font-size: 14px;
    max-width: 100%;
  }

  .nav-slider { display: none !important; }

  .footer-slid {
    padding: 10px 15px;
    flex-wrap: wrap;
    gap: 10px;
  }
}

@media (max-width: 480px) {
  .title-text-header a { font-size: 26px !important; }

  .dsn-slider .slide-item .slide-content .slide-content-inner {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

/* ============================================================
   INTRO ABOUT SECTION — MOBILE
   ============================================================ */
@media (max-width: 768px) {
  .intro-about { overflow: hidden; }

  .intro-about .background-mask {
    position: relative !important;
    width: 100% !important;
    top: auto !important;
    left: auto !important;
    bottom: auto !important;
  }

  .intro-about .img-box {
    padding: 20px 0 !important;
    z-index: 1;
  }
.intro-about .img-box .img-cent{
        height: 220px !important;
    }

    .intro-about .img-box .img-cent .img-container{
        position: relative;
        height: 220px !important;
    }

    .intro-about .img-box .img-cent .img-container img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

  .intro-about .intro-content-text h2 {
    font-size: 28px;
    text-align: left;
    margin-bottom: 20px;
  }

  .intro-about .intro-content-text p {
    max-width: 100%;
    min-width: unset !important;
  }

  .intro-about .intro-content-text .exper .numb-ex > span {
    font-size: 64px;
  }

  .intro-about .intro-content-text .exper h4 {
    margin-top: 20px;
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .intro-about .intro-content-text h2 { font-size: 22px; }
  .intro-about .img-box .img-cent { height: 60vw !important; }
}





/* ============================================================
   SERVICES 2 CARDS — MOBILE
   ============================================================ */
@media (max-width: 768px) {

    .our-services-2 {
        margin-top: 60px !important;
        margin-bottom: 60px !important;
    }

    .our-services-2 .one-title {
        margin-bottom: 40px;
        text-align: center;
    }

    .our-services-2 .title-main {
        font-size: 32px !important;
        line-height: 1.2;
    }

    .our-services-2 .title-sub {
        font-size: 12px !important;
        letter-spacing: 2px;
    }
}

@media (max-width: 480px) {

    .our-services-2 .title-main {
        font-size: 26px !important;
    }

    .our-services-2 .services-item {
        padding: 25px 15px !important;
    }

    .our-services-2 .services-header h3 {
        font-size: 16px !important;
    }

    .our-services-2 .services-item p {
        font-size: 14px !important;
        line-height: 1.7;
    }
}


@media (min-width: 1600px) {
    .our-services-2 .services-item {
        padding: 50px 40px;
    }

    .our-services-2 .title-main {
        font-size: 56px;
    }

    .our-services-2 .services-header h3 {
        font-size: 24px;
    }

    .our-services-2 p {
        font-size: 16px;
        line-height: 1.8;
    }
}
/* ============================================================
   BOX-SEAT (Visual Identity) — MOBILE
   ============================================================ */
@media (max-width: 768px) {
  .box-seat .inner-img {
    height: 55vw;
    min-height: 220px;
    overflow: hidden;
  }

  .box-seat .inner-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .box-seat .pro-text {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 40px 20px !important;
  }

  .box-seat .pro-text p { margin-left: 0 !important; font-size: 14px; }
  .box-seat .pro-text h3 { font-size: 24px; }
}

@media (max-width: 480px) {
  .box-seat .pro-text h3 { font-size: 20px; }
}

/* ============================================================
   OUR WORK SLIDER — MOBILE
   ============================================================ */
@media (max-width: 768px) {
  .our-work .col-lg-9.offset-lg-3,
  .col-lg-9.offset-lg-3.col-12 {
    width: 100% !important;
    margin-left: 0 !important;
    padding-left: 10px;
    padding-right: 10px;
  }

  .work-container { position: relative; overflow: hidden; }

  .work-container .work-item img {
    width: 90% !important;
    height: 200px !important;
    object-fit: cover;
  }

  .custom-prev, .custom-next {
    width: 38px !important;
    height: 38px !important;
    top: 35% !important;
  }

  .custom-prev { left: 5px !important; }
  .custom-next { right: 5px !important; }
  .custom-prev i, .custom-next i { font-size: 16px !important; }
}

@media (max-width: 480px) {
  .work-container .work-item img { height: 160px !important; }
}

/* ============================================================
   BOX-GALLERY-VERTICAL (Advertising / Spline) — MOBILE
   ============================================================ */
@media (max-width: 768px) {
  .box-gallery-vertical .col-lg-6 { width: 100%; }

  .box-gallery-vertical .box-im.spline-box {
    height: 280px !important;
    width: 100%;
    overflow: hidden;
  }

  .box-gallery-vertical .box-im.spline-box spline-viewer {
    width: 100%;
    height: 100%;
  }

  .box-gallery-vertical .box-info { padding: 30px 15px !important; }
  .box-gallery-vertical h6 { font-size: 14px !important; }
  .box-gallery-vertical p { font-size: 13px; }
  .box-gallery-vertical .vertical-title h2 { font-size: 24px !important; }
}

@media (max-width: 480px) {
  .box-gallery-vertical .box-im.spline-box { height: 220px !important; }
  .box-gallery-vertical .vertical-title h2 { font-size: 20px !important; }
}

/* ============================================================
   TEAM / LEADER CARDS — MOBILE
   ============================================================ */
@media (max-width: 768px) {
  .our-team .team-item .box-img {
    height: 260px !important;
    overflow: hidden;
  }

  .our-team .team-item .box-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 30% !important;
    transform: none !important;
    display: block;
  }
}

@media (max-width: 480px) {
  .our-team .team-item .box-img {
    height: 220px !important;
  }

  .our-team .team-item .box-img img {
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 30% !important;
    transform: none !important;
  }
}

/* ============================================================
   CONTACT PAGE — MOBILE
   ============================================================ */
@media (max-width: 768px) {
  .root-contact .container-fluid iframe {
    width: 100% !important;
    height: 250px !important;
  }

  .root-contact .row {
    flex-direction: column !important;
    gap: 30px;
  }

  .root-contact .col-lg-6 {
    width: 100% !important;
    padding: 0 5px;
  }

  .box-info-contact { padding: 0 !important; }
  .box-info-contact h3 { font-size: 22px; }
  .box-info-contact ul { padding-left: 0 !important; list-style: none; }

  .box-info-contact ul li {
    margin-bottom: 12px;
    display: flex;
    flex-direction: column;
    gap: 3px;
  }

  .form-box { padding: 0 !important; }
  .form-box h3 { font-size: 20px; margin-bottom: 20px; }

  .form-box .entry input,
  .form-box .entry textarea,
  .form-box input,
  .form-box textarea {
    width: 100% !important;
    font-size: 14px;
    padding: 12px 15px !important;
    box-sizing: border-box !important;
  }

  .form-box .form-group { margin-bottom: 18px; }

  .form-box button[type="submit"],
  .form-box .image-zoom button {
    width: 100% !important;
    padding: 14px !important;
    font-size: 14px;
    text-align: center;
  }

  .header-hero .contenet-hero {
    padding: 100px 0 60px 0 !important;
  }

  .header-hero h1 { font-size: 42px !important; }
  .header-hero h5 { font-size: 12px; letter-spacing: 3px; }

  .contact-up .c-wapp a {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }

  .contact-up .hiring { font-size: 14px; }
  .contact-up .career { font-size: 13px; }
}

@media (max-width: 480px) {
  .header-hero h1 { font-size: 34px !important; }
  .root-contact .container-fluid iframe { height: 200px !important; }
}

/* ============================================================
   CLIENT TESTIMONIALS — MOBILE
   ============================================================ */
@media (max-width: 768px) {
  .client-see .inner { flex-wrap: wrap; gap: 20px; }
  .client-see .left, .client-see .items { width: 100%; }
  .client-see .left .title { font-size: 24px; }
  .client-see .items .slick-slider .item .quote p { font-size: 14px; }

  .client-see .items .avatar img {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50%;
    object-fit: cover;
  }
}

/* ============================================================
   CLIENT LOGOS — MOBILE
   ============================================================ */
@media (max-width: 768px) {
  .brand-client .wapper-client {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    align-items: center;
  }

  .brand-client .wapper-client .logo-box {
    width: 100% !important;
    height: 100px !important;
    min-height: 100px !important;
    max-height: 100px !important;
    padding: 10px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden;
    box-sizing: border-box;
  }

  .brand-client .wapper-client .logo-box img {
    width: auto !important;
    height: auto !important;
    max-width: 85% !important;
    max-height: 60px !important;
    object-fit: contain;
    display: block;
  }

  .brand-client .wapper-client .logo-box::before,
  .brand-client .wapper-client .logo-box::after {
    display: none !important;
  }
}

/* ============================================================
   ALL SECTION IMAGES — MOBILE SAFETY
   ============================================================ */
@media (max-width: 768px) {
  section .inner-img { overflow: hidden; }

  section .inner-img img {
    width: 100%;
    max-height: 60vw;
    object-fit: cover;
    object-position: center;
  }

  .gallery-col .box-im { width: 100% !important; margin-bottom: 15px; }

  .gallery-col .box-im img,
  .work-filter-gallery .work-item img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .our-news .news-item img { width: 100%; height: auto; object-fit: cover; }
}

/* ============================================================
   FOOTER — MOBILE
   ============================================================ */
@media (max-width: 768px) {
  footer .row { flex-direction: column; gap: 20px; }
  footer .col-lg-4, footer .col-md-4, footer .col-sm-6 { width: 100%; }
  footer .footer-logo img { max-width: 140px; height: auto; }
}

/* ============================================================
   WHATSAPP FLOAT — MOBILE POSITION
   ============================================================ */
@media (max-width: 480px) {
  .whatsapp-float {
    right: 12px !important;
    bottom: 80px !important;
    width: 46px !important;
    height: 46px !important;
  }
}



/* Always show header */
.site-header,
.header-top,
.header-top-hamburger {
    transform: translateY(0) !important;
    top: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Disable hide-on-scroll classes */
.nav-up,
.dsn-scroll-down,
.hide-header {
    transform: translateY(0) !important;
    top: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}













@media (max-width: 768px) {

    /* Header Layout */
    .header-top .header-container {
      background: transparent !important;
      box-shadow: none !important;
  }

    /* Logo Fix */
    .header-top .header-container .logo {
        position: relative !important;
        top: 0 !important;
        right: 0 !important;
        float: none !important;
        display: flex !important;
        align-items: center !important;
    }

    .logo.main-logo {
        top: 0 !important;
    }

    .header-top .header-container .logo img {
        width: 100px !important;
        height: auto !important;
    }

    /* Menu Icon Clear Position */
    .header-top .header-container .menu-icon {
        position: relative !important;
        right: 0 !important;
        margin-left: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 999999 !important;
    }

    /* Hide Menu Text */
    .header-top .header-container .menu-icon .text-menu {
        display: none !important;
    }
}



/* Fix logo disappearing when nav-bg is added */
@media (max-width: 768px) {

    .dsn-nav-bar.nav-bg > .header-top > .header-container,
    .dsn-nav-bar.nav-bg .site-header {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
        background: transparent !important;
    }

    .dsn-nav-bar.nav-bg .logo,
    .dsn-nav-bar.nav-bg .logo img {
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
    }

    .dsn-nav-bar.nav-bg .header-top {
        transform: none !important;
    }
}















/* Ultra Wide Screen Fix */
@media (min-width: 2500px) {

    .intro-about .img-box .img-cent {
        height: 500px !important;
    }

    .intro-about .img-box .img-cent .img-container {
        height: 500px !important;
        overflow: hidden;
    }

    .intro-about .img-box .img-cent .img-container img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

}

/* Fix Intro About section overlap */
.intro-about{
    position: relative;
    overflow: hidden;
    margin-bottom: 120px !important;
}

.intro-about .background-mask{
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1 !important;
}

.intro-about .container{
    position: relative;
    z-index: 2;
}

/* Services section above image */
.our-services-2{
    position: relative;
    z-index: 10 !important;
    background: #000;
    padding-top: 80px !important;
}






/* =====================================================
   LARGE LAPTOP + MACBOOK + 2K + 4K RESPONSIVE
   ===================================================== */

@media (min-width: 1400px) {

    .container{
        max-width: 1320px !important;
    }

    .intro-about{
        padding-bottom: 80px !important;
    }

    .intro-about .background-mask{
        width: 48% !important;
    }

    .intro-about .img-box .img-cent{
        height: 650px !important;
    }

    .intro-about .img-box .img-cent .img-container{
        height: 650px !important;
    }

    .intro-about .img-box .img-cent .img-container img{
        width:100%;
        height:100%;
        object-fit:cover;
    }

    .our-services-2{
        margin-top:80px !important;
        padding-top:0 !important;
    }

    .our-services-2 .services-item{
        min-height:320px;
        padding:40px 30px;
    }
}

/* MacBook Pro 16" */
@media (min-width: 1700px){

    .container{
        max-width:1500px !important;
    }

    .intro-about .img-box .img-cent,
    .intro-about .img-box .img-cent .img-container{
        height:550px !important;
    }

    .our-services-2 .services-item{
        min-height:350px;
    }

    .our-services-2 .title-main{
        font-size:60px !important;
    }
}

/* Ultra Wide Screens */
@media (min-width: 2500px){

    .container{
        max-width:1800px !important;
    }

    .intro-about .background-mask{
        width:42% !important;
    }

    .intro-about .img-box .img-cent,
    .intro-about .img-box .img-cent .img-container{
        height:450px !important;
    }

    .our-services-2{
        margin-top:120px !important;
    }

    .our-services-2 .row{
        display:flex;
        align-items:flex-start;
    }

    .our-services-2 .services-item{
        min-height:280px;
        padding:30px;
    }
}