/* ================================================================
                    Responsive Styles
   Breakpoints: ≤1199px | ≤991px | ≤768px | ≤576px | ≤400px
================================================================ */

/* ================================================================
   ≤ 1199px  (small desktops / large tablets)
================================================================ */
@media (max-width: 1199px) {

    .hero-content h1 {
        font-size: 36px;
    }

    .service-card {
        padding: 32px 28px 95px;
    }

    .service-card h4 {
        font-size: 19px;
    }

    .products-heading h2 {
        font-size: 28px;
    }

    .cta-content h2 {
        font-size: 34px;
    }
}


/* ================================================================
   ≤ 991px  (tablets & large phones landscape)
================================================================ */
@media (max-width: 991px) {

    /* ============================================================
       TOPBAR
    ============================================================ */
    .topbar {
        padding: 10px 0;
    }
    .topbar .container {
        flex-direction: column !important;
        gap: 5px !important;
        align-items: center !important;
        text-align: center;
    }
    .topbar .container > div {
        width: 100%;
        justify-content: center;
    }

    /* ============================================================
       NAVBAR
    ============================================================ */
    .navbar {
        top: 60px;
    }

    .logo {
        height: 55px;
    }

    /* ============================================================
       HERO
    ============================================================ */
    .hero {
        padding: 180px 0 80px;
        text-align: center;
        min-height: auto;
    }

    .hero-content h1 {
        font-size: 32px;
        line-height: 1.5;
    }

    .hero-content p {
        font-size: 16px;
    }

    .hero-quote-text {
        font-size: 15px;
    }

    .hero-form {
        margin: 0 auto;
        max-width: 70%;
    }

    /* Hide hero right image */
    .hero-right-image {
        display: none !important;
    }
    .col-lg-4.text-center {
        display: none !important;
    }

    /* ============================================================
       SERVICES
    ============================================================ */
    .services {
        padding: 60px 0 100px;
        background-image:
            linear-gradient(
                rgba(75, 75, 75, 0.78),
                rgba(75, 75, 75, 0.78)
            ),
            url('../image/services-background-img.png');
    }

    .services-slider-wrapper {
        padding: 0 50px;
    }

    .service-slide {
        min-width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 100px;
    }

    .service-card {
        min-height: 320px;
        padding: 32px 28px 95px;
    }

    .section-title-main-service h2 {
        font-size: 26px;
        text-align: center;
    }

    /* ============================================================
       ABOUT MOBILE LAYOUT
    ============================================================ */
    /*.about {*/
    /*    padding: 60px 0;*/
    /*}*/

    /*.about-bottom-image {*/
    /*    display: none !important;*/
    /*}*/

    /*.about-top-image {*/
    /*    height: 280px;*/
    /*}*/

    /*.about-content {*/
    /*    padding-left: 0;*/
    /*    margin-top: 40px;*/
    /*    text-align: center;*/
    /*}*/

    /*.about-title-row {*/
    /*    justify-content: center;*/
    /*}*/

    /* Hide stats image, show as pseudo background instead */
    /*.about-stats-image {*/
    /*    display: none !important;*/
    /*}*/

    /*.about-content::after {*/
    /*    content: '';*/
    /*    display: block;*/
    /*    width: 100%;*/
    /*    height: 200px;*/
    /*    margin-top: 24px;*/
    /*    border-radius: 12px;*/
    /*    background:*/
    /*        linear-gradient(rgba(255,255,255,0.82), rgba(255,255,255,0.82)),*/
    /*        url('../image/about_company_right.png');*/
    /*    background-size: contain;*/
    /*    background-position: center;*/
    /*    background-repeat: no-repeat;*/
    /*}*/


    /* make row flexible */
    .about .row{
        display:flex;
        flex-direction:column;
    }
    
    /* LEFT COLUMN */
    .about .col-lg-7{
        order:2;
    }
    
    /* RIGHT COLUMN */
    .about .col-lg-5{
        order:1;
    }
    
    /* title first */
    .about-title-row{
        text-align:center;
        justify-content:center;
        margin-bottom:25px;
    }
    
    /* image second */
    .about-top-image{
        height:260px;
    }
    
    /* move image below title */
    .about-images-wrapper{
        display:flex;
        flex-direction:column;
    }
    
    /* hide second image */
    .about-bottom-image{
        display:none;
    }
    
    /* paragraph styling */
    .about-content{
        text-align:center;
        padding-left:0;
        margin-bottom:20px;
    }
    
    /* hide original stats image */
    .about-stats-image{
        display:none;
    }
    
    .about-dot{
        display:none;
    }
    
    /* stats image behind paragraph */
    .about-content p{
        position:relative;
        padding:10px 20px;
        z-index:1;
    }
    
    .about-content p::before{
        content:'';
        position:absolute;
        inset:0;
        background:
            linear-gradient(
                rgba(255,255,255,0.78),
                rgba(255,255,255,0.78)
            ),
            url('../image/about_company_right.png');
        background-repeat:no-repeat;
        background-position:center;
        background-size:contain;
        z-index:-1;
    }
    
    
    /* ============================================================
       PRODUCTS
    ============================================================ */
    .products {
        padding: 60px 0;
    }

    .products-heading h2 {
        font-size: 22px;
        letter-spacing: 1px;
        line-height: 1.6;
    }

    .product-slide {
        min-width: 100% !important;
        flex: 0 0 100% !important;
        padding:20px 105px 0px;
    }

    .products-bottom-row {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }

    /* ============================================================
       WHY CHOOSE US
    ============================================================ */
    .why {
        padding: 60px 0;
        /* Remove decorative full-page image that breaks mobile layout */
        background: #f3f5f7 !important;
    }

    .why-main-title h1 {
        font-size: 22px;
        letter-spacing: 1px;
    }

    .why-small-title {
        font-size: 16px;
        padding-top: 20px;
        margin-bottom: 30px;
    }

    .why-box h4 {
        font-size: 18px;
    }

    .why-btn {
        display: inline-block;
        margin-top: 10px;
    }

    /* ============================================================
       PROJECTS
    ============================================================ */
    .projects {
        padding: 60px 0;
    }

    .projects-main-title {
        font-size: 20px;
        line-height: 1.5;
    }

    .project-slide {
        flex: 0 0 calc((100% - 20px) / 2);
    }

    .project-card {
        height: 280px;
    }

    /* ============================================================
       CTA
    ============================================================ */
    .cta {
        padding: 70px 20px;
    }

    .cta-content h2 {
        font-size: 28px;
    }

    .cta-content p {
        font-size: 15px;
    }

    /* ============================================================
       CLIENTS
    ============================================================ */
    .clients-wrapper {
        padding: 0 0 60px;
    }

    .client-slide {
        min-width: 33.333% !important;
    }
    /* ============================================================
       CONTACT
    ============================================================ */
    .contact-right-col {
        position: relative;
        height: 290px;
        overflow: hidden;
    }
    .contact-map {
        height: 290px;
    }
    
    .contact-info-box {
        position: absolute;
        top: 48%;
        width: 230px;
        height: 190px;
        padding: 8px 8px;
    }
    .info-row {
        gap: 8px;
        padding: 8px 0;
    }
    
    /* ============================================================
       CAREER
    ============================================================ */
    .job-top{
        flex-direction:column;
    }

    .job-info-grid{
        grid-template-columns:
            repeat(2,1fr);
    }

    .career-hero h1{
        font-size:54px;
    }

    .section-head h2,
    .form-head h2{
        font-size:35px;
    }

    /* ============================================================
       FOOTER
    ============================================================ */
    footer {
        padding: 50px 0 0;
    }

    footer h4 {
        margin-top: 20px;
    }
}


/* ================================================================
   ≤ 768px  (phones landscape / large phones)
================================================================ */
@media (max-width: 768px) {

    /* ============================================================
       TOPBAR
    ============================================================ */
    .topbar {
        padding: 10px 0;
        font-size: 12px;
    }

    /* ============================================================
       HERO
    ============================================================ */
    .hero {
        padding: 160px 0 70px;
    }

    .hero-content h1 {
        font-size: 26px;
    }

    .hero-content p {
        font-size: 14px;
        margin: 20px 0;
    }
    .hero-form { 
        max-width: 60%;
    }
    .hero-form-row {
        flex-direction: column;
    }

    .consult-btn {
        padding: 14px 24px;
        font-size: 13px;
        letter-spacing: 1px;
        width: 100%;
    }

    /* ============================================================
       SERVICES
    ============================================================ */
    .services-slider-wrapper {
        padding: 0 40px;
    }
    .service-slide {
        min-width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 50px;
    }

    .service-card h4 {
        font-size: 18px;
        padding: 0 35px;
    }

    .service-card ul li {
        font-size: 15px;
    }

    /* ============================================================
       ABOUT
    ============================================================ */
    .about-top-image {
        height: 240px;
    }
    .about-content h5{
        font-size: 25px;
        font-weight: 400;
        letter-spacing: 0px;
    }
    .about-content p {
        font-size: 15px;
    }

    /* ============================================================
       PRODUCTS
    ============================================================ */
    .products-heading h2 {
        font-size: 20px;
    }
    .product-slide {
        padding:20px 65px 0px;
    }

    .product-image-area {
        height: 200px;
    }
    

    /* ============================================================
       WHY
    ============================================================ */
    .why-box {
        gap: 16px;
        margin-bottom: 26px;
    }

    .why-box p {
        font-size: 14px;
    }

    /* ============================================================
       PROJECTS
    ============================================================ */
    .projects-main-title {
        font-size: 18px;
    }

    .project-card {
        height: 260px;
    }
    .project-slide {
        flex: 0 0 100%;
        padding: 0 60px;
    }
    .project-card .project-label {
        font-size: 11px;
        padding: 12px 22px 12px 14px;
    }

    /* ============================================================
       CTA
    ============================================================ */
    .cta-content h2 {
        font-size: 24px;
    }

    .cta-content p {
        font-size: 14px;
        margin-bottom: 24px;
    }

    /* ============================================================
       CLIENTS
    ============================================================ */
    .client-slide{
        min-width:33.3333%;
    }
    
    .client-logo img {
        max-width: 70px;
        max-height: 70px;
    }
    /* ============================================================
       CONTACT
    ============================================================ */
    .contact {
        padding: 60px 0;
    }

    .contact-row {
        flex-direction: column;
        gap: 10px;
    }

    .contact-right-col {
        height: auto;
        overflow: visible;
    }

    .contact-map {
        height: 220px;
    }

    .contact-info-box {
        position: relative;
        width: 100%;
        height: auto;
        top: auto;
        left: auto;
        transform: none;
        margin-top: 12px;
        border-radius: 10px;
        padding: 24px 20px;
    }

    /* ============================================================
       FOOTER
    ============================================================ */
    footer p {
        font-size: 13px;
    }

    .footer-bottom {
        font-size: 12px;
    }
}


/* ================================================================
   ≤ 576px  (standard phones — portrait)
================================================================ */
@media (max-width: 576px) {

    /* ============================================================
       TOPBAR
    ============================================================ */
    .topbar {
        font-size: 11px;
        padding: 8px 0;
    }
    .topbar .container {
        gap: 4px !important;
    }

    /* ============================================================
       NAVBAR
    ============================================================ */
    .navbar {
        top: 54px;
    }

    .logo {
        height: 48px;
    }

    /* ============================================================
       HERO
    ============================================================ */
    .hero {
        padding: 150px 0 60px;
    }

    .hero-content h1 {
        font-size: 22px;
        line-height: 1.6;
    }

    .hero-content p {
        font-size: 13px;
    }

    .hero-quote-text {
        font-size: 13px;
    }

    .hero-form .form-control {
        font-size: 13px;
    }

    /* ============================================================
       SERVICES
    ============================================================ */
    .services {
        padding: 50px 0 90px;
    }

    .services-slider-wrapper {
        padding: 0 36px;
    }
    .service-slide {
        min-width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 30px;
    }

    .section-title-main-service h2 {
        font-size: 22px;
    }

    .service-card {
        padding: 26px 22px 90px;
    }

    .service-card h4 {
        font-size: 17px;
    }

    .service-card ul li {
        font-size: 14px;
        margin-bottom: 10px;
    }

    /* ============================================================
       ABOUT
    ============================================================ */
    .about {
        padding: 50px 0;
    }

    .about-top-image {
        height: 200px;
    }

    .about-content {
        margin-top: 30px;
        padding: 0 10px;
    }

    .about-content h5 {
        font-size: 19px;
        letter-spacing:1px;
    }

    .about-content p {
        font-size: 14px;
        line-height: 1.8;
    }

    .about-content::after {
        height: 160px;
    }

    /* ============================================================
       PRODUCTS
    ============================================================ */
    .products {
        padding: 50px 0;
    }

    .products-heading {
        margin-bottom: 40px;
    }

    .products-heading h2 {
        font-size: 18px;
        letter-spacing: 0.5px;
    }

    .product-content h3 {
        font-size: 17px;
    }

    .product-content h4 {
        font-size: 13px;
    }
    
    .product-slide {
        padding:20px 45px 0px;
    }

    /* ============================================================
       WHY CHOOSE US
    ============================================================ */
    .why {
        padding: 50px 0;
    }

    .why-main-title h1 {
        font-size: 20px;
    }

    .why-small-title {
        font-size: 15px;
        padding-top: 16px;
        margin-bottom: 24px;
    }

    .why-box h4 {
        font-size: 16px;
    }

    .why-box p {
        font-size: 13px;
    }

    .why-icon {
        width: 46px;
        height: 46px;
        min-width: 46px;
    }

    /* ============================================================
       PROJECTS
    ============================================================ */
    .projects {
        padding: 50px 0;
    }

    .projects-main-title {
        font-size: 16px;
        margin-bottom: 30px;
    }

    .project-card {
        height: 220px;
    }

    /* ============================================================
       CTA
    ============================================================ */
    .cta {
        padding: 60px 16px;
    }

    .cta-content h2 {
        font-size: 22px;
        margin-bottom: 20px;
    }

    .cta-content p {
        font-size: 13px;
        margin-bottom: 20px;
    }

    .cta-play {
        width: 50px;
        height: 50px;
        font-size: 16px;
    }

    .cta-btn {
        font-size: 13px;
        padding: 10px 20px;
    }

    /* ============================================================
       CLIENTS
    ============================================================ */
    .clients-banner-pill {
        font-size: 12px;
        letter-spacing: 1px;
        padding: 12px 24px;
    }

    .client-slide {
        min-width: 50% !important;
    }

    .client-logo img {
        max-width: 60px;
        max-height: 60px;
    }

    /* ============================================================
       CONTACT
    ============================================================ */
    .contact {
        padding: 50px 0;
    }

    .contact-btn-label {
        font-size: 13px;
        padding: 8px 20px;
    }

    .contact-sub {
        font-size: 12px;
    }

    .contact-field input,
    .contact-select select {
        font-size: 12px;
        padding: 10px 10px 10px 28px;
    }

    .contact-submit-btn {
        font-size: 12px;
        padding: 10px;
        letter-spacing: 0.5px;
    }

    .contact-map {
        height: 200px;
    }

    .contact-info-box {
        padding: 18px 16px;
    }

    .info-text {
        font-size: 11px;
    }

    .info-icon {
        width: 28px;
        height: 28px;
        min-width: 28px;
        font-size: 11px;
    }
    
    
    /* ============================================================
       CAREER
    ============================================================ */
    .career-hero{
        padding:170px 0 100px;
    }
    .career-hero h1{
        font-size:38px;
        letter-spacing:-1px;
    }
    .career-hero p{
        font-size:15px;
    }
    .career-toast{
        width:calc(100% - 30px);

        right:15px;
        top:15px;
    }
    .hero-actions{
        flex-direction:column;
    }
    .hero-primary-btn,
    .hero-secondary-btn{
        width:100%;
    }
    .job-top{
        padding:30px 24px;
    }
    .career-accordion{
        padding: 0 24px 24px;
    }
    .job-top h3{
        font-size:30px;
    }
    .job-info-grid{ 
        grid-template-columns:1fr;
    }
    .career-form-box{
        padding:40px 24px;
    }
    .section-head h2,
    .form-head h2{
        font-size:32px;
    }
    .apply-trigger-btn{
        width:100%;
    }

    /* ============================================================
       FOOTER
    ============================================================ */
    footer {
        padding: 40px 0 0;
        text-align: center;
    }

    footer h4 {
        font-size: 14px;
        margin-top: 24px;
        margin-bottom: 12px;
    }

    footer p {
        line-height: 1.8;
    }

    .footer-bottom {
        margin-top: 30px;
        font-size: 11px;
    }

    .scroll-top-btn {
        width: 38px;
        height: 38px;
        font-size: 12px;
        right: 14px;
        bottom: 14px;
    }
}


/* ================================================================
   ≤ 400px  (very small phones — iPhone SE, Galaxy A03 etc.)
================================================================ */
@media (max-width: 400px) {

    .hero-content h1 {
        font-size: 20px;
    }

    .hero-form {
        max-width: 70%;
    }
    .consult-btn {
        padding: 12px 12px;
        font-size: 11px;
        letter-spacing: 1px;
        width: 100%;
    }
    
    .hero-content p {
        font-size: 12px;
    }

    .section-title-main-service h2 {
        font-size: 20px;
    }

    .service-card h4 {
        font-size: 15px;
    }

    .products-heading h2 {
        font-size: 16px;
    }
    
    .product-slide {
        padding:20px 25px 0px;
    }

    .why-main-title h1 {
        font-size: 18px;
    }

    .cta-content h2 {
        font-size: 20px;
    }

    .projects-main-title {
        font-size: 14px;
    }

    .project-card {
        height: 190px;
    }
}