/* RESET & TYPOGRAPHY */
* { margin:0; padding:0; box-sizing:border-box; }
:root {
  --primary-color: #FFD700;
  --secondary-color: #800000;
  --accent-color: #a52a2a;
  --bg-color: #111;
  --text-color: #fff;
  --glass-bg: rgba(255,255,255,0.1);
}
body { font-family: 'Poppins', sans-serif; color:var(--text-color); background:var(--bg-color); line-height:1.7; scroll-behavior:smooth; overflow-x:hidden; }

/* NAVBAR */
.navbar {
  position: fixed; top:0; width:100%; display:flex; justify-content:space-between; align-items:center;
  padding:1rem 3rem; z-index:9999; transition:0.5s;
}
.navbar .logo { color:#FFD700; font-size:2rem; font-weight:700; text-shadow: 2px 2px #800000; }
.navbar ul { list-style:none; display:flex; gap:2.5rem; }
.navbar ul li a { color:var(--text-color); font-weight:600; position:relative; transition:0.4s; text-decoration: none; }
.navbar ul li a:hover { color: var(--primary-color); }

/* HERO */
.hero { position:relative; height:100vh; }
.hero-image { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; z-index:1; image-rendering: crisp-edges; }
.hero .overlay { position:relative; z-index:2; text-align:center; top:50%; transform:translateY(-50%); animation:heroFadeIn 2s ease-out; }
.hero h1 { font-size:5rem; text-shadow:2px 2px 15px #000; animation:slideDown 1.5s ease-out; }
.hero p { font-size:2rem; animation:fadeInText 2s ease-out 0.5s forwards; opacity:0; margin-bottom:2rem; }
.btn { background:linear-gradient(45deg,#800000,#a52a2a); color:#FFD700; padding:1rem 3rem; border-radius:50px; font-weight:700; box-shadow:0 15px 40px rgba(0,0,0,0.6); transition:0.5s; transform-style:preserve-3d; margin-top:2rem; text-decoration: none; }

/* SECTIONS */
.section { padding:8rem 3rem; max-width:1300px; margin:0 auto; position:relative; }
.section h2 { text-align:center; margin-bottom:3rem; color:#FFD700; font-size:3rem; text-shadow:1px 1px #800000; position:relative; }
.section h2::after { content:''; display:block; width:140px; height:4px; background:#FFD700; margin:0.5rem auto 0 auto; border-radius:2px; }

/* HISTORY SECTION */
#sejarah p { font-size:1.2rem; line-height:1.8; text-align:justify; color:#fff; background:rgba(255,255,255,0.05); padding:2rem; border-radius:15px; border-left:4px solid #FFD700; }

/* WOMEN SECTION */
#perempuan p { font-size:1.2rem; line-height:1.8; text-align:justify; color:#fff; background:rgba(255,255,255,0.05); padding:2rem; border-radius:15px; border-left:4px solid #FFD700; }

/* CULTURAL PRESERVATION SECTION */
#pelestarian p { font-size:1.2rem; line-height:1.8; text-align:justify; color:#fff; background:rgba(255,255,255,0.05); padding:2rem; border-radius:15px; border-left:4px solid #FFD700; }

/* FADE-IN ANIMATION */
.fade-in { opacity:0; transform:translateY(50px); transition: all 1.2s ease-out; }
.fade-in.show { opacity:1; transform:translateY(0); }

/* CARDS MOTIF */
.cards { display:grid; grid-template-columns: repeat(3, 1fr); gap:2.5rem; justify-items:center; }
.card { transition: transform 0.3s ease; }
.card:hover { transform: scale(1.05); }
.card img { width:100%; height:220px; object-fit:cover; image-rendering: crisp-edges; }
.card-info { padding:1.5rem; }
.card-info h3 { color:#FFD700; margin-bottom:0.5rem; font-size:1.6rem; }
.card-info p { font-size:1rem; color:#fff; }

/* PROSES GRID */
.proses-grid { display:flex; flex-wrap:wrap; gap:3rem; justify-content:center; perspective:1000px; }
.proses-item { width:320px; text-align:center; background:rgba(128,0,0,0.4); padding:1rem; border-radius:25px; box-shadow:0 20px 60px rgba(0,0,0,0.6); transition:0.5s transform; }
.proses-item:hover { transform:rotateY(10deg) translateY(-15px); }
.proses-item img { width:100%; border-radius:20px; transition:0.5s transform,0.5s box-shadow; image-rendering: crisp-edges; }
.proses-item:hover img { transform:scale(1.05); box-shadow:0 25px 70px rgba(0,0,0,0.8); }

/* GALERI */
.grid-galeri { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:2rem; perspective:1200px; justify-items:center; max-width:1200px; margin:0 auto; }
.grid-galeri img { width:100%; height:200px; object-fit:cover; border-radius:25px; box-shadow:0 20px 60px rgba(0,0,0,0.6); transition: transform 0.6s, box-shadow 0.6s, filter 0.6s; cursor:pointer; image-rendering: crisp-edges; }
.grid-galeri img:hover { transform:scale(1.15) rotateY(5deg); box-shadow:0 30px 80px rgba(0,0,0,0.85); filter: brightness(1.1) saturate(1.2); }

/* WOMEN GRID */
.women-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:2rem; justify-items:center; max-width:1000px; margin:2rem auto 0 auto; }
.women-item { text-align:center; background:linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,215,0,0.05)); backdrop-filter:blur(5px); padding:1.5rem; border-radius:30px; box-shadow:0 25px 80px rgba(0,0,0,0.7), inset 0 1px 0 rgba(255,255,255,0.1); border:1px solid rgba(255,215,0,0.2); }
.women-item img { width:100%; height:200px; object-fit:cover; border-radius:25px; box-shadow:0 15px 40px rgba(0,0,0,0.5); border:2px solid rgba(255,215,0,0.1); transition:0.3s transform ease; cursor:pointer; image-rendering: crisp-edges; }
.women-item img:hover { transform:scale(1.1); }
.women-item p { margin-top:1rem; font-size:1rem; color:var(--text-color); font-weight:500; }

/* FOOTER */
.footer {
  text-align: center;
  padding: 3rem 2rem;
  background: rgba(0,0,0,0.8);
  border-top: 1px solid rgba(255,255,255,0.1);
}
.footer p {
  margin: 0.5rem 0;
  font-size: 1rem;
  color: var(--text-color);
  opacity: 0.8;
}

/* KEYFRAMES */
@keyframes heroFadeIn { from{opacity:0;} to{opacity:1;} }
@keyframes slideDown { from{transform:translateY(-50px);opacity:0;} to{transform:translateY(0);opacity:1;} }
@keyframes fadeInText { to{opacity:1;} }
