/* Phase 8.3: homepage refinement, old-header parity and deterministic card motion. */
.tj-slider-section .slider-bg-image{background-position:center;background-size:cover}
.tj-slider-section .hero-thumb .thumb-item img{display:block;width:100%;height:100%;object-fit:cover}
.tj-client-section .client-logo img{max-height:94px;width:auto;max-width:100%;object-fit:contain}
.tj-about-section .video-img img{width:100%;height:100%;object-fit:cover}
.tj-service-section.service-2 .service-icon img{width:72px;height:72px;object-fit:contain}
.tj-project-section-2 .project-img{background-position:center;background-size:cover}
.header-area.header-duplicate{background:#fff}
.header-area.header-duplicate .mainmenu>ul>li>a{color:#111}
.header-area.header-duplicate .site_logo img{max-height:58px}

/* Homepage: restore the premium dark-glass header over the hero. */
.home-page .space-for-header{display:none!important}
.home-page .header-area.header-absolute.home-overlay-header{position:absolute;top:18px;left:0;right:0;z-index:1000;background:transparent}
.home-page .header-area.header-absolute.home-overlay-header .header-wrapper{background:rgba(20,39,52,.72);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:0 22px;min-height:72px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 12px 40px rgba(0,0,0,.12)}
.home-page .header-area.header-absolute.home-overlay-header .mainmenu>ul>li>a{color:#fff}
.home-page .header-area.header-absolute.home-overlay-header .mainmenu>ul>li.current-menu-item>a,.home-page .header-area.header-absolute.home-overlay-header .mainmenu>ul>li.current-menu-ancestor>a{color:#f5b800}
.home-page .header-area.header-absolute.home-overlay-header .site_logo img{max-height:58px;filter:brightness(0) invert(1);opacity:.96}

/* Explicit three-line menu icon on both desktop and mobile. */
.menu_bar.mobile_menu_bar button{width:44px;height:44px;border:0;border-radius:8px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0}
.menu_bar.mobile_menu_bar button span{display:block!important;width:24px!important;height:2px!important;min-height:2px;background:#111!important;border-radius:10px;opacity:1!important;transform:none!important;margin:0!important}
.home-page .home-overlay-header .menu_bar.mobile_menu_bar button span{background:#fff!important}
.header-duplicate .menu_bar.mobile_menu_bar button span{background:#111!important}

/* Excellence section: factual feature cards instead of unsupported counters. */
.excellence-feature-card .count-inner{display:block}
.excellence-feature-card .feature-title{font-size:24px;line-height:1.2;margin:0 0 12px;font-weight:600}
.excellence-feature-card .feature-copy{font-size:15px;line-height:1.65;margin:0;max-width:34ch;color:inherit;opacity:.8}

/* Deterministic old-style right-to-left entrance for Our Solutions cards. */
.home-slide-card{opacity:0;transform:translate3d(90px,0,0);transition:opacity .7s ease,transform .8s cubic-bezier(.22,.61,.36,1);transition-delay:var(--slide-delay,0ms);will-change:opacity,transform}
.home-slide-card.is-visible{opacity:1;transform:translate3d(0,0,0)}

@media (max-width:991px){
  .home-page .header-area.header-absolute.home-overlay-header{top:10px}
  .home-page .header-area.header-absolute.home-overlay-header .header-wrapper{min-height:64px;padding:0 14px}
  .home-slide-card{transform:translate3d(38px,0,0)}
}
@media (prefers-reduced-motion:reduce){.wow,.tj-fadein-right-on-scroll,.home-slide-card,.title-anim,.text-anim{animation:none!important;transform:none!important;transition:none!important;opacity:1!important}}
/* =========================================================
   HOMEPAGE MOBILE RESPONSIVE FIX
   ========================================================= */

@media (max-width: 767px) {

    /* Prevent horizontal overflow */
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .home-page .container,
    .home-page .container-fluid,
    .home-page .row,
    .home-page [class*="col-"] {
        min-width: 0;
    }


    /* =====================================================
       EXCELLENCE / ABOUT SECTION
       Stack content properly on mobile
       ===================================================== */

    .home-page .tj-about-section .about-content-area-2 {
        display: flex;
        flex-direction: column;
        gap: 24px;
        width: 100%;
    }

    .home-page .tj-about-section .about-content-area-2 .about-content {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline-start: 0 !important;
    }

    .home-page .tj-about-section .about-content-area-2 .video-img {
        width: 100% !important;
        max-width: 100% !important;
        height: 260px;
        margin: 0;
        border-radius: 10px;
        overflow: hidden;
    }

    .home-page .tj-about-section .about-content-area-2 .video-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .home-page .tj-about-section .sec-heading .sec-title {
        max-width: 100%;
        font-size: 32px;
        line-height: 1.08;
        overflow-wrap: break-word;
    }


    /* Excellence cards */
    .home-page .tj-about-section .countup-item.style-2 {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .home-page .excellence-feature-card .count-inner {
        padding-top: 50px;
    }

    .home-page .excellence-feature-card .feature-title {
        font-size: 21px;
        line-height: 1.25;
    }

    .home-page .excellence-feature-card .feature-copy {
        max-width: none;
        width: 100%;
        font-size: 15px;
        line-height: 1.55;
    }


    /* =====================================================
       OUR SOLUTIONS
       ===================================================== */

    .home-page .solution-motion-section {
        overflow-x: hidden;
    }

    .home-page .solution-motion-section .container,
    .home-page .solution-motion-section .row,
    .home-page .solution-motion-section .col-lg-4,
    .home-page .solution-motion-section .col-lg-8,
    .home-page .solution-motion-section .service-wrapper-2,
    .home-page .solution-motion-section .service-item-wrapper {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .home-page .solution-motion-section .service-item.style-2 {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding: 26px 20px;
        overflow: hidden;
    }

    .home-page .solution-motion-section .service-item.style-2 .title-area,
    .home-page .solution-motion-section .service-item.style-2 .service-content {
        width: 100% !important;
        max-width: 100%;
        min-width: 0;
    }

    .home-page .solution-motion-section .service-item.style-2 .desc {
        width: 100%;
        max-width: 100%;
        text-align: left !important;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .home-page .solution-motion-section .service-item.style-2 .title {
        overflow-wrap: break-word;
    }
}

@media (max-width: 575px) {

    .float-button2,
    .float-button {
        width: 38px !important;
        height: 38px !important;
        right: 6px !important;
        left: auto !important;
        z-index: 9999 !important;
    }

    .float-button2 {
        bottom: 52px !important;
    }

    .float-button {
        bottom: 8px !important;
    }

    .float-button2 svg,
    .float-button svg {
        width: 19px !important;
        height: 19px !important;
        right: 7px !important;
        top: 7px !important;
    }
}

@media (max-width: 575px) {

    .home-page .solution-motion-section .service-item-wrapper {
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: none !important;
    }

    .home-page .solution-motion-section .service-item.style-2 {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 24px 16px !important;
    }

    .home-page .solution-motion-section .service-content,
    .home-page .solution-motion-section .title-area {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 575px) {

    /* Keep original logo colors on mobile hero */
    .home-page .header-area.header-absolute.home-overlay-header .site_logo img {
        filter: none !important;
        opacity: 1 !important;
    }

    /* Keep floating buttons clear of footer copyright */
    .float-button2 {
        bottom: 72px !important;
    }

    .float-button {
        bottom: 28px !important;
    }
}

@media (max-width: 575px) {

    .float-button2 {
        bottom: 92px !important;
    }

    .float-button {
        bottom: 48px !important;
    }
}

@media (max-width: 575px) {

    .float-button2 {
        bottom: 110px !important;
    }

    .float-button {
        bottom: 66px !important;
    }
}

@media (max-width: 575px) {

    body:not(.home-page) .float-button2,
    body:not(.home-page) .float-button {
        width: 38px !important;
        height: 38px !important;
        right: 6px !important;
        left: auto !important;
        z-index: 9999 !important;
    }

    body:not(.home-page) .float-button2 {
        bottom: 110px !important;
    }

    body:not(.home-page) .float-button {
        bottom: 66px !important;
    }

    body:not(.home-page) .float-button2 svg,
    body:not(.home-page) .float-button svg {
        width: 19px !important;
        height: 19px !important;
        right: 7px !important;
        top: 7px !important;
    }
}
