:root{
  --brand-green:#1e7d3c;
  --brand-green-dark:#155a2b;
  --brand-bg:#f6f9f6;
}
body{
  font-family:'Poppins',sans-serif;
  color:#1f2a22;
  background:#fff;
  padding-top:76px;
}
.text-success{ color:var(--brand-green) !important; }
.btn-success{
  background-color:var(--brand-green);
  border-color:var(--brand-green);
}
.btn-success:hover{
  background-color:var(--brand-green-dark);
  border-color:var(--brand-green-dark);
}
.btn-outline-success{
  color:var(--brand-green);
  border-color:var(--brand-green);
}
.btn-outline-success:hover{
  background-color:var(--brand-green);
  color:#fff;
}

.hero{
  background:linear-gradient(135deg,var(--brand-bg) 0%,#eef5ee 100%);
  min-height:88vh;
}
.hero-illustration{
  filter:drop-shadow(0 20px 30px rgba(30,125,60,.15));
}

.activity-card{
  background:#fff;
  border:1px solid #e7ece7;
  border-radius:16px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.activity-card:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 25px rgba(0,0,0,.06);
}
.activity-card.active-module{
  border-color:var(--brand-green);
}
.activity-icon{ font-size:2.5rem; }

.check-badge{
  width:28px; height:28px; min-width:28px;
  border-radius:50%;
  background:var(--brand-green);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:.85rem; font-weight:700;
}

.feature-card{
  background:#fff;
  border:1px solid #e7ece7;
  border-radius:16px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.feature-card:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 25px rgba(0,0,0,.06);
}
.feature-icon{ font-size:2rem; }

.footer-link{
  color:rgba(255,255,255,.65);
  text-decoration:none;
}
.footer-link:hover{ color:#fff; }

@media (max-width:991.98px){
  .hero{ min-height:auto; padding:2rem 0; }
}
