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

html{
scroll-behavior:smooth;
}

body{
background:#02040a;
font-family:'Montserrat',sans-serif;
color:white;
overflow-x:hidden;
}

.grain{
position:fixed;
inset:0;
pointer-events:none;
opacity:.025;
background-image:
radial-gradient(circle at 20% 20%, white 1px, transparent 1px),
radial-gradient(circle at 80% 80%, white 1px, transparent 1px);
background-size:4px 4px;
z-index:999;
}

.hero{
position:relative;
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
padding:40px;
overflow:hidden;
background:
radial-gradient(circle at top left, rgba(0,120,255,.08), transparent 30%),
radial-gradient(circle at bottom right, rgba(255,0,90,.06), transparent 30%),
linear-gradient(to bottom, rgba(0,0,0,.72), rgba(2,4,10,.98)),
url('img/background.jpg');
background-size:cover;
background-position:center;
}

.nav{
position:absolute;
top:32px;
left:0;
width:100%;
padding:0 60px;
display:flex;
justify-content:space-between;
align-items:flex-start;
z-index:50;
}

.logo{
font-size:30px;
font-weight:700;
letter-spacing:.34em;
color:#63d7ff;
text-shadow:0 0 14px rgba(0,180,255,.35);
padding-top:12px;
}

.menu-wrapper{
padding:10px;
border-radius:28px;
background:rgba(4,10,18,.62);
backdrop-filter:blur(18px);
border:1px solid rgba(99,215,255,.06);
}

.menu{
display:flex;
gap:12px;
}

.menu a{
padding:12px 18px;
border-radius:999px;
text-decoration:none;
font-size:11px;
letter-spacing:.28em;
color:rgba(220,245,255,.78);
background:rgba(99,215,255,.06);
border:1px solid rgba(99,215,255,.12);
transition:.35s;
}

.menu a:hover{
background:rgba(99,215,255,.12);
border-color:rgba(99,215,255,.35);
color:white;
transform:translateY(-2px);
}

.hero-center{
position:relative;
z-index:5;
max-width:1250px;
margin:auto;
text-align:center;
padding-top:110px;
}

.banner{
width:100%;
max-width:1150px;
filter:drop-shadow(0 0 26px rgba(0,180,255,.1));
animation:float 11s ease-in-out infinite;
}

.hero-tagline{
margin-top:34px;
font-size:11px;
letter-spacing:.52em;
color:rgba(255,255,255,.64);
}

.hero-buttons{
display:flex;
justify-content:center;
gap:18px;
flex-wrap:wrap;
margin-top:58px;
}

.hero-buttons.left{
justify-content:flex-start;
}

.btn{
padding:17px 32px;
border-radius:999px;
text-decoration:none;
font-size:11px;
letter-spacing:.28em;
transition:.35s;
}

.cyan{
background:rgba(99,215,255,.08);
border:1px solid rgba(99,215,255,.22);
color:#84dfff;
}

.cyan:hover{
background:#63d7ff;
color:black;
transform:translateY(-4px);
box-shadow:0 0 30px rgba(99,215,255,.2);
}

.dark{
background:rgba(255,255,255,.03);
border:1px solid rgba(255,255,255,.08);
color:white;
}

.dark:hover{
border-color:#ff4a7c;
color:#ff6d96;
transform:translateY(-4px);
}

.ambient{
position:absolute;
border-radius:50%;
filter:blur(140px);
opacity:.08;
animation:move 18s ease-in-out infinite alternate;
}

.ambient-blue{
width:460px;
height:460px;
background:#0ea5ff;
top:5%;
left:5%;
}

.ambient-red{
width:340px;
height:340px;
background:#ff245f;
bottom:8%;
right:5%;
}

.section{
padding:180px 40px;
position:relative;
}

.content{
max-width:1200px;
margin:auto;
}

.narrow{
max-width:900px;
}

.contact-width{
max-width:850px;
}

.center{
text-align:center;
}

.topline{
font-size:11px;
letter-spacing:.45em;
color:#63d7ff;
margin-bottom:26px;
}

.redtext{
color:#ff6d96;
}

h2{
font-size:78px;
font-weight:300;
line-height:1.02;
margin-bottom:48px;
letter-spacing:-.03em;
}

h2 span{
color:#63d7ff;
text-shadow:0 0 18px rgba(0,180,255,.15);
}

.redglow{
color:#ff6d96 !important;
text-shadow:0 0 18px rgba(255,70,120,.14) !important;
}

p{
font-size:20px;
line-height:2;
color:rgba(255,255,255,.68);
margin-bottom:30px;
max-width:820px;
}

.music-layout{
max-width:1300px;
margin:auto;
display:grid;
grid-template-columns:1.1fr .9fr;
gap:110px;
align-items:center;
}

.music-artwork{
position:relative;
}

.music-artwork::before{
content:'';
position:absolute;
inset:-30px;
border-radius:40px;
background:radial-gradient(circle, rgba(0,180,255,.08), transparent 70%);
z-index:-1;
}

.music-artwork img{
width:100%;
border-radius:34px;
border:1px solid rgba(255,255,255,.06);
display:block;
animation:float 13s ease-in-out infinite;
}

.music-text{
padding-top:40px;
}

.mail{
display:inline-block;
margin-top:18px;
font-size:28px;
text-decoration:none;
color:white;
transition:.35s;
}

.mail:hover{
color:#63d7ff;
}

.socials{
display:flex;
justify-content:center;
gap:32px;
flex-wrap:wrap;
margin-top:70px;
}

.socials a{
font-size:11px;
letter-spacing:.35em;
text-decoration:none;
color:rgba(255,255,255,.38);
transition:.35s;
}

.socials a:hover{
color:#63d7ff;
}

footer{
padding:80px 20px;
text-align:center;
border-top:1px solid rgba(255,255,255,.04);
}

.footer-line{
height:1px;
width:100%;
max-width:1000px;
margin:0 auto 40px;
background:linear-gradient(to right, transparent, #63d7ff, transparent);
opacity:.4;
}

.footer-logo{
font-size:14px;
letter-spacing:.55em;
margin-bottom:26px;
color:rgba(255,255,255,.65);
}

.footer-links{
display:flex;
justify-content:center;
gap:28px;
}

.footer-links a{
text-decoration:none;
font-size:13px;
color:rgba(255,255,255,.35);
transition:.35s;
}

.footer-links a:hover{
color:#63d7ff;
}

.fade{
opacity:0;
transform:translateY(40px);
transition:1.2s ease;
}

.fade.visible{
opacity:1;
transform:translateY(0);
}

@keyframes float{
0%{transform:translateY(0);}
50%{transform:translateY(-10px);}
100%{transform:translateY(0);}
}

@keyframes move{
0%{transform:translate(0,0);}
100%{transform:translate(35px,-25px);}
}

@media(max-width:980px){

.nav{
flex-direction:column;
align-items:center;
gap:20px;
padding:0 20px;
}

.logo{
padding-top:0;
font-size:24px;
}

.menu{
flex-wrap:wrap;
justify-content:center;
}

.hero-center{
padding-top:160px;
}

.hero-tagline{
font-size:9px;
line-height:2;
}

.music-layout{
grid-template-columns:1fr;
gap:60px;
}

.music-text{
padding-top:0;
}

.hero-buttons.left{
justify-content:center;
}

h2{
font-size:48px;
}

p{
font-size:16px;
line-height:1.9;
}

.mail{
font-size:18px;
word-break:break-word;
}

.section{
padding:120px 24px;
}

}


/* ABOUT ATMOSPHERE UPGRADE */

#about{
position:relative;
overflow:hidden;
}

#about::before{
content:'';
position:absolute;
inset:0;
background:
linear-gradient(to bottom, rgba(8,18,30,.88), rgba(3,5,10,.92)),
radial-gradient(circle at top left, rgba(80,180,255,.10), transparent 35%),
radial-gradient(circle at bottom right, rgba(0,120,255,.08), transparent 35%),
url('img/water-bg.jpg');
background-size:cover;
background-position:center;
opacity:.95;
z-index:0;
}

#about .content{
position:relative;
z-index:2;
padding:90px;
border-radius:40px;
background:rgba(6,12,22,.28);
backdrop-filter:blur(10px);
border:1px solid rgba(120,200,255,.18);
box-shadow:
0 0 0 1px rgba(120,200,255,.05),
0 0 30px rgba(80,180,255,.08),
0 0 60px rgba(0,0,0,.22),
0 0 120px rgba(0,120,255,.04);
}

#about h2{
margin-bottom:55px;
}

#about p{
max-width:760px;
}



/* MUSIC GLASS FRAME */

.music-text{
padding:70px;
border-radius:40px;
background:rgba(6,12,22,.26);
backdrop-filter:blur(10px);
border:1px solid rgba(255,110,150,.16);
box-shadow:
0 0 0 1px rgba(255,110,150,.04),
0 0 30px rgba(255,70,120,.08),
0 0 60px rgba(0,0,0,.22),
0 0 120px rgba(255,70,120,.04);
}



/* MOBILE FIXES */

@media(max-width:768px){

h2{
font-size:34px !important;
line-height:1.15 !important;
word-break:break-word;
overflow-wrap:break-word;
}

.hero-tagline{
letter-spacing:.22em !important;
padding:0 12px;
text-align:center;
}

.banner{
max-width:100%;
height:auto;
}

.music-text{
padding:34px !important;
}

#about .content{
padding:38px 28px !important;
}

.nav{
padding:0 14px !important;
}

.menu a{
font-size:10px !important;
padding:10px 14px !important;
}

}
