/* =========================================
   RESET
========================================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Inter',sans-serif;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#fff;
    color:#526D82;
    overflow-x:hidden;
}

.container{
    width:100%;
    padding:0 5%;
    margin:0 auto;
}

/* =========================================
   GLOBAL TYPOGRAPHY
========================================= */

.subtitle{
    display:inline-block;
    font-size:0.85rem;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#ADADAD;
    margin-bottom:18px;
}

.section-title{
    font-size:clamp(2.5rem,4vw,4rem);
    line-height:1.1;
    font-weight:700;
    letter-spacing:-1px;
    text-transform: uppercase;
    color:#526D82;
    margin-bottom:28px;
}

.section-title-thin{
    font-size:clamp(2.5rem,4vw,4rem);
    line-height:1.1;
    font-weight:400;
    letter-spacing:-1px;
    text-transform: uppercase;
    color:#526D82;
    margin-top: -30px;
    margin-bottom:28px;
}

.section-description p,
.section-description{
    font-size:1.05rem;
    line-height:1.8;
    color:#ADADAD;
    font-weight:400;
}

/* =========================================
   NAVBAR
========================================= */

.navbar{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    padding:20px 5%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    z-index:100;
}

.logo img{
    height:40px;
}

.nav-container{
    display:flex;
    align-items:center;
}

.nav-links{
    display:flex;
    list-style:none;

    background:rgba(255,255,255,0.6);
    backdrop-filter:blur(12px);

    padding:10px 30px;

    border-radius:50px;

    gap:30px;

    position:absolute;
    left:50%;
    transform:translateX(-50%);
}

.nav-links a{
    color:#526D82;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    transition:0.3s;
}

.nav-links a:hover{
    color:#ffffff !important;
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.622);
}

.btn-contact,
.btn-transparent{
    color:#526D82;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    padding:12px 28px;
    background: rgba(255, 255, 255, 0.612);
    backdrop-filter: blur(12px);
    border:1px solid #526D82;
    border-radius:50px;

    transition:0.3s;
}

.btn-contact:hover,
.btn-transparent:hover{
    background:#526D82;
    color:#fff;
}

.hamburger{
    display:none;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
    z-index:101;
}

.hamburger span{
    width:25px;
    height:2px;
    background:#526D82;
}

/* =========================================
   HERO
========================================= */

.hero-section{
    position:relative;
    height:400vh;
}

.sticky-container{
    position:sticky;
    top:0;
    width:100%;
    height:100vh;
    overflow:hidden;
}

#hero-canvas{
    width:100%;
    height:100%;
    display:block;
}

.hero-text{
    position:absolute;
    inset:0;

    display:flex;
    justify-content:space-between;
    align-items:flex-end;

    padding:60px 5%;

    opacity:0;
    transform:translateY(30px);

    transition:0.8s;
}

.hero-text.visible{
    opacity:1;
    transform:translateY(0);
}

.hero-left{
    max-width:60%;
}

.hero-left h1{
    font-size:4rem;
    line-height:1.05;
    color:#526D82;
    margin-bottom:12px;
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.622);
}

.hero-left h2{
    font-size:1rem;
    letter-spacing:4px;
    color:#ffffff;
}

.hero-right{
    max-width:360px;
    text-align:right;
}

.hero-right p{
    font-size:1rem;
    line-height:1.8;
    color:#ffffff;
}

/* =========================================
   SECTION 2
========================================= */

.section-2{
    position:relative;
    height:300vh;
}

.sec2-sticky{
    position:sticky;
    top:0;
    height:100vh;

    display:flex;
    align-items:center;
}

.sec2-container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:5%;
}

.sec2-left{
    flex:1.5;

    opacity:0;
    transform:translateY(100px);
}

.sec2-right{
    flex:1;

    opacity:0;
    transform:translateY(100px);
}

.sec2-right img{
    width:100%;
    border-radius:20px;
}

/* =========================================
   SECTION 3
========================================= */

.section-3{
    position:relative;
    height:300vh;
}

.sec3-sticky{
    position:sticky;
    top:0;
    height:100vh;
    overflow:hidden;
}

.sec3-bg{
    position:absolute;
    inset:0;
}

.sec3-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.15);
}

.sec3-container{
    position:relative;
    z-index:2;

    height:100%;

    display:flex;
    flex-direction:column;

    padding-top:100px;
    padding-bottom:50px;
}

.sec3-content-1{
    flex:1;

    display:flex;
    flex-direction:column;
    justify-content:center;

    max-width:80%;

    opacity:0;
    transform:translateY(80px);
}

.sec3-content-2{
    display:flex;
    gap:40px;

    margin-top:auto;

    opacity:0;
    transform:translateY(80px);
}

.stat-item{
    display:flex;
    align-items:center;
    gap:15px;
    max-width:450px;
}

.stat-item h3{
    font-size:3rem;
    color:#526D82;
}

.stat-item p{
    font-size:0.95rem;
    line-height:1.5;
    color:#ADADAD;
}

/* =========================================
   SECTION 4
========================================= */

.section-4{
    position:relative;
    height:800vh;
}

.sec4-sticky{
    position:sticky;
    top:0;
    height:100vh;
    overflow:hidden;
}

.sec4-container{
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.sec4-header{
    max-width:90%;
    margin:0 auto 60px auto;
    text-align:center;

    opacity:0;
    transform:translateY(50px);
}

.sec4-slider{
    width:100%;
    height:50vh;

    opacity:0;
    transform:scale(0.95);

    transition:
    opacity 0.35s ease,
    transform 0.35s ease;
}

.slider-wrapper{
    position:relative;
    width:100%;
    height:100%;
    border-radius:24px;
    overflow:hidden;
}

.slider-wrapper img{
    width:100%;
    height:100%;
    object-fit:cover;

    transition:opacity 0.35s ease;
}

.slide-content{
    position:absolute;
    left:40px;
    bottom:40px;

    text-align:left;

    color:#fff;

    padding:24px 32px;
    border-radius:18px;

    width:fit-content;
    max-width:650px;
}

.slide-content h3{
    font-size:2rem;
    text-transform: uppercase;
    font-weight:700;
    margin-bottom:10px;
    line-height:1.2;
}

.slide-content p{
    font-size:1rem;
    line-height:1.7;
    color:rgba(255,255,255,0.85);
}

.section-5{
    position:relative;
    height:350vh;
}

.sec5-sticky{
    position:sticky;
    top:0;
    height:100vh;

    display:flex;
    align-items:center;
}

.sec5-container{
    display:flex;
    height: 100vh;
    align-items: center;
    justify-content: space-between;
    gap:5%;
}

.sec5-left{
    height: 85%;
    width: 50%;
}

.sec5-left img{
    width:100%;
    height: 100%;
    object-fit: cover;
    border-radius:24px;

    transition:
    opacity .4s ease,
    transform .4s ease;
}

.sec5-right{
    height: 85%;
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
}

.industry-list{
    margin-block:40px;
    display:flex;
    flex-direction:column;
    gap:18px;
}

.industry-item{
    font-size:1.4rem;
    font-weight:600;
    text-transform: uppercase;
    opacity:.25;

    transition:.35s ease;
}

.industry-item.active{
    opacity:1;
    scale: 1.05;
}

/* =========================================
   SECTION 6 (MATURITY MODEL)
========================================= */
.section-6 {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
}

.sec6-header {
    text-align: center;
    max-width: 90%;
    margin: 0 auto 70px auto;
}

.sec6-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2 Kolom */
    gap: 32px;
}

/* Card Styling */
.sec6-card {
    position: relative;
    background: #526D82;
    border: 1px solid rgba(82, 109, 130, 0.15);
    
    padding: 50px 40px;
    overflow: hidden;
    min-height: 200px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.02);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.sec6-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.06);
}

.sec6-card.card-1 {
    border-radius: 24px 0 0 0px;
}
.sec6-card.card-2 {
    border-radius: 0 24px 0px 0;
}
.sec6-card.card-3 {
    border-radius: 0 0 0 24px;
}
.sec6-card.card-4 {
    border-radius: 0 0 24px 0;
}

.card-content {
    position: relative;
    z-index: 2; /* Agar teks di atas watermark */
}

.card-content h3 {
    font-size: 1.6rem;
    color: #fff;
    text-transform: uppercase;
    margin-bottom: 16px;
    font-weight: 700;
}

.card-content p {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #fff;
}

/* Watermark Text Besar (Transparan) */
.big-text {
    position: absolute;
    font-size: 3.5rem;
    font-weight: 800;
    color: rgba(255, 255, 255, 0.14); /* Transparansi tebal */
    line-height: 0.8;
    z-index: 1;
    pointer-events: none; /* Agar tidak ganggu klik/block text */
}

/* Posisi Masing-masing Card */
.big-text.p1 { bottom: 10px; right: 10px; } /* Kanan bawah */
.big-text.p2 { bottom: 10px; left: 10px; }  /* Kiri bawah */
.big-text.p3 { top: 10px; right: 10px; }    /* Kanan atas */
.big-text.p4 { top: 10px; left: 10px; }     /* Kiri atas */

/* Class Untuk Animasi Fade In / Out */
.fade-element {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-element.visible {
    opacity: 1;
    transform: translateY(0);
}

/* =========================================
   SECTION 7 (DIGIFACT APPROACH)
========================================= */
.section-7 {
    position: relative;
    height: 400vh; /* Scroll lumayan panjang buat transisi animasinya */
    background: #fff;
}

.sec7-sticky {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.sec7-header {
    position: absolute;
    top: 60px;
    text-align: center;
    z-index: 10;
    opacity: 0; 
}

.sec7-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    height: 100%;
    width: 100%;
    margin-top: 60px;
}

/* GAMBAR TENGAH: Posisi Absolute di tengah */
.sec7-center {
    position: absolute;
    left: 50%;
    top: 60%;
    transform: translate(-50%, -50%);
    
    /* Ukuran awal menutupi layar */
    width: 100vw; 
    height: 100vh;
    
    z-index: 5;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

.sec7-center img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.center-desc {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 30px;
    background: linear-gradient(transparent, rgba(0,0,0,0.7));
    color: white;
    text-align: center;
    font-weight: 500;
    opacity: 0; /* Awalnya sembunyi, muncul lewat JS */
}

/* KONTEN KANAN KIRI */
.sec7-side {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 50px;
    z-index: 1; /* Di bawah gambar saat gambarnya besar */
    opacity: 0;
}

.sec7-side.left {
    padding-right: 25%; /* Memberi ruang di tengah untuk gambar mengecil */
    text-align: right;
}

.sec7-side.right {
    padding-left: 25%;
    text-align: left;
}

.approach-item h4 {
    font-size: 1.4rem;
    color: #526D82;
    margin-bottom: 8px;
}

.approach-item .app-subtitle {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: #ADADAD;
    margin-bottom: 4px;
    display: block;
}

/* =========================================
   SECTION 8 (THE VISION / QUOTE)
========================================= */
.section-8 {
    position: relative;
    height: 100vh; /* Tinggi satu layar penuh */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    
    /* Ganti gambar di bawah ini dengan gambar yang kamu mau */
    background-image: url('assets/bg-section8.jpg'); 
    background-size: cover;
    background-position: center;
    
    /* Efek Parallax (Background diam saat discroll) */
    background-attachment: fixed; 
    z-index: 1;
}

/* Lapisan gelap transparan di atas gambar agar teks terbaca jelas */
.section-8::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.7); /* Warna biru gelap transparan */
    z-index: -1;
}

.sec8-container {
    max-width: 90%;
    z-index: 2;
}

.sec8-title {
    font-size: clamp(1.5rem, 4vw, 3.5rem); /* Teks responsif otomatis */
    line-height: 1.4;
    font-weight: 400;
    color: #ffffff;
    text-transform: uppercase;
}

/* =========================================
   SECTION 9 (CTA & FOOTER)
========================================= */

/* --- CTA Section --- */
.section-cta {
    background: #ffffff;
    justify-content: center;
    display: flex;
    align-items: center;
    text-align: left;
    height: 75vh;
}

.cta-container {
    width: 100%;
    margin: 0 auto;
}

.cta-desc {
    margin-bottom: 40px;
}

.btn-cta {
    display: inline-block;
    background: #526D82;
    color: #ffffff;
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: 600;
    padding: 16px 40px;
    border-radius: 50px;
    transition: 0.3s ease;
    box-shadow: 0 10px 20px rgba(82, 109, 130, 0.2);
}

.btn-cta:hover {
    background: #27374D;
    transform: translateY(-3px);
    box-shadow: 0 15px 25px rgba(39, 55, 77, 0.3);
}

/* --- Footer --- */
.footer {
    background: #17212D; /* Sesuai request */
    padding: 60px 0 30px 0;
    color: rgba(255, 255, 255, 0.7);
    height: 25vh;
}

/* Baris 1 */
.footer-row-1 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.footer-logo img {
    height: 45px;
    /* Efek brightness untuk memutihkan logo hitam kalau belum punya file logo versi putih */
    filter: brightness(0) invert(1); 
}

.footer-socials {
    display: flex;
    gap: 20px;
}

.footer-socials a {
    color: rgba(255, 255, 255, 0.5);
    transition: 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-socials a:hover {
    color: #ffffff;
    transform: translateY(-2px);
}

/* Garis Pembatas */
.footer-divider {
    border: none;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin: 0 0 30px 0;
}

/* Baris 2 */
.footer-row-2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.9rem;
}

.footer-links {
    display: flex;
    list-style: none;
    gap: 30px;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: 0.3s ease;
    font-weight: 500;
}

.footer-links a:hover {
    color: #ffffff;
}

/* =========================================
   ABOUT HERO SECTION (Scroll Video)
========================================= */
.about-hero {
    position: relative;
    height: 400vh; /* Ruang scroll panjang untuk play 10 detik video */
    background: #000;
}

.about-sticky {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

#bg-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.video-overlay {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.4); /* Gelap sedikit agar teks kontras */
    z-index: 2;
}

.about-content-wrapper {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 90%;
    padding: 0 5%;
    text-align: left;
}

.about-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    opacity: 0; /* Semua teks disembunyikan di awal */
}

/* =========================================
   ABOUT SECTION 2 (INDUSTRIAL EVOLUTION)
========================================= */
.about-section-2 {
    padding: 150px 0;
    background: #ffffff; /* Background putih bersih */
    min-height: 100vh;
    display: flex;
    align-items: center;
}

.sec-evol-container {
    display: flex;
    flex-direction: column;
    gap: 70px;
}

.evol-header {
    max-width: 100%;
    text-align: center; /* Rata kiri memberikan kesan editorial yang profesional */
}

/* Pengaturan Grid 2x2 */
.evol-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2 Kolom rata */
    gap: 30px;
}

/* Styling Card */
.evol-card {
    background: #fcfcfc;
    border: 1px solid rgba(82, 109, 130, 0.15);
    border-radius: 20px;
    padding: 40px;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.evol-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(82, 109, 130, 0.08);
}

.evol-card h3 {
    font-size: 1.4rem;
    color: #526D82;
    text-transform: uppercase;
    margin-bottom: 15px;
    font-weight: 700;
}

.evol-card p {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #ADADAD;
    margin: 0;
}

/* =========================================
   ABOUT SECTION 3 (PHILOSOPHY UNVEIL)
========================================= */
.about-section-3 {
    position: relative;
    height: 350vh; /* Ruang scroll yang cukup panjang untuk animasi mulus */
}

.phil-sticky {
    position: sticky;
    top: 0;
    height: 100vh;
    width: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.phil-container {
    position: relative;
    z-index: 2; /* Teks harus berada di atas gambar jika menumpuk */
    display: flex;
    align-items: center;
    height: 100%;
}

.phil-left {
    max-width: 45%; /* Memakan area kiri saja */
    opacity: 0; /* Dihilangkan dulu, dimunculkan JS */
}

.phil-left .section-description {
    font-size: 1.1rem;
    color: #6c7c8c;
}

/* Gambar Full-Size Default */
.phil-image-wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100vw;
    height: 100vh;
    z-index: 1;
    overflow: hidden;
    border-radius: 0px;
    box-shadow: 0 30px 60px rgba(0,0,0,0.15);
}

.phil-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* =========================================
   ABOUT SECTION 4 (CORE PRINCIPLES SLIDER)
========================================= */
.about-section-4 {
    padding: 150px 0;
    background: #ffffff;
}

.sec-prin-container {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.prin-header {
    text-align: center;
}

/* Container utama slider */
.prin-slider {
    position: relative;
    width: 100%;
    height: 65vh; /* Tinggi banner proporsional */
    min-height: 450px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(82, 109, 130, 0.15);
}

/* Setup tiap slide (ditumpuk menggunakan absolute) */
.prin-slide {
    position: absolute;
    inset: 0;
    opacity: 0; /* Awalnya sembunyi */
    transition: opacity 1s ease-in-out; /* Animasi fade lambat & elegan */
    z-index: 1;
}

.prin-slide.active {
    opacity: 1; /* Muncul jika punya class active */
    z-index: 2;
}

.slide-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Gradient gelap dari bawah agar teks putih bisa dibaca */
.prin-slide::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.95) 0%, rgba(15, 23, 42, 0.4) 50%, rgba(15, 23, 42, 0.1) 100%);
}

.slide-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 60px;
    z-index: 3;
    color: #fff;
}

.slide-overlay h3 {
    font-size: 2.2rem;
    margin-bottom: 15px;
    font-weight: 700;
}

.slide-overlay p {
    font-size: 1.1rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.85);
    max-width: 700px;
}

/* Indicator titik bulat */
.prin-indicators {
    position: absolute;
    bottom: 30px;
    right: 40px;
    display: flex;
    gap: 12px;
    z-index: 4;
}

.indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    cursor: pointer;
    transition: 0.3s ease;
}

.indicator.active {
    background: #ffffff;
    transform: scale(1.3);
}

/* =========================================
   ABOUT SECTION 5 (WHY DIGIFACT SCROLL CARDS)
========================================= */
.about-section-5 {
    position: relative;
    height: 350vh; /* Ruang scroll panjang untuk menyalakan ke-6 card */
    background: #fdfdfd;
}

.why-sticky {
    position: sticky;
    top: 0;
    height: 100vh;
    width: 100%;
    display: flex;
    overflow: hidden;
}

.why-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8%; /* Jarak antara teks kiri dan card kanan */
}

.why-left {
    flex: 1;
    width: 50%;
}

.why-right {
    flex: 1.2;
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 20px; /* Jarak antar card */
}

/* Base Card (Inactive / Default State) */
.why-card {
    background: #ffffff;
    border: 1px solid rgba(82, 109, 130, 0.2);
    padding: 24px 30px;
    border-radius: 16px;
    color: #526D82;
    
    /* Efek Grayscale & Transparan */
    opacity: 0.25; 
    filter: grayscale(100%);
    transform: scale(0.96) translateX(20px);
    transition: all 0.5s ease;
}

.why-card h4 {
    font-size: 1.25rem;
    font-weight: 600;
    text-transform: uppercase;
    margin: 0;
}

/* Active Card State */
.why-card.active {
    opacity: 1;
    filter: grayscale(0%);
    transform: scale(1) translateX(0);
    border-color: #526D82;
    box-shadow: 0 15px 35px rgba(82, 109, 130, 0.08);
    
    /* Aksen garis di kiri agar terlihat lebih premium saat menyala */
    border-left: 6px solid #526D82; 
}

/* =========================================
   SERVICES HERO SECTION
========================================= */
.services-hero {
    position: relative;
    height: 400vh; /* Memberikan ruang scroll panjang untuk video 11 detik */
    background: #000;
}

.srv-sticky {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

#srv-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.srv-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(15,23,42,0.8) 0%, rgba(15,23,42,0.2) 50%, rgba(15,23,42,0) 100%);
    z-index: 2;
}

/* Teks pojok kiri bawah */
.srv-hero-text {
    position: absolute;
    bottom: 60px;
    left: 5%;
    z-index: 3;
    opacity: 0; /* Awalnya tersembunyi */
    transform: translateY(30px); /* Agak ke bawah untuk efek fade up */
}

/* =========================================
   SERVICES SECTION 2 (INDUSTRY 4.0)
========================================= */
.services-section-2 {
    position: relative;
    height: 400vh; /* Ruang scroll yang panjang untuk efek tumpuk & sebar */
    background: #fdfdfd;
}

.int-sticky {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.int-header {
    position: absolute;
    top: 12%;
    text-align: center;
    width: 100%;
    max-width: 90%;
    padding: 0 5%;
    opacity: 0; /* Awalnya sembunyi */
    z-index: 10;
}

.int-cards-container {
    position: absolute;
    inset: 0;
    pointer-events: none; /* Agar tidak mengganggu klik di area lain */
}

/* Format Dasar Card (Posisi Awal Fullsize di Tengah) */
.int-card {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* Menjaga titik tengah (anchor) */
    width: 100vw; 
    height: 100vh;
    border-radius: 0px;
    overflow: hidden;
    opacity: 0; /* Awalnya sembunyi */
    box-shadow: 0 30px 60px rgba(15, 23, 42, 0.15);
}

.int-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Efek Gelap Gradasi di Bawah Card agar Teks Terbaca */
.int-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.85) 0%, rgba(15, 23, 42, 0) 50%);
    opacity: 0;
    transition: opacity 0.5s ease;
}

/* Kelas yang dipicu oleh JS di akhir animasi */
.int-card.show-text::after {
    opacity: 1;
}

.int-card-title {
    position: absolute;
    text-transform: uppercase;
    bottom: 30px;
    left: 20px;
    right: 20px;
    color: #ffffff;
    font-size: 1.3rem;
    font-weight: 600;
    text-align: center;
    z-index: 2;
    opacity: 0;
}

/* =========================================
   SERVICES SECTION 3 (CORE TECHNOLOGIES)
========================================= */
.services-section-3 {
    position: relative;
    height: 600vh; /* Tinggi ekstra agar scroll lebih panjang */

}

.tech-container {
    position: sticky;
    top: 0;
    height: 100vh; /* Memaksa konten ada di dalam viewport */
    display: flex;
    gap: 80px;
    align-items: center; /* Vertikal tengah */
    padding: 0 5%;
}

.tech-left { 
    flex: 1; 
    width: 50%;
    height: 80vh; 
    overflow: hidden; 
}

.tech-right {  
    display: flex;
    width: 50%;
    height: 80vh;
    align-items: center;
}
.tech-list {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.tech-item {
    padding: 20px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    cursor: pointer;
    opacity: 0.4;
    transition: 0.3s;
}

.tech-item.active {
    opacity: 1;
    border-bottom: 1px solid #526D82;
}


.tech-content-box img {
    width: 100%;
    border-radius: 20px;
    margin-bottom: 20px;
}

.tech-content-box {
    position: relative;
    width: 100%;
    height: 80vh;
}

.tech-image-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
}

#tech-img {
    display: block;
    width: 100%;
    height: 80vh;
    object-fit: cover;
    transition: opacity 0.3s ease;
}

/* Deskripsi nempel di dalam gambar */
#tech-desc {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 100px 50px ;
    margin: 0;
    color: white;
    font-size: 2rem;
    max-width: 600px;
    line-height: 1.5;
    transition: opacity 0.3s ease;
}

.services-section-4 {
    position: relative;
    height: 600vh; /* Scroll panjang untuk 5 use cases */
    background: #000;
}

.uc-container {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    padding: 0 10%;
    overflow: hidden;
}

/* Background Image Layer */
.uc-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: background-image 0.8s ease-in-out; /* Transisi halus */
    filter: brightness(0.4);
}

.uc-content {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 80vh; /* Menggunakan tinggi container agar bisa membagi posisi */
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Mendorong atas dan bawah */
    padding: 50px 0;
    pointer-events: none; /* Agar klik tidak terhalang */
}

/* Bagian Atas (Subtitle & Title) */
.uc-header {
    text-align: left;
}

/* Bagian Bawah (Mini Title & Deskripsi) */
.uc-dynamic-box {
    max-width: 600px;
    border-left: 4px solid #3498db;
    padding-left: 25px;
}

#uc-mini-title {
    font-size: 2.5rem; /* Dibuat jauh lebih besar */
    margin-bottom: 15px;
    font-weight: 700;
    transition: opacity 0.3s;
}

#uc-desc {
    font-size: 1.2rem; /* Dibuat lebih nyaman dibaca */
    line-height: 1.6;
    transition: opacity 0.3s;
}

.list-industries {
    font-size: clamp(0.8rem, 1.2vw, 1.5rem);
    line-height: 1.6;
    margin-block: 10px;
    transition: opacity 0.3s;
}




/* =========================================
RESPONSIVE
========================================= */

@media(max-width:768px){

    .container{
        padding:0 24px;
    }

    .section-title{
        font-size:1.6rem;
        line-height:1.2;
        margin-bottom:20px;
    }

    .section-title-thin{
        font-size:1.4rem;
        line-height:1.1;
        margin-top: -18px;
        margin-bottom:20px;
    }

    .section-description,
    .section-description p{
        font-size:0.9rem;
        line-height:1.5;
    }

    .subtitle{
        font-size:0.72rem;
        letter-spacing:2px;
        margin-bottom:14px;
    }

    .navbar{
        padding:18px 24px;
    }

    .logo img{
        height:32px;
    }

    .hamburger{
        display:flex;
    }

    .nav-container{
        position:fixed;
        top:0;
        right:-100%;

        width:100%;
        height:100vh;
        padding-inline: 10%;
        background:#000000;

        flex-direction:column;
        justify-content:center;
        align-items:start;

        transition:0.4s ease;
    }

    .nav-container.active{
        right:0;
    }

    .nav-links{
        position:relative;
        left:0;
        transform:none;
        width: 80%;
        flex-direction:column;

        background:none;

        gap:28px;

        padding:0;
        margin-bottom:30px;
    }

    .nav-links a{
        font-size:2rem;
        text-align:center;
    }
    

    .btn-contact{
        width:100%;
        max-width:220px;
        text-align:center;
    }

    .hero-section{
        height:250vh;
    }

    .hero-text{
        flex-direction:column;
        justify-content:flex-end;
        align-items:flex-start;

        gap:18px;

        padding:120px 24px 40px;
    }

    .hero-left{
        max-width:100%;
    }

    .hero-left h1{
        font-size:2.2rem;
    }

    .hero-right{
        max-width:100%;
        text-align:left;
    }

    .section-2{
        height:auto;
        padding:120px 0;
    }

    .sec2-sticky{
        position:relative;
        height:auto;
    }

    .sec2-container{
        flex-direction:column-reverse;
        gap:50px;
    }

    .sec2-left,
    .sec2-right{
        width:100%;
        transform:none !important;
        opacity:1 !important;
    }

    .section-3{
        height:auto;
    }

    .sec3-sticky{
        position:relative;
        height:auto;
        min-height:100vh;
        padding:120px 0 60px;
    }

    .stat-item h3{
        font-size:1.5rem;
        width: 80px;
        text-align: center;
    }

    .stat-item p{
        max-width: 250px;
    }

    .sec3-container{
        padding-top:0;
        padding-bottom:0;
    }

    .sec3-content-1,
    .sec3-content-2{
        opacity:1 !important;
        transform:none !important;
        max-width: 100%;
    }

    .sec3-content-2{
        flex-direction:column;
        gap:24px;
        margin-top:60px;
    }

    /* FIX MOBILE SLIDER */

    .section-4{
        position:relative;
        height:500vh;
        padding:0;
    }

    .sec4-sticky{
        position:sticky;
        top:0;
        height:100vh;
        overflow:hidden;
    }

    .sec4-container{
        height:100%;
        justify-content:center;
    }

    .sec4-header{
        max-width: 100%;
        margin:0 10px 32px 10px;
        opacity:1 !important;
        transform:none !important;
    }

    .sec4-slider{
        height:50vh;

        opacity:1 !important;
        transform:none !important;
    }

    .slider-wrapper{
        border-radius:20px;
        max-height: 50vh;
    }

    .slide-content{
        left:16px;
        right:16px;
        bottom:16px;

        width:auto;
        max-width:none;

        padding:10px;
        border-radius:16px;
    }

    .slide-content h3{
        font-size:1.1rem;
        margin-bottom:8px;
    }

    .slide-content p{
        font-size:0.88rem;
        line-height:1.6;
    }

    .sec5-container {
        flex-direction: column;
        gap:2%;
        max-height: 90vh;
    }

    .sec5-left {
        width: 100%;
        height: 30%;
    }

    .sec5-right {
        width: 100%;
        height: 70%;
    }

    .industry-list {
        gap:10px;
        margin-block: 20px;
    }

    .industry-item {
        font-size:1rem;
    }

    /* Tambahan Responsive Section 6 */
    .section-6 {
        padding: 100px 0;
    }
    .sec6-grid {
        gap: 10px;
    }
    .sec6-card {
        padding: 12px;
        min-height: 200px;
    }
    .sec6-card.card-3 .card-content {
        margin-top: 30px;
    }
    .sec6-card.card-4 .card-content {
        margin-top: 30px;
    }
    .card-content h3 {
        font-size:1rem;
    }
    .card-content p {
        font-size:0.7rem;
    }
    .big-text {
        font-size: 2rem; /* Kecilin sedikit font watermarknya */
    }
        
    .sec6-header {
        max-width: 100%;
        margin: 0 auto 30px auto;
    }
    
    /* =========================================
       RESPONSIVE SECTION 7 (MOBILE SIDE-BY-SIDE FIX)
    ========================================= */
    .section-7 { 
        height: 350vh; 
    }
    
    .sec7-header {
        top: 5vh; /* Naikkan header mendekati pucuk layar */
        width: 100%;
        padding: 0 5%;
    }
    
    .sec7-header .section-title {
        font-size: 1.5rem; /* Sesuaikan ukuran judul */
        margin-bottom: 5px;
    }

    /* Kontainer teks ditaruh di paruh bawah layar */
    .sec7-container { 
        position: absolute;
        bottom: 5vh;
        left: 0;
        width: 100%;
        height: 45vh; /* Mengambil 45% area bawah layar */
        flex-direction: row; /* Berdampingan (kiri dan kanan) */
        align-items: flex-start;
        justify-content: space-between;
        margin-top: 0;
        padding: 0 5%;
    }

    /* Membagi 2 kolom merata (3 di kiri, 3 di kanan) */
    .sec7-side.left, .sec7-side.right {
        flex: 1;
        padding: 0 5px; /* Jarak antar kolom */
        text-align: left; /* Supaya gampang dibaca di layar sempit */
        gap: 15px; /* Jarak antar kotak ke bawah */
    }

    /* Mengecilkan teks supaya 3 kotak muat di HP */
    .approach-item h4 {
        font-size: 0.95rem;
        margin-bottom: 2px;
    }

    .approach-item p {
        font-size: 0.7rem;
        line-height: 1.4;
        margin: 0;
    }

    .approach-item .app-subtitle {
        font-size: 0.65rem;
        margin-bottom: 2px;
    }

    .center-desc {
        padding: 10px;
        font-size: 0.75rem;
    }
    
    /* RESPONSIVE CTA & FOOTER */
    .section-cta {
        padding: 80px 0;
        height: 80vh;
    }

    .footer {
        padding: 20px 0;
        height: 20vh;
    }
    .footer-logo img {
        height: 30px;
    }
    .footer-socials {
        gap: 10px;
    }
    .footer-socials a {
        height: 20px;
    }
    
    .footer-row-1 {
        flex-direction: row;
        text-align: left;
        gap: 24px;
        margin-bottom: 20px;
    }
    .footer-row-2 {
        flex-direction: column-reverse;
        text-align: center;
        gap: 10px;
        margin-bottom: 20px;
    }

    .footer-links {
        flex-direction: row;
        gap: 15px;
        margin-top: 10px;
        margin-bottom: 10px;
        flex-wrap: wrap;
    }
    .footer-links a {
        font-size: 0.8rem;
    }
    .footer-divider {
        margin: 0 0 15px 0;
    }

    .copyright {
        font-size: 0.7rem;
    }

    /* RESPONSIVE ABOUT SECTION 2 */
    .about-section-2 {
        padding: 100px 0;
    }
    
    .sec-evol-container {
        gap: 50px;
    }
    
    .evol-grid {
        grid-template-columns: 1fr; /* Jadi 1 kolom di HP */
        gap: 20px;
    }
    
    .evol-card {
        padding: 20px; /* Padding card dikecilkan sedikit di HP */
    }

    .evol-card h3 {
        font-size: 1rem;
        margin-bottom: 10px;
    }

    .evol-card p {
    font-size: 0.8rem;
    line-height: 1.7;
    color: #ADADAD;
    margin: 0;
}

/* RESPONSIVE ABOUT SECTION 3 */
.about-section-3 {
    height: 300vh;
}

.phil-container {
    align-items: flex-start;
    padding-top: 15vh; /* Beri jarak teks dari atas layar */
}

.phil-left {
    max-width: 100%;
}

.phil-left .section-title {
    font-size: 1.6rem;
}

.phil-left .section-description {
    font-size: 0.9rem;
}

/* RESPONSIVE ABOUT SECTION 4 */
.about-section-4 {
    padding: 100px 0;
}

.prin-slider {
    height: 55vh;
    border-radius: 16px;
}

.slide-overlay {
    padding: 30px 20px;
}

.slide-overlay h3 {
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.slide-overlay p {
    font-size: 0.95rem;
}

.prin-indicators {
    bottom: 20px;
    right: 20px;
}

/* RESPONSIVE ABOUT SECTION 5 */
.about-section-5 {
    height: 300vh;
}

.why-container {
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    padding-top: 10vh; /* Agar tidak tertutup navbar */
}

.why-left {
    width: 100%;
    text-align: center;
}

.why-right {
    width: 100%;
    gap: 12px;
}

.why-card {
    padding: 12px 10px;
    border-radius: 10px;
}

.why-card h4 {
    font-size: 0.9rem;
}

/* RESPONSIVE SERVICES HERO */
.services-hero {
    height: 300vh; /* Sedikit dipendekkan di mobile */
}

.srv-hero-text {
    bottom: 40px;
}

.srv-hero-text .section-title {
    font-size: 2rem;
}

.srv-hero-text .section-description {
    font-size: 0.95rem;
}

/* RESPONSIVE SERVICES SECTION 2 */
.int-header {
    top: 8%;
    width: 100%;
    padding: 0;
}

.int-header .section-title {
    font-size: 1.6rem;
}

.int-header .section-description {
    font-size: 0.9rem;
}

.int-card-title {
    font-size: 0.9rem; /* Ukuran diperkecil */
        bottom: 15px;
        left: 10px;
        right: 10px;
        line-height: 1.2;
}

/* Ubah container menjadi kolom */
.tech-container {
    flex-direction: column;
    gap:10px;
    padding: 40px 5%;
    height: 100vh;
}

.tech-left {
    height: 70vh;
    width: 100%;
}

/* Hilangkan sticky di mobile biar scroll-nya natural */
.tech-right {
    position: relative;
    width: 100%;
    margin-top: 20px;
    height: 30vh;
}

.tech-item {
    padding: 10px 0;
}

/* Perkecil daftar kategori di mobile */
.tech-item h3 {
    font-size: 1rem;
}

/* Pastikan gambar tidak terlalu panjang di HP */
.tech-image-wrapper {
    height: 30vh !important; /* Ubah dari 900px jadi 300px */
    width: 100%;
    position: relative;
}

#tech-img {
    width: 100%;
    height: 30vh !important; /* Akan mengikuti tinggi wrapper (300px) */
    object-fit: cover;
    object-position: center;
   
}

#tech-desc {
    padding: 20px;
    font-size: 1rem;
}

.tech-content-box {
    height: 30vh;
}

#uc-mini-title {
    font-size: 1.2rem; /* Sedikit dikecilkan untuk HP */
}
.uc-content {
    padding:  0px; /* Tambah padding agar tidak terlalu menepi di HP */
}

#uc-desc {
    font-size: 0.9rem; /* Sedikit dikecilkan untuk HP */
}




}