        :root {
            --primary-color: #F5F5DC; 
            --primary-color-hover: #e0e0c8; 
            --primary-text-color: #1a1a1a; 
            --accent-color: #D4A574;        
            --accent-hover: #B5895B;        
            --secondary-bg: #f8f9fa; 
            --dark-bg: #1f2937; 
            --menu-text-color: #525252; 
            --topbar-text-color: #495057;
            --shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.05);
            --shadow-md: 0 4px 12px 0 rgba(0,0,0,0.08);
            --shadow-lg: 0 20px 40px 0 rgba(0,0,0,0.12);
            --border-color: #e9ecef;
            --carousel-control-bg: rgba(212, 165, 116, 0.7); 
            --carousel-control-hover: var(--accent-color);
            --header-container-width: 90%; 
        }

        * { box-sizing: border-box; }

        body {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            font-size: 16px;
            line-height: 1.6;
            color: var(--primary-text-color);
        }

        .text-primary{
            color: var(--accent-color) !important;
        }

        .topbar {
            background: linear-gradient(135deg, var(--primary-color) 0%, #fbfaf5 100%);
            border-bottom: 1px solid rgba(229,224,208,0.6);
            padding: 0.75rem 0;
            box-shadow: var(--shadow-sm);
            font-size: 0.875rem;
            font-weight: 500;
        }

        .navbar {
            background: rgba(255,255,255,0.98);
            backdrop-filter: blur(20px);
            border-bottom: 1px solid var(--border-color);
            box-shadow: var(--shadow-md);
            position: sticky;
            top: 0;
            z-index: 1035;
            padding: 1rem 0;
            transition: all ease-in 0.2s;
        }

        .navbar-brand {
            font-family: 'Inter', sans-serif;
            font-weight: 700;
            font-size: clamp(1.25rem, 3vw, 1.75rem);
            color: var(--dark-bg) !important;
            padding: 0.75rem 0;
            letter-spacing: -0.025em;
        }

        .navbar .navbar-brand img{
            width: 80px !important;
        }

        .nav-item { position: relative; }
        .nav-link {
            font-weight: 500;
            color: var(--menu-text-color) !important;
            font-size: 0.95rem;
            padding: 1rem 1.75rem !important;
            position: relative;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            letter-spacing: 0.025em;
            border-radius: 8px 8px 0 0;
            border-bottom: 3px solid transparent;
        }
        .nav-link:hover {
            color: var(--accent-color) !important;
            border-bottom-color: var(--accent-color) !important;
            transform: translateY(-2px);
            box-shadow: var(--shadow-sm);
        }
        .nav-link.active {
            color: var(--accent-color) !important;
            border-bottom-color: var(--accent-color) !important;
            transform: translateY(-2px);
            box-shadow: var(--shadow-sm);
        }

        .megamenu-trigger { position: relative; }
        .dropdown-icon {
            font-size: 0.7rem;
            margin-left: 0.5rem;
            opacity: 0.7;
            transition: all 0.3s ease;
        }
        .megamenu-trigger:hover .dropdown-icon {
            transform: rotate(180deg);
            opacity: 1;
            color: var(--accent-color);
        }
        .megamenu {
            position: absolute;
            top: 100%;
            left: 50%;
            transform: translateX(-50%) translateY(12px);
            width: 950px;
            max-width: 95vw;
            background: rgba(255,255,255,0.98);
            backdrop-filter: blur(25px);
            padding: 2.5rem 3rem;
            opacity: 0;
            visibility: hidden;
            transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            box-shadow: var(--shadow-lg);
            border: 1px solid rgba(233,236,239,0.8);
            z-index: 1050; /* Increased z-index to ensure it sits on top of the carousel area */
        }
        .megamenu-trigger:hover .megamenu {
            opacity: 1;
            visibility: visible;
            transform: translateX(-50%) translateY(0);
        }
        .megamenu h6 {
            font-size: 0.875rem;
            font-weight: 700;
            color: var(--primary-text-color);
            text-transform: uppercase;
            letter-spacing: 0.1em;
            margin-bottom: 1.5rem;
            padding-bottom: 0.75rem;
            position: relative;
        }
        .megamenu h6::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 40px;
            height: 2px;
            background: var(--accent-color);
            transition: width 0.3s ease;
        }
        .megamenu h6:hover::after {
            width: 100%;
        }
        .megamenu a {
            display: block;
            padding: 0.875rem 1.25rem;
            color: var(--menu-text-color);
            font-weight: 500;
            font-size: 0.9rem;
            border-radius: 8px;
            transition: all 0.25s ease;
            position: relative;
        }
        .megamenu a::before {
            content: '';
            position: absolute;
            left: 0;
            top: 50%;
            width: 0;
            height: 2px;
            background: var(--accent-color);
            transform: translateY(-50%);
            transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .megamenu a:hover {
            color: var(--accent-color);
            background: var(--secondary-bg);
            padding-left: 1.5rem;
            transform: translateX(4px);
        }
        .megamenu a:hover::before {
            width: 24px;
        }

        .navbar-toggler {
            background: linear-gradient(135deg, var(--accent-color), var(--accent-hover)) !important;
            border: 2px solid var(--accent-color) !important;
            padding: 0.75rem 1rem;
            transition: none;
        }
        .navbar-toggler:hover {
            transform: none;
            box-shadow: none;
            background: linear-gradient(135deg, var(--accent-hover), var(--accent-color)) !important;
        }
        .navbar-toggler i {
            color: #ffffff !important;
            font-size: 1.1rem;
        }

        .btn-primary {
            background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-color-hover) 100%);
            border: none;
            color: var(--primary-text-color) !important;
            font-weight: 600;
            padding: 0.875rem 2.5rem;
            border-radius: 0px;
            box-shadow: 0 6px 20px rgba(245,245,220,0.3);
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            letter-spacing: 0.05em;
        }
        
        .btn-primary:hover {
            transform: translateY(-3px);
            box-shadow: 0 12px 30px rgba(245,245,220,0.4);
            border: none;
        }

        .offcanvas {
            background: linear-gradient(145deg, #ffffff 0%, rgba(248,249,250,0.95) 100%);
            backdrop-filter: blur(30px);
            border-right: 1px solid var(--border-color);
            box-shadow: var(--shadow-lg);
        }

        .offcanvas-header {
            padding: 1rem 1rem 1rem;
        }

        .accordion-button::after { display: none !important; }
        .accordion-button {
            position: relative;
            border: none !important;
            box-shadow: none !important;
            background-color: transparent !important; 
        }
        .accordion-button::before {
            content: "\f107";
            font-family: "Font Awesome 6 Free";
            font-weight: 900;
            position: absolute;
            right: 2rem;
            top: 50%;
            transform: translateY(-50%);
            font-size: 1rem;
            color: var(--menu-text-color);
            transition: all 0.3s ease;
        }
        .accordion-button:not(.collapsed)::before {
            transform: translateY(-50%) rotate(180deg);
        }

        .accordion-item { background-color: transparent !important; }
        .offcanvas-body > a:not(.accordion-button), .accordion-button {
            display: block;
            padding: 1rem 2rem !important;
            font-weight: 500 !important;
            font-size: 1.05rem !important;
            color: var(--menu-text-color) !important;
            text-decoration: none !important;
            border-bottom: 1px solid rgba(233,236,239,0.6) !important;
            background: transparent !important;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
            letter-spacing: 0.025em !important;
        }
        .offcanvas-body > a:hover, .accordion-button:not(.collapsed) {
            color: var(--accent-color) !important;
            background: var(--secondary-bg) !important;
            padding-left: 2.75rem !important;
            border: none !important;
            box-shadow: none !important;
        }
        .accordion-body {
            padding-left: 0 !important;
            padding-right: 0 !important;
            padding-top: 0 !important;
            padding-bottom: 1rem !important;
            background-color: transparent !important;
        }
        .accordion-body a {
            padding: 1rem 0rem 1rem 2.7rem !important;
            font-size: 0.95rem !important;
            border-left: 3px solid transparent !important;
            color: var(--primary-text-color);
        }
        .accordion-body a:hover {
            border-left-color: var(--accent-color) !important;
            background: rgba(212, 165, 116, 0.2) !important;
        }
        .offcanvas-body a.active {
            border-left-color: var(--accent-color) !important;
            background: var(--accent-color) !important;
        }

        .header {
            padding-top: 0; 
            padding-bottom: 0;
            box-shadow: none; 
            margin: 0;
            max-width: none;
            position: relative;
            /* Added min-height to ensure the header area has enough space for the content + the overlap from categories */
            min-height: 500px; 
        }
        .carousel {
            border-radius: 0; 
            overflow: hidden; 
            box-shadow: var(--shadow-lg); 
        }

        .carousel-item img {
            max-height: 85vh; 
            min-height: 550px; 
            width: 100%; 
            object-fit: cover;
            filter: brightness(0.8) grayscale(0.1); 
        }

        .carousel-item::after { content: none !important; }
        .carousel-caption { display: none !important; }
        .carousel-indicators { display: none !important; }
        
        .carousel-control-prev,
        .carousel-control-next {
            display: flex; 
            width: 8%; 
            opacity: 0.7; 
            background: none; 
            border: none; 
            box-shadow: none; 
            transition: opacity 0.3s ease;
            top: 50%;
            transform: translateY(-50%);
            z-index: 11;
        }

        .carousel-control-prev:hover,
        .carousel-control-next:hover {
            opacity: 1; 
            background: none; 
            border: none;
        }

        .carousel-control-prev-icon,
        .carousel-control-next-icon {
            width: 2.5rem; 
            height: 2.5rem;
            filter: drop-shadow(0 0 8px rgba(0,0,0,0.9)); 
            background-size: 100% 100%;
        }

        .carousel-control-prev { left: 0; }
        .carousel-control-next { right: 0; }

        /* ------------------------------------------------ */
        /* --- NEW: CATEGORY BLOCK STYLES --- */
        /* ------------------------------------------------ */
        
        /* Desktop/Large Screen Styles for Category Section */
        @media (min-width: 992px) {
            .category-section {
                width: 100%; /* Changed from 100vw to ensure it centers correctly within the header's flow */
                display: flex;
                justify-content: center;
                position: relative;
                bottom: 6.7rem; /* Adjusted from -5rem (was -5rem, kept as a reasonable overlap) */
                z-index: 10;
            }

            .category-section img{
                height: 270px;
            }
        }

        .category-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            color: var(--primary-text-color);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            height: 100%; /* Ensure all cards are the same height */
        }

        .category-item:hover {
            text-decoration: none;
            color: var(--accent-color);
            transform: translateY(-5px);
        }

        .category-icon {
            font-size: 2.5rem;
            color: var(--accent-color);
            margin-bottom: 1rem;
            transition: color 0.3s ease;
        }

        .category-item:hover .category-icon {
            color: var(--accent-hover);
        }

        .category-title {
            font-size: 1rem;
            font-weight: 600;
            line-height: 1.3;
            margin-bottom: 0;
        }

        /* --- FEATURES / ABOUT BLOCK STYLES --- */

        .section-title {
            font-size: clamp(1.75rem, 4vw, 3rem);
            font-weight: 700;
            line-height: 1.2;
            margin-bottom: 2rem;
            color: var(--dark-bg);
        }

        .section-subtitle {
            font-size: clamp(1rem, 2vw, 1.25rem);
            font-weight: 500;
            color: var(--menu-text-color);
            margin-bottom: 3rem;
        }

        .feature-box {
            display: flex;
            align-items: flex-start;
            gap: 1.5rem;
            margin-bottom: 2rem;
            padding: 1.5rem;
            border-radius: 10px;
            transition: all 0.3s ease;
        }
        .feature-box:hover {
            background-color: var(--secondary-bg);
            box-shadow: var(--shadow-sm);
            transform: translateY(-2px);
        }

        .feature-icon-wrapper {
            flex-shrink: 0;
            width: 3.5rem;
            height: 3.5rem;
            background: var(--accent-color);
            color: #ffffff;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            font-size: 1.5rem;
            box-shadow: 0 4px 10px rgba(212, 165, 116, 0.4);
        }

        .feature-title {
            font-size: 1.15rem;
            font-weight: 600;
            color: var(--primary-text-color);
            margin-bottom: 0.25rem;
        }

        .feature-description {
            font-size: 0.95rem;
            color: var(--menu-text-color);
            line-height: 1.5;
        }

        .img-shadow {
            border-radius: 15px;
            box-shadow: var(--shadow-lg);
            object-fit: cover;
            width: 100%;
            height: 100%;
        }

        .eco-card {
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            border: 1px solid rgba(0,0,0,0.05);
        }

        .eco-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 1rem 3rem rgba(0,0,0,0.1) !important;
        }

        .icon-circle {
            width: 50px;
            height: 50px;
            background-color: rgba(0, 123, 255, 0.1);
            color: var(--accent-color);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
        }

        .ecosystem-section h2 {
            font-size: 2.5rem;
        }

        /* For the circular image in the middle */
        .rounded-circle {
            width: 300px;
            height: 300px;
            object-fit: cover;
        }

        .view-all-link {
            color: var(--accent-color, --accent-hover);
            text-decoration: none;
            font-weight: 600;
            font-size: 0.95rem;
            transition: all 0.3s ease;
            display: inline-flex;
            align-items: center;
        }

        .view-all-link:hover {
            color: var(--accent-hover); /* Darker blue on hover */
            letter-spacing: 0.5px;
        }

        .category-group {
            padding-bottom: 2rem;
            border-bottom: 1px solid #eee;
        }

        .category-group:last-child {
            border-bottom: none;
        }

        .card-img-top {
            height: 300px;
            object-fit: contain;
            /* Smooth transition for both transform and filter */
            transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), filter 0.5s ease;
            transform-origin: center;
        }

        .card:hover .card-img-top {
            /* Zoom (scale) and Rotate (rotate) */
            transform: scale(1.1) rotate(2deg);
            filter: brightness(1.05); /* Slight brightness boost on hover */
        }

        /* Ensure the image doesn't spill out of the card when zooming */
        .card {
            overflow: hidden;
            transition: box-shadow 0.3s ease;
        }

        .card:hover {
            box-shadow: 0 10px 20px rgba(0,0,0,0.15) !important;
        }

        @media (max-width: 320.98px) {
            .navbar .navbar-brand img{
                width: 20px !important;
            }
        }

        

        /* Ultra-small mobile */
        @media (max-width: 480px) {
            .navbar .navbar-brand img {
                width: 67px !important;
            }

            .feature-box {
                margin-bottom: 0.3rem;
            }
        }

        /* Tablet and Mobile (Unified) */
        @media (max-width: 991.98px) {
            .header {
                min-height: auto; 
            }

            .carousel-item img {
                min-height: 350px;
                object-fit: cover; /* Prevents stretching */
            }

            .category-section {
                position: relative;
                bottom: auto;
                
                z-index: 1;
            }

            .category-section img {
                height: 170px;
                width: auto; /* Ensure width scales naturally */
                object-fit: contain; 
            }

            .category-item {
                padding: 1.5rem 1rem;
            }

            .category-icon {
                font-size: 2rem;
            }

            .category-title {
                font-size: 0.9rem;
            }
        }

    .top-btn{
        position: fixed;
        bottom: 100px;
        right: 0;
        z-index: 1000;
        width: 37px;
        height: 37px;
        background-color: var(--accent-color);
        cursor: pointer;
        visibility: hidden;
        animation: btn-ani infinite linear 1s;
        animation-direction: alternate;
    }


    @keyframes btn-ani{
        from{
            bottom: 100px;
        }
        to{
            bottom: 120px;
        }
    }

    .top-btn.show{
        visibility: visible;
    }

.breadcrumb,
.breadcrumb .breadcrumb-item,
.breadcrumb .breadcrumb-item a {
    color: #fff !important;
    text-decoration: none !important;
}

.breadcrumb-item + .breadcrumb-item::before {
    color: #fff !important;
}

.breadcrumb .breadcrumb-item.active{
    color: var(--accent-color) !important;
}