*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
scroll-behavior:smooth;
}

body{
background:linear-gradient(
135deg,
#0f172a,
#2563eb,
#7c3aed
);
background-size:400% 400%;
animation:bg 12s ease infinite;
color:white;
}


/* NAVBAR */

nav{
position:sticky;
top:0;
z-index:999;
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 8%;
background:rgba(255,255,255,.08);
backdrop-filter:blur(15px);
}

.logo{
font-size:22px;
font-weight:700;
}

nav ul{
display:flex;
list-style:none;
gap:25px;
}

nav a{
text-decoration:none;
color:white;
font-weight:500;
transition:.3s;
}

nav a:hover{
color:#ffd700;
}

/* HEADER */

header{
text-align:center;
padding:70px 20px;
}

header img{
width:190px;
height:190px;
object-fit:cover;
border-radius:50%;
border:6px solid white;
box-shadow:0 0 40px rgba(255,255,255,.6);
transition:.5s;
}

header img:hover{
transform:scale(1.08) rotate(3deg);
}

header h1{
margin-top:20px;
font-size:42px;
}

header p{
margin-top:10px;
font-size:18px;
opacity:.9;
}

.container{
width:90%;
max-width:1100px;
margin:auto;
}

/* CARD */

.card{
background:rgba(255,255,255,.12);
backdrop-filter:blur(18px);
padding:30px;
margin:25px 0;
border-radius:25px;
box-shadow:0 10px 30px rgba(0,0,0,.3);
transition:.4s;
}

.card:hover{
transform:translateY(-8px);
}

h2{
margin-bottom:20px;
font-size:28px;
border-left:5px solid gold;
padding-left:15px;
}

ul{
padding-left:20px;
}

li{
margin:10px 0;
}

/* SKILL */

.skill{
display:flex;
flex-wrap:wrap;
gap:15px;
}

.skill span{
background:white;
color:#333;
padding:12px 18px;
border-radius:50px;
font-weight:600;
transition:.3s;
}

.skill span:hover{
background:gold;
transform:scale(1.08);
}

/* PROJECT */

.project{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
gap:20px;
}

.box{
background:rgba(255,255,255,.15);
padding:25px;
border-radius:20px;
text-align:center;
transition:.4s;
}

.box:hover{
background:white;
color:#222;
transform:translateY(-8px);
}

/* CONTACT */

.contact{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:20px;
}

.contact a{
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
gap:10px;
text-decoration:none;
background:white;
color:#333;
padding:20px;
border-radius:20px;
font-weight:600;
transition:.3s;
}

.contact a i{
font-size:28px;
}

.contact a:hover{
background:gold;
transform:translateY(-6px);
}

/* FOOTER */

footer{
text-align:center;
padding:30px;
margin-top:40px;
background:rgba(255,255,255,.08);
backdrop-filter:blur(10px);
}

/* RESPONSIVE */

@media(max-width:768px){

nav{
flex-direction:column;
gap:15px;
}

nav ul{
flex-wrap:wrap;
justify-content:center;
}

header h1{
font-size:30px;
}

}

/* EMOJI JATUH */

.emoji-bg{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
pointer-events:none;
overflow:hidden;
z-index:-1;
}

.emoji{
position:absolute;
top:-50px;
font-size:30px;
animation:fall linear infinite;
opacity:0.5;
}

@keyframes fall{
0%{
transform:translateY(-50px) rotate(0deg);
}
100%{
transform:translateY(110vh) rotate(360deg);
}
}

.emoji:nth-child(1){
left:5%;
animation-duration:8s;
}

.emoji:nth-child(2){
left:15%;
animation-duration:10s;
}

.emoji:nth-child(3){
left:25%;
animation-duration:7s;
}

.emoji:nth-child(4){
left:35%;
animation-duration:12s;
}

.emoji:nth-child(5){
left:45%;
animation-duration:9s;
}

.emoji:nth-child(6){
left:55%;
animation-duration:11s;
}

.emoji:nth-child(7){
left:65%;
animation-duration:8s;
}

.emoji:nth-child(8){
left:75%;
animation-duration:13s;
}

.emoji:nth-child(9){
left:85%;
animation-duration:10s;
}

.emoji:nth-child(10){
left:95%;
animation-duration:7s;
}