@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@500;600;700;800&display=swap");

:root {
    --header-height: 4.5rem;

    /* ===========================
        SHREE SAI AQUATREAT
        BRAND COLORS
    ============================ */

    --first-color: #0878b9;
    --first-color-dark: #045985;
    --second-color: #0aa6d6;

    /* Water + Green Accent */
    --water-blue: #0878b9;
    --light-blue: #69c4e5;
    --deep-blue: #064b73;
    --aqua: #19a9c9;
    --water-green: #159447;

    --second-gradient: linear-gradient(135deg,
            #0878b9 0%,
            #0aa6d6 100%);

    --water-gradient: linear-gradient(135deg,
            #0878b9 0%,
            #19a9c9 55%,
            #159447 100%);

    /* ===========================
        TEXT COLORS
    ============================ */

    --title-color: #102a43;
    --text-color: #52677a;
    --muted-text: #718096;
    --footer-color: #17324d;

    /* ===========================
        BACKGROUND COLORS
    ============================ */

    --white-color: #ffffff;
    --body-color: #f6fbfe;
    --container-color: #ffffff;
    --section-color: #eef8fc;
    --light-section: #f4fafc;

    /* ===========================
        TYPOGRAPHY
    ============================ */

    --body-font: "Inter", sans-serif;
    --second-font: "Montserrat", sans-serif;

    --h1-font-size: 1.5rem;
    --h2-font-size: 1.25rem;
    --h3-font-size: 1rem;
    --normal-font-size: 0.938rem;
    --small-font-size: 0.813rem;
    --smaller-font-size: 0.75rem;

    /* ===========================
        FONT WEIGHT
    ============================ */

    --font-regular: 400;
    --font-medium: 500;
    --font-semi-bold: 600;
    --font-bold: 700;

    /* ===========================
        Z INDEX
    ============================ */

    --z-tooltip: 10;
    --z-fixed: 100;

    /* ===========================
        BORDER & SHADOW
    ============================ */

    --border: 1px solid #d8eaf3;

    --top-border: 1px solid rgba(8, 120, 185, 0.15);

    --box-shadow:
        0 10px 30px rgba(8, 120, 185, 0.10);

    --box-shadow-hover:
        0 16px 40px rgba(8, 120, 185, 0.16);
}


/* ===========================
        BUTTONS
=========================== */

.btn,
.option-btn,
.delete-btn,
.white-btn,
.white-btn2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-top: 1rem;
    padding: 1.1rem 2.2rem;

    cursor: pointer;

    border-radius: 0.7rem;

    font-family: var(--body-font);
    font-size: 1.5rem;
    font-weight: 600;

    text-transform: capitalize;

    transition:
        background-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

/* Primary Button */

.btn {
    background: var(--second-gradient);
    color: var(--white-color);

    border: 1px solid transparent;

    box-shadow:
        0 8px 22px rgba(8, 120, 185, 0.22);
}


.btn:hover {
    background: var(--deep-blue);

    transform: translateY(-2px);

    box-shadow:
        0 12px 28px rgba(8, 120, 185, 0.25);
}


/* Secondary / Orange replaced with Green */

.option-btn {
    background: var(--water-green);
    color: var(--white-color);
}


.option-btn:hover {
    background: #10783a;

    transform: translateY(-2px);

    box-shadow:
        0 10px 24px rgba(21, 148, 71, 0.20);
}


/* Delete */

.delete-btn {
    background: #c62828;
    color: var(--white-color);
}


.delete-btn:hover {
    background: #a51f1f;
    transform: translateY(-2px);
}


/* White Button */

.white-btn {

    background: var(--first-color);
    color: var(--white-color);

    border: 1px solid var(--first-color);

    box-shadow:
        0 6px 18px rgba(8, 120, 185, 0.08);
}




.white-btn:hover {
    background: var(--white-color);
    color: var(--first-color);

    border: 1px solid #b9d9e8;
    transform: translateY(-2px);

    box-shadow:
        0 10px 25px rgba(8, 120, 185, 0.18);
}

.white-btn2 {

    background: transparent;
    color: var(--white-color);

    border: 2px solid var(--first-color);

    box-shadow:
        0 6px 18px rgba(8, 120, 185, 0.08);
}




.white-btn2:hover {
    background: var(--white-color);
    color: var(--first-color);

    border: 1px solid #b9d9e8;
    transform: translateY(-2px);

    box-shadow:
        0 10px 25px rgba(8, 120, 185, 0.18);
}

.btn:hover {

    transform: translateY(-2px);

    box-shadow:
        0 10px 25px rgba(8, 120, 185, 0.18);
}

/* ===========================
        ANIMATION
=========================== */

@keyframes fadeIn {
    0% {
        transform: translateY(1rem);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}


.reveal {
    opacity: 0;
    transform: translateY(40px);

    transition:
        opacity 0.8s ease,
        transform 0.8s ease;

    visibility: hidden;
}


.reveal.active {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}


.reveal2 {
    opacity: 0;
    transform: translateY(30px);

    transition:
        opacity 0.7s ease,
        transform 0.7s ease;
}


.reveal2.active {
    opacity: 1;
    transform: translateY(0);
}


/* ===========================
        BASE
=========================== */

* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;

    outline: none;
    border: none;

    text-decoration: none;

    -webkit-tap-highlight-color: transparent;
}


html {
    font-size: 62.5%;
    overflow-x: hidden;

    scroll-behavior: smooth;
}


body {
    background: var(--body-color);
    color: var(--text-color);

    font-family: var(--body-font);

    overflow-x: hidden;
}


section {
    padding: 3rem 2rem;
}


section.productRange {
    padding: 3rem 2rem;
}


/* ===========================
        TYPOGRAPHY
=========================== */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--second-font);

    color: var(--title-color);

    font-weight: 700;
}


.section-title {
    font-family: var(--second-font);

    color: var(--title-color);

    font-size: 3.5rem;
    line-height: 1.2;

    font-weight: 700;
}


.section-subtitle {
    color: var(--first-color);

    font-size: 1.6rem;

    font-weight: 600;

    letter-spacing: 0.02em;
}


.section-text {
    color: var(--text-color);

    font-size: 1.6rem;

    line-height: 1.8;
}


.heading3 {
    color: var(--first-color);
}


/* ===========================
        CONTAINER
=========================== */

.container {
    max-width: 1320px;

    margin: 0 auto;

    padding-inline: 2rem;
}


/* ===========================
        IMAGES
=========================== */

img {
    max-width: 100%;

    display: block;
}


a {
    color: inherit;
}


ul {
    list-style: none;
}


/* ===========================
        TEXT SELECTION
=========================== */

*::selection {
    background: var(--first-color);

    color: var(--white-color);
}


/* ===========================
        SCROLLBAR
=========================== */

*::-webkit-scrollbar {
    height: 0.6rem;
    width: 0.8rem;
}


*::-webkit-scrollbar-track {
    background: #e8f3f8;
}


*::-webkit-scrollbar-thumb {
    background: var(--first-color);

    border-radius: 20px;
}


*::-webkit-scrollbar-thumb:hover {
    background: var(--water-green);
}


/* ===========================
        HEADER
=========================== */

header .flex {
    background-color: rgba(255, 255, 255, 0.97);

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 1rem 2rem;

    box-shadow:
        0 4px 20px rgba(8, 120, 185, 0.08);

    border-bottom:
        1px solid rgba(8, 120, 185, 0.08);

    position: relative;
    z-index: var(--z-fixed);
}


/* ===========================
        MENU ICON
=========================== */

header .menu {
    display: none;

    cursor: pointer;

    font-size: 2.4rem;

    color: var(--first-color);

    margin-left: auto;

    margin-right: 1.5rem;

    z-index: 1000;
}


/* ===========================
        LOGO
=========================== */
header .flex .logo {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 2px 15px;
}

header .flex .logo .logo-img {
    height: 55px;
    margin-top: 3px;
    margin-left: 5px;
    text-align: center;
}



header .flex .logo img {
    width: 100%;
    height: 100%;

    object-fit: contain;
}

header .flex .logo .logo-name {
    font-size: 2rem;
    font-weight: 500;
    display: flex;
    flex-direction: column;
    color: var(--first-color)
}

header .flex .logo .logo-name span {
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--water-green);

}

header .logo img.brand-logo {
    display: none;
}


/* ===========================
        NAVBAR
=========================== */

header .flex .navbar ul {
    display: flex;

    gap: 2.8rem;

    align-items: center;
    justify-content: center;

    position: relative;

    z-index: 999;

    margin-right: 2rem;
}


header .navbar ul li {
    position: relative;

    font-size: 1.5rem;

    color: var(--title-color);

    font-weight: 600;

    font-family: var(--second-font);

    padding: 0.8rem 0.7rem;

    border-radius: 0.6rem;

    z-index: 1000;

    transition:
        background-color 0.25s ease,
        color 0.25s ease;
}


header .navbar ul li:hover {
    background-color: rgba(8, 120, 185, 0.08);

    color: var(--first-color);
}


/* ===========================
        PRODUCT DROPDOWN
=========================== */

.dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 0.8rem);
    left: 50%;
    transform: translateX(-50%);
    background: var(--container-color);
    padding: 0.7rem;
    border-radius: 0.8rem;
    box-shadow:
        0 15px 40px rgba(8, 120, 185, 0.14);
    border:
        1px solid #d7e9f2;
    min-width: 20rem;
    z-index: 1001;
}


/* Small invisible bridge */

header .navbar ul .product:hover::after {
    content: "";

    position: absolute;

    top: 100%;
    left: 0;

    width: 100%;
    height: 0.8rem;
}


/* Show dropdown */

header .navbar ul .product:hover .dropdown {
    display: block;
}

.navbar .dropdown-product {
    position: relative;
}

.navbar .nav-product-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.navbar .nav-product-link i {
    font-size: 1.5rem;
    color: var(--first-color);
    transition: transform 0.25s ease;
}

.navbar .dropdown-product:hover .nav-product-link i {
    transform: rotate(180deg);
}

.product-dropdown {
    position: absolute;
    top: calc(100% + 0.8rem);
    left: 50%;
    width: 310px;
    padding: 0.5rem;
    display: none;
    background: var(--white-color);
    border: 1px solid #e2edf3;
    border-radius: 0.9rem;
    box-shadow: 0 18px 45px rgba(2, 30, 48, 0.15);
    z-index: 1000;
    transform: translateX(-50%);
}

.dropdown-product:hover .product-dropdown,
.dropdown-product:focus-within .product-dropdown {
    display: block;
}

.product-category {
    position: relative;
}

.category-link {
    width: 100%;
    min-height: 46px;
    padding: 0.65rem 0.8rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    color: var(--title-color);
    font-family: var(--body-font);
    font-size: 0.85rem;
    line-height: 1.25;
    font-weight: 600;
    border-radius: 0.6rem;
    transition: all 0.25s ease;
}

.category-link span {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.5rem;
    color: var(--text-color);
}

.category-link>i {
    color: #8aa0ae;
    font-size: 1.5rem;
    transition: transform 0.25s ease;
}

.category-link span i {
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--first-color);
    background: rgba(8, 120, 185, 0.08);
    border-radius: 50%;
    font-size: 1.5rem;
}

.product-category:hover>.category-link {
    color: var(--first-color);
    background: rgba(8, 120, 185, 0.07);
}

.product-category:hover>.category-link>i {
    transform: translateX(3px);
    color: var(--first-color);
}

.category-submenu {
    position: absolute;
    top: -0.45rem;
    left: calc(100% + 0.5rem);
    width: 270px;
    padding: 0.5rem;
    display: none;
    background: var(--white-color);
    border: 1px solid #e2edf3;
    border-radius: 0.9rem;
    box-shadow: 0 18px 45px rgba(2, 30, 48, 0.15);
}

.product-category:hover .category-submenu {
    display: block;
}

.category-submenu a {
    width: 100%;
    display: block;
    padding: 0.65rem 0.8rem;
    color: var(--text-color);
    font-family: var(--body-font);
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.25;
    white-space: nowrap;
    border-radius: 0.5rem;
    transition: all 0.2s ease;
}

.category-submenu a:hover {
    color: var(--first-color);
    background: rgba(8, 120, 185, 0.07);
    padding-left: 1rem;
}

@media screen and (max-width: 980px) {
    .product-dropdown {
        width: 290px;
    }

    .category-submenu {
        width: 250px;
    }
}


.line {
    height: 2px;
    width: 30px;
    margin: 12px 0;
    background-color: var(--first-color);
}

.aboutCompany .flex {
    max-width: 1200px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    /* align-items: center; */
    gap: 2rem;
}

.aboutCompany .flex .image {
    flex: 1 1 40rem;
}

.aboutCompany .flex .image img {
    width: 100%;
    border-radius: 20px;
    box-shadow: 5px 5px 15px rgba(0, 94, 149, 0.253);
    ;
}

.aboutCompany .flex .image {
    position: relative;
}

.aboutCompany .flex .image .box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 150px;
    max-width: 180px;
    background: linear-gradient(135deg,
            rgba(0, 21, 253, 0.82) 0%,
            rgba(8, 120, 185, 0.82) 100%);
    text-align: center;
    color: white;
    gap: 4px;
    padding: 12px 18px 10px;
    border: 1.5px solid rgba(255, 255, 255, 0.65);
    border-radius: 12px;
    position: absolute;
    bottom: 18px;
    left: 18px;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: 0 14px 28px rgba(3, 35, 57, 0.18);
    line-height: 1.1;
}

.aboutCompany .flex .image .box i {
    color: #dff7ff;
    font-size: 20px;
    line-height: 1;
}

.aboutCompany .flex .image .box .year {
    font-size: 2.2rem;
    line-height: 1;
    text-align: center;
}

.aboutCompany .flex .image .box span:last-child {
    font-size: 1.1rem;
    line-height: 1.3;
    letter-spacing: 0.03em;
}

.aboutCompany .flex .companyDetail {
    flex: 1 1 40rem;
    padding: 2rem;
    border-radius: 20px;
}

.aboutCompany .flex .companyDetail h2 {
    color: var(--first-color);
    font-weight: 700;
    font-size: 1.2rem;
    margin-bottom: 2.5rem;
}

.aboutCompany .flex .companyDetail h3 {
    color: var(--title-color);
    font-weight: 700;
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
}

.aboutCompany .flex .companyDetail h3 div {
    color: var(--first-color);
}

.aboutCompany .flex .companyDetail p {
    color: var(--text-color);
    font-weight: 500;
    font-size: 1.5rem;
    margin-bottom: 2rem;
}

.aboutCompany .flex .companyDetail span {
    margin-right: 15px;
}

.about .box {
    flex-wrap: wrap;
    display: flex;
    justify-content: space-around;
    align-items: center;
    border: 2px solid #0878b97b;
    box-shadow: var(--box-shadow);
    border-radius: 15px;
    max-width: 1200px;
    margin: 2rem auto;
    background: var(--container-color);
    transition: .3s all ease;
}

.about .box:hover {
    border: 2px solid var(--first-color);
    transform: translateY(-2px);
}

.about .box .card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: center;
    padding: 1rem 0;
    width: 130px;
}

.about .box .card:nth-child(3) {
    width: 120px;
}

.about .box .card .icon {
    color: var(--first-color);
    font-size: 3rem;
}

.about .box .card .title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--title-color);
}

.about .box .card .descp {
    font-size: 1.5rem;
    color: var(--text-color);
    font-weight: 500;
}

.product-background {
    background: url(../assets/background/background1.png);
    background-position: cover;
    background-size: cover;
}

.products {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

.products .title {
    font-size: 1.5rem;
    color: var(--first-color);
}

.products .title2 {
    font-size: 3rem;
    color: var(--title-color);
}

.products .descp {
    width: 700px;
    font-size: 1.7rem;
    color: var(--text-color);
    margin: 1.5rem auto;
    margin-top: 0;
}

.products .line {
    margin: 1rem auto;
}

.products .flex {
    display: flex;
    justify-content: space-between;
    align-items: center;

}

.products .flex .pro-card {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 300px;
    overflow: hidden;
    background-color: var(--container-color);
    border-radius: 10px;
    border: 1.5px solid white;
}

.products .flex .pro-card .image {
    width: 300px;
    height: 200px;
}

.products .flex .pro-card .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.products .flex .pro-card .content {
    display: flex;
    align-items: self-start;
    flex-direction: column;
    gap: 1rem;
    font-size: 1.5rem;
    text-align: left;
    padding-left: 1rem;
    padding-bottom: 1rem;
}

.products .flex .pro-card a {
    color: var(--first-color);
    transition: .5s all ease;
    padding: .5rem 0;
}

.products .flex .pro-card a i {
    transition: .5s all ease;
}

.products .flex .pro-card a:hover {
    color: var(--water-green);
    text-decoration: underline;
}

.products .flex .pro-card a:hover i {
    margin-left: 2rem;

}

.products .flex .pro-card .image {
    position: relative
}

.products .flex .pro-card .image .number {
    font-size: 1.5rem;
    position: absolute;
    left: 0;
    bottom: 2%;
    color: white;
    background: var(--second-gradient);
    padding: 5px 8px;
    font-weight: 700;
    border-radius: 2px;
}

.products .flex .pro-card .image .icon {
    font-size: 2rem;
    position: absolute;
    right: 10px;
    bottom: -10%;
    color: white;
    background: var(--second-gradient);
    padding: 5px 8px;
    font-weight: 700;
    border-radius: 2px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.products.solution .heading .descp {
    font-size: 1.5rem;
}

.solution .flex {
    display: flex;
    max-width: 1200px;
    margin: 0 auto;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.solution .flex .image::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(17deg, rgba(3, 35, 57, 0.85) 0%, rgb(4 67 94 / 41%) 45%, rgba(4, 67, 94, 0) 100%);
    border-radius: 10px;
}

.solution .flex .image {
    position: relative;
    flex: 1 1 50rem;
    background: url("../assets/solution.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    min-height: 400px;
    border-radius: 10px;
}


.solution .flex .image .content {
    position: absolute;
    bottom: 2%;
    left: 2%;
    color: white;
    gap: 5px;
    padding: 5px 35px;
    font-weight: 600;
    Z-index: 1000;
    text-align: left;
    width: 40vw;
}

.solution .flex .image .content h2 {
    color: var(--white-color);
    font-weight: 700;
    font-size: 2.5rem;
    word-spacing: 5px;
    margin-bottom: 1rem;
}

.solution .flex .image .content p {
    font-size: 1.5rem;
    font-weight: 500;
    color: whitesmoke;
}

.solution .flex .image .content a span {
    margin-left: 10px;
}

.solution .flex .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;

}

.solution .flex .listing {
    flex: 1 1 30rem;
}

.solution .flex .listing .list {
    display: flex;
    margin-bottom: 2.5px;
    font-size: 1.8rem;
    padding: 1rem;
    border-radius: 10px;
    border-left: 10px solid transparent;
    transition: .3s all ease;
    align-items: center;
    border: .5px solid #0878b952;
    background: var(--container-color);
    gap: 0;
}

.solution .flex .listing .list:hover {
    box-shadow: var(--box-shadow);
}

.solution .flex .listing .list .number {
    color: var(--first-color);
    font-weight: 700;
    width: 55px;
    min-width: 55px;
    border-right: 2px solid #0878b937;
    padding-right: 0;
}

.solution .flex .listing .list .icon {
    color: var(--first-color);
    width: 60px;
    min-width: 60px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.solution .flex .listing .list .content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex: 1;
    text-align: left;
}

.solution .flex .listing .list:hover .content {
    color: var(--title-color);
}

.solution .flex .listing .list .arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 30px;
    min-width: 30px;
    height: 30px;
    border-radius: 50%;
    transition: .5s all ease;
}

.solution .flex .listing .list:hover .arrow {
    background: var(--second-gradient);
    color: var(--white-color);
    margin-left: .5rem;
}


.solution .flex .listing .list:hover {
    transform: translateY(-2px);
    border-left: 10px solid var(--first-color);
}

.solution .boxCard {
    max-width: 1200px;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    gap: 1rem;
    margin: 2rem auto;
    border: 1px solid #0878b983;
    border-radius: 10px;
    padding: 2rem .5rem;
}

.solution .boxCard .card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    border-right: 1px solid #0878b95a;
    padding: 0 .5rem;
}

.solution .boxCard .card:nth-child(4) {
    border-right: none;
}


.solution .boxCard .card i {
    font-size: 2rem;
    color: var(--first-color);
}

.solution .boxCard .card .detail h2 {
    font-size: 1.5rem;
    color: var(--title-color);
    font-weight: 700;
}

.solution .boxCard .card .detail p {
    font-size: 1.4rem;
    color: var(--text-color);
    font-weight: 500;
}


.products.choose .cards {
    text-align: left;
}

.products.choose .cards .line {
    margin: 0;
}

.products.choose .descp {
    font-size: 1.5rem;
}

.products.choose .cards {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    gap: 2rem 0;
}

.products.choose .cards .card {
    background: url("../assets/card-bgg.png");
    background-size: cover;
    width: 300px;
    height: 200px;
    border-radius: 15px;
    box-shadow: var(--box-shadow);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;

}

.products.choose .cards .card .numbers {
    font-size: 1.3rem;
    font-weight: 600;
    background: var(--deep-blue);
    border-radius: 50%;
    width: 25px;
    height: 25px;
    padding: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    border: .5px solid white;
    margin-bottom: 2.5rem;
}

.products.choose .cards .card {
    position: relative;
    z-index: 1000;
    border: 1.5px solid transparent;
    transition: .3s all ease;

}

.products.choose .cards .card i {
    position: absolute;
    top: 5%;
    left: 8%;
    z-index: -1;
    font-size: 2rem;
    font-weight: 600;
    background: var(--deep-blue);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    transition: .3s all ease;
}

.products.choose .cards .card h3 {
    font-size: 2rem;
    color: var(--title-color);
}

.products.choose .cards .card p {
    font-size: 1.5rem;
    max-width: 60vw;
    color: var(--text-color);
}

.products.choose .cards .card .line {
    transition: .5s all ease;
}

.products.choose .cards .card:hover .line {
    width: 60px;
}

.products.choose .cards .card:hover {
    border: 1.5px solid var(--first-color);
    transform: translateY(-1.5px);
    transform: scale(1.01);
}

.products.choose .cards .card:hover i {
    background: var(--first-color);
    color: white;
}

.products.choose .get .contact {
    max-width: 1050px;
    display: flex;
    justify-content: space-between;
    margin: 2rem auto;
    border: 1px solid #0878b983;
    background: var(--container-color);
    box-shadow: var(--box-shadow);
    border-radius: 10px;
    padding: 2rem 1rem;
}

.products.choose .get .contact .content {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
}

.products.choose .get .contact .content i {
    font-size: 2.5rem;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    background-color: #0878b929;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--first-color);
}

.products.choose .get .contact .content div {
    text-align: left;
}

.products.choose .get .contact .content div p {
    font-size: 1.3rem;
    color: var(--text-color);
}

.products.choose .get .contact .content div h2 {
    font-size: 1.8rem;
    color: var(--title-color);
}

.products.choose .get .contact a span i {
    margin-left: 10px;
}

.products.industries .title2 {
    font-size: 3rem;
}

.products.industries .descp {
    font-size: 1.5rem;
    padding: 2px;
}

/* ===========================
        COMPLETE ECOSYSTEM
=========================== */

.complete-ecosystem {
    position: relative;
    overflow: hidden;
    padding: 1rem 2rem;
    background: linear-gradient(180deg, #ffffff 0%, #f4fbff 100%);
}

.complete-ecosystem__shell {
    position: relative;
    z-index: 1;
    max-width: 1180px;
    margin: 0 auto;
}

.complete-ecosystem__heading {
    position: relative;
    text-align: center;
    margin-bottom: 1.6rem;
}

.complete-ecosystem__eyebrow {
    display: none;
}

.complete-ecosystem__heading h2 {
    color: #071f55;
    font-size: 3.5rem;
    line-height: 1.25;
    margin-bottom: 0.8rem;
}

.complete-ecosystem__heading p {
    color: #425673;
    font-size: 1.8rem;
    line-height: 1.55;
}

.complete-ecosystem__diagram {
    display: grid;
    grid-template-columns: minmax(29rem, 1.1fr) minmax(28rem, 0.9fr) minmax(29rem, 1.1fr);
    grid-template-areas:
        "chemicals center membranes"
        "filtration center valves"
        "pumps center monitoring";
    align-items: center;
    gap: 1rem 1.8rem;
    width: 100%;
    margin: 0 auto;
}

.complete-ecosystem__lines,
.complete-ecosystem__rings {
    display: none;
}

.ecosystem-node,
.ecosystem-node--chemicals,
.ecosystem-node--filtration,
.ecosystem-node--membranes,
.ecosystem-node--pumps,
.ecosystem-node--valves,
.ecosystem-node--monitoring {
    position: relative;
    inset: auto;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 1.2rem;
    width: 100%;
    min-height: 8rem;
    padding: 1.1rem;
    border: 1px solid rgba(8, 120, 185, 0.16);
    border-radius: 0.8rem;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 0.8rem 2rem rgba(8, 120, 185, 0.08);
    text-align: left;
    flex-direction: row;
    transform: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ecosystem-node:hover,
.ecosystem-node--chemicals:hover,
.ecosystem-node--monitoring:hover {
    transform: translateY(-2px);
    filter: none;
    box-shadow: 0 1.2rem 2.4rem rgba(8, 120, 185, 0.11);
}

.ecosystem-node--chemicals {
    grid-area: chemicals;
}

.ecosystem-node--filtration {
    grid-area: filtration;
}

.ecosystem-node--pumps {
    grid-area: pumps;
}

.ecosystem-node--membranes {
    grid-area: membranes;
}

.ecosystem-node--valves {
    grid-area: valves;
}

.ecosystem-node--monitoring {
    grid-area: monitoring;
}

.ecosystem-node__icon {
    flex: 0 0 5rem;
    width: 5rem;
    height: 5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #0064d8;
    background: rgba(8, 120, 185, 0.09);
    border: 1px solid rgba(8, 120, 185, 0.12);
    font-size: 2rem;
    box-shadow: none;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.ecosystem-node:hover .ecosystem-node__icon {
    transform: none;
    color: #ffffff;
    background: var(--first-color);
    box-shadow: none;
}

.ecosystem-node__copy h3 {
    color: #005dca;
    font-family: var(--second-font);
    font-size: 2rem;
    line-height: 1.15;
    margin-bottom: 0.35rem;
}

.ecosystem-node__copy p {
    color: #253653;
    font-size: 1.5rem;
    line-height: 1.35;
}

.complete-ecosystem__center {
    position: relative;
    grid-area: center;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-width: 0;
}

.complete-ecosystem__center img {
    position: relative;
    z-index: 2;
    width: min(34rem, 100%);
    margin: 0 auto;
    transform: none;
    filter: drop-shadow(0 1.4rem 1.8rem rgba(2, 30, 48, 0.16));
}

.complete-ecosystem__center-copy {
    position: relative;
    z-index: 3;
    max-width: 38rem;
    margin-top: 0.6rem;
}

.complete-ecosystem__center-copy h3 {
    color: #063f9b;
    font-size: 2rem;
    line-height: 1.2;
    margin-bottom: 0.35rem;
}

.complete-ecosystem__center-copy p {
    color: #284058;
    font-size: 1.5rem;
    line-height: 1.35;
}

.complete-ecosystem__cta {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin: 1.4rem auto 0;
    padding: 1rem 1.3rem;
    border: 1px solid rgba(8, 120, 185, 0.2);
    border-radius: 0.8rem;
    background: #ffffff;
    box-shadow: 0 1rem 2.5rem rgba(8, 120, 185, 0.09);
    text-align: left;
}

.complete-ecosystem__cta-icon {
    flex: 0 0 4.8rem;
    width: 4.8rem;
    height: 4.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #0064d8;
    background: rgba(8, 120, 185, 0.12);
    font-size: 2.2rem;
}

.complete-ecosystem__cta p {
    flex: 1;
    color: #253653;
    font-size: 1.5rem;
    line-height: 1.5;
}

.complete-ecosystem__cta strong {
    color: #005dca;
}

.complete-ecosystem__cta .btn {
    flex: 0 0 auto;
    gap: 0.8rem;
    margin-top: 0;
    padding: 1rem 1.7rem;
    border-radius: 0.5rem;
    font-size: 1.5rem;
    white-space: nowrap;
}

.background2 {
    background: url(../assets/background/background2.png);
    background-position: cover;
    background-size: cover;
}

.background2 .products.capabilities {
    padding: 2rem 0;
}

.background2 .products.capabilities .flex .cards {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    max-width: 900px;
    margin: 0 auto;
}

.background2 .products.capabilities .heading .descp {
    font-size: 1.5rem;
}

.products.capabilities .flex .cards .card {
    display: flex;
    flex-direction: row;
    gap: 1.5rem;
    width: 350px;
    height: 150px;
    background-color: var(--container-color);
    border-radius: 10px;
    border: 1.5px solid #0878b988;
    justify-content: space-around;
    align-items: center;
    padding: 3rem 1rem;
    box-shadow: var(--box-shadow);
    transition: .3s all ease;
}

.products.capabilities .flex .cards .card:hover {
    transform: translateY(-2px);
    border: 1.5px solid var(--first-color);
    box-shadow: -5px -8px 12px rgb(8 120 185 / 20%);
}

.products.capabilities .flex .cards .card .icon i {
    font-size: 3rem;
    color: var(--white-color);
    width: 70px;
    height: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #045985;
    border-radius: 50%;
}

.products.capabilities .flex .cards .card .content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: left;
    padding: 2rem 0;
}

.products.capabilities .flex .cards .card .content h2 {
    font-size: 2rem;
    color: var(--title-color);
}

.products.capabilities .flex .cards .card .content p {
    font-size: 1.5rem;
    color: var(--text-color);
    line-height: 1.5rem;
    padding-bottom: 1.5rem;
}


.carousel {
    width: 100%;
    margin: 0 auto;
    background: var(--container-color) !important;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
    gap: 0;
}


.carousel::-webkit-scrollbar {
    display: none;
}

.carousel .group {
    display: flex;
    gap: 1.2rem;
    animation: carousel-scroll 42s linear infinite;
    padding-right: 1.2rem;
    min-width: max-content;
    transform: translate3d(0, 0, 0);
    will-change: transform;
}

.carousel:hover .group {
    animation-play-state: paused;
}

.carousel .group .card {
    flex: 0 0 auto;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0.5px solid #1E73BE;
    box-shadow: 0 8px 25px rgba(15, 61, 94, 0.12);
    color: #fff;
    background: var(--container-color);
    font-size: 1.8rem;
    border-radius: 10px;
    font-weight: 600;
    position: relative;
    z-index: 1;
    width: 200px;
    height: 100px;
    overflow: hidden;
}

.carousel .group .card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.carousel .group .card img.e-con {
    object-fit: contain;
}

.carousel .group .card img.dalmia-polypro {
    object-fit: contain;
}

.carousel .group .card img.kjl {
    object-fit: contain;
    padding: .5rem 1rem;
}

.carousel .group .card img.lahori-zeera {
    object-fit: contain;
    padding: .5rem 1rem;
}

.carousel .group .card img.r-a-sheikh-group {
    object-fit: contain;
}

.carousel .group .card img.aarti-pharmalabs {
    object-fit: contain;
    padding: .5rem 1rem;
}

.carousel .group .card img.saint-gobain {
    object-fit: contain;
    padding: .5rem 1rem;
}

.carousel .group .card img.gufic {
    object-fit: contain;
    padding: .5rem 1rem;
}

.carousel .group .card img.igcl {
    object-fit: contain;
    padding: .5rem 1rem;
}

.carousel .group .card img.sun-pharma {
    object-fit: contain;
    padding: .5rem 1rem;
}

/* Side overlay shadows that sit above the cards for a depth effect */
.carousel::before,
.carousel::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 8rem;
    pointer-events: none;
    z-index: 5;
}

.carousel::before {
    left: 0;
    background: linear-gradient(90deg, #0b2c44, rgba(0, 119, 255, 0));
}

.carousel::after {
    right: 0;
    background: linear-gradient(270deg, #0a2940, rgba(0, 119, 255, 0));
}


@keyframes carousel-scroll {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-100%, 0, 0);
    }
}


/* ===========================
        CTA SECTION
=========================== */

.products.cta {
    position: relative;

    max-width: 100%;
    min-height: 500px;

    margin: 3rem 0 0;

    padding: 7rem 2rem;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background:
        linear-gradient(135deg,
            rgba(4, 75, 115, .96),
            rgba(8, 120, 185, .92));

    color: var(--white-color);
}


/* Background Image */

.products.cta .cta-bg {
    position: absolute;

    inset: 0;

    background-image: url("../assets/cta-bg.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    opacity: .55;

    z-index: 0;
}


/* Dark Overlay */

.products.cta::before {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(135deg,
            rgba(2, 32, 55, .88),
            rgba(4, 75, 115, .70));

    z-index: 1;
}


/* Content Above Background */

.products.cta .heading,
.products.cta .cta-buttons,
.products.cta .cta-contact {
    position: relative;
    z-index: 2;
}


/* Heading */

.products.cta .title {
    color: var(--light-blue);
    letter-spacing: .18rem;
}

.products.cta .title2 {
    color: var(--white-color);

    max-width: 900px;

    font-size: 4.5rem;
    line-height: 1.15;

    margin: 1.5rem auto;
}

.products.cta .descp {
    max-width: 750px;

    color: rgba(255, 255, 255, .82);

    font-size: 1.7rem;
}


/* Buttons */

.products.cta .cta-buttons {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 2rem;

    margin-top: 1rem;
}

.products.cta .cta-buttons .btn,
.products.cta .cta-buttons .white-btn {
    min-width: 190px;
}

.products.cta .cta-buttons span {
    margin-left: .7rem;
}

.products.cta .cta-buttons i {
    transition: .3s ease;
}

.products.cta .cta-buttons a:hover i {
    transform: translateX(5px);
}


/* Contact */

.products.cta .cta-contact {
    display: flex;
    align-items: center;

    margin-top: 3rem;

    gap: 2.5rem;
}

.products.cta .contact-item {
    display: flex;
    align-items: center;

    gap: 1.2rem;
}

.products.cta .contact-item .icon {
    width: 45px;
    height: 45px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(105, 196, 229, .6);

    border-radius: 50%;

    color: var(--light-blue);

    background: rgba(255, 255, 255, .05);
}

.products.cta .contact-item .icon i {
    font-size: 1.5rem;
}

.products.cta .contact-item .detail {
    display: flex;
    flex-direction: column;

    gap: .3rem;

    text-align: left;
}

.products.cta .contact-item .detail span {
    color: rgba(255, 255, 255, .6);

    font-size: 1.2rem;
}

.products.cta .contact-item .detail a {
    color: var(--white-color);

    font-size: 1.5rem;
    font-weight: 600;
}

.products.cta .contact-item .detail a:hover {
    color: var(--first-color);
}

.products.cta .divider {
    width: 1px;
    height: 45px;

    background: rgba(255, 255, 255, .25);
}

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

.footer {
    position: relative;

    background:
        linear-gradient(135deg,
            var(--deep-blue),
            #032d4a);

    color: var(--white-color);

    overflow: hidden;
}


/* Subtle Water Background */

.footer::before {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    right: -180px;
    bottom: -300px;

    border-radius: 50%;

    background:
        radial-gradient(circle,
            rgba(25, 169, 201, .15),
            transparent 65%);

    pointer-events: none;
}


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

.footer-container {

    position: relative;
    z-index: 1;

    max-width: 1200px;

    margin: 0 auto;

    padding: 6rem 2rem 5rem;

    display: grid;

    grid-template-columns:
        1.3fr .8fr 1.2fr 1.2fr;

    gap: 4rem;
}


/* ===========================
        BRAND
=========================== */

.footer-logo {
    display: inline-flex;

    margin-bottom: 1.5rem;
}

.footer-logo .image-logo {
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-logo .image-logo .text h2 {
    font-size: 2rem;
    color: var(--white-color);
    font-weight: 700;
}

.footer-logo .image-logo .text span {
    font-size: 1.2rem;
    color: var(--water-green);
    font-weight: 600;
}

.footer-logo img {
    width: 75px;
    height: 75px;

    object-fit: contain;

    border-radius: 8px;
}

.footer-brand h3 {
    color: var(--white-color);

    font-family: var(--second-font);

    font-size: 1.8rem;

    margin-bottom: 1.2rem;
}

.footer-brand p {
    max-width: 320px;

    color: rgba(255, 255, 255, .68);

    font-size: 1.4rem;

    line-height: 1.8;
}


/* ===========================
        HEADINGS
=========================== */

.footer-heading {

    position: relative;

    color: var(--white-color);

    font-family: var(--second-font);

    font-size: 1.7rem;

    margin-bottom: 2.5rem;

    padding-bottom: 1rem;
}

.footer-heading::after {

    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 40px;
    height: 3px;

    border-radius: 5px;

    background: var(--second-gradient);
}


/* ===========================
        QUICK LINKS
=========================== */

.footer-links {
    list-style: none;

    display: flex;

    flex-direction: column;

    gap: 1.2rem;
}

.footer-links li a {

    display: inline-flex;

    align-items: center;

    gap: .8rem;

    color: rgba(255, 255, 255, .68);

    font-size: 1.4rem;

    transition: .3s ease;
}

.footer-links li a i {

    color: var(--light-blue);

    font-size: 1rem;

    transition: .3s ease;
}

.footer-links li a:hover {

    color: var(--white-color);

    transform: translateX(4px);
}

.footer-links li a:hover i {

    color: var(--water-green);

    transform: translateX(2px);
}


/* ===========================
        CONTACT
=========================== */

.footer-contact {

    display: flex;

    flex-direction: column;

    gap: 1.8rem;
}

.footer-contact .footer-heading {
    margin-bottom: .5rem;
}

.contact-item {

    display: flex;

    align-items: flex-start;

    gap: 1.2rem;
}

.contact-icon {

    flex-shrink: 0;

    width: 40px;
    height: 40px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid rgba(105, 196, 229, .45);

    border-radius: 50%;

    color: var(--light-blue);

    background: rgba(255, 255, 255, .03);

    transition: .3s ease;
}

.contact-icon i {
    font-size: 1.5rem;
}

.contact-item:hover .contact-icon {

    color: var(--white-color);

    background: var(--first-color);

    border-color: var(--first-color);

    transform: translateY(-2px);
}

.contact-content {

    display: flex;

    flex-direction: column;

    gap: .3rem;
}

.contact-content span {

    color: var(--light-blue);

    font-size: 1.2rem;

    font-weight: 600;
}

.contact-content p,
.contact-content a {

    color: rgba(255, 255, 255, .72);

    font-size: 1.3rem;

    line-height: 1.6;
}

.contact-content a {

    transition: .3s ease;
}

.contact-content a:hover {

    color: var(--white-color);
}


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

.footer-bottom {

    position: relative;

    z-index: 1;

    border-top: 1px solid rgba(255, 255, 255, .12);
}

.footer-bottom-inner {

    max-width: 1200px;

    margin: 0 auto;

    padding: 1.8rem 2rem;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 2rem;

    flex-wrap: wrap;
}

.footer-bottom p {

    color: rgba(255, 255, 255, .55);

    font-size: 1.25rem;

    margin: 0;
}

.footer-bottom .designer a {

    color: var(--light-blue);

    font-weight: 600;

    transition: .3s ease;
}

.footer-bottom .designer a:hover {

    color: var(--water-green);
}

.legal-links {

    display: flex;

    align-items: center;

    gap: .8rem;
}

.legal-links a {

    color: rgba(255, 255, 255, .65);

    font-size: 1.25rem;

    transition: .3s ease;
}

.legal-links a:hover {

    color: var(--light-blue);
}

.legal-links span {

    color: rgba(255, 255, 255, .3);
}


/* ===========================
        RESPONSIVE
=========================== */

@media (max-width: 980px) {

    .footer-container {

        grid-template-columns: 1fr 1fr;

        gap: 4rem 3rem;
    }

}


@media (max-width: 680px) {

    .product-background {
        background: linear-gradient(90deg,
                rgba(151, 213, 255, 0.78) 0%,
                rgba(253, 254, 254, 0.55) 45%,
                rgba(246, 248, 249, 0.28) 100%),
            url(../assets/background/background1.png);


    }

    .footer-container {

        grid-template-columns: 1fr;

        gap: 3.5rem;

        padding: 5rem 2rem 4rem;
    }

    .footer-brand p {

        max-width: 100%;
    }

    .footer-bottom-inner {

        flex-direction: column;

        justify-content: center;

        text-align: center;

        gap: 1rem;
    }

}


@media (max-width: 560px) {

    .footer-container {

        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .footer-logo img {

        width: 65px;
        height: 65px;
    }

    .footer-brand h3 {

        font-size: 1.6rem;
    }

    .footer-heading {

        font-size: 1.6rem;
    }

    .footer-bottom-inner {

        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .legal-links {

        flex-wrap: wrap;

        justify-content: center;
    }

}


.faqs-section {
    max-width: 1100px;
    margin: 0 auto;
}

.faqs-section h2 {
    font-size: 2rem;
    font-weight: 700;
    color: var(--title-color);
    margin-bottom: 1.5rem;
}

.faqs-section .faqs {

    display: flex;
    flex-direction: column;
    gap: 10px;
}

.faqs-section .faqs .heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-transform: uppercase;
}

.faqs-section .faqs .heading .line {
    margin: .5rem auto;
    width: 70px;
}

.faqs-section .faqs .box {
    background-color: var(--container-color);
    box-shadow: var(--box-shadow);
    border-radius: 10px;
}

.faqs-section .faqs .box .question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 1rem;
    font-size: 1.8rem;
    color: var(--text-color);
    cursor: pointer;
}

.faqs-section .faqs .box .question i {
    border-radius: 50%;
    padding: .3rem 0;
    transition: all .3s ease;
}

.faqs-section .faqs .box .question i.active {
    transform: rotate(43deg);
}

.faqs-section .faqs .box .question i:hover {
    background-color: #cccccc;
}

.faqs-section .faqs .box:hover {
    background-color: var(--body-color);
    color: var(--primary-dark);
}

.faqs-section .faqs .box .answer {
    margin: 1rem;
    font-size: 1.7rem;
    color: var(--text-color2);
    overflow: hidden;
    max-height: 0;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    transition: clip-path 0.2s linear, max-height 0.2s linear;
}

.faqs-section .faqs .box .answer.active {
    max-height: 300px;
    /* enough height */
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}



















































/* ===========================
Responsive style Media query
=========================== */


@media (max-width: 1180px) {
    .complete-ecosystem__shell {
        max-width: 960px;
    }

    .complete-ecosystem__diagram {
        grid-template-columns: 1fr 1.15fr 1fr;
        gap: 1.2rem;
    }

    .complete-ecosystem__center img {
        width: min(40rem, 100%);
    }

    .ecosystem-node {
        padding: 1.2rem;
    }
}

@media (min-width: 981px) {

    header .flex .navbar>ul {
        position: static;
    }


}



@media (max-width: 980px) {

    header .flex {
        padding: 0.9rem 1.4rem;
    }

    header .menu {
        display: block;
    }

    header .flex .navbar {
        position: absolute;
        left: 1rem;
        right: 1rem;
        top: calc(100% + 0.8rem);
        display: none;
        max-height: calc(100vh - 9rem);
        overflow-y: auto;
        background: #ffffff;
        border: 1px solid #d7e9f2;
        border-radius: 1.2rem;
        box-shadow: 0 22px 52px rgba(2, 30, 48, 0.18);
        z-index: 1100;
    }

    header .flex .navbar.active {
        display: block;
    }

    header .flex .navbar>ul {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.35rem;
        margin: 0;
        padding: 0.8rem;
    }

    header .navbar ul li {
        width: 100%;
        padding: 0;
        border-bottom: 1px solid #edf3f7;
        border-radius: 0;
    }

    header .navbar>ul>li>a:not(.nav-product-link) {
        display: flex;
        align-items: center;
        min-height: 4.4rem;
        padding: 0.8rem 0.7rem;
        line-height: 1.2;
    }

    header .navbar ul li:last-child {
        border-bottom: 0;
    }

    header .navbar ul li.product {
        display: block;
        width: 100%;
    }

    header .navbar ul li.product>.nav-product-link {
        width: 100%;
        min-height: 4.4rem;
        padding: 0.8rem 0.7rem;
        justify-content: space-between;
        font-size: 1.5rem;
    }

    header .navbar ul .product:hover::after {
        display: none;
    }

    header .navbar ul .product:not(.open):hover .product-dropdown {
        display: none;
    }

    header .navbar ul .product.open .product-dropdown {
        position: static;
        width: 100%;
        margin: 0.5rem 0 0.9rem;
        padding: 0.5rem;
        display: block;
        transform: none;
        border: 1px solid #e2edf3;
        border-radius: 0.8rem;
        box-shadow: none;
    }

    header .navbar .product-dropdown .category-link {
        min-height: 4.4rem;
        padding: 0.8rem 0.7rem;
        font-size: 1.4rem;
    }

    header .navbar .product-dropdown .product-category+.product-category {
        margin-top: 0.25rem;
    }

    header .navbar .product-dropdown .category-link span {
        gap: 0.8rem;
    }

    header .navbar .product-dropdown .category-link span i {
        width: 2.8rem;
        height: 2.8rem;
        font-size: 1.1rem;
    }

    header .navbar .product-dropdown .category-submenu,
    header .navbar .product-dropdown .product-category:not(.open):hover .category-submenu {
        position: static;
        width: 100%;
        margin: 0 0 0.4rem;
        padding: 0 0.5rem 0.4rem 3.5rem;
        display: none;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    header .navbar .product-dropdown .product-category.open .category-submenu {
        display: block;
    }

    header .navbar .product-dropdown .category-submenu a {
        padding: 0.75rem 0.8rem;
        font-size: 1.3rem;
        line-height: 1.3;
        white-space: normal;
    }

    header .navbar .product-dropdown .product-category.open>.category-link>i {
        transform: rotate(90deg);
        color: var(--first-color);
    }

    .consultation {
        display: none;
    }

    .complete-ecosystem__diagram {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
            "center center"
            "chemicals filtration"
            "membranes pumps"
            "valves monitoring";
        gap: 1.4rem;
        padding-top: 0;
    }

    .complete-ecosystem__center img {
        width: min(44rem, 100%);
    }

    .complete-ecosystem__cta {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .complete-ecosystem__cta .btn {
        margin-left: 7.4rem;
    }


    .products.cta {
        min-height: 480px;
        padding: 6rem 2rem;
    }

    .products.cta .title2 {
        font-size: 3.8rem;
    }

    .products.cta .descp {
        width: 90%;
    }



}


@media (max-width: 680px) {
    .complete-ecosystem {
        padding: 2.6rem 1.4rem;
    }

    .complete-ecosystem__diagram {
        grid-template-columns: 1fr;
        grid-template-areas:
            "center"
            "chemicals"
            "filtration"
            "membranes"
            "pumps"
            "valves"
            "monitoring";
        gap: 1.2rem;
    }

    .complete-ecosystem__center img {
        width: min(34rem, 100%);
    }

    .ecosystem-node {
        min-height: 0;
        padding: 1.25rem;
    }

    .ecosystem-node__icon {
        flex-basis: 5.8rem;
        width: 5.8rem;
        height: 5.8rem;
    }

    .complete-ecosystem__cta {
        display: grid;
        grid-template-columns: 5.8rem 1fr;
        gap: 1.3rem;
        padding: 1.5rem;
    }

    .complete-ecosystem__cta-icon {
        flex-basis: 5.8rem;
        width: 5.8rem;
        height: 5.8rem;
        font-size: 2.8rem;
    }

    .complete-ecosystem__cta p {
        font-size: 1.5rem;
    }

    .complete-ecosystem__cta .btn {
        grid-column: 1 / -1;
        width: 100%;
        margin-left: 0;
        justify-content: center;
        font-size: 1.5rem;
        white-space: normal;
    }

    .products.cta {
        min-height: auto;
        padding: 5rem 1.5rem;
    }

    .products.cta .title {
        font-size: 1.3rem;
    }

    .products.cta .title2 {
        font-size: 3rem;
    }

    .products.cta .descp {
        width: 100%;
        font-size: 1.5rem;
        line-height: 1.7;
    }

    .products.cta .cta-buttons {
        width: 100%;

        flex-direction: column;

        gap: .8rem;
    }

    .products.cta .cta-buttons a {
        width: 100%;
        max-width: 280px;
    }

    .products.cta .cta-contact {
        flex-direction: column;

        gap: 1.5rem;
    }

    .products.cta .divider {
        width: 80px;
        height: 1px;
    }

}


@media (max-width: 560px) {

    .products.cta .title2 {
        font-size: 2.6rem;
    }

    .products.cta .descp {
        font-size: 1.4rem;
    }

    .products.cta .contact-item .detail a {
        font-size: 1.3rem;
    }


    header .flex .logo .logo-img {
        height: 45px;
        margin-left: 0;
    }

    header .flex .logo .logo-name {
        font-size: 1.55rem;
    }

    header .flex .logo .logo-name span {
        font-size: 1rem;
    }

}


@media (max-width:768px) {

    .btn,
    .option-btn,
    .delete-btn,
    .white-btn,
    .white-btn2 {
        margin-top: 0.8rem;
        padding: 0.9rem 1.6rem;
        font-size: 1.2rem;
        border-radius: 0.6rem;
    }
}

@media (max-width:480px) {

    .btn,
    .option-btn,
    .delete-btn,
    .white-btn,
    .white-btn2 {
        padding: 0.8rem 1.3rem;
        font-size: 1.05rem;
        border-radius: 0.55rem;
    }
}