:root {
    --bg-black: #050505;
    --card-bg: #0f0f0f;
    --deep-red: #660000;
    --bright-red: #ff0000;
    --text-main: #e0e0e0;
    --text-dim: #888;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    cursor: none;
}

body {
    background-color: var(--bg-black);
    color: var(--text-main);
    font-family: 'Courier New', Courier, monospace;
    overflow-x: hidden;
    scroll-behavior: smooth;
    line-height: 1.6;
}

/* --- Custom Cursor --- */
#cursor {
    width: 8px;
    height: 8px;
    background: var(--bright-red);
    border-radius: 50%;
    position: fixed;
    pointer-events: none;
    z-index: 10000;
}

#cursor-follower {
    width: 30px;
    height: 30px;
    border: 1px solid var(--bright-red);
    border-radius: 50%;
    position: fixed;
    pointer-events: none;
    z-index: 9999;
    transition: transform 0.1s ease-out, width 0.3s, height 0.3s, background 0.3s;
}

/* --- Navigation --- */
nav {
    display: flex;
    justify-content: space-between;
    padding: 30px 10%;
    background: linear-gradient(to bottom, #1a0000, transparent);
    position: sticky;
    top: 0;
    z-index: 100;
}

.logo { color: var(--bright-red); font-weight: bold; letter-spacing: 3px; }

.nav-links a {
    color: var(--text-main);
    text-decoration: none;
    margin-left: 25px;
    font-size: 0.8rem;
    transition: 0.3s;
    text-transform: uppercase;
}

.nav-links a:hover { color: var(--bright-red); text-shadow: 0 0 10px var(--bright-red); }

/* --- Hero --- */
header {
    height: 60vh;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

h1 { font-size: clamp(2rem, 8vw, 4rem); letter-spacing: -2px; color: white; margin-bottom: 10px; }
.glitch-text { color: var(--bright-red); letter-spacing: 4px; font-size: 0.85rem; opacity: 0.8; }

/* --- Content Sections --- */
section { padding: 80px 10%; opacity: 0; transform: translateY(30px); transition: all 0.8s ease-out; }
section.visible { opacity: 1; transform: translateY(0); }

h2 {
    color: var(--bright-red);
    text-transform: uppercase;
    margin-bottom: 40px;
    border-bottom: 2px solid var(--deep-red);
    display: inline-block;
    padding-bottom: 5px;
    letter-spacing: 2px;
}

.content-box {
    max-width: 900px;
    background: rgba(15, 15, 15, 0.9);
    padding: 40px;
    border-left: 4px solid var(--bright-red);
    box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.5);
}

.content-box p { margin-bottom: 20px; color: #ccc; font-size: 1.05rem; }
strong { color: var(--bright-red); font-weight: normal; }

/* --- Grid Elements --- */
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
.card {
    background: var(--card-bg);
    padding: 30px;
    border: 1px solid #1a1a1a;
    transition: 0.4s;
}
.card:hover { border-color: var(--bright-red); background: rgba(139, 0, 0, 0.05); }

/* --- Album Visuals --- */
.album-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 30px; }
.album-card {
    background: #0a0a0a;
    padding: 15px;
    border: 1px solid #222;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    text-align: center;
}
.album-card:hover {
    transform: translateY(-10px);
    border-color: var(--bright-red);
    box-shadow: 0 10px 20px rgba(255, 0, 0, 0.1);
}
.album-art { width: 100%; aspect-ratio: 1/1; object-fit: cover; margin-bottom: 15px; border: 1px solid #333; }
.album-card p { font-weight: bold; font-size: 0.95rem; color: white; }
.album-card span { color: var(--text-dim); font-size: 0.8rem; }

/* --- Socials --- */
.social-links a {
    color: white;
    font-size: 1.1rem;
    margin-right: 40px;
    text-decoration: none;
    letter-spacing: 2px;
    transition: 0.3s;
    border: 1px solid transparent;
    padding: 10px 20px;
}
.social-links a:hover { color: var(--bright-red); border-color: var(--bright-red); background: rgba(255,0,0,0.05); }

footer { text-align: center; padding: 60px; color: #444; font-size: 0.8rem; border-top: 1px solid #111; }