@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');


/* =========================================================
   ROOT
========================================================= */

:root {

    --primary: #1266f1;
    --primary-dark: #08439f;
    --secondary: #12bfa3;

    --dark: #071426;
    --dark-2: #0c2038;

    --text: #26364a;
    --muted: #68788c;

    --white: #ffffff;
    --light: #f4f7fb;
    --light-blue: #edf4ff;

    --border: #e2e9f2;

    --shadow: 0 15px 45px rgba(7, 20, 38, 0.09);

    --radius: 18px;
}


/* =========================================================
   RESET
========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {

    font-family: 'DM Sans', sans-serif;

    color: var(--text);

    background: var(--white);

    font-size: 15px;

    line-height: 1.7;

    overflow-x: hidden;
}


p,
li,
a {

    font-size: 15px;
}


p {

    margin-bottom: 15px;

    color: var(--muted);
}


a {

    text-decoration: none;

    transition: all 0.3s ease;
}


img {

    max-width: 100%;

    display: block;
}


ul {

    padding: 0;

    margin: 0;

    list-style: none;
}


button,
input,
textarea,
select {

    font-family: inherit;
}


/* =========================================================
   COMMON
========================================================= */

.container {

    max-width: 1200px;

    width: 100%;

    margin: auto;

    padding-left: 15px;

    padding-right: 15px;
}


.section-padding {

    padding: 100px 0;
}


.section-bg {

    background: var(--light);
}


.section-tag {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    color: var(--primary);

    font-size: 13px;

    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: 1.5px;

    margin-bottom: 12px;
}


.section-tag::before {

    content: '';

    width: 30px;

    height: 2px;

    background: var(--secondary);
}


.section-title {

    font-family: 'Manrope', sans-serif;

    font-size: 46px;

    line-height: 1.18;

    font-weight: 800;

    color: var(--dark);

    margin-bottom: 18px;
}


.section-description {

    max-width: 680px;

    color: var(--muted);

    font-size: 15px;
}


/* =========================================================
   TOP BAR
========================================================= */

.top-bar {

    background: var(--dark);

    color: #dce8f6;

    padding: 9px 0;
}


.top-bar-inner {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;
}


.top-left span,
.top-right a {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    color: #dce8f6;
}


.top-right {

    display: flex;

    align-items: center;

    gap: 25px;
}


.top-bar i {

    color: var(--secondary);
}


.top-right a:hover {

    color: #ffffff;
}


/* =========================================================
   HEADER
========================================================= */

.site-header {

    position: sticky;

    top: 0;

    z-index: 9999;

    background: #ffffff;

    box-shadow: 0 8px 35px rgba(7, 20, 38, 0.08);
}


.main-navbar {

    background: #ffffff;

    padding: 14px 0;
}


.custom-logo {

    display: inline-flex;

    align-items: center;

    gap: 11px;
}


.logo-icon {

    width: 46px;

    height: 46px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #ffffff;

    background: linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    border-radius: 13px;

    font-size: 21px;

    box-shadow: 0 8px 20px rgba(18, 102, 241, 0.22);
}


.logo-text {

    display: flex;

    flex-direction: column;

    line-height: 1;
}


.logo-title {

    font-family: 'Manrope', sans-serif;

    font-size: 23px;

    font-weight: 800;

    color: var(--dark);

    letter-spacing: 0.5px;
}


.logo-subtitle {

    font-family: 'Manrope', sans-serif;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 2.5px;

    color: var(--primary);

    margin-top: 5px;
}


/* =========================================================
   NAVIGATION
========================================================= */

.navbar-nav {

    gap: 4px;
}


.nav-link {

    color: #33445a !important;

    font-weight: 600;

    padding: 11px 14px !important;

    position: relative;
}


.nav-link::after {

    content: '';

    position: absolute;

    left: 14px;

    right: 14px;

    bottom: 3px;

    height: 2px;

    background: var(--primary);

    transform: scaleX(0);

    transform-origin: center;

    transition: 0.3s ease;
}


.nav-link:hover,
.nav-link.active {

    color: var(--primary) !important;
}


.nav-link:hover::after,
.nav-link.active::after {

    transform: scaleX(1);
}


.header-enquiry-btn {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 12px 20px;

    margin-left: 10px;

    border-radius: 9px;

    color: #ffffff;

    background: linear-gradient(
        135deg,
        var(--primary),
        #438fff
    );

    font-weight: 700;

    box-shadow: 0 8px 20px rgba(18, 102, 241, 0.20);
}


.header-enquiry-btn:hover {

    color: #ffffff;

    transform: translateY(-2px);

    box-shadow: 0 12px 25px rgba(18, 102, 241, 0.30);
}


/* =========================================================
   BUTTONS
========================================================= */

.btn {

    font-size: 15px;

    font-weight: 700;

    border-radius: 9px;

    padding: 12px 21px;

    transition: all 0.3s ease;
}


.btn-primary {

    border: none;

    background: linear-gradient(
        135deg,
        var(--primary),
        #438fff
    );

    box-shadow: 0 8px 20px rgba(18, 102, 241, 0.18);
}


.btn-primary:hover {

    background: linear-gradient(
        135deg,
        var(--primary-dark),
        var(--primary)
    );

    transform: translateY(-2px);
}


.btn-dark {

    background: var(--dark);

    border-color: var(--dark);
}


/* =========================================================
   PAGE HERO
========================================================= */

.page-hero {

    position: relative;

    padding: 115px 0;

    background:
        linear-gradient(
            90deg,
            rgba(4, 17, 33, 0.94),
            rgba(4, 17, 33, 0.64)
        ),
        url('../images/page-banner.jpg') center center / cover no-repeat;

    color: #ffffff;

    overflow: hidden;
}


.page-hero::after {

    content: '';

    position: absolute;

    width: 380px;

    height: 380px;

    border-radius: 50%;

    right: -150px;

    top: -170px;

    background: rgba(18, 191, 163, 0.15);
}


.page-hero-content {

    position: relative;

    z-index: 2;
}


.page-hero h1 {

    font-family: 'Manrope', sans-serif;

    font-size: 54px;

    line-height: 1.1;

    font-weight: 800;

    margin: 12px 0;
}


.breadcrumb-area {

    display: flex;

    align-items: center;

    gap: 10px;

    color: #c5d5e8;
}


.breadcrumb-area a {

    color: #ffffff;
}


.breadcrumb-area a:hover {

    color: var(--secondary);
}


/* =========================================================
   FOOTER
========================================================= */

.site-footer {

    background: var(--dark);

    color: #9fb1c6;
}


.footer-main {

    padding: 75px 0 55px;
}


.footer-logo {

    display: inline-flex;

    align-items: center;

    gap: 11px;

    color: #ffffff;

    font-family: 'Manrope', sans-serif;
}


.footer-logo:hover {

    color: #ffffff;
}


.footer-logo-icon {

    width: 44px;

    height: 44px;

    display: grid;

    place-items: center;

    color: #ffffff;

    background: linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    border-radius: 12px;
}


.footer-logo strong {

    display: block;

    font-size: 21px;

    line-height: 1;
}


.footer-logo span {

    display: block;

    font-size: 9px;

    letter-spacing: 2px;

    color: var(--secondary);

    margin-top: 5px;
}


.footer-about {

    margin-top: 20px;

    max-width: 360px;

    color: #9fb1c6;
}


.footer-title {

    font-family: 'Manrope', sans-serif;

    color: #ffffff;

    font-size: 18px;

    font-weight: 700;

    margin-bottom: 22px;
}


.footer-links li {

    margin-bottom: 10px;
}


.footer-links a {

    display: inline-flex;

    align-items: center;

    gap: 9px;

    color: #9fb1c6;
}


.footer-links a i {

    font-size: 10px;

    color: var(--secondary);
}


.footer-links a:hover {

    color: #ffffff;

    padding-left: 4px;
}


.footer-social {

    display: flex;

    gap: 9px;

    margin-top: 22px;
}


.footer-social a {

    width: 40px;

    height: 40px;

    display: grid;

    place-items: center;

    border-radius: 10px;

    color: #ffffff;

    background: rgba(255,255,255,0.06);

    border: 1px solid rgba(255,255,255,0.10);
}


.footer-social a:hover {

    background: var(--primary);

    border-color: var(--primary);

    transform: translateY(-3px);
}


.footer-contact-item {

    display: flex;

    gap: 12px;

    margin-bottom: 18px;
}


.footer-contact-icon {

    min-width: 38px;

    width: 38px;

    height: 38px;

    display: grid;

    place-items: center;

    border-radius: 9px;

    background: rgba(18,102,241,0.15);

    color: var(--secondary);
}


.footer-contact-item span {

    display: block;

    color: #ffffff;

    font-weight: 700;

    margin-bottom: 3px;
}


.footer-contact-item p {

    color: #9fb1c6;

    margin: 0;

    line-height: 1.6;
}


.footer-contact-item a {

    color: #9fb1c6;
}


.footer-contact-item a:hover {

    color: #ffffff;
}


/* =========================================================
   FOOTER BOTTOM
========================================================= */

.footer-bottom {

    border-top: 1px solid rgba(255,255,255,0.09);

    padding: 20px 0;
}


.footer-bottom-inner {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 15px;

    flex-wrap: wrap;
}


.footer-bottom p {

    margin: 0;

    color: #8092a8;
}


.footer-dot {

    color: var(--secondary);

    padding: 0 5px;
}


/* =========================================================
   BACK TO TOP
========================================================= */

.back-to-top {

    position: fixed;

    right: 25px;

    bottom: 25px;

    width: 48px;

    height: 48px;

    border: none;

    border-radius: 12px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: #ffffff;

    background: var(--primary);

    box-shadow: 0 10px 25px rgba(18,102,241,0.30);

    cursor: pointer;

    opacity: 0;

    visibility: hidden;

    transform: translateY(15px);

    transition: all 0.3s ease;

    z-index: 999;
}


.back-to-top.show {

    opacity: 1;

    visibility: visible;

    transform: translateY(0);
}


.back-to-top:hover {

    background: var(--dark);

    transform: translateY(-3px);
}


/* =========================================================
   COMMON CARDS
========================================================= */

.common-card {

    background: #ffffff;

    border: 1px solid var(--border);

    border-radius: var(--radius);

    padding: 30px;

    height: 100%;

    transition: all 0.35s ease;
}


.common-card:hover {

    transform: translateY(-7px);

    box-shadow: var(--shadow);

    border-color: transparent;
}


.icon-box {

    width: 55px;

    height: 55px;

    display: grid;

    place-items: center;

    border-radius: 14px;

    color: var(--primary);

    background: var(--light-blue);

    font-size: 21px;

    margin-bottom: 18px;
}


.common-card h3,
.common-card h4 {

    font-family: 'Manrope', sans-serif;

    color: var(--dark);

    font-weight: 700;

    margin-bottom: 10px;
}


/* =========================================================
   FORMS
========================================================= */

.form-control,
.form-select {

    min-height: 52px;

    border: 1px solid var(--border);

    border-radius: 10px;

    font-size: 15px;

    padding: 12px 15px;
}


.form-control:focus,
.form-select:focus {

    border-color: var(--primary);

    box-shadow:
        0 0 0 4px rgba(18,102,241,0.08);
}


textarea.form-control {

    min-height: 140px;

    resize: vertical;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991px) {

    .top-left {

        display: none;
    }


    .top-bar-inner {

        justify-content: center;
    }


    .top-right {

        width: 100%;

        justify-content: center;

        flex-wrap: wrap;

        gap: 12px 22px;
    }


    .main-navbar {

        padding: 12px 0;
    }


    .navbar-toggler {

        border: 1px solid var(--border);

        padding: 8px 10px;
    }


    .navbar-toggler:focus {

        box-shadow: none;
    }


    .navbar-nav {

        padding-top: 15px;
    }


    .nav-link {

        padding: 10px 5px !important;
    }


    .nav-link::after {

        display: none;
    }


    .header-enquiry-btn {

        margin: 10px 0 5px;

        justify-content: center;
    }


    .section-padding {

        padding: 75px 0;
    }


    .section-title {

        font-size: 38px;
    }


    .page-hero {

        padding: 90px 0;
    }


    .page-hero h1 {

        font-size: 44px;
    }

}


@media (max-width: 575px) {

    .top-bar {

        padding: 8px 0;
    }


    .top-right {

        display: block;

        text-align: center;
    }


    .top-right a {

        margin: 2px 7px;
    }


    .logo-icon {

        width: 42px;

        height: 42px;
    }


    .logo-title {

        font-size: 20px;
    }


    .section-padding {

        padding: 60px 0;
    }


    .section-title {

        font-size: 32px;
    }


    .page-hero {

        padding: 70px 0;
    }


    .page-hero h1 {

        font-size: 38px;
    }


    .footer-main {

        padding: 60px 0 40px;
    }


    .footer-bottom-inner {

        display: block;
    }


    .footer-bottom-inner p {

        margin-bottom: 7px;
    }


    .back-to-top {

        width: 43px;

        height: 43px;

        right: 15px;

        bottom: 15px;
    }

}
/* =====================================================
           HOME PAGE
        ===================================================== */

        .hero-section {
            position: relative;
            overflow: hidden;
        }

        .hero-slide {
            min-height: 720px;
            position: relative;
            background-size: cover;
            background-position: center;
        }

        .hero-slide::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                linear-gradient(
                    90deg,
                    rgba(3, 16, 31, .94) 0%,
                    rgba(3, 16, 31, .78) 45%,
                    rgba(3, 16, 31, .18) 100%
                );
        }

        .hero-content {
            position: relative;
            z-index: 2;
            padding: 145px 0 120px;
            max-width: 780px;
        }

        .hero-tag {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            padding: 8px 15px;
            border-radius: 50px;
            background: rgba(255,255,255,.11);
            border: 1px solid rgba(255,255,255,.20);
            color: #ffffff;
            font-size: 14px;
            font-weight: 700;
            margin-bottom: 20px;
            backdrop-filter: blur(8px);
        }

        .hero-tag i {
            color: #12c7a5;
        }

        .hero-title {
            font-family: 'Manrope', sans-serif;
            font-size: clamp(43px, 5.5vw, 70px);
            line-height: 1.06;
            font-weight: 800;
            color: #ffffff;
            margin-bottom: 22px;
        }

        .hero-title span {
            color: #23d3b2;
        }

        .hero-description {
            max-width: 650px;
            color: #d7e4f3;
            font-size: 18px;
            line-height: 1.8;
            margin-bottom: 30px;
        }

        .hero-buttons {
            display: flex;
            align-items: center;
            gap: 13px;
            flex-wrap: wrap;
        }

        .hero-btn {
            padding: 14px 24px;
            border-radius: 9px;
            font-weight: 700;
        }

        .hero-btn-outline {
            color: #ffffff;
            border: 1px solid rgba(255,255,255,.45);
            background: rgba(255,255,255,.06);
        }

        .hero-btn-outline:hover {
            color: #ffffff;
            background: rgba(255,255,255,.14);
        }

        .hero-shape {
            position: absolute;
            right: 7%;
            bottom: 0;
            z-index: 1;
            width: 380px;
            height: 380px;
            border-radius: 50%;
            border: 1px solid rgba(255,255,255,.12);
        }

        .hero-shape::before {
            content: "";
            position: absolute;
            inset: 45px;
            border-radius: 50%;
            border: 1px solid rgba(18,199,165,.30);
        }

        .hero-shape::after {
            content: "";
            position: absolute;
            inset: 100px;
            border-radius: 50%;
            background: rgba(18,199,165,.08);
        }

        .hero-slider .carousel-control-prev,
        .hero-slider .carousel-control-next {
            width: 7%;
            z-index: 5;
        }

        .hero-slider .carousel-indicators {
            z-index: 6;
            justify-content: flex-start;
            left: calc((100% - 1170px) / 2);
            margin-left: 15px;
            bottom: 35px;
        }

        .hero-slider .carousel-indicators button {
            width: 35px;
            height: 4px;
            border: 0;
            border-radius: 20px;
        }


        /* =====================================================
           ABOUT
        ===================================================== */

        .about-home-image {
            position: relative;
            height: 540px;
            border-radius: 24px;
            overflow: hidden;
        }

        .about-home-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .about-image-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(
                180deg,
                transparent 45%,
                rgba(3,16,31,.65)
            );
        }

        .about-experience {
            position: absolute;
            left: 25px;
            bottom: 25px;
            width: 205px;
            padding: 20px;
            border-radius: 15px;
            background: #ffffff;
            box-shadow: 0 15px 45px rgba(7,20,38,.20);
        }

        .about-experience strong {
            display: block;
            font-family: 'Manrope', sans-serif;
            font-size: 35px;
            line-height: 1;
            color: var(--primary);
            margin-bottom: 7px;
        }

        .about-experience span {
            font-size: 14px;
            font-weight: 600;
            color: var(--text);
        }

        .about-check-list {
            margin: 25px 0;
        }

        .about-check-list li {
            display: flex;
            align-items: flex-start;
            gap: 11px;
            margin-bottom: 12px;
            color: var(--text);
        }

        .about-check-list i {
            color: var(--secondary);
            margin-top: 5px;
        }


        /* =====================================================
           COUNTER
        ===================================================== */

        .counter-section {
            position: relative;
            overflow: hidden;
            padding: 65px 0;
            background:
                linear-gradient(
                    135deg,
                    #073a85,
                    #1266f1
                );
        }

        .counter-section::before {
            content: "";
            position: absolute;
            width: 450px;
            height: 450px;
            border-radius: 50%;
            right: -180px;
            top: -220px;
            background: rgba(18,199,165,.14);
        }

        .counter-box {
            position: relative;
            text-align: center;
            padding: 10px 20px;
            border-right: 1px solid rgba(255,255,255,.18);
        }

        .counter-box:last-child {
            border-right: 0;
        }

        .counter-icon {
            width: 54px;
            height: 54px;
            display: grid;
            place-items: center;
            margin: 0 auto 12px;
            border-radius: 14px;
            background: rgba(255,255,255,.10);
            color: #2de0be;
            font-size: 21px;
        }

        .counter-number {
            font-family: 'Manrope', sans-serif;
            font-size: 45px;
            font-weight: 800;
            line-height: 1;
            color: #ffffff;
        }

        .counter-label {
            color: #d8e7ff;
            margin-top: 8px;
        }


        /* =====================================================
           PRODUCT CARDS
        ===================================================== */

        .product-card-home {
            height: 100%;
            background: #ffffff;
            border: 1px solid var(--border);
            border-radius: 18px;
            overflow: hidden;
            transition: .35s ease;
        }

        .product-card-home:hover {
            transform: translateY(-8px);
            border-color: transparent;
            box-shadow: var(--shadow);
        }

        .product-image-home {
            position: relative;
            height: 235px;
            overflow: hidden;
        }

        .product-image-home img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: .5s ease;
        }

        .product-card-home:hover
        .product-image-home img {
            transform: scale(1.07);
        }

        .product-number {
            position: absolute;
            top: 18px;
            left: 18px;
            width: 42px;
            height: 42px;
            display: grid;
            place-items: center;
            border-radius: 11px;
            color: #ffffff;
            background: var(--primary);
            font-family: 'Manrope', sans-serif;
            font-weight: 800;
        }

        .product-content-home {
            padding: 24px;
        }

        .product-content-home h3 {
            font-family: 'Manrope', sans-serif;
            font-size: 20px;
            font-weight: 700;
            color: var(--dark);
            margin: 12px 0 8px;
        }

        .product-content-home p {
            min-height: 52px;
        }

        .hs-badge {
            display: inline-block;
            padding: 5px 10px;
            border-radius: 30px;
            color: var(--primary);
            background: #edf4ff;
            font-size: 12px;
            font-weight: 700;
        }

        .product-link {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: var(--primary);
            font-weight: 700;
        }

        .product-link:hover {
            color: var(--primary-dark);
            gap: 12px;
        }


        /* =====================================================
           WHY CHOOSE
        ===================================================== */

        .why-box {
            height: 100%;
            padding: 30px;
            background: #ffffff;
            border: 1px solid var(--border);
            border-radius: 18px;
            transition: .35s ease;
        }

        .why-box:hover {
            transform: translateY(-7px);
            box-shadow: var(--shadow);
            border-color: transparent;
        }

        .why-icon {
            width: 58px;
            height: 58px;
            display: grid;
            place-items: center;
            border-radius: 15px;
            color: var(--primary);
            background: #edf4ff;
            font-size: 22px;
            margin-bottom: 20px;
        }

        .why-box h3 {
            font-family: 'Manrope', sans-serif;
            font-size: 20px;
            font-weight: 700;
            color: var(--dark);
            margin-bottom: 10px;
        }


        /* =====================================================
           CTA BANNER
        ===================================================== */

        .home-banner {
            position: relative;
            overflow: hidden;
            padding: 85px 0;
            background:
                linear-gradient(
                    100deg,
                    #061426,
                    #0b397b
                );
        }

        .home-banner::before {
            content: "";
            position: absolute;
            width: 500px;
            height: 500px;
            right: -200px;
            top: -250px;
            border-radius: 50%;
            background: rgba(18,199,165,.14);
        }

        .home-banner-content {
            position: relative;
            z-index: 2;
        }

        .home-banner h2 {
            font-family: 'Manrope', sans-serif;
            color: #ffffff;
            font-size: 43px;
            font-weight: 800;
            line-height: 1.2;
            margin-bottom: 15px;
        }

        .home-banner p {
            color: #c9d9eb;
            max-width: 680px;
        }


        /* =====================================================
           GALLERY
        ===================================================== */

        .home-gallery {
            display: grid;
            grid-template-columns: repeat(12, 1fr);
            gap: 15px;
        }

        .home-gallery-item {
            position: relative;
            min-height: 230px;
            overflow: hidden;
            border-radius: 16px;
        }

        .home-gallery-item:nth-child(1) {
            grid-column: span 5;
        }

        .home-gallery-item:nth-child(2) {
            grid-column: span 7;
        }

        .home-gallery-item:nth-child(3) {
            grid-column: span 7;
        }

        .home-gallery-item:nth-child(4) {
            grid-column: span 5;
        }

        .home-gallery-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: .5s ease;
        }

        .home-gallery-item::after {
            content: "";
            position: absolute;
            inset: 0;
            background: rgba(7,20,38,.05);
            transition: .3s ease;
        }

        .home-gallery-item:hover::after {
            background: rgba(7,20,38,.28);
        }

        .home-gallery-item:hover img {
            transform: scale(1.07);
        }

        .gallery-view-icon {
            position: absolute;
            z-index: 3;
            top: 50%;
            left: 50%;
            width: 48px;
            height: 48px;
            display: grid;
            place-items: center;
            transform: translate(-50%,-30%);
            opacity: 0;
            color: #ffffff;
            background: var(--primary);
            border-radius: 50%;
            transition: .3s ease;
        }

        .home-gallery-item:hover
        .gallery-view-icon {
            opacity: 1;
            transform: translate(-50%,-50%);
        }


        /* =====================================================
           CONTACT CTA
        ===================================================== */

        .contact-strip {
            padding: 30px;
            border-radius: 18px;
            background: #edf4ff;
            border: 1px solid #dbe8fb;
        }

        .contact-strip-icon {
            width: 55px;
            height: 55px;
            display: grid;
            place-items: center;
            border-radius: 14px;
            color: #ffffff;
            background: var(--primary);
            font-size: 20px;
        }

        .contact-strip h3 {
            font-family: 'Manrope', sans-serif;
            font-size: 21px;
            font-weight: 700;
            margin-bottom: 4px;
        }


        /* =====================================================
           RESPONSIVE
        ===================================================== */

        @media (max-width: 1199px) {

            .hero-slider .carousel-indicators {
                left: 20px;
            }

        }


        @media (max-width: 991px) {

            .hero-slide {
                min-height: 650px;
            }

            .hero-content {
                padding: 120px 0 100px;
            }

            .hero-shape {
                display: none;
            }

            .counter-box {
                border-right: 0;
                border-bottom: 1px solid rgba(255,255,255,.18);
                padding: 25px 15px;
            }

            .counter-box:nth-last-child(-n+2) {
                border-bottom: 0;
            }

            .home-banner h2 {
                font-size: 36px;
            }

        }


        @media (max-width: 767px) {

            .hero-slide {
                min-height: 620px;
            }

            .hero-content {
                padding: 105px 0 90px;
            }

            .hero-title {
                font-size: 43px;
            }

            .hero-description {
                font-size: 16px;
            }

            .about-home-image {
                height: 430px;
            }

            .home-gallery {
                display: block;
            }

            .home-gallery-item {
                margin-bottom: 15px;
                min-height: 260px;
            }

        }


        @media (max-width: 575px) {

            .hero-title {
                font-size: 38px;
            }

            .hero-buttons {
                display: block;
            }

            .hero-btn {
                display: inline-flex;
                margin-bottom: 10px;
            }

            .about-home-image {
                height: 360px;
            }

            .about-experience {
                left: 15px;
                bottom: 15px;
            }

            .home-banner {
                padding: 65px 0;
            }

            .home-banner h2 {
                font-size: 31px;
            }

        }


.products-inner-hero {
    min-height: 430px;

    display: flex;
    align-items: center;

      background:
        linear-gradient(
            90deg,
            rgba(3, 20, 42, .96) 0%,
            rgba(5, 45, 95, .84) 55%,
            rgba(5, 45, 95, .45) 100%
        ),
        url("image/b1.png");

    background-size: cover;
    background-position: center;
}

.products-inner-hero .inner-hero-content {
    max-width: 800px;
    padding: 80px 0;
}

.products-inner-hero h1 {
    margin: 18px 0 15px;

    color: var(--white);

    font-family: "Manrope", sans-serif;

    font-size: 58px;
    font-weight: 800;

    line-height: 1.12;
}

.products-inner-hero p {
    max-width: 700px;

    margin: 0;

    color: rgba(255,255,255,.85);

    font-size: 17px;
    line-height: 1.8;
}

.breadcrumb-custom {
    display: flex;

    align-items: center;

    gap: 12px;

    color: rgba(255,255,255,.75);

    font-size: 15px;
}

.breadcrumb-custom a {
    color: var(--white);

    text-decoration: none;

    transition: var(--transition);
}

.breadcrumb-custom a:hover {
    color: var(--secondary);
}

.breadcrumb-custom i {
    font-size: 10px;
}

.breadcrumb-custom span {
    color: var(--secondary);
}


/* =========================================================
   PRODUCT INTRO
========================================================= */

.product-intro-section {
    background: var(--white);
}

.product-intro-image {
    position: relative;

    height: 540px;

    overflow: hidden;

    border-radius: 25px;

    background: var(--light);
}

.product-intro-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(3, 20, 42, .45)
        );

    pointer-events: none;
}

.product-intro-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .8s ease;
}

.product-intro-image:hover img {
    transform: scale(1.05);
}

.product-image-badge {
    position: absolute;

    left: 25px;
    bottom: 25px;

    z-index: 2;

    display: flex;

    align-items: center;

    gap: 14px;

    min-width: 225px;

    padding: 16px 20px;

    border-radius: 15px;

    background: rgba(255,255,255,.97);

    box-shadow: var(--shadow-lg);
}

.product-image-badge > i {
    width: 48px;
    height: 48px;

    display: grid;

    place-items: center;

    flex-shrink: 0;

    border-radius: 12px;

    color: var(--white);

    background: var(--primary);

    font-size: 19px;
}

.product-image-badge strong {
    display: block;

    color: var(--dark);

    font-family: "Manrope", sans-serif;

    font-size: 25px;

    font-weight: 800;

    line-height: 1;
}

.product-image-badge span {
    display: block;

    margin-top: 5px;

    color: var(--muted);

    font-size: 13px;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.section-tag {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 12px;

    color: var(--primary);

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}

.section-title {
    margin-bottom: 18px;

    color: var(--dark);

    font-family: "Manrope", sans-serif;

    font-size: 42px;

    font-weight: 800;

    line-height: 1.2;
}

.section-description {
    max-width: 700px;

    margin: 0 auto;

    color: var(--text);

    line-height: 1.8;
}

.section-heading {
    margin-bottom: 50px;
}


/* =========================================================
   INTRO POINTS
========================================================= */

.product-intro-points {
    margin: 25px 0;
}

.product-intro-points > div {
    display: flex;

    align-items: center;

    gap: 11px;

    margin-bottom: 12px;
}

.product-intro-points > div:last-child {
    margin-bottom: 0;
}

.product-intro-points i {
    color: var(--secondary);

    font-size: 17px;
}

.product-intro-points span {
    color: var(--dark);

    font-size: 15px;

    font-weight: 600;
}


/* =========================================================
   PRODUCT QUICK NAVIGATION
========================================================= */

.product-nav-section {
    position: sticky;

    top: 0;

    z-index: 90;

    padding: 12px 0;

    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);

    background: rgba(255,255,255,.96);

    backdrop-filter: blur(15px);

    box-shadow: 0 5px 20px rgba(0,0,0,.05);
}

.product-nav-wrapper {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    overflow-x: auto;

    scrollbar-width: thin;
}

.product-nav-wrapper a {
    flex: 0 0 auto;

    padding: 10px 16px;

    border: 1px solid var(--border);

    border-radius: 50px;

    color: var(--dark);

    background: var(--white);

    font-size: 14px;
    font-weight: 700;

    text-decoration: none;

    white-space: nowrap;

    transition: var(--transition);
}

.product-nav-wrapper a:hover {
    color: var(--white);

    border-color: var(--primary);

    background: var(--primary);

    transform: translateY(-2px);
}


/* =========================================================
   PRODUCT DETAIL SECTION
========================================================= */

.product-detail-section {
    position: relative;

    padding: 100px 0;

    background: var(--white);

    scroll-margin-top: 70px;
}

.product-detail-bg {
    background: var(--light);
}


/* =========================================================
   PRODUCT DETAIL IMAGE
========================================================= */

.product-detail-image {
    position: relative;

    height: 540px;

    overflow: hidden;

    border-radius: 25px;

    background: var(--light-2);

    box-shadow: var(--shadow);
}

.product-detail-image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(5, 30, 60, .35)
        );

    pointer-events: none;
}

.product-detail-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .8s ease;
}

.product-detail-image:hover img {
    transform: scale(1.06);
}

.product-detail-number {
    position: absolute;

    top: 22px;
    left: 22px;

    z-index: 3;

    width: 58px;
    height: 58px;

    display: grid;

    place-items: center;

    border: 3px solid rgba(255,255,255,.7);

    border-radius: 50%;

    color: var(--white);

    background: var(--primary);

    font-family: "Manrope", sans-serif;

    font-size: 17px;

    font-weight: 800;

    box-shadow: 0 10px 30px rgba(0,0,0,.18);
}


/* =========================================================
   PRODUCT DETAIL CONTENT
========================================================= */

.product-detail-label {
    display: inline-flex;

    margin-bottom: 12px;

    color: var(--primary);

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}

.product-detail-section h2 {
    margin-bottom: 18px;

    color: var(--dark);

    font-family: "Manrope", sans-serif;

    font-size: 43px;

    font-weight: 800;

    line-height: 1.18;
}

.product-detail-section h2 span {
    display: block;

    font-size: 25px;

    font-weight: 600;

    color: var(--primary);
}

.product-detail-description {
    margin-bottom: 25px;

    color: var(--text);

    font-size: 16px;

    line-height: 1.85;
}


/* =========================================================
   TECHNICAL INFORMATION
========================================================= */

.technical-info {
    margin: 25px 0;

    border: 1px solid var(--border);

    border-radius: 14px;

    overflow: hidden;

    background: var(--white);
}

.product-detail-bg .technical-info {
    background: var(--white);
}

.technical-info > div {
    display: grid;

    grid-template-columns: 38% 62%;

    align-items: center;

    min-height: 55px;

    padding: 0 16px;

    border-bottom: 1px solid var(--border);
}

.technical-info > div:last-child {
    border-bottom: 0;
}

.technical-info span {
    color: var(--muted);

    font-size: 14px;

    font-weight: 600;
}

.technical-info strong {
    color: var(--dark);

    font-size: 14px;

    font-weight: 800;

    text-align: right;
}


/* =========================================================
   PRODUCT HEADINGS
========================================================= */

.product-detail-section h4 {
    margin: 25px 0 13px;

    color: var(--dark);

    font-family: "Manrope", sans-serif;

    font-size: 20px;

    font-weight: 800;
}


/* =========================================================
   FEATURE LIST
========================================================= */

.product-feature-list {
    margin: 0;
    padding: 0;

    list-style: none;
}

.product-feature-list li {
    position: relative;

    padding-left: 28px;

    margin-bottom: 10px;

    color: var(--text);

    font-size: 15px;

    line-height: 1.65;
}

.product-feature-list li::before {
    content: "\f058";

    position: absolute;

    left: 0;
    top: 2px;

    color: var(--secondary);

    font-family: "Font Awesome 6 Free";

    font-weight: 900;

    font-size: 16px;
}


/* =========================================================
   APPLICATION TAGS
========================================================= */

.application-tags {
    display: flex;

    flex-wrap: wrap;

    gap: 8px;

    margin-top: 8px;
}

.application-tags span {
    display: inline-flex;

    align-items: center;

    padding: 8px 13px;

    border: 1px solid #d8e4f3;

    border-radius: 50px;

    color: var(--primary);

    background: var(--primary-light);

    font-size: 13px;

    font-weight: 700;

    transition: var(--transition);
}

.application-tags span:hover {
    color: var(--white);

    border-color: var(--primary);

    background: var(--primary);

    transform: translateY(-2px);
}


/* =========================================================
   PRODUCT DETAIL BUTTON
========================================================= */

.product-detail-section .btn-primary {
    padding: 13px 22px;

    border: 0;

    border-radius: 8px;

    color: var(--white);

    background: var(--primary);

    font-size: 15px;

    font-weight: 700;

    box-shadow: 0 8px 20px rgba(10,66,148,.15);

    transition: var(--transition);
}

.product-detail-section .btn-primary:hover {
    color: var(--white);

    background: var(--primary-dark);

    transform: translateY(-2px);

    box-shadow: 0 12px 25px rgba(10,66,148,.22);
}


/* =========================================================
   WHY CHOOSE SECTION
========================================================= */

.product-why-section {
    background: var(--white);
}

.product-why-card {
    height: 100%;

    padding: 32px 25px;

    text-align: center;

    border: 1px solid var(--border);

    border-radius: 18px;

    background: var(--white);

    transition: var(--transition);
}

.product-why-card:hover {
    border-color: transparent;

    transform: translateY(-7px);

    box-shadow: var(--shadow-lg);
}

.product-why-icon {
    width: 68px;
    height: 68px;

    display: grid;

    place-items: center;

    margin: 0 auto 20px;

    border-radius: 17px;

    color: var(--primary);

    background: var(--primary-light);

    font-size: 23px;

    transition: var(--transition);
}

.product-why-card:hover .product-why-icon {
    color: var(--white);

    background: var(--primary);

    transform: rotateY(180deg);
}

.product-why-card h3 {
    margin-bottom: 10px;

    color: var(--dark);

    font-family: "Manrope", sans-serif;

    font-size: 20px;

    font-weight: 800;
}

.product-why-card p {
    margin: 0;

    color: var(--text);

    font-size: 15px;

    line-height: 1.7;
}


/* =========================================================
   PRODUCT CTA
========================================================= */

.product-cta {
    position: relative;

    overflow: hidden;

    padding: 80px 0;

    background:
        linear-gradient(
            115deg,
            #06172d 0%,
            #0a4294 100%
        );
}

.product-cta::before {
    content: "";

    position: absolute;

    width: 480px;
    height: 480px;

    top: -300px;
    right: -160px;

    border: 1px solid rgba(255,255,255,.12);

    border-radius: 50%;
}

.product-cta::after {
    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    bottom: -190px;
    left: -100px;

    border: 1px solid rgba(255,255,255,.08);

    border-radius: 50%;
}

.product-cta .container {
    position: relative;

    z-index: 2;
}

.product-cta .section-tag {
    color: #5ee1c9;
}

.product-cta h2 {
    margin: 0 0 12px;

    color: var(--white);

    font-family: "Manrope", sans-serif;

    font-size: 42px;

    font-weight: 800;

    line-height: 1.2;
}

.product-cta p {
    max-width: 700px;

    margin: 0;

    color: rgba(255,255,255,.78);

    font-size: 16px;

    line-height: 1.8;
}

.product-cta .btn-light {
    padding: 14px 25px;

    border: 0;

    border-radius: 8px;

    color: var(--primary);

    font-size: 15px;

    font-weight: 800;

    transition: var(--transition);
}

.product-cta .btn-light:hover {
    color: var(--primary);

    transform: translateY(-3px);

    box-shadow: 0 12px 25px rgba(0,0,0,.18);
}


/* =========================================================
   ALL PARAGRAPH / LINK / LIST FONT SIZE
========================================================= */

.product-detail-section p,
.product-detail-section li,
.product-detail-section a,
.product-why-section p,
.product-why-section a {
    font-size: 15px;
}


/* =========================================================
   RESPONSIVE - 1199px
========================================================= */

@media (max-width: 1199px) {

    .products-inner-hero h1 {
        font-size: 50px;
    }

    .product-detail-section h2 {
        font-size: 38px;
    }

    .product-detail-image {
        height: 500px;
    }

    .product-intro-image {
        height: 500px;
    }

}


/* =========================================================
   RESPONSIVE - 991px
========================================================= */

@media (max-width: 991px) {

    .products-inner-hero {
        min-height: 380px;
    }

    .products-inner-hero .inner-hero-content {
        padding: 70px 0;
    }

    .products-inner-hero h1 {
        font-size: 46px;
    }

    .product-nav-section {
        position: relative;

        top: auto;
    }

    .product-nav-wrapper {
        justify-content: flex-start;

        padding-bottom: 3px;
    }

    .product-intro-image {
        height: 480px;
    }

    .product-detail-section {
        padding: 80px 0;
    }

    .product-detail-image {
        height: 480px;
    }

    .product-detail-section h2 {
        font-size: 36px;
    }

    .product-cta h2 {
        font-size: 36px;
    }

}


/* =========================================================
   RESPONSIVE - 767px
========================================================= */

@media (max-width: 767px) {

    .products-inner-hero {
        min-height: 340px;

        background-position: center;
    }

    .products-inner-hero .inner-hero-content {
        padding: 60px 0;
    }

    .products-inner-hero h1 {
        margin-top: 15px;

        font-size: 40px;
    }

    .products-inner-hero p {
        font-size: 15px;
    }

    .section-title {
        font-size: 34px;
    }

    .section-heading {
        margin-bottom: 35px;
    }

    .product-intro-image {
        height: 400px;
    }

    .product-detail-section {
        padding: 65px 0;
    }

    .product-detail-image {
        height: 390px;
    }

    .product-detail-section h2 {
        font-size: 32px;
    }

    .product-detail-section h2 span {
        font-size: 21px;
    }

    .technical-info > div {
        grid-template-columns: 42% 58%;
    }

    .product-cta {
        padding: 65px 0;
    }

    .product-cta h2 {
        font-size: 32px;
    }

}


/* =========================================================
   RESPONSIVE - 575px
========================================================= */

@media (max-width: 575px) {

    .products-inner-hero {
        min-height: 310px;
    }

    .products-inner-hero .inner-hero-content {
        padding: 50px 0;
    }

    .products-inner-hero h1 {
        font-size: 34px;
    }

    .breadcrumb-custom {
        gap: 8px;

        font-size: 13px;
    }

    .section-title {
        font-size: 29px;
    }

    .product-intro-image {
        height: 340px;

        border-radius: 18px;
    }

    .product-image-badge {
        left: 15px;
        bottom: 15px;

        min-width: 190px;

        padding: 12px 14px;
    }

    .product-image-badge > i {
        width: 42px;
        height: 42px;

        font-size: 16px;
    }

    .product-image-badge strong {
        font-size: 20px;
    }

    .product-image-badge span {
        font-size: 12px;
    }

    .product-detail-section {
        padding: 55px 0;
    }

    .product-detail-image {
        height: 330px;

        border-radius: 18px;
    }

    .product-detail-number {
        top: 15px;
        left: 15px;

        width: 48px;
        height: 48px;

        font-size: 14px;
    }

    .product-detail-section h2 {
        font-size: 28px;
    }

    .product-detail-section h2 span {
        font-size: 19px;
    }

    .product-detail-description {
        font-size: 15px;
    }

    .technical-info > div {
        grid-template-columns: 1fr;

        gap: 4px;

        padding: 12px 14px;
    }

    .technical-info strong {
        text-align: left;
    }

    .application-tags span {
        padding: 7px 11px;

        font-size: 12px;
    }

    .product-detail-section .btn-primary {
        width: 100%;
    }

    .product-why-card {
        padding: 27px 20px;
    }

    .product-cta h2 {
        font-size: 28px;
    }

    .product-cta .btn-light {
        width: 100%;

        margin-top: 10px;
    }

}


/* =========================================================
   SMOOTH SCROLL
========================================================= */

html {
    scroll-behavior: smooth;
}


/* =========================================================
   IMAGE FALLBACK / OBJECT FIT
========================================================= */

.product-detail-image img,
.product-intro-image img {
    object-position: center;
}

.product-detail-section:nth-of-type(even)
.product-detail-image img {
    object-position: center;
}


/* =========================================================
   COMMON
========================================================= */

.contact-page {
    overflow: hidden;
}

.contact-page p,
.contact-page li,
.contact-page a {
    font-size: 15px;
}


/* =========================================================
   HERO
========================================================= */

.contact-inner-hero {
    min-height: 440px;

    display: flex;
    align-items: center;

    background:
        linear-gradient(
            90deg,
            rgba(3, 20, 42, .95) 0%,
            rgba(5, 45, 95, .82) 55%,
            rgba(5, 45, 95, .45) 100%
        ),
        url("../images/contact-banner.jpg");

    background-size: cover;
    background-position: center;
}

.contact-inner-hero .inner-hero-content {
    max-width: 800px;

    padding: 80px 0;
}

.contact-inner-hero h1 {
    margin: 18px 0 15px;

    color: var(--white);

    font-family: "Manrope", sans-serif;

    font-size: 58px;
    font-weight: 800;

    line-height: 1.1;
}

.contact-inner-hero p {
    max-width: 680px;

    margin: 0;

    color: rgba(255,255,255,.85);

    font-size: 17px;

    line-height: 1.8;
}

.breadcrumb-custom {
    display: flex;

    align-items: center;

    gap: 12px;

    font-size: 15px;
}

.breadcrumb-custom a {
    color: rgba(255,255,255,.8);

    text-decoration: none;

    transition: var(--transition);
}

.breadcrumb-custom a:hover {
    color: var(--secondary);
}

.breadcrumb-custom i {
    color: rgba(255,255,255,.5);

    font-size: 10px;
}

.breadcrumb-custom span {
    color: var(--secondary);
}


/* =========================================================
   SECTION
========================================================= */

.contact-main-section {
    padding: 100px 0;

    background: var(--white);
}

.section-heading {
    margin-bottom: 50px;
}

.section-tag {
    display: inline-flex;

    align-items: center;

    margin-bottom: 12px;

    color: var(--primary);

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}

.section-title {
    margin-bottom: 15px;

    color: var(--dark);

    font-family: "Manrope", sans-serif;

    font-size: 42px;

    font-weight: 800;

    line-height: 1.2;
}

.section-description {
    max-width: 700px;

    margin: 0 auto;

    color: var(--text);

    line-height: 1.8;
}


/* =========================================================
   CONTACT INFORMATION
========================================================= */

.contact-info-wrapper {
    height: 100%;

    padding: 40px;

    border-radius: 24px;

    background:
        linear-gradient(
            145deg,
            #06172d 0%,
            #0a4294 100%
        );

    box-shadow: var(--shadow-lg);
}

.contact-info-heading .section-tag {
    color: #5de1c9;
}

.contact-info-heading h3 {
    margin: 0 0 12px;

    color: var(--white);

    font-family: "Manrope", sans-serif;

    font-size: 30px;

    font-weight: 800;
}

.contact-info-heading p {
    margin-bottom: 30px;

    color: rgba(255,255,255,.72);

    line-height: 1.8;
}


/* =========================================================
   INFO ITEM
========================================================= */

.contact-info-item {
    display: flex;

    align-items: flex-start;

    gap: 15px;

    padding: 20px 0;

    border-top: 1px solid rgba(255,255,255,.12);
}

.contact-info-icon {
    width: 50px;
    height: 50px;

    display: grid;

    place-items: center;

    flex-shrink: 0;

    border: 1px solid rgba(255,255,255,.12);

    border-radius: 13px;

    color: var(--white);

    background: rgba(255,255,255,.09);

    font-size: 17px;

    transition: var(--transition);
}

.contact-info-item:hover .contact-info-icon {
    color: var(--primary);

    background: var(--white);

    transform: translateY(-3px);
}

.contact-info-item > div:last-child {
    flex: 1;
}

.contact-info-item span {
    display: block;

    margin-bottom: 5px;

    color: #8edfff;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1px;

    text-transform: uppercase;
}

.contact-info-item p {
    margin: 0;

    color: rgba(255,255,255,.88);

    font-size: 15px;

    line-height: 1.7;
}

.contact-info-item a {
    color: var(--white);

    font-size: 15px;

    font-weight: 600;

    text-decoration: none;

    transition: var(--transition);
}

.contact-info-item a:hover {
    color: #5de1c9;
}


/* =========================================================
   SOCIAL
========================================================= */

.contact-social-area {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    padding-top: 25px;

    margin-top: 5px;

    border-top: 1px solid rgba(255,255,255,.12);
}

.contact-social-area > span {
    color: var(--white);

    font-size: 14px;

    font-weight: 700;
}

.contact-social-links {
    display: flex;

    gap: 9px;
}

.contact-social-links a {
    width: 42px;
    height: 42px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    color: var(--white);

    background: rgba(255,255,255,.1);

    font-size: 15px;

    text-decoration: none;

    transition: var(--transition);
}

.contact-social-links a:hover {
    color: var(--white);

    background: var(--secondary);

    transform: translateY(-4px);
}


/* =========================================================
   CONTACT FORM WRAPPER
========================================================= */

.contact-form-wrapper {
    height: 100%;

    padding: 40px;

    border: 1px solid var(--border);

    border-radius: 24px;

    background: var(--white);

    box-shadow: var(--shadow);
}

.contact-form-heading {
    margin-bottom: 28px;
}

.contact-form-heading .section-tag {
    margin-bottom: 10px;
}

.contact-form-heading h3 {
    margin: 0 0 10px;

    color: var(--dark);

    font-family: "Manrope", sans-serif;

    font-size: 30px;

    font-weight: 800;
}

.contact-form-heading p {
    margin: 0;

    color: var(--text);

    line-height: 1.7;
}


/* =========================================================
   LABEL
========================================================= */

.apex-contact-form label {
    display: block;

    margin-bottom: 8px;

    color: var(--dark);

    font-size: 14px;

    font-weight: 700;
}

.apex-contact-form label span {
    color: #e53935;
}


/* =========================================================
   INPUT
========================================================= */

.form-input-box {
    position: relative;
}

.form-input-box > i {
    position: absolute;

    top: 50%;
    left: 16px;

    z-index: 2;

    color: var(--muted);

    font-size: 15px;

    transform: translateY(-50%);

    pointer-events: none;
}

.form-input-box input,
.form-input-box select {
    width: 100%;
    height: 55px;

    padding: 0 16px 0 46px;

    border: 1px solid #dce4ee;

    border-radius: 9px;

    outline: none;

    color: var(--dark);

    background: #f9fbfd;

    font-family: "Inter", sans-serif;

    font-size: 15px;

    transition: var(--transition);
}

.form-input-box input::placeholder {
    color: #9aa7b6;
}

.form-input-box input:focus,
.form-input-box select:focus {
    border-color: var(--primary);

    outline: none;

    background: var(--white);

    box-shadow:
        0 0 0 4px rgba(10,66,148,.08);
}


/* =========================================================
   SELECT
========================================================= */

.form-input-box select {
    padding-right: 40px;

    cursor: pointer;
}


/* =========================================================
   TEXTAREA
========================================================= */

.form-textarea-box {
    position: relative;
}

.form-textarea-box > i {
    position: absolute;

    top: 18px;
    left: 16px;

    z-index: 2;

    color: var(--muted);

    font-size: 15px;

    pointer-events: none;
}

.form-textarea-box textarea {
    width: 100%;

    min-height: 145px;

    padding: 15px 16px 15px 46px;

    border: 1px solid #dce4ee;

    border-radius: 9px;

    outline: none;

    resize: vertical;

    color: var(--dark);

    background: #f9fbfd;

    font-family: "Inter", sans-serif;

    font-size: 15px;

    line-height: 1.7;

    transition: var(--transition);
}

.form-textarea-box textarea::placeholder {
    color: #9aa7b6;
}

.form-textarea-box textarea:focus {
    border-color: var(--primary);

    outline: none;

    background: var(--white);

    box-shadow:
        0 0 0 4px rgba(10,66,148,.08);
}


/* =========================================================
   SUBMIT
========================================================= */

.contact-submit-btn {
    width: 100%;
    min-height: 56px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 12px;

    border: 0;

    border-radius: 9px;

    color: var(--white);

    background: var(--primary);

    font-family: "Inter", sans-serif;

    font-size: 15px;

    font-weight: 700;

    cursor: pointer;

    transition: var(--transition);
}

.contact-submit-btn:hover {
    color: var(--white);

    background: var(--primary-dark);

    transform: translateY(-2px);

    box-shadow:
        0 12px 25px rgba(10,66,148,.2);
}

.contact-submit-btn i {
    transition: var(--transition);
}

.contact-submit-btn:hover i {
    transform: translateX(5px);
}


/* =========================================================
   ALERT
========================================================= */

.contact-alert {
    border: 0;

    border-radius: 10px;

    margin-bottom: 25px;

    font-size: 15px;
}


/* =========================================================
   BENEFITS
========================================================= */

.contact-benefits-section {
    padding: 100px 0;

    background: var(--light);
}

.contact-benefit-card {
    height: 100%;

    padding: 32px 25px;

    text-align: center;

    border: 1px solid var(--border);

    border-radius: 18px;

    background: var(--white);

    transition: var(--transition);
}

.contact-benefit-card:hover {
    border-color: transparent;

    transform: translateY(-8px);

    box-shadow: var(--shadow-lg);
}

.contact-benefit-icon {
    width: 68px;
    height: 68px;

    display: grid;

    place-items: center;

    margin: 0 auto 20px;

    border-radius: 17px;

    color: var(--primary);

    background: #eef5ff;

    font-size: 22px;

    transition: var(--transition);
}

.contact-benefit-card:hover .contact-benefit-icon {
    color: var(--white);

    background: var(--primary);

    transform: rotateY(180deg);
}

.contact-benefit-card h3 {
    margin-bottom: 10px;

    color: var(--dark);

    font-family: "Manrope", sans-serif;

    font-size: 20px;

    font-weight: 800;
}

.contact-benefit-card p {
    margin: 0;

    color: var(--text);

    font-size: 15px;

    line-height: 1.7;
}


/* =========================================================
   MAP
========================================================= */

.contact-map-section {
    width: 100%;
    height: 450px;

    overflow: hidden;

    background: #e9eef5;
}

.contact-map-section iframe {
    width: 100%;
    height: 100%;

    display: block;

    border: 0;
}


/* =========================================================
   CTA
========================================================= */

.contact-cta {
    position: relative;

    overflow: hidden;

    padding: 75px 0;

    background:
        linear-gradient(
            115deg,
            #06172d 0%,
            #0a4294 100%
        );
}

.contact-cta::before {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    top: -330px;
    right: -160px;

    border: 1px solid rgba(255,255,255,.1);

    border-radius: 50%;
}

.contact-cta::after {
    content: "";

    position: absolute;

    width: 280px;
    height: 280px;

    bottom: -220px;
    left: -100px;

    border: 1px solid rgba(255,255,255,.08);

    border-radius: 50%;
}

.contact-cta .container {
    position: relative;

    z-index: 2;
}

.contact-cta .section-tag {
    color: #5de1c9;
}

.contact-cta h2 {
    margin: 0 0 12px;

    color: var(--white);

    font-family: "Manrope", sans-serif;

    font-size: 42px;

    font-weight: 800;

    line-height: 1.2;
}

.contact-cta p {
    margin: 0;

    color: rgba(255,255,255,.78);

    font-size: 15px;

    line-height: 1.8;
}

.contact-cta-buttons {
    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: 12px;
}

.contact-cta-buttons .btn {
    min-width: 145px;

    padding: 14px 20px;

    border-radius: 8px;

    font-size: 15px;

    font-weight: 700;

    transition: var(--transition);
}

.contact-cta-buttons .btn:hover {
    transform: translateY(-3px);

    box-shadow: 0 12px 25px rgba(0,0,0,.18);
}

.contact-cta-buttons .btn-light {
    color: var(--primary);

    border: 0;
}

.contact-cta-buttons .btn-success {
    border: 0;

    background: var(--success);
}


/* =========================================================
   RESPONSIVE - 1199px
========================================================= */

@media (max-width: 1199px) {

    .contact-inner-hero h1 {
        font-size: 52px;
    }

    .section-title {
        font-size: 38px;
    }

    .contact-info-wrapper,
    .contact-form-wrapper {
        padding: 32px;
    }

}


/* =========================================================
   RESPONSIVE - 991px
========================================================= */

@media (max-width: 991px) {

    .contact-inner-hero {
        min-height: 390px;
    }

    .contact-inner-hero .inner-hero-content {
        padding: 70px 0;
    }

    .contact-main-section,
    .contact-benefits-section {
        padding: 80px 0;
    }

    .contact-cta h2 {
        font-size: 36px;
    }

    .contact-cta-buttons {
        justify-content: flex-start;
    }

}


/* =========================================================
   RESPONSIVE - 767px
========================================================= */

@media (max-width: 767px) {

    .contact-inner-hero {
        min-height: 350px;
    }

    .contact-inner-hero h1 {
        font-size: 42px;
    }

    .contact-inner-hero p {
        font-size: 15px;
    }

    .section-title {
        font-size: 32px;
    }

    .section-heading {
        margin-bottom: 35px;
    }

    .contact-main-section,
    .contact-benefits-section {
        padding: 65px 0;
    }

    .contact-info-wrapper,
    .contact-form-wrapper {
        padding: 28px;
    }

    .contact-info-heading h3,
    .contact-form-heading h3 {
        font-size: 27px;
    }

    .contact-map-section {
        height: 370px;
    }

    .contact-cta {
        padding: 60px 0;
    }

    .contact-cta h2 {
        font-size: 32px;
    }

}


/* =========================================================
   RESPONSIVE - 575px
========================================================= */

@media (max-width: 575px) {

    .contact-inner-hero {
        min-height: 315px;
    }

    .contact-inner-hero .inner-hero-content {
        padding: 55px 0;
    }

    .contact-inner-hero h1 {
        margin-top: 14px;

        font-size: 35px;
    }

    .breadcrumb-custom {
        gap: 8px;

        font-size: 13px;
    }

    .section-title {
        font-size: 28px;
    }

    .contact-info-wrapper,
    .contact-form-wrapper {
        padding: 22px;
    }

    .contact-info-heading h3,
    .contact-form-heading h3 {
        font-size: 24px;
    }

    .contact-info-item {
        gap: 11px;

        padding: 17px 0;
    }

    .contact-info-icon {
        width: 43px;
        height: 43px;

        border-radius: 11px;

        font-size: 15px;
    }

    .contact-info-item p,
    .contact-info-item a {
        font-size: 15px;
    }

    .contact-social-area {
        align-items: flex-start;

        flex-direction: column;
    }

    .contact-map-section {
        height: 300px;
    }

    .contact-cta h2 {
        font-size: 28px;
    }

    .contact-cta-buttons {
        flex-direction: column;

        align-items: stretch;
    }

    .contact-cta-buttons .btn {
        width: 100%;
    }

}


/* =========================================================
   FORM AUTOFILL
========================================================= */

.apex-contact-form input:-webkit-autofill,
.apex-contact-form input:-webkit-autofill:hover,
.apex-contact-form input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--dark);

    -webkit-box-shadow: 0 0 0 1000px #f9fbfd inset;

    transition: background-color 5000s ease-in-out 0s;
}


/* =========================================================
   ACCESSIBILITY
========================================================= */

.apex-contact-form input:focus-visible,
.apex-contact-form select:focus-visible,
.apex-contact-form textarea:focus-visible,
.contact-submit-btn:focus-visible {
    outline: 2px solid var(--secondary);

    outline-offset: 2px;
}

/* =========================================================
   APEX ENTERPRISE - GALLERY CSS
========================================================= */

.gallery-inner-hero {
    min-height: 440px;

    display: flex;
    align-items: center;

    background:
        linear-gradient(
            90deg,
            rgba(3,20,42,.95),
            rgba(5,45,95,.78),
            rgba(5,45,95,.42)
        ),
        url("../images/gallery-banner.jpg");

    background-size: cover;
    background-position: center;
}

.gallery-inner-hero .inner-hero-content {
    max-width: 800px;
    padding: 80px 0;
}

.gallery-inner-hero h1 {
    margin: 18px 0 15px;

    color: #fff;

    font-family: "Manrope", sans-serif;

    font-size: 58px;
    font-weight: 800;

    line-height: 1.1;
}

.gallery-inner-hero p {
    max-width: 680px;

    margin: 0;

    color: rgba(255,255,255,.85);

    font-size: 17px;

    line-height: 1.8;
}


/* =========================================================
   GALLERY SECTION
========================================================= */

.gallery-section {
    padding: 100px 0;

    background: #fff;
}


/* =========================================================
   FILTER
========================================================= */

.gallery-filter {
    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 10px;

    margin-bottom: 45px;
}

.gallery-filter-btn {
    padding: 11px 20px;

    border: 1px solid #dce4ee;

    border-radius: 50px;

    color: #536477;

    background: #fff;

    font-family: "Inter", sans-serif;

    font-size: 15px;

    font-weight: 600;

    cursor: pointer;

    transition: all .3s ease;
}

.gallery-filter-btn:hover {
    color: #0a4294;

    border-color: #0a4294;

    transform: translateY(-2px);
}

.gallery-filter-btn.active {
    color: #fff;

    border-color: #0a4294;

    background: #0a4294;

    box-shadow: 0 8px 20px rgba(10,66,148,.18);
}


/* =========================================================
   GALLERY CARD
========================================================= */

.gallery-item-wrap {
    transition: all .4s ease;
}

.gallery-card {
    position: relative;

    overflow: hidden;

    height: 100%;

    border-radius: 18px;

    background: #fff;

    box-shadow: 0 10px 30px rgba(15,40,75,.08);

    cursor: pointer;
}

.gallery-image {
    position: relative;

    width: 100%;

    height: 360px;

    overflow: hidden;

    background: #edf2f7;
}

.gallery-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .6s ease;
}

.gallery-card:hover .gallery-image img {
    transform: scale(1.08);
}


/* =========================================================
   OVERLAY
========================================================= */

.gallery-overlay {
    position: absolute;

    inset: 0;

    display: flex;

    align-items: flex-end;

    padding: 25px;

    background:
        linear-gradient(
            to top,
            rgba(3,20,42,.92) 0%,
            rgba(3,20,42,.45) 45%,
            rgba(3,20,42,0) 75%
        );

    opacity: 0;

    transition: all .4s ease;
}

.gallery-card:hover .gallery-overlay {
    opacity: 1;
}

.gallery-overlay-content {
    width: 100%;

    transform: translateY(20px);

    transition: transform .4s ease;
}

.gallery-card:hover .gallery-overlay-content {
    transform: translateY(0);
}

.gallery-overlay-content span {
    display: block;

    margin-bottom: 5px;

    color: #5de1c9;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1px;

    text-transform: uppercase;
}

.gallery-overlay-content h3 {
    margin: 0 0 15px;

    color: #fff;

    font-family: "Manrope", sans-serif;

    font-size: 22px;

    font-weight: 800;
}


/* =========================================================
   VIEW BUTTON
========================================================= */

.gallery-view-btn {
    width: 46px;
    height: 46px;

    display: grid;

    place-items: center;

    border: 0;

    border-radius: 50%;

    color: #0a4294;

    background: #fff;

    font-size: 15px;

    cursor: pointer;

    transition: all .3s ease;
}

.gallery-view-btn:hover {
    color: #fff;

    background: #f4a51c;

    transform: rotate(10deg) scale(1.08);
}


/* =========================================================
   FILTER ANIMATION
========================================================= */

.gallery-item-wrap.gallery-hidden {
    display: none;
}

.gallery-item-wrap.gallery-show {
    animation: galleryFadeIn .45s ease forwards;
}

@keyframes galleryFadeIn {

    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =========================================================
   LIGHTBOX
========================================================= */

.gallery-lightbox {
    position: fixed;

    inset: 0;

    z-index: 99999;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 30px;

    background: rgba(3,12,25,.94);

    opacity: 0;

    visibility: hidden;

    transition: all .3s ease;
}

.gallery-lightbox.active {
    opacity: 1;

    visibility: visible;
}

.lightbox-content {
    position: relative;

    max-width: 1100px;
    max-height: 90vh;

    text-align: center;
}

.lightbox-content img {
    max-width: 100%;

    max-height: 78vh;

    display: block;

    margin: auto;

    border-radius: 10px;

    object-fit: contain;

    box-shadow: 0 25px 80px rgba(0,0,0,.45);
}

.lightbox-caption {
    margin-top: 15px;

    color: #fff;

    font-family: "Manrope", sans-serif;

    font-size: 18px;

    font-weight: 700;
}


/* =========================================================
   LIGHTBOX BUTTONS
========================================================= */

.lightbox-close,
.lightbox-prev,
.lightbox-next {
    position: absolute;

    z-index: 10;

    width: 50px;
    height: 50px;

    display: grid;

    place-items: center;

    border: 1px solid rgba(255,255,255,.2);

    border-radius: 50%;

    color: #fff;

    background: rgba(255,255,255,.1);

    font-size: 17px;

    cursor: pointer;

    transition: all .3s ease;
}

.lightbox-close:hover,
.lightbox-prev:hover,
.lightbox-next:hover {
    color: #fff;

    background: #0a4294;

    transform: scale(1.08);
}

.lightbox-close {
    top: 25px;
    right: 25px;
}

.lightbox-prev {
    top: 50%;

    left: 25px;

    transform: translateY(-50%);
}

.lightbox-prev:hover {
    transform: translateY(-50%) scale(1.08);
}

.lightbox-next {
    top: 50%;

    right: 25px;

    transform: translateY(-50%);
}

.lightbox-next:hover {
    transform: translateY(-50%) scale(1.08);
}


/* =========================================================
   CTA
========================================================= */

.gallery-cta {
    padding: 75px 0;

    background:
        linear-gradient(
            115deg,
            #06172d,
            #0a4294
        );
}

.gallery-cta-inner {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;
}

.gallery-cta .section-tag {
    color: #5de1c9;
}

.gallery-cta h2 {
    margin: 0 0 10px;

    color: #fff;

    font-family: "Manrope", sans-serif;

    font-size: 38px;

    font-weight: 800;
}

.gallery-cta p {
    margin: 0;

    color: rgba(255,255,255,.75);

    font-size: 15px;

    line-height: 1.7;
}

.gallery-cta-buttons {
    display: flex;

    flex-shrink: 0;

    gap: 12px;
}

.gallery-cta-buttons .btn {
    min-width: 145px;

    padding: 13px 20px;

    border-radius: 8px;

    font-size: 15px;

    font-weight: 700;

    transition: all .3s ease;
}

.gallery-btn-light {
    color: #0a4294;

    background: #fff;
}

.gallery-btn-light:hover {
    color: #0a4294;

    background: #f4f7fb;

    transform: translateY(-3px);
}

.gallery-btn-outline {
    color: #fff;

    border: 1px solid rgba(255,255,255,.45);

    background: transparent;
}

.gallery-btn-outline:hover {
    color: #0a4294;

    border-color: #fff;

    background: #fff;

    transform: translateY(-3px);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991px) {

    .gallery-inner-hero {
        min-height: 390px;
    }

    .gallery-inner-hero h1 {
        font-size: 50px;
    }

    .gallery-section {
        padding: 80px 0;
    }

    .gallery-image {
        height: 330px;
    }

    .gallery-cta-inner {
        align-items: flex-start;

        flex-direction: column;
    }

}


@media (max-width: 767px) {

    .gallery-inner-hero {
        min-height: 350px;
    }

    .gallery-inner-hero h1 {
        font-size: 42px;
    }

    .gallery-section {
        padding: 65px 0;
    }

    .gallery-filter {
        margin-bottom: 35px;
    }

    .gallery-filter-btn {
        padding: 9px 15px;

        font-size: 14px;
    }

    .gallery-image {
        height: 350px;
    }

    .gallery-overlay {
        opacity: 1;

        padding: 22px;
    }

    .gallery-overlay-content {
        transform: translateY(0);
    }

    .gallery-cta {
        padding: 60px 0;
    }

    .gallery-cta h2 {
        font-size: 32px;
    }

}


@media (max-width: 575px) {

    .gallery-inner-hero {
        min-height: 315px;
    }

    .gallery-inner-hero h1 {
        font-size: 35px;
    }

    .gallery-image {
        height: 300px;
    }

    .gallery-filter {
        gap: 7px;
    }

    .gallery-filter-btn {
        padding: 8px 12px;

        font-size: 13px;
    }

    .gallery-overlay-content h3 {
        font-size: 20px;
    }

    .gallery-lightbox {
        padding: 15px;
    }

    .lightbox-close {
        top: 15px;
        right: 15px;
    }

    .lightbox-prev {
        left: 10px;
    }

    .lightbox-next {
        right: 10px;
    }

    .lightbox-prev,
    .lightbox-next {
        width: 42px;
        height: 42px;
    }

    .gallery-cta h2 {
        font-size: 27px;
    }

    .gallery-cta-buttons {
        width: 100%;

        flex-direction: column;
    }

    .gallery-cta-buttons .btn {
        width: 100%;
    }

}