@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap');

/* --- 1. BASE & VARIABLES --- */
:root {
    --primary-orange: #ef5a24; /* Aksen Oranye DCMI */
    --text-main: #333333;
    --text-muted: #666666;
    --bg-light: #f9f9f9;
    --border-color: #eaeaea;
}

body {
    font-family: 'Inter', sans-serif;
    color: var(--text-main);
    margin: 0;
    padding: 0;
    background-color: #ffffff;
    line-height: 1.7;
    scroll-behavior: smooth;
}

/* --- 2. HERO SECTION --- */
.hero-minimal {
    text-align: center;
    padding: 80px 20px 60px;
    background-color: #ffffff;
    background-image: radial-gradient(#f0f0f0 1px, transparent 1px);
    background-size: 30px 30px; 
}
.hero-minimal img.logo { max-width: 250px; margin-bottom: 30px; }
.hero-minimal h1 { font-size: 36px; font-weight: 700; max-width: 900px; margin: 0 auto 15px; color: #111; letter-spacing: -0.5px; }
.hero-meta { display: inline-block; background: var(--bg-light); padding: 8px 25px; border-radius: 50px; font-size: 14px; color: var(--text-muted); margin-bottom: 30px; border: 1px solid var(--border-color); }
.btn-orange { display: inline-block; background-color: var(--primary-orange); color: white; padding: 12px 30px; border-radius: 6px; text-decoration: none; font-weight: 600; font-size: 15px; transition: background 0.3s; }
.btn-orange:hover { background-color: #d94d1b; }

/* --- 3. MAIN LAYOUT (KONTEN 70% & SIDEBAR 30%) --- */
.layout-wrapper {
    display: flex;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px 80px;
    gap: 60px;
    align-items: flex-start;
}
.main-content { flex: 7; }
.sidebar-container { flex: 3; }

/* --- 4. KONTEN UTAMA --- */
.main-content h2 { font-size: 24px; font-weight: 700; margin-top: 50px; margin-bottom: 20px; border-bottom: 2px solid var(--bg-light); padding-bottom: 10px; color: #111; }
.main-content h2:first-child { margin-top: 0; }
.main-content p { font-size: 15px; color: var(--text-muted); text-align: justify; margin-bottom: 20px; }

/* List & Tabel */
.clean-list { list-style: none; padding: 0; }
.clean-list li { padding: 12px 0; border-bottom: 1px solid var(--bg-light); font-size: 15px; position: relative; padding-left: 25px; }
.clean-list li::before { content: "•"; color: var(--primary-orange); font-weight: bold; font-size: 20px; position: absolute; left: 0; top: 8px; }
.data-table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 15px; }
.data-table th, .data-table td { padding: 15px 10px; text-align: left; border-bottom: 1px solid var(--border-color); }
.data-table th { font-weight: 600; color: #111; background-color: var(--bg-light); }
.data-table td.highlight { font-weight: 700; color: var(--primary-orange); }

/* Team Grid */
.team-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; margin-top: 20px; }
.team-member { display: flex; align-items: center; gap: 15px; }
.team-member img { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; border: 3px solid var(--bg-light); }
.team-member h4 { margin: 0 0 3px; font-size: 15px; color: #111; }
.team-member .role { font-size: 13px; color: var(--text-muted); }

/* --- 5. SIDEBAR MENU MELAYANG (STICKY) --- */
.sidebar-container {
    background-color: #f8fbff; /* Biru sangat muda */
    border-left: 4px solid #003366; /* Garis biru UNAIR */
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.sidebar-nav {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar-nav li {
    margin-bottom: 12px;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 10px;
}

.sidebar-nav li:last-child {
    border-bottom: none;
    margin-bottom: 0;
}


.sidebar-nav a {
    color: #003366; 
    font-weight: 700; 
    font-size: 15px;
    text-decoration: none;
    display: block;
    transition: all 0.3s ease;
}

.sidebar-nav a:hover {
    color: #29150e; 
    transform: translateX(5px);
}
/* --- 6. FOOTER --- */
.site-footer { background-color: var(--bg-light); padding: 60px 20px; border-top: 1px solid var(--border-color); font-size: 14px; color: var(--text-muted); }
.footer-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; }
.footer-col h4 { color: #111; margin-bottom: 20px; font-size: 15px; }
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col ul li { margin-bottom: 10px; }
.footer-col ul a { color: var(--text-muted); text-decoration: none; }
.footer-col ul a:hover { color: var(--primary-orange); }

/* --- 7. RESPONSIVE DESIGN (HP & TABLET) --- */
@media (max-width: 768px) {
    .layout-wrapper { flex-direction: column; }
    .sidebar-container { order: -1; width: 100%; } /* Pindah ke atas di HP */
    .sidebar-nav { position: static; display: flex; flex-wrap: wrap; gap: 10px; padding: 15px; }
    .sidebar-nav li { margin-bottom: 0; flex: 1 1 calc(50% - 10px); }
    .sidebar-nav a { background-color: #ffffff; border: 1px solid var(--border-color); justify-content: center; }
    .footer-inner { grid-template-columns: 1fr; }
    .team-grid { grid-template-columns: 1fr; }
    .data-table th, .data-table td { display: block; width: 100%; text-align: right; }
    .data-table th { text-align: center; }
}