/* Global CSS Variables for consistent theming across the site */
:root {
  --bg-main: #2b3529;
  --bg-header: #333f31;
  --bg-card: #3b4739;
  --bg-hero: #465443;
  --text-bright: #ffffff;
  --text-muted: #a3b8a3;
  --accent-light: #c0dbc0;
  --border-subtle: #ffffff1a;

  --font-family-base: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-size-base: 1rem;
  --font-size-lg: 1.2rem;
}
body { /* Global body styling */
  display: flex; /* Enables flexbox layout for the whole body */
  flex-direction: column; /* Stacks whole body including header, main, and footer vertically */
  font-family: var(--font-family-base);
  background-color: var(--bg-main);
  color: var(--text-bright);
  margin: 0; /* Removes default margin for full-width layout */
  min-height: 100vh; /* Ensures the body takes at least the full viewport height */
}
.header { /* Header styling */
  display: flex; /* Flexbox layout for header */
  justify-content: space-between; /* Distributes space between logo and navigation links */
  align-items: center; /* Vertically centers items in the header */
  padding: 20px 40px; /* Adds padding around the header content */
  background-color: var(--bg-header); /* Darker header background for contrast */
}
.logo { /* Logo styling */
font-weight: bold; /* Makes the logo text bold for emphasis */
font-size: var(--font-size-lg); /* Slightly larger font size for the logo */
letter-spacing: 1px; /* Adds spacing between letters for a cleaner look */
}
.content-container { /* Main content container styling */
  text-align: center; /* Centers the content horizontally */
  padding: 40px;/* Adds padding around the main content for spacing */
}
ul { /* Styling for unordered lists */
  list-style-position: inside; /* Ensures bullets are inside the list item box */
  padding: 0; /* Removes default padding for cleaner alignment */
}
.nav-links { /* Navigation links container styling */
  display: flex; /* Flexbox layout for navigation links */
  gap: 20px; /* Adds space between each navigation link */
}
.nav-links a { /* Styling for navigation links */
  color: var(--text-muted); /* Slightly muted green text by default */
  text-decoration: none; /* Removes underline from links */
  transition: color 0.2s ease;  /* Smoothly animates color changes over 0.2 seconds */
}
.nav-links a:hover {
  color: var(--text-bright); /* Brightens link text to solid white on hover */
}
.cards-container { /* Container for the cards */
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 30px;
}   
.card { /* Individual card styling */
  flex: 1 1 250px; /* flex-grow: 1, flex-shrink: 1, flex-basis: 250px */
  background-color: var(--bg-card); /* Darker card background for contrast */
  padding: 24px; /* Adds internal spacing for content */
  border-radius: 8px; /* Softens the corners */
  border: 1px solid var(--border-subtle) ; /* Subtle border for definition */
  text-align: left;   /* Left-aligns inner card text for cleaner reading */
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.card:hover {
  transform: translateY(-6px);                /* Lifts the card up by 6 pixels */
  border-color: var(--accent-light);                      /* Accent border highlight */
  box-shadow: 0 12px 24px var(--bg-main); /* Adds a soft shadow for depth */
}
.card:first-child {
flex: 1 1 100%;           /* Makes the first card take full width on larger screens */
background-color: var(--bg-hero);     /* Slightly lighter green background to pop */
border-color: var(--accent-light);         /* Accent border */
padding: 32px;                 /* Slightly larger padding for prominence */
}
.card h2 { /* Heading styling within cards */
  margin-top: 0; /* Removes default top margin for tighter spacing */
  color: var(--accent-light);     /* Muted light green accent color for headings */
} 
.card p { /* Paragraph styling within cards */
margin-bottom: 0; /* Removes default bottom margin for tighter spacing */
font-size: var(--font-size-base); /* Uses the base font size for card text */
line-height: 1.5;   /* Gives lines of text room to breathe */
} 
.site-footer { /* Footer styling */
margin-top: auto;       /* Pushes the footer to the bottom of the page by putting all available space above it */
background-color: var(--bg-footer);
text-align: center;
padding: 20px;
font-size: var(--font-size-base);
color: var(--text-muted);
border-top: 1px solid var(--border-color);
}
@media (max-width: 600px) {
  .header {
  flex-direction: column; /* Overrides row alignment to stack logo and nav vertically */
  gap: 15px;             /* Creates vertical space between logo and nav links */
  padding: 20px;          /* Reduces horizontal padding on narrow screens */
  }
  .nav-links {
  flex-wrap: wrap;       /* Allows links to wrap safely if the screen is extremely narrow */
  justify-content: center;
  }
  .card { /* Individual card styling */
  text-align: center;   /* center-aligns inner card text for cleaner reading */
  }
}