/* Services page styles (from the WordPress "Test Template"). */
.separator{
            display: none;
        }
        .box{
            max-width: 1920px;
            padding-left: 164px;
            padding-right: 117px;
            padding-bottom:200px;
            margin: 0 auto;
            display: flex;
            gap: 40px; /* desktop gap between left and right */
            justify-content: space-between; /* use gap for spacing */
        }
        .newbackground{
            background-color: rgb(246,246,247);
            padding-top:30px
        }
        .navbar-projects{
            width: fit-content;
            margin: 0 auto;
            margin-bottom: 100px;
            background-color: white;
            border-radius: 10000px;
            padding:27px 27px;
            font-weight: 500;

            display: flex;
            text-transform: uppercase;
            font-size: 16px;
            align-items: center;
            line-height: 19px;

        }
        .navbar-projects p{
            color: #1C1D40;
            padding-left: 15px;
            padding-right: 15px;
            border-right: 1px solid #707070;
            cursor: pointer;

        }
        /* Each <p> sits in its own .navbarLink next to a .separator, so p:last-child never matches: drop the divider after the last link. */
        @media (min-width: 768px) {
            .navbar-projects .navbarLink:last-child p{
                border-right: none;
            }
        }
        .navbar-projects p:hover{
            color: #4461EB;
        }
        .footer-info{
            opacity: 1;
        }
        .service_left{
            color:#1C1D40;
            background-color: white;
            border-radius: 42px;
            padding-top: 63px;
            padding-bottom: 87px;
            /* width: 37%; */
            height: fit-content;
            flex: 1 1 0;
            min-width: 0; /* allow shrinking with flex */
            max-width: 707px;
        }
        .service_left_texts{
            padding-left: 90px;
            padding-right: 99px;
        }
        .service_left_texts_title{
            font-size:80px;
            line-height: 80px;
        }
        .service_left_texts_desc{
            font-size: 20px;
            margin-top: 27px;
        }
        .service_left_images {
            display: flex;
            margin-top: 30px;
            flex-wrap: nowrap;      /* keep one row so it can scroll horizontally */
            overflow-x: hidden;       /* allow horizontal scroll programmatically */
            overflow-y: hidden;     /* prevent vertical scroll */
            height: 200px;          /* match image height */
            direction: ltr;         /* ensure left-to-right scrollLeft semantics */
            scroll-behavior: auto;  /* avoid smooth scroll affecting programmatic moves */
        }

        /* Fixed-size images that won't shrink */
        .service_left_image {
            width: auto;
            height: 200px;
            object-fit: cover;
            object-position: center;
            flex: 0 0 200px;        /* no grow, no shrink; fixed basis */
            display: block;
        }


        /* If you use a wrapper, apply consistent sizing or remove it entirely */
        .service_left_image_wrapper {
            width: 200px;
            height: 200px;
            flex: 0 0 200px;
            display: flex;
        }
        .service_left_image_wrapper > img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .service_right.faqs{
            max-width:797px;
        }
        /* FAQ styles */
        .faqs{
            color: #001964;
            background: transparent;
            border-top: 1px solid #001964;
            /*border-bottom: 1px solid black;*/
            max-width: none; /* allow full flexibility */
            width: auto;
            display: flex;
            flex-direction: column;
            gap: 14px;
            flex: 1 1 0; /* shrink and grow with container */
            min-width: 0; /* prevent overflow and allow shrinking */
        }
        .faq{
            /*border-top: 1px solid black;*/
            border-bottom: 1px solid #001964;
            overflow: hidden;
        }
        .faq_head{
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding:30px 0px;
            background: transparent;
            border: 0;
            cursor: pointer;
            font: inherit;
            text-align: left;
        }
        .line1, .line2{
            width: 20px;
            background: #001964;
            height: 1px;


        }

        .line2{ transform: rotate(90deg); }

        .faq_title{
            margin: 0;
            font-weight: 500;
            font-size: 20px;
            line-height: 30px;
            text-transform: uppercase;
        }
        .faq_icon{ position: relative; width: 20px; height: 20px; flex: 0 0 20px; transition: transform .2s ease; font-weight: 700; }
        .faq[open] >.faq_head .line2{ opacity: 0; }
        /* Color only the opened FAQ's own title, not nested titles */
        .sub-faq {
            color: #001964;
        }
        .faq.sub-faq:not(:last-child){
            border-bottom: 1px dotted #001964 !important;
        }
        .faq[open] > .faq_head .faq_title{ color: #4461EB; }
        .sub-faq[open]  .faq_head {
            color :#4461EB;
        }
        .sub-faq[open] .line2{ display: none; }

        /* Nested DUK (FAQ-in-FAQ) styles */
        .faq_desc.faq_duk .faq-list{
            margin-left: 20px;           /* requested indent */
            border: 0;                   /* prevent double border on wrapper */
            counter-reset: duk;          /* initialize counter */
        }
        .faq_desc.faq_duk .sub-faq > .faq_head .faq_title::before{
            counter-increment: duk;      /* 1, 2, 3, ... */
            content: counter(duk) ". ";
            margin-right: 6px;
        }
        /* Dotted separator for nested items with very small dots */
        .faq_desc.faq_duk .sub-faq{ position: relative; border-bottom: 0; }
        .faq_desc.faq_duk .sub-faq::after{
            content: "";
            position: absolute;
            left: 22px;                  /* align with inner padding */
            right: 22px;
            bottom: 0;
            height: 1px;
            /* micro-dot line: tiny dots every 4px */
            background-image: radial-gradient(currentColor 0.8px, transparent 1px);
            background-size: 4px 1px;
            background-repeat: repeat-x;
            background-position: left bottom;
            opacity: 0.9;
            pointer-events: none;
        }
        /* Remove the bottom dotted line on the last nested item */
        .faq_desc.faq_duk .sub-faq:last-child::after{ display: none; }
        /* Keep nested titles from inheriting parent open color */
        .faq_desc.faq_duk .sub-faq .faq_title{ color: inherit; }

        .faq_panel{
            max-height: 0;
            overflow: hidden;
            opacity: 0;
            padding-bottom: 0;
            font-size: 20px;
            color: #001964;
            line-height: 30px;
            transition: max-height 280ms cubic-bezier(.2,.8,.2,1), opacity 200ms ease;
            will-change: max-height, opacity;
        }
        .faq[open] > .faq_panel{
            opacity: 1;
            padding-bottom: 30px;
        }

        /* FAQ images: fixed 4-column grid regardless of screen width */
        .faq_desc.faq_gallery{
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 12px;
            /*padding: 30px 40px 60px; !* top 30px, left/right 40px, bottom 60px *!*/
            justify-items: center;    /* center items horizontally in their cells */
            align-items: center;      /* center items vertically in their cells */
        }
        .clients-imgs{
            height: 127px;
            display: flex
        ;
            justify-content: center;
            align-items: center;
        }
        .faq_desc.faq_gallery img{
            /*width: 70%;              !* ~70% of previous visual size *!*/
            height: auto;
            display: block;
            margin: 0 auto;          /* ensure the image is centered */
            object-fit: cover;
        }
        @media(max-width:1600px){

        }
        @media(max-width:1000px){
            .box{
                flex-direction: column;
                gap:20px;
            }
            .service_left{
                max-width: 100% !important;
                margin-right: 0; /* reset desktop gap on stacked layout */
            }
            .faqs{
                max-width: 100%;
            }
        }
        @media (max-width: 1600px) {
            .box{ padding-left: 82px; padding-right: 58px; }
            .service_left{ border-radius: 42px; padding-top: 44px; padding-bottom: 58px; max-width: 650px; }
            .service_left_texts{ padding-left: 60px; padding-right: 60px; }
            .service_left_texts_title{ font-size: 60px; line-height: 60px; }
            .service_left_texts_desc{ font-size: 17px; }
            .service_left_images{ height: 170px; }
            .service_left_image{ height: 170px; flex: 0 0 170px; }
            .service_left_image_wrapper{ width: 170px; height: 170px; flex: 0 0 170px; }
            .navbar-projects{ font-size: 14px; padding: 20px 20px; }
        }
        @media (max-width: 767px) {
            .box{ padding-left: 32px; padding-right: 24px; padding-bottom: 140px; }
            .navbar-projects{ margin-bottom:60px; font-size: 13px; padding: 16px 16px; flex-wrap: wrap; row-gap: 8px; }
            .navbar-projects p{ padding-left: 10px; padding-right: 10px; border-right: 1px solid #E0E3EF; }
            .service_left{ border-radius: 42px; padding-top: 36px; padding-bottom: 48px; }
            .service_left_texts{ padding-left: 28px; padding-right: 28px; }
            .service_left_texts_title{ font-size: 40px; line-height: 50px; }
            .service_left_texts_desc{ font-size: 17px; margin-top: 18px; }
            .service_left_images{ height: 140px; }
            .service_left_image{ height: 140px; flex: 0 0 140px; }
            .service_left_image_wrapper{ width: 140px; height: 140px; flex: 0 0 140px; }
            .faq_title{ font-size: 18px; line-height: 28px; }
            .faq_head{ padding: 22px 0; }
            .faq_panel{ font-size: 18px; line-height: 28px; }
            .faq_desc.faq_gallery{ grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 20px 10px 40px; }
            .faq_desc.faq_gallery img{ width: 90%; }
            .navbar-projects{flex-direction: column; font-size: 12px; padding: 12px 12px; justify-content: center; border-radius: 42px; width:calc(100% - 40px);}
            .navbar-projects p{ padding-left: 8px; padding-right: 8px;     width: 250px;
                text-align: center;
                border-left: 1px solid #E0E3EF;}
            .navbar-projects p:last-child{
                border-right:  1px solid #E0E3EF;;
            }
            .service_left_texts{ padding-left: 18px; padding-right: 18px; }
            .box{ padding-left: 20px; padding-right: 20px; padding-bottom: 110px; }
            .navbarLink{
                display: flex ;
                flex-direction: column;
                gap: 10px;

            }
            .separator{
                display: flex;
                height: 1px;
                width: 100%;
                background-color: #E0E3EF;
            }
            .navbarLink:last-child .separator{
                display: none;
            }

        }
        @media (max-width: 390px) {
            .box{ padding-left: 20px; padding-right: 20px; padding-bottom: 110px; }

            .navbar-projects p{ padding-left: 8px; padding-right: 8px;     width: 250px;
                text-align: center;
                border-left: 1px solid #E0E3EF;}
            .navbar-projects p:last-child{
                border-right:  1px solid #E0E3EF;;
            }
            .service_left{ border-radius: 42px; padding-top: 28px; padding-bottom: 36px; }
            .service_left_texts{ padding-left: 18px; padding-right: 18px; }
            .service_left_texts_title{ font-size: 32px; line-height: 40px; }
            .service_left_texts_desc{ font-size: 16px; }
            .service_left_images{ height: 110px; }
            .service_left_image{ height: 110px; flex: 0 0 110px; }
            .service_left_image_wrapper{ width: 110px; height: 110px; flex: 0 0 110px; }
            .faq_title{ font-size: 16px; line-height: 24px; }
            .faq_head{ padding: 18px 0; }
            .faq_panel{ font-size: 16px; line-height: 24px; }
            .faq_desc.faq_gallery{ grid-template-columns: repeat(2, 1fr); gap: 8px; padding: 16px 0 28px; }
            .faq_desc.faq_gallery img{ width: 100%; }
        }
        .content-new ul li{
            list-style: disc;
            margin-left: 20px;
            padding-left: 0;
        }
        .content-new ol li{
            list-style-type: decimal;
            margin-left: 35px;
            padding-left: 0;
        }
