/* RESET & FONTS */
body, html { margin: 0; padding: 0; font-family: 'Roboto', sans-serif; color: #333; line-height: 1.6; }
h1, h2, h3 { font-family: 'Playfair Display', serif; color: #1A2E1A; }

/* HERO SECTION (SUMMER) - BRIGHTER */
.hero {
    background-image: url('summer.jpg');
    background-size: cover;
    background-position: center;
    height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    color: white;
}

/* This is the filter layer - I lowered it from 0.4 to 0.2 so the sun shines through */
.overlay {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.2); 
}

.hero-content { position: relative; z-index: 2; max-width: 800px; padding: 20px; }
/* Added a stronger text shadow so white text is readable on bright pictures */
.hero h1 { font-size: 3.5rem; color: white; margin-bottom: 10px; text-shadow: 2px 2px 8px rgba(0,0,0,0.9); }
.hero p { font-size: 1.2rem; margin-bottom: 30px; font-weight: 400; text-shadow: 1px 1px 5px rgba(0,0,0,0.9); }

/* BUTTONS */
.btn-main {
    background-color: #D35400; 
    color: white; padding: 15px 30px; text-decoration: none; font-weight: bold;
    text-transform: uppercase; letter-spacing: 1px; border: none; cursor: pointer;
    transition: background 0.3s;
    text-shadow: none;
}
.btn-main:hover { background-color: #A04000; }

.btn-secondary {
    background-color: rgba(26, 46, 26, 0.8); /* Dark Green background for button readability */
    border: 2px solid white;
    color: white; padding: 15px 30px; text-decoration: none; font-weight: bold;
    text-transform: uppercase; letter-spacing: 1px; display: inline-block;
    transition: background 0.3s, color 0.3s;
}
.btn-secondary:hover { background-color: white; color: #1A2E1A; }

/* SECTIONS */
.container { max-width: 1000px; margin: 0 auto; padding: 60px 20px; text-align: center; }
.lead-text { font-size: 1.5rem; font-weight: 500; color: #555; }
.divider { width: 60px; height: 3px; background-color: #D35400; margin: 20px auto; border: none; }

/* SERVICES GRID */
.services-section { background-color: #f4f4f4; }
.service-grid { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px; margin-top: 40px; }
.service-card {
    background: white; flex: 1; min-width: 250px; padding: 30px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1); border-top: 5px solid #1A2E1A; text-align: left;
}
.service-card h3 { font-size: 1.5rem; margin-top: 0; }

/* RETAINER SECTION (WINTER) - MUCH BRIGHTER */
.retainer-section { 
    /* This gradient is much lighter (0.3 opacity) so snow looks white, not green */
    background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url('winter.jpg');
    background-size: cover;
    background-position: center;
    color: white; 
    padding: 100px 20px; 
}
.retainer-section h2 { color: white; text-shadow: 2px 2px 8px rgba(0,0,0,0.9); }
.retainer-section p { max-width: 600px; margin: 0 auto 30px auto; font-size: 1.2rem; text-shadow: 1px 1px 5px rgba(0,0,0,0.9); font-weight: 500; }

/* CONTACT FORM */
.contact-form { max-width: 600px; margin: 0 auto; display: flex; flex-direction: column; gap: 15px; }
.contact-form input, .contact-form select, .contact-form textarea {
    padding: 15px; border: 1px solid #ccc; font-size: 1rem; width: 100%; box-sizing: border-box; font-family: 'Roboto', sans-serif;
}
.contact-info { margin-top: 40px; font-size: 1.1rem; color: #666; }

/* FOOTER */
footer { background: #111; color: #888; text-align: center; padding: 20px; font-size: 0.8rem; }

/* MOBILE RESPONSIVE TWEAKS */
@media (max-width: 768px) {
    .hero h1 { font-size: 2.2rem; }
    .hero p { font-size: 1rem; }
    .service-grid { flex-direction: column; }
}