@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&family=Lato:wght@400;700&display=swap');

:root {
  /* Green/Nature Palette */
  --primary-color: #27AE60;
  --secondary-color: #1E8449;
  --accent-color: #2ECC71;
  --light-color: #EAFAF1;
  --dark-color: #145A32;
  --gradient-primary: linear-gradient(135deg, #58D68D 0%, #27AE60 100%);
  --hover-color: #239B56;
  --background-color: #FdfcF5;
  --text-color: #2C3E50;
  
  /* Neumorphism & Borders */
  --border-color: rgba(39, 174, 96, 0.2);
  --divider-color: rgba(30, 132, 73, 0.1);
  --shadow-light: #ffffff;
  --shadow-dark: #d1d9d4;
  --highlight-color: #F1C40F; /* Complementary Yellow */
  
  --main-font: 'Montserrat', sans-serif;
  --alt-font: 'Lato', sans-serif;
}

/* Base Styles */
body { font-family: var(--alt-font); color: var(--text-color); background-color: var(--background-color); margin: 0; overflow-x: hidden; }
h1, h2, h3, h4, h5, h6 { font-family: var(--main-font); margin-bottom: 0.5em; }

/* Neumorphism Classes */
.neu-flat { background: var(--background-color); box-shadow: 5px 5px 10px var(--shadow-dark), -5px -5px 10px var(--shadow-light); border-radius: 15px; }
.neu-pressed { background: var(--background-color); box-shadow: inset 5px 5px 10px var(--shadow-dark), inset -5px -5px 10px var(--shadow-light); border-radius: 15px; }
.neu-btn { background: var(--gradient-primary); color: white; border: none; padding: 12px 24px; border-radius: 50px; box-shadow: 3px 3px 6px rgba(0,0,0,0.2); transition: transform 0.2s; cursor: pointer; display: inline-block; text-decoration: none; font-weight: bold; }
.neu-btn:hover { transform: translateY(-2px); box-shadow: 4px 4px 8px rgba(0,0,0,0.3); color: white; }

/* Hamburger Menu (No JS) */
#menu-toggle { display: none; }
.mobile-menu { display: none; }
@media (max-width: 768px) {
    .desktop-nav { display: none; }
    .hamburger-icon { display: block; cursor: pointer; font-size: 1.5rem; color: var(--light-color); }
    #menu-toggle:checked + .mobile-menu { display: block; position: absolute; top: 60px; left: 0; width: 100%; background: var(--dark-color); padding: 20px; z-index: 50; }
    .mobile-menu ul { list-style: none; padding: 0; }
    .mobile-menu li { margin-bottom: 15px; text-align: center; }
    .mobile-menu a { color: white; text-decoration: none; font-size: 1.2rem; }
}

/* Custom Utilities */
.section-pad { padding-top: 10vh; padding-bottom: 10vh; }
.text-highlight { color: var(--highlight-color); }
.timeline-item { border-left: 4px solid var(--primary-color); padding-left: 20px; margin-bottom: 30px; position: relative; }
.timeline-item::before { content: ''; position: absolute; left: -12px; top: 0; width: 20px; height: 20px; background: var(--highlight-color); border-radius: 50%; }
.bg-overlay { background: rgba(20, 90, 50, 0.7); }