/* === CSS PROFIL BY CORE NATIVES BEHIND THE SCENES WARRIOR === */
/* Versi ini mengasumsikan CSS kritis sudah di-inline di HTML */

/* --- 1. Reset & Global Styles (Bagian yang TIDAK di-inline atau berbeda) --- */
:root {
    /* Variabel yang tidak esensial untuk above-the-fold awal atau sudah didefinisikan di inline kritis */
    --color-brand-gold-rgb: 147, 109, 46;
    --color-brand-silver-rgb: 190, 190, 190;
    --color-accent-rgb: 147, 109, 46;
    --color-dark-bg-rgb: 10, 10, 10;
    --color-dark-card-rgb: 31, 31, 31;
    --color-dark-bg-secondary: #1a1a1a;
    --color-dark-card: #1f1f1f;
    --color-accent-hover: #a97d38;
    --color-shadow: rgba(0, 0, 0, 0.5);
    --color-shadow-light: rgba(200, 200, 200, 0.1);
    --font-size-xxl: 2.5rem; /* Mungkin tidak selalu kritis */
    --font-size-hero: 4rem; /* Mungkin tidak selalu kritis */
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 1.5rem;
    --spacing-lg: 2rem;
    --spacing-xl: 3rem;
    --spacing-xxl: 4rem;
    --transition-speed-fast: 0.2s;
    --transition-speed-normal: 0.4s;
    --transition-speed-slow: 0.6s;
    --transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --border-radius: 8px;
    /* --border-radius-sm: 4px; sudah di inline */
    --max-width-content: 1200px;
    --arrow-nav-height-clearance: 100px;
}

/* Gaya global yang tidak termasuk dalam CSS kritis inline, atau yang lebih detail */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-secondary);
    color: var(--color-brand-silver);
    line-height: 1.3;
    margin-bottom: var(--spacing-md);
    font-weight: 700;
}

/* h1 sudah di-cover sebagian oleh #slide-1 .main-title di inline */
/* h1 { font-size: var(--font-size-hero); } Sudah di inline jika hanya untuk slide 1 */

h2.slide-title {
    font-size: var(--font-size-xxl);
    margin-bottom: var(--spacing-lg);
    text-align: center;
    position: relative;
    padding-bottom: var(--spacing-sm);
    display: inline-block;
}

h2.slide-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background-color: var(--color-accent);
    border-radius: var(--border-radius-sm);
}

h3 { font-size: var(--font-size-xl); }
h4 { font-size: var(--font-size-lg); }

p {
    margin-bottom: var(--spacing-md);
    color: var(--color-text-secondary);
    font-size: var(--font-size-md);
}

a {
    color: var(--color-accent);
    text-decoration: none;
    transition: color var(--transition-speed-fast) ease-in-out;
}

a:hover, a:focus {
    color: var(--color-accent-hover);
    text-decoration: underline;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

ul {
    list-style: none;
}

button, input, select, textarea {
    font-family: inherit;
    font-size: inherit;
    color: inherit;
}

/* CTA Button - hanya properti yang tidak di-inline atau untuk state hover/focus */
.cta-button {
    /* background-color, color, padding dasar, dll. sudah di inline */
    transition: background-color var(--transition-speed-normal) var(--transition-timing-function),
                transform var(--transition-speed-normal) var(--transition-timing-function);
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.cta-button:hover, .cta-button:focus {
    background-color: var(--color-accent-hover);
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 6px 20px rgba(0,0,0,0.3);
    color: var(--color-cta-text-profil); /* Pastikan warna teks hover juga kontras */
    text-decoration: none;
}
.cta-button:hover svg, .cta-button:focus svg {
    stroke: var(--color-cta-text-profil); /* Pastikan stroke SVG hover juga kontras */
}


/* --- 2. Preloader Styling (Hanya yang tidak di-inline) --- */
#preloader.loaded { /* Gaya untuk menyembunyikan preloader */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--transition-speed-slow) ease-in-out, visibility var(--transition-speed-slow) ease-in-out;
}

.preloader-logo { /* Animasi logo preloader */
    animation: pulseLogo 2s infinite ease-in-out;
}

.preloader-logo img {
    filter: drop-shadow(0 0 10px var(--color-accent));
}

.preloader-bar { /* Transisi bar preloader */
    transition: width var(--transition-speed-normal) ease-out;
}

@keyframes pulseLogo {
    0% { transform: scale(1); opacity: 0.8; }
    50% { transform: scale(1.05); opacity: 1; }
    100% { transform: scale(1); opacity: 0.8; }
}

/* --- 3. Struktur Dasar Slide & Kontainer Utama (Hanya yang tidak di-inline) --- */
.slide {
    /* opacity, visibility, transform dasar sudah di-inline */
    transition: opacity var(--transition-speed-slow) var(--transition-timing-function),
                visibility var(--transition-speed-slow) var(--transition-timing-function),
                transform var(--transition-speed-slow) var(--transition-timing-function);
}

.slide.prev {
    transform: translateX(-100%);
    z-index: 0;
}

.slide-content {
    max-width: var(--max-width-content);
    width: 100%;
    text-align: center;
    position: relative;
    z-index: 2;
    overflow-y: auto;
    padding-top: var(--spacing-md);
    padding-bottom: var(--arrow-nav-height-clearance);
    max-height: calc(100vh - (2 * var(--spacing-xl)) );
}

.slide-content::-webkit-scrollbar { width: 8px; }
.slide-content::-webkit-scrollbar-track { background: var(--color-dark-bg-secondary); border-radius: var(--border-radius-sm); }
.slide-content::-webkit-scrollbar-thumb { background-color: var(--color-accent); border-radius: var(--border-radius-sm); border: 2px solid var(--color-dark-bg-secondary); }
.slide-content::-webkit-scrollbar-thumb:hover { background-color: var(--color-accent-hover); }

.slide-background {
    transition: background-image var(--transition-speed-slow) ease-in-out;
}

.slide-footer-logo {
    position: fixed;
    bottom: var(--spacing-md);
    left: var(--spacing-md);
    width: 100px;
    opacity: 0.5;
    z-index: 999;
    transition: opacity var(--transition-speed-normal) ease;
}
.slide-footer-logo:hover { opacity: 1; }
.slide-footer-logo img { width: 100%; filter: grayscale(50%) brightness(1.5); }

/* --- 4. Navigasi Dasar (Hanya yang tidak di-inline) --- */
.slide-arrows {
    position: fixed; bottom: var(--spacing-lg); left: 50%;
    transform: translateX(-50%); z-index: 1000; display: flex; gap: var(--spacing-md);
}
.slide-arrows button {
    background-color: rgba(255, 255, 255, 0.1); border: 1px solid var(--color-border);
    color: var(--color-brand-silver); width: 50px; height: 50px; border-radius: 50%;
    cursor: pointer; display: flex; justify-content: center; align-items: center;
    transition: background-color var(--transition-speed-normal) var(--transition-timing-function),
                transform var(--transition-speed-normal) var(--transition-timing-function);
    backdrop-filter: blur(5px);
}
.slide-arrows button:hover, .slide-arrows button:focus {
    background-color: rgba(255, 255, 255, 0.2); color: var(--color-accent); transform: scale(1.1);
}
.slide-arrows button svg { width: 24px; height: 24px; }

.slide-navigation { position: fixed; right: var(--spacing-lg); top: 50%; transform: translateY(-50%); z-index: 1000; }
.slide-navigation ul { list-style: none; }
.slide-navigation li { margin-bottom: var(--spacing-sm); }
.slide-navigation button {
    width: 12px; height: 12px; border-radius: 50%; background-color: var(--color-border);
    border: none; cursor: pointer; display: block;
    transition: background-color var(--transition-speed-normal) var(--transition-timing-function),
                transform var(--transition-speed-normal) var(--transition-timing-function);
    padding: 0;
}
.slide-navigation button.active, .slide-navigation button:hover { background-color: var(--color-accent); transform: scale(1.3); }

/* Helper class untuk animasi masuk (jika digunakan oleh JS selain slide-1) */
.animate-in { opacity: 0; transform: translateY(20px); }

@media (max-width: 768px) {
    .slide-footer-logo { display: none; }
}

/* === BAGIAN 2 (REVISI UNTUK PADDING-TOP SLIDE 2 DESKTOP & MOBILE): STYLING SLIDE 1 (PEMBUKA), SLIDE 2 (TENTANG KAMI), SLIDE 3 (VISI & MISI) === */

/* --- Slide 1: Judul / Pembuka (Hanya yang tidak di-inline atau animasi) --- */
#slide-1 .slide-overlay {
    background: linear-gradient(to bottom, rgba(var(--color-dark-bg-rgb),0.3) 0%, rgba(var(--color-dark-bg-rgb),0.8) 100%);
}
.logo-container-hero { margin-bottom: var(--spacing-lg); position: relative; opacity: 0; transform: scale(0.8); }
#slide-1.active .logo-container-hero { animation: fadeInScaleUp 1s var(--transition-timing-function) 0.2s forwards; }
.hero-logo { max-width: 250px; width: 100%; filter: drop-shadow(0 5px 15px var(--color-shadow)); }
#slide-1 .main-title { /* Sebagian besar sudah di-inline */ text-shadow: 0 2px 10px var(--color-shadow); opacity: 0; transform: translateY(30px); }
#slide-1.active .main-title { animation: fadeInUpText 1s var(--transition-timing-function) 0.5s forwards; }
#slide-1 .sub-title { /* Sebagian besar sudah di-inline */ opacity: 0; transform: translateY(30px); }
#slide-1.active .sub-title { animation: fadeInUpText 1s var(--transition-timing-function) 0.8s forwards; }
#slide-1 .cta-button { /* Sebagian besar sudah di-inline */ padding: var(--spacing-md) var(--spacing-xl); font-size: var(--font-size-lg); opacity: 0; transform: translateY(30px); min-width: 200px; text-align: center; display: inline-flex; align-items: center; justify-content: center; }
#slide-1.active .cta-button { animation: fadeInUpText 1s var(--transition-timing-function) 1.1s forwards; }
#slide-1 .cta-button svg { transition: transform var(--transition-speed-normal) ease; }
#slide-1 .cta-button:hover svg { transform: translateY(3px); }

@keyframes fadeInScaleUp { to { opacity: 1; transform: scale(1); } }
@keyframes fadeInUpText { to { opacity: 1; transform: translateY(0); } }

/* --- Slide 2: Tentang Core Natives (Styling yang tidak di-inline atau animasi) --- */
#slide-2 .slide-content { max-width: 1100px; text-align: left; padding-top: 150px; }
#slide-2 .columns { display: flex; gap: var(--spacing-xl); align-items: center; }
#slide-2 .column-text { flex: 1.2; padding-right: var(--spacing-lg); opacity: 0; transform: translateX(-50px); transition: opacity 0.8s ease-out 0.3s, transform 0.8s ease-out 0.3s; }
#slide-2.active .column-text { opacity: 1; transform: translateX(0); }
#slide-2 .column-text .slide-title { text-align: left; margin-bottom: var(--spacing-lg); margin-top: 0; }
#slide-2 .column-text .slide-title::after { left: 0; transform: translateX(0); }
#slide-2 .text-content p { font-size: var(--font-size-md); color: var(--color-text-secondary); margin-bottom: var(--spacing-md); }
#slide-2 .column-visual { flex: 1; height: 500px; border-radius: var(--border-radius); overflow: hidden; box-shadow: 0 10px 30px var(--color-shadow); position: relative; opacity: 0; transform: translateX(50px); transition: opacity 0.8s ease-out 0.5s, transform 0.8s ease-out 0.5s; }
#slide-2.active .column-visual { opacity: 1; transform: translateX(0); }
.image-ken-burns { width: 100%; height: 100%; background-size: cover; background-position: center; animation: kenBurnsEffect 20s infinite alternate ease-in-out; }
@keyframes kenBurnsEffect { 0% { transform: scale(1) rotate(0deg); } 100% { transform: scale(1.15) rotate(1deg); } }

/* --- Slide 3: Visi & Misi (Styling yang tidak di-inline atau animasi) --- */
#slide-3 { background-color: var(--color-dark-bg-secondary); }
#slide-3 .slide-content { max-width: 900px; }
#slide-3 .slide-background-element { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; opacity: 0.05; z-index: 0; pointer-events: none; }
#slide-3 .vision-container { background-color: var(--color-dark-card); padding: var(--spacing-lg); border-radius: var(--border-radius); margin-bottom: var(--spacing-xl); text-align: center; border-left: 5px solid var(--color-accent); box-shadow: 0 8px 25px var(--color-shadow); opacity: 0; transform: translateY(30px); transition: opacity 0.7s ease-out 0.3s, transform 0.7s ease-out 0.3s; }
#slide-3.active .vision-container { opacity: 1; transform: translateY(0); }
#slide-3 .vision-container h3 { color: var(--color-brand-silver); font-size: var(--font-size-xl); margin-bottom: var(--spacing-sm); }
#slide-3 .vision-container p { font-size: var(--font-size-lg); color: var(--color-text-primary); font-style: italic; line-height: 1.6; }
#slide-3 .mission-container h3 { text-align: center; color: var(--color-brand-silver); font-size: var(--font-size-xl); margin-bottom: var(--spacing-lg); opacity: 0; transform: translateY(20px); transition: opacity 0.7s ease-out 0.6s, transform 0.7s ease-out 0.6s; }
#slide-3.active .mission-container h3 { opacity: 1; transform: translateY(0); }
.mission-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--spacing-lg); }
.mission-list li { background-color: var(--color-dark-card); padding: var(--spacing-md); border-radius: var(--border-radius-sm); display: flex; align-items: flex-start; gap: var(--spacing-md); color: var(--color-text-secondary); font-size: var(--font-size-md); transition: transform var(--transition-speed-normal) var(--transition-timing-function), box-shadow var(--transition-speed-normal) var(--transition-timing-function); border: 1px solid var(--color-border); opacity: 0; transform: scale(0.9); }
#slide-3.active .mission-list li { opacity: 1; transform: scale(1); }
#slide-3.active .mission-list li:nth-child(1) { transition-delay: 0.8s; } /* dst. untuk semua item list */
#slide-3.active .mission-list li:nth-child(2) { transition-delay: 0.9s; }
#slide-3.active .mission-list li:nth-child(3) { transition-delay: 1.0s; }
#slide-3.active .mission-list li:nth-child(4) { transition-delay: 1.1s; }
#slide-3.active .mission-list li:nth-child(5) { transition-delay: 1.2s; }
#slide-3.active .mission-list li:nth-child(6) { transition-delay: 1.3s; }
.mission-list li:hover { transform: translateY(-5px) scale(1.02); box-shadow: 0 10px 20px var(--color-shadow); border-color: var(--color-accent); }
.mission-icon { color: var(--color-accent); flex-shrink: 0; margin-top: 3px; }
.mission-icon svg { width: 28px; height: 28px; stroke-width: 1.5px; }
.mission-list li:nth-child(1) .mission-icon svg { content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23936d2e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='16.5' y1='9.4' x2='7.5' y2='4.21'%3E%3C/line%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'%3E%3C/path%3E%3Cpolyline points='3.27 6.96 12 12.01 20.73 6.96'%3E%3C/polyline%3E%3Cline x1='12' y1='22.08' x2='12' y2='12'%3E%3C/line%3E%3C/svg%3E"); }
.mission-list li:nth-child(2) .mission-icon svg { content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23936d2e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E"); }
.mission-list li:nth-child(3) .mission-icon svg { content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23936d2e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='9' cy='7' r='4'%3E%3C/circle%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'%3E%3C/path%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'%3E%3C/path%3E%3C/svg%3E"); }
.mission-list li:nth-child(4) .mission-icon svg { content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23936d2e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'%3E%3C/path%3E%3C/svg%3E"); }
.mission-list li:nth-child(5) .mission-icon svg { content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23936d2e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18.36 6.64a9 9 0 1 1-12.73 0'%3E%3C/path%3E%3Cline x1='12' y1='2' x2='12' y2='12'%3E%3C/line%3E%3C/svg%3E"); }
.mission-list li:nth-child(6) .mission-icon svg { content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23936d2e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'%3E%3C/path%3E%3Cpolyline points='22 4 12 14.01 9 11.01'%3E%3C/polyline%3E%3C/svg%3E"); }

@media (max-width: 768px) {
    #slide-1 .slide-content { padding-left: var(--spacing-sm); padding-right: var(--spacing-sm); padding-top: 10vh; }
    #slide-1 .main-title { font-size: calc(var(--font-size-hero) * 0.75); }
    #slide-1 .sub-title { font-size: var(--font-size-lg); }
    #slide-1 .cta-button { font-size: var(--font-size-md); padding: var(--spacing-sm) var(--spacing-md); width: auto; max-width: calc(100% - var(--spacing-lg)); }
    #slide-2 .slide-content { padding-top: var(--spacing-xl); }
    #slide-2 .columns { flex-direction: column; gap: var(--spacing-lg); }
    #slide-2 .column-text, #slide-2 .column-visual { flex: none; width: 100%; padding-right: 0; transform: translateX(0); }
    #slide-2.active .column-text { opacity: 1; transform: translateY(0); transition-delay: 0.2s; }
    #slide-2.active .column-visual { opacity: 1; transform: translateY(0); transition-delay: 0.4s; }
    #slide-2 .column-visual { height: 300px; }
    .mission-list { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    #slide-1 .slide-content { padding-top: 8vh; }
    #slide-1 .main-title { font-size: calc(var(--font-size-hero) * 0.6); }
    #slide-1 .sub-title { font-size: var(--font-size-md); }
    #slide-1 .cta-button { font-size: var(--font-size-sm); padding: var(--spacing-xs) var(--spacing-sm); }
    #slide-1 .cta-button svg { width: 18px; height: 18px; }
    #slide-2 .slide-content { padding-top: var(--spacing-lg); }
}

/* === BAGIAN 3: STYLING SLIDE 4 (BUDAYA KERJA), SLIDE 5 (PRODUK & LAYANAN), SLIDE 6 (AREA KERJA) === */
/* Semua gaya di sini tidak termasuk yang sudah di-inline untuk elemen kritis awal */
#slide-4 { background: var(--color-dark-bg) radial-gradient(circle at top left, rgba(var(--color-brand-gold-rgb), 0.05), transparent 40%), radial-gradient(circle at bottom right, rgba(var(--color-brand-silver-rgb), 0.05), transparent 40%); }
#slide-4 .slide-content { max-width: 1100px; }
.values-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--spacing-lg); margin-top: var(--spacing-lg); }
.value-card { background-color: var(--color-dark-card); padding: var(--spacing-lg); border-radius: var(--border-radius); text-align: center; border: 1px solid var(--color-border); position: relative; overflow: hidden; transition: transform var(--transition-speed-normal) var(--transition-timing-function), box-shadow var(--transition-speed-normal) var(--transition-timing-function); opacity: 0; transform: translateY(20px) scale(0.95); }
#slide-4.active .value-card { opacity: 1; transform: translateY(0) scale(1); }
#slide-4.active .value-card:nth-child(1) { transition-delay: 0.3s; } /* ... dan seterusnya untuk semua kartu */
#slide-4.active .value-card:nth-child(2) { transition-delay: 0.35s; }
#slide-4.active .value-card:nth-child(3) { transition-delay: 0.4s; }
#slide-4.active .value-card:nth-child(4) { transition-delay: 0.45s; }
#slide-4.active .value-card:nth-child(5) { transition-delay: 0.5s; }
#slide-4.active .value-card:nth-child(6) { transition-delay: 0.55s; }
#slide-4.active .value-card:nth-child(7) { transition-delay: 0.6s; }
#slide-4.active .value-card:nth-child(8) { transition-delay: 0.65s; }
#slide-4.active .value-card:nth-child(9) { transition-delay: 0.7s; }
.value-card::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(var(--color-accent-rgb), 0.15) 0%, transparent 60%); transform: scale(0); transition: transform var(--transition-speed-slow) var(--transition-timing-function); z-index: 0; pointer-events: none; }
.value-card:hover::before { transform: scale(1); }
.value-card:hover { transform: translateY(-8px); box-shadow: 0 15px 30px var(--color-shadow); border-color: var(--color-accent); }
.value-card .value-icon { width: 60px; height: 60px; margin: 0 auto var(--spacing-md); background-color: rgba(var(--color-accent-rgb), 0.1); border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: background-color var(--transition-speed-normal) ease, transform var(--transition-speed-normal) ease; position: relative; z-index: 1; }
.value-card:hover .value-icon { background-color: var(--color-accent); transform: scale(1.1) rotate(5deg); }
.value-card .value-icon svg { width: 32px; height: 32px; color: var(--color-accent); stroke-width: 1.5px; transition: color var(--transition-speed-normal) ease; }
.value-card:hover .value-icon svg { color: var(--color-brand-black); }
.value-card h3 { font-size: var(--font-size-lg); color: var(--color-brand-silver); margin-bottom: var(--spacing-xs); position: relative; z-index: 1; }
.value-card p { font-size: var(--font-size-sm); color: var(--color-text-secondary); line-height: 1.6; position: relative; z-index: 1; min-height: 50px; }
#slide-5 { overflow: hidden; }
#slide-5 .slide-content { max-width: 1200px; display: flex; flex-direction: column; align-items: center; }
.services-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: var(--spacing-md); width: 100%; position: relative; z-index: 2; }
.service-card { background-color: rgba(31, 31, 31, 0.8); backdrop-filter: blur(10px); padding: var(--spacing-lg); border-radius: var(--border-radius); border: 1px solid var(--color-border); text-align: left; cursor: pointer; transition: transform var(--transition-speed-normal) var(--transition-timing-function), box-shadow var(--transition-speed-normal) var(--transition-timing-function), border-color var(--transition-speed-normal) var(--transition-timing-function); min-height: 220px; display: flex; flex-direction: column; justify-content: space-between; opacity: 0; transform: scale(0.9); }
#slide-5.active .service-card { opacity: 1; transform: scale(1); }
#slide-5.active .service-card:nth-child(1) { transition-delay: 0.3s; } /* ... dan seterusnya untuk semua kartu */
#slide-5.active .service-card:nth-child(2) { transition-delay: 0.35s; }
#slide-5.active .service-card:nth-child(3) { transition-delay: 0.4s; }
#slide-5.active .service-card:nth-child(4) { transition-delay: 0.45s; }
#slide-5.active .service-card:nth-child(5) { transition-delay: 0.5s; }
#slide-5.active .service-card:nth-child(6) { transition-delay: 0.55s; }
#slide-5.active .service-card:nth-child(7) { transition-delay: 0.6s; }
#slide-5.active .service-card:nth-child(8) { transition-delay: 0.65s; }
.service-card:hover { transform: translateY(-10px) scale(1.03); box-shadow: 0 20px 40px var(--color-shadow); border-color: var(--color-accent); }
.service-icon { margin-bottom: var(--spacing-md); }
.service-icon svg { width: 40px; height: 40px; color: var(--color-accent); stroke-width: 1.5px; }
.service-card h3 { font-size: var(--font-size-lg); color: var(--color-brand-silver); margin-bottom: var(--spacing-xs); }
.service-card p { font-size: var(--font-size-sm); color: var(--color-text-secondary); flex-grow: 1; }
.service-background-display { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center center; opacity: 0; transition: opacity var(--transition-speed-slow) ease-in-out, transform var(--transition-speed-slow) ease-in-out; z-index: 0; transform: scale(1.1); }
#slide-5.active .service-background-display.visible { opacity: 0.15; transform: scale(1); }
#slide-6 .slide-content { max-width: 1000px; display: flex; flex-direction: column; align-items: center; }
.map-container { width: 100%; max-width: 700px; margin-bottom: var(--spacing-lg); position: relative; opacity: 0; transform: scale(0.8); transition: opacity 0.8s ease-out 0.3s, transform 0.8s ease-out 0.3s; }
#slide-6.active .map-container { opacity: 1; transform: scale(1); }
.stylized-map { width: 100%; height: auto; border-radius: var(--border-radius); filter: grayscale(80%) contrast(120%) brightness(0.9) drop-shadow(0 5px 15px var(--color-shadow)); transition: filter var(--transition-speed-normal) ease; }
.map-container:hover .stylized-map { filter: grayscale(50%) contrast(110%) brightness(1) drop-shadow(0 8px 20px var(--color-shadow)); }
.map-point { position: absolute; width: 15px; height: 15px; background-color: var(--color-accent); border-radius: 50%; border: 2px solid var(--color-dark-bg); box-shadow: 0 0 10px var(--color-accent); cursor: pointer; transition: transform var(--transition-speed-fast) ease, box-shadow var(--transition-speed-fast) ease; }
.map-point:hover { transform: scale(1.5); box-shadow: 0 0 15px var(--color-accent-hover); }
.locations-list { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--spacing-sm) var(--spacing-md); margin-top: var(--spacing-md); }
.locations-list li { font-size: var(--font-size-md); color: var(--color-text-secondary); padding: var(--spacing-xs) var(--spacing-sm); background-color: var(--color-dark-card); border-radius: var(--border-radius-sm); border: 1px solid var(--color-border); transition: background-color var(--transition-speed-normal) ease, color var(--transition-speed-normal) ease, transform var(--transition-speed-normal) ease; opacity: 0; transform: translateY(15px); }
#slide-6.active .locations-list li { opacity: 1; transform: translateY(0); }
#slide-6.active .locations-list li:nth-child(1) { transition-delay: 0.5s; } /* ... dst. */
#slide-6.active .locations-list li:nth-child(2) { transition-delay: 0.55s; }
#slide-6.active .locations-list li:nth-child(3) { transition-delay: 0.6s; }
#slide-6.active .locations-list li:nth-child(4) { transition-delay: 0.65s; }
#slide-6.active .locations-list li:nth-child(5) { transition-delay: 0.7s; }
#slide-6.active .locations-list li:nth-child(6) { transition-delay: 0.75s; }
#slide-6.active .locations-list li:nth-child(7) { transition-delay: 0.8s; }
.locations-list li:hover { background-color: var(--color-accent); color: var(--color-brand-black); border-color: var(--color-accent); transform: scale(1.05); }

@media (max-width: 992px) { .services-container { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); } .service-card { min-height: 200px; } }
@media (max-width: 768px) { .values-grid { grid-template-columns: 1fr; } .value-card { padding: var(--spacing-md); } .value-card p { min-height: auto; } .value-icon { width: 50px; height: 50px; } .value-icon svg { width: 28px; height: 28px; } .services-container { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--spacing-md); } .service-card { padding: var(--spacing-md); } .service-icon svg { width: 32px; height: 32px; } .stylized-map { filter: grayscale(60%) contrast(110%) brightness(1) drop-shadow(0 3px 10px var(--color-shadow)); } .locations-list { gap: var(--spacing-xs) var(--spacing-sm); } .locations-list li { font-size: var(--font-size-sm); } }

/* === BAGIAN 4: STYLING SLIDE 7 (TIM), SLIDE 8 (LEGALITAS), SLIDE 9 (VIDEO & LIGHTBOX) === */
/* Semua gaya di sini tidak termasuk yang sudah di-inline untuk elemen kritis awal */
#slide-7 { background-color: var(--color-dark-bg-secondary); }
#slide-7 .slide-content { max-width: 1200px; }
.team-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: var(--spacing-lg); margin-top: var(--spacing-lg); }
.team-member-card { background-color: var(--color-dark-card); border-radius: var(--border-radius); overflow: hidden; text-align: center; padding-bottom: var(--spacing-md); box-shadow: 0 5px 15px var(--color-shadow); position: relative; transition: transform var(--transition-speed-normal) var(--transition-timing-function), box-shadow var(--transition-speed-normal) var(--transition-timing-function); opacity: 0; transform: translateY(30px); }
#slide-7.active .team-member-card { opacity: 1; transform: translateY(0); }
#slide-7.active .team-member-card:nth-child(1) { transition-delay: 0.3s; } /* ... dst. */
#slide-7.active .team-member-card:nth-child(2) { transition-delay: 0.35s; }
#slide-7.active .team-member-card:nth-child(3) { transition-delay: 0.4s; }
#slide-7.active .team-member-card:nth-child(4) { transition-delay: 0.45s; }
#slide-7.active .team-member-card:nth-child(5) { transition-delay: 0.5s; }
#slide-7.active .team-member-card:nth-child(6) { transition-delay: 0.55s; }
#slide-7.active .team-member-card:nth-child(7) { transition-delay: 0.6s; }
#slide-7.active .team-member-card:nth-child(8) { transition-delay: 0.65s; }
.team-member-card:hover { transform: translateY(-10px) scale(1.02); box-shadow: 0 15px 35px rgba(var(--color-accent-rgb), 0.3); }
.team-member-card img { width: 100%; height: 280px; object-fit: cover; object-position: center top; transition: transform var(--transition-speed-slow) var(--transition-timing-function), filter var(--transition-speed-slow) var(--transition-timing-function); filter: grayscale(70%) contrast(110%); }
.team-member-card:hover img { transform: scale(1.1); filter: grayscale(0%) contrast(100%); }
.team-member-card h3 { font-size: var(--font-size-lg); color: var(--color-brand-silver); margin-top: var(--spacing-md); margin-bottom: var(--spacing-xs); }
.team-member-card p { font-size: var(--font-size-sm); color: var(--color-accent); font-weight: 500; margin-bottom: 0; }
#slide-8 .slide-content { max-width: 1000px; text-align: left; }
#slide-8 .slide-title::after { left: 0; transform: translateX(0); }
#slide-8 .legal-columns { display: flex; gap: var(--spacing-xl); align-items: center; }
#slide-8 .column-text { flex: 1; opacity: 0; transform: translateX(-30px); }
#slide-8.active .column-text { opacity: 1; transform: translateX(0); transition: opacity 0.8s ease-out 0.3s, transform 0.8s ease-out 0.3s; }
.legal-info-list { list-style: none; }
.legal-info-list li { font-size: var(--font-size-md); color: var(--color-text-secondary); padding: var(--spacing-sm) 0; border-bottom: 1px solid var(--color-border); display: flex; justify-content: space-between; }
.legal-info-list li:last-child { border-bottom: none; }
.legal-info-list li strong { color: var(--color-text-primary); font-weight: 600; margin-right: var(--spacing-sm); }
#slide-8 .column-visual { flex: 0.8; opacity: 0; transform: scale(0.9); }
#slide-8.active .column-visual { opacity: 1; transform: scale(1); transition: opacity 0.8s ease-out 0.5s, transform 0.8s ease-out 0.5s; }
.legal-document-image { width: 100%; border-radius: var(--border-radius); box-shadow: 0 10px 30px var(--color-shadow); transition: transform var(--transition-speed-normal) ease, box-shadow var(--transition-speed-normal) ease; }
.legal-document-image:hover { transform: scale(1.05) rotate(-1deg); box-shadow: 0 15px 40px rgba(var(--color-accent-rgb), 0.25); }
#slide-9 .slide-content { max-width: 1200px; }
.video-portfolio-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--spacing-lg); margin-top: var(--spacing-lg); }
.video-thumbnail { position: relative; border-radius: var(--border-radius); overflow: hidden; cursor: pointer; box-shadow: 0 8px 20px var(--color-shadow); transition: transform var(--transition-speed-normal) var(--transition-timing-function), box-shadow var(--transition-speed-normal) var(--transition-timing-function); opacity: 0; transform: translateY(20px) scale(0.95); }
#slide-9.active .video-thumbnail { opacity: 1; transform: translateY(0) scale(1); }
#slide-9.active .video-thumbnail:nth-child(1) { transition-delay: 0.3s; } /* ... dst. */
#slide-9.active .video-thumbnail:nth-child(2) { transition-delay: 0.35s; }
#slide-9.active .video-thumbnail:nth-child(3) { transition-delay: 0.4s; }
#slide-9.active .video-thumbnail:nth-child(4) { transition-delay: 0.45s; }
#slide-9.active .video-thumbnail:nth-child(5) { transition-delay: 0.5s; }
#slide-9.active .video-thumbnail:nth-child(6) { transition-delay: 0.55s; }
.video-thumbnail:hover { transform: scale(1.05); box-shadow: 0 12px 30px rgba(var(--color-accent-rgb), 0.3); }
.video-thumbnail img { width: 100%; height: 200px; object-fit: cover; transition: transform var(--transition-speed-slow) var(--transition-timing-function); }
.video-thumbnail:hover img { transform: scale(1.1); }
.video-play-button { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.8); width: 70px; height: 70px; background-color: rgba(var(--color-accent-rgb), 0.8); border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: transform var(--transition-speed-normal) var(--transition-timing-function), background-color var(--transition-speed-normal) var(--transition-timing-function); pointer-events: none; opacity: 0.8; }
.video-thumbnail:hover .video-play-button { transform: translate(-50%, -50%) scale(1); background-color: var(--color-accent); opacity: 1; }
.video-play-button svg { width: 32px; height: 32px; fill: var(--color-brand-black); }
.video-thumbnail h3 { position: absolute; bottom: 0; left: 0; width: 100%; background: linear-gradient(to top, rgba(var(--color-dark-bg-rgb), 0.9) 0%, transparent 100%); color: var(--color-brand-silver); font-size: var(--font-size-md); padding: var(--spacing-md) var(--spacing-sm) var(--spacing-sm); margin: 0; text-align: left; transition: background var(--transition-speed-normal) ease; }
.video-thumbnail:hover h3 { background: linear-gradient(to top, rgba(var(--color-accent-rgb), 0.9) 0%, rgba(var(--color-accent-rgb), 0.3) 100%); color: var(--color-brand-black); }
.lightbox { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.9); display: flex; justify-content: center; align-items: center; z-index: 9998; opacity: 0; visibility: hidden; transition: opacity var(--transition-speed-normal) var(--transition-timing-function), visibility var(--transition-speed-normal) var(--transition-timing-function); }
.lightbox.active { opacity: 1; visibility: visible; }
.lightbox-content { position: relative; width: 90%; max-width: 960px; max-height: 80vh; background-color: var(--color-brand-black); box-shadow: 0 0 50px rgba(0,0,0,0.7); border-radius: var(--border-radius-sm); transform: scale(0.8); transition: transform var(--transition-speed-normal) var(--transition-timing-function) 0.1s; }
.lightbox.active .lightbox-content { transform: scale(1); }
#lightbox-video-player { width: 100%; height: auto; max-height: 80vh; display: block; border-radius: var(--border-radius-sm); }
.close-lightbox { position: absolute; top: -40px; right: 0; color: var(--color-brand-silver); font-size: var(--font-size-xxl); font-weight: bold; cursor: pointer; transition: color var(--transition-speed-fast) ease, transform var(--transition-speed-fast) ease; }
.close-lightbox:hover { color: var(--color-accent); transform: rotate(90deg); }

@media (max-width: 992px) { .team-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); } .team-member-card img { height: 250px; } .video-portfolio-grid { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); } }
@media (max-width: 768px) { #slide-8 .legal-columns { flex-direction: column; gap: var(--spacing-lg); } #slide-8 .column-text, #slide-8 .column-visual { flex: none; width: 100%; text-align: center; } #slide-8 .column-text .slide-title::after { left: 50%; transform: translateX(-50%); } .legal-info-list li { flex-direction: column; align-items: center; gap: var(--spacing-xs); padding: var(--spacing-sm); } .legal-info-list li strong { margin-right: 0; } .video-portfolio-grid { grid-template-columns: 1fr; } .video-thumbnail img { height: 220px; } .video-play-button { width: 60px; height: 60px; } .video-play-button svg { width: 28px; height: 28px; } .close-lightbox { top: var(--spacing-sm); right: var(--spacing-sm); font-size: var(--font-size-xl); background-color: rgba(var(--color-dark-bg-rgb), 0.7); padding: var(--spacing-xs); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; line-height: 1; } .lightbox-content { width: 95%; } }

/* === BAGIAN 5 (REVISI SLIDE 10 DENGAN KELAS ANIMASI JS): SLIDE 10 (KLIEN), SLIDE 11 (KONTAK), SLIDE 12 (PENUTUP) === */
/* Semua gaya di sini tidak termasuk yang sudah di-inline untuk elemen kritis awal */
#slide-10 { background-color: var(--color-dark-bg); }
#slide-10 .slide-content { max-width: 1200px; padding-left: var(--spacing-lg); padding-right: var(--spacing-lg); }
#slide-10 .slide-title { margin-bottom: var(--spacing-xl); }
.client-logo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: var(--spacing-lg) var(--spacing-md); justify-items: center; align-items: center; width: 100%; }
.client-logo-item { opacity: 0; transform: scale(0.8) translateY(20px); transition-property: opacity, transform; transition-duration: var(--transition-speed-normal); transition-timing-function: var(--transition-timing-function); padding: var(--spacing-xs); display: flex; justify-content: center; align-items: center; }
.client-logo-item.client-logo-item-animate { opacity: 1; transform: scale(1) translateY(0); }
.client-logo-item img { height: 50px; max-width: 130px; object-fit: contain; filter: grayscale(80%) contrast(0.9) brightness(1.2); transition: filter var(--transition-speed-normal) ease, transform var(--transition-speed-normal) var(--transition-timing-function); }
.client-logo-item:hover img { filter: grayscale(0%) contrast(1) brightness(1); transform: scale(1.1); }
#slide-11 .slide-overlay { background: linear-gradient(to bottom, rgba(var(--color-dark-bg-rgb),0.5) 0%, rgba(var(--color-dark-bg-rgb),0.9) 100%); }
#slide-11 .slide-content { max-width: 800px; }
#slide-11 .contact-subtitle { font-size: var(--font-size-lg); color: var(--color-text-primary); margin-bottom: var(--spacing-xl); font-family: var(--font-primary); opacity: 0; transform: translateY(20px); }
#slide-11.active .contact-subtitle { opacity: 1; transform: translateY(0); transition: opacity 0.7s ease-out 0.5s, transform 0.7s ease-out 0.5s; }
.contact-details { display: grid; grid-template-columns: 1fr; gap: var(--spacing-lg); margin-bottom: var(--spacing-xl); text-align: left; }
@media (min-width: 768px) { .contact-details { grid-template-columns: repeat(2, 1fr); gap: var(--spacing-xl); } }
.contact-item { display: flex; align-items: flex-start; gap: var(--spacing-md); color: var(--color-text-secondary); font-size: var(--font-size-md); padding: var(--spacing-md); background-color: rgba(var(--color-dark-card-rgb), 0.7); border-radius: var(--border-radius-sm); border: 1px solid var(--color-border); transition: background-color var(--transition-speed-normal) ease, border-color var(--transition-speed-normal) ease, transform var(--transition-speed-normal) ease; text-decoration: none; opacity: 0; transform: scale(0.95); }
#slide-11.active .contact-item { opacity: 1; transform: scale(1); }
#slide-11.active .contact-item:nth-child(1) { transition-delay: 0.7s; } /* ... dst. */
#slide-11.active .contact-item:nth-child(2) { transition-delay: 0.8s; }
#slide-11.active .contact-item:nth-child(3) { transition-delay: 0.9s; }
#slide-11.active .contact-item:nth-child(4) { transition-delay: 1.0s; }
#slide-11.active .contact-item:nth-child(5) { transition-delay: 1.1s; }
.contact-item:hover { background-color: var(--color-dark-card); border-color: var(--color-accent); color: var(--color-text-primary); transform: translateY(-5px); text-decoration: none; }
.contact-item svg { width: 28px; height: 28px; color: var(--color-accent); flex-shrink: 0; margin-top: 2px; transition: color var(--transition-speed-normal) ease; }
.contact-item:hover svg { color: var(--color-accent-hover); }
.contact-item span { flex-grow: 1; }
.contact-item .map-link { display: block; margin-top: var(--spacing-xs); font-size: var(--font-size-sm); font-weight: bold; }
.contact-item.address-item { grid-column: span 1; }
@media (min-width: 768px) { .contact-item.address-item { grid-column: span 2; } }
.social-media-links { display: flex; justify-content: center; gap: var(--spacing-lg); margin-top: var(--spacing-lg); opacity: 0; transform: translateY(20px); }
#slide-11.active .social-media-links { opacity: 1; transform: translateY(0); transition: opacity 0.7s ease-out 1.2s, transform 0.7s ease-out 1.2s; }
.social-media-links a { color: var(--color-text-secondary); transition: color var(--transition-speed-normal) ease, transform var(--transition-speed-normal) ease; display: inline-block; }
.social-media-links a:hover { color: var(--color-accent); transform: scale(1.2) rotate(5deg); text-decoration: none; }
.social-media-links svg { width: 32px; height: 32px; }
#slide-12 .slide-overlay { background: radial-gradient(circle, rgba(var(--color-brand-gold-rgb), 0.1) 0%, rgba(var(--color-dark-bg-rgb),0.8) 70%); }
#slide-12 .final-slide-content { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; }
.final-logo { max-width: 220px; margin-bottom: var(--spacing-lg); filter: drop-shadow(0 5px 15px var(--color-shadow)); opacity: 0; transform: scale(0.8) rotate(-5deg); }
#slide-12.active .final-logo { opacity: 1; transform: scale(1) rotate(0deg); transition: opacity 1s ease-out 0.3s, transform 1s cubic-bezier(0.68, -0.55, 0.265, 1.55) 0.3s; }
#slide-12 .final-title { color: var(--color-brand-silver); font-size: calc(var(--font-size-hero) * 0.9); margin-bottom: var(--spacing-xs); opacity: 0; transform: translateY(30px); }
#slide-12.active .final-title { opacity: 1; transform: translateY(0); transition: opacity 1s ease-out 0.6s, transform 1s ease-out 0.6s; }
#slide-12 .final-slogan { font-size: var(--font-size-xl); color: var(--color-text-primary); font-family: var(--font-primary); margin-bottom: var(--spacing-xl); opacity: 0; transform: translateY(30px); }
#slide-12.active .final-slogan { opacity: 1; transform: translateY(0); transition: opacity 1s ease-out 0.9s, transform 1s ease-out 0.9s; }
#slide-12 .cta-button { opacity: 0; transform: translateY(30px); } /* Warna teks sudah dari .cta-button global yang di-inline */
#slide-12.active .cta-button { opacity: 1; transform: translateY(0); transition: opacity 1s ease-out 1.2s, transform 1s ease-out 1.2s; }

@media (max-width: 768px) {
    .client-logo-grid { grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); gap: var(--spacing-md) var(--spacing-sm); }
    .client-logo-item img { height: 40px; max-width: 100px; }
    #slide-11 .contact-details { grid-template-columns: 1fr; }
    .contact-item.address-item { grid-column: span 1; }
    .contact-item { padding: var(--spacing-sm); }
    .contact-item svg { width: 24px; height: 24px; }
    .social-media-links svg { width: 28px; height: 28px; }
    #slide-12 .final-logo { max-width: 180px; }
    #slide-12 .final-title { font-size: calc(var(--font-size-hero) * 0.7); }
    #slide-12 .final-slogan { font-size: var(--font-size-lg); }
}
@media (max-width: 480px) {
    .client-logo-grid { grid-template-columns: repeat(auto-fill, minmax(60px, 1fr)); gap: var(--spacing-sm); }
    .client-logo-item img { height: 30px; max-width: 80px; }
}

        * {
            -webkit-user-select: none; /* Safari */
            -moz-user-select: none; /* Firefox */
            -ms-user-select: none; /* IE10+/Edge */
            user-select: none; /* Standard */
        }
        
        img {
            pointer-events: none; /* Mencegah drag/klik pada gambar */
        }