:root {
  --bg: #f7f4ef;
  --bg-secondary: #f0ece4;
  --fg: #1a3a2a;
  --primary: #1a3a2a;
  --accent: #d4a853;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  background: var(--bg);
  color: var(--fg);
  font-family: 'DM Sans', sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* Hero split layout */
.hero-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  padding: 8rem 5rem 5rem;
  gap: 4rem;
  max-width: 1280px;
  margin: 0 auto;
  min-height: 90vh;
}

/* Feature grid */
.features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

/* How it works two-column */
.how-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
}

/* Outcomes bar */
.outcomes-bar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}

/* Mobile */
@media (max-width: 768px) {
  .hero-wrap { grid-template-columns: 1fr; padding: 7rem 1.5rem 3rem; gap: 2.5rem; }
  .features-grid { grid-template-columns: 1fr; }
  .how-grid { grid-template-columns: 1fr; gap: 3rem; }
  .outcomes-bar { grid-template-columns: 1fr; }
  section { padding: 3.5rem 1.5rem !important; }
  nav { padding: 1rem 1.5rem !important; }
  footer { padding: 1.5rem !important; }
}