html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: monsterat;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

h1, h2, h3, h4, h5, h6 {
 
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 1.5rem;
}


h1 { font-size: 2.5rem; letter-spacing: -0.02em; } /* 40px */
h2 { font-size: 2rem; border-bottom: 1px solid #f0f0f0; padding-bottom: 10px; } /* 32px */
h3 { font-size: 1.5rem; } /* 24px */

/* 3. Perapihan Paragraf dan Teks Konten */
p {
    margin-bottom: 1.25rem;
    font-size: 1rem; /* 16px - Minimal ukuran yang disarankan Google untuk Mobile */
}



:root {
    --primary: #0f172a; 
    --accent: #f97316;  
    --text-dark: #334155;
    --white: #ffffff;
    --transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      --primary-blue: #00468b;
    --accent-blue: #007bff;
    --bg-light: #f8fbff;
    --text-main: #1a2a3a;
    --white: #ffffff;
}
h1 span, h2 span {
    color:  var(--accent);

}   




* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Montserrat', sans-serif;
}

body {
    background-color: #f8fafc;
}

/* --- Navigation --- */
nav {
    position: fixed;
    top: 0;
    width: 100%;
    height: 80px;
    background: rgba(255, 255, 255, 0.95);
  
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 8%;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
    z-index: 1000;
    background: transparent; /* Awalnya transparan */
    box-shadow: none;        /* Tanpa bayangan */
    transition: var(--transition);
}
.scrolled {
    background: var(--primary) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.logo {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--primary);
    letter-spacing: -1px;
 
}

.logo span {
    color: var(--accent);
}

.nav-menu {
    display: flex;
    list-style: none;
    gap: 25px;
    align-items: center;
}

.nav-link {
    text-decoration: none;
    color: var(--text-dark);
    font-weight: 600;
    font-size: 0.9rem;
    transition: var(--transition);
    cursor: pointer;
}
    .scrolled .nav-link {
        color: var(--white) !important;
    }

.nav-link:hover {
    color: var(--accent);
}

.nav-link, .logo, .search-icon {
    color: #ffffff; 
}

nav.scrolled {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    height: 70px; /* Sedikit lebih ramping saat scroll */
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

nav.scrolled .nav-link, 
nav.scrolled .logo, 
nav.scrolled .search-icon {
    color: var(--white) !important;
}

nav.scrolled .logo span {
    color: var(--accent);
}

.bar {
    background-color: #ffffff;
}
nav.scrolled .bar {
    background-color: var(--white) !important;
}

.icon-small {
    font-size: 0.7rem;
    margin-left: 3px;
}

/* Sembunyikan Logo/Teks saat di HP */
@media (max-width: 768px) {
    .logo-text, .main-logo {
        display: none !important;
    }
    
    /* Jika ingin slogan tetap muncul tapi digeser posisinya */
    .brand-container {
        align-items: center; 
    }
}
/* logo */

/* Dropdown */
.dropdown {
    position: relative;
}

.dropdown-content {
    position: absolute;
    top: 50px;
    left: 0;
    background: var(--white);
    min-width: 200px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    border-radius: 12px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: var(--transition);
    padding: 10px 0;
}

.dropdown:hover .dropdown-content {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-content a {
    display: block;
    padding: 12px 20px;
    text-decoration: none;
    color: var(--text-dark);
    font-size: 0.85rem;
    transition: 0.2s;
}

.dropdown-content a:hover {
    background-color: #fff7ed;
    color: var(--accent);
    padding-left: 25px;
}

/* Search Bar */
.search-container {
    display: flex;
    align-items: center;
    margin-left: 15px;
}

.search-input {
    width: 0;
    border: none;
    outline: none;
    padding: 0;
    transition: var(--transition);
    background: #f1f5f9;
    border-radius: 20px;
}

.search-input.active {
    width: 180px;
    padding: 8px 15px;
    margin-right: 10px;
    border: 1px solid #e2e8f0;
}

.search-icon {
    cursor: pointer;
    color: var(--white);
    font-size: 1.1rem;
    transition: var(--transition);
}

.search-icon:hover {
    color: var(--accent);
}

/* Language Button */
.lang-btn {
    background: var(--primary);
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 30px;
    cursor: pointer;
    font-size: 0.75rem;
    font-weight: 700;
    margin-left: 10px;
    transition: var(--transition);
}

.lang-btn:hover {
    background: var(--accent);
    transform: translateY(-2px);
}

/* Hamburger */
.hamburger {
    display: none;
    cursor: pointer;
}

.bar {
    display: block;
    width: 25px;
    height: 3px;
    margin: 5px auto;
    background-color: var(--white);
    transition: var(--transition);
}

/* Responsive */
@media (max-width: 992px) {
    nav { padding: 0 5%; }
    .nav-menu {
        position: fixed;
        right: -100%;
        top: 70px;
        flex-direction: column;
        background: var(--white);
        width: 100%;
        height: 100vh;
        text-align: center;
        transition: 0.5s;
        padding-top: 50px;
    }

    .nav-menu.active { right: 0; }
    .hamburger { display: block; }
    
    .hamburger.active .bar:nth-child(2) { opacity: 0; }
    .hamburger.active .bar:nth-child(1) { transform: translateY(8px) rotate(45deg); }
    .hamburger.active .bar:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
}

/* END NAVBAR */


/* WA */
/* Pastikan tombol WA melayang paling atas */
.whatsapp-float {
    position: fixed !important; /* Gunakan important agar tidak ditimpa */
    bottom: 30px;
    right: 30px;
    width: 60px;
    height: 60px;
    background-color: #25d366;
    border-radius: 50%;
    display: flex !important; /* Memastikan icon muncul di tengah */
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 25px rgba(0,0,0,0.3);
    z-index: 9998; /* Nilai maksimal z-index agar tidak tertutup */
    transition: all 0.3s ease;
}

.whatsapp-float:hover {
    transform: scale(1.1) translateY(-5px);
    background-color: #128c7e;
}

/* Lingkaran Berdenyut */
.pulse-ring {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #25d366;
    border-radius: 50%;
    z-index: -1;
    animation: wa-pulse 2s infinite;
}

@keyframes wa-pulse {
    0% { transform: scale(1); opacity: 0.6; }
    100% { transform: scale(1.8); opacity: 0; }
}

/* Tooltip */
.tooltip-wa {
    position: absolute;
    right: 80px;
    background: #333;
    color: white;
    padding: 8px 15px;
    border-radius: 8px;
    font-size: 13px;
    opacity: 0;
    pointer-events: none;
    transition: 0.3s;
    white-space: nowrap;
}

.whatsapp-float:hover .tooltip-wa {
    opacity: 1;
}
/* END WA */


/* --- Footer Section --- */
.main-footer {
    background-color: #0f172a; /* Navy Blue gelap */
    color: #cbd5e1;
    padding-top: 80px;
    font-size: 0.9rem;
}

.footer-top {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 5% 50px;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
}

.logo-footer {
    font-size: 1.8rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 20px;
    letter-spacing: -1px;
}

.logo-footer span {
    color: var(--accent-blue) !important;
}

.footer-desc {
    line-height: 1.8;
    margin-bottom: 25px;
}

/* Social Media Icons */
.social-links {
    display: flex;
    gap: 15px;
}

.social-links a {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.05);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s ease;
    text-decoration: none;
}

.social-links a:hover {
    background: #f97316;
    transform: translateY(-5px);
}

/* Footer Titles */
.footer-title {
    color: #ffffff;
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 25px;
    position: relative;
    padding-bottom: 10px;
}

.footer-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 50px;
    height: 2px;
    background: #f97316;
}

/* Links List */
.footer-links {
    list-style: none;
}

.footer-links li {
    margin-bottom: 12px;
}

.footer-links a {
    color: #cbd5e1;
    text-decoration: none;
    transition: 0.3s;
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-links a i {
    font-size: 0.7rem;
    color: #f97316;
}

.footer-links a:hover {
    color: #f97316;
    padding-left: 8px;
}

/* Contact Info */
.contact-info {
    list-style: none;
}

.contact-info li {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
    align-items: flex-start;
}

.contact-info i {
    color: #f97316;
    margin-top: 5px;
}

/* Copyright Area */
.footer-bottom {
    background: #0b1120;
    padding: 25px 5%;
    text-align: center;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.footer-bottom p {
    font-size: 0.8rem;
    letter-spacing: 0.5px;
}

/* Responsif */
@media (max-width: 768px) {
    .main-footer {
        text-align: center;
    }
    .footer-title::after {
        left: 50%;
        transform: translateX(-50%);
    }
    .social-links {
        justify-content: center;
    }
    .contact-info li {
        justify-content: center;
    }
}


/* HERO SECTION */
/* Hero Umum (Default buat Home) */
.hero {
    height: 100vh; /* Tetap full layar buat di Home */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
    padding: 0 20px;
   
}

/* KHUSUS HERO HALAMAN LAIN (Tentang Kami / Layanan) */
.about-hero {
    height: auto !important; /* Batalkan full layar */
    min-height: 300px;        /* Tinggi minimal biar gak kekecilan */
    padding: 180px 20px 100px; /* Jarak atas (180px) biar gak ketutup navbar */
    background-attachment: scroll; /* Opsional: biar gak berat di HP */
}

/* Penyesuaian teks di About Hero */
/* Container utama Loader */
#loader {
    position: fixed;
    inset: 0;
    background-color: var(--white); /* Warna latar belakang gelap */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000;
    transition: opacity 0.5s ease;
}

/* Pembungkus konten loader */
.loader-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

/* Mengatur IMG agar kecil dan proporsional */
.logo-loader img {
    width: 300px; /* Atur ukuran kecil di sini */
    height: auto;
    display: block;
    /* Animasi masuk agar smooth */
    animation: fadeInScale 1s ease-out forwards;
}

/* Loader Bar di bawah logo */
.loader-bar {
    width: 120px;
    height: 3px;
    background:var(--text-dark);
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}

.loader-bar::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: #f97316; /* Warna oranye Construct Pro */
    animation: loadingBarMove 1.5s infinite ease-in-out;
}

/* Keyframes untuk animasi smooth */
@keyframes fadeInScale {
    0% {
        opacity: 0;
        transform: scale(0.8);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes loadingBarMove {
    0% { left: -100%; }
    50% { left: 0; }
    100% { left: 100%; }
}
/* --- Hero Section --- */
.hero {
    height: 100vh;
   background: linear-gradient(rgba(15, 23, 42, 0.7), rgba(15, 23, 42, 0.7)), 
            url('../img/img11.jpeg') center / cover;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
    padding: 0 20px;
}

.hero-content h1 { font-size: clamp(2.5rem, 6vw, 3rem); line-height: 1.2; margin-bottom: 5px; }
.hero-content h2 { font-size: clamp(2.5rem, 6vw, 3rem); line-height: 1.2; margin-bottom: 20px; color: var(--accent);}
.hero-content p { font-size: 1.1rem; max-width: 600px; margin: 0 auto 30px; opacity: 0.9; }

/* --- Buttons --- */
.hero-btns { display: flex; gap: 15px; justify-content: center; }
.btn-primary { background: #f97316; color: white; padding: 12px 30px; border-radius: 5px; text-decoration: none; font-weight: 600; transition: 0.3s; }
.btn-outline { border: 2px solid white; color: white; padding: 12px 30px; border-radius: 5px; text-decoration: none; font-weight: 600; transition: 0.3s; }
.btn-primary:hover { background: #ea580c; transform: translateY(-3px); }
.btn-outline:hover { background: rgb(255, 255, 255); color: #ffffff; }*/


/* --- Stats & Services --- */
.stats { display: grit; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); background: white; padding: 50px 8%; text-align: center; gap: 30px; }
.stat-item h2 { font-size: 3rem; color: #0f172a; margin-bottom: 10px; }
.stat-item p { color: #64748b; font-weight: 600; }

/* PROYEK */
.stats-section {
    background: #ffffff;
    padding: 80px 0;
}

.stats-wrapper {
    display: flex;
    justify-content: space-around; /* Memberikan ruang antar item */
    align-items: center;
    text-align: center;
    gap: 20px;
}

.stat-item {
    flex: 1;
}

.stat-number {
    font-size: 3.5rem;
    font-weight: 800;
    color: #1e293b; /* Warna gelap profesional */
    margin-bottom: 10px;
    font-family: 'Arial', sans-serif;
}

.stat-label {
    font-size: 1.1rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Responsif untuk HP */
@media (max-width: 768px) {
    .stats-wrapper {
        flex-direction: column;
        gap: 50px;
    }
}





.services { padding: 100px 8%; background: #f8fafc; }
.section-title { text-align: center; margin-bottom: 60px; }
.section-title h2 { font-size: 2.5rem; color: #0f172a; }
.line { width: 80px; height: 4px; background: #f97316; margin: 15px auto; }

.service-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
.service-card { background: white; padding: 40px; border-radius: 15px; transition: 0.3s; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
.service-card:hover { transform: translateY(-10px); border-bottom: 4px solid #f97316; }
.service-card i { font-size: 3rem; color: var(--accent); margin-bottom: 20px; }

.counter {
    font-size: 3rem;
    font-weight: 700;
    color: #f97316; /* Warna oranye kontrator */
    font-family: sans-serif;
    /* Agar angka tidak geser-geser saat ganti dari 1 ke 2 dst */
    font-variant-numeric: tabular-nums; 
}


.stat-item {
    text-align:center;
    padding: 20px;
}

/* --- FEANTURES --- */
.features {
    padding: 100px 8%;
    background: #ffffff;
}

.subtitle {
    display: block;
    color: var(--accent);
    font-weight: 700;
    letter-spacing: 3px;
    font-size: 0.8rem;
    margin-bottom: 10px;
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
    margin-top: 50px;
}

.feature-card {
    position: relative;
    padding: 40px 30px;
    background: #f8fafc;
    border-radius: 20px;
    transition: var(--transition);
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.feature-card:hover {
    background: var(--primary);
    transform: translateY(-15px);
    border-color: var(--primary);
}

.feature-number {
    position: absolute;
    top: 20px;
    right: 30px;
    font-size: 4rem;
    font-weight: 800;
    color: rgba(15, 23, 42, 0.05); /* Angka transparan di background */
    transition: var(--transition);
}

.feature-card:hover .feature-number {
    color: rgba(255, 255, 255, 0.1);
    top: 10px;
}

.feature-icon {
    width: 60px;
    height: 60px;
    background: var(--accent);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 1.5rem;
    margin-bottom: 25px;
    transition: var(--transition);
}

.feature-card:hover .feature-icon {
    background: white;
    color: var(--accent);
    transform: rotateY(360deg);
}

.feature-card h3 {
    font-size: 1.3rem;
    color: var(--primary);
    margin-bottom: 15px;
    transition: var(--transition);
}

.feature-card p {
    color: #64748b;
    font-size: 0.95rem;
    line-height: 1.6;
    transition: var(--transition);
}

.feature-card:hover h3, 
.feature-card:hover p {
    color: white;
}


/*--- PILIH KAMI ---*/
/* Layout Khusus 2 Kolom */
.grid-2-cols-special {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr; /* Kiri lebih lebar */
    gap: 60px;
    align-items: center;
}

/* Judul & Garis */
.line-text {
    display: flex;
    align-items: center;
    gap: 15px;
    color: #64748b;
    font-weight: 600;
    margin-bottom: 20px;
}

.line-text::before {
    content: "";
    width: 40px;
    height: 2px;
    background: #f97316;
}

.main-title {
    font-size: 2.5rem;
    line-height: 1.2;
    color: #1e293b;
    margin-bottom: 25px;
}

.desc-text {
    color: #64748b;
    line-height: 1.8;
    margin-bottom: 40px;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 30px;
}

/* Grid Ikon Mini */
.features-grid-mini {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.feature-item {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.icon-box {
    width: 50px;
    height: 50px;
    background: #4a3728; /* Warna cokelat gelap sesuai gambar */
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 1.2rem;
}

.text-box h4 {
    font-size: 1.1rem;
    margin-bottom: 5px;
    color: #1e293b;
}

.text-box p {
    font-size: 0.9rem;
    color: #64748b;
}

/* Kolom Kanan (Gambar) */
.image-wrapper {
    position: relative;
    border-radius: 20px;
    overflow: visible;
}

.image-wrapper img {
    width: 100%;
    height: 550px;
    object-fit: cover;
    border-radius: 20px;
}

/* Kartu Melayang (Floating Card) */
.floating-stats-card {
    position: absolute;
    top: 30px;
    right: -20px;
    background: white;
    padding: 25px 40px;
    border-radius: 15px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    text-align: center;
    animation: floatAnim 3s infinite ease-in-out;
}

.floating-stats-card h3 {
    font-size: 2rem;
    color: #1e293b;
    margin-bottom: 5px;
}

.floating-stats-card p {
    font-size: 0.9rem;
    color: #64748b;
    margin: 0;
}

@keyframes floatAnim {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

/* Responsif HP */
@media (max-width: 992px) {
    .grid-2-cols-special {
        grid-template-columns: 1fr;
    }
    .image-wrapper img {
        height: 400px;
    }
    .floating-stats-card {
        right: 20px;
    }
}

/* --- Portfolio Section --- */
.portfolio {
    padding: 100px 8%;
    background: #ffffff;
}

.portfolio-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 25px;
    margin-top: 50px;
}

.portfolio-item {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    height: 400px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.portfolio-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Glassmorphism Overlay */
.portfolio-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.9), transparent);
    display: flex;
    align-items: flex-end;
    padding: 40px;
    opacity: 0;
    transition: all 0.4s ease;
}

.portfolio-info {
    transform: translateY(30px);
    transition: all 0.4s ease;
}

.portfolio-info span {
    color: var(--accent);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 2px;
}

.portfolio-info h3 {
    color: white;
    font-size: 1.5rem;
    margin: 10px 0 20px;
}

.view-project {
    width: 50px;
    height: 50px;
    background: var(--accent);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    text-decoration: none;
    transition: 0.3s;
}

/* Hover Effects */
.portfolio-item:hover img {
    transform: scale(1.1);
}

.portfolio-item:hover .portfolio-overlay {
    opacity: 1;
}

.portfolio-item:hover .portfolio-info {
    transform: translateY(0);
}

.view-project:hover {
    transform: rotate(90deg);
    background: white;
    color: var(--accent);
}
/* ARTIKEL */
@media (max-width: 992px) {
    /* Mencegah menu tertutup secara visual */
    .nav-menu.active { background: var(--primary)!important; }

    /* Sembunyikan default di mobile */
    .dropdown .dropdown-content {
        display: none;
        position: static;
        opacity: 1;
        visibility: visible;
        width: 100%;
        transform: none;
        box-shadow: none;
        background: #f1f5f9;
    }

    /* Tampilkan saat class 'buka' ada */
    .dropdown.buka .dropdown-content {
        display: block !important;
    }
}



@media (max-width: 992px) {
    /* Sembunyikan isi artikel dulu */
    .dropdown-content {
        display: none !important;
    }

    /* Pas diklik (class 'buka' aktif), baru munculin dorong ke bawah */
    .dropdown.buka .dropdown-content {
        display: block !important;
        position: static !important;
        background: #f1f5f9;
    }
}

@media (max-width: 992px) {
    /* Sembunyikan isi artikel dulu */
    .dropdown-content {
        display: none !important;
    }

    /* Pas diklik (class 'buka' aktif), baru munculin dorong ke bawah */
    .dropdown.buka .dropdown-content {
        display: block !important;
        position: static !important;
        background: #f1f5f9;
    }
}

/* Container Logo */
.logo {
    display: flex;
    align-items: center;
    z-index: 1000; /* Supaya gak ketutup elemen lain */
}

/* Pengaturan Gambar Logo */
/* 1. Saat Navbar Transparan (Awal) */
.logo-img-home {
    height: 40px;
    width: auto;
    /* Membuat logo jadi putih bersih walau aslinya hitam/warna */
    filter: brightness(0) invert(1); 
    transition: 0.3s ease;
}

/* 2. Saat Navbar Di-scroll (Background jadi putih) */
nav.scrolled .logo-img-home {
    /* Mengembalikan logo ke warna aslinya */
    filter: none; 
}
/* Pastikan teks tidak turun ke bawah */
.logo-text {
    white-space: nowrap;      /* Biar teks gak patah jadi 2 baris */
    display: inline-block;
}

/* Penyesuaian Mobile */
@media (max-width: 768px) {
    .logo-img-home {
        height: 30px; /* Di HP dikecilin dikit biar gak sempit */
    }
    .logo-text {
        font-size: 1.2rem;
    }
}

/* HAMBEGER MENU */
@media (max-width: 992px) {
    .nav-menu {
        position: fixed;
        top: 0;
        right: -100%; /* Sembunyi di kanan */
        width: 200px;  /* Lebar menu di HP */
        height: 100vh; /* Tinggi penuh layar */
        
        /* --- INI KUNCINYA --- */
        background-color: #ffffff !important; /* Warna putih solid */
        opacity: 1 !important;               /* Pastikan tidak transparan */
        visibility: visible !important;
        /* -------------------- */

        display: flex;
        flex-direction: column;
        padding: 80px 30px; /* Jarak atas biar gak ketutup logo */
        box-shadow: -5px 0 15px rgba(0,0,0,0.1); /* Biar ada bayangan pas menu keluar */
        transition: 0.4s ease-in-out;
        z-index: 9999;
    }

    .nav-menu.active {
        right: 0; /* Muncul ke layar */
    }

    /* Pastikan warna teks di dalam menu mobile tetap gelap/kontras */
    .nav-link {
        color: #333333 !important; 
        padding: 15px 0;
        border-bottom: 1px solid #eee; /* Garis pembatas antar menu */
    }
}
/* Opsional: Efek gelap di body saat menu mobile aktif */
@media (max-width: 992px) {
    body:has(.nav-menu.active)::after {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.4); /* Warna gelap transparan */
        z-index: 999; /* Di bawah menu, tapi di atas konten body */
    }
}

@media (max-width: 992px) {
    .close-btn-container {
        position: absolute;
        top: 25px;
        right: 25px;
        width: 50px;
        height: 50px;
        background-color: #ffffff !important;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        box-shadow: 0 4px 15px rgba(0,0,0,0.2);
        
        /* INI PENTING BANGET */
        z-index: 10000 !important; 
        pointer-events: auto !important; 
    }

    .close-btn-container i {
        font-size: 1.8rem;
        color: #333 !important;
        pointer-events: none; /* Biar kliknya tembus ke container-nya */
    }
}

.close-btn-container {
    display: none;
}

/*-- ABOUT --*/
/* --- Global Utilities (Jika belum ada) --- */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.text-center { text-align: center; }
.text-left { text-align: left; }

.section-padding { padding: 100px 0; }
.bg-light { background-color: #f8fafc; }
.img-fluid { max-width: 100%; height: auto; border-radius: 10px; }

/* Grid Umum */
.grid-2-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.grid-2-cols-gap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}
.grid-3-cols-gap {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
}
.grid-team {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    margin-top: 50px;
}

/* Card Styling */
.card {
    background: var(--white);
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    transition: var(--transition);
}
.card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}
.card h3 {
    font-size: 1.5rem;
    color: var(--primary);
    margin-bottom: 15px;
}
.card p, .card ul {
    color: var(--text-dark);
    line-height: 1.7;
    font-size: 0.95rem;
}
.card ul {
    list-style: none;
    text-align: left;
    margin-top: 15px;
}
.card ul li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 8px;
}
.card ul li::before {
    content: "\f00c"; /* Icon checkmark */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--accent);
    position: absolute;
    left: 0;
    top: 0;
}

/* Card Icon Top */
.card-icon-top {
    text-align: center;
}
.card-icon-top i {
    font-size: 3rem;
    color: var(--accent);
    margin-bottom: 25px;
    background: #fff7ed;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Card Icon Left */
.card-icon-left {
    display: block;
    text-align: left;
    gap: 20px;
    align-items: flex-start;
}
.card-icon-left i {
    font-size: 2.2rem;
    color: var(--accent);
}
.card-icon-left h4 {
    font-size: 1.2rem;
    color: var(--primary);
    margin-bottom: 10px;
}

/* Section Title Left (untuk Sejarah) */
.section-title-left {
    font-size: 2.5rem;
    color: var(--primary);
    margin-bottom: 25px;
    text-align: left;
}
.section-title-left span { color: var(--accent); }


/* --- Team Cards --- */
.team-card {
    background: var(--white);
    border-radius: 15px;
    overflow: hidden;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    transition: var(--transition);
}
.team-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}
.team-card img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    display: block;
}
.team-card h3 {
    font-size: 1.4rem;
    color: var(--primary);
    margin-top: 20px;
    margin-bottom: 5px;
}
.team-card p {
    color: var(--accent);
    font-weight: 600;
    margin-bottom: 20px;
}
.social-links-team {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding-bottom: 20px;
}
.social-links-team a {
    width: 35px;
    height: 35px;
    background: #e2e8f0;
    color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: var(--transition);
}
.social-links-team a:hover {
    background: var(--accent);
    color: var(--white);
}



/* --- ANIMASI --- */
/* Base state (sebelum animasi) */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* Class 'animated' akan ditambahkan oleh JS saat elemen terlihat */
.animate-on-scroll.animated {
    opacity: 1;
    transform: translateY(0);
}

/* Animasi spesifik */
.animate-fade-in-up {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.animate-fade-in-up.animated {
    opacity: 1;
    transform: translateY(0);
}

.animate-fade-in-up-delay {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out 0.2s, transform 0.8s ease-out 0.2s; /* Delay 0.2s */
}
.animate-fade-in-up-delay.animated {
    opacity: 1;
    transform: translateY(0);
}

.animate-fade-in-up-delay-2 {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out 0.4s, transform 0.8s ease-out 0.4s; /* Delay 0.4s */
}
.animate-fade-in-up-delay-2.animated {
    opacity: 1;
    transform: translateY(0);
}

.slide-in-left {
    opacity: 0;
    transform: translateX(-50px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.slide-in-left.animated {
    opacity: 1;
    transform: translateX(0);
}

.slide-in-right {
    opacity: 0;
    transform: translateX(50px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.slide-in-right.animated {
    opacity: 1;
    transform: translateX(0);
}

.scale-in {
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.scale-in.animated {
    opacity: 1;
    transform: scale(1);
}

.fade-in {
    opacity: 0;
    transition: opacity 1s ease-out;
}
.fade-in.animated {
    opacity: 1;
}

.zoom-in {
    opacity: 0;
    transform: scale(0.5);
    transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.zoom-in.animated {
    opacity: 1;
    transform: scale(1);
}

.zoom-in-delay {
    opacity: 0;
    transform: scale(0.5);
    transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
}
.zoom-in-delay.animated {
    opacity: 1;
    transform: scale(1);
}

.zoom-in-slow {
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 1s ease-out, transform 1s ease-out;
}
.zoom-in-slow.animated {
    opacity: 1;
    transform: scale(1);
}
.zoom-in-slow-delay {
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 1s ease-out 0.3s, transform 1s ease-out 0.3s;
}
.zoom-in-slow-delay.animated {
    opacity: 1;
    transform: scale(1);
}
.zoom-in-slow-delay-2 {
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 1s ease-out 0.6s, transform 1s ease-out 0.6s;
}
.zoom-in-slow-delay-2.animated {
    opacity: 1;
    transform: scale(1);
}




/* --- Responsive Adjustments --- */
@media (max-width: 768px) {
    .grid-2-cols {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .grid-2-cols-gap {
        grid-template-columns: 1fr;
    }
    .sejarah-content, .section-title-left {
        text-align: center;
    }
    .sejarah-image {
        order: -1; /* Pindah gambar ke atas di mobile */
    }
    .card-icon-left {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }
}

/* Animasi Khusus Hero (Langsung Jalan Tanpa Tunggu Scroll) */
.about-hero .animate-fade-in-up {
    animation: fadeInUp 0.8s ease forwards;
}

.about-hero .animate-fade-in-up-delay {
    animation: fadeInUp 0.8s ease forwards 0.3s;
    opacity: 0; /* Start hidden */
}

.about-hero .animate-fade-in-up-delay-2 {
    animation: fadeInUp 0.8s ease forwards 0.6s;
    opacity: 0; /* Start hidden */
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* LAYANAN KAMI */
/* Background Section sesuai Gambar */
#layanan-kami {
    background-color: #4a3728; /* Warna cokelat gelap */
    color: white;
}

.services-main-grid {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Layout Kartu Atas */
.service-row-top {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 30px;
}

.service-card-lg {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    height: 400px;
}

.service-card-lg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Overlay Gelap Kiri */
.service-info-overlay {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    background: #e2d9d1; /* Krem terang */
    padding: 15px 25px;
    border-radius: 10px;
    color: #333;
}

.info-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Overlay Besar Kanan */
.service-info-overlay-light {
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 80%;
    background: rgba(255, 255, 255, 0.95);
    padding: 30px;
    border-radius: 15px;
    color: #1e293b;
}

.btn-sm-dark {
    display: inline-block;
    background: #4a3728;
    color: white;
    padding: 8px 20px;
    border-radius: 20px;
    text-decoration: none;
    font-size: 0.8rem;
    margin-top: 15px;
}

/* Layout Kartu Bawah */
.service-row-bottom {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.service-card-sm {
    background: white;
    border-radius: 15px;
    overflow: hidden;
    color: #333;
    text-align: center;
}

.service-card-sm img {
    width: 100%;
    height: 150px;
    object-fit: cover;
}

.card-sm-body {
    padding: 20px 10px;
}

.card-sm-body h4 {
    font-size: 0.95rem;
    margin-bottom: 15px;
    height: 40px; /* Menjaga teks tetap sejajar */
}

.btn-text {
    background: #e2d9d1;
    color: #4a3728;
    padding: 5px 15px;
    border-radius: 5px;
    font-size: 0.8rem;
    text-decoration: none;
    font-weight: 600;
}

/* Responsive */
@media (max-width: 992px) {
    .service-row-top, .service-row-bottom {
        grid-template-columns: 1fr;
    }
    .service-row-bottom {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* Container Grid */
.service-main-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
    padding: 20px 0;
}

/* Card Utama */
.service-card-new {
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transition: all 0.4s ease;
    border: 1px solid #eee;
    text-align: center;
}

/* Bagian Gambar */
.card-img {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.5s ease;
}

/* Efek Blur & Gelap pas Hover Gambar */
.service-card-new:hover .card-img img {
    transform: scale(1.1);
    filter: blur(2px); /* EFEK BLUR */
}

.img-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.2);
    opacity: 0;
    transition: 0.3s;
}

.service-card-new:hover .img-overlay {
    opacity: 1;
}

/* Bagian Teks */
.card-info {
    padding: 25px 20px;
}

.card-info h3 {
    font-size: 1.2rem;
    color: #333;
    margin-bottom: 20px;
    font-weight: 700;
    min-height: 50px; /* Biar tinggi judul sama rata */
}

/* Tombol Lihat Layanan */
.btn-lihat {
    display: inline-block;
    padding: 10px 25px;
    background-color: #ede2d5; /* Warna krem sesuai gambar lo */
    color: #555;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.9rem;
    transition: all 0.3s ease;
}

.btn-lihat:hover {
    background-color: var(--accent); /* Jadi oranye pas hover */
    color: white;
    transform: translateY(-3px);
}

/* Hover Seluruh Card */
.service-card-new:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    border-color: var(--accent);
}

/* --- CONTAINER UTAMA --- */
.content-right {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 40px; /* Memberikan ruang dari gambar di sebelah kiri */
}

/* --- AREA TEKS (JUDUL & PARAGRAF) --- */
.title-area {
    margin-bottom: 40px; /* Memberikan RONGGA yang luas sebelum tombol */
}

.line-text {
    display: block;
    color: #8d6e63; /* Warna aksen cokelat lembut */
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 15px;
    position: relative;
    padding-left: 50px;
}

/* Garis dekoratif di depan "Parta Jasa" */
.line-text::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 40px;
    height: 2px;
    background-color: #8d6e63;
}

.title-area h2 {
    font-size: 2.5rem;
    color: #1a1a1a;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 25px;
}

.title-area p {
    font-size: 1rem;
    color: #555;
    line-height: 1.8; /* Jarak antar baris agar teks tidak terlihat sesak */
    max-width: 500px;
}

/* --- GRUP TOMBOL (SPACING & ALIGNMENT) --- */
.btn-group-solusi {
    display: flex;
    gap: 20px; /* Jarak antar tombol agar tidak berantakan */
    align-items: center;
}

/* Tombol Utama (Cokelat Gelap) */
.btn-dark {
    background-color: #4e342e;
    color: #ffffff;
    padding: 15px 35px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    border: 2px solid #4e342e;
    text-align: center;
}

.btn-dark:hover {
    background-color: #3e2723;
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

/* Tombol Outline (Transparan) */
.btn-outline {
    background-color: transparent;
    color: #4e342e;
    padding: 15px 35px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    border: 2px solid #e0e0e0;
    transition: all 0.3s ease;
    text-align: center;
}

.btn-outline:hover {
    border-color: #4e342e;
    background-color: #f5f5f5;
}

/* RESPONSIVE UNTUK HP */
@media (max-width: 768px) {
    .content-right {
        padding-left: 0;
        text-align: center;
    }
    
    .line-text {
        padding-left: 0;
    }
    
    .line-text::before {
        display: none;
    }
    
    .btn-group-solusi {
        flex-direction: column;
        width: 100%;
    }
    
    .btn-dark, .btn-outline {
        width: 100%;
    }
}


/* TENTANG KAMI HOME */
/* Layout Reverse untuk menukar posisi */
.grid-2-cols-special.reverse {
    direction: ltr; /* Tetap kiri ke kanan */
}

/* Badge Pengalaman (Cokelat) */
.experience-badge {
    position: absolute;
    bottom: 0;
    left: 0;
    background: #4a3728; /* Cokelat tua sesuai gambar */
    color: white;
    padding: 30px;
    width: 200px;
    text-align: center;
    border-top-right-radius: 20px;
}

.experience-badge h3 {
    font-size: 2.5rem;
    margin-bottom: 5px;
}

.experience-badge p {
    font-size: 0.9rem;
    opacity: 0.9;
}

/* Teks Deskripsi Kecil */
.desc-text-small {
    color: #64748b;
    font-size: 0.95rem;
    line-height: 1.7;
    margin-bottom: 30px;
}

/* Tombol */
.btn-group-solusi {
    display: flex;
    gap: 15px;
    margin-bottom: 40px;
}

.btn-dark {
    background: #4a3728;
    color: white;
    padding: 12px 30px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 600;
    transition: 0.3s;
}

.btn-outline {
    border: 1px solid #e2e8f0;
    color: #1e293b;
    padding: 12px 30px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 600;
    transition: 0.3s;
}

.btn-dark:hover { background: #36281d; }
.btn-outline:hover { background: #f8fafc; }

/* Checklist Grid */
.features-list-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.feature-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.feature-check i {
    color: #4a3728;
    margin-top: 4px;
    font-size: 0.9rem;
}

.feature-check span {
    font-size: 0.85rem;
    color: #475569;
    font-weight: 500;
}

/* Image Wrapper khusus section ini */
.main-solution img {
    height: 500px; /* Sedikit lebih pendek dari section sebelumnya */
    border-radius: 15px;
}


/* NAVBAR SELAIN HOME */
/* Container Utama Hero */
.hero.about-hero {
    height: 60vh; /* Tinggi hero tidak full, tapi cukup luas */
    min-height: 400px;
    position: relative;
    display: flex;
    align-items: flex-end; /* Paksa konten ke bagian bawah */
    padding-bottom: 50px;  /* Jarak dari tepi bawah layar */
    background-color: #222; /* Fallback warna */
}

/* Pembungkus Konten di Bawah */
.hero-bottom-wrap {
    width: 100%;
}

.hero-bottom-content {
    display: flex;
    justify-content: space-between; /* Kiri untuk H1, Kanan untuk P */
    align-items: flex-end;         /* Sejajar di bagian bawah */
    gap: 40px;
}

/* Judul (Kiri Bawah) */
.hero-bottom-content h1 {
    font-size: clamp(2rem, 2vw, 2rem);
    color: #fff;
    margin: 0;
    text-align: left;
    line-height: 1.1;
    flex: 1; /* Biar fleksibel */
}

.hero-bottom-content h1 span {
    color: #f97316; /* Warna oranye Construct Pro */
  /*  display: block; /* Opsional: Biar kata 'Kami' di bawah kata 'Tentang' */
}

/* Deskripsi (Kanan Bawah) */
.hero-bottom-content p {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.8);
    max-width: 400px; /* Batasi lebar teks kanan agar rapi */
    margin: 0;
    text-align: right;
    line-height: 1.6;
    padding-bottom: 10px; /* Penyesuaian biar sejajar garis dasar font h1 */
}

/* RESPONSIVE: Di HP kita tumpuk lagi biar gak berantakan */
@media (max-width: 768px) {
    .hero-bottom-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    
    .hero-bottom-content p {
        text-align: left;
        max-width: 100%;
    }
    
    .hero.about-hero {
        height: auto;
        padding-top: 150px; /* Jarak dari navbar */
    }
}

/* Menargetkan gambar logo di navbar */
.logo-img-home {
    width: 60px;       /* Ubah angka ini untuk membesarkan (misal: 80px atau 100px) */
    height: auto;      /* Menjaga proporsi logo agar tidak gepeng */
    transition: transform 0.3s ease; /* Opsional: agar halus saat ada perubahan */
}

/* Jika kamu ingin logo membesar sedikit saat kursor diarahkan ke sana */
.logo-img-home:hover {
    transform: scale(1.1);
}

/* Mengubah tombol Lihat Layanan menjadi tidak transparan */
.btn-outline {
  display: inline-block;
    padding: 12px 30px;
    background-color: #ffffff; /* Mengubah latar menjadi putih padat */
    color: #1e293b !important;  /* Mengubah warna teks menjadi gelap agar terbaca */
    border: 2px solid #ffffff;
    text-decoration: none;
    font-weight: 600;
    border-radius: 5px;
    transition: all 0.3s ease;
}

/* Efek Hover: Menambahkan sedikit interaksi saat disentuh */
.btn-outline:hover {
    background-color: #f1f5f9; /* Putih sedikit abu-abu saat di-hover */
    border-color: #f1f5f9;
    transform: translateY(-2px); /* Memberikan efek mengangkat */
}


/* Styling Dasar Navigasi */
.nav-menu, .nav-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}




.about-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
}

.about-text h2 {
    font-size: 2.5rem;
    margin-bottom: 20px;
    color: #1e293b;
}

.about-text p {
    color: #64748b;
    line-height: 1.8;
    margin-bottom: 15px;
}

/* Team Cards */
.team-grid {
    display: flex;
    gap: 20px;
}

.team-card {
    flex: 1;
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    transition: all 0.4s ease;
    text-align: center;
}

.team-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}

.team-img-wrapper {
    height: 250px;
    overflow: hidden;
}

.team-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.team-card:hover img {
    transform: scale(1.05);
}

.team-info {
    padding: 20px;
}

.team-info h3 {
    font-size: 1.1rem;
    color: #1e293b;
    margin-bottom: 5px;
}

.team-info span {
    color: #ff6b00; /* Warna aksen oranye */
    font-weight: 600;
    font-size: 0.9rem;
}

/* Responsif */
@media (max-width: 992px) {
    .about-container {
        grid-template-columns: 1fr;
    }
    .team-grid {
        justify-content: center;
    }
}

/*-- MISI VISI --*/
/* --- Global Reset untuk Mencegah Hilang --- */
html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x: hidden;
    opacity: 1 !important; /* Memaksa body tetap terlihat */
}

.profile-section {
    padding: 100px 0;
    background-color: #ffffff;
}

.flex-wrapper {
    display: flex;
    align-items: center;
    gap: 80px; /* Jarak antara gambar dan teks */
}

/* --- Style Gambar & Bingkai (Sesuai Referensi) --- */
.image-area {
    flex: 1;
    position: relative;
}

.decorative-frame {
    position: absolute;
    top: -20px;
    left: -20px;
    width: 80%;
    height: 90%;
    border: 2px solid #4a3728; /* Warna cokelat arsitektural */
    z-index: 1;
}

.image-box {
    position: relative;
    z-index: 2;
    box-shadow: 20px 20px 60px rgba(0,0,0,0.1);
}

.image-box img {
    width: 100%;
    height: auto;
    display: block;
}

/* --- Style Teks (Elegan & Simpel) --- */
.text-area {
    flex: 1.2;
}

.vm-group {
    margin-bottom: 50px;
}

.vm-group h2 {
    font-size: 2.8rem;
    color: #4a3728;
    margin-bottom: 20px;
    font-weight: 700;
}

.vm-group p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #555;
    text-align: justify;
}

.clean-list {
    list-style: none;
    padding: 0;
}

.clean-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 15px;
    font-size: 1.05rem;
    color: #555;
    line-height: 1.6;
}

.clean-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #4a3728;
    font-weight: bold;
    font-size: 1.5rem;
}

/* --- Animasi Masuk Sederhana (Opsional) --- */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

.flex-wrapper {
    animation: fadeInUp 1s ease-out;
}

/* Responsif Mobile */
@media (max-width: 992px) {
    .flex-wrapper {
        flex-direction: column;
        gap: 50px;
    }
    .decorative-frame {
        display: none;
    }
    .vm-group h2 {
        font-size: 2rem;
    }
}

/* RUMAH HUNIAN */
.profil-section {
    padding: 100px 0;
    background: #fff;
}

.profil-flex {
    display: flex;
    align-items: center;
    gap: 80px;
}

/* --- Styling Gambar (Kiri) --- */
.profil-image-side {
    flex: 1;
    position: relative;
    padding: 40px;
}

.arch-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 80%;
    height: 90%;
    border: 8px solid #4a3728; /* Warna bingkai cokelat gelap */
    z-index: 1;
}

.main-img-box {
    position: relative;
    z-index: 2;
    width: 90%;
    margin-left: 30px;
    margin-top: 30px;
}

.main-img-box img {
    width: 100%;
    height: 450px;
    object-fit: cover;
    box-shadow: 20px 20px 50px rgba(0,0,0,0.15);
}

.small-img-box {
    position: absolute;
    bottom: -20px;
    right: 0;
    width: 180px;
    z-index: 3;
    border: 5px solid #fff;
}

.small-img-box img { width: 100%; }

/* --- Styling Teks (Kanan) --- */
.profil-text-side { flex: 1.2; }

.sub-headline {
    font-weight: 700;
    letter-spacing: 2px;
    color: #4a3728;
    font-size: 0.9rem;
}

.year-text {
    font-size: 6rem;
    font-weight: 900;
    line-height: 1;
    color: #4a3728;
    margin: 10px 0;
}

.headline-group {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}

.headline-desc h3 {
    font-size: 2rem;
    color: #4a3728;
}

.headline-desc h3 span { font-weight: 300; }

.highlight-years {
    background: #4a3728;
    color: #fff;
    padding: 2px 10px;
    font-size: 0.8rem;
}

.profil-desc {
    color: #666;
    line-height: 1.8;
    margin-bottom: 40px;
    max-width: 500px;
}

/* --- Stats Grid --- */
.stats-grid {
    display: flex;
    gap: 50px;
}

.stat-item h4 {
    display: inline-block;
    font-size: 2.5rem;
    font-weight: 800;
    color: #4a3728;
    margin: 0;
}

.stat-item span {
    font-size: 2rem;
    font-weight: 800;
    color: #4a3728;
}

.stat-item p {
    color: #888;
    font-weight: 600;
    margin-top: 5px;
}



/* DROPDOWN */
/* --- Aturan Dasar untuk Desktop (Review) --- */
.has-submenu { position: relative; }
.sub-dropdown {
    position: absolute;
    top: 0;
    left: 100%;
    display: none;
    min-width: 200px;
    background: #fff;
    box-shadow: 2px 2px 10px rgba(0,0,0,0.1);
 
}
.has-submenu:hover > .sub-dropdown { display: block; }

/* --- RESPONSIVE MOBILE (Layar di bawah 992px) --- */
@media screen and (max-width: 992px) {
    /* Membuat dropdown utama memenuhi lebar layar */
    .dropdown-content {
        position: static; /* Mengikuti alur vertikal mobile menu */
        width: 100%;
        box-shadow: none;
        border-top: 1px solid #eee;
     
    }

    /* Sub-dropdown tidak lagi muncul di samping, tapi di bawahnya */
    .sub-dropdown {
        position: static; /* Ikut alur vertikal */
        left: 0;
        width: 100%;
        padding-left: 30px; /* Memberi jarak indentasi agar terlihat seperti cabang */
        background: #fdfdfd;
        box-shadow: none;
        display: none; /* Default tertutup di mobile */
    }

    /* Efek ketika di-hover di mobile, sub-menu terbuka ke bawah */
    .has-submenu:hover > .sub-dropdown {
        display: block;
    }

    /* Memutar icon panah ke bawah saat di mobile */
    .mobile-arrow {
        transform: rotate(90deg);
        float: right;
    }
    
    /* Memastikan link mobile mudah ditekan (Touch friendly) */
    .dropdown-content a, .sub-dropdown a {
        padding: 15px 20px;
        border-bottom: 1px solid #f5f5f5;
        font-weight: 500;
        
    }

}

.submenu-trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    cursor: pointer; /* Membuat kursor menjadi tangan */
    color: #333;
    font-size: 14px;
 
}

.submenu-trigger:hover {
    background-color: #fff5ed;
    color: #ff6b00;
}

/* Animasi Rotasi Panah saat Aktif */
.has-submenu.active .mobile-arrow {
    transform: rotate(90deg);
    transition: 0.3s;
}

/* Sembunyikan sub-dropdown default di mobile */
@media screen and (max-width: 992px) {
    .sub-dropdown {
        display: none;
        padding-left: 15px;
        background-color: #f9f9f9;
    }
    .sub-dropdown.is-open {
        display: block;
    }
    /* Cari class ul atau container yang membungkus list menu Anda */
.nav-links, .nav-menu { 
    padding-top: 80px !important; /* Tambahkan jarak dari atas */
    justify-content: flex-start !important; /* Paksa mulai dari atas, bukan tengah */
    display: flex;
    flex-direction: column;
}

/* Atau berikan margin langsung pada list item pertama */
.nav-links li:first-child {
    margin-top: 50px !important;
}
}

/* PORTOFOLIO */
.portfolio-section {
    padding: 80px 0;
    background-color: #fcfcfc;
}

.portfolio-header {
    text-align: center;
    margin-bottom: 50px;
}

.portfolio-header h2 {
    font-size: 36px;
    color: #1e293b;
    margin-bottom: 15px;
}

/* Grid Layout */
.portfolio-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
}

.portfolio-item {
    position: relative;
    border-radius: 15px;
    overflow: hidden; /* Memastikan gambar tidak keluar batas */
    height: 400px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.portfolio-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

/* Hover Effect Gambar */
.portfolio-item:hover img {
    transform: scale(1.1);
}

/* Overlay Hitam Transparan */
.portfolio-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 100%);
    display: flex;
    align-items: flex-end;
    padding: 30px;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.portfolio-item:hover .portfolio-overlay {
    opacity: 1;
}

/* Teks di Dalam Overlay */
.overlay-text span {
    color: #ff6b00;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.overlay-text h3 {
    color: #fff;
    font-size: 22px;
    margin: 10px 0 20px;
}

.view-btn {
    display: inline-block;
    padding: 10px 20px;
    background: #ff6b00;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 600;
    transition: 0.3s;
}

.view-btn:hover {
    background: #e65a00;
}

/* Responsif untuk HP */
@media (max-width: 768px) {
    .portfolio-grid {
        grid-template-columns: 1fr;
    }
}

/* BANGUN RUMAH */
.jasa-bangun {
    padding: 80px 0;
    background-color: #ffffff;
}

.content-wrapper {
    display: flex;
    gap: 50px;
    align-items: flex-start;
}

/* --- Sisi Kiri --- */
.left-side {
    flex: 1;
}

.image-box img {
    width: 100%;
    border-radius: 20px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
}

.cta-card {
    margin-top: 30px;
    background-color: #f1ede6; /* Warna krem sesuai gambar */
    padding: 30px;
    border-radius: 15px;
    text-align: center;
    border: 1px solid #ddd;
}

.cta-card h3 {
    font-size: 1.2rem;
    margin-bottom: 10px;
    color: #333;
}

.btn-wa {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: #28a745; /* Warna hijau WA */
    color: #fff;
    padding: 12px 25px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: bold;
    margin-top: 15px;
    transition: 0.3s;
}

.btn-wa:hover {
    background-color: #218838;
    transform: scale(1.05);
}

/* --- Sisi Kanan --- */
.right-side {
    flex: 1.5;
}

.right-side h2 {
    font-size: 2.5rem;
    color: #2c3e50;
    margin-bottom: 10px;
}

.divider {
    width: 100%;
    height: 1px;
    background-color: #eee;
    margin-bottom: 30px;
}

.description h3 {
    color: #333;
    margin-bottom: 15px;
}

.right-side h4 {
    margin-top: 30px;
    margin-bottom: 15px;
    color: #333;
}

.services-list ul, .usp-list ul {
    list-style: none;
    padding: 0;
}

.services-list li {
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.services-list i {
    color: #28a745;
    font-size: 0.9rem;
}

/* --- RESPONSIVE --- */
@media (max-width: 992px) {
    .content-wrapper {
        flex-direction: column;
    }
    
    .left-side, .right-side {
        width: 100%;
    }
}

/* KONTAK KAMI */
.contact-section {
    padding: 80px 0;
    background-color: #fff;
}

.contact-wrapper {
    display: flex;
    gap: 60px;
    align-items: flex-start;
}

.contact-info { flex: 1; }
.contact-form-box { flex: 1; }

.contact-info h2 { font-size: 2.2rem; margin-bottom: 20px; color: #333; }
.sub-text { color: #666; line-height: 1.6; margin-bottom: 30px; }

.info-item { margin-bottom: 25px; }
.info-item strong { display: block; margin-bottom: 5px; font-size: 1.1rem; }



/* Tombol WA Hijau */
.btn-whatsapp-large {
    display: inline-flex;
    align-items: center;
    background-color: #25d366;
    color: white;
    padding: 12px 25px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: bold;
    margin-bottom: 30px;
}

/* List Detail Kontak */
.contact-details { list-style: none; padding: 0; }
.contact-details li {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 20px;
    color: #444;
}
.contact-details i { color: #d32f2f; margin-top: 5px; }

/* Social Icons Box */
.social-icons { display: flex; gap: 10px; margin-top: 30px; }
.social-icons a {
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 5px; color: white; text-decoration: none;
}


/* --- Styling Form --- */
.contact-form-box h3 { margin-bottom: 25px; font-size: 1.8rem; }
.form-row { display: flex; gap: 20px; }
.form-group { flex: 1; margin-bottom: 20px; }
.form-group label { display: block; margin-bottom: 8px; font-weight: 600; color: #333; }

.form-group input, .form-group textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    background-color: #f9f9f9;
    border-radius: 4px;
}

.form-group textarea { height: 150px; resize: none; }

.btn-submit {
    background-color: #d32f2f; /* Merah sesuai gambar */
    color: white;
    border: none;
    padding: 12px 35px;
    border-radius: 6px;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}

.btn-submit:hover { background-color: #b71c1c; }

.social-icons {
    display: flex;
    gap: 15px;
    margin-top: 30px;
}

.social-btn {
    width: 55px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    color: #ffffff !important; /* Putih bersih */
    font-size: 26px; /* Icon lebih besar */
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    /* Bayangan lebih tegas */
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

/* Facebook: Biru Royal yang lebih terang */
.social-btn.fb {
    background: #1877F2;
    border: 1px solid #166fe5;
}

/* Instagram: Gradient warna penuh */
.social-btn.ig {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    border: 1px solid #bc1888;
}

/* YouTube: Merah menyala */
.social-btn.yt {
    background: #FF0000;
    border: 1px solid #e60000;
}

/* Efek saat kursor diarahkan (Hover) */
.social-btn:hover {
    transform: translateY(-8px) scale(1.1); /* Melompat lebih tinggi */
    filter: brightness(1.2); /* Warna jadi lebih terang/glow */
    box-shadow: 0 10px 20px rgba(0,0,0,0.3);
}

/* Membuat icon font-awesome terlihat lebih tebal */
.social-btn i {
    filter: drop-shadow(0 2px 2px rgba(0,0,0,0.1));
}

/* Responsif HP */
@media (max-width: 992px) {
    .contact-wrapper { flex-direction: column; }
    .form-row { flex-direction: column; }
}

/* Container Tombol */
.contact-buttons {
    margin: 25px 0;
}

/* Styling Utama Tombol WA */
.btn-whatsapp-large {
    display: inline-flex;
    align-items: center;    /* Ikon & teks sejajar vertikal */
    justify-content: center;
    gap: 12px;              /* Jarak presisi antara ikon dan teks */
    background: linear-gradient(135deg, #25d366 0%, #128c7e 100%); /* Warna gradient biar mewah */
    color: #ffffff !important;
    padding: 15px 30px;
    border-radius: 50px;    /* Bentuk kapsul yang modern */
    text-decoration: none;
    font-weight: 700;
    font-size: 17px;
    letter-spacing: 0.5px;
    border: none;
    box-shadow: 0 8px 15px rgba(37, 211, 102, 0.3);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

/* Ukuran Ikon WA */
.btn-whatsapp-large i {
    font-size: 24px;
    margin: 0;
    padding: 0;
    display: block; /* Menghilangkan whitespace di bawah font */
}

/* --- ANIMASI --- */

/* Efek Denyut (Pulse) di Sekitar Tombol */
.btn-whatsapp-large {
    animation: pulse-green 2s infinite;
}

@keyframes pulse-green {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
    }
    70% {
        box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
    }
}

/* Efek Hover (Saat Disentuh Mouse) */
.btn-whatsapp-large:hover {
    transform: scale(1.05) translateY(-3px); /* Tombol sedikit membesar dan naik */
    background: linear-gradient(135deg, #21bd5c 0%, #0e7a6d 100%);
    box-shadow: 0 12px 20px rgba(37, 211, 102, 0.4);
}

/* Efek Kilatan Cahaya (Shine) */
.btn-whatsapp-large::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -60%;
    width: 20%;
    height: 200%;
    background: rgba(255, 255, 255, 0.2);
    transform: rotate(30deg);
    transition: all 0.5s;
}

.btn-whatsapp-large:hover::after {
    left: 120%; /* Kilatan cahaya lewat saat di-hover */
}

/* Container Ikon Sosial Media */
.social-icons {
    display: flex;
    gap: 15px;
    margin-top: 30px;
    align-items: center;
}

/* Styling Dasar Tombol Sosial Media */
.social-btn {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px; /* Sudut membulat modern */
    color: #ffffff !important;
    font-size: 22px;
    text-decoration: none;
    position: relative;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Animasi membal (bounce) */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

/* --- WARNA DAN GLOW KHAS BRAND --- */

/* Facebook */
.social-btn.fb {
    background: #1877F2;
}
.social-btn.fb:hover {
    box-shadow: 0 0 20px rgba(24, 119, 242, 0.6);
}

/* Instagram */
.social-btn.ig {
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
}
.social-btn.ig:hover {
    box-shadow: 0 0 20px rgba(214, 36, 159, 0.6);
}

/* YouTube */
.social-btn.yt {
    background: #FF0000;
}
.social-btn.yt:hover {
    box-shadow: 0 0 20px rgba(255, 0, 0, 0.6);
}

/* --- ANIMASI SAAT DI-HOVER --- */

.social-btn:hover {
    transform: translateY(-8px) scale(1.15); /* Melompat ke atas dan membesar sedikit */
}

/* Efek Kilatan (Shine) Putih yang lewat */
.social-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: all 0.6s;
}

.social-btn:hover::before {
    left: 100%;
}

/* Animasi ikon di dalam agar bergetar sedikit saat di-hover */
.social-btn:hover i {
    animation: shake 0.5s ease-in-out;
}

@keyframes shake {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(-10deg); }
    75% { transform: rotate(10deg); }
}


/* ABOUT*/
/* Layout Dasar */
.profil-section {
    padding: 80px 0;
    overflow: hidden;
}

.profil-flex {
    display: flex;
    align-items: center;
    gap: 50px; /* Jarak antara gambar dan teks */
}

.profil-image-side {
    flex: 1;
    position: relative;
    display: flex;
    justify-content: center;
}

.profil-text-side {
    flex: 1;
}

/* Gambar Responsif */
.main-img-box img {
    width: 100%;
    max-width: 500px;
    height: auto;
    border-radius: 15px;
    display: block;
}

.small-img-box {
    position: absolute;
    bottom: -20px;
    right: 20px;
    width: 200px;
    border: 5px solid #fff;
    border-radius: 10px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.small-img-box img {
    width: 100%;
    height: auto;
    border-radius: 5px;
}

/* Headline & Stats */
.headline-group {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 30px;
}

/* --- MEDIA QUERIES (RESPONSIF HP) --- */

@media (max-width: 992px) {
    .profil-flex {
        flex-direction: column; /* Gambar jadi di atas, teks di bawah */
        text-align: center;
        gap: 40px;
    }

    .profil-image-side {
        width: 100%;
    }

    .headline-group {
        justify-content: center;
    }

    .small-img-box {
        width: 150px; /* Mengecilkan gambar dekorasi di tablet */
        right: 10%;
    }
}

@media (max-width: 576px) {
    .profil-section {
        padding: 50px 0;
    }

    .year-text {
        font-size: 3rem; /* Menyesuaikan ukuran teks tahun */
    }

    .stats-grid {
        grid-template-columns: 1fr; /* Statistik jadi berderet ke bawah di HP */
        gap: 15px;
    }

    .small-img-box {
        display: none; /* Sembunyikan gambar kecil di HP agar tidak berantakan */
    }

    .headline-group {
        flex-direction: column;
        gap: 5px;
    }
}

@media (max-width: 576px) {
    /* Pastikan pembungkus form berada di tengah */
    .contact-form-box {
        display: flex;
        flex-direction: column;
        align-items: center; /* Mengetengahkan konten secara horizontal */
        text-align: center;
        padding: 20px;
        width: 100%;
    }

    /* Mengatur baris Name & Phone agar bertumpuk dan penuh ke samping */
    .form-row {
        flex-direction: column !important;
        width: 100%;
        gap: 0; /* Jarak diatur lewat margin-bottom di form-group */
    }

    /* Mengatur semua grup input (label + input) */
    .form-group {
        width: 100%; /* Memastikan input mengambil lebar penuh container */
        margin-bottom: 15px;
        text-align: left; /* Label tetap rata kiri agar rapi, atau center jika mau */
    }

    /* Memastikan semua box input dan textarea rata tengah */
    .form-group input, 
    .form-group textarea {
        width: 100% !important;
        max-width: 100%;
        display: block;
        margin: 0 auto; /* Menjaga posisi di tengah jika ada max-width */
    }

    /* Mengetengahkan tombol Kirim */
    .btn-submit {
        width: 100%; /* Tombol penuh di HP agar mudah diklik */
        max-width: 200px; /* Atau sesuaikan lebar keinginan Anda */
        margin: 20px auto 0 auto; /* Mengetengahkan tombol */
        display: block;
    }
}

/* BLOG --------------------------------------------------------------------BLOG*/
/* Section Styling */
.blog-section {
    padding: 100px 0;
    background-color: #f8f9fa;
}

.blog-header {
    text-align: center;
    margin-bottom: 60px;
}

.blog-header h2 {
    font-size: 3rem;
    font-weight: 800;
    text-transform: uppercase;
}

.blog-header h2 span {
    color: #d32f2f; /* Warna Merah Branding Anda */
}

/* Grid Layout */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
}

/* Card Styling */
.blog-card {
    background: #fff;
    border-radius: 0px; /* Siku kotak untuk kesan kokoh konstruksi */
    overflow: hidden;
    box-shadow: 10px 10px 0px #e0e0e0; /* Shadow tegas/maksimalis */
    transition: all 0.4s ease;
    border: 1px solid #eee;
}

.blog-card:hover {
    transform: translateY(-10px);
    box-shadow: 15px 15px 0px var(--accent); /* Shadow berubah warna saat hover */
}

.blog-img {
    position: relative;
    height: 250px;
    overflow: hidden;
}

.blog-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.blog-card:hover .blog-img img {
    transform: scale(1.1);
}

.category {
    position: absolute;
    top: 20px;
    left: 20px;
    background: #d32f2f;
    color: #fff;
    padding: 5px 15px;
    font-weight: 600;
    font-size: 0.8rem;
    text-transform: uppercase;
}

.blog-content {
    padding: 25px;
}

.meta {
    font-size: 0.85rem;
    color: #888;
    margin-bottom: 15px;
    display: flex;
    gap: 15px;
}

.blog-content h3 a {
    text-decoration: none;
    color: #222;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.3;
    transition: 0.3s;
}

.blog-content h3 a:hover {
    color: #d32f2f;
}

.blog-content p {
    color: #666;
    margin: 15px 0;
    line-height: 1.6;
}

.read-more {
    font-weight: 700;
    color: #222;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: 0.3s;
}

.read-more:hover {
    gap: 15px;
    color: #d32f2f;
}

/* Responsif */
@media (max-width: 768px) {
    .blog-header h2 { font-size: 2.2rem; }
    .blog-grid {
        grid-template-columns: 1fr; /* Satu kolom di HP */
    }
}

/* Container Tombol */
.blog-footer-btn {
    text-align: center;
    margin-top: 60px;
    display: flex;
    justify-content: center;
}

/* Styling Tombol Maksimalis */
.btn-all-posts {
    display: inline-block;
    padding: 18px 45px;
    background-color: #222; /* Hitam pekat agar kontras dengan merah */
    color: #fff !important;
    text-decoration: none;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 14px;
    border: 2px solid #222;
    position: relative;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 8px 8px 0px var(--accent); /* Shadow merah tegas tanpa blur */
}

/* Efek Hover */
.btn-all-posts:hover {
    background-color: var(--accent); /* Berubah jadi merah */
    border-color: #d32f2f;
    color: #fff !important;
    transform: translate(4px, 4px); /* Efek menekan tombol */
    box-shadow: 0px 0px 0px var(--accent); /* Shadow menghilang saat ditekan */
}

/* Responsif Mobile */
@media (max-width: 576px) {
    .btn-all-posts {
        width: 100%; /* Full width di HP agar mudah diklik */
        padding: 15px 20px;
        font-size: 13px;
    }
}

/*-------------------------------------BERITAA-------------------------------------*/
/* Container Utama */
.project-news-section {
    padding: 100px 0;
    background-color: #ffffff;
}

.news-header {
    margin-bottom: 50px;
    border-left: 8px solid #d32f2f;
    padding-left: 25px;
}

.news-header h2 {
    font-size: 2.5rem;
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.news-header h2 span { color: #d32f2f; }

/* Item Proyek Card */
.project-news-item {
    background: #fdfdfd;
    margin-bottom: 60px;
    border: 1px solid #eee;
    position: relative;
    box-shadow: 15px 15px 0px #f0f0f0;
}

.project-status {
    position: absolute;
    top: -15px;
    right: 20px;
    z-index: 10;
}

.status-badge {
    background: #222;
    color: #fff;
    padding: 8px 20px;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    border: 2px solid #fff;
}

.status-badge.completed {
    background: #25d366;
}

/* Layout Flex */
.project-news-flex {
    display: flex;
    flex-wrap: wrap;
}

.project-news-img {
    flex: 1;
    min-width: 400px;
    height: 400px;
    overflow: hidden;
}

.project-news-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(30%);
    transition: 0.5s;
}

.project-news-item:hover .project-news-img img {
    filter: grayscale(0%);
    transform: scale(1.05);
}

.project-news-info {
    flex: 1.2;
    padding: 40px;
    min-width: 350px;
}

.location {
    display: block;
    color: #d32f2f;
    font-weight: 600;
    margin-bottom: 15px;
    font-size: 14px;
}

.project-news-info h3 {
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 20px;
    line-height: 1.2;
}

.task-list {
    list-style: none;
    padding: 0;
    margin: 25px 0;
}

.task-list li {
    margin-bottom: 10px;
    font-weight: 600;
    color: #444;
}

.task-list i {
    margin-right: 10px;
    color: #d32f2f;
}

/* Tombol Detail */
.btn-detail {
    display: inline-block;
    padding: 12px 25px;
    background: transparent;
    border: 2px solid #222;
    color: #222;
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    transition: 0.3s;
}

.btn-detail:hover {
    background: #222;
    color: #fff !important;
}

/* Responsif HP */
@media (max-width: 768px) {
    .project-news-img {
        min-width: 100%;
        height: 250px;
    }
    
    .project-news-info {
        padding: 25px;
    }

    .news-header h2 {
        font-size: 1.8rem;
    }
}




.search-input:focus {
    border-color: #d32f2f;
    outline: none;
    box-shadow: 0 0 10px rgba(211, 47, 47, 0.5);
}

/*====================ABOUT====================*/


/* Base Styling */
section { padding: 100px 0; overflow: hidden; }
.section-white { background: var(--white); }
.section-light { background: var(--bg-light); }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* Judul Elegan */
.section-title {
    font-size: 2.5rem;
    color: black;
    text-align: center;
    font-weight: 800;
    margin-bottom: 60px;
}
.section-title span { color: var(--accent-blue); }
.about-story { padding: 100px 0; }
.story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.title-main { font-size: 3rem; font-weight: 800; margin-bottom: 25px; }

.check-list { margin-top: 35px; }
.check-item { display: flex; gap: 15px; margin-bottom: 20px; }
.check-item i { color: var(--accent); font-size: 24px; margin-top: 5px; }
.check-text h4 { font-size: 1.2rem; font-weight: 700; margin-bottom: 5px; }
.check-text p { color: var(--text-gray); font-size: 0.9rem; }

.story-image img { 
    width: 100%; 
    border-radius: 20px; 
    box-shadow: 0 15px 40px rgba(0,0,0,0.5); 
}

/* Profil Glassmorphism */
.profile-flex { display: flex; align-items: center; gap: 60px; }
.profile-side-box {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    padding: 40px;
    border-radius: 25px;
    border-left: 8px solid var(--primary-blue);
    box-shadow: 0 20px 40px rgba(0, 70, 139, 0.08);
}

/* Visi Misi Cards */
/* --- CONTAINER VISI MISI --- */
.section-light {
    padding: 80px 0;
    background-color: #f8fbff;
}

.vimi-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: stretch;
}

/* --- KARTU (CARD) STYLE --- */
.visi-card, .misi-card {
    background: #ffffff;
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 70, 139, 0.05);
    transition: transform 0.3s ease;
    border: 1px solid #eef2f6;
    display: flex;
    flex-direction: column;
    align-items: center; /* Memposisikan ikon dan judul di tengah secara horizontal */
 
}

.visi-card:hover, .misi-card:hover {
    transform: translateY(-5px);
}

.visi-card i, .misi-card i {
    font-size: 40px;
    color: #f97316; /* Warna oranye sesuai kode inline Anda */
    margin-bottom: 20px;
    display: block;
}

.visi-card h3, .misi-card h3 {
    font-weight: 800;
    color: #00468b;
    margin-bottom: 20px;
    letter-spacing: 1px;
}

.visi-card p {
    line-height: 1.8;
    color: #444;
    text-align: justify;
}

/* --- SISTEM PENOMORAN MISI (MEPET ATAS) --- */
.misi-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: misi-counter; /* Inisialisasi angka */
}

.misi-card li {
    display: flex;
    align-items: flex-start; /* Memastikan angka & teks sejajar di baris pertama */
    gap: 15px;
    margin-bottom: 15px;
    counter-increment: misi-counter; /* Tambah angka otomatis */
}

/* Mengganti ikon menjadi Nomor */
.misi-card li i {
    display: none; /* Sembunyikan ikon centang lama */
}

.misi-card li::before {
    content: counter(misi-counter) "."; /* Menampilkan angka otomatis */
    color: #f97316;
    font-weight: 800;
    font-size: 1.1rem;
    min-width: 25px; /* Memberi ruang tetap untuk angka */
    flex-shrink: 0;
    margin-top: -2px; /* Penyesuaian mikro agar sejajar huruf pertama */
}

.misi-card li p {
    margin: 0;
    line-height: 1.6;
    font-size: 0.95rem;
    color: #444;
}

/* RESPONSIVE */
@media (max-width: 992px) {
    .vimi-grid {
        grid-template-columns: 1fr;
    }
}

/* Struktur Placeholder */
.img-placeholder { background: white; padding: 20px; border-radius: 20px; box-shadow: 0 30px 60px rgba(0,0,0,0.05); }
.img-placeholder img { width: 100%; border-radius: 10px; }
.img-caption { text-align: center; margin-top: 15px; color: #777; font-style: italic; }

/* Sliders (Sertifikasi & Mitra) */
.slider-container {
    display: flex;
    gap: 30px;
    overflow-x: auto;
    padding: 20px 10px 40px;
    scroll-behavior: smooth;
}
.slider-container::-webkit-scrollbar { height: 6px; }
.slider-container::-webkit-scrollbar-thumb { background: #d1d9e0; border-radius: 10px; }

.cert-card {
    min-width: 280px;
    background: white;
    padding: 35px;
    border-radius: 15px;
    text-align: center;
    border: 1px solid #eee;
    transition: 0.3s;
}
.cert-card:hover { border-color: var(--accent-blue); }
.cert-card img { height: 150px; object-fit: contain; margin-bottom: 15px; }

.mitra-logo {
    height: 70px;
    filter: grayscale(100%);
    opacity: 0.5;
    transition: 0.4s;
    cursor: pointer;
}
.mitra-logo:hover { filter: grayscale(0%); opacity: 1; transform: scale(1.1); }
/* Mitra Strategis - Logo di tengah */
.slider-container.mitra-slider {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
}
.mitra-logo {
    max-height: 80px;
    width: auto;
    object-fit: contain;
    display: block;
}

/* Responsive */
@media (max-width: 768px) { 
    .profile-flex { flex-direction: column; text-align: center; }
    .section-title { font-size: 2rem; }
}
/* Responsive */
@media (max-width: 992px) {
    .story-grid, .vimi-grid, .values-grid { grid-template-columns: 1fr; }
    .story-image { order: -1; }
}

.services-list ul {
    list-style: none;
    padding: 0;
}

.services-list li {
    display: flex;
    align-items: flex-start; /* Ikon tetap di atas sejajar baris pertama */
    gap: 10px;
    margin-bottom: 12px;
}

.services-list li i {
    color: #f97316; /* Warna oranye */
    margin-top: 5px; /* Menyesuaikan posisi vertikal ikon */
    flex-shrink: 0;
}


/* --- BLOG PERTAMA --- */
/* Styling Khusus Halaman Detail Blog */
.blog-detail {
    max-width: 900px;
    margin: 50px auto;
    padding: 0 20px;
    line-height: 1.8;
    color: #333;
}

/* Judul Artikel */
.blog-detail h1 {
    font-family: 'Montserrat', sans-serif;
    font-size: 2.5rem;
    font-weight: 800;
    color: #222;
    margin-bottom: 15px;
    line-height: 1.2;
}

/* Meta Data (Tanggal & Penulis) */
.post-meta {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
    font-size: 0.9rem;
    color: #777;
}

.post-meta i {
    color: var(--accent); /* Sesuaikan dengan warna brand Anda */
    margin-right: 5px;
}

/* Isi Konten */
.content-body p {
    margin-bottom: 25px;
    font-size: 1.1rem;
    text-align: justify;
}

.content-body h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    margin: 35px 0 15px;
    color: #222;
}

/* Styling List (Bulleted & Numbered) */
.content-body ul, 
.content-body ol {
    margin-bottom: 30px;
    padding-left: 20px;
}

.content-body li {
    margin-bottom: 12px;
    font-size: 1.05rem;
    position: relative;
}

/* Custom Bullet untuk UL */
.content-body ul li::before {
    content: "\f058"; /* Font Awesome check-circle */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--accent);
    margin-right: 10px;
}

/* Responsive Mobile */
@media (max-width: 768px) {
    .blog-detail h1 {
        font-size: 1.8rem;
    }
    
    .blog-detail {
        margin: 30px auto;
    }

    .post-meta {
        flex-direction: column;
        gap: 5px;
    }
}


/* --- BERITA 2 --- */
/* Container Utama */
.project-detail {
    padding: 60px 0;
    background-color: #fff;
}

/* Header */
.project-header h1 {
    font-size: 2.8rem;
    font-weight: 800;
    margin-bottom: 10px;
    color: #1a1a1a;
}

.project-location {
    color: #666;
    font-size: 1.1rem;
    margin-bottom: 30px;
}

.project-location i {
    color: #e74c3c;
    margin-right: 8px;
}

/* Gambar Utama */
.project-main-showcase {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    margin-bottom: 40px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

.project-main-showcase img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    display: block;
}

.status-tag {
    position: absolute;
    top: 20px;
    right: 20px;
    background: #27ae60;
    color: white;
    padding: 8px 20px;
    font-weight: bold;
    border-radius: 50px;
    font-size: 0.8rem;
}

/* Grid Layout */
.project-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
    margin-top: 40px;
}

/* Info Kiri */
.project-info-left h3 {
    font-size: 1.5rem;
    margin-bottom: 15px;
    color: #222;
    border-left: 4px solid #0056b3;
    padding-left: 15px;
}

.work-done {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.work-done li {
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

.work-done i {
    color: #27ae60;
}

/* Kartu Spek Kanan */
.spec-card {
    background: #f9f9f9;
    padding: 30px;
    border-radius: 12px;
    position: sticky;
    top: 100px;
}

.spec-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
}

.spec-item .label { color: #888; }
.spec-item .val { font-weight: bold; color: #222; }

.btn-wa-full {
    display: block;
    background: #25d366;
    color: white;
    text-align: center;
    padding: 15px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: bold;
    margin-top: 15px;
    transition: 0.3s;
}

.btn-wa-full:hover {
    background: #128c7e;
    transform: translateY(-3px);
}

/* Responsive */
@media (max-width: 768px) {
    .project-grid { grid-template-columns: 1fr; }
    .project-main-showcase img { height: 300px; }
    .work-done { grid-template-columns: 1fr; }
}


/* --- ICON KONTAK SOSIAL MEDIA --- */
/* Container Ikon */
.social-links {
    display: flex;
    gap: 15px;
    margin-top: 20px;
}

/* Styling Dasar Ikon */
.social-icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 1.2rem;
    color: #ffffff; /* Warna putih standar */
    background: rgba(255, 255, 255, 0.1); /* Efek kaca transparan */
    border-radius: 12px; /* Sudut melengkung modern, bukan lingkaran sempurna */
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

/* Efek Hover Umum */
.social-icon:hover {
    transform: translateY(-5px); /* Ikon melompat sedikit ke atas */
    color: #ffffff;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

/* Warna Spesifik saat Hover & Efek Glow */
.social-icon.facebook:hover {
    background: #1877F2;
    box-shadow: 0 0 15px rgba(24, 119, 242, 0.5);
    border-color: #1877F2;
}

.social-icon.instagram:hover {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    box-shadow: 0 0 15px rgba(220, 39, 67, 0.5);
    border-color: transparent;
}

.social-icon.linkedin:hover {
    background: #0077b5;
    box-shadow: 0 0 15px rgba(0, 119, 181, 0.5);
    border-color: #0077b5;
}

.social-icon.youtube:hover {
    background: #FF0000;
    box-shadow: 0 0 15px rgba(255, 0, 0, 0.5);
    border-color: #FF0000;
}

/* Animasi Ikon di Dalamnya */
.social-icon i {
    transition: transform 0.4s;
}

.social-icon:hover i {
    transform: scale(1.2); /* Ikon membesar sedikit saat hover */
}



/* Styling Tombol Kirim Modern */
.btn-kirim {
    background-color: #d32f2f; /* Warna merah sesuai desain Anda */
    color: #ffffff;
    padding: 12px 35px;
    font-size: 1rem;
    font-weight: 600;
    border: none;
    border-radius: 8px; /* Sudut sedikit melengkung agar modern */
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
    width: fit-content;
}

/* Efek saat Kursor di Atas Tombol (Hover) */
.btn-kirim:hover {
    background-color: #b71c1c; /* Merah lebih gelap saat hover */
    transform: translateY(-2px); /* Tombol sedikit naik */
    box-shadow: 0 6px 12px rgba(211, 47, 47, 0.3);
}

/* Efek saat Tombol Diklik (Active) */
.btn-kirim:active {
    transform: translateY(0); /* Kembali ke posisi semula */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Styling Tambahan untuk Group Form agar Rapi */
.form-group {
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.form-group input, 
.form-group textarea {
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 1rem;
    transition: border-color 0.3s;
}

.form-group input:focus, 
.form-group textarea:focus {
    outline: none;
    border-color: #d32f2f; /* Fokus warna merah */
    box-shadow: 0 0 0 2px rgba(211, 47, 47, 0.1);
}


/* Styling Container Peta */
.map-container {
    margin-top: 50px;
    padding: 0 15px;
    width: 100%;
}

.map-container h3 {
    margin-bottom: 20px;
    color: #222;
    font-size: 1.5rem;
    font-weight: 700;
}

/* Membungkus iframe agar memiliki border radius */
.google-map {
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid #eee;
}

/* Memastikan peta tetap proporsional di HP */
@media (max-width: 768px) {
    .google-map iframe {
        height: 300px; /* Lebih pendek di HP agar tidak memenuhi layar */
    }
}


/* --- toko --- */
.product-page {
    padding: 40px 0;
    background: #fff;
}

.product-detail-layout {
    display: grid;
    grid-template-columns: 1.2fr 1fr; /* Sisi kiri lebih lebar untuk gambar */
    gap: 50px;
}

/* Gallery Style */
.main-image img {
    width: 100%;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    position: sticky;
    top: 100px; /* Gambar tetap diam saat scroll deskripsi */
}

/* Info Style */
.breadcrumb { font-size: 13px; color: #03ac0e; margin-bottom: 10px; font-weight: bold; }
.product-title { font-size: 28px; font-weight: 800; margin-bottom: 20px; color: #222; }

.product-tabs { display: flex; gap: 30px; border-bottom: 1px solid #eee; margin-bottom: 20px; }
.tab-item.active { color: #03ac0e; border-bottom: 3px solid #03ac0e; padding-bottom: 10px; font-weight: bold; }

.description-content { line-height: 1.8; color: #444; margin-bottom: 30px; font-size: 15px; }
.description-content ul { padding-left: 20px; margin-top: 10px; }

/* Purchase Card */
.purchase-card {
    border: 1px solid #e5e7e9;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.shipment-selector select {
    width: 100%;
    padding: 10px;
    margin: 10px 0 20px;
    border-radius: 8px;
    border: 1px solid #ddd;
}

.btn-whatsapp-direct {
    width: 100%;
    background: #03ac0e;
    color: white;
    padding: 18px;
    border: none;
    border-radius: 10px;
    font-size: 17px;
    font-weight: 800;
    cursor: pointer;
    transition: 0.3s;
}

.btn-whatsapp-direct:hover { background: #028a0b; transform: scale(1.02); }
.disclaimer { font-size: 11px; color: #999; margin-top: 15px; text-align: center; font-style: italic; }

@media (max-width: 992px) {
    .product-detail-layout { grid-template-columns: 1fr; }
}

/* --- DROPDOWN PRODUK --- */
/* Pastikan nav-menu memiliki posisi relative */


/* Hanya aktif jika li memiliki class .has-mega */
.has-mega {
    position: static !important; /* Membuat dropdown bisa melebar penuh searah navbar */
}

.mega-dropdown-wrapper {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: linear-gradient(135deg, #00364b 0%, #001a2b 100%); /* Warna Biru Gradasi Rucika */
    z-index: 1000;
    padding: 40px 0;
    display: none; /* Sembunyikan default */
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    border-top: 3px solid #00adef;
}

/* Tampilkan hanya saat menu Produk di-hover */
.has-mega:hover .mega-dropdown-wrapper {
    display: block;
    animation: fadeInMega 0.3s ease-in-out;
}

.mega-content {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 Kolom seperti di foto */
    gap: 30px;
    padding: 0 20px;
}

.mega-col h3 {
    color: #ffffff;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 800;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    padding-bottom: 10px;
    letter-spacing: 1px;
}

.mega-col ul {
    list-style: none;
    padding: 0;
}

.mega-col ul li {
    margin-bottom: 10px;
}

.mega-col ul li a {
    color: rgba(255,255,255,0.85);
    text-decoration: none;
    font-size: 13.5px;
    transition: all 0.3s ease;
    display: block;
}

.mega-col ul li a:hover {
    color: #ffffff;
    padding-left: 8px; /* Efek geser saat hover */
    font-weight: 600;
}



/* Container Nav Menu untuk Mobile */
@media (max-width: 991px) {
    .nav-menu {
        position: fixed;
        top: 0;
        right: -100%; /* Sembunyi di kanan */
        width: 70%; /* Lebar menu seperti di foto */
        height: 100vh;
        background: #0a1124; /* Warna biru gelap pekat sesuai foto */
        display: flex !important;
        flex-direction: column;
        padding: 30px 30px;
        transition: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: 9999;
        overflow-y: auto;
    }

    .nav-menu.active {
        right: 0; /* Muncul ke layar */
    }

    /* Tombol Close (X) di pojok kanan atas */
    .close-btn-container {
        position: absolute;
        top: 20px;
        right: 20px;
        color: #fff;
        font-size: 8px;
        cursor: pointer;
    }

    /* List Menu */
    .nav-menu li {
        width: 100%;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05); /* Garis tipis pembatas */
        margin: 0;
    }

    .nav-link {
        color: #fff !important;
        padding: 14px 0;
        font-size: 12px; /* Ukuran teks lebih kecil & elegan seperti foto */
        text-transform: uppercase;
        letter-spacing: 1px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
    }

    /* Styling Dropdown di dalam Mobile (Accordion) */
    .dropdown-content, .mega-dropdown-wrapper {
        position: relative!important;
        width: 100% !important;
        background: rgba(255, 255, 255, 0.02) !important;
        display: none; /* Sembunyi awal */
        padding-left: 20px !important;
        border: none !important;
        box-shadow: none !important;
        padding-bottom: -100000000px;
    }

    .dropdown-content.open, .mega-dropdown-wrapper.open {
        display: block !important;
    }

    /* Link di dalam dropdown */
    .dropdown-content a, .mega-col ul li a {
        color: #adb5bd !important;
        padding: 12px 0;
        font-size: 13px;
        text-transform: none;
        border: none;
    }

    /* Overlay latar belakang saat menu buka */
    .menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.6);
        display: none;
        z-index: 9998;
    }

    .menu-overlay.active {
        display: block;
    }
}

/* Hilangkan efek hover otomatis */
.has-mega:hover .mega-dropdown-wrapper {
    display: none; 
}

/* Gunakan class khusus untuk membuka */
.mega-dropdown-wrapper.show-mega {
    display: block !important;
    animation: fadeInMega 0.3s ease-out;
}

/* Rotasi panah saat aktif */
.rotate-icon {
    transform: rotate(180deg);
    transition: 0.3s;
}

/* Pastikan dropdown-content (Layanan/Artikel) tetap pada sistem lama atau hover */
.dropdown:hover > .dropdown-content {
    display: block;
}


@media (max-width: 991px) {
    /* Pastikan menu utama tidak tertutup */
    .nav-menu {
        overflow-y: auto; /* Supaya bisa di-scroll jika menu panjang */
        display: block !important; /* Paksa urutan ke bawah */
    }

    /* Perbaikan Mega Menu supaya tidak tabrakan */
    .mega-dropdown-wrapper {
        position: relative !important; /* Ubah dari absolute ke relative */
        width: 100% !important;
        background: rgba(255, 255, 255, 0.05) !important;
        padding: 0 !important;
        display: none; /* Sembunyikan awal */
        border: none !important;
        box-shadow: none !important;
    }

    /* Saat terbuka (tambah class via JS) */
    .mega-dropdown-wrapper.open {
        display: block !important;
    }

    /* Paksa kolom produk jadi satu baris vertikal */
    .mega-content {
        display: block !important; /* Bukan Grid lagi */
        padding: 10px 20px !important;
    }

    .mega-col {
        margin-bottom: 20px;
        width: 100% !important;
    }

    .mega-col h3 {
        font-size: 13px;
        color: #00adef; /* Warna pembeda untuk judul kategori */
        margin-bottom: 10px;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }

    /* Link produk di dalam mega menu */
    .mega-col ul li a {
        padding: 10px 0 !important;
        border: none !important;
        font-size: 12px !important;
        color: #ccc !important;
    }

    /* Supaya menu di bawah (Portofolio, Artikel, dll) terdorong ke bawah */
    .has-mega {
        height: auto !important;
    }
}

/* Warna Biru Gradasi Rucika yang konsisten */
.mega-dropdown-wrapper {
    background: linear-gradient(135deg, #00adef 0%, #0072bc 100%);
    /* ... sisa css sebelumnya ... */
}

/* Memastikan teks kolom terlihat rapi */
.mega-col h3 {
    color: #ffffff;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    padding-bottom: 8px;
    margin-bottom: 15px;
}

@media (max-width: 991px) {
    /* Menyamakan gaya dengan menu produk di ponsel */
    .has-mega .mega-dropdown-wrapper {
        display: none; /* Sembunyi awal */
        position: relative !important; /* Supaya mendorong menu di bawahnya */
        width: 100% !important;
        background: rgba(255, 255, 255, 0.03) !important;
        padding: 10px 20px !important;
        top: 0 !important;
    }

    /* Class untuk memunculkan menu via JS */
    .mega-dropdown-wrapper.active-mega {
        display: block !important;
    }

    .mega-content {
        display: block !important; /* Ubah kolom menjadi baris vertikal */
    }

    .mega-col {
        margin-bottom: 15px;
    }

    .mega-col h3 {
        font-size: 14px;
        color: #00adef;
        margin-bottom: 8px;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
}

/* Sembunyikan default */
.mega-dropdown-wrapper {
    display: none; 
}

/* Munculkan saat aktif */
.mega-dropdown-wrapper.active-mega {
    display: block !important;
}

/* Pastikan di Mobile juga bisa muncul */
@media (max-width: 991px) {
    .mega-dropdown-wrapper.active-mega {
        display: block !important;
        position: relative !important; /* Agar mendorong menu di bawahnya */
    }
}

/* Menghilangkan animasi agar muncul seketika */
.mega-dropdown-wrapper.active-mega {
    display: block !important;
    animation: none !important; /* Menghapus animasi fadeInMega */
    transition: none !important; /* Menghapus transisi apapun */
    transform: none !important;  /* Memastikan tidak ada pergerakan posisi */
    opacity: 1 !important;       /* Memastikan langsung terlihat penuh */
}

/* Pastikan elemen dasarnya juga tidak memiliki transisi */
.mega-dropdown-wrapper {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: linear-gradient(135deg, #0f172a 0%, #0f172a 100%);
    z-index: 9999;
    padding: 30px 0;
    transition: none !important; /* Hapus transisi di sini juga */
}

/* Jika ingin ikon panah juga berputar tanpa animasi */
.nav-link i.rotate-icon {
    transform: rotate(180deg);
    transition: none !important;
}

/* TOMBOL SERCH */
@media (max-width: 991px) {


    /* 2. Menghilangkan margin bawaan agar bisa disejajarkan */
    .search-container, .lang-btn {
        margin: 0 !important;
        padding: 10px 0 !important;
    }

    /* 3. Membuat container bayangan untuk menampung Search dan EN secara berdampingan */
    /* Kita gunakan order untuk memindahkan posisi ke paling bawah */
    .search-container {
        order: 10; 
        display: inline-block;
        width: auto;
    }

    .lang-btn {
        order: 11;
        width: fit-content;
        margin-top: -45px !important; /* Menaikkan tombol EN agar sejajar Search */
        margin-left: 50px !important; /* Menggeser EN ke samping Search */
    }

    /* 4. Menyesuaikan input search agar tidak menutupi tombol EN */
    .search-input {
        width: 150px !important; /* Membatasi lebar input */
    }
}


/* --- PENUTUP ATAP --- */

/* --- SECTION ATAP LAYOUT --- */
.ataps-section {
    padding: 50px 0;
    background-color: #fafafa;
    width: 100%;
}

.ataps-container {
    display: flex;
    justify-content: center;
    gap: 30px;
    width: 92%;
    max-width: 1200px;
    margin: 0 auto;
}

/* --- STRUKTUR KARTU --- */
.atap-card {
    background-color: #ffffff;
    width: 50%;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    
    /* Trigger Animasi Muncul */
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1), 
                transform 0.8s cubic-bezier(0.25, 1, 0.5, 1), 
                box-shadow 0.3s ease;
}

/* Ketika class .revealed ditambahkan via JS */
.atap-card.revealed {
    opacity: 1;
    transform: translateY(0);
}

/* Efek Angkat Saat Hover */
.atap-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

/* --- BANNER MERAH ATAS --- */
.card-header-red {
    background: #cc1818;
    color: #ffffff;
    padding: 25px 30px;
}

.atap-label {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.9;
}

.atap-name {
    font-size: 32px;
    font-weight: 700;
    margin-top: 2px;
}

/* --- KOTAK AREA GAMBAR --- */
.images-box {
    padding: 25px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 15px;
    border-bottom: 2px solid #f0f0f0;
}

.images-box .main-img {
    width: 68%;
    height: auto;
    transition: transform 0.4s ease;
}

.images-box .profile-img {
    width: 28%;
    height: auto;
    transition: transform 0.4s ease;
}

/* Animasi Zoom Halus Gambar saat Kartu di-hover */
.atap-card:hover .main-img,
.atap-card:hover .profile-img {
    transform: scale(1.03);
}

/* --- AREA DETAIL SPESIFIKASI --- */
.details-content {
    padding: 30px;
}

.spec-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 22px;
    gap: 15px;
}

.spec-col {
    flex: 1;
}

.spec-label {
    font-size: 13px;
    font-weight: 700;
    color: #333333;
    margin-bottom: 5px;
}

.spec-value {
    font-size: 13.5px;
    color: #555555;
    line-height: 1.4;
}

.spec-value.highlight {
    color: #cc1818;
    font-weight: 600;
}

/* --- SUB-SECTION INTERNAL --- */
.inner-title {
    font-size: 14px;
    font-weight: 700;
    color: #222222;
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 6px;
    margin-top: 25px;
    margin-bottom: 12px;
}

/* Thumbnail Grid */
.thumb-wrapper {
    display: flex;
    gap: 12px;
}

.thumb-item {
    flex: 1;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #e0e0e0;
}

.thumb-item img {
    width: 100%;
    display: block;
    height: auto;
}

/* Foto Proyek & Placeholder Gambar Kosong */
.project-box {
    width: 100%;
    margin-top: 10px;
}

.project-box img {
    width: 100%;
    height: auto;
    border-radius: 6px;
    display: block;
}

.gray-placeholder {
    width: 100%;
    height: 160px;
    background-color: #e6e6e6;
    border-radius: 6px;
}

.caption-text {
    font-size: 12px;
    color: #777777;
    margin-top: 7px;
}

/* --- RESPONSIVE MOBILE TWEAKS --- */
@media (max-width: 868px) {
    .ataps-container {
        flex-direction: column;
        gap: 40px;
    }
    .atap-card {
        width: 100%;
    }
}


/* --- FOOTER PILIHAN WARNA --- */
.color-options-footer {
    background-color: #e9ecef; /* Latar belakang abu-abu terang sesuai foto brosur */
    padding: 25px 0;
    width: 100%;
    border-top: 1px solid #dee2e6;
}

.color-container {
    display: flex;
    align-items: center;
    gap: 40px;
    width: 92%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Judul Teks Pilihan Warna */
.color-title {
    font-family: Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #333333;
    white-space: nowrap; /* Mencegah tulisan teks turun ke bawah */
}

/* Container untuk Kapsul-Kapsul */
.color-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px; /* Jarak antar baris dan kolom kapsul */
    align-items: center;
}

/* Base Style Kapsul Oval */
.color-capsule {
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: #ffffff;
    padding: 6px 18px;
    border-radius: 50px; /* Membuat bentuk oval/kapsul sempurna */
    text-align: center;
    display: inline-block;
    min-width: 100px;
    box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.15); /* Dimensi bayangan halus di bawah kapsul */
    
    /* Animasi Hover Interaktif */
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Efek saat Kapsul di-Hover */
.color-capsule:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15), inset 0 -2px 0 rgba(0, 0, 0, 0.1);
}

/* --- KODE WARNA SPESIFIK (PERSIS FOTO) --- */
.merah-merapi {
    background-color: #b81d24; /* Merah Pekat Marun */
}

.hitam-rumbai {
    background-color: #2b2b2a; /* Hitam Arang/Gelap */
}

.hijau-borneo {
    background-color: #0b6643; /* Hijau Daun Tua */
}

.biru-bromo {
    background-color: #005691; /* Biru Deep Ocean */
}

.merah-carita {
    background-color: #8a1318; /* Merah Kecoklatan Tua */
}

.coklat-bengkalis {
    background-color: #614636; /* Coklat Tanah */
}

.netral-abu {
    background-color: #b0b5b9; /* Abu-abu Semen */
    color: #333333; /* Teks berwarna gelap agar kontras pada warna netral */
    box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.08);
}

/* --- RESPONSIVE MOBILE --- */
@media (max-width: 768px) {
    .color-container {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    
    .color-grid {
        gap: 8px;
    }
    
    .color-capsule {
        padding: 5px 14px;
        min-width: 90px;
    }
}


/* --- CONTAINER TOMBOL WA DI BAWAH WARNA --- */
.wa-footer-container {
    width: 92%;
    max-width: 1200px;
    margin: 25px auto 0 auto; /* Memberi jarak di bawah pilihan warna */
    text-align: center;
    border-top: 1px solid #dee2e6; /* Garis pembatas tipis */
    padding-top: 20px;
}

/* Style Tombol WA Hijau Profesional */
.wa-chat-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: #25d366; /* Warna Hijau Asli WA */
    color: #ffffff !important;
    text-decoration: none !important;
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    padding: 12px 28px;
    border-radius: 6px; /* Menyamakan gaya kaku rapi konstruksi */
    box-shadow: 0 4px 10px rgba(37, 211, 102, 0.3);
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
}

/* Ikon WA */
.wa-chat-btn i {
    font-size: 18px;
}

/* Animasi Hover Tombol WA */
.wa-chat-btn:hover {
    background-color: #20ba5a;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(37, 211, 102, 0.4);
}

.wa-chat-btn:active {
    transform: translateY(0);
}

/* Responsive Mobile */
@media (max-width: 768px) {
    .wa-footer-container {
        margin-top: 20px;
        padding-top: 15px;
    }
    .wa-chat-btn {
        width: 100%; /* Tombol melebar penuh di HP agar mudah diklik jempol */
        justify-content: center;
        padding: 12px 15px;
    }
}

/* --- BERANDA NEW --- */
/* --- SCROLL REVEAL ANIMATION SYSTEM --- */
/* --- SCROLL REVEAL ANIMATION SYSTEM (ANTI-BLANK KOREKSI) --- */
.scroll-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1), 
                transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
    
    /* FALLBACK: Jika JS tidak jalan dalam 1.5 detik, 
       paksa section muncul agar tidak merugikan SEO Google */
    animation: forceReveal 0.5s 1.5s forwards; 
}

/* Ketika JavaScript berhasil mendeteksi scroll */
.scroll-reveal.revealed {
    opacity: 1;
    transform: translateY(0);
    animation: none; /* Matikan fallback jika JS sukses */
}

@keyframes forceReveal {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.scroll-reveal.revealed {
    opacity: 1;
    transform: translateY(0);
}

/* --- 1. STATS COUNTER --- */
.stats-section {
    background-color: #ffffff;
    padding: 30px 0;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}

.stats-container {
    display: flex;
    justify-content: space-around;
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}

.stat-box {
    border: 1px solid #e2e8f0;
    padding: 15px;
    width: 22%;
    border-radius: 4px;
}

.stat-number {
    font-size: 32px;
    color: #1a202c;
    font-weight: 700;
}

.stat-label {
    font-size: 13.5px;
    color: #4a5568;
    margin-top: 4px;
}

/* --- JUDUL STANDAR & DESKRIPSI --- */
.section-title {
    font-size: 28px;
    font-weight: 700;
    color: #1a202c;
    margin-bottom: 15px;
}

.section-desc {
    color: #718096;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 30px;
}

/* --- 2. PROFILE SECTION --- */
.profile-section {
    padding: 60px 8%;
}

.profile-container {
    display: flex;
    gap: 50px;
    max-width: 1200px;
    margin: 0 auto;
}

.profile-text { flex: 1.2; }
.profile-images { 
    flex: 0.8; 
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.img-wrapper {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    height: 180px;
}

.img-wrapper img {
    width: 100%; height: 100%; object-fit: cover;
}

/* Label Pojok Atas Gambar */
.card-label::before {
    content: attr(data-label);
    position: absolute;
    top: 15px; left: 15px;
    background: #0b132b;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 3px;
    z-index: 2;
}

.card-label[data-label="Rumah Hunian"]::before {
    background: #cc1818;
}

/* List Fitur Icon */
.service-list { display: flex; flex-direction: column; gap: 20px; }
.service-item { display: flex; gap: 15px; align-items: flex-start; }
.service-icon {
    background-color: #cc1818;
    color: #ffffff;
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 6px;
    font-size: 16px;
}
.service-info h4 { font-size: 14.5px; font-weight: 700; color: #2d3748; margin-bottom: 4px; }
.service-info p { font-size: 13px; color: #718096; line-height: 1.5; }

/* --- 3. KEUNGGULAN SECTION --- */
.features-section {
    background-color: #f7fafc;
    padding: 60px 8%;
}

.features-container {
    display: flex; gap: 40px; max-width: 1200px; margin: 0 auto;
}

.features-left { flex: 1.3; }
.features-right { flex: 0.7; border-radius: 8px; overflow: hidden; }
.features-right img { width: 100%; height: 100%; object-fit: cover; }

.features-grid {
    display: flex; flex-wrap: wrap; gap: 20px;
}

.feature-box {
    background: #ffffff;
    padding: 20px;
    width: 48%;
    border-radius: 6px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.01);
    transition: transform 0.3s;
}

.feature-box:hover { transform: translateY(-4px); }
.feature-box i { font-size: 24px; color: #000080; margin-bottom: 12px; }
.feature-box h4 { font-size: 14.5px; font-weight: 700; margin-bottom: 6px; }
.feature-box p { font-size: 12.5px; color: #718096; line-height: 1.4; }

/* --- 4. PROJECT PORTFOLIO GRID --- */
.project-section { padding: 60px 8%; background: #ffffff; }
.container-center { max-width: 1100px; margin: 0 auto; text-align: center; }
.main-project-title { font-size: 28px; font-weight: 700; margin-bottom: 40px; letter-spacing: 1px;}

.project-category { margin-bottom: 45px; }
.category-title { font-size: 16px; font-weight: 700; color: #4a5568; margin-bottom: 20px; letter-spacing: 1px; }

.project-grid { display: flex; justify-content: space-between; gap: 20px; }
.project-card {
    width: 32%; background: #ffffff; border-radius: 6px; overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
    transition: transform 0.3s ease;
}

.project-card:hover { transform: scale(1.02); }
.project-card img { width: 100%; height: 200px; object-fit: cover; display: block; }

/* Black & White filter untuk kategori industri */
.gray-scale img { filter: grayscale(100%); transition: filter 0.3s; }
.gray-scale:hover img { filter: grayscale(0%); }

.project-card-footer {
    padding: 12px 15px; font-size: 13px; font-weight: 700; color: #ffffff; text-align: center;
}

.red-bg { background-color: #cc1818; }
.navy-bg { background-color: #0b132b; }

.see-more {
    display: inline-block; margin-top: 15px; font-size: 14px; color: #4a5568; text-decoration: none; font-style: italic;
}

/* --- 5. CTA SECTION --- */
.cta-section {
    background-color: #edf2f7;
    padding: 50px 8%;
    text-align: center;
}

.cta-section h2 { font-size: 22px; font-weight: 700; margin-bottom: 10px; color: #1a202c; text-transform: capitalize;}
.cta-section p { font-size: 14px; color: #4a5568; margin-bottom: 25px; }

.btn-cta {
    background-color: #0b132b; color: #ffffff; padding: 12px 40px; display: inline-block; font-size: 13.5px; font-weight: 700; border-radius: 4px; text-decoration: none; transition: 0.3s;
}

.btn-cta:hover { background-color: #1c2541; transform: translateY(-2px); }

/* --- SCREEN RESPONSIVE MOBILE --- */
@media (max-width: 991px) {
    .profile-container, .features-container { flex-direction: column; }
    .stats-container { flex-wrap: wrap; gap: 15px; }
    .stat-box, .feature-box { width: 48%; }
    .project-grid { flex-wrap: wrap; justify-content: center; }
    .project-card { width: 100%; max-width: 350px; }
    .features-right { display: none; }
}

@media (max-width: 500px) {
    .stat-box, .feature-box { width: 100%; }
}


/* --- PERBAIKAN FONT AGAR DI SAMPING KIRI BERANDA --- */
.hero {
    position: relative;
    width: 100%;
    min-height: 85vh; /* Mengatur tinggi area banner */
    display: flex;
    align-items: center; /* Membuat konten tegak lurus di tengah vertikal */
    justify-content: flex-start; /* Memaksa isi kontainer merapat ke ujung kiri */
    padding: 0 8%; /* Jarak aman dari pinggir layar kiri dan kanan (Persis Foto) */
    background: url('../img/23.png') no-repeat center center/cover;
}

/* Overlay Transparan Gelap di Belakang Teks */
.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Menggelapkan background agar teks putih mudah dibaca */
   
}

/* Kontainer Utama Teks */
.hero-content {
    position: relative;
    z-index: 2; /* Menaikkan teks di atas lapisan overlay */
    max-width: 700px; /* Membatasi lebar teks agar rapi patah ke bawah */
    text-align: left; /* Membuat barisan teks rata kiri sempurna */
}

/* Judul Utama: Ahli Konstruksi Profesional */
.hero-content h1 {
    font-family: 'Segoe UI', Arial, sans-serif;
    font-size: 46px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.2;
    margin-bottom: 10px;
}

/* Judul Kedua: Hunian, Komersial & Industri (Warna Oranye) */
.hero-content h2 {
    font-family: 'Segoe UI', Arial, sans-serif;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 20px;
}

/* Warna Oranye Khusus Teks Sub-Judul Sesuai Foto */
.hero-content h2 span {
    color: #ff6b00; /* Warna Oranye Konstruksi Parta Jasa */
}

/* Paragraf Deskripsi Pendek */
.hero-content p {
    font-family: 'Segoe UI', Arial, sans-serif;
    font-size: 15px;
    color: #e2e8f0; /* Putih sedikit abu-abu lembut agar tidak silau */
    line-height: 1.6;
    margin-bottom: 30px;
}

/* Baris Tombol Aksi */
.hero-btns {
    display: flex;
    gap: 15px; /* Jarak antar tombol kiri dan kanan */
    justify-content: flex-start; /* Memastikan tombol ikut rata kiri */
}

/* Base style tombol */
.hero-btns a {
    display: inline-block;
    padding: 12px 28px;
    font-size: 13.5px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 4px;
    transition: all 0.3s ease;
}

/* Tombol Konsultasi Gratis (Oranye) */
.btn-primary {
    background-color: #ff6b00;
    color: #ffffff;
    border: 2px solid #ff6b00;
}

.btn-primary:hover {
    background-color: #e05e00;
    border-color: #e05e00;
    transform: translateY(-2px);
}

/* Tombol Lihat Layanan (Putih) */
.btn-outline {
    background-color: #ffffff;
    color: #1a202c;
    border: 2px solid #ffffff;
}

.btn-outline:hover {
    background-color: #f7fafc;
    transform: translateY(-2px);
}

/* ==========================================================================
   RESPONSIVE LAYOUT UNTUK SMARTPHONE (HP)
   ========================================================================== */
@media (max-width: 768px) {
    .hero {
        padding: 0 5%; /* Mempersempit jarak pinggir di layar HP */
        min-height: 75vh;
    }
    
    .hero-content h1 {
        font-size: 32px;
    }
    
    .hero-content h2 {
        font-size: 28px;
    }
    
    .hero-content p {
        font-size: 14px;
    }
    
    .hero-btns {
        flex-direction: column; /* Tombol bertumpuk atas-bawah saat dibuka di HP */
        gap: 10px;
    }
    
    .hero-btns a {
        text-align: center;
        width: 100%;
    }
}

/* ==========================================================================
   SECTION LIHAT HASIL AKHIR (PREMIUM LOOK)
   ========================================================================== */
.hasil-akhir-section {
    padding: 60px 0;
    background-color: #f8fafc;
    width: 100%;
}

.ha-container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* --- BARIS UTAMA TATA LETAK --- */
.ha-main-row {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    margin-bottom: 50px;
}

.ha-visual-card {
    flex: 1.1;
    background: #ffffff;
    padding: 24px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
}

.ha-sub-title {
    font-size: 15px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ha-caption {
    font-size: 12px;
    color: #64748b;
    margin-top: 12px;
    font-style: italic;
}

/* --- INTERAKTIF BEFORE AFTER SLIDER (CSS PURE HOVER MOUSE) --- */
.ba-slider {
    position: relative;
    width: 100%;
    height: 380px;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    cursor: ew-resize;
}

.img-after, .img-before {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-size: cover;
    background-position: center;
}

/* Efek transisi pemotongan gambar saat disentuh/di-hover mouse */
.img-before {
    width: 50%; /* Nilai awal sebelum di-hover setengah layar */
    border-right: 3px solid #ff6b00; /* Warna pembatas Oranye khas Parta Jasa */
    z-index: 2;
    transition: width 0.5s ease-out;
}

.ba-handle {
    position: absolute;
    top: 0; bottom: 0;
    left: 50%;
    width: 3px;
    background-color: #ff6b00;
    z-index: 3;
    transition: left 0.5s ease-out;
    pointer-events: none;
}

/* Lingkaran penanda di tengah garis */
.ba-handle::after {
    content: '↔';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 36px; height: 36px;
    background-color: #ff6b00;
    color: #ffffff;
    font-weight: bold;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

/* AKSI HOVER: Menggerakkan pembatas secara dinamis otomatis */
.ba-slider:hover .img-before {
    width: 15%; /* Gambar Sebelum mengecil ke kiri saat di-hover */
}
.ba-slider:hover .ba-handle {
    left: 15%;
}

/* BADGE LABEL TEKS DI ATAS FOTO */
.ba-badge {
    position: absolute;
    bottom: 20px;
    padding: 6px 14px;
    font-size: 11px;
    font-weight: 700;
    color: #ffffff;
    border-radius: 4px;
    letter-spacing: 0.5px;
    z-index: 4;
}
.ba-badge.before { left: 20px; background: rgba(11, 19, 43, 0.85); }
.ba-badge.after { right: 20px; background: #cc1818; }

/* --- SPESIFIKASI KANAN CARD --- */
.ha-spec-card {
    flex: 0.9;
    background: #ffffff;
    padding: 35px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
    border-left: 4px solid #0b132b; /* Aksen navy solid pinggir kiri */
}

.ha-tag-status {
    background-color: #e2fbe8;
    color: #10b981;
    font-size: 11px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 4px;
    display: inline-block;
    margin-bottom: 15px;
    text-transform: uppercase;
}

.ha-project-title {
    font-size: 26px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
}

.ha-project-location {
    font-size: 13.5px;
    color: #64748b;
    margin-top: 8px;
    margin-bottom: 30px;
}
.ha-project-location i { color: #cc1818; }

/* Grid Info Detail Teknis */
.ha-spec-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 0;
    border-top: 1.5px solid #f1f5f9;
    border-bottom: 1.5px solid #f1f5f9;
    padding: 20px 0;
    margin-bottom: 30px;
}

.ha-spec-item { width: 50%; display: flex; flex-direction: column; }
.ha-spec-label { font-size: 12px; color: #94a3b8; font-weight: 600; text-transform: uppercase;}
.ha-spec-value { font-size: 14.5px; color: #1e293b; font-weight: 700; margin-top: 4px; }

/* Poin highlights */
.ha-highlights h4 { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; }
.ha-highlights ul { list-style: none; }
.ha-highlights li {
    font-size: 13.5px; color: #475569; margin-bottom: 10px;
    display: flex; gap: 10px; align-items: flex-start; line-height: 1.4;
}
.ha-highlights li i { color: #10b981; font-size: 15px; margin-top: 2px; flex-shrink: 0; }

/* --- 3. DETAIL GRID FOTO GALLERY BAWAH --- */
.ha-gallery-block {
    margin-top: 20px;
    background: #ffffff;
    padding: 35px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
}

.ha-gallery-title {
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 25px;
    position: relative;
    padding-left: 14px;
}

.ha-gallery-title::before {
    content: ''; position: absolute; left: 0; top: 2px; bottom: 2px; width: 4px; background: #ff6b00; border-radius: 2px;
}

.ha-gallery-grid {
    display: flex; justify-content: space-between; gap: 20px;
}

.ha-gallery-item {
    position: relative;
    width: 25%;
    height: 180px;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.ha-gallery-item img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform 0.4s ease;
}

.ha-gallery-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(11, 19, 43, 0.75);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: opacity 0.3s ease;
}

.ha-gallery-overlay span {
    color: #ffffff; font-size: 13px; font-weight: 700; border: 1px solid #ffffff; padding: 6px 14px; border-radius: 4px;
}

/* Hover Galeri */
.ha-gallery-item:hover img { transform: scale(1.08); }
.ha-gallery-item:hover .ha-gallery-overlay { opacity: 1; }

/* --- 4. ACTION BUTTONS BAR --- */
.ha-action-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 40px;
    padding: 0 5px;
}

.ha-btn-back {
    color: #475569; text-decoration: none; font-size: 14px; font-weight: 700; display: flex; align-items: center; gap: 8px; transition: color 0.2s;
}
.ha-btn-back:hover { color: #0f172a; }

.ha-btn-wa {
    background-color: #25d366; color: #ffffff !important; text-decoration: none !important; font-size: 14px; font-weight: 700; padding: 12px 30px; border-radius: 4px; display: inline-flex; align-items: center; gap: 10px; box-shadow: 0 4px 12px rgba(37, 211, 102, 0.25); transition: all 0.2s;
}
.ha-btn-wa:hover { background-color: #1fc157; transform: translateY(-2px); box-shadow: 0 6px 15px rgba(37, 211, 102, 0.35); }

/* --- MONITOR SMARTPHONE RESPONSIVE --- */
@media (max-width: 991px) {
    .ha-main-row { flex-direction: column; gap: 30px; }
    .ha-visual-card, .ha-spec-card { width: 100%; }
    .ha-gallery-grid { flex-wrap: wrap; gap: 15px; }
    .ha-gallery-item { width: 48%; height: 160px; }
}

@media (max-width: 580px) {
    .ba-slider { height: 260px; }
    .ha-spec-item { width: 100%; }
    .ha-gallery-item { width: 100%; }
    .ha-action-bar { flex-direction: column-reverse; gap: 20px; align-items: center; }
    .ha-btn-wa { width: 100%; justify-content: center; }
}


/* ==========================================================================
   SECTION PAGE PORTFOLIO (MODERN ARCHITECTURE GRID)
   ========================================================================== */
.portfolio-page-section {
    padding: 80px 0;
    background-color: #ffffff;
    width: 100%;
}

.pf-container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* --- JUDUL HEADER ATAS --- */
.pf-header-center {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 50px auto;
}

.pf-main-title {
    font-size: 36px;
    font-weight: 700;
    color: #0f172a; /* Navy gelap */
    margin-bottom: 15px;
    position: relative;
    display: inline-block;
    padding-bottom: 15px;
}

.pf-main-title::after {
    content: '';
    position: absolute;
    bottom: 0; left: 50%;
    transform: translateX(-50%);
    width: 60px; height: 4px;
    background-color: #ff6b00; /* Garis bawah oranye khas Parta Jasa */
    border-radius: 2px;
}

.pf-sub-title {
    font-size: 15px;
    color: #64748b;
    line-height: 1.6;
}

/* --- NAVIGASI BUTTONS FILTER --- */
.pf-filter-wrapper {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 45px;
}

.pf-filter-btn {
    background-color: #f1f5f9;
    color: #475569;
    border: none;
    font-size: 13.5px;
    font-weight: 700;
    padding: 10px 24px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.pf-filter-btn:hover, 
.pf-filter-btn.active {
    background-color: #0b132b; /* Navy solid saat aktif */
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(11, 19, 43, 0.2);
}

/* --- LAYOUT GRID UTAMA --- */
.pf-gallery-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.pf-item {
    width: 31.333%; /* Proporsi 3 kolom presisi */
    transition: opacity 0.3s ease;
}

/* --- DESAIN KARTU (CARD STYLING) --- */
.pf-card {
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    border: 1px solid #f1f5f9;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pf-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
}

/* Kotak Area Pembungkus Foto */
.pf-img-box {
    position: relative;
    width: 100%;
    height: 230px;
    overflow: hidden;
    background-color: #e2e8f0;
}

.pf-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.pf-card:hover .pf-img-box img {
    transform: scale(1.06); /* Efek zoom foto saat hover */
}

/* Badge Sudut Kiri Atas Foto */
.pf-badge {
    position: absolute;
    top: 15px; left: 15px;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 3px;
    z-index: 2;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.hunian-badge { background-color: #cc1818; } /* Merah Hunian */
.industri-badge { background-color: #000080; } /* Navy Industri */

/* --- AREA DETAIL KONTEN KARTU --- */
.pf-details {
    padding: 25px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.pf-location {
    font-size: 12px;
    color: #94a3b8;
    font-weight: 600;
    margin-bottom: 8px;
    text-transform: uppercase;
}
.pf-location i { color: #cc1818; margin-right: 4px; }

.pf-details h3 {
    font-size: 17px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.4;
    margin-bottom: 12px;
    min-height: 48px; /* Menyamakan ketinggian baris judul agar rata */
}

.pf-short-desc {
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
    margin-bottom: 20px;
    flex-grow: 1; /* Mendorong tombol link agar selalu presisi di dasar bawah */
}

/* Link Tombol Aksi */
.pf-btn-link {
    color: #ff6b00; /* Aksen Jingga Konstruksi */
    text-decoration: none;
    font-size: 13.5px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap 0.2s ease, color 0.2s ease;
    width: fit-content;
}

.pf-btn-link:hover {
    color: #e05e00;
    gap: 10px; /* Panah sedikit maju saat di-hover mouse */
}

/* --- RESPONSIVE MEDIA BREAKPOINTS (PENGATURAN LAYAR GAWAI) --- */
@media (max-width: 991px) {
    .pf-item {
        width: 47.5%; /* Menjadi 2 kolom di tablet/laptop kecil */
    }
}

@media (max-width: 768px) {
    .pf-main-title { font-size: 30px; }
    .pf-filter-wrapper {
        flex-wrap: wrap;
        gap: 8px;
    }
    .pf-filter-btn {
        padding: 8px 18px;
        font-size: 12.5px;
        width: 48%; /* Tombol melebar proporsional di HP */
        text-align: center;
    }
}

@media (max-width: 600px) {
    .pf-gallery-grid { gap: 20px; }
    .pf-item {
        width: 100%; /* Menjadi 1 kolom penuh di layar handphone */
    }
    .pf-img-box { height: 200px; }
    .pf-filter-btn { width: 100%; } /* Tombol susun vertikal penuh di HP kecil */
}


/* ==========================================================================
   KODE GAYA KHUSUS SECTION ARTIKEL (THEMA MONTSERRAT)
   ========================================================================== */
.blog-section {
    padding: 70px 0;
    background-color: #f8fafc;
    width: 100%;
}

.blog-container {
    display: flex;
    gap: 40px;
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Pembagian Lebar Kolom Utama & Sidebar */
.blog-left-content { flex: 1.4; }
.blog-sidebar { flex: 0.6; }

/* --- GRID KARTU (BLOG CARD) --- */
.blog-grid {
    display: flex;
    flex-direction: column;
    gap: 35px;
    margin-bottom: 50px;
}

.blog-card {
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    border: 1px solid #e2e8f0;
    display: flex;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

/* Gambar Kiri */
.blog-img-box {
    position: relative;
    width: 38%;
    min-height: 240px;
    overflow: hidden;
    flex-shrink: 0;
}

.blog-img-box img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}

/* Badge di Atas Gambar */
.blog-badge {
    position: absolute;
    top: 15px; left: 15px;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 4px;
    z-index: 2;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.badge-hunian { background-color: #cc1818; }
.badge-industri { background-color: #000080; }
.badge-material { background-color: #ff6b00; }

/* Detail Tulisan Kanan */
.blog-details {
    padding: 25px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.blog-meta {
    display: flex;
    gap: 15px;
    font-size: 12px;
    color: #94a3b8;
    margin-bottom: 12px;
    font-weight: 600;
}
.blog-meta i { color: #ff6b00; }

.blog-details h3 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 12px;
}

.blog-details h3 a {
    color: #0f172a;
    text-decoration: none;
    transition: color 0.2s;
}
.blog-details h3 a:hover { color: #ff6b00; }

.blog-details p {
    font-size: 13.5px;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 20px;
}

.blog-readmore-btn {
    color: #ff6b00;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap 0.2s;
    width: fit-content;
}
.blog-readmore-btn:hover { gap: 10px; color: #e05e00; }

/* --- STRUKTUR PAGINATION --- */
.blog-pagination {
    display: flex;
    gap: 8px;
}

.page-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px; height: 40px;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    color: #475569;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.2s;
}

.page-num.active, .page-num:hover {
    background-color: #0b132b;
    color: #ffffff;
    border-color: #0b132b;
}

/* ==========================================================================
   SIDEBAR WIDGETS
   ========================================================================== */
.sidebar-widget {
    background: #ffffff;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
    border: 1px solid #e2e8f0;
    margin-bottom: 30px;
}

.widget-title {
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 8px;
    border-bottom: 2px solid #f1f5f9;
}

.widget-title::after {
    content: ''; position: absolute; bottom: -2px; left: 0; width: 40px; height: 2px; background: #ff6b00;
}

/* Search Form */
.search-form { position: relative; display: flex; }
.search-form input {
    width: 100%; padding: 10px 45px 10px 15px; font-size: 13px;
    border: 1px solid #cbd5e1; border-radius: 4px; outline: none;
}
.search-form button {
    position: absolute; right: 0; top: 0; bottom: 0;
    width: 45px; background: none; border: none; color: #64748b; cursor: pointer; font-size: 14px;
}
.search-form button:hover { color: #ff6b00; }

/* Kategori */
.widget-categories { list-style: none; }
.widget-categories li { border-bottom: 1px dashed #f1f5f9; padding: 10px 0; }
.widget-categories li:last-child { border-bottom: none; }
.widget-categories a {
    color: #475569; text-decoration: none; font-size: 13.5px; font-weight: 600;
    display: flex; justify-content: space-between; transition: color 0.2s;
}
.widget-categories a:hover { color: #ff6b00; }
.widget-categories span { color: #94a3b8; font-weight: 400; }

/* Popular Posts */
.popular-posts { display: flex; flex-direction: column; gap: 15px; }
.pop-post-item { display: flex; gap: 12px; align-items: center; }
.pop-post-item img { width: 65px; height: 65px; object-fit: cover; border-radius: 4px; }
.pop-post-info h5 { font-size: 12.5px; font-weight: 700; line-height: 1.4; margin-bottom: 4px; }
.pop-post-info h5 a { color: #0f172a; text-decoration: none; }
.pop-post-info h5 a:hover { color: #ff6b00; }
.pop-post-info span { font-size: 11px; color: #94a3b8; }

/* Tag Cloud */
.widget-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.widget-tags a {
    background-color: #f1f5f9; color: #475569; text-decoration: none;
    font-size: 12px; font-weight: 600; padding: 6px 14px; border-radius: 4px; transition: 0.2s;
}
.widget-tags a:hover { background-color: #ff6b00; color: #ffffff; }

/* --- RESPONSIVE BREAKPOINTS --- */
@media (max-width: 991px) {
    .blog-container { flex-direction: column; gap: 40px; }
    .blog-left-content, .blog-sidebar { width: 100%; }
}

@media (max-width: 680px) {
    .blog-card { flex-direction: column; }
    .blog-img-box { width: 100%; height: 200px; }
    .blog-details { padding: 20px; }
}


/* ==========================================================================
   KODE GAYA HALAMAN DETAIL ARTIKEL BLOG (ELEGAN & PREMIUM LOOK)
   ========================================================================== */
.blog-detail-section {
    padding: 60px 0;
    background-color: #f8fafc;
    width: 100%;
}

.bd-container {
    display: flex;
    gap: 40px;
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Pembagian Kolom Artikel dan Sidebar */
.bd-left-content { flex: 1.4; }
.bd-sidebar { flex: 0.6; }

/* --- DETAIL ARTIKEL (SINGLE POST VIEW) --- */
.single-post {
    background: #ffffff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03), 0 1px 2px rgba(15, 23, 42, 0.06);
    border: 1px solid #e2e8f0;
    padding: 35px;
}

/* Gambar Utama Banner Konten */
.post-main-img {
    width: 100%;
    height: 400px;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 25px;
}

.post-main-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Meta Data Baris Atas */
.post-meta-bar {
    display: flex;
    gap: 20px;
    font-size: 13px;
    color: #94a3b8;
    margin-bottom: 20px;
    font-weight: 600;
}
.post-meta-bar i { color: #ff6b00; }

/* Judul Utama Artikel Singel */
.post-main-title {
    font-size: 28px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
    margin-bottom: 25px;
}

/* Teks Utama Body Isi Artikel */
.post-body-text p {
    font-size: 14.5px;
    color: #475569;
    line-height: 1.7;
    margin-bottom: 20px;
    text-align: justify;
}

.post-body-text h3 {
    font-size: 17px;
    font-weight: 700;
    color: #0f172a;
    margin-top: 30px;
    margin-bottom: 12px;
}

/* --- KOTAK KUTIPAN KHUSUS (BLOCKQUOTE ELEGAN) --- */
.post-quote {
    background-color: #f8fafc;
    border-left: 4px solid #ff6b00; /* Garis oranye tebal ciri khas */
    padding: 20px 25px;
    margin: 30px 0;
    border-radius: 0 6px 6px 0;
}

.post-quote p {
    font-size: 15px;
    font-style: italic;
    color: #1e293b;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 0;
    text-align: left;
}

/* Tag List Area */
.post-bottom-tags {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid #e2e8f0;
}

.tag-title { font-size: 13.5px; font-weight: 700; color: #0f172a; }
.tag-list { display: flex; gap: 8px; }
.tag-list a {
    background-color: #f1f5f9; color: #475569; text-decoration: none;
    font-size: 12px; font-weight: 600; padding: 5px 12px; border-radius: 4px;
}

/* Tombol Navigasi Keluar */
.post-navigation-bar { margin-top: 40px; }
.back-to-blog-btn {
    color: #475569; text-decoration: none; font-size: 13.5px; font-weight: 700;
    display: inline-flex; align-items: center; gap: 8px; transition: color 0.2s;
}
.back-to-blog-btn:hover { color: #ff6b00; }

/* --- WIDGET KHUSUS SIDEBAR WA --- */
.sidebar-cta-box {
    background-color: #f8fafc;
    padding: 20px;
    border-radius: 4px;
    border: 1px solid #e2e8f0;
    text-align: center;
}

.sidebar-cta-box p { font-size: 13px; color: #475569; line-height: 1.5; margin-bottom: 15px; }
.sidebar-wa-btn {
    background-color: #25d366; color: #ffffff !important; text-decoration: none !important;
    font-size: 13px; font-weight: 700; padding: 10px 20px; border-radius: 4px;
    display: inline-flex; align-items: center; gap: 8px; width: 100%; justify-content: center;
    box-shadow: 0 4px 10px rgba(37, 211, 102, 0.15); transition: background-color 0.2s;
}
.sidebar-wa-btn:hover { background-color: #1fc157; }

/* --- SYSTEM RESPONSIVE LAYOUT GAWAI --- */
@media (max-width: 991px) {
    .bd-container { flex-direction: column; gap: 40px; }
    .bd-left-content, .bd-sidebar { width: 100%; }
    .post-main-img { height: 280px; }
}

@media (max-width: 600px) {
    .single-post { padding: 20px; }
    .post-main-title { font-size: 22px; }
    .post-main-img { height: 200px; }
    .post-meta-bar { flex-wrap: wrap; gap: 10px; }
}

/* --- COMPONENT TABEL SPESIFIKASI ARTIKEL --- */
.post-table-container {
    width: 100%;
    overflow-x: auto;
    margin: 25px 0 30px 0;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background-color: #ffffff;
}

.post-spec-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    font-size: 13.5px;
}

.post-spec-table th {
    background-color: #0f172a; /* Navy gelap untuk header tabel */
    color: #ffffff;
    padding: 12px 16px;
    font-weight: 700;
}

.post-spec-table td {
    padding: 12px 16px;
    border-bottom: 1px solid #e2e8f0;
    color: #334155;
    font-weight: 600;
}

.post-spec-table tr:last-child td {
    border-bottom: none;
}

.post-spec-table tr:nth-child(even) {
    background-color: #f8fafc; /* Efek baris belang abu-abu terang */
}

.post-spec-table .table-label {
    color: #0f172a;
    font-weight: 700;
    width: 30%;
}

/* --- DETAL AKSEN ORANYE UNTUK ARTIKEL MATERIAL --- */
.post-quote.material-quote {
    border-left-color: #ff6b00; /* Garis pembatas kutipan menggunakan warna Oranye */
}

.sidebar-wa-btn.material-btn {
    background-color: #ff6b00; /* Tombol CTA Sidebar bertema oranye material */
    box-shadow: 0 4px 10px rgba(255, 107, 0, 0.2);
}

.sidebar-wa-btn.material-btn:hover {
    background-color: #e05e00;
}

/* ==========================================================================
   SECTION BERITA UTAMA CV PARTA JASA (THE MAGAZINE GRID - NO SIDEBAR)
   ========================================================================== */
.news-magazine-section {
    padding: 60px 0;
    background-color: #f8fafc;
    width: 100%;
}

.nz-container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* --- 1. SUSUNAN FEATURED BANNER ATAS (BERITA UTAMA) --- */
.nz-featured-row {
    position: relative;
    width: 100%;
    height: 440px;
    background-color: #0f172a; /* Navy Gelap */
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    align-items: center;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03), 0 1px 2px rgba(15, 23, 42, 0.06);
    margin-bottom: 40px;
}

.nz-feat-img {
    width: 55%;
    height: 100%;
    background-size: cover;
    background-position: center;
}

.nz-feat-content {
    width: 45%;
    padding: 50px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.nz-feat-badge {
    position: absolute;
    top: 25px; left: 25px;
    background-color: #ff6b00; /* Jingga Khas Konstruksi */
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    z-index: 2;
}

.nz-meta-date {
    font-size: 12px;
    color: #94a3b8;
    font-weight: 600;
    margin-bottom: 15px;
}
.nz-meta-date i { color: #ff6b00; margin-right: 4px; }

.nz-feat-content h2 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 15px;
}

.nz-feat-content h2 a {
    color: #ffffff; 
    text-decoration: none; 
    transition: color 0.2s ease;
}
.nz-feat-content h2 a:hover { color: #ff6b00; }

.nz-feat-content p {
    font-size: 13.5px;
    color: #cbd5e1;
    line-height: 1.6;
    margin-bottom: 25px;
}

/* --- 2. SUSUNAN 3 KOLOM GRID BAWAH (SIMETRIS) --- */
.nz-magazine-grid {
    display: flex;
    gap: 30px;
    margin-bottom: 45px;
}

.nz-grid-card {
    width: 33.333%;
    background: #ffffff;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03);
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.4s ease, border-color 0.4s ease;
}

.nz-grid-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 12px 25px -5px rgba(15, 23, 42, 0.06);
}

.nz-card-img {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
    background-color: #f1f5f9;
}

.nz-card-img img {
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    display: block;
    transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}
.nz-grid-card:hover .nz-card-img img { transform: scale(1.02); }

/* Badges Grid Kecil */
.nz-card-badge {
    position: absolute;
    top: 15px; left: 15px;
    color: #ffffff;
    font-size: 9.5px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 2px;
    z-index: 2;
    text-transform: uppercase;
}
.badge-navy { background-color: #0b132b; }
.badge-orange { background-color: #ff6b00; }
.badge-red { background-color: #cc1818; }

/* Body Card */
.nz-card-body {
    padding: 25px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.nz-card-body h3 {
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 12px;
    min-height: 66px; /* Menyamakan batas baris agar seluruh box sejajar kartu */
}

.nz-card-body h3 a {
    color: #0f172a; 
    text-decoration: none; 
    transition: color 0.2s ease;
}
.nz-card-body h3 a:hover { color: #ff6b00; }

.nz-card-body p {
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
    margin-bottom: 20px;
}

/* Tombol Link Akselerasi */
.nz-btn-trigger {
    color: #ff6b00;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap 0.2s ease, color 0.2s ease;
    margin-top: auto; /* Memaksa pemicu tombol rata lurus di bagian terbawah */
}
.nz-btn-trigger:hover { gap: 9px; color: #e05e00; }

/* --- 3. PAGINATION STYLE --- */
.nz-pagination {
    display: flex;
    gap: 8px;
    justify-content: center;
}

.nz-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px; height: 38px;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    color: #475569;
    font-size: 13.5px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.nz-num.active, .nz-num:hover {
    background-color: #0b132b; /* Navy Utama */
    color: #ffffff;
    border-color: #0b132b;
}

/* --- MONITOR RESPONSIVE MEDIA BREAKPOINTS --- */
@media (max-width: 991px) {
    .nz-featured-row { flex-direction: column; height: auto; }
    .nz-feat-img { width: 100%; height: 260px; }
    .nz-feat-content { width: 100%; padding: 30px; }
    .nz-magazine-grid { flex-direction: column; gap: 30px; }
    .nz-grid-card { width: 100%; }
    .nz-card-body h3 { min-height: auto; }
}

@media (max-width: 600px) {
    .nz-feat-content h2 { font-size: 20px; }
    .nz-card-img { height: 180px; }
    .nz-card-body { padding: 20px; }
}


/* ==========================================================================
   SECTION LAYANAN JASA MAINTENANCE (CV PARTA JASA RICH-CONTENT STANDARD)
   ========================================================================== */
.maintenance-service-section {
    padding: 80px 0;
    background-color: #f8fafc; /* Latar belakang abu-abu es bersih */
    width: 100%;
}

.ms-container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* --- JUDUL HEADER ATAS --- */
.ms-header-center {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 60px auto;
}

.ms-top-tag {
    font-size: 11px;
    font-weight: 700;
    color: #ff6b00; /* Jingga Aksen */
    text-transform: uppercase;
    letter-spacing: 1.5px;
    display: inline-block;
    margin-bottom: 10px;
}

.ms-main-title {
    font-size: 34px;
    font-weight: 700;
    color: #0f172a; /* Navy Gelap */
    margin-bottom: 18px;
    letter-spacing: -0.5px;
}

.ms-sub-title {
    font-size: 15px;
    color: #64748b;
    line-height: 1.6;
}

/* --- LAYOUT GRID KARTU (2 KOLOM BALANCED) --- */
.ms-services-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 55px;
}

.ms-card {
    width: calc(50% - 15px); /* Menghasilkan susunan 2 kolom presisi */
    background: #ffffff;
    border-radius: 6px;
    padding: 35px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.02), 0 1px 2px rgba(15, 23, 42, 0.04);
    display: flex;
    gap: 24px;
    align-items: flex-start;
    transition: box-shadow 0.4s ease, border-color 0.4s ease;
}

.ms-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 12px 30px -5px rgba(15, 23, 42, 0.06);
}

/* Kotak Area Ikon */
.ms-icon-box {
    width: 56px;
    height: 56px;
    background-color: #0b132b; /* Biru Navy Solid */
    color: #ffffff;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

/* Konten Teks Dalam Kartu */
.ms-content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ms-content h3 {
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 12px;
    line-height: 1.4;
}

.ms-content p {
    font-size: 13.5px;
    color: #475569;
    line-height: 1.6;
    text-align: justify;
    margin-bottom: 20px; /* Jarak menuju poin parameter di bawahnya */
}

/* --- POIN PARAMETER TEKNIS KERJA (NEW DETAIL) --- */
.ms-tech-points {
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-top: 1px dashed #e2e8f0;
    padding-top: 15px;
    margin-top: auto; /* Mendorong otomatis ke posisi paling bawah kartu */
}

.ms-tech-points span {
    font-size: 12.5px;
    color: #1e293b;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ms-tech-points i {
    color: #10b981; /* Warna Hijau Centang Aman */
    font-size: 12px;
}

/* --- ACTION FOOTER BAR (CTA) --- */
.ms-action-footer {
    text-align: center;
    border-top: 1px solid #e2e8f0;
    padding-top: 45px;
    max-width: 750px;
    margin: 0 auto;
}

.ms-action-footer p {
    font-size: 14px;
    color: #334155;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 24px;
}

.ms-btn-whatsapp {
    background-color: #0b132b; /* Corporate Navy CV Parta Jasa */
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 13.5px;
    font-weight: 700;
    padding: 13px 32px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 4px 12px rgba(11, 19, 43, 0.15);
    transition: all 0.2s ease;
}

.ms-btn-whatsapp:hover {
    background-color: #ff6b00; /* Transisi ke warna Jingga Utama */
    box-shadow: 0 6px 15px rgba(255, 107, 0, 0.25);
    transform: translateY(-1px);
}

/* --- RESPONSIVE MEDIA BREAKPOINTS --- */
@media (max-width: 991px) {
    .ms-card { width: 100%; } /* Menjadi 1 kolom pada tablet & handphone */
    .ms-main-title { font-size: 28px; }
}

@media (max-width: 580px) {
    .ms-card { flex-direction: column; gap: 16px; padding: 25px; }
    .ms-icon-box { width: 50px; height: 50px; font-size: 19px; }
    .ms-btn-whatsapp { width: 100%; justify-content: center; } /* Tombol melebar penuh di HP */
}


/* ==========================================================================
   STYLE HALAMAN DETAIL ARTIKEL (DOCUMENT VIEW REFERENCE STYLE)
   ========================================================================== */
.premium-article-section {
    padding: 50px 0;
    background-color: #ffffff; /* Putih bersih kertas dokumen */
    width: 100%;
    font-family: 'Montserrat', sans-serif;
}

.pa-container {
    width: 85%;
    max-width: 900px; /* Lebar maksimal terpusat seperti format membaca dokumen */
    margin: 0 auto;
}

.pa-main-content {
    width: 100%;
}

/* --- 1. HERO BANNER BOX (MIRIP LAYOUT ATAS ARTIKEL) --- */
.pa-hero-banner {
    position: relative;
    width: 100%;
    height: 380px;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 30px;
}

.pa-hero-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pa-hero-overlay {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    background: linear-gradient(transparent, rgba(15, 23, 42, 0.95));
    padding: 30px;
    color: #ffffff;
}

.pa-hero-overlay h2 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 6px;
}

.pa-hero-overlay p {
    font-size: 13.5px;
    color: #cbd5e1;
    margin-bottom: 12px;
}

.pa-hero-contact {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    background-color: rgba(255, 255, 255, 0.15);
    padding: 4px 12px;
    border-radius: 3px;
    font-weight: 600;
}

/* --- 2. JUDUL UTAMA & META INFO BLOCK --- */
.pa-title {
    font-size: 26px;
    font-weight: 700;
    color: #000000;
    line-height: 1.4;
    margin-top: 20px;
    margin-bottom: 20px;
}

.pa-divider {
    border: none;
    border-top: 1px solid #747474; /* Garis horizontal solid pembatas */
    margin: 20px 0;
}

.pa-meta-box {
    background-color: #ffffff;
    padding: 10px 0;
}

.pa-meta-box p {
    font-size: 13px;
    color: #333333;
    line-height: 1.6;
    margin-bottom: 8px;
}

.pa-meta-box p strong {
    color: #000000;
}

/* --- 3. SUB HEADINGS & TEXT ARTIKEL --- */
.pa-sub-heading {
    font-size: 18px;
    font-weight: 700;
    color: #000000;
    margin-top: 35px;
    margin-bottom: 15px;
    line-height: 1.3;
}

.pa-text {
    font-size: 13.5px;
    color: #111111;
    line-height: 1.7;
    margin-bottom: 18px;
    text-align: justify;
}

/* --- 4. FORMAT TABEL DATA TEKNIS (SOLID DOCUMENT LOOK) --- */
.pa-table-wrapper {
    width: 100%;
    overflow-x: auto;
    margin: 20px 0 30px 0;
}

.pa-document-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    text-align: left;
}

.pa-document-table th, 
.pa-document-table td {
    border: 1px solid #000000; /* Garis hitam solid tipis khas dokumen spreadsheet */
    padding: 10px 14px;
}

.pa-document-table th {
    background-color: #ffffff;
    color: #000000;
    font-weight: 700;
    text-transform: none;
}

.pa-document-table td {
    color: #111111;
    background-color: #ffffff;
}

.pa-document-table .table-bold-label {
    font-weight: 700;
    color: #000000;
}

/* --- 5. FORMAT LIST ARTIKEL DOKUMEN --- */
.pa-document-list {
    list-style: none;
    padding-left: 0;
    margin: 20px 0;
}

.pa-document-list li {
    font-size: 13.5px;
    color: #111111;
    line-height: 1.7;
    margin-bottom: 12px;
    text-align: justify;
}

/* --- 6. ACTION BAR BACK BUTTON --- */
.pa-action-bar {
    margin-top: 50px;
    border-top: 1px solid #e2e8f0;
    padding-top: 25px;
}

.pa-btn-back {
    color: #475569;
    text-decoration: none;
    font-size: 13.5px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: color 0.2s ease;
}
.pa-btn-back:hover {
    color: #ff6b00;
}

/* --- SYSTEM SCROLL REVEAL STABIL --- */
.scroll-reveal {
    opacity: 0;
    transform: translateY(15px);
    transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1), 
                transform 1s cubic-bezier(0.25, 1, 0.5, 1);
}
.scroll-reveal.revealed {
    opacity: 1;
    transform: translateY(0);
}

/* --- RESPONSIVE LAYOUT SMARTPHONE --- */
@media (max-width: 768px) {
    .pa-container { width: 92%; }
    .pa-hero-banner { height: 260px; }
    .pa-title { font-size: 20px; }
    .pa-sub-heading { font-size: 16px; }
    .pa-document-table th, .pa-document-table td { padding: 8px 10px; font-size: 12px; }
}

/* ==========================================================================
   STYLE LAYOUT 2 KOLOM (ARTIKEL DOKUMEN + SIDEBAR WIDGETS)
   ========================================================================== */
.premium-article-section {
    padding: 60px 0;
    background-color: #f8fafc; /* Latar belakang abu-abu es bersih */
    width: 100%;
    font-family: 'Montserrat', sans-serif;
}

.pa-container {
    display: flex;
    gap: 40px;
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Pembagian Lebar Kolom Utama Kiri & Kolom Kanan */
.pa-left-content { flex: 1.4; min-width: 0; }
.pa-sidebar { flex: 0.6; }

/* --- DETAIL BOX DOKUMEN ARTIKEL KIRI --- */
.document-flow {
    background: #ffffff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03), 0 1px 2px rgba(15, 23, 42, 0.06);
    border: 1px solid #e2e8f0;
    padding: 35px;
}

.pa-hero-banner {
    position: relative;
    width: 100%;
    height: 380px;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 25px;
}
.pa-hero-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-hero-overlay {
    position: absolute; bottom: 0; left: 0; right: 0;
    background: linear-gradient(transparent, rgba(15, 23, 42, 0.95));
    padding: 25px; color: #ffffff;
}
.pa-hero-overlay h2 { font-size: 22px; font-weight: 700; margin-bottom: 4px; }
.pa-hero-overlay p { font-size: 13px; color: #cbd5e1; margin-bottom: 10px; }
.pa-hero-contact { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; background-color: rgba(255, 255, 255, 0.15); padding: 4px 12px; border-radius: 3px; font-weight: 600; }

.pa-title { font-size: 24px; font-weight: 700; color: #0f172a; line-height: 1.3; margin-bottom: 20px; }
.pa-divider { border: none; border-top: 1px solid #e2e8f0; margin: 20px 0; }
.pa-meta-box p { font-size: 13px; color: #475569; line-height: 1.6; margin-bottom: 6px; }
.pa-meta-box p strong { color: #0f172a; }
.pa-sub-heading { font-size: 17px; font-weight: 700; color: #0f172a; margin-top: 30px; margin-bottom: 12px; }
.pa-text { font-size: 13.5px; color: #334155; line-height: 1.7; margin-bottom: 16px; text-align: justify; }

/* TABEL DOKUMEN SOLID SHEET */
.pa-table-wrapper { width: 100%; overflow-x: auto; margin: 20px 0; }
.pa-document-table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }
.pa-document-table th, .pa-document-table td { border: 1px solid #cbd5e1; padding: 10px 14px; }
.pa-document-table th { background-color: #f8fafc; color: #0f172a; font-weight: 700; }
.pa-document-table td { color: #334155; background-color: #ffffff; }
.pa-document-table .table-bold-label { font-weight: 700; color: #0f172a; }

.pa-action-bar { margin-top: 40px; border-top: 1px solid #e2e8f0; padding-top: 20px; }
.pa-btn-back { color: #475569; text-decoration: none; font-size: 13.5px; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; transition: color 0.2s; }
.pa-btn-back:hover { color: #ff6b00; }

/* ==========================================================================
   SIDEBAR COMPONENT WIDGETS KANAN
   ========================================================================== */
.pa-sidebar-widget {
    background: #ffffff;
    padding: 25px;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.02);
    border: 1px solid #e2e8f0;
    margin-bottom: 25px;
}

.pa-widget-title {
    font-size: 14.5px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 18px;
    position: relative;
    padding-bottom: 8px;
    border-bottom: 2px solid #f1f5f9;
}
.pa-widget-title::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 35px; height: 2px; background: #ff6b00; }

/* Search Form */
.pa-search-form { position: relative; display: flex; }
.pa-search-form input { width: 100%; padding: 10px 45px 10px 14px; font-size: 13px; border: 1px solid #cbd5e1; border-radius: 4px; outline: none; }
.pa-search-form button { position: absolute; right: 0; top: 0; bottom: 0; width: 45px; background: none; border: none; color: #64748b; cursor: pointer; font-size: 13px; }
.pa-search-form button:hover { color: #ff6b00; }

/* Kategori */
.pa-widget-categories { list-style: none; padding-left: 0; }
.pa-widget-categories li { border-bottom: 1px dashed #f1f5f9; padding: 9px 0; }
.pa-widget-categories li:last-child { border-bottom: none; }
.pa-widget-categories a { color: #475569; text-decoration: none; font-size: 13px; font-weight: 600; display: flex; justify-content: space-between; transition: color 0.2s; }
.pa-widget-categories a:hover { color: #ff6b00; }
.pa-widget-categories span { color: #94a3b8; font-weight: 400; }

/* Popular Posts Widget */
.pa-popular-posts { display: flex; flex-direction: column; gap: 15px; }
.pa-pop-item { display: flex; gap: 12px; align-items: center; }
.pa-pop-item img { width: 60px; height: 60px; object-fit: cover; border-radius: 4px; flex-shrink: 0; }
.pa-pop-info h5 { font-size: 12.5px; font-weight: 700; line-height: 1.4; margin-bottom: 4px; }
.pa-pop-info h5 a { color: #0f172a; text-decoration: none; transition: color 0.2s; }
.pa-pop-info h5 a:hover { color: #ff6b00; }
.pa-pop-info span { font-size: 11px; color: #94a3b8; }

/* Cloud Tags */
.pa-widget-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.pa-widget-tags a { background-color: #f1f5f9; color: #475569; text-decoration: none; font-size: 11.5px; font-weight: 600; padding: 5px 12px; border-radius: 4px; transition: all 0.2s; }
.pa-widget-tags a:hover { background-color: #ff6b00; color: #ffffff; }

/* Widget CTA Box WA */
.pa-sidebar-cta { background-color: #f8fafc; padding: 20px; border-radius: 4px; border: 1px solid #e2e8f0; text-align: center; }
.pa-sidebar-cta p { font-size: 13px; color: #475569; line-height: 1.5; margin-bottom: 15px; text-align: center; }
.pa-sidebar-wa-btn { background-color: #0b132b; color: #ffffff !important; text-decoration: none !important; font-size: 13px; font-weight: 700; padding: 10px 20px; border-radius: 4px; display: inline-flex; align-items: center; gap: 8px; width: 100%; justify-content: center; box-shadow: 0 4px 10px rgba(11, 19, 43, 0.1); transition: background-color 0.2s; }
.pa-sidebar-wa-btn:hover { background-color: #ff6b00; }

/* --- RESPONSIVE MEDIA BREAKPOINTS --- */
@media (max-width: 991px) {
    .pa-container { flex-direction: column; gap: 40px; }
    .pa-left-content, .pa-sidebar { width: 100%; }
    .pa-hero-banner { height: 280px; }
}
@media (max-width: 600px) {
    .document-flow { padding: 20px; }
    .pa-title { font-size: 20px; }
    .pa-hero-banner { height: 200px; }
}

/* --- SUB-COMPONENTS FOR EXTENDED DOCUMENT FLOW --- */
.pa-bullet-list {
    list-style: none;
    padding-left: 0;
    margin: 15px 0 25px 0;
}

.pa-bullet-list li {
    font-size: 13.5px;
    color: #334155;
    line-height: 1.7;
    margin-bottom: 8px;
    position: relative;
    padding-left: 15px;
}

.pa-bullet-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: #0f172a;
    font-weight: bold;
}

.pa-text.pa-italic {
    font-style: italic;
    color: #475569;
    background-color: #f8fafc;
    padding: 15px;
    border-radius: 4px;
    border-left: 3px solid #cbd5e1;
}

/* FAQ Layout Blocks */
.pa-faq-block {
    margin: 25px 0;
}

.pa-faq-question {
    font-size: 14.5px;
    font-weight: 700;
    color: #000000;
    margin-top: 20px;
    margin-bottom: 8px;
    line-height: 1.4;
}

/* Premium Office Info Center (CTA Container) */
.pa-office-info-box {
    background-color: #ffffff;
    border: 1px solid #000000; /* Outline solid hitam tipis khas dokumen referensi */
    border-radius: 4px;
    padding: 30px;
    margin: 35px 0;
}

.pa-cta-title {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.pa-cta-title i { color: #ff6b00; }

.pa-check-features {
    display: flex;
    gap: 20px;
    margin: 15px 0 25px 0;
    flex-wrap: wrap;
}

.pa-check-features span {
    font-size: 12.5px;
    font-weight: 700;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 6px;
}
.pa-check-features i { color: #10b981; }

.pa-office-details {
    border-top: 1px dashed #cbd5e1;
    padding-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pa-office-details p {
    font-size: 13px;
    color: #334155;
    line-height: 1.5;
    margin-bottom: 0;
}
.pa-office-details a { color: #ff6b00; font-weight: 700; text-decoration: none; }
.pa-office-details a:hover { text-decoration: underline; }

.pa-footnote {
    font-size: 12px;
    color: #64748b;
    line-height: 1.6;
    margin-top: 25px;
    font-style: italic;
}

/* Tagging System Bottom Elements */
.pa-tags-row {
    display: flex;
    gap: 12px;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #e2e8f0;
    align-items: flex-start;
}

.pa-tag-lbl { font-size: 13px; font-weight: 700; color: #0f172a; margin-top: 4px; }
.pa-tag-container { display: flex; flex-wrap: wrap; gap: 6px; }
.pa-tag-container a {
    background-color: #f1f5f9; color: #475569; text-decoration: none;
    font-size: 11.5px; font-weight: 600; padding: 4px 10px; border-radius: 3px;
}

/* Mobile Screens Adjustment Layer */
@media (max-width: 580px) {
    .pa-office-info-box { padding: 20px; }
    .pa-check-features { flex-direction: column; gap: 8px; }
    .pa-tags-row { flex-direction: column; gap: 8px; }
}

/* ==========================================================================
   STYLE LAYOUT 2 KOLOM (ARTIKEL DOKUMEN + SIDEBAR WIDGETS)
   ========================================================================== */
.premium-article-section {
    padding: 60px 0;
    background-color: #f8fafc;
    width: 100%;
    font-family: 'Montserrat', sans-serif;
}

.pa-container {
    display: flex;
    gap: 40px;
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

.pa-left-content { flex: 1.4; min-width: 0; }
.pa-sidebar { flex: 0.6; }

/* KOTAK DOKUMEN ARTIKEL UTAMA */
.document-flow {
    background: #ffffff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03), 0 1px 2px rgba(15, 23, 42, 0.06);
    border: 1px solid #e2e8f0;
    padding: 35px;
}

.pa-hero-banner {
    position: relative;
    width: 100%;
    height: 380px;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 25px;
}
.pa-hero-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-hero-overlay {
    position: absolute; bottom: 0; left: 0; right: 0;
    background: linear-gradient(transparent, rgba(15, 23, 42, 0.95));
    padding: 25px; color: #ffffff;
}
.pa-hero-overlay h2 { font-size: 22px; font-weight: 700; margin-bottom: 4px; }
.pa-hero-overlay p { font-size: 13px; color: #cbd5e1; margin-bottom: 10px; }
.pa-hero-contact { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; background-color: rgba(255, 255, 255, 0.15); padding: 4px 12px; border-radius: 3px; font-weight: 600; }

.pa-brand-badge {
    background-color: #0b132b; color: #ffffff; font-size: 10px; font-weight: 700;
    padding: 4px 12px; border-radius: 3px; display: inline-block; margin-bottom: 15px; letter-spacing: 0.5px;
}

.pa-title { font-size: 24px; font-weight: 700; color: #0f172a; line-height: 1.3; margin-bottom: 20px; }
.pa-divider { border: none; border-top: 1px solid #e2e8f0; margin: 20px 0; }
.pa-meta-box p { font-size: 13px; color: #475569; line-height: 1.6; margin-bottom: 6px; }
.pa-meta-box p strong { color: #0f172a; }

.pa-sub-heading { font-size: 17px; font-weight: 700; color: #0f172a; margin-top: 35px; margin-bottom: 14px; }
.document-flow h3 { font-size: 15px; font-weight: 700; color: #1e293b; margin-top: 25px; margin-bottom: 10px; }
.document-flow h4 { font-size: 14px; font-weight: 700; color: #0f172a; margin-top: 20px; margin-bottom: 8px; }

.pa-text { font-size: 13.5px; color: #334155; line-height: 1.7; margin-bottom: 16px; text-align: justify; }
.pa-highlight-note { background-color: #f8fafc; padding: 15px; border-radius: 4px; border-left: 3px solid #ff6b00; }

.pa-bullet-list { list-style: none; padding-left: 0; margin: 15px 0 20px 0; }
.pa-bullet-list li { font-size: 13.5px; color: #334155; line-height: 1.7; margin-bottom: 8px; position: relative; padding-left: 15px; text-align: justify; }
.pa-bullet-list li::before { content: '•'; position: absolute; left: 0; color: #ff6b00; font-weight: bold; }

/* TABEL DOKUMEN SOLID SPREADSHEET LOOK */
.pa-table-wrapper { width: 100%; overflow-x: auto; margin: 20px 0 25px 0; }
.pa-document-table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }
.pa-document-table th, .pa-document-table td { border: 1px solid #cbd5e1; padding: 10px 14px; }
.pa-document-table th { background-color: #f8fafc; color: #0f172a; font-weight: 700; }
.pa-document-table td { color: #334155; background-color: #ffffff; }
.pa-document-table .table-bold-label { font-weight: 700; color: #0f172a; width: 25%; }
.pa-document-table tr.table-row-total td { font-weight: 700; background-color: #f8fafc; color: #0f172a; }
.pa-table-title { font-size: 13.5px; font-weight: 700; color: #0f172a; margin: 20px 0 8px 0; }

.pa-faq-block { margin: 25px 0; }
.pa-faq-question { font-size: 14px; font-weight: 700; color: #000000; margin-top: 20px; margin-bottom: 8px; line-height: 1.4; }

/* KOTAK INFO ALAMAT KANTOR OPERASIONAL */
.pa-office-info-box { background-color: #ffffff; border: 1px dashed #cbd5e1; border-radius: 6px; padding: 30px; margin: 35px 0; }
.pa-cta-title { font-size: 15.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; }
.pa-check-features { display: flex; gap: 20px; margin: 15px 0 25px 0; flex-wrap: wrap; }
.pa-check-features span { font-size: 12.5px; font-weight: 700; color: #0f172a; display: flex; align-items: center; gap: 6px; }
.pa-check-features i { color: #10b981; }
.pa-office-details { border-top: 1px dashed #cbd5e1; padding-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.pa-office-details p { font-size: 13px; color: #334155; line-height: 1.5; margin-bottom: 0; }
.pa-office-details a { color: #ff6b00; font-weight: 700; text-decoration: none; }
.pa-office-details a:hover { text-decoration: underline; }

.pa-footnote { font-size: 12px; color: #64748b; line-height: 1.6; margin-top: 25px; font-style: italic; }

.pa-tags-row { display: flex; gap: 12px; margin-top: 30px; padding-top: 20px; border-top: 1px solid #e2e8f0; align-items: flex-start; }
.pa-tag-lbl { font-size: 13px; font-weight: 700; color: #0f172a; margin-top: 4px; }
.pa-tag-container { display: flex; flex-wrap: wrap; gap: 6px; }
.pa-tag-container a { background-color: #f1f5f9; color: #475569; text-decoration: none; font-size: 11.5px; font-weight: 600; padding: 4px 10px; border-radius: 3px; }

.pa-action-bar { margin-top: 40px; border-top: 1px solid #e2e8f0; padding-top: 20px; }
.pa-btn-back { color: #475569; text-decoration: none; font-size: 13.5px; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; transition: color 0.2s; }
.pa-btn-back:hover { color: #ff6b00; }

/* ==========================================================================
   SIDEBAR COMPONENT WIDGETS KANAN
   ========================================================================== */
.pa-sidebar-widget { background: #ffffff; padding: 25px; border-radius: 6px; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.02); border: 1px solid #e2e8f0; margin-bottom: 25px; }
.pa-widget-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 18px; position: relative; padding-bottom: 8px; border-bottom: 2px solid #f1f5f9; }
.pa-widget-title::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 35px; height: 2px; background: #ff6b00; }

.pa-search-form { position: relative; display: flex; }
.pa-search-form input { width: 100%; padding: 10px 45px 10px 14px; font-size: 13px; border: 1px solid #cbd5e1; border-radius: 4px; outline: none; }
.pa-search-form button { position: absolute; right: 0; top: 0; bottom: 0; width: 45px; background: none; border: none; color: #64748b; cursor: pointer; font-size: 13px; }
.pa-search-form button:hover { color: #ff6b00; }

.pa-widget-categories { list-style: none; padding-left: 0; }
.pa-widget-categories li { border-bottom: 1px dashed #f1f5f9; padding: 9px 0; }
.pa-widget-categories li:last-child { border-bottom: none; }
.pa-widget-categories a { color: #475569; text-decoration: none; font-size: 13px; font-weight: 600; display: flex; justify-content: space-between; transition: color 0.2s; }
.pa-widget-categories a:hover { color: #ff6b00; }
.pa-widget-categories span { color: #94a3b8; font-weight: 400; }

.pa-popular-posts { display: flex; flex-direction: column; gap: 15px; }
.pa-pop-item { display: flex; gap: 12px; align-items: center; }
.pa-pop-item img { width: 60px; height: 60px; object-fit: cover; border-radius: 4px; flex-shrink: 0; }
.pa-pop-info h5 { font-size: 12.5px; font-weight: 700; line-height: 1.4; margin-bottom: 4px; }
.pa-pop-info h5 a { color: #0f172a; text-decoration: none; transition: color 0.2s; }
.pa-pop-info h5 a:hover { color: #ff6b00; }
.pa-pop-info span { font-size: 11px; color: #94a3b8; }

.pa-widget-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.pa-widget-tags a { background-color: #f1f5f9; color: #475569; text-decoration: none; font-size: 11.5px; font-weight: 600; padding: 5px 12px; border-radius: 4px; transition: all 0.2s; }
.pa-widget-tags a:hover { background-color: #ff6b00; color: #ffffff; }

/* --- SYSTEM SCROLL REVEAL STABIL --- */
.scroll-reveal { opacity: 0; transform: translateY(15px); transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1), transform 1s cubic-bezier(0.25, 1, 0.5, 1); }
.scroll-reveal.revealed { opacity: 1; transform: translateY(0); }

@media (max-width: 991px) {
    .pa-container { flex-direction: column; gap: 40px; }
    .pa-left-content, .pa-sidebar { width: 100%; }
    .pa-hero-banner { height: 280px; }
}
@media (max-width: 600px) {
    .document-flow { padding: 20px; }
    .pa-title { font-size: 20px; }
    .pa-hero-banner { height: 200px; }
    .pa-tags-row { flex-direction: column; gap: 8px; }
}

/* ==========================================================================
   STYLE LAYOUT INDUSTRIAL ARTIKEL + SIDEBAR MENGAMBANG (STICKY STABLE)
   ========================================================================== */
.premium-article-section {
    padding: 60px 0;
    background-color: #f8fafc;
    width: 100%;
    font-family: 'Montserrat', sans-serif;
}

.pa-container {
    display: flex;
    gap: 40px;
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    align-items: flex-start;
    position: relative;
    overflow: visible !important; /* Menjamin sticky tidak terputus */
}

.pa-left-content { flex: 1.4; min-width: 0; }

/* KONDISI DASAR SIDEBAR KANAN */
.pa-sidebar { 
    flex: 0.6; 
    width: 100%;
    display: flex;
    flex-direction: column;
}

/* ==========================================================================
   STYLE LAYOUT ARTIKEL DED/RAB + SIDEBAR MENGAMBANG (STICKY STABLE SYSTEM)
   ========================================================================== */
.premium-article-section {
    padding: 60px 0;
    background-color: #f8fafc;
    width: 100%;
    font-family: 'Montserrat', sans-serif;
}

/* CONTAINER GRID SEIMBANG - ANTI BENTURAN / TERTREK */
.pa-container {
    display: grid !important;
    grid-template-columns: 2.95fr 1.05fr !important; /* Mengunci porsi agar artikel kiri tetap luas dominan */
    gap: 60px !important; /* Sela tengah diperlebar menjadi 60px agar sidebar bergeser menjauh ke kanan */
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    overflow: visible !important; /* Mutlak wajib visible agar fungsi melayang aktif di browser */
    position: relative;
}

.pa-left-content { 
    min-width: 0 !important; 
    width: 100% !important; 
}

/* === KOLOM SIDEBAR KANAN MENGAMBANG MURNI CSS (SOLUSI CELAH AMAN HEADER MENU) === */
.pa-sidebar { 
    width: 100% !important; 
    min-width: 0 !important;
    display: flex;
    flex-direction: column;
    
    /* Mengaktifkan sistem melayang bawaan browser secara native */
    position: -webkit-sticky !important;
    position: sticky !important;
    
    /* SOLUSI UTAMA: Diberikan batas jeda atas 110px agar mengambang tepat di bawah Fixed Navbar Menu Anda */
    top: 110px !important; 
    
    /* Memaksa tinggi pembungkus luar hanya sewajarnya isi widget agar sisa ruang bawahnya kosong untuk meluncur */
    height: -webkit-max-content !important;
    height: -moz-max-content !important;
    height: max-content !important;
    
    /* Memaksa elemen berdiri tegak di dalam jalur gridnya sendiri */
    align-self: flex-start !important; 
    margin: 0 !important;
    z-index: 90; /* Berada aman di bawah z-index barisan utama menu bar website Anda */
}

/* AREA KERTAS PUTIH DOKUMEN ARTIKEL KIRI */
.document-flow {
    background: #ffffff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03), 0 1px 2px rgba(15, 23, 42, 0.06);
    border: 1px solid #e2e8f0;
    padding: 35px;
}

.pa-hero-banner {
    position: relative;
    width: 100%;
    height: 380px;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 25px;
}
.pa-hero-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-hero-overlay {
    position: absolute; bottom: 0; left: 0; right: 0;
    background: linear-gradient(transparent, rgba(11, 19, 43, 0.98));
    padding: 25px; color: #ffffff;
}
.pa-hero-overlay h2 { font-size: 22px; font-weight: 700; margin-bottom: 4px; }
.pa-hero-overlay p { font-size: 13px; color: #cbd5e1; margin-bottom: 10px; }
.pa-hero-contact { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; background-color: rgba(255, 255, 255, 0.15); padding: 4px 12px; border-radius: 3px; font-weight: 600; }

.pa-brand-badge {
    background-color: #0b132b; color: #ffffff; font-size: 10px; font-weight: 700;
    padding: 4px 12px; border-radius: 3px; display: inline-block; margin-bottom: 15px; letter-spacing: 0.5px;
}

.pa-title { font-size: 24px; font-weight: 700; color: #0f172a; line-height: 1.3; margin-bottom: 20px; }
.pa-divider { border: none; border-top: 1px solid #e2e8f0; margin: 20px 0; }
.pa-meta-box p { font-size: 13px; color: #475569; line-height: 1.6; margin-bottom: 6px; }
.pa-meta-box p strong { color: #0f172a; }

.pa-sub-heading { font-size: 17px; font-weight: 700; color: #0f172a; margin-top: 35px; margin-bottom: 14px; }
.document-flow h3 { font-size: 15px; font-weight: 700; color: #1e293b; margin-top: 25px; margin-bottom: 10px; }
.document-flow h4 { font-size: 14px; font-weight: 700; color: #0f172a; margin-top: 20px; margin-bottom: 8px; }

.pa-text { font-size: 13.5px; color: #334155; line-height: 1.7; margin-bottom: 16px; text-align: justify; }
.pa-highlight-note { background-color: #f8fafc; padding: 15px; border-radius: 4px; border-left: 3px solid #ff6b00; font-size: 13px; color: #334155; line-height: 1.6; margin: 15px 0; }

.pa-bullet-list { list-style: none; padding-left: 0; margin: 15px 0 20px 0; }
.pa-bullet-list li { font-size: 13.5px; color: #334155; line-height: 1.7; margin-bottom: 8px; position: relative; padding-left: 15px; text-align: justify; }
.pa-bullet-list li::before { content: '•'; position: absolute; left: 0; color: #ff6b00; font-weight: bold; }

/* TABEL ESTIMASI RAB DOKUMEN SPREADSHEET LOOK */
.pa-table-wrapper { width: 100%; overflow-x: auto; margin: 20px 0 25px 0; }
.pa-document-table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }
.pa-document-table th, .pa-document-table td { border: 1px solid #cbd5e1; padding: 11px 14px; }
.pa-document-table th { background-color: #f8fafc; color: #0f172a; font-weight: 700; }
.pa-document-table td { color: #334155; background-color: #ffffff; line-height: 1.5; }
.pa-document-table .table-bold-label { font-weight: 700; color: #0f172a; }
.pa-document-table tr.table-row-total td { font-weight: 700; background-color: #f8fafc; color: #000000; border-top: 2px solid #0f172a; }
.pa-table-title { font-size: 13.5px; font-weight: 700; color: #0f172a; margin: 22px 0 8px 0; }

.pa-faq-block { margin: 25px 0; }
.pa-faq-question { font-size: 14px; font-weight: 700; color: #000000; margin-top: 20px; margin-bottom: 8px; line-height: 1.4; }

/* KOTAK INFO ALAMAT KANTOR OPERASIONAL */
.pa-office-info-box { background-color: #ffffff; border: 1px dashed #cbd5e1; border-radius: 6px; padding: 30px; margin: 35px 0; }
.pa-cta-title { font-size: 15.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; }
.pa-check-features { display: flex; gap: 20px; margin: 15px 0 25px 0; flex-wrap: wrap; }
.pa-check-features span { font-size: 12.5px; font-weight: 700; color: #0f172a; display: flex; align-items: center; gap: 6px; }
.pa-check-features i { color: #10b981; }
.pa-office-details { border-top: 1px dashed #cbd5e1; padding-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.pa-office-details p { font-size: 13px; color: #334155; line-height: 1.5; margin-bottom: 0; }
.pa-office-details a { color: #ff6b00; font-weight: 700; text-decoration: none; }

.pa-footnote { font-size: 12px; color: #64748b; line-height: 1.6; margin-top: 25px; font-style: italic; }
.pa-tags-row { display: flex; gap: 12px; margin-top: 30px; padding-top: 20px; border-top: 1px solid #e2e8f0; align-items: flex-start; }
.pa-tag-lbl { font-size: 13px; font-weight: 700; color: #0f172a; margin-top: 4px; }
.pa-tag-container { display: flex; flex-wrap: wrap; gap: 6px; }
.pa-tag-container a { background-color: #f1f5f9; color: #475569; text-decoration: none; font-size: 11.5px; font-weight: 600; padding: 4px 10px; border-radius: 3px; }

.pa-action-bar { margin-top: 40px; border-top: 1px solid #e2e8f0; padding-top: 20px; }
.pa-btn-back { color: #475569; text-decoration: none; font-size: 13.5px; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; transition: color 0.2s; }
.pa-btn-back:hover { color: #ff6b00; }

/* KOTAK DEKORASI SIDEBAR INTERN */
.pa-sidebar-widget { background: #ffffff; padding: 25px; border-radius: 6px; border: 1px solid #e2e8f0; margin-bottom: 25px; width: 100%; box-sizing: border-box; }
.pa-widget-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 18px; position: relative; padding-bottom: 8px; border-bottom: 2px solid #f1f5f9; }
.pa-widget-title::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 35px; height: 2px; background: #ff6b00; }

.pa-search-form { position: relative; display: flex; }
.pa-search-form input { width: 100%; padding: 10px 45px 10px 14px; font-size: 13px; border: 1px solid #cbd5e1; border-radius: 4px; outline: none; }
.pa-search-form button { position: absolute; right: 0; top: 0; bottom: 0; width: 45px; background: none; border: none; color: #64748b; cursor: pointer; font-size: 13px; }
.pa-search-form button:hover { color: #ff6b00; }

.pa-widget-categories { list-style: none; padding-left: 0; }
.pa-widget-categories li { border-bottom: 1px dashed #f1f5f9; padding: 9px 0; }
.pa-widget-categories li:last-child { border-bottom: none; }
.pa-widget-categories a { color: #475569; text-decoration: none; font-size: 13px; font-weight: 600; display: flex; justify-content: space-between; transition: color 0.2s; }
.pa-widget-categories a:hover { color: #ff6b00; }
.pa-widget-categories span { color: #94a3b8; font-weight: 400; }

.pa-popular-posts { display: flex; flex-direction: column; gap: 15px; }
.pa-pop-item { display: flex; gap: 12px; align-items: center; }
.pa-pop-item img { width: 60px; height: 60px; object-fit: cover; border-radius: 4px; flex-shrink: 0; }
.pa-pop-info h5 { font-size: 12.5px; font-weight: 700; line-height: 1.4; margin-bottom: 4px; }
.pa-pop-info h5 a { color: #0f172a; text-decoration: none; transition: color 0.2s; }
.pa-pop-info h5 a:hover { color: #ff6b00; }
.pa-pop-info span { font-size: 11px; color: #94a3b8; }

.pa-widget-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.pa-widget-tags a { background-color: #f1f5f9; color: #475569; text-decoration: none; font-size: 11.5px; font-weight: 600; padding: 5px 12px; border-radius: 4px; transition: all 0.2s; }
.pa-widget-tags a:hover { background-color: #ff6b00; color: #ffffff; }

/* === SYSTEM TOMBOL WHATSAPP MELAYANG INDEPENDEN === */
.wa-floating-btn {
    position: fixed !important;
    bottom: 25px !important;
    right: 25px !important;
    background-color: #25d366;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 21px;
    padding: 12px 24px;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.25);
    transition: background-color 0.2s, transform 0.2s;
    z-index: 999;
}
.wa-floating-btn:hover { background-color: #1fc157; transform: translateY(-2px); }
.wa-floating-text { font-size: 13px; font-weight: 700; }

/* --- OPTIMASI RESPONSIVE DEVICE MONITOR HP --- */
@media (max-width: 991px) {
    .pa-container { grid-template-columns: 1fr !important; gap: 35px !important; }
    .pa-left-content, .pa-sidebar { width: 100%; }
    .pa-sidebar.fixed-right, .pa-sidebar { position: static !important; width: 100% !important; margin-top: 20px !important; }
    .pa-hero-banner { height: 280px; }
}
@media (max-width: 600px) {
    .document-flow { padding: 20px; }
    .pa-title { font-size: 20px; }
    .pa-hero-banner { height: 200px; }
    .pa-tags-row { flex-direction: column; gap: 8px; }
    .wa-floating-text { display: none; } /* Hanya tampilkan ikon logo WA di HP kecil */
    .wa-floating-btn { padding: 14px; border-radius: 50%; bottom: 20px; right: 20px; }
}

/* --- PENGATURAN STRUKTUR PETA BERDAMPINGAN --- */
.map-container {
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}

/* Mengubah pembungkus peta menjadi flexbox baris ke samping */
.google-map {
    display: flex !important;
    flex-direction: row !important; /* Memaksa sejajar kanan-kiri */
    gap: 20px !important;           /* Jarak sela/celah di tengah antara kedua peta */
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Mengunci sifat iframe agar elastis mengikuti lebar pembagian flex */
.google-map iframe {
    flex: 1 !important;            /* Membagi lebar 50% sama rata secara presisi */
    width: 100% !important;        /* Mengabaikan hardcode width 600 bawaan iframe */
    height: 450px !important;      /* Mempertahankan tinggi peta */
    border-radius: 6px;            /* Opsional: memberi sedikit lengkungan estetik di sudut peta */
}

/* --- SYSTEM RESPONSIVE: OTOMATIS BERUBAH BERTUMPUK DI HP --- */
@media (max-width: 768px) {
    .google-map {
        flex-direction: column !important; /* Kembali vertikal ke bawah jika layar kekecilan */
        gap: 15px !important;
    }
    
    .google-map iframe {
        height: 350px !important; /* Mengurangi sedikit tinggi peta di HP agar tidak terlalu memakan space */
    }
}

/* --- CONFIGURATION SINGLE PHOTO MODE --- */
.ba-slider.single-photo-mode {
    position: relative;
    width: 100%;
    height: 420px;            /* Tinggi standar box foto yang ideal untuk desktop */
    border-radius: 6px;       /* Sudut melengkung halus yang estetik */
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05); /* Efek bayangan tipis premium */
    margin: 20px 0;
}

/* Mengatur background image tunggal agar memenuhi container secara proporsional */
.ba-slider.single-photo-mode .img-single {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

/* Penataan badge teks "HASIL AKHIR" di dalam foto */
.ba-slider.single-photo-mode .ba-badge.after {
    position: absolute;
    bottom: 15px;             /* Posisi di sudut kanan bawah foto */
    right: 15px;
    background-color: rgba(15, 23, 42, 0.85); /* Latar belakang gelap transparan mewah */
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 6px 14px;
    border-radius: 4px;
    font-family: 'Montserrat', sans-serif;
    z-index: 5;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
}

/* --- OPTIMASI RESPONSIVE DEVICE HP --- */
@media (max-width: 768px) {
    .ba-slider.single-photo-mode {
        height: 280px;        /* Mengurangi tinggi foto di HP agar pas di layar smartphone */
    }
    
    .ba-slider.single-photo-mode .ba-badge.after {
        font-size: 10px;
        padding: 5px 12px;
        bottom: 12px;
        right: 12px;
    }
}

/* --- OPTIMASI LINK WRAPPER GALERI --- */
.ha-gallery-item {
    position: relative;
    overflow: hidden;
}

/* Mengatur agar tag 'a' mengambil space penuh secara block di dalam grid item */
.ha-gallery-link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    text-decoration: none !important;
    color: inherit !important;
}

/* Memastikan gambar berespon baik di dalam link */
.ha-gallery-link img {
    width: 100%;
    display: block;
    transition: transform 0.4s ease;
}

/* Efek zoom estetik opsional saat kursor diarahkan ke item galeri */
.ha-gallery-item:hover .ha-gallery-link img {
    transform: scale(1.05);
}

/* ==========================================================================
   GAYA PREMIUM UTK SECTION CERITA KAMI (ABOUT STORY)
   ========================================================================== */
.about-story {
    padding: 80px 0;
    background-color: #ffffff; /* Latar belakang bersih */
    font-family: 'Montserrat', sans-serif;
    width: 100%;
    box-sizing: border-box;
}

.about-story .container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Susunan Grid Utama - Membagi Teks & Foto Berdampingan Secara Simetris */
.story-grid {
    display: grid !important;
    grid-template-columns: 1.15fr 0.85fr !important; /* Proporsi ideal antara teks dan gambar */
    gap: 60px !important;                          /* Jarak sela aman di tengah */
    align-items: center !important;                /* Sejajar vertikal di tengah */
}

/* SISI KIRI: KONTEN TEKS */
.story-content {
    min-width: 0;
}

/* Judul Utama Section */
.story-content .title-main {
    font-size: 28px;
    font-weight: 700;
    color: #0f172a; /* Warna gelap corporate slate-900 */
    margin: 0 0 20px 0;
    position: relative;
    padding-bottom: 12px;
}

/* Garis Aksen Emas/Oranye di Bawah Judul */
.story-content .title-main::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 3px;
    background-color: #ff6b00; /* Warna aksen branding */
}

/* Paragraf Deskripsi Cerita Kami - Solusi Teks Rapi */
.story-content p {
    font-size: 14px;
    color: #334155; /* Warna abu-abu gelap agar nyaman dibaca */
    line-height: 1.8; /* Celah antar baris yang ideal */
    text-align: justify; /* Rata kanan-kiri agar dokumen rapi */
    margin: 0 0 30px 0;
}

/* Komponen Check-List Keunggulan */
.check-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 25px;
}

.check-item {
    display: flex;
    gap: 16px;
    align-items: flex-start; /* Menyinkronkan ikon dengan bagian atas teks */
}

/* Ikon Centang Berwarna Hijau Safety/Aksen */
.check-item i.fa-check-circle {
    color: #10b981; /* Hijau cerah standar safety K3 */
    font-size: 18px;
    margin-top: 3px; /* Penyesuaian mikro agar sejajar baris pertama */
    flex-shrink: 0;
}

.check-text {
    flex: 1;
}

/* Judul Point Check-List */
.check-text h4 {
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 6px 0;
}

/* Deskripsi Singkat Point Check-List */
.check-text p {
    font-size: 13.5px;
    color: #64748b;
    line-height: 1.6;
    margin: 0 !important;
    text-align: justify;
}

/* SISI KANAN: BINGKAI FOTO */
.story-image {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.story-image img {
    width: 100% !important;
    height: 400px !important; /* Mengunci tinggi foto agar proporsional */
    object-fit: cover; /* Menjaga gambar agar tidak gepeng atau ketarik */
    border-radius: 8px; /* Lengkungan halus sudut foto modern */
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.08), 0 8px 10px -6px rgba(15, 23, 42, 0.08); /* Bayangan mewah halus */
    transition: transform 0.3s ease;
}

/* Efek Interaktif Ringan Saat Foto Disentuh Kursor */
.story-image img:hover {
    transform: scale(1.015);
}

/* ==========================================================================
   OPTIMASI MEDIA RESPONSIVE (AMANDEMEN PAS DI HP & TABLET)
   ========================================================================== */
@media (max-width: 991px) {
    .about-story {
        padding: 55px 0;
    }

    .story-grid {
        grid-template-columns: 1fr !important; /* Berubah otomatis menjadi 1 kolom vertikal lurus */
        gap: 40px !important;
    }
    
    /* Memaksa susunan teks tetap di atas, dan foto otomatis pindah ke bawah teks saat layar HP */
    .story-content {
        order: 1;
    }
    
    .story-image {
        order: 2;
        width: 100%;
    }
    
    .story-image img {
        height: 300px !important; /* Tinggi gambar menyesuaikan layar kecil smartphone */
    }

    .story-content .title-main {
        font-size: 24px;
    }
}

/* ==========================================================================
   GAYA PREMIUM SECTION JASA BANGUN RUMAH BARU (JASA-BANGUN)
   ========================================================================== */
.jasa-bangun {
    padding: 80px 0;
    background-color: #f8fafc; /* Latar belakang abu-abu terang premium (slate-50) */
    font-family: 'Montserrat', sans-serif;
    width: 100%;
    box-sizing: border-box;
}

.jasa-bangun .container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* PEMBUNGKUS UTAMA: MEMBAGI SISI KANAN & KIRI BERDAMPINGAN */
.content-wrapper {
    display: grid !important;
    grid-template-columns: 0.85fr 1.15fr !important; /* Kiri sedikit lebih ramping dibanding isi detail kanan */
    gap: 60px !important;                           /* Jarak pemisah sela tengah aman */
    align-items: flex-start !important;             /* Mengunci susunan atas sejajar */
}

/* ==========================================================================
   SISI KIRI (LEFT SIDE): FOTO DAN CARD CTA WHATSAPP
   ========================================================================== */
.left-side {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Bingkai Foto Utama Kiri */
.left-side .image-box {
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(15, 23, 42, 0.05);
}

.left-side .image-box img {
    width: 100% !important;
    height: auto !important;
    display: block;
    object-fit: cover;
}

/* Kotak Box Kartu CTA Konsultasi */
.cta-card {
    background-color: #ffffff;
    padding: 30px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.04);
    text-align: center;
}

.cta-card h3 {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 10px 0;
    line-height: 1.4;
}

.cta-card p {
    font-size: 13px;
    color: #64748b;
    margin: 0 0 20px 0;
    line-height: 1.5;
}

/* Desain Tombol Kontak WhatsApp */
.cta-card .btn-wa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background-color: #25d366; /* Hijau WA */
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 12px 24px;
    border-radius: 50px;
    font-size: 13.5px;
    font-weight: 700;
    width: 100%;
    box-sizing: border-box;
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.2);
    transition: all 0.2s ease;
}

.cta-card .btn-wa:hover {
    background-color: #1fc157;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(37, 211, 102, 0.3);
}

/* ==========================================================================
   SISI KANAN (RIGHT SIDE): DETAIL DESKRIPSI & DAFTAR LAYANAN
   ========================================================================== */
.right-side {
    min-width: 0;
}

/* Judul Utama Utama Layanan */
.right-side h2 {
    font-size: 28px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 15px 0;
}

/* Garis Pembatas (Divider) */
.right-side .divider {
    width: 50px;
    height: 3px;
    background-color: #ff6b00; /* Warna aksen utama branding */
    margin-bottom: 30px;
}

/* Blok Deskripsi Transformasi Hunian */
.description h3 {
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 12px 0;
}

.description p {
    font-size: 14px;
    color: #334155;
    line-height: 1.8;
    text-align: justify; /* Rata kanan-kiri agar teks rapi */
    margin: 0 0 35px 0;
}

/* Sub-Judul List Kelompok Layanan & USP */
.services-list h4,
.usp-list h4 {
    font-size: 14.5px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 15px 0;
    letter-spacing: 0.3px;
}

/* KRITERIA LIST UTK LAYANAN (SERVICES LIST) */
.services-list {
    margin-bottom: 35px;
}

.services-list ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.services-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13.5px;
    color: #334155;
    font-weight: 600;
}

.services-list li i {
    color: #ff6b00; /* Ikon centang oranye aksen */
    font-size: 14px;
    flex-shrink: 0;
}

/* KRITERIA LIST UTK KEUNGGULAN (USP LIST) */
.usp-list ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.usp-list li {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.usp-list li strong {
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
}

.usp-list li p {
    font-size: 13.5px;
    color: #64748b;
    line-height: 1.6;
    text-align: justify; /* Rata kanan-kiri untuk keunggulan poin */
    margin: 0 !important;
}

/* ==========================================================================
   OPTIMASI MEDIA RESPONSIVE SMARTPHONE (HP & TABLET)
   ========================================================================== */
@media (max-width: 991px) {
    .jasa-bangun {
        padding: 55px 0;
    }

    .content-wrapper {
        grid-template-columns: 1fr !important; /* Otomatis berubah vertikal ke bawah */
        gap: 40px !important;
    }

    /* Proteksi: Deskripsi detail berada di atas, box foto dan card CTA pindah ke bawah jika di HP */
    .right-side {
        order: 1;
    }

    .left-side {
        order: 2;
        width: 100%;
    }

    .right-side h2 {
        font-size: 24px;
    }

    .description h3 {
        font-size: 16.5px;
    }
}

/* --- FORMAT PENATAAN USP LIST PREMIUM --- */
.usp-list {
    margin-top: 25px;
    font-family: 'Montserrat', sans-serif;
}

.usp-list h4 {
    font-size: 14.5px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 15px;
}

.usp-list ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px; /* Jarak celah antar point list */
}

.usp-list li {
    font-size: 13.5px;
    line-height: 1.7; /* Jarak celah baris bacaan yang ideal */
    color: #334155;
    text-align: justify; /* Membuat teks rata kanan-kiri agar terlihat rapi */
}

.usp-list li strong {
    color: #0f172a;
    font-weight: 700;
    display: inline;
}

.usp-list li span {
    color: #475569;
    display: inline;
}

/* ==========================================================================
   OPTIMASI MEDIA RESPONSIVE: FIX FOTO DI ATAS SAAT LAYAR HP
   ========================================================================== */
@media (max-width: 991px) {
    .jasa-bangun {
        padding: 55px 0;
    }

    .content-wrapper {
        grid-template-columns: 1fr !important; /* Menjadi 1 kolom vertikal penuh */
        gap: 35px !important;
    }

    /* --- KUNCI SOLUSI: MEMAKSA FOTO KEMBALI KE ATAS DI HP --- */
    .left-side {
        order: 1 !important; /* Memaksa box foto & kartu cta naik ke urutan pertama (paling atas) */
        width: 100% !important;
    }

    .right-side {
        order: 2 !important; /* Memaksa teks deskripsi & layanan turun ke urutan kedua (di bawah foto) */
        width: 100% !important;
    }

    /* Penyesuaian ukuran teks di HP agar proporsional */
    .right-side h2 {
        font-size: 24px;
    }

    .description h3 {
        font-size: 16.5px;
    }
}

/* ==========================================================================
   STYLE MODERNHAVEN DESIGN UNTUK SECTION VISI & MISI
   ========================================================================== */
#visi-misi {
    padding: 80px 0;
    background-color: #ffffff; /* Latar belakang bersih */
    font-family: 'Montserrat', sans-serif;
    width: 100%;
    box-sizing: border-box;
}

#visi-misi .container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Judul Utama Atas */
#visi-misi .section-title {
    font-size: 28px;
    font-weight: 700;
    color: #0f172a;
    text-align: center;
    margin: 0 0 45px 0;
}

/* Layout Grid Sistem Dua Kolom Sempurna */
.vimi-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important; /* Membagi ruang kanan dan kiri seimbang 50% */
    gap: 40px !important;                       /* Jarak pembatas sela tengah aman */
    align-items: stretch !important;            /* Kunci Utama: Memaksa tinggi kartu Visi & Misi selalu sama rata */
}

/* Desain Dasar Box Kartu */
.visi-card, .misi-card {
    background: #ffffff;
    padding: 40px;
    border-radius: 8px;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.04);
    border: 1px solid #e2e8f0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

/* Penataan Desain Ikon Visi */
.visi-card i.fa-bullseye {
    font-size: 40px;
    color: #ff6b00; /* Warna aksen korporat */
    margin-bottom: 20px;
}

/* Judul Kard (VISI / MISI) */
.visi-card h3, .misi-card h3 {
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 15px 0;
    letter-spacing: 0.5px;
}

/* Teks Deskripsi Paragraf Visi - Rata Kanan Kiri */
.visi-card p {
    font-size: 14px;
    color: #334155;
    line-height: 1.8; /* Celah sela baris bacaan yang sangat ideal */
    text-align: justify; /* Membuat susunan teks rapi rata kanan-kiri */
    margin: 0;
}

/* Penyusunan List Komponen Misi */
.misi-card ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px; /* Jarak celah seragam antar poin misi */
}

.misi-card li {
    display: flex;
    align-items: flex-start; /* Mengunci posisi ikon tetap di atas di samping baris teks pertama */
    gap: 12px;
}

/* Detail Ikon Centang Bulat Misi */
.misi-card li i.fa-check-circle {
    color: #10b981; /* Warna hijau K3 Safety Lapangan */
    font-size: 15px;
    margin-top: 3px; /* Penyesuaian mikro agar center dengan baris teks pertama */
    flex-shrink: 0;
}

/* Teks Kandungan Paragraf di Dalam List Misi */
.misi-card li p {
    font-size: 14px;
    color: #334155;
    line-height: 1.7;
    text-align: justify; /* Rata kanan-kiri pada setiap poin misi */
    margin: 0 !important;
    padding: 0;
}

/* ==========================================================================
   OPTIMASI LAYER MEDIA RESPONSIVE SMARTPHONE (HP & TABLET)
   ========================================================================== */
@media (max-width: 991px) {
    #visi-misi {
        padding: 55px 0;
    }

    .vimi-grid {
        grid-template-columns: 1fr !important; /* Otomatis bertumpuk vertikal ke bawah saat layar HP kecil */
        gap: 30px !important;
    }

    .visi-card, .misi-card {
        padding: 30px 24px;
    }

    #visi-misi .section-title {
        font-size: 24px;
        margin-bottom: 30px;
    }
}

/* ==========================================================================
   STYLE LAYOUT AUDIT LAPORAN + SIDEBAR MENGAMBANG (STICKY STABLE SYSTEM)
   ========================================================================== */
.premium-article-section {
    padding: 60px 0;
    background-color: #f8fafc;
    width: 100%;
    font-family: 'Montserrat', sans-serif;
}

/* CONTAINER GRID SEIMBANG - ANTI BENTURAN / TERTREK */
.pa-container {
    display: grid !important;
    grid-template-columns: 2.95fr 1.05fr !important; /* Mengunci porsi agar artikel kiri tetap luas dominan */
    gap: 60px !important; /* Sela tengah diperlebar menjadi 60px agar sidebar bergeser menjauh ke kanan */
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    overflow: visible !important; /* Mutlak wajib visible agar fungsi melayang aktif di browser */
    position: relative;
}

.pa-left-content { 
    min-width: 0 !important; 
    width: 100% !important; 
}

/* === KOLOM SIDEBAR KANAN MENGAMBANG MURNI CSS (SOLUSI CELAH AMAN HEADER MENU) === */
.pa-sidebar { 
    width: 100% !important; 
    min-width: 0 !important;
    display: flex;
    flex-direction: column;
    
    /* Mengaktifkan sistem melayang bawaan browser secara native */
    position: -webkit-sticky !important;
    position: sticky !important;
    
    /* SOLUSI UTAMA: Diberikan batas jeda atas 110px agar mengambang tepat di bawah Fixed Navbar Menu Anda */
    top: 110px !important; 
    
    /* Memaksa tinggi pembungkus luar hanya sewajarnya isi widget agar sisa ruang bawahnya kosong untuk meluncur */
    height: -webkit-max-content !important;
    height: -moz-max-content !important;
    height: max-content !important;
    
    /* Memaksa elemen berdiri tegak di dalam jalur gridnya sendiri */
    align-self: flex-start !important; 
    margin: 0 !important;
    z-index: 90; /* Berada aman di bawah z-index barisan utama menu bar website Anda */
}

/* AREA KERTAS PUTIH DOKUMEN ARTIKEL KIRI */
.document-flow {
    background: #ffffff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03), 0 1px 2px rgba(15, 23, 42, 0.06);
    border: 1px solid #e2e8f0;
    padding: 35px;
}

.pa-hero-banner {
    position: relative;
    width: 100%;
    height: 380px;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 25px;
}
.pa-hero-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-hero-overlay {
    position: absolute; bottom: 0; left: 0; right: 0;
    background: linear-gradient(transparent, rgba(11, 19, 43, 0.98));
    padding: 25px; color: #ffffff;
}
.pa-hero-overlay h2 { font-size: 22px; font-weight: 700; margin-bottom: 4px; }
.pa-hero-overlay p { font-size: 13px; color: #cbd5e1; margin-bottom: 10px; }
.pa-hero-contact { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; background-color: rgba(255, 255, 255, 0.15); padding: 4px 12px; border-radius: 3px; font-weight: 600; }

.pa-brand-badge {
    background-color: #0b132b; color: #ffffff; font-size: 10px; font-weight: 700;
    padding: 4px 12px; border-radius: 3px; display: inline-block; margin-bottom: 15px; letter-spacing: 0.5px;
}

.pa-title { font-size: 24px; font-weight: 700; color: #0f172a; line-height: 1.3; margin-bottom: 20px; }
.pa-divider { border: none; border-top: 1px solid #e2e8f0; margin: 20px 0; }
.pa-meta-box p { font-size: 13px; color: #475569; line-height: 1.6; margin-bottom: 6px; }
.pa-meta-box p strong { color: #0f172a; }

.pa-sub-heading { font-size: 17px; font-weight: 700; color: #0f172a; margin-top: 35px; margin-bottom: 14px; }
.document-flow h3 { font-size: 15px; font-weight: 700; color: #1e293b; margin-top: 25px; margin-bottom: 10px; }

.pa-text { font-size: 13.5px; color: #334155; line-height: 1.7; margin-bottom: 16px; text-align: justify; }
.pa-highlight-note { background-color: #f8fafc; padding: 15px; border-radius: 4px; border-left: 3px solid #ff6b00; font-size: 13px; color: #334155; line-height: 1.6; margin: 15px 0; }

.pa-bullet-list { list-style: none; padding-left: 0; margin: 15px 0 20px 0; }
.pa-bullet-list li { font-size: 13.5px; color: #334155; line-height: 1.7; margin-bottom: 8px; position: relative; padding-left: 15px; text-align: justify; }
.pa-bullet-list li::before { content: '•'; position: absolute; left: 0; color: #ff6b00; font-weight: bold; }

/* TABEL HASIL AUDIT DOKUMEN */
.pa-table-wrapper { width: 100%; overflow-x: auto; margin: 20px 0 25px 0; }
.pa-document-table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }
.pa-document-table th, .pa-document-table td { border: 1px solid #cbd5e1; padding: 11px 14px; }
.pa-document-table th { background-color: #f8fafc; color: #0f172a; font-weight: 700; }
.pa-document-table td { color: #334155; background-color: #ffffff; line-height: 1.5; }
.pa-document-table .table-bold-label { font-weight: 700; color: #0f172a; width: 25%; }
.pa-table-title { font-size: 13.5px; font-weight: 700; color: #0f172a; margin: 22px 0 8px 0; }

/* KOTAK INFO KOMITMEN */
.pa-office-info-box { background-color: #ffffff; border: 1px dashed #cbd5e1; border-radius: 6px; padding: 30px; margin: 35px 0; }
.pa-cta-title { font-size: 15.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; }
.pa-check-features { display: flex; gap: 20px; margin: 15px 0 25px 0; flex-wrap: wrap; }
.pa-check-features span { font-size: 12.5px; font-weight: 700; color: #0f172a; display: flex; align-items: center; gap: 6px; }
.pa-check-features i { color: #10b981; }
.pa-office-details { border-top: 1px dashed #cbd5e1; padding-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.pa-office-details p { font-size: 13px; color: #334155; line-height: 1.5; margin-bottom: 0; }
.pa-office-details a { color: #ff6b00; font-weight: 700; text-decoration: none; }

.pa-footnote { font-size: 12px; color: #64748b; line-height: 1.6; margin-top: 25px; font-style: italic; }
.pa-tags-row { display: flex; gap: 12px; margin-top: 30px; padding-top: 20px; border-top: 1px solid #e2e8f0; align-items: flex-start; }
.pa-tags-row span.pa-tag-lbl { font-size: 13px; font-weight: 700; color: #0f172a; margin-top: 4px; }
.pa-tag-container { display: flex; flex-wrap: wrap; gap: 6px; }
.pa-tag-container a { background-color: #f1f5f9; color: #475569; text-decoration: none; font-size: 11.5px; font-weight: 600; padding: 4px 10px; border-radius: 3px; }

.pa-action-bar { margin-top: 40px; border-top: 1px solid #e2e8f0; padding-top: 20px; }
.pa-btn-back { color: #475569; text-decoration: none; font-size: 13.5px; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; transition: color 0.2s; }
.pa-btn-back:hover { color: #ff6b00; }

/* KOTAK DEKORASI SIDEBAR INTERN */
.pa-sidebar-widget { background: #ffffff; padding: 25px; border-radius: 6px; border: 1px solid #e2e8f0; margin-bottom: 25px; width: 100%; box-sizing: border-box; }
.pa-widget-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 18px; position: relative; padding-bottom: 8px; border-bottom: 2px solid #f1f5f9; }
.pa-widget-title::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 35px; height: 2px; background: #ff6b00; }

.pa-search-form { position: relative; display: flex; }
.pa-search-form input { width: 100%; padding: 10px 45px 10px 14px; font-size: 13px; border: 1px solid #cbd5e1; border-radius: 4px; outline: none; }
.pa-search-form button { position: absolute; right: 0; top: 0; bottom: 0; width: 45px; background: none; border: none; color: #64748b; cursor: pointer; font-size: 13px; }
.pa-search-form button:hover { color: #ff6b00; }

.pa-widget-categories { list-style: none; padding-left: 0; }
.pa-widget-categories li { border-bottom: 1px dashed #f1f5f9; padding: 9px 0; }
.pa-widget-categories li:last-child { border-bottom: none; }
.pa-widget-categories a { color: #475569; text-decoration: none; font-size: 13px; font-weight: 600; display: flex; justify-content: space-between; transition: color 0.2s; }
.pa-widget-categories a:hover { color: #ff6b00; }
.pa-widget-categories span { color: #94a3b8; font-weight: 400; }

.pa-popular-posts { display: flex; flex-direction: column; gap: 15px; }
.pa-pop-item { display: flex; gap: 12px; align-items: center; }
.pa-pop-item img { width: 60px; height: 60px; object-fit: cover; border-radius: 4px; flex-shrink: 0; }
.pa-pop-info h5 { font-size: 12.5px; font-weight: 700; line-height: 1.4; margin-bottom: 4px; }
.pa-pop-info h5 a { color: #0f172a; text-decoration: none; transition: color 0.2s; }
.pa-pop-info h5 a:hover { color: #ff6b00; }
.pa-pop-info span { font-size: 11px; color: #94a3b8; }

.pa-widget-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.pa-widget-tags a { background-color: #f1f5f9; color: #475569; text-decoration: none; font-size: 11.5px; font-weight: 600; padding: 5px 12px; border-radius: 4px; transition: all 0.2s; }
.pa-widget-tags a:hover { background-color: #ff6b00; color: #ffffff; }

/* === SYSTEM TOMBOL WHATSAPP MELAYANG INDEPENDEN === */
.wa-floating-btn {
    position: fixed !important;
    bottom: 25px !important;
    right: 25px !important;
    background-color: #25d366;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 21px;
    padding: 12px 24px;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.25);
    transition: background-color 0.2s, transform 0.2s;
    z-index: 999;
}
.wa-floating-btn:hover { background-color: #1fc157; transform: translateY(-2px); }
.wa-floating-text { font-size: 13px; font-weight: 700; }

/* --- OPTIMASI RESPONSIVE DEVICE MONITOR HP --- */
@media (max-width: 991px) {
    .pa-container { grid-template-columns: 1fr !important; gap: 35px !important; }
    .pa-left-content, .pa-sidebar { width: 100%; }
    .pa-sidebar { position: static !important; width: 100% !important; margin-top: 20px !important; }
    .pa-hero-banner { height: 280px; }
}
@media (max-width: 600px) {
    .document-flow { padding: 20px; }
    .pa-title { font-size: 20px; }
    .pa-hero-banner { height: 200px; }
    .pa-tags-row { flex-direction: column; gap: 8px; }
    .wa-floating-text { display: none; } /* Hanya tampilkan ikon logo WA di HP kecil */
    .wa-floating-btn { padding: 14px; border-radius: 50%; bottom: 20px; right: 20px; }
}

/* ==========================================================================
   STYLE LAYOUT SEKOLAH SWASTA + SIDEBAR MENGAMBANG (STICKY STABLE SYSTEM)
   ========================================================================== */
.premium-article-section {
    padding: 60px 0;
    background-color: #f8fafc;
    width: 100%;
    font-family: 'Montserrat', sans-serif;
}

/* CONTAINER GRID SEIMBANG - ANTI BENTURAN / TERTREK */
.pa-container {
    display: grid !important;
    grid-template-columns: 2.95fr 1.05fr !important; /* Mengunci porsi agar artikel kiri tetap luas dominan */
    gap: 60px !important; /* Sela tengah diperlebar menjadi 60px agar sidebar bergeser menjauh ke kanan */
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    overflow: visible !important; /* Mutlak wajib visible agar fungsi melayang aktif di browser */
    position: relative;
}

.pa-left-content { 
    min-width: 0 !important; 
    width: 100% !important; 
}

/* === KOLOM SIDEBAR KANAN MENGAMBANG MURNI CSS (SOLUSI CELAH AMAN HEADER MENU) === */
.pa-sidebar { 
    width: 100% !important; 
    min-width: 0 !important;
    display: flex;
    flex-direction: column;
    
    /* Mengaktifkan sistem melayang bawaan browser secara native */
    position: -webkit-sticky !important;
    position: sticky !important;
    
    /* SOLUSI UTAMA: Diberikan batas jeda atas 110px agar mengambang tepat di bawah Fixed Navbar Menu Anda */
    top: 110px !important; 
    
    /* Memaksa tinggi pembungkus luar hanya sewajarnya isi widget agar sisa ruang bawahnya kosong untuk meluncur */
    height: -webkit-max-content !important;
    height: -moz-max-content !important;
    height: max-content !important;
    
    /* Memaksa elemen berdiri tegak di dalam jalur gridnya sendiri */
    align-self: flex-start !important; 
    margin: 0 !important;
    z-index: 90; /* Berada aman di bawah z-index barisan utama menu bar website Anda */
}

/* AREA KERTAS PUTIH DOKUMEN ARTIKEL KIRI */
.document-flow {
    background: #ffffff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03), 0 1px 2px rgba(15, 23, 42, 0.06);
    border: 1px solid #e2e8f0;
    padding: 35px;
}

.pa-hero-banner {
    position: relative;
    width: 100%;
    height: 380px;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 25px;
}
.pa-hero-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-hero-overlay {
    position: absolute; bottom: 0; left: 0; right: 0;
    background: linear-gradient(transparent, rgba(11, 19, 43, 0.98));
    padding: 25px; color: #ffffff;
}
.pa-hero-overlay h2 { font-size: 22px; font-weight: 700; margin-bottom: 4px; }
.pa-hero-overlay p { font-size: 13px; color: #cbd5e1; margin-bottom: 10px; }
.pa-hero-contact { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; background-color: rgba(255, 255, 255, 0.15); padding: 4px 12px; border-radius: 3px; font-weight: 600; }

.pa-brand-badge {
    background-color: #0b132b; color: #ffffff; font-size: 10px; font-weight: 700;
    padding: 4px 12px; border-radius: 3px; display: inline-block; margin-bottom: 15px; letter-spacing: 0.5px;
}

.pa-title { font-size: 24px; font-weight: 700; color: #0f172a; line-height: 1.3; margin-bottom: 20px; }
.pa-divider { border: none; border-top: 1px solid #e2e8f0; margin: 20px 0; }
.pa-meta-box p { font-size: 13px; color: #475569; line-height: 1.6; margin-bottom: 6px; }
.pa-meta-box p strong { color: #0f172a; }

.pa-sub-heading { font-size: 17px; font-weight: 700; color: #0f172a; margin-top: 35px; margin-bottom: 14px; }
.document-flow h3 { font-size: 15px; font-weight: 700; color: #1e293b; margin-top: 25px; margin-bottom: 10px; }

.pa-text { font-size: 13.5px; color: #334155; line-height: 1.7; margin-bottom: 16px; text-align: justify; }
.pa-highlight-note { background-color: #f8fafc; padding: 20px; border-radius: 4px; border-left: 3px solid #ff6b00; font-size: 13px; color: #334155; line-height: 1.7; margin: 25px 0; text-align: justify; }

.pa-bullet-list { list-style: none; padding-left: 0; margin: 15px 0 20px 0; }
.pa-bullet-list li { font-size: 13.5px; color: #334155; line-height: 1.7; margin-bottom: 8px; position: relative; padding-left: 15px; text-align: justify; }
.pa-bullet-list li::before { content: '•'; position: absolute; left: 0; color: #ff6b00; font-weight: bold; }

/* TABEL TEKNIS DETIL ZONASI LOOK */
.pa-table-wrapper { width: 100%; overflow-x: auto; margin: 20px 0 25px 0; }
.pa-document-table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }
.pa-document-table th, .pa-document-table td { border: 1px solid #cbd5e1; padding: 11px 14px; }
.pa-document-table th { background-color: #f8fafc; color: #0f172a; font-weight: 700; }
.pa-document-table td { color: #334155; background-color: #ffffff; line-height: 1.5; }
.pa-document-table .table-bold-label { font-weight: 700; color: #0f172a; width: 25%; }
.pa-table-title { font-size: 13.5px; font-weight: 700; color: #0f172a; margin: 22px 0 8px 0; }

/* KOTAK PANEL UTAMA YAYASAN INFO */
.pa-office-info-box { background-color: #ffffff; border: 1px dashed #cbd5e1; border-radius: 6px; padding: 30px; margin: 35px 0; }
.pa-cta-title { font-size: 15.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; }
.pa-check-features { display: flex; gap: 20px; margin: 15px 0 25px 0; flex-wrap: wrap; }
.pa-check-features span { font-size: 12.5px; font-weight: 700; color: #0f172a; display: flex; align-items: center; gap: 6px; }
.pa-check-features i { color: #10b981; }
.pa-office-details { border-top: 1px dashed #cbd5e1; padding-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.pa-office-details p { font-size: 13px; color: #334155; line-height: 1.5; margin-bottom: 0; }
.pa-office-details a { color: #ff6b00; font-weight: 700; text-decoration: none; }

.pa-footnote { font-size: 12px; color: #64748b; line-height: 1.6; margin-top: 25px; font-style: italic; }
.pa-tags-row { display: flex; gap: 12px; margin-top: 30px; padding-top: 20px; border-top: 1px solid #e2e8f0; align-items: flex-start; }
.pa-tags-row span.pa-tag-lbl { font-size: 13px; font-weight: 700; color: #0f172a; margin-top: 4px; }
.pa-tag-container { display: flex; flex-wrap: wrap; gap: 6px; }
.pa-tag-container a { background-color: #f1f5f9; color: #475569; text-decoration: none; font-size: 11.5px; font-weight: 600; padding: 4px 10px; border-radius: 3px; }

.pa-action-bar { margin-top: 40px; border-top: 1px solid #e2e8f0; padding-top: 20px; }
.pa-btn-back { color: #475569; text-decoration: none; font-size: 13.5px; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; transition: color 0.2s; }
.pa-btn-back:hover { color: #ff6b00; }

/* KOTAK DEKORASI SIDEBAR INTERN */
.pa-sidebar-widget { background: #ffffff; padding: 25px; border-radius: 6px; border: 1px solid #e2e8f0; margin-bottom: 25px; width: 100%; box-sizing: border-box; }
.pa-widget-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 18px; position: relative; padding-bottom: 8px; border-bottom: 2px solid #f1f5f9; }
.pa-widget-title::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 35px; height: 2px; background: #ff6b00; }

.pa-search-form { position: relative; display: flex; }
.pa-search-form input { width: 100%; padding: 10px 45px 10px 14px; font-size: 13px; border: 1px solid #cbd5e1; border-radius: 4px; outline: none; }
.pa-search-form button { position: absolute; right: 0; top: 0; bottom: 0; width: 45px; background: none; border: none; color: #64748b; cursor: pointer; font-size: 13px; }
.pa-search-form button:hover { color: #ff6b00; }

.pa-widget-categories { list-style: none; padding-left: 0; }
.pa-widget-categories li { border-bottom: 1px dashed #f1f5f9; padding: 9px 0; }
.pa-widget-categories li:last-child { border-bottom: none; }
.pa-widget-categories a { color: #475569; text-decoration: none; font-size: 13px; font-weight: 600; display: flex; justify-content: space-between; transition: color 0.2s; }
.pa-widget-categories a:hover { color: #ff6b00; }
.pa-widget-categories span { color: #94a3b8; font-weight: 400; }

.pa-popular-posts { display: flex; flex-direction: column; gap: 15px; }
.pa-pop-item { display: flex; gap: 12px; align-items: center; }
.pa-pop-item img { width: 60px; height: 60px; object-fit: cover; border-radius: 4px; flex-shrink: 0; }
.pa-pop-info h5 { font-size: 12.5px; font-weight: 700; line-height: 1.4; margin-bottom: 4px; }
.pa-pop-info h5 a { color: #0f172a; text-decoration: none; transition: color 0.2s; }
.pa-pop-info h5 a:hover { color: #ff6b00; }
.pa-pop-info span { font-size: 11px; color: #94a3b8; }

.pa-widget-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.pa-widget-tags a { background-color: #f1f5f9; color: #475569; text-decoration: none; font-size: 11.5px; font-weight: 600; padding: 5px 12px; border-radius: 4px; transition: all 0.2s; }
.pa-widget-tags a:hover { background-color: #ff6b00; color: #ffffff; }

/* === SYSTEM TOMBOL WHATSAPP MELAYANG INDEPENDEN === */
.wa-floating-btn {
    position: fixed !important;
    bottom: 25px !important;
    right: 25px !important;
    background-color: #25d366;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 21px;
    padding: 12px 24px;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.25);
    transition: background-color 0.2s, transform 0.2s;
    z-index: 999;
}
.wa-floating-btn:hover { background-color: #1fc157; transform: translateY(-2px); }
.wa-floating-text { font-size: 13px; font-weight: 700; }

/* --- OPTIMASI RESPONSIVE DEVICE MONITOR HP --- */
@media (max-width: 991px) {
    .pa-container { grid-template-columns: 1fr !important; gap: 35px !important; }
    .pa-left-content, .pa-sidebar { width: 100%; }
    .pa-sidebar { position: static !important; width: 100% !important; margin-top: 20px !important; }
    .pa-hero-banner { height: 280px; }
}
@media (max-width: 600px) {
    .document-flow { padding: 20px; }
    .pa-title { font-size: 20px; }
    .pa-hero-banner { height: 200px; }
    .pa-tags-row { flex-direction: column; gap: 8px; }
    .wa-floating-text { display: none; } /* Hanya tampilkan ikon logo WA di HP kecil */
    .wa-floating-btn { padding: 14px; border-radius: 50%; bottom: 20px; right: 20px; }
}

/* ==========================================================================
   STYLE KHUSUS SEKSI KELANJUTAN ARTIKEL BERDASARKAN GAMBAR DOKUMEN
   ========================================================================== */
.premium-article-continuation {
    width: 100%;
    background-color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    box-sizing: border-box;
}

.pa-content-flow {
    width: 100%;
}

/* SUB-HEADING UTAMA (BAB BERDASARKAN FOTO) */
.premium-article-continuation .pa-sub-heading { 
    font-size: 18px; 
    font-weight: 700; /* TEKS TEBAL: Kepala Bab dari Foto */
    color: #0f172a; 
    margin-top: 35px; 
    margin-bottom: 18px; 
    line-height: 1.4;
}

/* STRUKTUR PARAGRAF DESKRIPSI (TIPIS / REGULAR) */
.premium-article-continuation .pa-text { 
    font-size: 14px; 
    color: #334155; 
    font-weight: 400; /* TEKS TIPIS: Nyaman dibaca & bersih */
    line-height: 1.8; 
    margin-bottom: 18px; 
    text-align: justify; 
}

/* KUNCI VARIASI TEKS TEBAL PADA POIN UTAMA */
.premium-article-continuation .pa-text .txt-bold {
    font-weight: 700 !important; /* TEKS TEBAL: Penegas Kunci Item */
    color: #0f172a;
}

/* BLOK DAFTAR FITUR BERGAYA LIST ICON */
.pa-feature-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 25px 0;
}
.pa-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}
.pa-feature-icon {
    width: 38px;
    height: 38px;
    background-color: #f1f5f9;
    color: #ff6b00;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
    border: 1px solid #e2e8f0;
}
.pa-feature-body {
    flex: 1;
}
.pa-feature-body .pa-text {
    margin-bottom: 0 !important;
}

.premium-article-continuation .pa-divider { 
    border: none; 
    border-top: 1px solid #e2e8f0; 
    margin: 30px 0; 
}

/* KOTAK INFORMASI / CTA PANEL KORPORAT */
.pa-office-info-box { 
    background-color: #ffffff; 
    border: 1px dashed #cbd5e1; 
    border-radius: 6px; 
    padding: 30px; 
    margin: 40px 0 25px 0; 
}
.pa-cta-title { font-size: 16px; font-weight: 700; color: #0f172a; margin-bottom: 10px; display: flex; align-items: center; gap: 8px; }
.pa-cta-title i { color: #25d366; font-size: 18px; }
.pa-cta-desc { font-size: 13.5px; font-weight: 400; color: #334155; line-height: 1.6; margin-bottom: 15px; text-align: justify; }

.pa-brand-subheading {
    font-size: 12.5px;
    font-weight: 700; /* TEKS TEBAL: Identitas Fokus Spesialis */
    color: #0b132b;
    margin: 15px 0;
    line-height: 1.5;
}

.pa-office-details { 
    border-top: 1px dashed #cbd5e1; 
    padding-top: 18px; 
    display: flex; 
    flex-direction: column; 
    gap: 10px; 
}
.pa-office-details p { font-size: 13px; color: #475569; font-weight: 400; margin-bottom: 0; }
.pa-office-details p strong { font-weight: 700; color: #0f172a; }
.pa-office-details a { color: #ff6b00; font-weight: 700; text-decoration: none; }

.pa-footnote { font-size: 12px; color: #64748b; font-style: italic; font-weight: 400; line-height: 1.6; margin-top: 25px; }

/* LAYAR ADAPTIF HP KECIL */
@media (max-width: 600px) {
    .premium-article-continuation .pa-sub-heading { font-size: 16px; }
    .pa-office-info-box { padding: 20px; }
}