/* 1. THE JUMP FIX (CRITICAL) */
html { 
    /* This tells the whole page to stop 120px early when clicking a link */
    scroll-padding-top: 120px; 
    scroll-behavior: smooth; 
}

/* Fallback for specific browsers */
section, footer { 
    scroll-margin-top: 120px; 
}

/* 2. CORE STYLES */
:root { 
    --primary: #003366; 
    --secondary: #FF8C00; 
    --dark: #111; 
}

* { box-sizing: border-box; transition: 0.3s; }
body { font-family: 'Inter', sans-serif; margin: 0; background: #f4f7f6; overflow-x: hidden; }

/* 3. HEADER SYSTEM */
.top-accent { height: 5px; background: var(--secondary); width: 100%; position: fixed; top: 0; z-index: 10001; }

.sticky-stack { 
    position: sticky; 
    top: 5px; 
    z-index: 9999; 
    width: 100%; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.1); 
    background: white;
}

.top-bar { display: flex; justify-content: space-between; align-items: center; padding: 12px 5%; border-bottom: 1px solid #eee; }

.logo { display: flex; align-items: center; text-decoration: none; color: var(--primary); font-weight: 900; font-size: 24px; }
.logo-bolt { background: var(--secondary); color: white; border-radius: 50%; padding: 4px; margin-right: 8px; font-size: 18px; }

/* 4. NAVIGATION */
nav { background: var(--primary); padding: 14px 0; text-align: center; }
nav a { color: white; text-decoration: none; margin: 0 15px; font-weight: 600; font-size: 13px; text-transform: uppercase; }
nav a:hover { color: var(--secondary); }

/* 5. MOBILE MENU OVERLAY (Dehaze) */
#mobile-menu { 
    display: none; 
    position: fixed; 
    top: 0; left: 0; 
    width: 100%; height: 100%; 
    background: rgba(0, 51, 102, 0.98); 
    z-index: 10002; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
}

#mobile-menu a { color: white; font-size: 30px; text-decoration: none; margin: 20px 0; font-weight: 800; }
.close-menu { position: absolute; top: 30px; right: 30px; color: white; cursor: pointer; font-size: 50px; }

/* 6. RESPONSIVE (Hide Nav on small screens) */
@media (max-width: 768px) {
    nav { display: none; } 
    html { scroll-padding-top: 100px; } /* Slightly less on mobile */
}