*{
margin:0;
padding:0;
box-sizing:border-box;
font-family: "Segoe UI", Arial, sans-serif;
}

body{
background:
radial-gradient(circle at 20% 10%, rgba(177,76,255,.15), transparent 40%),
radial-gradient(circle at 80% 30%, rgba(177,76,255,.12), transparent 45%),
#080012;
color:white;
overflow-x:hidden;
animation:fadeIn 1s ease;
}

@keyframes fadeIn{
from{opacity:0}
to{opacity:1}
}

a{
color:inherit;
text-decoration:none;
}

.container{
width:90%;
max-width:1200px;
margin:auto;
}

/* HEADER */
.header{
position:sticky;
top:0;
background:rgba(8,0,18,.75);
backdrop-filter:blur(12px);
z-index:99;
}

.header-content{
display:flex;
justify-content:space-between;
align-items:center;
padding:25px 0;
}

.logo-text{
font-size:22px;
font-weight:700;
letter-spacing:2px;
}

.logo-text span{
color:#b14cff;
}

.nav{
display:flex;
gap:25px;
}

.nav-link{
opacity:.8;
transition:.3s;
}

.nav-link:hover{
opacity:1;
color:#b14cff;
}

/* HERO */
.hero{
padding:150px 0;
text-align:center;
position:relative;
}

.hero::before{
content:"";
position:absolute;
width:400px;
height:400px;
background:radial-gradient(circle, rgba(177,76,255,.25), transparent 60%);
top:-100px;
left:50%;
transform:translateX(-50%);
filter:blur(80px);
}

.hero-title{
font-size:60px;
letter-spacing:2px;
}

.gradient-text{
background:linear-gradient(90deg,#b14cff,#6f2cff);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
}

.hero-subtitle{
opacity:.75;
margin-top:20px;
max-width:700px;
margin-left:auto;
margin-right:auto;
}

/* SECTIONS */
.section{
padding:110px 0;
}

.section-title{
font-size:42px;
margin-bottom:15px;
}

.section-description{
opacity:.75;
max-width:750px;
line-height:1.6;
}

/* GRID */
.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:30px;
margin-top:50px;
}

/* ARTISTS */
.artist-card{
background:rgba(255,255,255,.04);
padding:30px;
border-radius:18px;
text-align:center;
transition:.4s;
position:relative;
overflow:hidden;
}

.artist-card::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(120deg, transparent, rgba(177,76,255,.15), transparent);
opacity:0;
transition:.4s;
}

.artist-card:hover::before{
opacity:1;
}

.artist-card:hover{
transform:translateY(-8px) scale(1.02);
box-shadow:0 0 25px rgba(177,76,255,.35);
}

.artist-avatar{
width:90px;
height:90px;
border-radius:50%;
background:linear-gradient(135deg,#b14cff,#5a1cff);
margin:0 auto 15px;
display:flex;
align-items:center;
justify-content:center;
font-size:38px;
font-weight:700;
}

.spotify-link img{
width:28px;
margin-top:10px;
opacity:.8;
transition:.3s;
}

.spotify-link img:hover{
opacity:1;
transform:scale(1.1);
}

/* FORM */
form{
max-width:420px;
margin-top:40px;
}

input,textarea,button{
width:100%;
padding:13px;
border:none;
border-radius:10px;
background:#140020;
color:white;
margin-bottom:12px;
}

textarea{resize:none;height:120px}

button{
background:#b14cff;
cursor:pointer;
transition:.3s;
}

button:hover{
background:#9a3cff;
transform:translateY(-2px);
}

/* FOOTER */
.footer{
background:#05000d;
padding:90px 0;
margin-top:80px;
}

.footer-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:40px;
}

.footer-title{
margin-bottom:15px;
color:#b14cff;
}

.footer-links li{
list-style:none;
margin-bottom:8px;
opacity:.8;
}

.footer-links li:hover{
opacity:1;
}

.footer-bottom{
text-align:center;
margin-top:50px;
opacity:.5;
}

/* LOADER */
#loader{
position:fixed;
inset:0;
background:#080012;
display:flex;
align-items:center;
justify-content:center;
z-index:9999;
}

.loader-circle{
width:70px;
height:70px;
border:4px solid rgba(177,76,255,.2);
border-top:4px solid #b14cff;
border-radius:50%;
animation:spin 1s linear infinite;
}

@keyframes spin{
to{transform:rotate(360deg)}
}

/* HERO STATS */
.hero-stats{
display:flex;
justify-content:center;
align-items:center;
gap:30px;
margin-top:60px;
}

.stat-card{
width:180px;
height:180px;
background:rgba(255,255,255,.05);
backdrop-filter:blur(12px);
border-radius:16px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-align:center;
transition:.35s;
position:relative;
overflow:hidden;
}

.stat-card::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(120deg, transparent, rgba(177,76,255,.25), transparent);
opacity:0;
transition:.4s;
}

.stat-card:hover::before{
opacity:1;
}

.stat-card:hover{
transform:translateY(-8px) scale(1.05);
box-shadow:0 0 25px rgba(177,76,255,.35);
}

.stat-number{
font-size:34px;
font-weight:700;
color:#b14cff;
}

.stat-label{
opacity:.75;
margin-top:6px;
font-size:14px;
letter-spacing:1px;
}

@media(min-width:1200px){
  .stat-card{
    width:220px;
    height:220px;
  }
}

@media(min-width:1200px){
  .stat-card{
    width:220px;
    height:220px;
  }
}