:root {
    --biru-muda: #87CEEB;
    --biru-tua: #003366;
    --kuning: #FFD700;
    --putih: #ffffff;
    --hitam: #333;
    --abu: #f8f9fa;
}

* { margin: 0; padding: 0; box-sizing: border-box; scroll-behavior: smooth; }
body { font-family: 'Poppins', sans-serif; overflow-x: hidden; color: var(--hitam); line-height: 1.6; }

/* NAVIGATION */
header { background: var(--putih); box-shadow: 0 2px 10px rgba(0,0,0,0.1); position: sticky; top: 0; z-index: 2000; }
nav { display: flex; justify-content: space-between; align-items: center; padding: 1rem 5%; max-width: 1400px; margin: auto; }
.logo { font-weight: 700; font-size: 1.6rem; color: var(--biru-tua); text-decoration: none; }
.logo span { color: var(--biru-muda); }
.nav-links { display: flex; list-style: none; }
.nav-links li a { text-decoration: none; color: var(--biru-tua); font-weight: 600; margin-left: 1.5rem; transition: 0.3s; font-size: 0.9rem; }
.nav-links li a:hover { color: var(--biru-muda); }
.burger { display: none; cursor: pointer; }
.burger div { width: 25px; height: 3px; background: var(--biru-tua); margin: 5px; transition: 0.3s; }

/* HERO SLIDER */
.hero { position: relative; width: 100%; height: 85vh; overflow: hidden; }
.hero-slides { display: flex; width: 300%; height: 100%; transition: 0.8s ease-in-out; }
.slide { width: 33.333%; height: 100%; display: flex; align-items: center; justify-content: center; text-align: center; color: white; background-size: cover; background-position: center; }
.s1 { background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('https://images.unsplash.com/photo-1518063319789-7217e6706b04?q=80&w=1920'); }
.s2 { background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('https://images.unsplash.com/photo-1542332213-9b5a5a3fad35?q=80&w=1920'); }
.s3 { background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('https://images.unsplash.com/photo-1533038595180-207ca9ee86ca?q=80&w=1920'); }

/* GENERIC SECTION */
section { padding: 80px 5%; max-width: 1200px; margin: auto; }
.title { text-align: center; margin-bottom: 3rem; }
.title h2 { font-size: 2.2rem; color: var(--biru-tua); position: relative; padding-bottom: 10px; text-transform: uppercase; }
.title h2::after { content: ''; width: 60px; height: 4px; background: var(--kuning); position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
.bg-biru { background: var(--biru-tua); color: white; max-width: 100%; }
.bg-biru .title h2 { color: white; }
.bg-kuning { background: var(--kuning); max-width: 100%; }

/* PROFIL 2 KOLOM */
.profil-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.profil-img img { width: 100%; border-radius: 15px; box-shadow: 10px 10px 0 var(--biru-muda); }
.profil-desc h3 { color: var(--biru-tua); margin-bottom: 15px; }

/* LAYANAN */
.layanan-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; }
.l-card { background: var(--putih); border-radius: 12px; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.1); color: var(--hitam); text-align: center; padding-bottom: 25px; }
.l-card img { width: 100%; height: 200px; object-fit: cover; }
.l-card h2 { font-size: 1.4rem; margin: 15px 0; color: var(--biru-tua); }

/* PRODUK */
.produk-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
.p-card { background: var(--putih); padding: 40px; border-radius: 15px; text-align: center; border-bottom: 5px solid var(--biru-tua); }
.p-card h3 { color: var(--biru-tua); font-size: 1.8rem; }

/* GALERI */
.filter-btns { text-align: center; margin-bottom: 25px; }
.f-btn { padding: 10px 25px; border: none; cursor: pointer; background: #ddd; margin: 5px; font-weight: 600; border-radius: 5px; }
.f-btn.active { background: var(--biru-tua); color: white; }
.g-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 15px; }
.g-item img { width: 100%; height: 250px; object-fit: cover; border-radius: 10px; }

/* TESTIMONI */
.t-slider { overflow: hidden; max-width: 800px; margin: auto; background: white; border-radius: 20px; color: var(--hitam); }
.t-track { display: flex; transition: 0.6s ease-in-out; }
.t-slide { min-width: 100%; padding: 50px 30px; text-align: center; }
.t-avatar { font-size: 4rem; color: var(--biru-muda); }

/* KONTAK */
.c-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.map-container { margin-top: 20px; border-radius: 15px; overflow: hidden; height: 300px; }
.c-form { background: white; padding: 30px; border-radius: 15px; color: black; }
input, select, textarea { width: 100%; padding: 15px; margin-bottom: 15px; border: 1px solid #ddd; border-radius: 8px; font-family: inherit; }
.btn-wa { background: var(--biru-tua); color: white; border: none; padding: 18px; width: 100%; cursor: pointer; font-weight: 700; border-radius: 8px; }

/* FLOATING */
.wa-float { position: fixed; bottom: 25px; left: 25px; background: #25d366; color: white; width: 65px; height: 65px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 35px; z-index: 1500; text-decoration: none; }
.up-btn { position: fixed; bottom: 25px; right: 25px; background: var(--biru-tua); color: white; width: 50px; height: 50px; display: none; align-items: center; justify-content: center; cursor: pointer; border-radius: 8px; z-index: 1500; }

footer { background: #001a33; color: white; padding: 60px 5% 20px; }

/* MOBILE */
@media (max-width: 1024px) {
    .nav-links { position: fixed; right: 0; top: 0; height: 100vh; background: var(--putih); flex-direction: column; align-items: center; justify-content: center; width: 75%; transform: translateX(100%); transition: 0.5s; }
    .nav-active { transform: translateX(0%); }
    .burger { display: block; }
    .profil-grid, .c-grid { grid-template-columns: 1fr; }
    .toggle .line1 { transform: rotate(-45deg) translate(-5px, 6px); }
    .toggle .line2 { opacity: 0; }
    .toggle .line3 { transform: rotate(45deg) translate(-5px, -6px); }
}