        /* CSS Reset & Basic Styling */
        :root {
            --primary-color: #8D6E63; /* Coklat lembut */
            --secondary-color: #F5F5F5; /* Abu-abu sangat muda */
            --dark-color: #333;
            --light-color: #fff;
            --font-serif: 'Playfair Display', serif;
            --font-sans: 'Montserrat', sans-serif;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
        font-family: var(--font-sans);
        line-height: 1.6;
        color: var(--dark-color);
        background-color: #FDFBF8; /* Warna putih gading untuk seluruh halaman */
        background-image: url('https://www.transparenttextures.com/patterns/gplay.png'); /* Pola Batik Kawung samar */
        background-repeat: repeat; /* Mengulang pola di seluruh halaman */
    }

        .container {
            max-width: 1100px;
            margin: auto;
            overflow: hidden;
            padding: 0 2rem;
        }

        h1, h2, h3 {
            font-family: var(--font-serif);
        }
        
        /* Header & Navigation */
        .header {
            background: rgba(255, 255, 255, 0.9);
            backdrop-filter: blur(10px);
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            z-index: 1000;
        }

        .navbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 1rem 2rem;
        }

        .navbar .logo {
            text-decoration: none;
            display: flex; /* Membantu alignment vertikal */
            align-items: center;
        }

        .navbar .logo img {
            height: 50px; /* Atur tinggi logo */
            width: 50px;  /* Samakan lebarnya dengan tinggi */
            border-radius: 50%; /* Kunci untuk membuatnya melingkar */
            object-fit: cover; /* Memastikan gambar mengisi lingkaran tanpa penyok */
        }

        .navbar ul {
            display: flex;
            list-style: none;
        }

        .navbar ul li a {
            padding: 0 1rem;
            text-decoration: none;
            color: var(--dark-color);
            font-weight: 700;
            transition: color 0.3s;
        }

        .navbar ul li a:hover {
            color: var(--primary-color);
        }
        
        .cta-button {
            background: var(--primary-color);
            color: var(--light-color);
            padding: 0.7rem 1.5rem;
            border-radius: 5px;
            text-decoration: none;
            font-weight: bold;
            transition: background 0.3s;
        }
        
        .cta-button:hover {
            background: #a1887f;
        }

        /* Hero Section */
        .hero {
            height: 100vh;
            background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)), url('Images/IMG_0297.JPG') no-repeat center center/cover;
            color: var(--light-color);
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: 0 2rem;
        }

        .hero h1 {
            font-size: 3.5rem;
            margin-bottom: 1rem;
        }

        .hero p {
            font-size: 1.2rem;
            max-width: 600px;
            margin-bottom: 2rem;
        }
        
        /* Sections */
        .section {
            padding: 6rem 0;
        }
        
        .section-title {
            text-align: center;
            margin-bottom: 4rem;
        }
        
        .section-title h2 {
            font-size: 2.5rem;
            margin-bottom: 0.5rem;
        }
        
        .section-title p {
            color: #777;
            text-transform: uppercase;
            letter-spacing: 2px;
        }

        /* About Section */
        .about-grid {
            display: grid;
            grid-template-columns: 1fr 1.5fr;
            gap: 3rem;
            align-items: center;
        }
        
        .about-grid img {
            width: 100%;
            border-radius: 10px;
            box-shadow: 0 10px 20px rgba(0,0,0,0.1);
        }
        
        /* Services Section */
        #services {
            background: var(--secondary-color);
        }
        
        .services-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
        }
        
        .service-card {
            background: var(--light-color);
            padding: 2.5rem 2rem;
            text-align: center;
            border-radius: 10px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.05);
            transition: transform 0.3s, box-shadow 0.3s;
        }
        
        .service-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 25px rgba(0,0,0,0.1);
        }
        
        .service-card i {
            font-size: 3rem;
            color: var(--primary-color);
            margin-bottom: 1.5rem;
        }
        
        .service-card h3 {
            font-size: 1.5rem;
            margin-bottom: 1rem;
        }
        
        /* Portfolio Section */
        .portfolio-filters {
            text-align: center;
            margin-bottom: 2.5rem;
        }

        .filter-btn {
            background: none;
            border: 2px solid #ddd;
            border-radius: 50px;
            padding: 0.7rem 1.5rem;
            margin: 0.3rem;
            cursor: pointer;
            font-weight: bold;
            font-family: var(--font-sans);
            transition: all 0.3s ease;
        }

        .filter-btn:hover {
            background: #f0f0f0;
            border-color: #ccc;
        }

        .filter-btn.active {
            background: var(--primary-color);
            color: var(--light-color);
            border-color: var(--primary-color);
        }

        .portfolio-grid {
            display: flex;
            overflow-x: auto;
            gap: 1rem;
            padding-bottom: 1.5rem;
            -webkit-overflow-scrolling: touch;
            scroll-snap-type: x mandatory;
        }

        .portfolio-grid::-webkit-scrollbar { height: 8px; }
        .portfolio-grid::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 10px; }
        .portfolio-grid::-webkit-scrollbar-thumb { background: var(--primary-color); border-radius: 10px; }

        .portfolio-item {
            width: calc(32% - 10px); /* Sesuaikan lebar agar 3 item terlihat penuh, dan sisakan sedikit ruang */
            margin: 0 5px; /* Tambahkan sedikit margin horizontal jika belum ada */
            flex-shrink: 0; /* Penting untuk slider manual, agar item tidak mengecil */
            flex: 0 0 320px;
            height: 400px;
            border-radius: 10px;
            overflow: hidden;
            scroll-snap-align: start;
            transition: transform 0.3s ease;
            display: block; /* Default display */
        }
        .swiper-container .swiper-slide {
            width: 32% !important; /* Contoh untuk Swiper.js */
            /* !important mungkin diperlukan jika Swiper menambahkan inline style */
        }

        .portfolio-item.hide {
            display: none; /* Class untuk menyembunyikan item */
        }

        .portfolio-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.3s ease;
        }

        .portfolio-item:hover img {
            transform: scale(1.1);
        }

        .portfolio-cta {
            text-align: center;
            margin-top: 3rem;
        }
        /* CSS Baru untuk Badge Kategori di Foto */
        
        /* CSS Baru untuk Badge Kategori di Foto */
        .portfolio-item .portfolio-link {
            position: relative;
            display: block;
            width: 100%;
            height: 100%;
        }

        .category-badge {
            position: absolute;
            /* --- POSISI BARU: TENGAH BAWAH --- */
            bottom: 20px;            /* Jarak 20px dari bawah */
            left: 50%;               /* Posisikan 50% dari kiri */
            transform: translateX(-50%); /* Geser ke kiri sejauh 50% dari lebar badge itu sendiri agar pas di tengah */

            /* --- TAMPILAN BARU --- */
            background-color: rgba(141, 110, 99, 0.8); /* Warna coklat muda semi-transparan */ /* Latar belakang sedikit lebih pekat agar tulisan jelas */
            color: var(--light-color);
            padding: 8px 18px; /* Sedikit lebih besar dan nyaman dilihat */
            border-radius: 50px;   /* Bentuk kapsul yang modern */
            font-size: 0.9rem;     /* Ukuran font sedikit lebih besar */
            font-weight: bold;
            font-family: var(--font-sans);
            backdrop-filter: blur(5px);
            z-index: 10;
            width: max-content;   /* Lebar badge menyesuaikan panjang teks */
            opacity: 1;           /* Selalu terlihat, tidak perlu di-hover */
            transition: all 0.3s ease;
        }

        /* Rule :hover di bawah ini sudah tidak diperlukan, Anda bisa menghapusnya */
        /*
        .portfolio-item:hover .category-badge {
            opacity: 1; 
        }
        */

        /* Lightbox / Popup CSS */
        /* Lightbox / Popup CSS untuk Galeri Swiper */

        .lightbox {
            position: fixed;
            z-index: 2000;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.9);
            display: none;
            justify-content: center;
            align-items: center;
        }

        .lightbox.show {
            display: flex;
        }

        .lightbox-swiper {
            width: 95%;
            height: 90%;
        }

        .swiper-slide {
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .swiper-slide img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }

        /* Kustomisasi Warna Tombol Navigasi Swiper */
        .swiper-button-next, .swiper-button-prev {
            color: var(--light-color); /* Menggunakan warna putih */
        }

        .lightbox-close {
            position: absolute;
            top: 20px;
            right: 35px;
            color: #fff;
            font-size: 40px;
            font-weight: bold;
            cursor: pointer;
            transition: color 0.3s;
            z-index: 2010; /* Pastikan tombol close di atas segalanya */
        }

        .lightbox-close:hover {
            color: #ccc;
        }

        /* Contact Section */
        #contact {
            background: var(--secondary-color);
            text-align: center;
        }
        
        .whatsapp-button {
            display: inline-block;
            background: #25D366;
            color: var(--light-color);
            padding: 1rem 3rem;
            border-radius: 50px;
            text-decoration: none;
            font-weight: bold;
            font-size: 1.2rem;
            transition: background 0.3s, transform 0.3s;
        }
        
        .whatsapp-button:hover {
            background: #128C7E;
            transform: scale(1.05);
        }
        
        .whatsapp-button i {
            margin-right: 0.5rem;
        }
        
        /* Footer */
        .footer {
            background: var(--dark-color);
            color: var(--light-color);
            text-align: center;
            padding: 2rem 0;
        }

        .footer a {
            color: var(--light-color);
            text-decoration: none;
            margin: 0 0.5rem;
            font-size: 1.5rem;
        }
        /* Video Section */
        .video-responsive {
            position: relative;
            overflow: hidden;
            padding-top: 56.25%; /* Ini adalah rasio 16:9 untuk video */
            max-width: 854px; /* Lebar maksimal video */
            margin: auto; /* Agar video berada di tengah */
            box-shadow: 0 10px 20px rgba(0,0,0,0.15);
            border-radius: 10px;
        }

        .video-responsive iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border: 0;
        }

                /* Testimonials Section */
        /* Testimonials Section */
        #testimonials {
            background: var(--secondary-color);
        }

        /* Testimonials Section */
        #testimonials {
            background: var(--secondary-color);
        }

        .testimonial-container {
            display: flex;
            overflow-x: auto;
            gap: 2rem;
            padding: 2rem 0;
            scroll-snap-type: x mandatory;
            -webkit-overflow-scrolling: touch;
        }

        .testimonial-container::-webkit-scrollbar { height: 8px; }
        .testimonial-container::-webkit-scrollbar-track { background: #e0e0e0; border-radius: 10px; }
        .testimonial-container::-webkit-scrollbar-thumb { background: var(--primary-color); border-radius: 10px; }

        .testimonial-card {
            flex: 0 0 80%;
            max-width: 320px;
            scroll-snap-align: center;
            text-align: center;
        }

        /* --- KODE BARU UNTUK EFEK IPHONE --- */
        .phone-mockup {
            width: 100%;
            aspect-ratio: 9 / 19.5;
            background: #111; /* Warna frame iPhone (Space Black) */
            border-radius: 40px; /* Sudut iPhone lebih melengkung */
            padding: 12px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
            margin-bottom: 1.5rem;
            position: relative; /* Penting untuk posisi elemen di dalamnya */
            border: 3px solid #444; /* Efek list metalik di samping */
        }

        .dynamic-island {
            position: absolute;
            top: 22px;
            left: 50%;
            transform: translateX(-50%);
            width: 100px;
            height: 25px;
            background: #000;
            border-radius: 50px;
            z-index: 11; /* Di atas layar */
        }

        .phone-screen {
            width: 100%;
            height: 100%;
            background-color: #ECE5DD;
            background-image: url('https://user-images.githubusercontent.com/15075759/28719144-86dc0f70-73b1-11e7-911d-60d70fcded21.png');
            border-radius: 28px; /* Sudut layar disesuaikan */
            overflow-y: auto;
            padding: 15px 5px; /* Padding disesuaikan */
        }

        .phone-screen::-webkit-scrollbar { width: 4px; }
        .phone-screen::-webkit-scrollbar-track { background: transparent; }
        .phone-screen::-webkit-scrollbar-thumb { background: #888; border-radius: 10px; }

        .phone-screen img {
            width: 100%;
            display: block;
        }

        .home-bar {
            position: absolute;
            bottom: 18px;
            left: 50%;
            transform: translateX(-50%);
            width: 120px;
            height: 4px;
            background: rgba(255, 255, 255, 0.4); /* Warna home bar semi-transparan */
            border-radius: 10px;
            z-index: 11;
        }
        /* --- AKHIR KODE EFEK IPHONE --- */

        .testimonial-info {
            padding: 0 1rem;
        }

        .testimonial-name {
            font-family: var(--font-serif);
            font-size: 1.2rem;
            font-weight: 700;
        }

        .testimonial-role {
            color: #777;
            font-size: 0.9rem;
        }

        /* Penyesuaian untuk layar yang lebih kecil */
        @media (max-width: 768px) {
                .testimonial-card {
                flex-basis: 90%; 
            }

            .portfolio-item {
                flex-basis: 85%; /* <- BARIS INI YANG AKAN KITA UBAH */
                scroll-snap-align: center; 
            }
        }
        /* Map Section */
        .map-container {
            border-radius: 15px; /* Membuat sudut peta melengkung */
            overflow: hidden; /* Penting agar iframe mengikuti border-radius */
            box-shadow: 0 10px 20px rgba(0,0,0,0.15);
            position: relative; /* Diperlukan untuk beberapa properti iframe */
            height: 450px; /* Atur ketinggian peta */
        }

        .map-container iframe {
            width: 100%;
            height: 100%;
            border: 0; /* Menghapus border default dari iframe */
        }
        .portfolio-slider-container {
    position: relative;
        }

        .slider-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            z-index: 20;
            background-color: rgba(255, 255, 255, 0.8);
            color: var(--dark-color);
            border: none;
            border-radius: 50%;
            width: 40px;
            height: 40px;
            font-size: 24px;
            cursor: pointer;
            display: flex;
            justify-content: center;
            align-items: center;
            box-shadow: 0 2px 5px rgba(0,0,0,0.2);
            transition: all 0.2s ease;
        }

        .slider-nav:hover {
            background-color: white;
            transform: translateY(-50%) scale(1.1);
        }

        .slider-nav.prev {
            left: 10px;
        }

        .slider-nav.next {
            right: 10px;
        }

        /* Menyembunyikan scrollbar di galeri */
        .portfolio-grid::-webkit-scrollbar {
            display: none; /* Chrome, Safari */
        }
        .portfolio-grid {
            -ms-overflow-style: none;  /* IE, Edge */
            scrollbar-width: none;  /* Firefox */
        }
        
        /* Mobile Responsiveness */
        @media (max-width: 768px) {
            .navbar {
                flex-direction: column;
                align-items: center;
            }
            .navbar ul {
                margin-top: 1rem;
                flex-wrap: wrap;
                justify-content: center;
            }
            .navbar ul li a {
                padding: 0.5rem;
            }
            
            .hero h1 {
                font-size: 2.5rem;
            }
            
            .about-grid, .services-grid {
                grid-template-columns: 1fr;
            }
            
            .about-grid img {
                margin-bottom: 2rem;
            }
        }
        /* Styling untuk Section Unit Usaha (Logo) */
        .logos-grid {
            display: flex; /* Ganti dari grid menjadi flex */
            justify-content: center; /* KUNCI: Membuat semua item berkelompok di tengah */
            align-items: center;
            flex-wrap: wrap; /* Agar bisa turun ke bawah di layar kecil */
            gap: 5rem; /* Atur jarak antar logo di sini */
            margin-top: 3rem;
        }
        .logo-item {
            text-align: center; /* Memastikan logo di tengah */
        }

        .logo-item img {
            max-width: 160px; /* Atur ukuran maksimal logo */
            width: 100%;
            filter: grayscale(100%); /* Membuat logo menjadi abu-abu */
            opacity: 0.7; /* Sedikit transparan */
            transition: all 0.3s ease;
        }

        .logo-item:hover img {
            filter: grayscale(0%); /* Warna asli muncul saat disentuh cursor */
            opacity: 1; /* Terlihat jelas */
            transform: scale(1.1); /* Sedikit membesar saat disentuh cursor */
        }
        /* Tombol Kontrol Musik */
        #music-toggle-btn {
            position: fixed;
            bottom: 25px;
            right: 25px;
            z-index: 999;
            background-color: var(--primary-color);
            color: var(--light-color);
            border: none;
            border-radius: 50%;
            width: 50px;
            height: 50px;
            font-size: 1.2rem;
            cursor: pointer;
            display: flex;
            justify-content: center;
            align-items: center;
            box-shadow: 0 4px 10px rgba(0,0,0,0.2);
            transition: all 0.3s ease;
        }

        #music-toggle-btn:hover {
            transform: scale(1.1);
            background-color: #a1887f;
        }

        #music-toggle-btn.playing {
            /* Gaya saat musik berputar, misalnya berkedip pelan */
            animation: pulse 2s infinite;
        }

        @keyframes pulse {
            0% { box-shadow: 0 0 0 0 rgba(141, 110, 99, 0.7); }
            70% { box-shadow: 0 0 0 10px rgba(141, 110, 99, 0); }
            100% { box-shadow: 0 0 0 0 rgba(141, 110, 99, 0); }
        }