/* --- GLOBAL VARIABLES & RESET --- */
:root {
    --primary: #2c3e50;
    --accent: #3498db;
    --bg: #f8f9fa;
    --text: #2d3436;
    --dark-card: #161b22;
    --success: #238636;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { 
    font-family: 'Inter', sans-serif; 
    margin: 0; 
    background: var(--bg); 
    color: var(--text); 
    line-height: 1.6;
    overflow-x: hidden;
}

.container { width: 92%; max-width: 1200px; margin: 0 auto; }
.hidden { display: none !important; }

/* --- CONTINUOUS NAVIGATION --- */
.main-nav { 
    background: white; 
    padding: 15px 0; 
    position: sticky; 
    top: 0; 
    z-index: 1000; 
    box-shadow: 0 2px 10px rgba(0,0,0,0.05); 
}
.nav-flex { display: flex; justify-content: space-between; align-items: center; }
.logo { 
    font-size: 1.8rem; 
    font-weight: 800; 
    text-decoration: none; 
    color: var(--primary); 
    border: 3px solid var(--primary); 
    padding: 5px 12px; 
    transition: 0.3s;
}
.logo:hover { background: var(--primary); color: white; }

.nav-menu { display: flex; gap: 15px; align-items: center; }
.nav-btn { 
    text-decoration: none; 
    color: var(--text); 
    font-weight: 600; 
    padding: 10px 20px; 
    background: #eee; 
    border-radius: 6px; 
    transition: 0.2s;
}
.nav-btn:hover { background: #ddd; }
.portal-btn { 
    text-decoration: none; 
    background: var(--primary); 
    color: white; 
    padding: 10px 20px; 
    border-radius: 6px; 
    font-weight: 600; 
    transition: 0.3s;
}
.portal-btn:hover { background: var(--accent); }

/* --- HAMBURGER (MOBILE ONLY) --- */
.hamburger { 
    display: none; 
    flex-direction: column; 
    gap: 5px; 
    background: none; 
    border: none; 
    cursor: pointer; 
}
.hamburger span { width: 25px; height: 3px; background: var(--primary); transition: 0.3s; }

/* --- HERO & GALLERY --- */
.hero { padding: 60px 0; background: white; }
.hero-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 60px; align-items: center; }
.hero-text h1 { font-size: 3.5rem; margin: 0; color: var(--primary); }
.subtitle { font-size: 1.4rem; color: var(--accent); font-weight: 600; margin: 10px 0; }
.bio { font-size: 1.1rem; color: #636e72; margin-bottom: 30px; }

.hero-actions { display: flex; gap: 15px; }
.btn-primary { 
    background: var(--accent); 
    color: white; 
    padding: 15px 30px; 
    border-radius: 8px; 
    text-decoration: none; 
    font-weight: 600; 
    text-align: center;
}
.btn-secondary { 
    background: #eee; 
    color: var(--text); 
    padding: 15px 30px; 
    border-radius: 8px; 
    text-decoration: none; 
    font-weight: 600; 
    text-align: center;
}

.main-photo { height: 480px; border-radius: 20px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.main-photo img { width: 100%; height: 100%; object-fit: cover; object-position: top; cursor: pointer; }
.thumb-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 15px; }
.thumb-grid img { width: 100%; height: 100px; object-fit: cover; object-position: top; border-radius: 12px; cursor: pointer; }

/* --- ABOUT ME REFINEMENTS --- */
.section-padding { padding: 80px 0; }
.personal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }
.video-container { display: flex; flex-direction: column; gap: 20px; }
.video-frame { 
    width: 100%; 
    border-radius: 20px; 
    overflow: hidden; 
    box-shadow: 0 10px 25px rgba(0,0,0,0.1); 
    background: #000; 
}
.about-video { width: 100%; height: auto; display: block; }

/* --- EXPANDED TIMELINE --- */
.timeline-container { padding: 60px 0; }
.timeline { border-left: 4px solid var(--accent); padding-left: 40px; margin: 40px 0; }
.timeline-block { margin-bottom: 60px; position: relative; }
.t-marker { 
    position: absolute; 
    left: -52px; 
    width: 20px; height: 20px; 
    background: var(--accent); 
    border-radius: 50%; 
    border: 4px solid white; 
}
.glass-card { 
    background: white; 
    padding: 40px; 
    border-radius: 20px; 
    box-shadow: 0 5px 20px rgba(0,0,0,0.05); 
}
.exp-details { margin-top: 15px; padding-left: 20px; }

/* --- FINANCE PORTAL (DARK) --- */
.dark-dashboard { background: #0a0e12; color: white; min-height: 100vh; }
.dark-dashboard .main-nav { background: #161b22; border-bottom: 1px solid #30363d; }
.dark-dashboard .logo { color: var(--accent); border-color: var(--accent); }

#login-overlay { 
    position: fixed; inset: 0; 
    background: #0a0e12; 
    display: flex; justify-content: center; align-items: center; 
    z-index: 9999; 
}
.login-card { 
    background: var(--dark-card); 
    padding: 50px; 
    border-radius: 24px; 
    border: 1px solid #30363d; 
    text-align: center; 
    width: 420px; 
}
.auth-icon { font-size: 3rem; margin-bottom: 20px; }
.login-card input { 
    width: 100%; padding: 14px; margin-bottom: 15px; 
    background: #0d1117; border: 1px solid #30363d; 
    color: white; border-radius: 8px; font-size: 1rem;
}

.dash-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 30px; margin-top: 50px; }
.glass-card.dark { background: #161b22; border: 1px solid #30363d; }
.result-box { 
    margin-top: 25px; 
    padding: 20px; 
    background: rgba(52, 152, 219, 0.1); 
    border-radius: 12px; 
    text-align: center; 
}

/* --- LIGHTBOX --- */
.lightbox { 
    position: fixed; inset: 0; 
    background: rgba(0,0,0,0.95); 
    display: none; justify-content: center; align-items: center; 
    z-index: 2000; 
}
.lightbox img { max-width: 90%; max-height: 85vh; border-radius: 10px; }
.close-btn { 
    position: absolute; top: 30px; right: 40px; 
    font-size: 3.5rem; color: white; cursor: pointer; 
}

/* --- RESPONSIVE LOGIC --- */
@media (max-width: 900px) {
    .hero-grid, .personal-grid, .dash-grid { grid-template-columns: 1fr; text-align: center; }
    .hero-actions { flex-direction: column; }
    
    .nav-menu { 
        display: none; 
        flex-direction: column; 
        position: absolute; 
        top: 100%; left: 0; width: 100%; 
        background: white; 
        padding: 30px; 
        border-bottom: 1px solid #ddd;
    }
    .nav-menu.active { display: flex; }
    .hamburger { display: flex; }
    
    .dark-dashboard .nav-menu { background: #161b22; border-color: #30363d; }
}
