:root { --green:#0f6c3f; --green-dark:#0c5230; --bg:#fff; --text:#333; }
* { box-sizing: border-box; }
body { font-family: 'Roboto', Arial, Helvetica, sans-serif;   margin:0; color:var(--text); background:var(--bg); }
a { color: var(--green); text-decoration:none; }
/* Header / nav */
.topbar { position: sticky; top:0; z-index:1000;  background: var(--green); color:#fff; padding: 14px 16px; }
.nav { max-width: 1100px; margin: 0 auto; display:flex; align-items:center; gap:16px; }
.nav a.brand { color:#fff; font-weight:bold; text-decoration:none; }
.nav .links { margin-left:auto; display:flex; gap:14px; }
.nav .links a { color:#fff; text-decoration:none; padding:6px 10px; border-radius:6px; }
.nav .links a:hover { background: rgba(255,255,255,0.12); }
/* Hero */
.hero { background: var(--green); color:#fff; text-align:center; padding:40px 16px; }
.hero h1 { margin:0 0 8px; font-size:28px; }
.hero p { margin:0 0 12px; }
.btn { display:inline-block; padding:12px 18px; border-radius:8px; text-decoration:none; font-weight:bold; }
.btn-primary { background:#fff; color: var(--green); }
.btn-outline { border:2px solid #fff; color:#fff; }
.btn:hover { opacity:.92; }
/* Sections */
main { max-width: 1100px; margin:0 auto; padding: 28px 18px; }
h2 { color: var(--green); margin: 0 0 14px; }
.card { border:1px solid #eee; border-radius:12px; padding:20px; background:#fff; }
.grid-3 { display:grid; gap:20px; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); }
.service-card { border:1px solid #eee; border-radius:12px; padding:16px; background:#fff; }
.cta-banner { background: var(--green); color:#fff; text-align:center; padding: 30px 18px; border-radius:12px; }
footer { padding:24px 16px; text-align:center; color:#666; }
/* Forms */
label { font-weight: bold; display:block; margin: 8px 0 6px; }
input, select, textarea { width:100%; padding:12px; border:1px solid #ddd; border-radius:8px; font-size:14px; }
textarea { min-height:120px; resize:vertical; }
.row { display:grid; gap:12px; grid-template-columns:1fr; }
@media (min-width: 700px) { .row { grid-template-columns:1fr 1fr; } }
.hint { font-size:12px; color:#666; margin-top:6px; }
.map { border:1px solid #eee; border-radius:12px; overflow:hidden; height:260px; }
.badge { display:inline-block; background:#f3f7f5; color:#194e33; border:1px solid #e3efe9; padding:6px 10px; border-radius:999px; font-size:12px; margin:4px 6px 0 0; }
.nav a.brand img{ height:50px; display:block; }
h1,h2,h3,h4,h5,h6{ font-family:'Montserrat','Roboto',Arial,Helvetica,sans-serif; }

/* Hover effects for cards */
.service-card, .card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.service-card:hover, .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.08);
}

/* Hover effects for buttons */
.btn {
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}
.btn:hover {
  opacity: 1;
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0,0,0,0.12);
}

/* --- UI Enhancements: hover effects & sticky navbar --- */
.topbar { position: sticky; top: 0; z-index: 1000; box-shadow: 0 1px 0 rgba(0,0,0,0.06); }

.btn { transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease; }
.btn:hover { opacity: 1; transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.12); }

.service-card, .card { transition: transform 0.2s ease, box-shadow 0.2s ease; will-change: transform; }
.service-card:hover, .card:hover { transform: translateY(-4px); box-shadow: 0 6px 14px rgba(0,0,0,0.08); }
