 :root {
            /* --- THEME COLORS BASED ON YOUR #DF5311 --- */
            --theme-color: #DF5311;
            --theme-color-dark: #B9460E; /* A darker shade for hovers */
            --theme-gradient: linear-gradient(135deg, #DF5311, #E58A55); /* Gradient with a lighter shade */

            /* --- NEUTRAL & TEXT COLORS --- */
            --primary-text: #1a202c;
            --secondary-text: #4a5568;
            --card-bg: #ffffff;
            --page-bg: #FEFBF9; /* Warm off-white to complement the orange */
            --shadow-color: #e8e2dd;
        }

        body {
            margin: 0;
            font-family: 'Poppins', sans-serif;
            background-color: var(--page-bg);
        }

        .what-we-do-section {
            padding: 80px 20px;
        }

        .section-title {
            text-align: center;
            color: var(--primary-text);
            font-size: 2.8rem;
            font-weight: 700;
            margin-bottom: 60px;
        }
        
        .card-container {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 35px;
            max-width: 1600px;
            margin: 0 auto;
        }
        
        .ngo-card {
            background-color: var(--card-bg);
            border-radius: 16px;
            box-shadow: 0 4px 12px var(--shadow-color);
            overflow: hidden;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .ngo-card:hover {
            transform: translateY(-12px);
            box-shadow: 0 20px 40px var(--shadow-color);
        }

        .card-header {
            height: 160px;
            display: flex;
            align-items: center;
            justify-content: center;
            clip-path: polygon(0 0, 100% 0, 100% 75%, 0% 100%);
            /* Using the new unified gradient */
            background-image: var(--theme-gradient);
        }

        .card-header i {
            font-size: 50px;
            color: white;
            transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }

        .ngo-card:hover .card-header i {
            transform: scale(1.2) rotate(-15deg);
        }

        .card-body {
            padding: 20px 30px 30px 30px;
        }

        .card-title {
            font-size: 1.6rem;
            font-weight: 700;
            color: var(--primary-text);
            margin: 0 0 10px 0;
            text-align: center;
        }

        .card-description {
            font-size: 0.95rem;
            line-height: 1.6;
            color: var(--secondary-text);
            margin-bottom: 25px;
            text-align: center;
            min-height: 100px;
        }
        
        .card-button-wrapper {
            text-align: center;
        }

        .card-button {
            display: inline-block;
            /* Using the new unified theme color */
            background-color: var(--theme-color);
            color: white;
            padding: 10px 25px;
            border-radius: 50px;
            text-decoration: none;
            font-weight: 600;
            transition: background-color 0.3s ease, transform 0.3s ease;
        }

        .card-button:hover {
            background-color: var(--theme-color-dark);
            transform: scale(1.05);
        }