body {
    margin: 0;
    font-family: Arial, sans-serif;
    background-color: #0f1113;
    color: #e0e0e0;
}

header.hero {
    text-align: center;
    padding: 30px 20px;
    background: url('assets/stock/background.jpg') center/cover no-repeat;
    color: black;
}

.logo {
    width: 260px;
    margin-bottom: 20px;
}

.tagline {
    font-size: 1.2rem;
    margin: 5px 0;
}

.cta-button {
    display: inline-block;
    margin-top: 20px;
    padding: 12px 24px;
    background-color: #3F8E41;
    color: black;
    text-decoration: none;
    font-weight: bold;
    border-radius: 4px;
}

nav {
    background-color: #1a1c1f;
    padding: 12px;
    text-align: center;
}

nav a {
    color: #e0e0e0;
    margin: 0 15px;
    text-decoration: none;
    font-weight: bold;
}

nav a.active {
    color: #3F8E41;
}

.image-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    padding: 20px;
}

.image-grid img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.page-header {
    text-align: center;
    padding: 5px 20px;
    background: url('assets/stock/background.jpg') center/cover no-repeat
}

.content {
    max-width: 900px;
    margin: auto;
    padding: 20px;
}

.contact-form {
    display: flex;
    flex-direction: column;
}

.contact-form input,
.contact-form textarea {
    margin-bottom: 12px;
    padding: 10px;
    background-color: #1a1c1f;
    border: 1px solid #333;
    color: white;
}

button {
    padding: 12px;
    background-color: #3F8E41;
    border: none;
    font-weight: bold;
    cursor: pointer;
}

footer {
    text-align: center;
    padding: 20px;
    background-color: #1a1c1f;
    margin-top: 40px;
}

/* Background theme update */
body {
    background-color: #0d0f10; /* darker charcoal */
    color: #e6e6e6; /* lighter grey text */
}

/* Green accent from logo */
nav a.active,
.cta-button,
button {
    background-color: #3F8E41;
    color: black;
}

/* Headings updated to match logo theme */
h1, h2, h3 {
    color: #3F8E41;
}

/* --------------------------------------------------------- */
/* STACKED NAV: LOGO ABOVE LINKS                             */
/* --------------------------------------------------------- */

nav {
    display: flex;
    flex-direction: column;   /* stack vertically */
    align-items: center;      /* center logo + links */
    gap: 16px;                /* spacing between logo and links */
    padding: 20px;
}

/* FINAL LOGO SIZE — DOUBLE SIZE */
.nav-logo img {
    width: 520px !important;   /* double your previous 260px */
    height: auto !important;
    flex-shrink: 0;
}

/* Horizontal row for nav links */
.nav-links {
    display: flex;
    gap: 20px;
}

/* Style links inside the new container */
.nav-links a {
    color: #e0e0e0;
    text-decoration: none;
    font-weight: bold;
}

/* ------------------------------ */
/* MOBILE FIX: shrink logo + nav  */
/* ------------------------------ */
@media (max-width: 600px) {

    /* Smaller logo on mobile */
    .nav-logo img {
        width: 180px !important;   /* adjust as needed */
        height: auto !important;
    }

    /* Reduce spacing between logo and nav links */
    nav {
        gap: 8px;
        padding: 12px;
    }

    /* Smaller nav link text */
    .nav-links a {
        font-size: 0.9rem;
        margin: 0 10px;
    }

    /* Reduce header hero height */
    header.hero {
        padding: 40px 20px;
    }
}

/* ------------------------------ */
/* MOBILE FIX: image grid layout  */
/* ------------------------------ */
@media (max-width: 600px) {

    /* Make images shorter on mobile */
    .image-grid img {
        height: 140px;          /* smaller height */
        object-fit: cover;
    }

    /* Reduce number of columns on small screens */
    .image-grid {
        grid-template-columns: repeat(2, 1fr);   /* 2 columns instead of 4 */
        gap: 4px;
    }
}

