/* 1. DEKLARASI CUSTOM FONTS */
@font-face {
    font-family: 'font1';
    src: url('/font/font1.ttf') format('truetype');
}
@font-face {
    font-family: 'font2';
    src: url('/font/font2.otf') format('opentype');
}

* { margin: 0; padding: 0; box-sizing: border-box; }

.nav-link {
    text-decoration: none; /* Hilangkan garis bawah biru khas link */
    color: inherit;
}

/* Supaya ketika di klik tidak ada delay/loncatan instan */
.section-divider, .section-divider-block {
    scroll-margin-top: 110px; /* Sesuai dengan tinggi header kamu agar tidak tertutup */
}

body { 
    font-family: Arial, sans-serif; 
    background-color: white; 
    overflow-x: hidden; /* Tetap pertahankan */
    padding-top: 110px;
    width: 100%;
    position: relative;
    max-width: 100%; /* Tambahkan ini */
}

/* HEADER DESKTOP */
header {
    background-color: #000000; padding: 20px 40px; display: flex; justify-content: center;
    align-items: center; position: fixed; top: 0; left: 0; width: 100%; z-index: 5000; height: 110px;
}

.nav-container { display: flex; gap: 50px; }
.nav-item { 
    font-family: 'font1', sans-serif; 
    color: white; font-size: 16px; font-weight: normal; letter-spacing: 2px; cursor: pointer; 
}

.logo { 
    font-family: 'font2', sans-serif; 
    right: 40px; text-align: right; letter-spacing: 1px; font-size: 20px; line-height: 1.1; 
    color: white; position: absolute; z-index: 5001;
}

.logo2 { left: 25px; color: white; position: absolute; z-index: 5001; cursor: pointer; }
.logo2 img { height: 100px; width: auto; }

/* BIG LOGO */
.biglogo-container { 
    display: flex; justify-content: center; align-items: center; 
    padding: 50px 150px; background-color: white; position: relative; z-index: 1; 
}

.biglogo-wrapper {
    position: relative;
    display: inline-block;
    max-width: 1200px;
}

.layer-base { width: 100%; height: auto; display: block; }

#parallax-logo { 
    width: 100%; 
    height: auto; 
    display: block;
    will-change: transform; 
}

#parallax-insert {
    position: absolute;
    top: 50%;
    left: 65%;
    height: 45%; 
    width: auto;
    z-index: 2;
    transform-origin: center center;
    will-change: transform;
}

.layer-top {
    position: absolute;
    top: 0; 
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    clip-path: inset(0 0 0 55%); 
    pointer-events: none;
}

/* SECTION DIVIDERS */
.section-divider {
    font-family: 'font2', sans-serif; 
    display: flex; justify-content: space-between; align-items: center; padding: 30px 40px;
    position: sticky; top: 110px; 
    z-index: 1000; 
    background-color: white; 
    box-shadow: 0 30px 30px white, 0 15px 15px rgba(0,0,0,0.05); 
    margin-top: -1px;
    transform: translateZ(0); 
    -webkit-transform: translateZ(0);
}

.section-divider-block {
    font-family: 'font2', sans-serif; 
    display: flex; justify-content: space-between; align-items: center; padding: 30px 40px;
    position: sticky; top: 110px; 
    z-index: 2000; 
    background-color: white; 
    border-top: none;
    margin-top: -1px;
}
.section-divider-block.is-pinned {
    background-color: black !important;
    color: white !important;
    border-bottom: 1px solid #333; /* Opsional: beri garis tipis supaya tidak mati */
}

.section-title, .section-title-block { font-size: 28px; letter-spacing: 2px; }
.section-subtitle, .section-subtitle-block { font-size: 14px; text-align: right; line-height: 1.2; }
.section-divider-block.is-pinned .section-title-block,
.section-divider-block.is-pinned .section-subtitle-block {
    color: white !important;
}

/* GALLERY GRID */
.image-gallery { 
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding: 40px; 
    background-color: white; margin-bottom: 80px; position: relative; z-index: 5; 
}
.image-gallery img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border: 1px solid #eee; transition: transform 0.3s ease; cursor: zoom-in; }

/* INFO SECTION */
.info-container {
    background-color: black;
    color: white;
    padding: 100px 40px 0px 40px;
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: flex-start;
    position: relative;
    z-index: 2000;
}

.info-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.col-your { margin-top: 0; }
.col-poster { margin-top: 100px; }
.col-maker { margin-top: 200px; }

.info-header {
    font-family: 'font2', sans-serif;
    font-size: clamp(40px, 8vw, 90px);
    line-height: 0.9;
    text-transform: uppercase;
}

.info-list {
    font-family: 'font1', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.info-list a {
    text-decoration: none; /* Hapus garis bawah */
    color: inherit;        /* Ikut warna teks induknya (putih/hitam) */
    transition: 0.2s;      /* Biar smooth pas di-hover */
}

.info-list a:hover {
    opacity: 0.1;          /* Kasih efek redup dikit pas disentuh mouse */
    letter-spacing: 1px;   /* Kasih efek melebar dikit (opsional, biar gaya) */
}

/* --- FOOTER BLEEDING --- */
.footer-banner-container {
    background-color: black;
    width: 100%;
    height: 200px; 
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    z-index: 2000;
    margin-top: -1px;
}

.footer-banner-container img {
    width: 103%; 
    height: auto;
    display: block;
    transform: translateY(85px); 
}

/* MODAL */
#image-modal {
    display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background-color: rgba(0,0,0,0.95); z-index: 6000; justify-content: center; align-items: center;
    flex-direction: column; overflow: hidden; touch-action: none;
}
.modal-container { 
    position: relative; display: flex; justify-content: center; align-items: center; 
    width: 100%; height: 80vh; overflow: hidden; cursor: grab; 
}
#modal-img { 
    max-width: 90%; max-height: 90%; border: 5px solid white; object-fit: contain; 
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); 
    user-select: none; -webkit-user-drag: none;
}
#modal-img.zoomed { transform: scale(2.5); cursor: move; }
#modal-caption { font-family: 'font2', sans-serif; color: white; margin-top: 20px; font-size: 20px; text-transform: uppercase; }
#close-modal { position: absolute; top: 30px; right: 40px; color: white; font-size: 40px; cursor: pointer; z-index: 6005; }

/* RESPONSIVE */
@media (max-width: 768px) {
    header { height: 85px; padding: 10px 30px; }
    body { padding-top: 85px; }
    .section-divider, .section-divider-block { top: 85px; padding: 15px 30px; }
    .logo2 img { height: 65px; }
    .logo { font-size: 13px; right: 28px; max-width: 100px; letter-spacing: 0.5px; }
    .section-title { font-size: 15px; }
    .section-subtitle { font-size: 9px; }
    .nav-container { display: none !important; } 
    .image-gallery { grid-template-columns: repeat(2, 1fr); padding: 20px; }
    .biglogo-container { padding: 60px 20px; }
    .info-container { flex-direction: column; padding: 60px 40px 40px 40px; gap: 60px; width: 100% !important; max-width: 100% !important; /* Paksa ke 100% bukan 100vw */ overflow: hidden; box-sizing: border-box;}
    .col-poster, .col-maker { margin-top: 0; }
    .info-header { font-size: 50px; }
    .footer-banner-container { width: 100%; padding: -50px 0px; overflow: hidden; margin-top: 0px; height: auto; display: block; }
    .footer-banner-container img { width: 150%; height: auto; display: block; transform: translateY(0); margin-bottom: -5px; margin: 0 auto; }

}

/* ============================================
   GSAP INITIAL STATES — tambahan saja
   ============================================ */
header { transform: translateY(-100%); }
.biglogo-wrapper { opacity: 0; }
.image-gallery img { opacity: 0; clip-path: inset(100% 0 0 0); }
.info-header { opacity: 0; transform: translateY(32px); }
.info-list   { opacity: 0; transform: translateY(16px); }
#modal-img     { opacity: 0; }
#modal-caption { opacity: 0; }
#close-modal   { opacity: 0; }

/* ============================================
   GALLERY IMAGE FILTER — halus, bukan di modal
   ============================================ */
.image-gallery img {
    filter: grayscale(60%) brightness(0.9) contrast(1.05);
    transition: filter 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.image-gallery img:hover {
    filter: grayscale(0%) brightness(1) contrast(1);
    transform: scale(1.02);
}
