/* General Body Style Update */
body {
    font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif; /* Modern sans-serif stack */
    margin: 0;
    line-height: 1.6;
    background-color: #f8f9fa; /* Lighter background */
    color: #212529; /* Darker text for better contrast */
}

/* Header and Nav Refinement */
header {
    background: #343a40; /* Darker, more modern header */
    color: #fff;
    padding: 1rem 0;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

header nav ul {
    padding: 0;
    list-style: none;
}

header nav ul li {
    display: inline;
    margin: 0 10px;
}

header nav ul li a {
    color: #fff;
    text-decoration: none;
    padding: 0.5rem 1rem;
    transition: background-color 0.3s ease;
}

header nav ul li a:hover {
    background-color: #495057;
    border-radius: 4px;
}

/* Hero Section with Background Image */
.hero {
    background-image: url("../images/mountain-hero.jpg"); /* Path relative to css file */
    background-size: cover;
    background-position: center;
    color: #fff; /* White text for contrast with dark image/overlay */
    padding: 4rem 2rem; /* Increased padding */
    text-align: center;
    position: relative; /* For pseudo-element overlay */
    min-height: 300px; /* Minimum height */
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero::before { /* Optional: dark overlay for better text readability */
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4); /* Adjust opacity as needed */
    z-index: 1;
}

.hero-content {
    position: relative; /* To ensure content is above the overlay */
    z-index: 2;
}

.hero h1 {
    font-size: 3rem; /* Larger hero title */
    margin-bottom: 0.5rem;
    font-weight: 300; /* Lighter font weight for modern feel */
}

.hero p {
    font-size: 1.2rem;
    font-weight: 300;
}

/* Section Styling Refinements */
section {
    padding: 40px 20px; /* More padding */
    margin: 20px auto; /* Centered with auto margins if max-width is set */
    background-color: #fff;
    border-radius: 8px; /* Softer border radius */
    box-shadow: 0 2px 5px rgba(0,0,0,0.05); /* Subtle shadow */
    max-width: 960px; /* Max width for content readability */
}

section h2 {
    text-align: center;
    margin-bottom: 30px;
    color: #343a40;
    font-weight: 400; /* Slightly lighter section titles */
    font-size: 2.2rem;
}

/* Service/Portfolio Divs */
section#services div, section#portfolio div {
    margin-bottom: 20px;
    padding: 20px;
    background-color: #f8f9fa; /* Light background for inner cards */
    border-radius: 5px;
    border: 1px solid #e9ecef;
}

/* Contact Form Refinement */
#contact form label { /* Added this rule based on original CSS, it was missing in the new block */
    display: block;
    margin-top: 10px;
}

#contact form input[type="text"],
#contact form input[type="email"],
#contact form textarea {
    width: 100%;
    padding: 12px; /* More padding */
    margin-top: 8px;
    margin-bottom: 16px; /* More space below inputs */
    border-radius: 4px;
    border: 1px solid #ced4da;
    box-sizing: border-box;
    font-size: 1rem;
}

#contact form input[type="submit"] {
    background: #007bff; /* Modern blue */
    color: #fff;
    padding: 12px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin-top: 10px;
    font-size: 1rem;
    transition: background-color 0.3s ease;
}

#contact form input[type="submit"]:hover {
    background: #0056b3; /* Darker blue on hover */
}

/* Footer Refinement */
footer {
    text-align: center;
    padding: 30px 20px;
    background: #343a40;
    color: #fff;
    margin-top: 30px;
    font-size: 0.9rem;
}
