/* ===========================
   GOOGLE FONT & RESET
=========================== */

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

:root{

    --bg:#050816;
    --card:rgba(255,255,255,.06);
    --border:rgba(255,255,255,.10);

    --primary:#7C3AED;
    --secondary:#06B6D4;

    --text:#ffffff;
    --text2:#b6b6b6;

}

body{

    font-family:'Poppins',sans-serif;
    background:var(--bg);
    color:white;
    overflow-x:hidden;
    position:relative;

}

/* ===========================
   AURORA BACKGROUND
=========================== */

body::before{

content:"";
position:fixed;
width:500px;
height:500px;
background:#7c3aed55;
border-radius:50%;
filter:blur(180px);
top:-150px;
left:-150px;
z-index:-3;
animation:move1 10s infinite alternate;

}

body::after{

content:"";
position:fixed;
width:500px;
height:500px;
background:#06b6d455;
border-radius:50%;
filter:blur(180px);
bottom:-150px;
right:-150px;
z-index:-3;
animation:move2 10s infinite alternate;

}

@keyframes move1{

0%{

transform:translate(0,0);

}

100%{

transform:translate(150px,120px);

}

}

@keyframes move2{

0%{

transform:translate(0,0);

}

100%{

transform:translate(-150px,-120px);

}

}

/* ===========================
   PARTICLES
=========================== */

#particles{

position:fixed;
width:100%;
height:100%;
top:0;
left:0;
z-index:-2;

}

/* ===========================
   CURSOR
=========================== */

.cursor{

width:20px;
height:20px;
position:fixed;
border-radius:50%;
background:var(--secondary);
pointer-events:none;
mix-blend-mode:screen;
filter:blur(2px);
transform:translate(-50%,-50%);
transition:.08s;
z-index:9999;

}

/* ===========================
   NAVBAR
=========================== */

nav{

position:fixed;
top:0;
left:0;

width:100%;

padding:20px 8%;

display:flex;

justify-content:space-between;

align-items:center;

background:rgba(0,0,0,.35);

backdrop-filter:blur(15px);

border-bottom:1px solid rgba(255,255,255,.05);

z-index:1000;

}

.logo{

font-size:30px;

font-weight:700;

background:linear-gradient(45deg,var(--primary),var(--secondary));

background-clip:text;

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

}

nav ul{

display:flex;

list-style:none;

gap:35px;

}

nav ul li a{

color:white;

text-decoration:none;

transition:.35s;

font-size:16px;

}

nav ul li a:hover{

color:var(--secondary);

}

.menu{

display:none;

font-size:30px;

cursor:pointer;

}

/* ===========================
   HERO
=========================== */

.hero{

min-height:100vh;

padding:120px 10%;

display:grid;

grid-template-columns:1fr 1fr;

align-items:center;

gap:50px;

}

.hero-left h4{

font-size:22px;

color:var(--secondary);

margin-bottom:15px;

}

.hero-left h1{

font-size:72px;

font-weight:800;

line-height:1.1;

margin-bottom:15px;

}

.hero-left h2{

font-size:34px;

color:var(--primary);

height:45px;

margin-bottom:25px;

}

.hero-left p{

font-size:18px;

line-height:1.8;

color:var(--text2);

max-width:600px;

}

/* ===========================
   BUTTONS
=========================== */

.buttons{

display:flex;

gap:20px;

margin-top:40px;

}

.btn{

padding:15px 38px;

background:linear-gradient(45deg,var(--primary),var(--secondary));

border-radius:50px;

text-decoration:none;

font-weight:600;

color:white;

transition:.35s;

box-shadow:0 0 25px rgba(124,58,237,.3);

}

.btn:hover{

transform:translateY(-5px);

box-shadow:0 10px 35px rgba(124,58,237,.5);

}

.outline{

background:transparent;

border:2px solid var(--secondary);

}

.outline:hover{

background:var(--secondary);

color:#000;

}

/* ===========================
   PROFILE CARD
=========================== */

.hero-right{

display:flex;

justify-content:center;

}

.profile-card{

width:380px;

height:380px;

border-radius:30px;

background:var(--card);

border:1px solid var(--border);

backdrop-filter:blur(20px);

display:flex;

justify-content:center;

align-items:center;

animation:float 5s ease-in-out infinite;

box-shadow:0 0 40px rgba(0,0,0,.25);

}

.profile-card img{

width:90%;

border-radius:25px;

}

@keyframes float{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-20px);

}

100%{

transform:translateY(0);

}

}

/* ===========================
   SECTION TITLE
=========================== */

.title{

font-size:42px;

text-align:center;

margin-bottom:60px;

font-weight:700;

background:linear-gradient(45deg,var(--primary),var(--secondary));

background-clip:text;

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

}

/* ===========================
   GLASS CARD
=========================== */

.glass{

background:var(--card);

border:1px solid var(--border);

backdrop-filter:blur(18px);

padding:45px;

border-radius:25px;

line-height:2;

color:var(--text2);

font-size:18px;

transition:.35s;

}

.glass:hover{

transform:translateY(-8px);

box-shadow:0 20px 45px rgba(0,0,0,.3);

}
/* ======================================================
   SECTIONS
====================================================== */

section{
    padding:100px 10%;
    position:relative;
}

/* ======================================================
   SKILLS
====================================================== */

.skills{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:30px;

    margin-top:50px;

}

.skill{

    background:rgba(255,255,255,.05);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.08);

    border-radius:22px;

    padding:40px 20px;

    text-align:center;

    transition:.4s;

    cursor:pointer;

    overflow:hidden;

    position:relative;

}

.skill::before{

content:"";

position:absolute;

width:180px;

height:180px;

background:rgba(124,58,237,.15);

border-radius:50%;

top:-90px;

right:-90px;

transition:.5s;

}

.skill:hover::before{

transform:scale(2);

}

.skill:hover{

transform:translateY(-12px);

box-shadow:

0 15px 40px rgba(0,0,0,.35),

0 0 25px rgba(124,58,237,.25);

border-color:#7C3AED;

}

.skill i{

font-size:60px;

margin-bottom:25px;

background:linear-gradient(45deg,#7C3AED,#06B6D4);

background-clip:text;

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

transition:.4s;

}

.skill:hover i{

transform:rotate(8deg) scale(1.15);

}

.skill h3{

font-size:22px;

margin-bottom:15px;

}

.skill p{

font-size:15px;

line-height:1.8;

color:var(--text2);

}

/* ======================================================
   PROJECTS
====================================================== */

.project-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(340px,1fr));

gap:35px;

margin-top:50px;

}

.card{

background:rgba(255,255,255,.05);

backdrop-filter:blur(18px);

border:1px solid rgba(255,255,255,.08);

border-radius:25px;

overflow:hidden;

transition:.45s;

position:relative;

}

.card::after{

content:"";

position:absolute;

inset:0;

background:linear-gradient(
180deg,
transparent,
rgba(124,58,237,.08)
);

opacity:0;

transition:.4s;

pointer-events:none;

}

.card:hover::after{

opacity:1;

}

.card:hover{

transform:

translateY(-15px)

rotateX(4deg);

box-shadow:

0 20px 45px rgba(0,0,0,.4),

0 0 30px rgba(6,182,212,.25);

}

.card img{

width:100%;

height:230px;

object-fit:cover;

transition:.6s;

display:block;

}

.card:hover img{

transform:scale(1.08);

}

.card h3{

font-size:24px;

padding:25px 25px 10px;

}

.card p{

padding:0 25px;

color:var(--text2);

line-height:1.8;

font-size:15px;

}

.links{

display:flex;

justify-content:space-between;

padding:25px;

margin-top:15px;

}

.links a{

text-decoration:none;

padding:12px 22px;

border-radius:40px;

background:rgba(255,255,255,.06);

color:white;

transition:.35s;

display:flex;

align-items:center;

gap:10px;

font-size:14px;

}

.links a:hover{

background:linear-gradient(
45deg,
#7C3AED,
#06B6D4
);

transform:translateY(-4px);

}

.links i{

font-size:16px;

}

/* ======================================================
   IMAGE GLOW
====================================================== */

.card img{

position:relative;

}

.card:hover img{

filter:

brightness(1.05)

contrast(1.05);

}

/* ======================================================
   PROJECT TAGS
====================================================== */

.tags{

display:flex;

flex-wrap:wrap;

gap:10px;

padding:20px 25px 0;

}

.tags span{

padding:8px 15px;

border-radius:25px;

font-size:13px;

background:rgba(124,58,237,.15);

border:1px solid rgba(124,58,237,.3);

color:#d9c8ff;

transition:.3s;

}

.tags span:hover{

background:#7C3AED;

color:white;

}

/* ======================================================
   HOVER SHINE EFFECT
====================================================== */

.card::before{

content:"";

position:absolute;

top:-120%;

left:-30%;

width:80px;

height:300%;

background:rgba(255,255,255,.18);

transform:rotate(25deg);

transition:.7s;

}

.card:hover::before{

left:120%;

}

/* ======================================================
   FLOATING ANIMATION
====================================================== */

@keyframes floatCard{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-10px);

}

100%{

transform:translateY(0);

}

}

.card:nth-child(2){

animation:floatCard 6s infinite ease-in-out;

}

.card:nth-child(3){

animation:floatCard 7s infinite ease-in-out;

}

/* ======================================================
   PROJECT GRID RESPONSIVE
====================================================== */

@media(max-width:992px){

.project-grid{

grid-template-columns:1fr;

}

}

@media(max-width:768px){

.skills{

grid-template-columns:1fr;

}

.skill{

padding:35px 20px;

}

.card h3{

font-size:22px;

}

.links{

flex-direction:column;

gap:15px;

}

.links a{

justify-content:center;

}

}
/* ========================================
   TIMELINE
======================================== */

.timeline{
    position:relative;
    max-width:900px;
    margin:60px auto;
}

.timeline::before{
    content:"";
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    width:4px;
    height:100%;
    background:linear-gradient(var(--primary),var(--secondary));
    border-radius:20px;
}

.item{
    width:45%;
    background:var(--card);
    backdrop-filter:blur(15px);
    border:1px solid var(--border);
    padding:25px;
    border-radius:20px;
    margin-bottom:40px;
    position:relative;
    transition:.4s;
}

.item:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,.35);
}

.item:nth-child(odd){
    margin-right:auto;
}

.item:nth-child(even){
    margin-left:auto;
}

.item::after{
    content:"";
    position:absolute;
    width:18px;
    height:18px;
    background:var(--secondary);
    border-radius:50%;
    top:30px;
}

.item:nth-child(odd)::after{
    right:-47px;
}

.item:nth-child(even)::after{
    left:-47px;
}

.item h3{
    color:white;
    margin-bottom:12px;
}

.item p{
    color:var(--text2);
    line-height:1.8;
}

/* ========================================
   CONTACT
======================================== */

form{
    max-width:700px;
    margin:auto;
    display:flex;
    flex-direction:column;
    gap:20px;
}

form input,
form textarea{

    width:100%;
    padding:18px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    color:white;

    border-radius:15px;

    outline:none;

    font-size:16px;

    transition:.3s;

}

form textarea{

    resize:none;

    height:180px;

}

form input:focus,
form textarea:focus{

    border-color:var(--secondary);

    box-shadow:0 0 15px rgba(6,182,212,.25);

}

form button{

    border:none;

    padding:18px;

    border-radius:50px;

    font-size:17px;

    font-weight:600;

    cursor:pointer;

    background:linear-gradient(45deg,var(--primary),var(--secondary));

    color:white;

    transition:.35s;

}

form button:hover{

    transform:translateY(-4px);

    box-shadow:0 15px 35px rgba(124,58,237,.35);

}

/* ========================================
   FOOTER
======================================== */

footer{

    margin-top:100px;

    padding:40px;

    text-align:center;

    background:#030511;

    border-top:1px solid rgba(255,255,255,.05);

    color:var(--text2);

}

footer p{

    margin-top:10px;

}

.socials{

    margin-top:20px;

    display:flex;

    justify-content:center;

    gap:18px;

}

.socials a{

    width:50px;

    height:50px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(255,255,255,.05);

    color:white;

    text-decoration:none;

    transition:.35s;

}

.socials a:hover{

    background:linear-gradient(45deg,var(--primary),var(--secondary));

    transform:translateY(-5px);

}

/* ========================================
   SCROLL BUTTON
======================================== */

#topBtn{

    position:fixed;

    right:30px;

    bottom:30px;

    width:55px;

    height:55px;

    border-radius:50%;

    background:linear-gradient(45deg,var(--primary),var(--secondary));

    color:white;

    border:none;

    cursor:pointer;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

    opacity:0;

    pointer-events:none;

    transition:.4s;

    z-index:999;

}

#topBtn.show{

    opacity:1;

    pointer-events:auto;

}

/* ========================================
   SCROLLBAR
======================================== */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#070b18;

}

::-webkit-scrollbar-thumb{

    background:linear-gradient(var(--primary),var(--secondary));

    border-radius:20px;

}

/* ========================================
   RESPONSIVE
======================================== */

@media(max-width:992px){

.hero{

grid-template-columns:1fr;

text-align:center;

}

.hero-left{

order:2;

}

.hero-right{

order:1;

margin-bottom:40px;

}

.profile-card{

width:300px;

height:300px;

}

.hero-left h1{

font-size:55px;

}

.timeline::before{

left:20px;

}

.item{

width:calc(100% - 60px);

margin-left:60px !important;

}

.item::after{

left:-49px !important;

}

}

@media(max-width:768px){

nav{

padding:18px 6%;

}

nav ul{

display:none;

}

.menu{

display:block;

}

.hero{

padding-top:120px;

}

.hero-left h1{

font-size:42px;

}

.hero-left h2{

font-size:24px;

}

.hero-left p{

font-size:16px;

}

.buttons{

flex-direction:column;

align-items:center;

}

.btn{

width:220px;

text-align:center;

}

.title{

font-size:34px;

}

section{

padding:80px 7%;

}

}

@media(max-width:500px){

.profile-card{

width:250px;

height:250px;

}

.hero-left h1{

font-size:34px;

}

.hero-left h2{

font-size:20px;

}

.title{

font-size:28px;

}

.skill{

padding:30px 18px;

}

.card img{

height:200px;

}

}

/* ========================================
   SMALL FADE ANIMATION
======================================== */

.fade-up{

animation:fadeUp .8s ease forwards;

}

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:translateY(0);

}

}
/* Loader */

.loader{
position:fixed;
width:100%;
height:100vh;
background:#050816;
display:flex;
justify-content:center;
align-items:center;
z-index:999999;
transition:.6s;
}

.loader h1{
font-size:90px;
background:linear-gradient(45deg,#7C3AED,#06B6D4);
background-clip:text;
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

/* Floating Blobs */

.blob{
position:fixed;
width:180px;
height:180px;
border-radius:50%;
filter:blur(90px);
z-index:-2;
opacity:.35;
}

.blob1{
background:#7C3AED;
top:10%;
left:5%;
}

.blob2{
background:#06B6D4;
right:10%;
top:50%;
}

.blob3{
background:#9333EA;
left:40%;
bottom:5%;
}