@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600&family=Poppins:wght@600&display=swap');

:root {
  /* Brand Colors */
  --primary-green: #54B435;
  --hover-green: #379237;
  --dark-slate: #0F172A;
  --body-text: #2F3B40;
  --light-green-bg: #EDFBE2;
  --subtle-green-bg: #D5EAD8;
  --dark-bg: #0C1406;
  --black: #222222;
  --white: #FFFFFF;
  
  /* Typography */
  --font-heading: 'Poppins', sans-serif;
  --font-body: 'Open Sans', sans-serif;
}

/* Reset */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--font-body);
  color: var(--body-text);
  line-height: 1.6;
  background-color: var(--white);
  -webkit-font-smoothing: antialiased;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  color: var(--dark-slate);
  margin-bottom: 0.5em;
  font-weight: 600;
}

a {
  color: var(--primary-green);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--hover-green);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

ul {
  list-style: none;
}

/* Utility Classes */
.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.section {
  padding: 80px 0;
}

.section-light {
  background-color: var(--light-green-bg);
}

.section-subtle {
  background-color: var(--subtle-green-bg);
}

.section-dark {
  background-color: var(--dark-bg);
  color: var(--white);
}

.section-dark h1, 
.section-dark h2, 
.section-dark h3, 
.section-dark h4, 
.section-dark h5, 
.section-dark h6 {
  color: var(--white);
}

.text-center {
  text-align: center;
}

.mb-20 { margin-bottom: 20px; }
.mb-40 { margin-bottom: 40px; }
.mb-50 { margin-bottom: 50px; }

/* Responsive adjustments */
@media (max-width: 768px) {
  .section {
    padding: 50px 0;
  }
}
