/* Reset & Base */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Montserrat', sans-serif; line-height:1.6; color:#333; }
.container { max-width:1200px; margin:0 auto; padding:0 20px; }
a { text-decoration:none; }

/* Colors */
:root {
  --primary: #036000;
  --primary-dark: #024000;
  --light: #f8f8f8;
}

/* Header */
.header { background:#fff; box-shadow:0 2px 10px rgba(0,0,0,0.1); position:fixed; width:100%; top:0; z-index:1000; }
.nav-container { display:flex; justify-content:space-between; align-items:center; height:80px; }
.logo img { height:50px; }
.nav a { margin:0 20px; color:var(--primary); font-weight:600; transition:0.3s; }
.nav a:hover {color:#333;}
.btn-primary { background:var(--primary); color:#fff; padding:12px 28px; border-radius:50px; font-weight:600; transition:0.3s; }
.btn-primary:hover { background:var(--primary-dark); }

/* Hero */
.hero { background:linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.4)), url('https://images.unsplash.com/photo-1592840340619-2a10c33e201f?q=80&w=2070') center/cover no-repeat; 
        color:#fff; text-align:center; padding:180px 20px 120px; }
.hero h1 { font-size:3.5rem; margin-bottom:20px; }
.hero p { font-size:1.2rem; max-width:700px; margin:0 auto 40px; }
.hero-buttons { display:flex; gap:20px; justify-content:center; flex-wrap:wrap; }
.btn-outline { border:2px solid #fff; color:#fff; padding:12px 28px; border-radius:50px; }

/* Services */
.services { padding:100px 20px; background:#fff; }
.services h2 { text-align:center; font-size:2.5rem; margin-bottom:60px; color:#222; }
.cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px,1fr)); gap:30px; }
.card { background:#f9f9f9; padding:40px 30px; border-radius:12px; text-align:center; border-top:5px solid var(--primary); transition:0.3s; }
.card:hover { transform:translateY(-10px); box-shadow:0 15px 30px rgba(0,0,0,0.1); }
.icon { font-size:3rem; margin-bottom:20px; display:block; }
.card h3 { margin:15px 0; color:#222; }
.card p { font-size:0.95rem; color:#555; text-transform:lowercase; }

/* About CTA */
.about-cta { background:var(--primary); color:#fff; text-align:center; padding:100px 20px; }
.about-cta h2 { font-size:2.8rem; margin-bottom:20px; }
.about-cta p { max-width:700px; margin:0 auto 40px; font-size:1.1rem; opacity:0.9; }
.large { font-size:1.2rem; padding:18px 40px; }

/* Contact */
.contact { padding:100px 20px; background:#f5f5f5; text-align:center; }
.contact h2 { font-size:2.5rem; margin-bottom:20px; }
.contact form { max-width:600px; margin:40px auto 0; display:flex; flex-direction:column; gap:20px; }
.contact input, .contact textarea { padding:15px; border:1px solid #ddd; border-radius:8px; font-family:inherit; }
.contact button { align-self:center; }

/* Footer */
.footer { background:#111; color:#aaa; padding:30px 20px; text-align:center; font-size:0.9rem; }

/* Responsive */
@media (max-width:768px) {
  .nav-container { flex-direction:column; height:auto; padding:20px; }
  .hero h1 { font-size:2.5rem; }
}