
*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

body{
min-height:100vh;
display:flex;
justify-content:center;
align-items:center;
background: linear-gradient(180deg,#7ec8ff 0%, #a6e3ff 40%, #e0f7ff 100%);
background-size:400% 400%;
animation:bgMove 12s ease infinite;
}

@keyframes bgMove{
0%{background-position:0% 50%}
50%{background-position:100% 50%}
100%{background-position:0% 50%}
}

/* HERO */

.hero{
text-align:center;
padding:60px 40px;
border-radius:30px;
background:rgba(255,255,255,.65);
backdrop-filter:blur(18px);
box-shadow:0 30px 60px rgba(0,0,0,.12);
}

.hero h1{
font-size:42px;
color:#2b5d9f;
margin-bottom:10px;
}

.hero p{
color:#666;
margin-bottom:35px;
}

/* BUTTON */

.hero-btn{
display:flex;
gap:15px;
justify-content:center;
flex-wrap:wrap;
}

.btn{
padding:12px 28px;
border-radius:30px;
border:none;
cursor:pointer;
font-weight:600;
background:linear-gradient(135deg,#4facfe,#00c6ff);
color:white;
transition:.25s;
text-decoration:none;
}

.btn:hover{
transform:translateY(-3px);
}

.btn.outline{
background:transparent;
color:#2b5d9f;
border:2px solid #4facfe;
}

/* POPUP */

.popup{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.45);
backdrop-filter:blur(6px);
display:none;
justify-content:center;
align-items:center;
z-index:1000;
}

/* CARD PROFIL */

.profile-card{
background:white;
width:420px;
padding:40px;
border-radius:25px;
text-align:center;
box-shadow:0 25px 60px rgba(0,0,0,.2);
animation:popup .4s ease;
position:relative;
}

@keyframes popup{
from{
transform:scale(.7);
opacity:0;
}
to{
transform:scale(1);
opacity:1;
}
}

.profile-card img{
width:120px;
height:120px;
border-radius:50%;
border:4px solid #4facfe;
margin-bottom:15px;
object-fit:cover;
}

.profile-card h2{
color:#2b5d9f;
margin-bottom:5px;
}

.profile-card span{
color:#888;
font-size:14px;
}

.profile-card p{
margin-top:15px;
color:#555;
line-height:1.6;
font-size:14px;
}

/* TECH STACK */

.tech{
margin-top:20px;
}

.tech span{
display:inline-block;
background:#eef6ff;
color:#2b5d9f;
padding:6px 12px;
border-radius:20px;
margin:4px;
font-size:12px;
}

/* CONTACT */

.contact{
margin-top:20px;
font-size:14px;
color:#444;
}

/* CLOSE */

.close{
position:absolute;
top:15px;
right:20px;
font-size:22px;
cursor:pointer;
color:#999;
}

.close:hover{
color:#ff4d4d;
}