/* --- FONTS --- */
@font-face { font-family: 'Montserrat'; src: url('../fonts/montserrat-v31-latin-regular.woff2'); font-display: swap; }
@font-face { font-family: 'Rajdhani'; src: url('../fonts/rajdhani-v17-latin-700.woff2'); font-weight: 700; font-display: swap; }

:root {
    --bg-base: #010103;
    --accent-blue: #4a90e2;
    --accent-copper: #d4885d;
    --text-main: #ffffff;
    --text-dim: rgba(255, 255, 255, 0.65);
    --glass: linear-gradient(135deg, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0.01) 100%);
    --glass-border: rgba(255, 255, 255, 0.08);
    --font-head: 'Rajdhani', sans-serif;
    --font-body: 'Montserrat', sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    background-color: var(--bg-base);
    color: var(--text-main);
    font-family: var(--font-body);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

#canvas-bg {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    z-index: -1; pointer-events: none;
    background: radial-gradient(circle at 50% 50%, #0a0a15 0%, var(--bg-base) 85%);
}

/* --- HEADER --- */
header {
    position: fixed; top: 0; width: 100%; padding: 30px 6%;
    z-index: 1000; display: flex; justify-content: space-between; align-items: center;
    background: rgba(1, 1, 3, 0.6); backdrop-filter: blur(15px);
    border-bottom: 1px solid rgba(255,255,255,0.03);
}
.logo img { height: 42px; width: auto; }
.nav-links { display: flex; gap: 30px; align-items: center; }
.nav-links a {
    color: var(--text-dim); text-decoration: none; font-family: var(--font-head);
    text-transform: uppercase; letter-spacing: 2px; font-size: 0.8rem; transition: 0.3s;
}
.nav-links a:hover { color: var(--accent-blue); }
.burger { display: none; cursor: pointer; color: white; }

@media (max-width: 900px) {
    .nav-links {
        position: fixed; right: -100%; top: 0; height: 100vh; width: 280px;
        background: rgba(1, 1, 3, 0.95); backdrop-filter: blur(20px);
        flex-direction: column; padding-top: 120px;
        transition: 0.5s ease; border-left: 1px solid var(--glass-border);
    }
    .nav-links.active { right: 0; }
    .burger { display: block; z-index: 1001; }
}

/* --- FOOTER --- */
.footer-col h4 {
    font-family: var(--font-head); text-transform: uppercase;
    color: white; margin-bottom: 20px; font-weight: 700; letter-spacing: 2px;
}
.footer-col ul { list-style: none; margin-left: 0; }
.footer-col li { margin-bottom: 12px; color: var(--text-dim); font-size: 0.85rem; }
.footer-col a { color: inherit; text-decoration: none; transition: 0.3s; }
.footer-col a:hover { color: white; }
.footer-bottom {
    display: flex; justify-content: space-between; align-items: center;
    padding-top: 30px; border-top: 1px solid rgba(255,255,255,0.03);
    font-size: 0.65rem; letter-spacing: 3px; opacity: 0.4; text-transform: uppercase;
}
@media (max-width: 600px) { .footer-bottom { flex-direction: column; gap: 20px; text-align: center; } }

/* --- COOKIE BANNER --- */
#cookie-banner {
    position: fixed; bottom: 30px; left: 50%; transform: translateX(-50%);
    width: calc(100% - 60px); max-width: 860px;
    background: rgba(8, 8, 18, 0.97); backdrop-filter: blur(20px);
    border: 1px solid var(--glass-border); padding: 24px 30px;
    display: flex; align-items: center; justify-content: space-between; gap: 30px;
    z-index: 9999; box-shadow: 0 8px 40px rgba(0,0,0,0.6);
}
#cookie-banner p { font-size: 0.82rem; color: var(--text-dim); line-height: 1.6; margin: 0; }
.cookie-buttons { display: flex; gap: 12px; flex-shrink: 0; }
.cookie-btn-accept {
    background: var(--accent-blue); color: white; border: none;
    padding: 10px 22px; font-family: var(--font-head); text-transform: uppercase;
    letter-spacing: 2px; font-size: 0.8rem; cursor: pointer; transition: 0.3s;
}
.cookie-btn-accept:hover { opacity: 0.85; }
.cookie-btn-decline {
    background: transparent; color: var(--text-dim);
    border: 1px solid var(--glass-border); padding: 10px 22px;
    font-family: var(--font-head); text-transform: uppercase;
    letter-spacing: 2px; font-size: 0.8rem; cursor: pointer; transition: 0.3s;
}
.cookie-btn-decline:hover { color: white; border-color: rgba(255,255,255,0.3); }
@media (max-width: 600px) {
    #cookie-banner { flex-direction: column; align-items: flex-start; bottom: 0; width: 100%; }
    .cookie-buttons { width: 100%; }
    .cookie-btn-accept, .cookie-btn-decline { flex: 1; text-align: center; }
}
