:root {
    --color-bg: #0A0F14;         /* Deep Midnight */
    --color-section: #0F171F;    /* Slightly lighter dark */
    --color-primary: #10B981;    /* Emerald IA Accent */
    --color-text-main: #F1F5F9;  /* Off-white for readability */
    --color-text-muted: #94A3B8; /* Muted slate */
    --color-bg-light: #FFFFFF;
    
    --font-display: 'Lexend', sans-serif;
    --font-body: 'Inter', sans-serif;
}

body {
    background-color: var(--color-bg);
    font-family: var(--font-body);
    color: var(--color-text-main);
}

.header-scrolled {
    background-color: rgba(10, 15, 20, 0.9);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.reveal-element {
    opacity: 0;
    transform: translateY(20px);
    transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-element.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Scrollbar Customization */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--color-bg);
}
::-webkit-scrollbar-thumb {
    background: #1E293B;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--color-primary);
}

/* Utility for images */
img {
    border-radius: 4px;
    object-fit: cover;
}

input::placeholder {
    color: var(--color-text-muted);
}