/* --- Base and Theme --- */
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #0C1625; color: #e6edf3; margin: 0; padding: 0; }
main { padding: 20px; }

/* --- Header & Navigation --- */
header { background-color: #0d1a2f; border-bottom: 1px solid #1a2c47; }
.header-top { display: flex; justify-content: space-between; align-items: center; padding: 10px 20px; }
.logo-container .logo { height: 100px; }
nav { display: flex; justify-content: space-between; align-items: center; padding: 0 20px; border-top: 1px solid #1a2c47;}
nav ul { list-style: none; padding: 0; margin: 0; display: flex; }
nav ul li a { color: #8e8e93; text-decoration: none; padding: 15px; font-weight: 600; }
nav ul li a:hover { color: #ECA146; }
.nav-right { display: flex; align-items: center; }
.nav-right a, .nav-right span, .nav-button-link { color: #fff; text-decoration: none; font-weight: 600; margin-left: 20px; font-family: inherit; font-size: 16px; }
.nav-button-link { background: none; border: none; cursor: pointer; }
.nav-button-link:hover { color: #ECA146; }
.nav-right a:hover { color: #ECA146; }

/* --- Footer --- */
footer { background-color: #0d1a2f; border-top: 1px solid #1a2c47; padding: 20px; font-size: 14px; color: #8e8e93; }
.footer-top-row { display: flex; justify-content: space-between; align-items: center; max-width: 1400px; margin: 0 auto 15px auto; padding-bottom: 15px; border-bottom: 1px solid #1a2c47; }
.footer-bottom-row { text-align: center; }
.footer-nav a { white-space: nowrap; }
footer a { color: #8e8e93; text-decoration: none; margin: 0 5px; }
footer a:hover { color: #ECA146; }

/* --- Modules and General Components --- */
.module { background-color: #0d1a2f; padding: 20px; border-radius: 8px; border: 1px solid #1a2c47;}
h2 { font-size: 18px; color: #fff; border-bottom: 1px solid #1a2c47; padding-bottom: 10px; margin: 0 0 15px 0; display: flex; justify-content: space-between; }
a { color: #58a6ff; }
a:hover { color: #ECA146; }

/* --- RESPONSIVE DESIGN --- */
@media (max-width: 1200px) {
    .top-grid, .bottom-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .header-top, nav, .interactive-container, .footer-top-row {
        flex-direction: column;
    }
    .interactive-container { gap: 15px; }
    .footer-top-row > * { margin-bottom: 15px; text-align: center;}
    .footer-nav a { display: block; padding: 5px 0; } /* Stack footer nav links */
    .footer-nav, .footer-socials { text-align: center; }
    .nav-right { margin-top: 10px; }
}