/* --- Global Reset & Professional Fonts --- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

body {
    background-color: #F7FAFC; /* Clean Light Gray */
    color: #1b2d4d; /* Charcoal Text */
    line-height: 1.6;
    
    /* --- FIX START: Flexbox Layout to Push Footer Down --- */
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    /* --- FIX END --- */
}

/* --- Navigation Bar --- */
header {
    background-color: #1b2d4d; /* Deep Industrial Navy */
    color: #FFFFFF;
    display: flex;
    justify-content: space-between; /* Forces logo to left, nav to right */
    align-items: center;
    flex-wrap: nowrap;             /* CRITICAL: Prevents the nav from dropping below the logo */
    padding: 10px 5%;
    width: 100%;
    box-sizing: border-box;
}

header .logo {
    display: flex;
    align-items: center;
    flex-shrink: 1;                /* Allows the logo container to scale down gracefully if the screen gets tight */
    max-width: 45%;                /* Ensures the logo never hogs more than 45% of the header width */
}

header .logo img {
    width: 380px;                  /* Your preferred desktop size */
    max-width: 100%;               /* Ensures the image dynamically shrinks if its container does */
    height: auto;     
    display: block;
}

nav {
    display: flex;
    align-items: center;
    margin-left: auto;             /* Heavy push to the right side */
    flex-shrink: 0;                /* Prevents your navigation links from compressing or shrinking */
}

header nav a, 
header nav a:link, 
header nav a:visited {
    color: #FFFFFF !important;  /* Keep your clean white color */
    text-decoration: none;      /* Keep lines removed */
    margin-left: 30px !important; 
    display: inline-block;
    white-space: nowrap;        /* Keeps text on a single line */
    transition: color 0.2s;
    
    /* --- FIX START: Restore your professional font styling --- */
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    font-weight: 500 !important;
    /* --- FIX END --- */
}

header nav a:hover, 
header nav a:active {
    color: #CBD5E0 !important;  /* Keep your hover effect */[cite: 4]
}

/* --- Hero Section --- */
.hero {
    background-color: #1b2d4d;
    color: #FFFFFF;
    padding: 80px 10%;
    text-align: center;
}

.hero h1 {
    font-size: 40px;
    margin-bottom: 20px;
}

.hero p {
    font-size: 18px;
    color: #CBD5E0;
    margin-bottom: 30px;
}

/* --- Content Sections --- */
.section {
    padding: 60px 10%;
}

.section-title {
    font-size: 28px;
    color: #1b2d4d;
    margin-bottom: 30px;
    text-align: center;
}

/* --- Grid for Home Page Services --- */
.grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
}

.card {
    background: #FFFFFF;
    padding: 25px;
    border-radius: 4px;
    border-top: 4px solid #4A5568; /* Slate Gray accent */
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

/* --- Secure-Looking Contact Form --- */
.contact-container {
    display: flex;
    gap: 50px;
    flex-wrap: wrap;
}

.contact-info, .contact-form-container {
    flex: 1;
    min-width: 300px;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
}

.form-group input, .form-group textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #CBD5E0;
    border-radius: 4px;
    background-color: #FFFFFF;
}

/* The only "loud" color, used intentionally for the action button */
.btn-submit {
    background-color: #D69E2E; /* Safety Amber */
    color: #FFFFFF;
    border: none;
    padding: 12px 24px;
    font-weight: bold;
    cursor: pointer;
    border-radius: 4px;
    width: 100%;
}

.btn-submit:hover {
    background-color: #B7791F;
}

/* --- Footer --- */
footer {
    background-color: #1b2d4d;
    color: #A0AEC0;
    text-align: center;
    padding: 20px;
    font-size: 14px;
    
    /* --- FIX START: Push footer to bottom and remove top margin --- */
    margin-top: auto; 
    /* --- FIX END --- */
}