*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Inter',sans-serif;
}

html{
scroll-behavior:smooth;
}

body{
background:#05050a;
color:white;
overflow-x:hidden;
min-height:100vh;
}

.loader{
position:fixed;
inset:0;
background:#05050a;
display:flex;
justify-content:center;
align-items:center;
z-index:99999;
transition:.6s;
}

.loader.hide{
opacity:0;
visibility:hidden;
}

.loader-logo{
font-size:4rem;
font-weight:900;
color:#8b5cf6;
animation:pulse 1.5s infinite;
}

@keyframes pulse{
0%{transform:scale(1);}
50%{transform:scale(1.15);}
100%{transform:scale(1);}
}

.background{
position:fixed;
inset:0;
overflow:hidden;
z-index:-3;
}

.blob{
position:absolute;
border-radius:50%;
filter:blur(120px);
}

.blob1{
width:500px;
height:500px;
background:#7c3aed;
top:-150px;
left:-150px;
animation:float1 18s infinite alternate;
}

.blob2{
width:450px;
height:450px;
background:#9333ea;
top:100px;
right:-120px;
animation:float2 20s infinite alternate;
}

.blob3{
width:400px;
height:400px;
background:#6d28d9;
bottom:-150px;
left:30%;
animation:float3 22s infinite alternate;
}

@keyframes float1{
from{transform:translate(0,0);}
to{transform:translate(120px,100px);}
}

@keyframes float2{
from{transform:translate(0,0);}
to{transform:translate(-180px,120px);}
}

@keyframes float3{
from{transform:translate(0,0);}
to{transform:translate(100px,-120px);}
}

#particles{
position:fixed;
inset:0;
z-index:-2;
pointer-events:none;
}

.particle{
position:absolute;
border-radius:50%;
background:#a855f7;
opacity:.3;
animation:particleMove linear infinite;
}

@keyframes particleMove{
from{
transform:translateY(110vh);
}
to{
transform:translateY(-120vh);
}
}

.hero{
min-height:100vh;
display:flex;
justify-content:center;
align-items:center;
padding:25px;
}

.hero-card{
width:100%;
max-width:850px;


text-align:center;

padding:50px;

border-radius:30px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

backdrop-filter:blur(20px);

box-shadow:
    0 0 50px rgba(139,92,246,.15),
    0 0 120px rgba(139,92,246,.12);


}

.avatar{
width:180px;
height:180px;
object-fit:cover;
border-radius:50%;
border:4px solid #8b5cf6;


box-shadow:
    0 0 30px #8b5cf6,
    0 0 80px rgba(139,92,246,.4);

margin-bottom:25px;


}

h1{
font-size:5rem;
font-weight:900;


background:
    linear-gradient(
        90deg,
        #ffffff,
        #c084fc,
        #8b5cf6
    );

-webkit-background-clip:text;
-webkit-text-fill-color:transparent;


}

.hero h2{
margin-top:10px;
color:#c4b5fd;
}

.typing{
margin-top:18px;
color:#ddd6fe;
font-size:1.05rem;
}

.description{
margin-top:25px;
color:#d4d4d8;
line-height:1.8;
}

.hero-buttons{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:15px;
margin-top:30px;
}

.hero-buttons a{
text-decoration:none;
color:white;


padding:14px 24px;

border-radius:14px;

background:
    linear-gradient(
        135deg,
        #7c3aed,
        #9333ea
    );

transition:.3s;


}

.hero-buttons a:hover{
transform:translateY(-4px);


box-shadow:
    0 0 25px rgba(139,92,246,.6);


}

.section{
max-width:1200px;
margin:auto;
padding:90px 20px;
}

.section-title{
text-align:center;
font-size:2.5rem;
margin-bottom:40px;
font-weight:800;
}

.glass-card{
background:rgba(255,255,255,.05);
backdrop-filter:blur(18px);


border:1px solid rgba(255,255,255,.08);

border-radius:24px;

padding:35px;

line-height:1.9;


}

.studio{
text-align:center;
}

.studio h3{
font-size:2rem;
margin-bottom:10px;
}

.skills{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:15px;
}

.skill{
padding:15px 24px;


border-radius:15px;

background:rgba(139,92,246,.12);

border:1px solid rgba(139,92,246,.3);

transition:.3s;


}

.skill:hover{
transform:translateY(-4px);


box-shadow:
    0 0 25px rgba(139,92,246,.5);


}

.contacts{
display:grid;
grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));


gap:20px;


}

.contact{
padding:25px;


border-radius:20px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

backdrop-filter:blur(20px);


}

.contact span{
display:block;
color:#a1a1aa;
margin-bottom:10px;
}

#contactForm{
display:flex;
flex-direction:column;
gap:15px;
}

#contactForm input,
#contactForm textarea{
width:100%;


padding:15px;

border:none;

border-radius:14px;

outline:none;

color:white;

background:
    rgba(255,255,255,.08);


}

#contactForm textarea{
resize:none;
min-height:160px;
}

#contactForm button{
border:none;


padding:15px;

border-radius:14px;

cursor:pointer;

color:white;

font-weight:700;

background:
    linear-gradient(
        135deg,
        #7c3aed,
        #9333ea
    );

transition:.3s;


}

#contactForm button:hover{
transform:translateY(-3px);
}

#formResult{
margin-top:15px;
}

#notify{
position:fixed;


top:25px;
right:25px;

min-width:320px;

padding:18px 22px;

border-radius:18px;

backdrop-filter:blur(20px);

background:
    rgba(124,58,237,.15);

border:
    1px solid rgba(139,92,246,.4);

box-shadow:
    0 0 30px rgba(139,92,246,.4);

z-index:99999;

opacity:0;

transform:translateX(500px);

transition:.4s ease;


}

#notify.show{
opacity:1;
transform:translateX(0);
}

.reveal{
opacity:0;
transform:translateY(50px);
transition:1s;
}

.reveal.active{
opacity:1;
transform:translateY(0);
}

footer{
text-align:center;
padding:40px;
color:#71717a;
}

@media(max-width:768px){


h1{
    font-size:3rem;
}

.hero-card{
    padding:30px;
}

.avatar{
    width:140px;
    height:140px;
}

.section-title{
    font-size:2rem;
}

#notify{
    left:15px;
    right:15px;
    min-width:auto;
}

}
