@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css');

:root {
  /* Palette: #27AE60 (Green), #2ECC71 (Light Green), #F1C40F (Yellow), #ECF0F1 (Whiteish) */
  --primary-color: #27AE60;
  --secondary-color: #1E8449;
  --accent-color: #F1C40F;
  --light-color: #F8FBF9;
  --dark-color: #145A32;
  --gradient-primary: linear-gradient(135deg, #2ECC71 0%, #27AE60 100%);
  --hover-color: #229954;
  --background-color: #FCFDFD;
  --text-color: #2C3E50;
  --border-color: rgba(39, 174, 96, 0.2);
  --divider-color: rgba(30, 132, 73, 0.1);
  --shadow-color: rgba(39, 174, 96, 0.15);
  --highlight-color: #E67E22;
  
  /* Fonts */
  --main-font: 'Montserrat', sans-serif;
  --alt-font: 'Open Sans', sans-serif;
}

/* Base Styles */
body { font-family: var(--alt-font); color: var(--text-color); background: var(--background-color); margin: 0; }
h1, h2, h3, h4, h5, h6 { font-family: var(--main-font); color: var(--dark-color); }

/* Neumorphism Utilities */
.neu-box {
    background: var(--background-color);
    box-shadow: 8px 8px 16px var(--shadow-color), -8px -8px 16px #ffffff;
    border-radius: 15px;
    border: 1px solid var(--border-color);
}
.neu-btn {
    background: var(--gradient-primary);
    color: white;
    box-shadow: 5px 5px 10px var(--shadow-color);
    transition: transform 0.2s;
}
.neu-btn:hover { transform: translateY(-2px); background: var(--hover-color); }

/* Hamburger Menu CSS Only */
#nav-toggle { display: none; }
.nav-menu { display: flex; }
@media (max-width: 768px) {
    .nav-menu {
        display: none;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: var(--background-color);
        padding: 20px;
        box-shadow: 0 4px 6px var(--shadow-color);
    }
    #nav-toggle:checked + .hamburger + .nav-menu { display: flex; }
    .hamburger { display: block; cursor: pointer; padding: 10px; font-size: 1.5rem; color: var(--primary-color);}
}
@media (min-width: 769px) { .hamburger { display: none; } }