:root {
    --primary-color: #F4D03F; /* Safety Yellow */
    --secondary-color: #3498DB; /* Tech Blue */
    --dark-bg: #1A1D21; /* Charcoal */
    --darker-bg: #111315; /* Deep Slate */
    --text-color: #E0E0E0;
    --text-muted: #A0A0A0;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--dark-bg);
    color: var(--text-color);
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6, .navbar-brand {
    font-family: 'Oswald', sans-serif;
    letter-spacing: 0.5px;
}

/* Navbar */
.navbar {
    transition: all 0.3s ease;
    padding: 1.5rem 0;
}

.navbar.scrolled {
    background: rgba(26, 29, 33, 0.95);
    backdrop-filter: blur(10px);
    padding: 1rem 0;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.nav-link {
    color: rgba(255, 255, 255, 0.8) !important;
    font-weight: 500;
    transition: color 0.3s ease;
}

.nav-link:hover, .nav-link.active {
    color: var(--primary-color) !important;
}

/* Hero Section */
.hero-section {
    min-height: 100vh;
    padding-top: 100px;
    background: radial-gradient(circle at 100% 0%, #2c3e50 0%, var(--dark-bg) 50%);
    overflow: hidden;
}

.hero-bg-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: 
        linear-gradient(rgba(26, 29, 33, 0.8), rgba(26, 29, 33, 0.9)),
        url('https://images.unsplash.com/photo-1541888946425-d81bb19240f5?q=80&w=2070&auto=format&fit=crop'); /* Fallback construction bg */
    background-size: cover;
    background-position: center;
    opacity: 0.4;
    z-index: 1;
}

.text-gradient {
    background: linear-gradient(to right, var(--primary-color), white);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Glassmorphism */
.glass-card {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.glass-card:hover {
    transform: translateY(-5px);
    border-color: rgba(244, 208, 63, 0.3);
}

/* Floating Animations */
@keyframes float1 {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-15px); }
    100% { transform: translateY(0px); }
}

@keyframes float2 {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0px); }
}

.move-anim-1 { animation: float1 4s ease-in-out infinite; }
.move-anim-2 { animation: float2 5s ease-in-out infinite; }

/* Sections */
.section-padding {
    padding: 100px 0;
}

.tracking-widest {
    letter-spacing: 0.2em;
}

.bg-darker {
    background-color: var(--darker-bg);
}

.bg-gradient-dark {
    background: linear-gradient(135deg, #2c3e50 0%, #000000 100%);
}

/* Form */
.form-control, .form-select {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: white !important;
}

.form-control:focus, .form-select:focus {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 0.25rem rgba(244, 208, 63, 0.25);
}

/* Animations on Scroll */
[data-animate] {
    opacity: 0;
    transition: all 0.8s ease-out;
}

[data-animate="fade-up"] { transform: translateY(50px); }
[data-animate="fade-left"] { transform: translateX(50px); }
[data-animate="fade-right"] { transform: translateX(-50px); }

[data-animate].animated {
    opacity: 1;
    transform: none;
}

.glow-circle {
    width: 300px;
    height: 300px;
    background: var(--primary-color);
    filter: blur(150px);
    opacity: 0.15;
    z-index: 1;
    pointer-events: none;
}

.hover-white:hover {
    color: white !important;
}
