  /* CSS Variables for consistent theming */
            :root {
                --primary-color: #0d1f1d; /* Dark teal/green for primary elements */
                --secondary-color: #c9b037; /* Gold for accents and highlights */
                --background-color: #121212; /* Dark background color */
                --text-color: #e0e0e0; /* Light text color for readability */
                --button-bg: var(--secondary-color); /* Button background, using secondary color */
                --button-hover-bg: #f8d67b; /* Lighter gold for button hover state */
            }

            /* Ensures proper scroll behavior for sticky positioning and visible overflow */
            html {
                overflow-y: scroll;
                overflow-x: visible;
                /* scroll-padding-top: 60px; Removed, handled by JS */
            }

            body {
                margin: 0;
                padding: 0;
                font-family: Arial, sans-serif;
                /* scroll-behavior: smooth; Removed, handled by JS */
                background-color: var(--background-color);
                color: var(--text-color);
                position: relative;
                overflow: visible; /* Explicitly set overflow to visible to rule it out */
            }

            /* Subtle animated background gradient for the body */
            body::before {
                content: '';
                position: fixed;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                /* Animated gradient background */
                background: linear-gradient(45deg, #121212, #0d1f1d, #121212, #0d1f1d);
                background-size: 400% 400%; /* Larger background for animation */
                animation: gradientBackground 20s ease infinite; /* Animation duration and loop */
                z-index: -1; /* Send to back */
                opacity: 0.7;
            }

            /* Keyframes for the animated background gradient */
            @keyframes gradientBackground {
                0% {
                    background-position: 0% 50%;
                }

                50% {
                    background-position: 100% 50%;
                }

                100% {
                    background-position: 0% 50%;
                }
            }

            /* Header styling - sticky to the top */
            .site-header {
                position: sticky;
                top: 0;
                background-color: var(--primary-color);
                color: var(--secondary-color);
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: 12px 24px; /* Default padding */
                z-index: 999; /* High z-index to stay on top */
                box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
                transform: translateY(0%); /* Changed to 0% as it's controlled by JS on load */
                transition: transform 0.6s ease, padding 0.3s ease, min-height 0.3s ease, box-shadow 0.3s ease; /* Added padding, min-height, box-shadow to transition */
                border-bottom: 1px solid rgba(201, 176, 55, 0.3); /* Subtle border for header */
                min-height: 64px; /* Default min-height */
            }

            /* Header shrink and deeper shadow on scroll */
            .site-header.scrolled {
                padding: 8px 24px; /* Reduced padding on scroll */
                min-height: 50px; /* Smaller height on scroll */
                box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6); /* Deeper shadow when scrolled */
            }

            .logo-container {
                display: flex;
                align-items: center;
                gap: 10px;
                flex-wrap: wrap; /* Allow wrapping on smaller screens if tagline is long */
            }

            .logo {
                height: 40px;
                width: auto;
                transition: height 0.3s ease; /* Transition for logo shrink */
            }

            .site-header.scrolled .logo {
                height: 30px; /* Smaller logo on scroll */
            }

            .logo-container h1 {
                margin: 0; /* Remove default margin */
                font-size: 1.6em; /* Adjust as needed */
                white-space: nowrap; /* Prevent wrapping for the title */
                transition: font-size 0.3s ease; /* Transition for title shrink */
            }

            .site-header.scrolled .logo-container h1 {
                font-size: 1.4em; /* Smaller title on scroll */
            }

            .brand-tagline {
                font-size: 0.9em; /* Smaller font size */
                color: rgba(255, 255, 255, 0.7); /* Slightly muted white/light grey */
                font-weight: normal;
                margin-left: 5px; /* A bit more space after the title */
                opacity: 0;
                transform: translateX(-10px);
                animation: fadeInSlideRight 1.5s forwards 0.8s; /* Appears after header slides in */
            }

            @keyframes fadeInSlideRight {
                to {
                    opacity: 1;
                    transform: translateX(0);
                }
            }

            /* Desktop Navigation Links (default state) */
            .nav-links {
                display: flex;
                flex-direction: row;
                align-items: center;
                margin-top: 0;
                padding: 0;
                background-color: transparent;
                box-shadow: none;
                position: static; /* Static positioning for desktop */
                transform: translateY(0);
                transition: none; /* No transition on desktop */
                z-index: auto;
                visibility: visible;
                opacity: 1;
                pointer-events: auto;
                gap: 30px; /* Space between links */
                justify-content: center; /* Center the links */
            }

            .nav-links a {
                color: var(--secondary-color);
                text-decoration: none;
                margin-left: 0; /* Removed, replaced by gap */
                font-weight: 500;
                transition: color 0.3s ease;
                position: relative; /* For the underline effect */
                padding: 0;
                border-bottom: none;
            }

            /* Hamburger Icon (hidden by default on desktop) */
            .hamburger {
                display: none; /* Hidden on desktop */
                flex-direction: column;
                justify-content: space-around;
                width: 30px;
                height: 25px;
                cursor: pointer;
                z-index: 1000; /* Higher than nav-links when mobile menu is open */
            }

            .hamburger .bar {
                width: 100%;
                height: 3px;
                background-color: var(--secondary-color);
                transition: all 0.3s ease-in-out; /* Smooth transition for hamburger lines */
            }

            /* Animation for hamburger icon when active (transforms into an 'X') */
            .hamburger.active .bar:nth-child(1) {
                transform: translateY(11px) rotate(45deg);
            }

            .hamburger.active .bar:nth-child(2) {
                opacity: 0; /* Middle bar fades out */
            }

            .hamburger.active .bar:nth-child(3) {
                transform: translateY(-11px) rotate(-45deg);
            }

            /* Underline effect for nav links on hover (growing from center) */
            .nav-links a::after {
                content: "";
                position: absolute;
                width: 0%; /* Starts with no width */
                height: 2px;
                bottom: -4px;
                left: 50%; /* Start from the center */
                transform: translateX(-50%); /* Adjust to truly center it */
                background-color: var(--secondary-color);
                transition: width 0.3s ease; /* Animate width on hover */
            }

            .nav-links a:hover::after,
            .nav-links a.active::after { /* Apply to active state too */
                width: 100%; /* Expands to full width on hover */
            }

            /* Active state for current page link */
            .nav-links a.active {
                color: var(--button-hover-bg); /* Brighter gold for active link */
                font-weight: bold;
            }

            /* General section styling */
            section {
                padding: 50px;
                text-align: center;
                opacity: 0; /* Hidden by default for scroll animation */
                transform: translateY(50px); /* Starts slightly below for slide-up animation */
                transition: opacity 1s ease, transform 1s ease; /* Animation for sections */
                background: linear-gradient(155deg, rgba(13, 31, 29, 0.8), rgba(13, 31, 29, 0.95)); /* Semi-transparent background */
                border-radius: 8px;
                margin-bottom: 30px;
                position: relative;
                z-index: 1; /* Above the body background but below header */
                min-height: 200px;
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
            }

            /* Class added by JS when section is in view */
            section.show {
                opacity: 1;
                transform: translateY(0);
            }

            /* Parallax effect for sections with background images */
            .parallax {
                background-attachment: fixed; /* Makes background scroll slower than foreground */
                background-size: cover;
                background-position: center;
            }

            /* About Section specific styles */

            .about-content {
                max-width: 800px;
                margin: 0 auto;
                text-align: justify;
                display: flex;
                flex-wrap: wrap; /* Allows columns to wrap on smaller screens */
                gap: 30px;
                align-items: flex-start;
            }

            .about-column {
                flex: 1; /* Allows columns to take equal space */
                min-width: 300px; /* Minimum width before wrapping */
            }

            .about-content p {
                margin-bottom: 1em;
                font-size: 1.1em;
                line-height: 1.8;
            }

            /* Styling for highlighted text in About section */
            .about-content strong {
                color: var(--secondary-color); /* Gold color for bold text */
                font-weight: bold;
                text-shadow: 0 0 5px rgba(201, 176, 55, 0.4); /* Subtle glow effect */
            }

            /* Project item styling */
            .project-item {
                display: block; /* Makes the entire block clickable */
                text-decoration: none;
                color: var(--text-color);
                background-color: rgba(13, 31, 29, 0.7); /* Semi-transparent background */
                border-radius: 8px;
                overflow: hidden;
                box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
                transition: transform 0.5s ease, box-shadow 0.5s ease; /* Smooth hover effects */
                padding-bottom: 10px;
            }

            .project-item:hover {
                transform: translateY(-8px) scale(1.02); /* Lifts and slightly scales on hover */
                box-shadow: 0 12px 25px rgba(201, 176, 55, 0.5); /* Glowing shadow on hover */
            }

            .project-item img {
                width: 100%;
                height: 200px;
                object-fit: cover; /* Ensures image covers area without distortion */
                border-bottom: 2px solid var(--secondary-color); /* Gold border below image */
            }

            .project-title-overlay {
                padding: 10px 15px;
                font-weight: bold;
                font-size: 1.1em;
                color: var(--secondary-color);
            }

            /* Grid layout for project images */
            .image-grid {
                display: grid;
                grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* Responsive grid columns */
                gap: 30px;
                padding: 20px;
                max-width: 1200px;
                margin: 0 auto;
            }

            /* Universal Animate On Scroll Class */
            .animate-on-scroll {
                opacity: 0;
                transform: translateY(40px);
                transition: opacity 0.8s ease-out, transform 0.8s ease-out; /* Animation properties */
            }

            .animate-on-scroll.show {
                opacity: 1;
                transform: translateY(0);
            }

            /* Staggered animation delay for project items */
            .image-grid .project-item:nth-child(1) {
                transition-delay: 0.1s;
            }

            .image-grid .project-item:nth-child(2) {
                transition-delay: 0.2s;
            }

            .image-grid .project-item:nth-child(3) {
                transition-delay: 0.3s;
            }
            .image-grid .project-item:nth-child(4) { /* Added for the new project */
                transition-delay: 0.4s;
            }

            /* Button styling */
            button {
                background-color: var(--button-bg);
                border: none;
                padding: 12px 24px;
                border-radius: 5px;
                color: black; /* Text color for buttons */
                font-weight: bold;
                cursor: pointer;
                transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.2s ease; /* Smooth hover effects */
            }

            button:hover {
                background-color: var(--button-hover-bg);
                box-shadow: 0 0 10px var(--secondary-color); /* Glow effect on hover */
                transform: scale(1.05); /* Slight scale on hover */
            }

            /* Footer styling */
            footer {
                background: var(--primary-color);
                text-align: center;
                color: var(--secondary-color);
                padding: 20px;
                z-index: 1;
                position: relative;
            }

            /* Scroll-to-top button styling */
            #topBtn {
                display: none; /* Hidden by default, shown by JS */
                position: fixed;
                bottom: 30px;
                right: 30px;
                background: gold;
                border: none;
                padding: 10px 15px;
                border-radius: 50%; /* Makes it circular */
                font-weight: bold;
                cursor: pointer;
                box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
                transition: transform 0.3s ease, background 0.3s ease;
                z-index: 1000;
            }

            #topBtn:hover {
                transform: scale(1.1);
                background: #ffd700; /* Slightly lighter gold on hover */
            }

            /* Main headings styling */
            h1, h2 { /* Apply to both h1 and h2 for consistency if h1 is used for section titles */
                font-size: 3em; /* Making all H1/H2s larger */
                color: var(--secondary-color);
                margin-bottom: 1em; /* Add some space below headings */
                text-align: center;
            }

            /* Keyframes for animations (kept as they might be used by other elements or future additions) */
            @keyframes fadeIn {
                to {
                    opacity: 1;
                }
            }

            @keyframes slideFadeIn {
                to {
                    transform: translateY(0);
                    opacity: 1;
                }
            }

            /* Hero section specific styles */
            .hero {
                position: relative;
                overflow: hidden;
                height: 500px; /* Crucial: Give the hero a defined height */
                display: flex; /* Added to center content within hero if there is any */
                align-items: center;
                justify-content: center;
                /* Added padding-top to push content down below the sticky header */
                padding: 0; /* Reset existing padding */
                padding-top: 64px; /* Default height of the header */
                box-sizing: border-box; /* Include padding in the element's total height */
                transition: padding-top 0.3s ease; /* Smooth transition for padding change */
            }

            /* Adjust hero padding when header shrinks */
            .site-header.scrolled + .hero {
                padding-top: 50px; /* Match shrunk header height */
            }

            /* Slideshow container for hero images */
            .slideshow-container {
                position: absolute; /* Changed to absolute to fill the hero section */
                top: 0; /* Now starts at the top of the .hero's content box */
                left: 0;
                width: 100%;
                height: 100%; /* Fills the entire .hero section's content box */
                overflow: hidden; /* Hide any overflow if images are larger than container */
            }

            .slideshow-container .slide {
                /* Initially hidden and scaled for animation */
                opacity: 0;
                visibility: hidden;
                position: absolute; /* Position slides absolutely within the container */
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                transform: scale(1.05); /* Starts slightly zoomed in for zoom-out effect */
                transition: opacity 1s ease-in-out, transform 1s ease-in-out, visibility 0s linear 1s; /* Fade and scale transition, visibility delayed */
            }

            .slideshow-container .slide.active {
                /* Active state: visible, full opacity, normal scale */
                opacity: 1;
                visibility: visible;
                transform: scale(1);
                transition: opacity 1s ease-in-out, transform 1s ease-in-out; /* No delay for active */
            }

            .slideshow-container .slide img {
                width: 100%;
                height: 100%;
                object-fit: contain; /* Changed to 'contain' to prevent cropping */
                display: block;
                max-height: unset; /* Remove any previous max-height that might constrain it */
                object-position: center; /* Aligns the contained image to the center of its container */
            }

            /* Styling for contact form inputs */
            form input[type="text"],
            form input[type="email"],
            form textarea {
                padding: 12px;
                width: 100%;
                margin-bottom: 15px;
                border-radius: 5px;
                border: 1px solid rgba(201, 176, 55, 0.4); /* Border with secondary color hint */
                background-color: rgba(0, 0, 0, 0.4); /* Semi-transparent dark background */
                color: var(--text-color);
                font-size: 1em;
                transition: border-color 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
            }

            form input[type="text"]:focus,
            form input[type="email"]:focus,
            form textarea:focus {
                outline: none;
                border-color: var(--secondary-color); /* Gold border on focus */
                box-shadow: 0 0 10px rgba(201, 176, 55, 0.6); /* Gold glow on focus */
                background-color: rgba(0, 0, 0, 0.6); /* Slightly darker background on focus */
            }

            /* Media queries for responsive design (mobile first adjustments) */
            @media (max-width: 768px) {
                .site-header {
                    flex-direction: row;
                    justify-content: space-between;
                    align-items: center;
                    padding: 12px 20px;
                    min-height: 64px; /* Ensure a minimum height for the header */
                }

                .logo-container {
                    width: auto;
                }

                .brand-tagline {
                    display: none; /* Hide tagline on very small screens to save space */
                }
                .logo-container h1 {
                    font-size: 1.4em; /* Smaller title on mobile */
                }

                /* Show hamburger icon on mobile */
                .hamburger {
                    display: flex;
                    position: static;
                }

                /* Mobile Navigation Links - Now a fixed, full-screen overlay */
                .nav-links {
                    position: fixed; /* Position relative to the viewport */
                    top: 0; /* Start from the very top */
                    left: 0;
                    width: 100%;
                    height: 100vh; /* Take full viewport height */
                    flex-direction: column;
                    background-color: var(--primary-color);
                    box-shadow: 0 0 10px rgba(0, 0, 0, 0.7); /* Stronger shadow for overlay */
                    padding-top: 74px; /* Push content down below the header (approx 64px header height + 10px buffer) */
                    overflow-y: auto; /* Allow scrolling if menu content is too long */
                    z-index: 995; /* Below hamburger (1000), above general content */

                    /* Animation properties for mobile menu slide-in/out */
                    transition: transform 0.4s ease-out, opacity 0.4s ease-out;
                    transform: translateY(-100%); /* Start off-screen (above viewport) */
                    opacity: 0;
                    visibility: hidden; /* Hide completely when not active */
                    pointer-events: none; /* Prevent clicks when hidden */
                }

                /* Class added by JS to open the mobile menu */
                .nav-links.nav-open {
                    transform: translateY(0); /* Slide into view */
                    opacity: 1;
                    visibility: visible;
                    pointer-events: auto; /* Allow clicks when active */
                }

                .nav-links a {
                    margin: 0;
                    padding: 15px 0;
                    border-bottom: 1px solid rgba(201, 176, 55, 0.2);
                    text-align: center;
                    display: block; /* Make links take full width for easier tapping */
                    color: var(--secondary-color); /* Ensure link color */
                    text-decoration: none; /* Ensure no underline */
                }

                .nav-links a:last-child {
                    border-bottom: none; /* No border for the last link */
                }

                /* Text alignment for mobile */
                p,
                .about-content p,
                .project-details ul li {
                    text-align: left; /* Adjust text alignment for mobile */
                }

                section {
                    padding: 30px 15px; /* Reduced padding on mobile */
                }

                h1, h2 {
                    font-size: 2.2em; /* Smaller H1/H2 text on mobile */
                }

                .image-grid {
                    grid-template-columns: 1fr; /* Single column grid on mobile */
                }

                .about-content {
                    flex-direction: column; /* Stack about columns on mobile */
                }

                form {
                    padding: 0 15px; /* Adjust form padding on mobile */
                }
            }
            /* blog */
    /* --- Blog Section Styles (index.html) --- */
    .blog-section {
        padding: 60px 20px;
        background-color: var(--background-color); /* Matches your body background */
        text-align: center;
    }

    .blog-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 30px;
        max-width: 1200px;
        margin: 40px auto;
    }

    .blog-post-card {
        background-color: var(--primary-color); /* Darker background for cards */
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        display: flex;
        flex-direction: column;
        text-decoration: none; /* Remove underline from card link */
        color: var(--text-color);
    }

    .blog-post-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 8px 25px rgba(201, 176, 55, 0.4); /* Gold shadow on hover */
    }

    .blog-post-card img {
        width: 100%;
        height: 200px; /* Fixed height for consistency */
        object-fit: cover;
        border-bottom: 2px solid var(--secondary-color); /* Gold line below image */
    }

    .blog-post-content {
        padding: 20px;
        flex-grow: 1; /* Ensures content area expands to fill space */
        text-align: left; /* Align text within card content */
    }

    .blog-post-content h3 {
        color: var(--secondary-color); /* Gold for titles */
        font-size: 1.5em;
        margin-top: 0;
        margin-bottom: 10px;
        line-height: 1.3;
    }

    .blog-post-meta {
        font-size: 0.85em;
        color: rgba(255, 255, 255, 0.6);
        margin-bottom: 15px;
    }

    .blog-post-excerpt {
        font-size: 0.95em;
        line-height: 1.5;
        margin-bottom: 0; /* Remove default paragraph margin */
        color: rgba(255, 255, 255, 0.8);
    }

    .view-all-posts {
        margin-top: 50px;
    }

    .cta-button {
        display: inline-block;
        background-color: var(--button-bg);
        color: black; /* Changed to black for contrast */
        padding: 12px 25px;
        border-radius: 5px;
        text-decoration: none;
        font-weight: bold;
        transition: background 0.3s ease, transform 0.3s ease;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    }

    .cta-button:hover {
        background-color: var(--button-hover-bg);
        transform: translateY(-2px);
    }

    /* Media Queries for responsiveness */
    @media (max-width: 768px) {
        .blog-grid {
            grid-template-columns: 1fr; /* Stack cards on small screens */
            padding: 0 15px; /* Add some padding on sides */
        }

        .blog-post-card img {
            height: 180px;
        }

        .blog-post-content h3 {
            font-size: 1.3em;
        }
    }
            /* blog */
            /* gallery */

    .gallery-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit); /* Adjusted minmax for slightly larger images if desired */
        gap: 25px; /* Slightly more space between images */
        padding: 20px 0;
        justify-items: center; /* Center images within their grid cells */
    }

    .gallery-grid img {
       
    width: 100%;
    height: 220px;
    object-fit: cover; /* This is the key property */
    /* ... other styles */

        border: 2px solid #c9b037; /* Gold border */
        border-radius: 8px; /* Slightly more rounded corners */
        cursor: pointer;
        transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; /* Added border-color transition */
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); /* Stronger initial shadow */
    }

    .gallery-grid img:hover {
        transform: scale(1.03); /* Slightly enlarge on hover */
        box-shadow: 0 10px 25px rgba(201, 176, 55, 0.6); /* More pronounced gold glow on hover */
        border-color: #f8d67b; /* Lighter gold on hover for border */
    }

    /* Ensure the animations apply to the gallery items */
    .gallery-grid img.animate-on-scroll {
        transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    }

    /* Staggered animation for gallery items (optional, but nice effect) */
    .gallery-grid img:nth-child(1) { transition-delay: 0.1s; }
    .gallery-grid img:nth-child(2) { transition-delay: 0.2s; }
    .gallery-grid img:nth-child(3) { transition-delay: 0.3s; }
    .gallery-grid img:nth-child(4) { transition-delay: 0.4s; }
    .gallery-grid img:nth-child(5) { transition-delay: 0.5s; }
    .gallery-grid img:nth-child(6) { transition-delay: 0.6s; }
    /* Add more if you have more images */


    /* Responsive adjustments for Gallery Section */
    @media (max-width: 768px) {
        .gallery-grid {
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 20px;
        }
        .gallery-grid img {
            height: 180px;
        }
    }

    @media (max-width: 480px) {
        .gallery-grid {
            grid-template-columns: 1fr; /* Stack images on very small screens */
            gap: 15px;
        }
        .gallery-grid img {
            height: 250px; /* Allow stacked images to be a bit taller */
        }
    }   
    gallery .container {
        padding: 20px;}
        
            /* gallery */
            
            