     /* =========================================
           1. VARIABLES & RESET
           ========================================= */
     :root {
         --primary-blue: #0c3c71;
         --primary-red: #b6252b;
         --text-dark: #1e293b;
         --text-light: #64748b;
         --bg-light: #f8fafc;
         --white: #ffffff;
         --max-width: 1280px;
         --transition: all 0.3s ease;
     }

     * {
         margin: 0;
         padding: 0;
         box-sizing: border-box;
     }

     html {
         scroll-behavior: smooth;
     }

     body {
         font-family: 'Poppins', sans-serif;
         color: var(--text-dark);
         line-height: 1.6;
         background-color: var(--white);
         overflow-x: hidden;
     }

     ul {
         list-style: none;
     }

     a {
         text-decoration: none;
         color: inherit;
         transition: var(--transition);
     }

     img {
         max-width: 100%;
         display: block;
     }

     /* Utilities */
     .container {
         max-width: var(--max-width);
         margin: 0 auto;
         padding: 0 20px;
     }

     .section-padding {
         padding: 80px 0;
     }

     .text-center {
         text-align: center;
     }

     .section-title-wrapper {
         margin-bottom: 50px;
         text-align: center;
     }

     .section-subtitle {
         color: var(--primary-red);
         font-weight: 700;
         text-transform: uppercase;
         letter-spacing: 2px;
         font-size: 14px;
         display: block;
         margin-bottom: 10px;
     }

     .section-title {
         color: var(--primary-blue);
         font-size: 36px;
         font-weight: 700;
         position: relative;
         display: inline-block;
     }

     .section-title::after {
         content: '';
         display: block;
         width: 60px;
         height: 4px;
         background: var(--primary-red);
         margin: 15px auto 0;
     }

     /* Animation Classes */
     .fade-up {
         opacity: 0;
         transform: translateY(30px);
         transition: opacity 0.8s ease-out, transform 0.8s ease-out;
     }

     .fade-up.visible {
         opacity: 1;
         transform: translateY(0);
     }

     /* =========================================
           2. HEADER & NAVIGATION (Updated for Level 3)
           ========================================= */
     /* Top Bar */
     .top-bar {
         background-color: var(--primary-blue);
         color: var(--white);
         padding: 10px 0;
         font-size: 13px;
     }

     .top-bar .container {
         display: flex;
         justify-content: space-between;
         align-items: center;
     }

     .top-bar-info {
         display: flex;
         gap: 25px;
     }

     .top-bar-item i {
         color: var(--primary-red);
         margin-right: 8px;
     }

     .top-bar-socials a {
         margin-left: 15px;
         opacity: 0.8;
     }

     .top-bar-socials a:hover {
         opacity: 1;
         color: var(--primary-red);
     }

     /* Main Navigation */
     .header-nav {
         background-color: var(--white);
         box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
         position: sticky;
         top: 0;
         z-index: 1000;
         height: 90px;
         transition: height 0.3s;
     }

     .header-nav.scrolled {
         height: 70px;
     }

     .header-nav .container {
         display: flex;
         justify-content: space-between;
         align-items: center;
         height: 100%;
     }

     /* Logo */
     .logo img {
         width: auto;
         transition: height 0.3s;
     }

     .header-nav.scrolled .logo img {}

     /* Desktop Menu */
     .nav-menu {
         display: flex;
         gap: 30px;
         height: 100%;
         align-items: center;
     }

     .nav-item {
         position: relative;
         font-weight: 500;
         font-size: 15px;
         cursor: pointer;
         padding: 10px 0;
         height: 100%;
         display: flex;
         align-items: center;
     }

     .nav-item:hover>a {
         color: var(--primary-red);
     }

     .nav-item>a i {
         font-size: 10px;
         margin-left: 5px;
         color: #ccc;
     }

     /* Level 2 Dropdown */
     .dropdown {
         position: absolute;
         top: 100%;
         left: 0;
         background: var(--white);
         width: 280px;
         box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
         border-top: 3px solid var(--primary-red);
         opacity: 0;
         visibility: hidden;
         transform: translateY(10px);
         transition: var(--transition);
         z-index: 1001;
     }

     .nav-item:hover .dropdown {
         opacity: 1;
         visibility: visible;
         transform: translateY(0);
     }

     /* Level 2 Items */
     .dropdown-item {
         position: relative;
         border-bottom: 1px solid #f1f5f9;
     }

     .dropdown-item>a {
         display: block;
         padding: 12px 20px;
         font-size: 14px;
         color: var(--text-dark);
         display: flex;
         justify-content: space-between;
         align-items: center;
     }

     .dropdown-item:hover>a {
         background-color: #fafafa;
         color: var(--primary-blue);
         padding-left: 25px;
     }

     /* Level 3 Dropdown */
     .submenu {
         position: absolute;
         top: 0;
         left: 100%;
         width: 260px;
         background: var(--white);
         box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
         border-left: 1px solid #eee;
         opacity: 0;
         visibility: hidden;
         transform: translateX(10px);
         transition: var(--transition);
     }

     .dropdown-item:hover .submenu {
         opacity: 1;
         visibility: visible;
         transform: translateX(0);
     }

     /* Mobile Toggle */
     .mobile-toggle {
         display: none;
         font-size: 24px;
         color: var(--primary-blue);
         cursor: pointer;
     }

     /* =========================================
           3. HERO SLIDER (Same as before)
           ========================================= */
     .hero-slider {
         position: relative;
         height: 680px;
         width: 100%;
         overflow: hidden;
         background-color: #000;
     }

     .slide {
         position: absolute;
         top: 0;
         left: 0;
         width: 100%;
         height: 100%;
         opacity: 0;
         transition: opacity 1s ease-in-out;
         display: flex;
         align-items: center;
     }

     .slide.active {
         opacity: 1;
         z-index: 1;
     }

     .slide::before {
         content: '';
         position: absolute;
         top: 0;
         left: 0;
         right: 0;
         bottom: 0;
         background-color: rgba(12, 60, 113, 0.5);
         z-index: 1;
     }

     .slide-bg {
         position: absolute;
         top: 0;
         left: 0;
         width: 100%;
         height: 100%;
         object-fit: cover;
         transform: scale(1.1);
         transition: transform 6s linear;
     }

     .slide.active .slide-bg {
         transform: scale(1);
     }

     .slide-content {
         position: relative;
         z-index: 2;
         color: var(--white);
         width: 100%;
         padding: 0 5%;
     }

     .slide-tag {
         background: var(--primary-red);
         padding: 5px 15px;
         font-weight: 600;
         font-size: 14px;
         text-transform: uppercase;
         display: inline-block;
         margin-bottom: 20px;
         border-radius: 4px;
     }

     .slide-title {
         font-size: 56px;
         font-weight: 800;
         line-height: 1.2;
         margin-bottom: 30px;
         max-width: 800px;
     }

     .slider-btn {
         padding: 15px 40px;
         background: var(--white);
         color: var(--primary-blue);
         font-weight: 700;
         text-transform: uppercase;
         border-radius: 4px;
         display: inline-block;
         margin-top: 20px;
     }

     .slider-btn:hover {
         background: var(--primary-red);
         color: var(--white);
     }

     .slider-nav {
         position: absolute;
         top: 50%;
         width: 100%;
         display: flex;
         justify-content: space-between;
         padding: 0 30px;
         z-index: 10;
         transform: translateY(-50%);
     }

     .nav-btn {
         width: 50px;
         height: 50px;
         background: rgba(255, 255, 255, 0.2);
         border: 1px solid rgba(255, 255, 255, 0.4);
         border-radius: 50%;
         color: var(--white);
         display: flex;
         align-items: center;
         justify-content: center;
         cursor: pointer;
         transition: var(--transition);
     }

     .nav-btn:hover {
         background: var(--primary-red);
         border-color: var(--primary-red);
     }

     /* =========================================
           4. GROUP OVERVIEW (Updated Locations Layout)
           ========================================= */
     .locations-module {
         position: relative;
         background: var(--white);
         border-radius: 12px;
         box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
         /* Reuse existing shadow style */
         border: 1px solid #eee;
         overflow: hidden;
         margin-top: 30px;
     }

     .locations-navbar {
         background-color: var(--bg-light);
         /* Reuse background color */
         border-bottom: 1px solid #eee;
         padding: 0 20px;
     }

     .locations-nav {
         display: flex;
         flex-wrap: wrap;
         gap: 20px;
         list-style: none;
     }

     .loc-nav-item {
         position: relative;
     }

     .loc-nav-toggle {
         padding: 20px 10px;
         font-size: 15px;
         font-weight: 600;
         color: var(--primary-blue);
         cursor: pointer;
         transition: var(--transition);
         /* Reuse transition */
         display: flex;
         align-items: center;
         gap: 8px;
     }

     .loc-nav-toggle i {
         font-size: 12px;
         transition: transform 0.3s ease;
     }

     .loc-nav-item.active .loc-nav-toggle {
         color: var(--primary-red);
     }

     .loc-nav-item.active .loc-nav-toggle i {
         transform: rotate(180deg);
     }

     .loc-nav-menu {
         position: absolute;
         top: 100%;
         left: 0;
         min-width: 200px;
         background: var(--white);
         border-top: 3px solid var(--primary-red);
         box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
         opacity: 0;
         visibility: hidden;
         transform: translateY(10px);
         transition: var(--transition);
         z-index: 100;
     }

     .loc-nav-item.active .loc-nav-menu {
         opacity: 1;
         visibility: visible;
         transform: translateY(0);
     }

     .loc-link {
         display: block;
         padding: 12px 20px;
         font-size: 14px;
         color: var(--text-dark);
         border-bottom: 1px solid #f1f5f9;
         transition: var(--transition);
     }

     .loc-link:hover {
         background-color: #fafafa;
         color: var(--primary-blue);
         padding-left: 25px;
     }

     .loc-link span {
         font-weight: 500;
     }

     .locations-map-container {
         padding: 20px;
         text-align: center;
         background: var(--white);
         min-height: 500px;
         /* Highcharts requires explicit height */
     }

     /* ─── Fullscreen Location Modal ─── */
     .loc-modal-overlay {
         position: fixed;
         inset: 0;
         z-index: 9999;
         background: rgba(0, 0, 0, 0.6);
         backdrop-filter: blur(4px);
         display: flex;
         align-items: center;
         justify-content: center;
         animation: fadeIn 0.25s ease;
     }

     @keyframes fadeIn {
         from {
             opacity: 0;
         }

         to {
             opacity: 1;
         }
     }

     .loc-modal-box {
         background: var(--white);
         border-radius: 12px;
         padding: 48px 40px 40px;
         max-width: 560px;
         width: 90%;
         position: relative;
         box-shadow: 0 24px 64px rgba(0, 0, 0, 0.25);
         animation: slideUp 0.3s ease;
     }

     @keyframes slideUp {
         from {
             opacity: 0;
             transform: translateY(30px);
         }

         to {
             opacity: 1;
             transform: translateY(0);
         }
     }

     .loc-modal-close {
         position: absolute;
         top: 16px;
         right: 20px;
         width: 36px;
         height: 36px;
         display: flex;
         align-items: center;
         justify-content: center;
         border-radius: 50%;
         cursor: pointer;
         color: var(--text-light);
         font-size: 18px;
         transition: var(--transition);
     }

     .loc-modal-close:hover {
         background: #f1f5f9;
         color: var(--primary-red);
     }

     .loc-modal-title {
         font-family: 'Poppins', sans-serif;
         font-size: 28px;
         font-weight: 700;
         color: var(--primary-blue);
         margin-bottom: 8px;
     }

     .loc-modal-region {
         font-size: 13px;
         font-weight: 600;
         text-transform: uppercase;
         letter-spacing: 1.5px;
         color: var(--primary-red);
         margin-bottom: 20px;
     }

     .loc-modal-desc {
         font-size: 15px;
         line-height: 1.7;
         color: var(--text-dark);
     }

     .overview-map-img {
         max-width: 100%;
         height: auto;
         margin: 0 auto;
     }



     /* =========================================
           5. STATS SECTION (Updated Background)
           ========================================= */
     .stats-section {
         background: linear-gradient(rgba(12, 60, 113, 0.9), rgba(12, 60, 113, 0.8)), url('../images/building_background.png');
         background-size: cover;
         background-attachment: fixed;
         color: var(--white);
         position: relative;
     }

     .stats-grid {
         display: grid;
         grid-template-columns: repeat(4, 1fr);
         gap: 30px;
         text-align: center;
     }

     .stat-item {
         background: rgba(255, 255, 255, 0.1);
         padding: 40px 20px;
         border-radius: 8px;
         backdrop-filter: blur(5px);
         border: 1px solid rgba(255, 255, 255, 0.2);
         transition: transform 0.3s;
     }

     .stat-item:hover {
         transform: translateY(-5px);
         background: rgba(255, 255, 255, 0.15);
     }

     .stat-icon {
         font-size: 40px;
         color: var(--primary-red);
         margin-bottom: 15px;
     }

     .stat-number {
         font-size: 48px;
         font-weight: 700;
         display: block;
         line-height: 1;
         margin-bottom: 5px;
         color: var(--white);
     }

     .stat-label {
         font-size: 14px;
         font-weight: 600;
         text-transform: uppercase;
         opacity: 0.9;
     }

     /* =========================================
           6. VISION & MISSION (Updated)
           ========================================= */
     .vm-grid {
         display: grid;
         grid-template-columns: 1fr 1fr;
         gap: 50px;
     }

     .vm-card {
         position: relative;
         padding: 50px 40px;
         background: var(--white);
         border: 1px solid #eee;
         border-radius: 12px;
         overflow: hidden;
         box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
         transition: all 0.4s ease;
         cursor: default;
     }

     .vm-card:hover {
         box-shadow: 0 20px 40px rgba(12, 60, 113, 0.15);
         transform: translateY(-5px);
         border-color: var(--primary-blue);
     }

     .vm-card:hover::before {
         height: 100%;
     }

     .vm-card::before {
         content: '';
         position: absolute;
         left: 0;
         top: 0;
         width: 6px;
         height: 0%;
         /* Grows on hover */
         background: var(--primary-red);
         transition: height 0.4s ease;
     }

     .vm-header {
         margin-bottom: 25px;
         padding-bottom: 20px;
         border-bottom: 1px solid #eee;
     }

     .vm-big-title {
         font-size: 24px;
         font-weight: 700;
         color: var(--primary-blue);
         line-height: 1.4;
     }

     .vm-text {
         color: var(--text-light);
         margin-bottom: 20px;
         font-size: 15px;
     }

     /* =========================================
           7. KEY PERSONNEL (Carousel)
           ========================================= */
     .team-section {
         background-color: var(--bg-light);
         background-image: url('../images/cubes.png');
         /* Subtle pattern */
         position: relative;
         overflow: hidden;
     }

     .carousel-container {
         position: relative;
         overflow: hidden;
         padding: 20px 0;
     }

     .carousel-track {
         display: flex;
         gap: 30px;
         transition: transform 0.5s ease-in-out;
     }

     .team-card {
         flex: 0 0 calc(33.333% - 20px);
         /* Show 3 */
         background: var(--white);
         padding: 40px 30px;
         border-radius: 12px;
         border: 1px solid #eee;
         text-align: center;
         box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
         transition: all 0.3s;
     }

     .team-card:hover {
         transform: translateY(-10px);
         box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
     }

     /* Minimalist Avatar */
     .team-avatar {
         width: 100px;
         height: 100px;
         border-radius: 50%;
         margin: 0 auto 20px;
         border: 2px solid var(--primary-blue);
         display: flex;
         align-items: center;
         justify-content: center;
         background: #f8fafc;
     }

     .team-avatar svg {
         width: 50px;
         height: 50px;
         stroke: var(--primary-blue);
         stroke-width: 1.5;
         fill: none;
     }

     .team-name {
         font-size: 18px;
         font-weight: 700;
         color: var(--primary-blue);
         margin-bottom: 5px;
     }

     .team-role {
         font-size: 13px;
         font-weight: 600;
         color: var(--primary-red);
         text-transform: uppercase;
     }

     /* Carousel Controls */
     .carousel-arrow {
         position: absolute;
         top: 50%;
         transform: translateY(-50%);
         width: 40px;
         height: 40px;
         background: var(--white);
         border-radius: 50%;
         box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
         display: flex;
         align-items: center;
         justify-content: center;
         cursor: pointer;
         z-index: 10;
         color: var(--primary-blue);
         transition: all 0.2s;
     }

     .carousel-arrow:hover {
         background: var(--primary-blue);
         color: var(--white);
     }

     .arrow-left {
         left: -10px;
     }

     .arrow-right {
         right: -10px;
     }

     /* =========================================
           8. (NEW) PRODUCTS SECTION STYLES
           ========================================= */
     /* UPDATED: Styles for the restored Product Section */
     .product-section {
         background: linear-gradient(rgba(12, 60, 113, 0.9), rgba(12, 60, 113, 0.8)), url('../images/factory_background.png');
         background-size: cover;
         background-attachment: fixed;
         color: var(--white);
         position: relative;
     }

     .products-showcase-grid {
         display: grid;
         grid-template-columns: repeat(3, 1fr);
         gap: 30px;
         margin-top: 20px;
     }

     .prod-showcase-card {
         background: #fff;
         border-radius: 8px;
         overflow: hidden;
         box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
         transition: transform 0.3s;
         border: 1px solid #f1f5f9;
     }

     .prod-showcase-card:hover {
         transform: translateY(-10px);
     }

     .prod-showcase-img {
         height: 200px;
         width: 100%;
         object-fit: cover;
     }

     .prod-showcase-info {
         padding: 25px;
     }

     .prod-showcase-cat {
         color: var(--primary-red);
         font-size: 12px;
         font-weight: 700;
         text-transform: uppercase;
         margin-bottom: 8px;
     }

     .prod-showcase-title {
         font-size: 20px;
         font-weight: 600;
         color: var(--primary-blue);
         margin-bottom: 12px;
     }

     .prod-showcase-list {
         list-style: none;
     }

     .prod-showcase-list li {
         font-size: 14px;
         color: var(--text-light);
         margin-bottom: 6px;
         display: flex;
         align-items: center;
         gap: 8px;
     }

     .prod-showcase-list li::before {
         content: '';
         width: 6px;
         height: 6px;
         background-color: var(--primary-red);
         border-radius: 50%;
     }

     /* =========================================
           9. PARTNERSHIPS
           ========================================= */
     .partners-grid {
         display: grid;
         grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
         gap: 40px;
         align-items: center;
         justify-items: center;
         margin-top: 40px;
     }

     .partner-logo-box {
         width: 100%;
         height: 100px;
         background: #fff;
         border: 1px solid #eee;
         display: flex;
         align-items: center;
         justify-content: center;
         border-radius: 8px;
         color: #ccc;
         font-weight: 600;
         font-size: 14px;
         transition: all 0.3s;
     }

     .partner-logo-box:hover {
         border-color: var(--primary-blue);
         color: var(--primary-blue);
         box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
     }

     /* =========================================
           10. FOOTER
           ========================================= */
     footer {
         background-color: var(--primary-blue);
         color: var(--white);
         padding-top: 80px;
     }

     .footer-logo {
         max-height: 50px;
         margin-bottom: 20px;
         background: #fff;
         padding: 5px;
         border-radius: 4px;
     }

     .footer-grid {
         display: grid;
         grid-template-columns: 1.5fr 1fr 1fr 1fr;
         gap: 40px;
         padding-bottom: 60px;
     }

     .footer-col h4 {
         font-size: 18px;
         margin-bottom: 25px;
     }

     .footer-col ul li {
         margin-bottom: 12px;
         font-size: 14px;
         opacity: 0.8;
     }

     .footer-bottom {
         background-color: rgba(0, 0, 0, 0.2);
         padding: 20px 0;
         font-size: 13px;
         opacity: 0.7;
     }

     .footer-bottom .container {
         display: flex;
         justify-content: space-between;
     }

     .back-to-top {
         position: fixed;
         bottom: 40px;
         right: 40px;
         width: 50px;
         height: 50px;
         background-color: var(--primary-red);
         color: var(--white);
         border-radius: 50%;
         display: flex;
         align-items: center;
         justify-content: center;
         font-size: 20px;
         cursor: pointer;
         opacity: 0;
         visibility: hidden;
         transition: all 0.3s;
         z-index: 999;
         box-shadow: 0 5px 15px rgba(182, 37, 43, 0.4);
     }

     .back-to-top.show {
         opacity: 1;
         visibility: visible;
     }

     /* Responsive Adjustments */
     @media (max-width: 1024px) {

         .overview-grid,
         .vm-grid {
             grid-template-columns: 1fr;
         }

         .stats-grid {
             grid-template-columns: repeat(2, 1fr);
         }

         .team-card {
             flex: 0 0 calc(50% - 20px);
         }

         /* Show 2 on tablet */
     }

     @media (max-width: 768px) {
         .top-bar {
             display: none;
         }

         .mobile-toggle {
             display: block;
         }

         .nav-menu {
             display: none;
             position: absolute;
             top: 90px;
             left: 0;
             width: 100%;
             background: #fff;
             flex-direction: column;
             height: auto;
             padding: 20px;
         }

         .nav-menu.active {
             display: flex;
         }

         .header-nav {
             height: 70px;
         }

         .team-card {
             flex: 0 0 100%;
         }

         /* Show 1 on mobile */
         .hero-title {
             font-size: 32px;
         }

         .carousel-arrow {
             display: none;
         }

         /* Use swipe on mobile */
     }