 
        /* --- RESET & GLOBAL STYLES --- */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        body {
            font-family: 'Open Sans', sans-serif;
            line-height: 1.6;
            color: #333333;
            background-color: #f9f9f9;
        }
        h1, h2, h3 {
            font-family: 'Montserrat', sans-serif;
            font-weight: 700;
            color: #0c2340; /* Deep Professional Blue */
        }
        .container {
            width: 100%;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* --- HEADER / NAVIGATION --- */
        header {
            background-color: #ffffff;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            position: sticky;
            top: 0;
            z-index: 1000;
        }
        .nav-container {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 15px 20px;
        }
        .logo {
            font-family: 'Montserrat', sans-serif;
            font-weight: 800;
            font-size: 24px;
            color: #0056b3;
            text-decoration: none;
        }
        .logo span {
            color: #0c2340;
        }
        .nav-links a {
            text-decoration: none;
            color: #0c2340;
            font-weight: 600;
            margin-left: 20px;
            transition: color 0.3s;
        }
        .nav-links a:hover {
            color: #0056b3;
        }
        .nav-cta {
            background-color: #0056b3;
            color: #ffffff !important;
            padding: 10px 20px;
            border-radius: 5px;
        }
        .nav-cta:hover {
            background-color: #003d82 !important;
        }

/* --- WHATSAPP IN-LINE NAV ACCENT --- */
.whatsapp-nav-link {
    color: #25D366; /* Standout Official WhatsApp Green text on Dark Navbar */
}

.whatsapp-nav-link:hover {
    color: #128C7E;
}

.nav-wa-icon {
    width: 16px;
    height: 16px;
    fill: currentColor; /* Matches the text color state automatically */
}

        /* --- HERO SECTION --- */
        .hero {
            background: linear-gradient(rgba(12, 30, 80, 0.55), rgba(12, 35, 64, 0.85)), url("../img/roofnew.jpg") no-repeat center center/cover;
            /* Substituted a placeholder dark roof tile background. Replace with your own project image if desired */
            color: #ffffff;
            padding: 100px 20px 80px 20px;
            text-align: center;
		
        }
        .hero h1 {
            color: #ffffff;
            font-size: 42px;
            margin-bottom: 20px;
            text-transform: uppercase;
            letter-spacing: 1px;
        }
        .hero p {
            font-size: 18px;
            max-width: 800px;
            margin: 10px auto 30px auto;
            font-weight: 400;
            opacity: 0.95;
        }
        .btn {
            display: inline-block;
            background-color: #ffcc00; /* Vibrant attention-grabbing yellow/gold */
            color: #0c2340;
            padding: 15px 35px;
            font-family: 'Montserrat', sans-serif;
            font-weight: 700;
            text-decoration: none;
            border-radius: 5px;
            font-size: 16px;
            transition: transform 0.2s, background-color 0.3s;
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
        }
        .btn:hover {
            background-color: #e6b800;
            transform: translateY(-2px);
        }

        /* --- SERVICE DETAILS SECTION --- */
        .about-service {
            padding: 80px 0;
            background-color: #ffffff;
        }
        .grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 50px;
            align-items: center;
        }
        .about-text h2 {
            font-size: 32px;
            margin-bottom: 20px;
            position: relative;
            padding-bottom: 15px;
        }
        .about-text h2::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 60px;
            height: 4px;
            background-color: #0056b3;
        }
        .about-text p {
            margin-bottom: 20px;
            font-size: 16px;
            color: #555555;
        }

        /* --- BENEFITS / CHECKLIST SECTION --- */
        .benefits-list {
            list-style: none;
            margin-top: 25px;
        }
        .benefits-list li {
            font-size: 16px;
            font-weight: 600;
            margin-bottom: 12px;
            display: flex;
            align-items: center;
            color: #0c2340;
        }
        .benefits-list span {
            color: #28a745; /* Green Checkmark */
            margin-right: 12px;
            font-size: 18px;
        }

        /* --- LOCATION / TARGET AREA --- */
        .location-bar {
            background-color: #0c2340;
            color: #ffffff;
            text-align: center;
            padding: 30px 20px;
            font-family: 'Montserrat', sans-serif;
            font-size: 18px;
            font-weight: 600;
            letter-spacing: 0.5px;
        }

        /* --- CALL TO ACTION SECTION --- */
        .cta-section {
            padding: 80px 0;
            text-align: center;
            background-color: #f0f4f8;
        }
        .cta-section h2 {
            font-size: 32px;
            margin-bottom: 15px;
        }
        .cta-section p {
            font-size: 16px;
            margin-bottom: 30px;
            color: #555555;
        }

        /* --- FOOTER --- */
        footer {
            background-color: #111111;
            color: #ffffff;
            padding: 40px 20px;
            text-align: center;
            font-size: 14px;
        }
        footer p {
            opacity: 0.7;
        }

        /* --- RESPONSIVE DESIGN (MOBILE FRIENDLY) --- */
        @media (max-width: 768px) {
            .nav-container {
                flex-direction: column;
                gap: 15px;
            }
            .nav-links a {
                margin: 0 10px;
            }
            .grid {
                grid-template-columns: 1fr;
                gap: 30px;
            }
            .hero h1 {
                font-size: 30px;
            }
            .hero p {
                font-size: 16px;
            }
            .about-text h2 {
                font-size: 26px;
            }
        }

/* --- GLOBAL CONFIGURATION --- */
.gallery-section {
    width: 100%;
    background-color: #f8fafc;
    padding: 60px 0;
    font-family: Arial, sans-serif;
}

.gallery-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    text-align: center;
}

.gallery-section h2 {
    color: #0c2340; /* Brand Dark Blue */
    font-size: 32px;
    margin-bottom: 5px;
    font-weight: 700;
}

.gallery-sub {
    color: #64748b;
    font-size: 15px;
    margin-bottom: 40px;
}

/* --- THE 3-IMAGE GRID STRUCTURING --- */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.gallery-item {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    background-color: #e2e8f0;
    aspect-ratio: 4 / 3; /* Mandates uniform box ratios */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Stops original images from squishing or buckling */
    transition: transform 0.35s ease;
    display: block;
}

/* Hover Accent for Desktops */
.gallery-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(12, 35, 64, 0.4); /* Fades brand tint over picture */
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.gallery-overlay span {
    color: #ffffff;
    background-color: #0056b3; /* Brand Electric Blue Accent */
    padding: 8px 16px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
}

.gallery-item:hover img {
    transform: scale(1.06);
}

.gallery-item:hover .gallery-overlay {
    opacity: 1;
}

/* --- ENLARGED VIEW OVERLAY (LIGHTBOX) --- */
.lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(12, 35, 64, 0.96); /* Clean dark-blue backdrop */
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease-in-out;
}

.lightbox.visible {
    opacity: 1;
    pointer-events: auto;
}

.lightbox img {
    max-width: 90%;
    max-height: 85vh;
    border-radius: 6px;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4);
    transform: scale(0.95);
    transition: transform 0.25s ease-in-out;
}

.lightbox.visible img {
    transform: scale(1);
}

.lightbox-close-btn {
    position: absolute;
    top: 25px;
    right: 35px;
    color: #ffffff;
    font-size: 44px;
    font-weight: 300;
    cursor: pointer;
    line-height: 1;
    transition: color 0.2s;
}

.lightbox-close-btn:hover {
    color: #ffcc00; /* SWK Yellow Hover Touch */
}

/* --- MOBILE SPECIFIC SCALING (RESPONSIVE) --- */
@media (max-width: 768px) {
    .gallery-grid {
        grid-template-columns: 1fr; /* Turns the 3 horizontal panels into 1 column */
        gap: 20px;
    }
    
    .gallery-item {
        aspect-ratio: 16 / 9; /* Wider full screen presence for mobile screen framing */
    }

    .gallery-overlay {
        display: none; /* Eliminates hover states that conflict with tap logic on mobile phones */
    }

    .lightbox img {
        max-width: 95%; /* Hugs mobile device edge better */
    }
}
