* { margin:0; padding:0; box-sizing:border-box; }
:root {
  --bg: #171923; --fg: #f7fafc;
  --primary: #ed64a6; --secondary: #2d3748;
}
body { font-family:sans-serif; background:var(--bg); color:var(--fg); line-height:1.6; }
.site-header { display:flex; align-items:center; justify-content:space-between; background:var(--secondary); padding:1rem 2rem; }
.logo { height:40px; }
.main-nav a { color:var(--fg); margin-left:1rem; text-decoration:none; }
.hero { text-align:center; padding:4rem 2rem; }
.hero h1 { font-size:2.5rem; margin-bottom:1rem; color:var(--primary); }
.btn-primary { display:inline-block; margin:1rem .5rem; padding:.75rem 1.5rem; background:var(--primary); color:var(--bg); border-radius:4px; text-decoration:none; }
.features { padding:4rem 2rem; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1.5rem; }
.card { background:var(--secondary); padding:1.5rem; border-radius:6px; text-align:center; }
.how-it-works { padding:4rem 2rem; background:#1a202c; }
.cta-bar { text-align:center; padding:2rem; background:var(--secondary); }
.cta-bar a { margin:.5rem; padding:.75rem 1rem; background:var(--fg); color:var(--bg); text-decoration:none; border-radius:4px; }
.testimonial { padding:4rem 2rem; text-align:center; font-style:italic; }
.site-footer { background:var(--secondary); text-align:center; padding:2rem; margin-top:2rem; }
.features .card {
  transition: transform 0.2s, box-shadow 0.2s;
}
.features .card:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.features {
  animation: fadeIn 0.8s ease-out forwards;
}

/* Manifesto icons */
.manifesto-list .icon {
  width: 24px;
  height: 24px;
  vertical-align: middle;
  margin-right: 0.75rem;
  display: inline-block;
}
