/* --- 1. GLOBAL RESET --- */
* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
    background-color: #0a0a0a;
    color: #ffffff;
    font-family: 'Segoe UI', Arial, sans-serif;
    overflow-x: hidden;
}

/* --- 2. LAYOUT ENGINE --- */
.container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px;
}

/* --- 3. NAVIGATION --- */
header {
    background: #000;
    border-bottom: 1px solid #222;
    padding: 15px 0;
}

nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav-logo { height: 40px; width: auto; }

nav ul { display: flex; list-style: none; margin: 0; padding: 0; }
nav ul li { margin-left: 20px; }
nav ul li a { color: #fff; text-decoration: none; font-weight: bold; text-transform: uppercase; font-size: 0.8rem; }
nav ul li a:hover { color: #ff4500; }

/* --- 4. HERO SECTION --- */
.hero {
    text-align: center;
    padding: 40px 20px 60px 20px;
    background: linear-gradient(rgba(0,0,0,0.85), rgba(0,0,0,0.85)), url('images/album-art.jpg');
    background-size: cover;
    background-position: center;
    width: 100%;
    overflow: hidden; /* Safety net to prevent content from spilling out */
}

.brand-header {
    margin-bottom: 30px;
    padding-bottom: 20px;
}

.main-logo-hero {
    width: 100%;
    max-width: 450px; /* Maximum size on desktop */
    height: auto;
}

.main-album {
    width: 100%;
    max-width: 280px; /* Slightly smaller for better mobile flow */
    height: auto;
    border: 2px solid #ff4500;
    box-shadow: 0 0 30px rgba(255, 69, 0, 0.4);
    margin-bottom: 20px;
    display: inline-block;
}

/* --- MOBILE SPECIFIC FIXES --- */
@media (max-width: 600px) {
    .main-logo-hero {
        max-width: 85%; /* Shrinks the logo so it doesn't hit the edges */
    }

    .hero h1 {
        font-size: 1.8rem; /* Keeps the title from being too big on small screens */
        letter-spacing: 4px;
    }

    .container {
        padding: 0 15px; /* Tighter padding for small screens */
    }

    /* Prevents the 'scrolling around' effect */
    html, body {
        position: relative;
        overflow-x: hidden;
    }
}

/* --- 5. STREAMING LINKS SECTION --- */
.streaming-links {
    padding: 80px 0;
    background-color: #050505;
    text-align: center; /* This centers the 'STREAM THE FULL TRACK' header */
    width: 100%;
}

.streaming-links h2 {
    color: #ff4500;
    letter-spacing: 4px;
    margin-bottom: 40px;
}

.button-stack {
    max-width: 400px;
    margin: 0 auto;   /* This centers the entire stack of buttons */
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* --- STREAMING BUTTONS CORE --- */
.stream-btn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    max-width: 400px;
    margin: 0 auto 15px auto;
    padding: 18px 25px;
    background: #111;
    border: 1px solid #333;
    color: #ffffff !important; /* Forces text to stay white */
    text-decoration: none !important;
    font-weight: 900;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 2px;
    transition: all 0.3s ease;
}

/* Icon Setup */
.icon {
    width: 24px;
    height: 24px;
    margin-right: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    filter: brightness(0) invert(1); /* Makes icons white by default */
}

/* --- HOVER EFFECTS & BRAND COLORS --- */
.stream-btn:hover {
    transform: scale(1.03);
    background: #000;
}

/* Spotify Hover */
.stream-btn.spotify:hover { color: #1DB954 !important; border-color: #1DB954 !important; }
.stream-btn.spotify:hover .icon { filter: none; } /* Shows original green color */

/* Apple Hover */
.stream-btn.apple:hover { color: #FC3C44 !important; border-color: #FC3C44 !important; }
.stream-btn.apple:hover .icon { filter: none; }

/* YouTube Hover */
.stream-btn.yt-music:hover, .stream-btn.youtube:hover { color: #FF0000 !important; border-color: #FF0000 !important; }
.stream-btn.yt-music:hover .icon, .stream-btn.youtube:hover .icon { filter: none; }

/* Amazon Hover */
.stream-btn.amazon:hover { color: #00A8E1 !important; border-color: #00A8E1 !important; }
.stream-btn.amazon:hover .icon { filter: none; }

/* --- ICON DATA (Base64) --- */
.spotify-icon { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%231DB954"><path d="M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0zm5.508 17.302c-.223.367-.703.485-1.07.262-2.805-1.714-6.336-2.097-10.501-1.15-.417.092-.837-.17-.93-.587-.093-.417.17-.837.587-.93 4.566-1.041 8.448-.593 11.583 1.32.368.223.486.703.263 1.071zm1.47-3.253c-.28.455-.878.604-1.333.324-3.21-1.972-8.106-2.541-11.905-1.388-.513.155-1.063-.133-1.218-.646-.156-.513.133-1.063.646-1.218 4.343-1.319 9.74-.672 13.486 1.631.455.281.604.878.324 1.332zm.126-3.358C15.112 8.356 8.52 8.138 4.722 9.29c-.615.187-1.264-.162-1.45-.778-.188-.615.162-1.264.778-1.45 4.363-1.324 11.636-1.069 16.22 1.652.553.328.738 1.042.41 1.595-.328.553-1.042.738-1.595.41z"/></svg>'); }
.apple-icon { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23FC3C44"><path d="M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.702z"/></svg>'); }
.youtube-icon { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23FF0000"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg>'); }
.amazon-icon { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%2300A8E1"><path d="M15.012 19.418c-1.344.928-3.328 1.408-5.024 1.408-2.656 0-4.896-.704-6.432-1.856-.16-.128-.192-.352-.064-.512.128-.16.352-.192.512-.064 1.44 1.056 3.488 1.728 6.016 1.728 1.568 0 3.392-.416 4.704-1.28.16-.128.384-.064.48.096.128.16.096.384-.096.48h-1.1zm.992-1.92c-.128.16-.384.192-.544.096-1.568-1.024-4.576-1.376-7.392-1.024-.192.032-.384-.096-.416-.288-.032-.192.096-.384.288-.416 3.104-.384 6.432 0 8.192 1.152.16.096.192.32.096.48h-.224zm1.152-7.424c.032.192-.096.384-.288.416-.192.032-.384-.096-.416-.288-.256-1.312-1.408-2.304-2.784-2.304-1.568 0-2.848 1.28-2.848 2.848 0 1.568 1.28 2.848 2.848 2.848.928 0 1.728-.448 2.24-1.12.128-.16.352-.192.512-.064.16.128.192.352.064.512-.672.864-1.728 1.408-2.88 1.408-2.016 0-3.648-1.632-3.648-3.648s1.632-3.648 3.648-3.648c1.76 0 3.232 1.248 3.568 2.88h-.064zm-1.856 10.336l.704.992c.128.16.096.384-.064.48-.16.128-.384.096-.48-.064l-.704-.992c-.128-.16-.096-.384.064-.48.16-.128.384-.096.48.064z"/></svg>'); }

/* --- 6. AUDIO PREVIEW SECTION --- */
.music-samples { 
    padding: 60px 0; 
    background: #111; 
    text-align: center;
}

.music-samples h2 {
    color: #ff4500;
    letter-spacing: 4px;
    margin-bottom: 30px;
}

.track-list {
    max-width: 600px;
    margin: 0 auto;
}

.track {
    margin: 15px 0;
    background: #1a1a1a;
    padding: 20px;
    border-radius: 4px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #222;
}

.track span {
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.9rem;
    color: #eee;
}

/* Hides the download button in Chrome, Edge, and Safari */
audio::-webkit-media-controls-download-button {
    display: none;
}

audio::-webkit-media-controls-enclosure {
    overflow: hidden;
}

/* This specifically targets the 'three dots' menu in some versions */
audio::-internal-media-controls-download-button {
    display: none;
}

/* This styles the browser's default player to look better in dark mode */
audio { 
    height: 35px;
    filter: invert(100%) hue-rotate(180deg) brightness(1.5);
    outline: none;
}

/* --- 7. BIO STYLES --- */
.bio-page-section {
    padding: 80px 0;
    min-height: 80vh;
}

.bio-text-wrapper {
    max-width: 700px; 
    margin: 0 auto;   
    line-height: 1.8;
}

.bio-text-wrapper h1 {
    color: #ff4500;
    font-size: 2.2rem;
    margin-bottom: 20px;
    border-bottom: 1px solid #222;
    padding-bottom: 10px;
}

.lead-text { font-size: 1.2rem; font-weight: bold; margin-bottom: 25px; color: #eee; }

.protocol-text {
    border-left: 4px solid #ff4500;
    padding-left: 20px;
    margin: 40px 0;
    font-style: italic;
    color: #bbb;
}

.bio-footer { text-align: center; color: #ff4500; font-weight: 900; letter-spacing: 3px; margin-top: 50px; }

/* --- 8. FOOTER --- */
footer {
    padding: 40px 0;
    text-align: center;
    background: #000;
    color: #555;
    font-size: 0.8rem;
}