        /* --- OPTIMASI SMOOTH SCROLL --- */
        html {
            scroll-behavior: smooth;
        }

        /* --- RESET & GLOBAL STYLES --- */
        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
            color: #7A7A7A;
            line-height: 1.6;
            background-color: #ffffff;
            overflow-x: hidden;
        }

        h1, h2, h3, .heading-poppins {
            color: #1c1e21;
        }

        img {
            max-width: 100%;
            height: auto;
            display: block;
        }

        .container {
            max-width: 1140px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* --- SECTION HERO (GREEN GRADIENT) --- */
        .ndas {
            background-image: linear-gradient(200deg, #54B94E 0%, #00763a 100%);
            padding: 80px 0 120px 0;
            color: #ffffff;
            position: relative;
            text-align: left;
            clip-path: ellipse(120% 100% at 50% 0%);
            margin-bottom: 50px;

        }

        .ndas h1 {
            font-size: 42px;
            font-weight: 800;
            line-height: 1.3;
            color: #ffffff;
            margin-bottom: 15px;
        }

        .ndas h2 {
            font-size: 25px;
            font-weight: 500;
            line-height: 1.4;
            color: #ffffff;
            margin-bottom: 20px;
        }

        .ndas p {
            font-size: 16px;
            color: rgba(255, 255, 255, 0.9);
            margin-bottom: 35px;
            max-width: 800px;
        }

        /* Tombol Promo Khas (Kuning Lembut) */
        .btn-promo {
            display: inline-flex;
            align-items: center;
            background-color: #ffe072;
            color: #574b21;
            font-weight: 600;
            font-size: 16px;
            padding: 15px 35px;
            text-decoration: none;
            border-radius: 900px;
            transition: transform 0.3s ease, background-color 0.3s ease;
            box-shadow: 0 4px 15px rgba(0,0,0,0.15);
            cursor: pointer;
        }

        .btn-promo:hover {
            background-color: #ffd84d;
            transform: translateY(-2px);
        }

        /* --- SECTION MANFAAT (LIGHT GREEN TINT) --- */
        .manfaat-section {
            padding: 80px 0 80px 0;
            position: relative;
            color: #000000;
            text-align: left;
            clip-path: ellipse(120% 100% at 50% 0%);
            background-color: #ffffff;
            text-align: center;
            margin-top: -50px;

            z-index: 5;
        }

        .manfaat-section h2 {
            font-size: 30px;
            font-weight: 800;
            color: #1c1e21;
            margin-bottom: 10px;
        }

        .manfaat-section p.sub-title {
            font-size: 20px;
            font-weight: 600;
            color: rgba(28, 30, 33, 0.86);
            margin-bottom: 40px;
        }

        /* Mengatur pembungkus utama grid */
        .b-1 {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* Di HP: otomatis numpuk 1 kolom ke bawah */
            gap: 20px; /* Jarak antar kotak */
            margin-top: 20px;
        }

        /* Komponen kotak itemnya */
        .b-2 {
            background: #ffffff;
            padding: 20px;
            border: 1px solid #e1e8ed;
            border-radius: 8px;
            transition: transform 0.3s ease, background-color 0.3s ease;
            box-shadow: 0 4px 15px rgba(0,0,0,0.15);
            cursor: pointer;
        }

       .b-2:hover {
            transform: translateY(-5px);
        }

        /* MEDIA QUERY: Saat dibuka di laptop/komputer, ubah jadi 2 kolom */
        @media (min-width: 768px) {
            .b-1 {
                grid-template-columns: 1fr 1fr; /* Ini yang membuat layout jadi 2x2 */
            }
        }

        .c {
            max-width: 500px;      /* 1. Batasi lebar kotak daftar sesuai panjang kalimat */
            margin: 20px auto 0;  /* 2. "auto" di kanan-kiri membuat kotak bergeser ke tengah */
            text-align: left;     /* 3. Menjaga teks di dalam daftar tetap rata kiri */
            background: #e8f5e9;
            padding: 30px;
            border-left: 5px solid #198754;
            border-radius: 8px;
        }

        /* Opsional: Merapikan jarak titik list agar tidak terlalu menempel ke tepi */
        .c ul {
            padding-left: 20px; 
        }

        .d {
            padding: 80px 0 80px 0;
            position: relative;
            color: #000000;
            text-align: center;
            clip-path: ellipse(120% 100% at 50% 0%);
            background-color: #ffffff;
            margin-top: -50px;
            z-index: 5;
        }

        /* Grid Galeri / Foto */
        .photo-grid {
            display: grid;
            /* Auto-fit akan otomatis membagi kolom, dan membuat 2 item terakhir turun ke bawah jika layar tidak muat */
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 25px;
            margin-top: 20px;
        }

        .photo-item {
            background: #ffffff;
            border-radius: 8px;
            overflow: hidden; /* Penting: memotong ujung foto agar ikut melengkung 8px */
            box-shadow: 0 4px 10px rgba(0,0,0,0.05);
            transition: transform 0.3s ease, box-shadow 0.3s ease; /* Ditambahkan smooth transition untuk bayangan */
        }

        /* Efek Hover bawaan Anda tetap dipertahankan */
        .photo-item:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.1); /* Opsional: bayangan agak tebal saat naik agar efek timbul lebih terasa */
        }

        /* CSS BARU: Mengatur foto (.card-img) agar presisi di dalam kotak */
        .photo-item .card-img {
            width: 100%;
            height: 220px;       /* Tingginya disamakan dengan photo-placeholder Anda (220px) */
            display: block;
            object-fit: cover;   /* Jaminan foto tidak gepeng/melar saat grid melebar */
            object-position: center;
        }

        /* Placeholder lama Anda tetap dipertahankan (jika sewaktu-waktu ada kotak yang belum diberi foto) */
        .photo-placeholder {
            background-color: #e2e8f0;
            height: 220px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #a0aec0;
            font-weight: 500;
        }

        /* --- SECTION FITUR / TEKNOLOGI (GREEN GRADIENT 2) --- */
        .features-section {
            background-image: linear-gradient(200deg, #54b94e 0%, #00763a 100%);
            padding: 100px 0 120px 0;
            margin-top: -100px;
            text-align: center;
            z-index: 15;

        }

        .features-section h3 {
            font-size: 18px;
            font-weight: 400;
            color: #ffffff;
            text-transform: capitalize;
            letter-spacing: 1px;
            margin-bottom: 15px;
        }

        .features-section h2 {
            font-size: 36px;
            font-weight: 800;
            color: #ffffff;
            margin-bottom: 25px;
        }

        .features-text {
            max-width: 750px;
            margin: 0 auto 40px auto;
            font-size: 16px;
            color: rgba(255, 255, 255, 0.9);
        }

        .container {
            width: 100%;
            max-width: 1140px;
            margin: 0 auto;
            padding: 0 15px;
        }

        /* Responsive Mobile Adjustments */
        @media (max-width: 1024px) {
            .container { max-width: 1024px; }
            .ndas h1 { font-size: 36px; }
        }

        @media (max-width: 767px) {
            .container { max-width: 100%; }
            .ndas { padding: 60px 0; text-align: center; }
            .ndas h1 { font-size: 28px; }
            .ndas h2 { font-size: 20px; }
            .manfaat-section h2 { font-size: 24px; }
            .manfaat-section p.sub-title { font-size: 18px; }
            .features-section h2 { font-size: 28px; }
        }
