@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&family=Lora:ital,wght@0,400;0,600;1,400&display=swap');
:root { --bg:#f4f9f4; --card-bg:#ffffff; --primary:#2e7d32; --primary-light:#4caf50; --primary-dark:#1b5e20; --text:#2c3e2d; --text-muted:#5e7c60; --border:#dcedc8; --font-title:'Lora',serif; --font-body:'Outfit',sans-serif; --radius:16px; }
* { box-sizing:border-box;margin:0;padding:0; }
body { background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.7;overflow-x:hidden; }
a { text-decoration:none;color:inherit; }
img { max-width:100%;display:block; }
.container { max-width:1100px;margin:0 auto;padding:0 24px; }
.text-center { text-align:center; }
.nav { position:sticky;top:0;z-index:100;background:rgba(244,249,244,0.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:18px 0; }
.nav-flex { display:flex;justify-content:space-between;align-items:center; }
.logo { font-family:var(--font-title);font-size:1.6rem;font-weight:700;color:var(--primary-dark); }
.logo span { color:var(--primary-light); }
.nav-links { display:flex;gap:28px; }
.nav-links a { font-weight:500;font-size:0.95rem;color:var(--text-muted);transition:color 0.3s; }
.nav-links a:hover,.nav-links a.active { color:var(--primary); }
.menu-toggle { display:none;background:none;border:none;cursor:pointer;width:30px;height:24px;position:relative;z-index:200; }
.menu-toggle span { display:block;width:100%;height:2px;background:var(--text);position:absolute;left:0;transition:all 0.3s; }
.menu-toggle span:nth-child(1){top:0} .menu-toggle span:nth-child(2){top:50%;transform:translateY(-50%)} .menu-toggle span:nth-child(3){bottom:0}
.menu-toggle.active span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)} .menu-toggle.active span:nth-child(2){opacity:0} .menu-toggle.active span:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg)}
.hero { position:relative;min-height:80vh;display:flex;align-items:center;background:url('https://images.unsplash.com/photo-1501339847302-ac426a4a7cbb?auto=format&fit=crop&w=1400&q=80') center/cover;overflow:hidden; }
.hero-overlay { position:absolute;inset:0;background:linear-gradient(to right,rgba(27,94,32,0.8),rgba(46,125,50,0.4)); }
.hero-content { position:relative;z-index:2;color:#fff;max-width:650px; }
.hero-content h1 { font-family:var(--font-title);font-size:clamp(2.5rem,5vw,4rem);margin-bottom:20px;line-height:1.15; }
.hero-content p { font-size:1.15rem;margin-bottom:30px;opacity:0.9; }
.btn { display:inline-flex;padding:14px 28px;border-radius:100px;font-weight:600;cursor:pointer;transition:all 0.3s;border:none;font-family:var(--font-body); }
.btn-primary { background:var(--primary-light);color:#fff; }
.btn-primary:hover { background:var(--primary);transform:translateY(-2px);box-shadow:0 10px 20px rgba(76,175,80,0.3); }
.leaf-decor { position:absolute;font-size:4rem;opacity:0.2;z-index:1;animation:float 6s ease-in-out infinite; }
.leaf-1 { top:20%;right:10%;animation-delay:0s; }
.leaf-2 { bottom:20%;left:50%;animation-delay:3s; }
@keyframes float { 0%,100%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-20px) rotate(15deg)} }
.section { padding:100px 0; }
.section-title { font-family:var(--font-title);font-size:2.5rem;margin-bottom:50px;text-align:center;color:var(--primary-dark); }
.bg-nature { background:linear-gradient(135deg,var(--primary-dark),var(--primary));position:relative; }
.bg-nature::before { content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8,<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><path fill="%23ffffff" fill-opacity="0.05" d="M45.7,-76.4C58.9,-69.1,69.2,-55.5,76.5,-40.8C83.9,-26.1,88.4,-10.4,85.1,3.8C81.8,18.1,70.7,30.8,60.2,43.2C49.7,55.6,39.9,67.7,26.5,74.9C13.1,82.1,-3.9,84.4,-19.9,80.6C-35.9,76.8,-51,66.9,-61.8,53.8C-72.7,40.7,-79.3,24.4,-81.4,7.8C-83.6,-8.8,-81.4,-25.6,-73.4,-39.8C-65.5,-53.9,-51.7,-65.4,-37.2,-71.8C-22.7,-78.3,-7.4,-79.8,7.9,-78.9C23.2,-78,41.9,-75.7,45.7,-76.4Z" transform="translate(100 100)"/></svg>') repeat;background-size:400px; }
.page-hero { padding:80px 0 40px;text-align:center; }
.page-hero h1 { font-family:var(--font-title);font-size:clamp(2rem,4vw,3.5rem);margin-bottom:15px;color:var(--primary-dark); }
.grid-2 { display:grid;grid-template-columns:repeat(2,1fr);gap:40px; }
.grid-3 { display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px; }
.card { background:var(--card-bg);border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 20px rgba(46,125,50,0.05);transition:transform 0.3s;border:1px solid var(--border); }
.card:hover { transform:translateY(-8px);box-shadow:0 12px 30px rgba(46,125,50,0.15); }
.card img { width:100%;height:240px;object-fit:cover; }
.card-body { padding:24px; }
.card h3 { font-family:var(--font-title);color:var(--primary-dark);font-size:1.3rem;margin-bottom:10px; }
.project-item { position:relative;border-radius:var(--radius);overflow:hidden;cursor:pointer; }
.project-item img { width:100%;height:350px;object-fit:cover;transition:transform 0.5s; }
.project-item:hover img { transform:scale(1.05); }
.project-info { position:absolute;bottom:0;left:0;width:100%;padding:30px;background:linear-gradient(to top,rgba(27,94,32,0.9),transparent);color:#fff; }
.project-info h3 { font-family:var(--font-title);font-size:1.5rem;margin-bottom:5px; }
.service-list { display:flex;flex-direction:column;gap:30px;max-width:800px;margin:0 auto; }
.service-row { display:flex;gap:24px;background:var(--card-bg);padding:30px;border-radius:var(--radius);border:1px solid var(--border);align-items:center;transition:transform 0.3s; }
.service-row:hover { transform:translateX(10px);border-color:var(--primary-light); }
.service-row .icon { font-size:3rem;background:var(--bg);width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:50%; }
.service-row h3 { font-family:var(--font-title);color:var(--primary-dark);font-size:1.4rem;margin-bottom:8px; }
.map-wrapper { border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,0.08); }
.contact-form { display:flex;flex-direction:column;gap:20px;background:var(--card-bg);padding:40px;border-radius:var(--radius);border:1px solid var(--border); }
.contact-form input,.contact-form select,.contact-form textarea { width:100%;padding:14px;border:1px solid var(--border);border-radius:10px;font-family:var(--font-body);outline:none;background:var(--bg); }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--primary);background:#fff; }
.footer { padding:50px 0;text-align:center;background:var(--primary-dark);color:rgba(255,255,255,0.7);font-size:0.9rem; }
.animate-on-scroll { opacity:0;transform:translateY(30px);transition:opacity 0.7s,transform 0.7s; }
.animate-on-scroll.visible { opacity:1;transform:translateY(0); }
@media (max-width:768px) {
  .menu-toggle{display:block} .nav-links{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--bg);flex-direction:column;padding:100px 40px 40px;gap:20px;transition:right 0.4s;box-shadow:-5px 0 30px rgba(0,0,0,0.1);z-index:150} .nav-links.active{right:0} .grid-2,.grid-3{grid-template-columns:1fr} .hero{min-height:70vh} .service-row{flex-direction:column;text-align:center} .leaf-decor{display:none}
}
