        #loader {
            position: fixed;
            width: 100%;
            height: 100%;
            background: rgba(255, 255, 255, 0.9);
            top: 0;
            left: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 9999;
        }
        
        .spinner {
            width: 60px;
            height: 60px;
            border: 5px solid #e3e3e3;
            border-top-color: #28a745;
            border-radius: 50%;
            animation: spin 1s linear infinite;
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        ::-webkit-scrollbar {
            width: 12px;
            height: 12px;
        }

        ::-webkit-scrollbar-track {
            background-color: #ffffff; 
            border-radius: 10px;
        }

        ::-webkit-scrollbar-thumb {
            background-color: #28a745;
            border-radius: 10px;
            border: 3px solid #f1f1f1;
        }

        ::-webkit-scrollbar-thumb:hover {
            background-color: #20c997;
        }

        .carousel-control-prev-icon,
        .carousel-control-next-icon {
            background-color: #28a745; 
            border-radius: 50%;
        }

        .carousel-control-prev-icon:hover,
        .carousel-control-next-icon:hover {
            background-color: #20c997;
        }

        .carousel-indicators button {
            background-color: #6c757d; 
        }

        .carousel-indicators .active {
            background-color: #28a745;
        }

        .scroll-container {
            display: flex; 
            overflow-x: auto; 
            width: 100%; 
            padding: 10px 0; 
            margin-bottom: 30px;
        }

        .scroll-container img {
            width: 100px; 
            height: auto; 
            margin-right: 50px; 
        }

        .card {
            width: 20rem;
            padding: 20px;
            box-sizing: border-box; 
            text-align: center;
            border: none;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            border-radius: 15px;
        }

        .card-body {
            display: flex;
            flex-direction: column;
            justify-content: space-between; 
            height: 100%; 
        }

        .card-text {
            flex-grow: 1; 
        }

        .btn {
            margin-top: auto; 
            background: linear-gradient(135deg, #28a745, #20c997);
            border: none;
            border-radius: 25px;
            padding: 10px 25px;
            color: white;
        }

        .btn:hover {
            background: linear-gradient(135deg, #20c997, #17a2b8);
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(40, 167, 69, 0.3);
        }

        .btn-donate {
            background: linear-gradient(135deg, #fd7e14, #e63946);
            border: none;
            border-radius: 25px;
            padding: 12px 30px;
            color: white;
            font-weight: bold;
            font-size: 1.1rem;
            text-align: center;
            min-width: 180px;
        }

        .btn-donate:hover {
            background: linear-gradient(135deg, #e63946, #dc3545);
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(253, 126, 20, 0.4);
            color: white;
        }

        #programs {
            text-align: center;
            display: flex;
            gap: 20px; 
            justify-content: center;
        }

        .card-hover:hover {
            transform: translateY(-10px); 
            box-shadow: 0 8px 30px rgba(40, 167, 69, 0.3); 
            transition: transform 0.3s ease, box-shadow 0.3s ease; 
        }

        .visimisi {
            display: flex;
            justify-content: space-between;
            gap: 50px;
        }

        .vision, .mission {
            width: 50%;
            margin-top: 50px;
            padding-bottom: 20px;
        }

        .cr {
            background: linear-gradient(135deg, rgba(40, 167, 69, 0.1) 0%, rgba(32, 201, 151, 0.1) 100%);
            padding: 50px 0;
            margin: 40px 0;
        }

        .hero-section {
            background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
            color: white;
            padding: 100px 0;
            position: relative;
            overflow: hidden;
        }

        .hero-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="80" cy="40" r="1.5" fill="rgba(255,255,255,0.1)"/><circle cx="40" cy="80" r="1" fill="rgba(255,255,255,0.1)"/></svg>');
            opacity: 0.6;
        }

        .hero-content {
            position: relative;
            z-index: 2;
        }

        .hero-title {
            font-size: 3.5rem;
            font-weight: bold;
            margin-bottom: 1.5rem;
            background: linear-gradient(45deg, #fff, #f0fff0);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .features-section {
            padding: 80px 0;
            background: #f8f9fa;
        }

        .feature-card {
            background: white;
            padding: 40px 30px;
            border-radius: 20px;
            text-align: center;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease;
            border: none;
            height: 100%;
        }

        .feature-card:hover {
            transform: translateY(-10px);
        }

        .feature-icon {
            width: 80px;
            height: 80px;
            background: linear-gradient(135deg, #28a745, #20c997);
            border-radius: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 20px;
            color: white;
            font-size: 2rem;
        }

        .stats-section {
            background: linear-gradient(135deg, #28a745, #20c997);
            color: white;
            padding: 60px 0;
        }

        .stat-item {
            text-align: center;
            padding: 20px;
        }

        .stat-number {
            font-size: 3rem;
            font-weight: bold;
            display: block;
        }

        .evidence-carousel {
            width: 100%;
            overflow: hidden;
            position: relative;
        }

        .evidence-track {
            display: flex;
            width: calc(320px * 12); 
            animation: scroll-left 30s linear infinite;
        }

        .evidence-item {
            flex: 0 0 300px;
            margin-right: 20px;
            position: relative;
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
            background: white;
        }

        .evidence-item img {
            width: 100%;
            height: 200px;
            object-fit: cover;
        }

        .evidence-caption {
            padding: 15px;
            text-align: center;
        }

        .evidence-caption h6 {
            margin: 0 0 5px 0;
            font-weight: 600;
            color: #28a745;
        }

        .evidence-caption small {
            color: #6c757d;
        }

        @keyframes scroll-left {
            0% {
                transform: translateX(0);
            }
            100% {
                transform: translateX(calc(-320px * 6)); /* Move by half the total width */
            }
        }

        .evidence-carousel:hover .evidence-track {
            animation-play-state: paused;
        }

        .cta-section {
            background: linear-gradient(135deg, #28a745, #20c997);
            color: white;
            padding: 80px 0;
            text-align: center;
        }

        .cta-btn {
            background: white;
            color: #28a745;
            padding: 15px 40px;
            border-radius: 50px;
            font-weight: bold;
            text-decoration: none;
            display: inline-block;
            margin: 10px;
            transition: all 0.3s ease;
            text-align: center;
            min-width: 160px;
        }

        .cta-btn:hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 25px rgba(255, 255, 255, 0.3);
            color: #20c997;
        }

        .backg {
            padding-top: 5px;
            margin-top: 20px;
            background-color: #f8f9fa;
        }

        .progress-bar {
            background: linear-gradient(135deg, #28a745, #20c997);
        }

        .program-card {
            border: none;
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease;
        }

        .program-card:hover {
            transform: translateY(-5px);
        }

        .program-progress {
            height: 8px;
            background: #e9ecef;
            border-radius: 10px;
            overflow: hidden;
        }

        @media screen and (max-width: 1024px) and (min-width: 600px) {
            .card {
                width: 18rem;
            }
            .carousel-indicators {
                display: none;
            }
            .hero-title {
                font-size: 2.5rem;
            }
        }

        @media only screen and (max-width: 768px) {
            .card {
                flex: 1 1 calc(100% - 10px); 
            }
            #programs {
                flex-wrap: wrap;
                padding: 0 10px; 
                margin-bottom: 20px;
            }
            .visimisi {
                flex-wrap: wrap;
                gap: 10px;
            }
            .vision, .mission {
                width: 100%;
            }
            .carousel-indicators {
                display: none;
            }
            .hero-title {
                font-size: 2rem;
            }
            .stat-number {
                font-size: 2rem;
            }
            .amount-buttons {
                grid-template-columns: repeat(2, 1fr);
            }
        }