/* ==========================================================================
   Premium & Modern CSS for Mega Web Design
   ========================================================================== */

@font-face {
    font-family: 'Heebo';
    src: url('../font/Heebo-Bold.woff2') format('woff2'),
        url('../font/Heebo-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Heebo';
    src: url('../font/Heebo-Medium.woff2') format('woff2'),
        url('../font/Heebo-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Heebo';
    src: url('../font/Heebo-SemiBold.woff2') format('woff2'),
        url('../font/Heebo-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('../font/Roboto-Light.woff2') format('woff2'),
        url('../font/Roboto-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('../font/Roboto-Regular.woff2') format('woff2'),
        url('../font/Roboto-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root {
    --primary: #008cea;
    --black: #000000;
    --bg-light: #f8f9fa;
    --text-color: #333333;
    --gray-light: #eeeeee;
}

body {
    font-family: 'Heebo', sans-serif !important;
    font-weight: 400;
    line-height: 1.7;
    color: var(--text-color);
    background-color: #ffffff;
    overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Heebo', sans-serif !important;
    font-weight: 600;
    color: var(--black);
    margin-top: 0;
    margin-bottom: 12px;
    line-height: normal;
}

a {
    text-decoration: none;
    color: var(--primary);
    transition: all 0.3s ease;
}

a:hover,
a:focus {
    text-decoration: none;
    color: var(--black);
}

li a {
    font-family: 'Heebo', sans-serif;
}

p {
    margin-bottom: 15px;
    font-family: 'Heebo', sans-serif !important;
}

img {
    max-width: 100%;
    height: auto;
}

.btn {
    transition: all 0.3s ease;
}

/* ==========================================================================
   Header & Navigation
   ========================================================================== */
.header {
    /* background: #ffffff; */
    padding: 15px 0;
    /* box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05); */
    /* position: fixed; */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
}

.main-logo img {
    max-width: 160px;
}

.cs-btn {
    background-color: var(--primary);
    color: #ffffff;
    padding: 8px 18px;
    border-radius: 12px;
    font-family: 'Roboto';
    font-weight: 700;
    border: 2px solid var(--primary);
    /* text-transform: uppercase; */
    font-size: 15px;
    letter-spacing: 0.5px;
}

.cs-btn:hover {
    background-color: var(--black);
    border-color: var(--black);
    color: #ffffff;
}

.moblie-call {
    display: inline-block;
    margin-right: 25px;
    font-family: 'Roboto';
    font-weight: 700;
    font-size: 16px;
    margin-top: 5px;
}

.moblie-call a {
    color: var(--black);
}

.moblie-call i {
    color: var(--primary);
    margin-right: 5px;
    font-size: 18px;
}

.social-icons {
    list-style: none;
    padding: 0;
    margin: 5px 0 0 0;
    display: inline-block;
}

.social-icons li {
    display: inline-block;
    margin-left: 15px;
}

.social-icons li a {
    color: #008cea;
    font-size: 14px;
    width: 30px;
    height: 30px;
    display: flex;
    line-height: 35px;
    text-align: center;
    border-radius: 50%;
    background: #fff;
    justify-content: center;
    align-items: center;
}

.social-icons li a:hover {
    background: var(--black);
    color: #ffffff;
}

.navbar-collapse {
    clear: both;
}

@media (min-width: 992px) {

    .navbar-collapse {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
    }

    .navbar-nav {
        display: flex !important;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-end;
        align-items: center;
        margin: 0;
        padding: 0;
        float: right;
    }

    .navbar-nav > li {
        display: block;
        width: auto;
        margin-left: 5px;
        position: relative;
    }

    /* Desktop par mobile button hide */
    .mobile-menu-btn {
        display: none !important;
    }
}

/* @media (max-width: 767px) {
    .navbar-nav {
        display: block;
        margin-top: 20px;
        list-style: none;
        padding-left: 0;
    }

    .navbar-nav>li {
        display: block;
        width: 100%;
        position: relative;
    }
} */

.navbar-nav>li>a {
    font-family: 'Roboto';
    font-weight: 400;
    color: var(--black);
    font-size: 16px;
    padding: 10px 15px;
    letter-spacing: 0.5px;
}

.navbar-nav>li>a:hover,
.navbar-nav>li.active>a {
    color: var(--primary);
    background: transparent;
}

.dropdown-menu {
    border: none;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border-radius: 12px;
    padding: 10px 0;
    display: none;
    position: absolute !important;
    top: 100%;
    left: 0;
    min-width: 246px;
    background: #ffffff;
    z-index: 1000;
}

.dropdown:hover>.dropdown-menu {
    display: block;
}

.dropdown-menu>li {
    position: relative;
}

.dropdown-menu>li>a {
    font-family: 'Roboto';
    font-weight: 500;
    padding: 10px 20px;
    color: var(--text-color);
    display: block;
    font-size: 14px !important;
}

.dropdown-menu>li>a:hover {
    background-color: rgba(0, 140, 234, 0.05);
    color: var(--primary);
}

.sub-menu {
    display: none;
    position: absolute;
    top: 0;
    right: 100%;
    min-width: 260px;
    background-color: #ffffff;
    list-style: none;
    padding: 10px 0;
    margin: 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border-radius: 12px;
    z-index: 1001;
    font-size : 14px ;
}

.dropdown-submenu:hover>.sub-menu {
    display: block;
}

.sub-menu>li>a {
    display: block;
    padding: 10px 20px;
    color: var(--text-color);
    font-family: 'Roboto';
    font-weight: 500;
    text-decoration: none;
}

.sub-menu>li>a:hover {
    background-color: rgba(0, 140, 234, 0.05);
    color: var(--primary);
}

/* ==========================================================================
   Top Bar
   ========================================================================== */
.top-bar {
    padding: 6px 0;
    font-size: 14px;
}

.top-bar-contact,
.top-bar-social {
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

.top-bar-social {
    justify-content: flex-end;
}

.top-bar-contact li {
    margin-right: 20px;
}

.top-bar-contact i {
    margin-right: 5px;
}

.top-bar-social li {
    margin-left: 15px;
}

.top-bar a:hover {
    opacity: 0.8;
    text-decoration: none;
}

/* Navbar Dropdown Icon */
.nav-dropdown-icon {
    font-size: 10px;
    margin-left: 5px;
}

.dropdown-toggle::after {
    display: none !important;
}

/* ==========================================================================
   Hero / Banner Section
   ========================================================================== */

.hero-section {
    background-color: var(--bg-light);
}




/* ==========================================================================
   General Sections
   ========================================================================== */
.fs {
    padding: 60px 0 !important;
}

.bg-color,
.bg {
    background-color: var(--bg-light);
}

.section-title {
    /* margin-bottom: 55px; */
}

.section-title h2,
.section-title h3,
.section-title {
    /* font-size: 38px; */
    /* font-weight: 800; */
    /* margin-bottom: 12px; */
    /* line-height: normal; */
    /* font-family: 'Heebo', sans-serif !important; */
}

.section-title span,
.section-title h2 span,
.section-title h3 span {
    color: var(--primary);
}

/* .section-title p {
    font-size: 18px;
    color: #666;
    font-family: 'Roboto';
    font-weight: 400;
} */

/* ==========================================================================
   Services Cards
   ========================================================================== */
/* .col-service {
    background: #ffffff;
    padding: 45px 30px;
    border-radius: 12px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.04);
    margin-bottom: 30px;
    transition: all 0.3s ease;
    text-align: center;
    border: 1px solid transparent;
} */

.col-service:hover {
    /* transform: translateY(-10px);
    border-color: var(--primary);
    box-shadow: 0 15px 35px rgba(0, 140, 234, 0.15); */
}

.col-service:hover {}

.service-icon {
    font-size: 50px;
    color: var(--primary);
    margin-bottom: 12px;
    transition: all 0.3s ease;
}

.col-service:hover .service-icon {
    transform: scale(1.1);
}

.service-text h4 {
    font-size: 22px;
    margin-bottom: 15px;
}

.service-text h4 a {
    color: var(--black);
}

.service-text h4 a:hover {
    color: var(--primary);
}

/* ==========================================================================
   GFU / Feature Items
   ========================================================================== */
.gfu-item {
    text-align: center;
    margin-bottom: 6px;
    padding: 30px 20px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.gfu-item:hover {
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
    transform: translateY(-10px);
    border-color: var(--primary);
}

.icon-box {
    width: 54px;
    height: 54px;
    line-height: 85px;
    background: rgba(0, 140, 234, 0.1);
    color: var(--primary);
    font-size: 23px;
    border-radius: 50%;
    margin: 0px 0px 12px;
    display: block;
    transition: all 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

.gfu-item:hover .icon-box {
    background-color: var(--primary);
    color: #ffffff;
    transform: scale(1.1);
}

/* .gfu-item h4 {
    font-size: 20px;
    margin-bottom: 15px;
} */

/* ==========================================================================
   Testimonials & FAQs
   ========================================================================== */
.tes-box {
    background: #ffffff;
    padding: 35px;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    border-left: 5px solid var(--primary);
    margin-top: 10px;
}

.tes-box .name {
    font-size: 22px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 15px;
    font-family: 'Roboto';
}


/* ==========================================================================
   Form & Contact Info (used by contact section above footer)
   ========================================================================== */
.white-bg {
    background: #ffffff;
    padding: 50px;
    border-radius: 15px;
    color: var(--text-color);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.footer-title {
    font-size: 26px;
    color: var(--black);
    font-family: 'Roboto';
    font-weight: 800;
    margin-bottom: 30px;
}

.contact-info .footer-title {
    margin-left: 15px;
}

.form-control {
    border-radius: 12px;
    box-shadow: none;
    border: 1px solid #dddddd;
    padding: 14px 18px;
    height: auto;
    font-family: 'Roboto';
    background: #fdfdfd;
}

.form-control:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(0, 140, 234, 0.1);
}

.form-box .btn {
    background: var(--primary);
    color: #ffffff;
    font-family: 'Roboto';
    font-weight: 700;
    padding: 12px 30px;
    border-radius: 12px;
    text-transform: uppercase;
    margin-top: 10px;
}

.form-box .btn:hover {
    background: var(--black);
}

.info-item {
    margin-bottom: 25px;
    display: flex;
    padding-left: 15px;
}

.f-icon {
    color: var(--primary);
    font-size: 20px;
    margin-right: 20px;
    margin-top: 2px;
    background-color: rgba(0, 140, 234, 0.1);
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.info-item:hover .f-icon {
    background-color: var(--primary);
    color: #ffffff !important;
}

.f-text h4 {
    color: var(--black);
    margin-bottom: 8px;
    font-size: 20px;
}

.f-text p,
.f-text a {
    color: #555555;
    font-weight: 500;
}

.f-text a:hover {
    color: var(--primary);
}

/* ==========================================================================
   Footer
   ========================================================================== */
footer {
    background: #008cea !important;
    color: #000000;
    padding-top: 70px;
    padding-bottom: 0;
}

/* Footer Brand Column */
.footer-brand-logo {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}



.footer-brand-desc {
    /* font-size: 14px; */
    color: #ffffff;
    /* line-height: 1.8; */
    margin-bottom: 25px;
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
}

/* Footer Social Icons */
.footer-social {
    display: flex;
    gap: 10px;
}

.footer-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    font-size: 15px;
    transition: all 0.3s ease;
}

.footer-social a:hover {
    background: var(--primary);
    color: #ffffff;
    transform: translateY(-3px);
}

/* Footer Link Columns */
.f-page-link span.mega-new-new-m-ft-chan-ft {
    color: #ffffff;
    margin-bottom: 16px;
    font-size: 28px;
    font-family: 'Roboto';
    font-weight: 700;
    display: block;
}

.footer-contact-col span.mega-new-new-m-ft-chan-ft {
    color: #ffffff;
    margin-bottom: 16px;
    font-size: 28px;
    font-family: 'Roboto';
    font-weight: 700;
    display: block;
}

.f-page-link ul {
    list-style: none;
    padding: 0;
}

.f-page-link ul li {
    margin-bottom: 5px;
}

.f-page-link ul li a {
    color: #ffffff;
    font-weight: 400;
    font-size: 15px;
    font-family: 'Roboto';
    transition: all 0.3s ease;
    text-decoration: none;
}

.f-page-link ul li a:hover {
    color: var(--black);
    padding-left: 6px;
}

/* Footer Contact Column */
.footer-contact-col h4 {
    color: #ffffff;
    margin-bottom: 16px;
    font-size: 28px;
    font-family: 'Roboto';
    font-weight: 700;
}

.footer-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-contact-list li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
    font-size: 14px;
    color: #ffffff;
    line-height: 1.7;
    font-family: 'Roboto';
}

.footer-contact-list li a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-contact-list li a:hover {
    color: #000000 !important;
}

.footer-contact-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--black);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 14px;
    flex-shrink: 0;
    color: #ffffff;
    font-size: 14px;
}

/* Footer Copyright Bar */
.footer-copyright {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: 16px 0;
    margin-top: 30px;
}

.footer-copyright-text {
    color: #ffffff;
    font-size: 14px;
    margin: 0;
    font-family: 'Roboto';
}

.footer-legal-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: flex-end;
    gap: 30px;
}

.footer-legal-links li a {
    color: #fff;
    font-size: 14px;
    font-family: 'Roboto';
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-legal-links li a:hover {
    color: #000;
}

/* ==========================================================================
   Swiper Testimonials UI (Reference Match)
   ========================================================================== */
.testimonial-swiper {
    padding: 20px 10px 60px 10px;
}

.tes-box-new {
    background: #ffffff;
    padding: 35px 30px;
    border-radius: 12px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.05);
    text-align: left;
    height: 100%;
    display: flex;
    flex-direction: column;
    height: 318px;
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.tes-box-new:hover {
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
    transform: translateY(-10px);
    border-color: var(--primary);
}

.tes-box-new .tes-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.tes-box-new .tes-author {
    display: flex;
    align-items: center;
}

.tes-box-new .tes-author-img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 15px;
}

.tes-box-new .tes-author-info span.testi-name {
    margin: 0 0 5px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--black);
    font-family: 'Roboto' !important;
}

.tes-box-new .tes-author-info span {
    font-size: 14px;
    color: #888;
    font-style: italic;
    font-family: 'Roboto';
}

.tes-box-new .tes-stars {
    color: #FFB800;
    font-size: 18px;
}

.tes-box-new .tes-body p {
    font-size: 15px;
    font-style: italic;
    color: #666;
    flex-grow: 1;
    line-height: 1.8;
    margin: 0;
}

.swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: #d1d5db !important;
    opacity: 1 !important;
    margin: 0 6px !important;
    transition: all 0.3s ease;
}

.swiper-pagination-bullet-active {
    background: var(--primary) !important;
    transform: scale(1.2);
}



/* ==========================================================================
   Floating Elements
   ========================================================================== */
#toTop {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background: var(--black);
    color: #ffffff;
    width: 45px;
    height: 45px;
    line-height: 45px;
    text-align: center;
    border-radius: 12px;
    cursor: pointer;
    z-index: 99;
    font-size: 20px;
    transition: 0.3s ease;
}

#toTop:hover {
    background: var(--primary);
    transform: translateY(-3px);
}

.whattsup {
    position: fixed;
    bottom: 30px;
    left: 30px;
    z-index: 99;
    display: none;
}

.whattsup .whatsapp {
    background: #25d366;
    color: #ffffff;
    padding: 12px 25px;
    border-radius: 12px;
    font-family: 'Roboto';
    font-weight: 800;
    font-size: 16px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
}

.whattsup .whatsapp span {
    font-size: 22px;
    margin-right: 8px;
}

.whattsup .whatsapp:hover {
    background: #1ebc59;
    color: #ffffff;
    transform: translateY(-3px);
}

.hm_quick_qutote_btn {
    position: fixed;
    top: 50%;
    right: -44px;
    transform: translateY(-50%) rotate(-90deg);
    z-index: 99;
}

.hm_quick_qutote_btn .btn {
    background: var(--black);
    color: #ffffff;
    font-family: 'Roboto';
    font-weight: 800;
    padding: 8px 18px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    border-radius: 12px 12px 0 0;
}

.hm_quick_qutote_btn .btn:hover {
    background: var(--primary);
}

/* Utilities */
/*.img-box img {*/
/*    border-radius: 12px;*/
/*    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);*/
/*    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.6s ease;*/
/*}*/

/* ==========================================================================
   Modern Contact Section UI
   ========================================================================== */
.contact-section {
    /* padding: 80px 0; */
    background: #f8f9fa;
}

/* .modern-form-card {
    background: #ffffff;
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
} */

.contact-section .footer-title {
    font-size: 32px;
    font-weight: 800;
    color: var(--black);
    font-family: 'Roboto';
    margin-bottom: 10px;
    letter-spacing: -0.5px;
}

.contact-section .form-subtitle {
    font-size: 16px;
    color: #666;
    margin-bottom: 30px;
    font-family: 'Roboto';
}

/* .contact-section .form-group {
    margin-bottom: 20px;
} */

.contact-section .form-control {
    background: #fdfdfd;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    padding: 15px 20px;
    font-size: 15px;
    color: #333;
    box-shadow: none;
    height: auto;
    font-family: 'Roboto';
    transition: all 0.3s ease;
}

.contact-section .form-control:focus {
    border-color: var(--primary);
    outline: none;
}

.contact-section textarea.form-control {
    min-height: 100px;
}

.contact-section .info-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 18px;
}

.contact-section .info-item .f-icon {
    margin-right: 20px;
    margin-top: 5px;
}



.contact-section .info-item .f-icon i {
    font-size: 24px;
    color: var(--primary);
}

.contact-section .info-item:hover .f-icon i {
    color: #fff;
}


.contact-section .info-item .f-text span.new-mega-ne-ft-ch {
    font-size: 20px;
    font-weight: 700;
    color: var(--black);
    font-family: 'Roboto';
    margin-top: 0;
    margin-bottom: 0px;
    display: block;
}

.contact-section .info-item .f-text p,
.contact-section .info-item .f-text a {
    font-size: 16px;
    color: #666;
    line-height: 1.6;
    font-family: 'Roboto';
    text-decoration: none;
    transition: color 0.3s ease;
}

.contact-section .info-item .f-text a:hover {
    color: var(--primary);
}

@media (min-width: 992px) {
    .contact-section .contact-info {
        padding-left: 60px;
    }
}

.contact-section .btn-submit {
    width: 100%;
    border-radius: 50px;
    padding: 15px;
    font-size: 16px;
    text-transform: capitalize;
}

/* ==========================================================================
   Modern Blog Section UI
   ========================================================================== */
.blog-section {
    /* padding: 80px 0; */
    background: #ffffff;
}

.blog-card {
    position: relative;
    margin-bottom: 30px;
}

.blog-card .blog-img {
    overflow: hidden;
    border-radius: 12px;
}

.blog-card .blog-img img {
    width: 100%;
    border-radius: 12px;
    object-fit: cover;
    height: 250px;
    transition: transform 0.4s ease;
}

.blog-card:hover .blog-img img {
    transform: scale(1.1);
}

.blog-card .blog-content {
    background: #ffffff;
    border-radius: 12px;
    padding: 25px;
    margin: -60px 20px 0 20px;
    position: relative;
    z-index: 2;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.blog-card:hover .blog-content {
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
    transform: translateY(-10px);
    border-color: var(--primary);
}

.blog-card .blog-meta {
    font-size: 13px;
    color: #888;
    margin-bottom: 15px;
    font-family: 'Roboto';
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.blog-card .blog-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--black);
    font-family: 'Roboto';
    margin-top: 0;
    margin-bottom: 20px;
    line-height: 1.4;
    transition: color 0.3s ease;
}

.blog-card:hover .blog-title {
    color: var(--primary);
}

.blog-card .blog-author {
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 600;
    color: var(--black);
    font-family: 'Roboto';
}

.blog-card .blog-author i {
    font-size: 20px;
    color: #ccc;
    margin-right: 10px;
}

.blog-card .blog-author span {
    color: #888;
    font-weight: 400;
    margin-left: 10px;
}

/* ==========================================================================
   Custom FAQ Accordion (Modern Pill Style)
   ========================================================================== */
.custom-faq-accordion .accordion-item {
    border-radius: 12px !important;
    margin-bottom: 15px;
    border: none;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    background: #ffffff;
}

.custom-faq-accordion .accordion-button {
    font-weight: 700;
    font-size: 16px;
    padding: 20px 50px 20px 20px;
    color: #ffffff;
    background-color: var(--primary);
    box-shadow: none;
    position: relative;
    transition: all 0.3s ease;
}

.custom-faq-accordion .accordion-button.collapsed {
    color: #000000;
    background-color: #ffffff;
}

.custom-faq-accordion .accordion-button:hover {
    color: #ffffff;
    background-color: var(--primary);
}

.custom-faq-accordion .accordion-button:focus {
    box-shadow: none;
}

/* Remove default Bootstrap arrow */
.custom-faq-accordion .accordion-button::after {
    display: none;
}

/* Custom Icon Container */
.custom-faq-accordion .accordion-button::before {
    content: '-';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: #ffffff;
    color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    transition: all 0.3s ease;
}

.custom-faq-accordion .accordion-button.collapsed::before {
    content: '+';
    background-color: var(--primary);
    color: #ffffff;
}

.custom-faq-accordion .accordion-button:hover::before {
    background-color: #ffffff;
    color: var(--primary);
}

.custom-faq-accordion .accordion-body {
    padding: 20px;
    color: #555;
    line-height: 1.8;
    background-color: #ffffff;
}

/* Service Card UI */
.col-service {
    background: #ffffff;
    border-radius: 12px;
    padding: 22px 22px;
    text-align: center;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.03);
    height: 100%;
    position: relative;
    overflow: hidden;
    background: #fff;
    z-index: 1;
}

/* .col-service:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
} */
.col-service::before {
    content: "";
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--primary);
    transition: top 0.5s ease;
    z-index: -1;
}

.col-service:hover::before {
    top: 0;
}



.col-service .service-icon {
    font-size: 32px;
    color: var(--primary);
    /* margin: 0 auto 25px auto; */
    transition: all 0.3s ease;
    background-color: rgba(0, 140, 234, 0.1);
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
}

.col-service:hover .service-top a {
    color: white !important;
}

.col-service:hover .service-text p {
    color: white !important;
}

.col-service:hover .service-icon {
    transform: scale(1.1);
    background-color: white;
    color: var(--primary);
}

.col-service .service-text h4 {
    font-weight: 700;
    margin-bottom: 15px;
    font-size: 22px;
}

.col-service .service-text h4 a {
    color: var(--text-color);
    text-decoration: none;
    transition: all 0.3s ease;
}

.col-service:hover .service-text h4 a {
    color: var(--primary);
}

.col-service .service-text p {
    color: #666;
    line-height: 1.8;
    margin-bottom: 0;
    font-size: 15px;
    text-align: start;
}

/* heading-custom */
.heading-custom {
    font-family: 'Roboto';
    font-weight: 800;
    font-size: 36px;
    color: #111111;
    margin-bottom: 4px;
    padding-bottom: 0;
    line-height: 1.3;
}

.heading-custom span {
    color: #008cea;
}

/* text-custom */
.text-custom {
    color: #555555;
    font-size: 16px;
    line-height: normal;
    margin-bottom: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    /* text-align: center; */
}

/* REUSABLE UTILITY CLASSES */
.bg-primary-custom {
    background-color: var(--primary);
}

.text-white {
    color: #ffffff !important;
}

.text-light {
    color: #e0e0e0;
}

.text-blue {
    color: #008cea;
}

.text-underline {
    text-decoration: underline;
}

.flex-center {
    display: flex;
    align-items: center;
}

.flex-wrap {
    flex-wrap: wrap;
}

.relative {
    position: relative;
}

.z-index-2 {
    z-index: 2;
}

.img-rounded-shadow {
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    width: 100%;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.6s ease;
}

.mt-15 {
    margin-top: 15px;
}

.mt-30 {
    margin-top: 30px;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mb-25 {
    margin-bottom: 25px;
}

.mb-35 {
    margin-bottom: 35px;
}

.pl-15 {
    padding-left: 15px;
}


/* Hero Typography */
.hero-heading {
    font-weight: 800;
    font-size: 48px;
    line-height: 1.2;
    font-family: 'Roboto';
}

.hero-subtitle {
    font-size: 18px;
    line-height: 1.8;
    max-width: 750px;
}

/* Common Button */
.btn-common {
    background-color: #008cea;
    color: #ffffff;
    padding: 15px 35px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 12px;
    border: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    /* box-shadow: 0 10px 20px rgba(0, 140, 234, 0.3); */
    transition: all 0.3s ease;
    display: inline-block;
}

.btn-common:hover {
    background-color: #0077c8;
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-2px);
    /* box-shadow: 0 15px 25px rgba(0, 140, 234, 0.4); */
}

/* Contact page form submit — ensure Send looks like a real button */
.contct_form button[type="submit"].btn,
.contct_form .btn-common {
    background-color: #008cea;
    color: #ffffff;
    border: none;
    padding: 12px 35px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    display: inline-block;
    transition: all 0.3s ease;
}

.contct_form button[type="submit"].btn:hover,
.contct_form .btn-common:hover {
    background-color: #0077c8;
    color: #ffffff;
}

.form-group {
    margin-top: 12px;
}

.service-top {
    display: flex;
    align-items: center;
    gap: 18px;
    text-align: start;
}

/* Hero Background Overlays */
.hero-bg {
    background-image: url('../img/hero.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    padding: 180px 0 150px;
    min-height: 99vh;
}

.hero-overlay-gradient {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    /* background: linear-gradient(135deg, rgba(70, 35, 122, 0.85) 0%, rgba(0, 140, 234, 0.6) 100%); */
    background: linear-gradient(135deg, rgba(7, 4, 12, 0.85) 0%, rgba(0, 140, 234, 0) 100%);
}

/* Form Utilities */
.textarea-small {
    height: 100px !important;
    resize: vertical;
}

.gfu-top {
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: start;
    align-content: center;
    flex-shrink: 0;
    text-align: start;
}

/* Trusted Section */
.trusted-section {
    padding: 30px 0;
    background-color: #ffffff;
    border-bottom: 1px solid #f0f0f0;
}

.trusted-title-container {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
    gap: 20px;
}

.trusted-title-container .line {
    flex-grow: 1;
    max-width: 150px;
    height: 1px;
    background-color: #eeeeee;
}

.trusted-title {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.5px;
    color: #4a5568;
    text-transform: uppercase;
    margin: 0;
    text-align: center;
    font-family: 'Heebo', sans-serif !important;
    display: block;
}

.trusted-logos-grid {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px 30px;
}

.trusted-logo-item {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1 1 150px;
    justify-content: center;
}

.trusted-logo-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    flex-shrink: 0;
}

.trusted-logo-icon svg,
.trusted-logo-icon img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.trusted-logo-info {
    display: flex;
    flex-direction: column;
}

.trusted-logo-name {
    font-family: 'Roboto';
    font-weight: 700;
    font-size: 14px;
    color: #1a202c;
    line-height: 1.2;
}

.trusted-logo-sub {
    font-family: 'Roboto';
    font-weight: 400;
    font-size: 11px;
    color: #718096;
    line-height: 1.2;
    margin-top: 2px;
}

@media (max-width: 991px) {
    .trusted-logos-grid {
        justify-content: center;
    }
}

@media (max-width: 767px) {
    .trusted-title-container .line {
        display: none;
    }

    .trusted-logo-item {
        flex: 1 1 45%;
        justify-content: flex-start;
        padding-left: 10%;
    }
}

@media (max-width: 480px) {
    .trusted-logo-item {
        flex: 1 1 100%;
    }
}

/* Image Zoom Hover Effects */
/*.col-lg-5:hover .img-rounded-shadow,*/
/*.col-lg-4:hover .img-rounded-shadow,*/
/*.col-md-5:hover .img-rounded-shadow,*/
/*.col-md-5:hover .img-box img,*/
/*.img-box:hover img {*/
/*    transform: scale(1.04);*/
/*    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15) !important;*/
/*}*/

/* ==========================================================================
   Sticky Header
   ========================================================================== */
.header {
    position: sticky;
    top: 0px;
    z-index: 1000;
    background: linear-gradient(135deg, #f0f7ff 0%, #ffffff 100%);
    /* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); */
}

/* ==========================================================================
   Inner Page Banner (Breadcrumb)
   ========================================================================== */
.breadcrumb-banner {
    background: linear-gradient(135deg, #f4f6fb 0%, #e8f0fe 100%);
    padding: 80px 0;
    text-align: left;
    position: relative;
    overflow: hidden;
}

.breadcrumb-banner::before {
    content: '';
    position: absolute;
    top: -50px;
    left: -50px;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 70%);
    border-radius: 50%;
}

.breadcrumb-banner h1 {
    font-size: 42px;
    font-weight: 700;
    color: #000;
    margin-bottom: 10px;
    font-family: 'Heebo', sans-serif !important;
    display: block;
}

.breadcrumb-banner span.mega-n-bn-ntxt {
    font-size: 42px;
    font-weight: 700;
    color: #000;
    margin-bottom: 10px;
    font-family: 'Heebo', sans-serif !important;
    display: block;
}

.breadcrumb-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    font-size: 15px;
}

.breadcrumb-list li {
    display: flex;
    align-items: center;
}

.breadcrumb-list li a {
    color: #888;
    text-decoration: none;
    font-weight: 400;
}

.breadcrumb-list li a:hover {
    color: var(--primary);
}

.breadcrumb-list li.active {
    color: #000;
    font-weight: 600;
}

.breadcrumb-list li:not(:last-child)::after {
    content: '|';
    color: #d1d5db;
    margin: 0 12px;
    font-size: 14px;
}

.breadcrumb-dot {
    position: absolute;
    right: 10%;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    background-color: var(--primary);
    border-radius: 50%;
}

/* Added for .gfu-item Card UI Consistency */
.gfu-item {
    background-color: #ffffff;
    padding: 22px;
    border-radius: 12px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.04);
    border: 1px solid transparent;
    transition: all 0.3s ease;
    text-align: center;
    height: 100%;
}

.gfu-item:hover {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border-color: rgba(0, 140, 234, 0.2);
}

.gfu-item .icon-box {
    width: 60px;
    height: 60px;
    background-color: #e6f3ff;
    color: var(--primary, #008cea);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.gfu-item h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 15px;
    color: #000;
}

.gfu-item p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 0;
}


/* Added for light blue section subtitles */
.section-subtitle {
    display: inline-block;
    background-color: #e6f3ff;
    color: #008cea;
    padding: 5px 20px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}


/* Added for FAQ Services Sidebar */
.faq-services-sidebar {
    background-color: #f8f9fa;
    padding: 30px;
    border-radius: 12px;
    border-left: 4px solid var(--primary, #008cea);
}

.faq-services-sidebar h3 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 20px;
    color: #333;
    border-bottom: 2px solid #e9ecef;
    padding-bottom: 10px;
}

.faq-services-list {
    list-style: none;
    padding-left: 0;
}

.faq-services-list li {
    margin-bottom: 15px;
}

.faq-services-list li a {
    font-size: 16px;
    font-weight: 600;
    color: #555;
    text-decoration: none;
    display: block;
    transition: all 0.3s ease;
}

.faq-services-list li a:hover {
    color: var(--primary, #008cea);
    padding-left: 5px;
}

.faq-sub-menu {
    list-style: none;
    padding-left: 15px;
    margin-top: 10px;
    border-left: 2px solid #e9ecef;
}

.faq-sub-menu li {
    margin-bottom: 8px;
}

.faq-sub-menu li a {
    font-size: 14px;
    font-weight: 400;
    color: #777;
}


/* Modern Team Card UI */
.team-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    margin-bottom: 30px;
    text-align: center;
}

.team-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.team-card-img {
    position: relative;
    width: 100%;
    height: 280px;
    overflow: hidden;
}

.team-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.team-card:hover .team-card-img img {
    transform: scale(1.05);
}

.team-social {
    position: absolute;
    bottom: -60px;
    left: 0;
    width: 100%;
    background: rgba(0, 140, 234, 0.85);
    display: flex;
    justify-content: center;
    gap: 15px;
    padding: 15px 0;
    transition: bottom 0.4s ease;
    backdrop-filter: blur(5px);
}

.team-card:hover .team-social {
    bottom: 0;
}

.team-social a {
    color: #fff;
    width: 35px;
    height: 35px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    text-decoration: none;
}

.team-social a:hover {
    background: #fff;
    color: var(--primary, #008cea);
}

.team-card-content {
    padding: 25px 20px;
}

.team-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 5px;
    color: #222;
}

.team-role {
    font-size: 14px;
    color: #777;
    margin: 0;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}


/* Modern CEO Section */
.ceo-section {
    background: linear-gradient(135deg, #f8f9fa 0%, #eef5fb 100%);
    padding: 80px 0;
}

.ceo-card-wrapper {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.ceo-img-container {
    height: 575px;
    display: flex;
    border-radius: 12px !important;
}

.ceo-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
}

.ceo-content {
    padding: 50px 60px;
}

.ceo-name {
    font-size: 36px;
    font-weight: 800;
    color: #222;
    margin-bottom: 5px;
}

.ceo-role {
    font-size: 18px;
    color: var(--primary, #008cea);
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 8px;
    letter-spacing: 2px;
    font-family: 'Heebo', sans-serif !important;
    display: block;
}

.ceo-bio p {
    font-size: 16px;
    color: #555;
    /* line-height: 1.8; */
    margin-bottom: 5px;
}

.ceo-contact {
    font-weight: 600;
    background: #eef5fb;
    padding: 15px 20px;
    border-left: 4px solid var(--primary, #008cea);
    border-radius: 12px;
    margin-top: 25px;
}

.ceo-contact a {
    color: var(--primary, #008cea);
    text-decoration: none;
}

.ceo-social {
    margin-top: 30px;
    display: flex;
    gap: 15px;
}

.ceo-social a {
    width: 45px;
    height: 45px;
    background: #f1f1f1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
    font-size: 18px;
    transition: all 0.3s ease;
    text-decoration: none;
}

.ceo-social a:hover {
    background: var(--primary, #008cea);
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 140, 234, 0.4);
}

@media(max-width: 991px) {
    .ceo-content {
        padding: 40px 30px;
    }

    .ceo-name {
        font-size: 28px;
    }
}


/* Modern Portfolio UI */
.portfolio-item-wrapper {
    padding: 0 15px;
}

.tlp-portfolio-item {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.06);
    transition: all 0.4s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.tlp-portfolio-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
}

.tlp-portfolio-thum {
    position: relative;
    overflow: hidden;
}

.tlp-portfolio-thum img {
    width: 100%;
    transition: transform 0.6s ease;
    object-fit: cover;
    height: 220px;
}

.tlp-portfolio-item:hover .tlp-portfolio-thum img {
    transform: scale(1.1);
}

.tlp-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 140, 234, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease;
}

.tlp-portfolio-item:hover .tlp-overlay {
    opacity: 1;
    visibility: visible;
}

.tlp-overlay p.link-icon {
    display: flex;
    gap: 15px;
    transform: translateY(20px);
    transition: all 0.4s ease;
    margin: 0;
}

.tlp-portfolio-item:hover .tlp-overlay p.link-icon {
    transform: translateY(0);
}

.tlp-overlay p.link-icon a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    background: #fff;
    color: var(--primary, #008cea);
    border-radius: 50%;
    font-size: 18px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.tlp-overlay p.link-icon a:hover {
    background: #222;
    color: #fff;
}

ul.social-icons.pull-right {
    float: inline-end;
}

.tlp-content {
    padding: 20px;
    flex-grow: 1;
    text-align: center;
}

.tlp-content h3 {
    font-size: 18px;
    font-weight: 700;
    margin: 0;
    text-transform: capitalize;
}

.tlp-content h3 a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.tlp-content h3 a:hover {
    color: var(--primary, #008cea);
}

/* --- NEW HERO SECTION STYLES --- */
.hero-bg-shape {
    position: absolute;
    top: 70px;
    right: -10%;
    width: 600px;
    height: 529px;
    background-color: var(--primary, #0d6efd);
    border-radius: 50% 0 0 50%;
    z-index: 1;
}

.hero-content-wrapper {
    display: flex;
    /* align-items: center; */
    justify-content: space-between;
    gap: 0px;
    /* margin-top: 40px; */
}

.hero-text-content {
    flex: 1;
    max-width: 600px;
}

.hero-subtitle-new {
    font-size: 18px;
    color: #333333;
    font-weight: 500;
    margin-bottom: 15px;
    font-family: 'Heebo', sans-serif !important;
    display: block;
}

.hero-title-new {
    font-size: 48px;
    line-height: 1.16;
    font-weight: 800;
    margin-bottom: 8px;
    margin-top: 0;
    font-family: 'Heebo', sans-serif !important;
}

.text-blue {
    color: var(--primary, #0d6efd);
}

.text-dark {
    color: #0b2239;
}

.hero-description-new {
    font-size: 16px;
    color: #6c757d;
    line-height: 1.6;
    margin-bottom: 30px;
}

.hero-features {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 40px;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

.feature-icon {
    width: 40px;
    height: 40px;
    background-color: #e6f0ff;
    color: var(--primary, #0d6efd);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.feature-text {
    font-size: 13px;
    font-weight: 500;
    color: #333333;
    line-height: 1.2;
}

.hero-buttons {
    display: flex;
    gap: 20px;
}

.btn-new {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 18px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
}

.btn-primary-new {
    background-color: var(--primary, #0d6efd);
    color: #ffffff;
    border: 1px solid var(--primary, #0d6efd);
}

.btn-primary-new:hover {
    background-color: black;
    border: 1px solid black;
    color: white !important;
}

.btn-outline-new {
    background-color: #ffffff;
    color: var(--primary, #0d6efd);
    border: 2px solid var(--primary, #0d6efd);
}

.btn-outline-new:hover {
    background-color: var(--primary, #0d6efd);
    color: #ffffff;
}

.hero-image-content {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    position: relative;
    z-index: 2;
}

.hero-mockup-img {
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

.hero-stats-card {
    background-color: #ffffff;
    border-radius: 12px;
    padding: 30px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    display: none;
}

.stat-item {
    display: flex;
    align-items: center;
    gap: 15px;
}

.stat-icon {
    width: 50px;
    height: 50px;
    background-color: #f0f7ff;
    color: var(--primary, #0d6efd);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.stat-text {
    display: flex;
    flex-direction: column;
}

.stat-number {
    font-size: 24px;
    font-weight: 700;
    color: #333333;
    margin: 0;
    font-family: 'Heebo', sans-serif !important;
    display: block;
}

.stat-label {
    font-size: 14px;
    color: #6c757d;
    margin: 0;
}

.stat-divider {
    width: 1px;
    height: 50px;
    background-color: #eaeaea;
}

@media (max-width: 992px) {
    .hero-content-wrapper {
        flex-direction: column;
        text-align: center;
        gap: 40px;
    }

    .hero-text-content {
        margin: 0 auto;
    }

    .hero-features {
        justify-content: center;
    }

    .hero-buttons {
        justify-content: center;
    }

    .hero-stats-card {
        flex-wrap: wrap;
        gap: 20px;
        justify-content: center;
    }

    .stat-divider {
        display: none;
    }

    .stat-item {
        width: 45%;
        justify-content: center;
    }

    .hero-bg-shape {
        width: 100%;
        height: 50%;
        border-radius: 0 0 50% 50%;
    }
}

@media (max-width: 768px) {
    .hero-title-new {
        font-size: 36px;
    }

    .stat-item {
        width: 100%;
        justify-content: flex-start;
    }

}

.service-top a {
    color: black !important;
}

.col-service:hover a{
    color: #000;
}

.mega-new-table-box--ne {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.mega-new-table-box--ne .table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.mega-new-table-box--ne table {
    width: 100%;
    min-width: 700px;
    border-collapse: collapse;
    border-spacing: 0;
}

/* Table Border */
.mega-new-table-box--ne th,
.mega-new-table-box--ne td {
    border: 1px solid #008cea;
    padding: 14px 16px;
    vertical-align: middle;
    text-align: left;
}

/* Header */
.mega-new-table-box--ne thead th {
    background-color: #008cea;
    color: #ffffff;
}

.mega-new-table-box--ne thead th:first-child {
    width: 22%;
}

.mega-new-table-box--ne thead th:nth-child(2),
.mega-new-table-box--ne thead th:nth-child(3) {
    width: 39%;
}

/* H3 Heading */
.mega-new-table-box--ne h3 {
    margin: 0;
    padding: 0;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 700;
}

/* Table Content */
.mega-new-table-box--ne td {
    background-color: #ffffff;
    color: #222222;
}

.mega-new-table-box--ne td:first-child {
    background-color: #f4faff;
}

.mega-new-table-box--ne td:first-child span {
    color: #008cea;
    font-weight: 600;
}

/* Span Content */
.mega-new-table-box--ne span {
    display: inline-block;
    font-size: 16px;
    line-height: 1.5;
}

/* Hover Effect */
.mega-new-table-box--ne tbody tr:hover td {
    background-color: #eef9ff;
}

.mega-new-table-box--ne tbody tr:hover td:first-child {
    background-color: #dff3ff;
}

/* Tablet */
@media (max-width: 991px) {

    .mega-new-table-box--ne th,
    .mega-new-table-box--ne td {
        padding: 12px 14px;
    }

    .mega-new-table-box--ne h3 {
        font-size: 16px;
    }

    .mega-new-table-box--ne span {
        font-size: 15px;
    }
}

/* Mobile */
@media (max-width: 767px) {

    .mega-new-table-box--ne table {
        min-width: 650px;
    }

    .mega-new-table-box--ne th,
    .mega-new-table-box--ne td {
        padding: 11px 12px;
    }

    .mega-new-table-box--ne h3 {
        font-size: 15px;
    }

    .mega-new-table-box--ne span {
        font-size: 14px;
        line-height: 1.45;
    }
}

/* Small Mobile */
@media (max-width: 480px) {

    .mega-new-table-box--ne table {
        min-width: 600px;
    }

    .mega-new-table-box--ne h3 {
        font-size: 14px;
    }

    .mega-new-table-box--ne span {
        font-size: 13px;
    }
}


@media (max-width: 575px){

    .footer-copyright {
    margin-top: 0px;
}

.footer-legal-links {
    gap: 16px;
    justify-content: center;
}

.footer-copyright-text {
    text-align: center;
}


}


/* responsive */
@media only screen and (min-width: 1440px){

}

@media only screen and (max-width: 1280px){

}

@media only screen and (max-width: 1199px){

    .contact-section .footer-title {
    font-size: 30px;
}

    
}

@media only screen and (max-width: 1140px){
    
}

@media only screen and (max-width: 1024px){
    
}

@media only screen and (max-width: 991px){

    .hero-bg-shape {
    display: none;
}

    .hero-title-new {
    font-size: 40px;
}

    .heading-custom {
    font-size: 34px;
}

     /* ==============================
       MOBILE MENU BUTTON
       ============================== */

    .mobile-menu-btn {
        width: 45px;
        height: 45px;
        padding: 0;
        border: 0;
        border-radius: 10px;
        background: var(--primary);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 5px;
        box-shadow: 0 8px 20px rgba(0, 140, 234, 0.20);
    }

    .mobile-menu-btn:focus {
        box-shadow: 0 0 0 3px rgba(0, 140, 234, 0.15);
    }

    .mobile-menu-btn span {
        width: 20px;
        height: 2px;
        background: #ffffff;
        border-radius: 10px;
        display: block;
    }


    /* ==============================
       OFFCANVAS
       ============================== */

    .mobile-offcanvas {
        width: min(390px, 90%);
        border: 0;
        background: #ffffff;
        box-shadow: -15px 0 50px rgba(0, 0, 0, 0.12);
    }

    .mobile-offcanvas .offcanvas-header {
        padding: 22px 22px 18px;
        border-bottom: 1px solid #eeeeee;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }


    /* LOGO */

    .mobile-offcanvas-logo img {
        width: 145px;
        max-width: 100%;
    }


    /* CLOSE BUTTON */

    .mobile-close-btn {
        width: 40px;
        height: 40px;
        border: 0;
        border-radius: 50%;
        background: #f4f7fa;
        color: var(--black);
        font-size: 18px;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: all 0.3s ease;
    }

    .mobile-close-btn:hover {
        background: var(--primary);
        color: #ffffff;
        transform: rotate(90deg);
    }


    /* ==============================
       OFFCANVAS BODY
       ============================== */

    .mobile-offcanvas .offcanvas-body {
        padding: 15px 18px 25px;
        display: flex;
        flex-direction: column;
    }


    /* ==============================
       MAIN MENU
       ============================== */

    .mobile-menu {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .mobile-menu > li {
        border-bottom: 1px solid #eeeeee;
    }

    .mobile-menu > li > a,
    .mobile-menu-link {
        width: 100%;
        min-height: 56px;
        padding: 15px 5px;
        background: transparent;
        border: 0;
        text-decoration: none;
        color: var(--black);
        font-family: 'Roboto', sans-serif;
        font-size: 16px;
        font-weight: 500;
        display: flex;
        align-items: center;
        justify-content: space-between;
        text-align: left;
        transition: all 0.25s ease;
    }

    .mobile-menu > li > a span,
    .mobile-menu-link span {
        display: flex;
        align-items: center;
        gap: 13px;
    }

    .mobile-menu > li > a i,
    .mobile-menu-link span > i {
        width: 22px;
        color: var(--primary);
        font-size: 16px;
        text-align: center;
    }

    .mobile-menu > li > a:hover,
    .mobile-menu-link:hover {
        color: var(--primary);
    }


    /* ==============================
       ARROW
       ============================== */

    .mobile-arrow {
        font-size: 11px !important;
        color: #777 !important;
        transition: transform 0.3s ease;
    }

    .mobile-menu-link[aria-expanded="true"] .mobile-arrow {
        transform: rotate(180deg);
        color: var(--primary) !important;
    }


    /* ==============================
       SECOND LEVEL
       ============================== */

    .mobile-submenu {
        list-style: none;
        padding: 0 0 10px 0px;
        margin: 0;
    }

    .mobile-submenu li {
        border-left: 2px solid #e9f5fc;
    }

    .mobile-submenu li a {
        display: block;
        padding: 10px 12px;
        color: #555;
        font-family: 'Roboto', sans-serif;
        font-size: 14px;
        line-height: 1.4;
        text-decoration: none;
        transition: all 0.25s ease;
    }

    .mobile-submenu li a:hover {
        color: var(--primary);
        padding-left: 17px;
    }


    /* ==============================
       INNER MENU
       ============================== */

    .mobile-inner-dropdown {
        border-left: 2px solid #e9f5fc;
    }

    .mobile-inner-link {
        width: 100%;
        padding: 12px;
        border: 0;
        background: transparent;
        color: var(--black);
        font-family: 'Roboto', sans-serif;
        font-size: 14px;
        font-weight: 600;
        display: flex;
        align-items: center;
        justify-content: space-between;
        text-align: left;
    }

    .mobile-inner-link > i {
        font-size: 10px;
        color: #777;
        transition: transform 0.3s ease;
    }

    .mobile-inner-link[aria-expanded="true"] > i {
        transform: rotate(180deg);
        color: var(--primary);
    }


    /* ==============================
       THIRD LEVEL
       ============================== */

    .mobile-third-menu {
        list-style: none;
        padding: 0 0 5px 15px;
        margin: 0;
    }

    .mobile-third-menu li a {
        display: block;
        padding: 8px 10px;
        font-size: 13px;
        color: #666;
        text-decoration: none;
        line-height: 1.45;
    }

    .mobile-third-menu li a:hover {
        color: var(--primary);
    }


    /* ==============================
       FOOTER
       ============================== */

    .mobile-offcanvas-footer {
        margin-top: auto;
        padding-top: 25px;
    }

    .mobile-call-btn {
        width: 100%;
        min-height: 50px;
        border-radius: 10px;
        background: var(--primary);
        color: #ffffff;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        font-family: 'Roboto', sans-serif;
        font-size: 15px;
        font-weight: 700;
        text-decoration: none;
        transition: all 0.3s ease;
    }

    .mobile-call-btn:hover {
        background: var(--black);
        color: #ffffff;
    }


    /* SOCIAL */

    .mobile-social {
        display: flex;
        justify-content: center;
        gap: 10px;
        margin-top: 18px;
    }

    .mobile-social a {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: #f3f6f8;
        color: var(--black);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        text-decoration: none;
        transition: all 0.25s ease;
    }

    .mobile-social a:hover {
        background: var(--primary);
        color: #ffffff;
        transform: translateY(-3px);
    }

    
}

@media only screen and (max-width: 980px){
    
}

@media only screen and (max-width: 840px){
    
}

@media only screen and (max-width: 800px){
    
}

@media only screen and (max-width: 768px){
    
}

@media only screen and (max-width: 767px){

    .hero-title-new {
        font-size: 34px;
    }

    .heading-custom {
        font-size: 28px;
    }
    
}

@media only screen and (max-width: 667px){
    
}

@media only screen and (max-width: 575px){

    .fs {
    padding: 30px 0 !important;
}

        .hero-title-new {
        font-size: 30px;
    }

    .heading-custom {
        font-size: 26px;
    }

        .contact-section .footer-title {
        font-size: 26px;
    }

    .white-bg {
    padding: 10px;
}

    .footer-brand-logo img {
    width: 130px;
}


.contact-section .info-item .f-text span.new-mega-ne-ft-ch {
    font-size: 17px;
}

.footer-contact-col span.mega-new-new-m-ft-chan-ft {
    margin-bottom: 8px;
    font-size: 24px;
}

.f-page-link span.mega-new-new-m-ft-chan-ft {
    margin-bottom: 8px;
    font-size: 24px;
}

    
}

@media only screen and (max-width: 480px){

        .hero-buttons {
        flex-direction: column;
        gap: 10px;
    }

    .main-logo img {
    max-width: 120px;
}
    
}

@media only screen and (max-width: 414px){
    
}

@media only screen and (max-width: 375px){
    
}

@media only screen and (max-width: 360px){
    
}

@media only screen and (max-width: 320px){
    
}

.trustedSwiper {
    width: 100%;
    overflow: hidden;
}

.trustedSwiper .swiper-wrapper {
    align-items: center;
}

.trustedSwiper .swiper-slide {
    height: auto;
}

.trusted-logo-item {
    width: 100%;
}

#toTop {
    opacity: 0;
    visibility: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
}

#toTop.show {
    opacity: 1;
    visibility: visible;
}

/* Contact / enquiry form validation (non-visual layout change) */
.form-control.is-invalid,
select.form-control.is-invalid,
textarea.form-control.is-invalid {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.15rem rgba(220, 53, 69, 0.15);
}

.mw-field-error {
    display: block;
    color: #dc3545;
    font-size: 12px;
    margin-top: 4px;
    margin-bottom: 0;
    line-height: 1.3;
}

.mw-form-status {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.4;
}

.mw-form-status.is-error {
    color: #dc3545;
}

.mw-form-status.is-success {
    color: #198754;
}