@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;700;800&display=swap');

:root{
--bg:#0b0f19;
--bg-secondary:#121826;
--card:#161d2d;
--primary:#00e5ff;
--secondary:#7c4dff;
--text:#ffffff;
--muted:#9ca3af;
--radius:24px;
--transition:.35s ease;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
}

body{
font-family:'Vazirmatn',sans-serif;
background:var(--bg);
color:var(--text);
overflow-x:hidden;
line-height:1.9;
}

/* Scrollbar */

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-track{
background:#0d1320;
}

::-webkit-scrollbar-thumb{
background:linear-gradient(
var(--primary),
var(--secondary)
);
border-radius:20px;
}

/* Loader */

#loader{
position:fixed;
inset:0;
background:#050811;
display:flex;
justify-content:center;
align-items:center;
z-index:99999;
}

.loader-circle{
width:70px;
height:70px;
border-radius:50%;
border:4px solid rgba(255,255,255,.1);
border-top-color:var(--primary);
animation:spin 1s linear infinite;
}

@keyframes spin{
to{
transform:rotate(360deg);
}
}

/* Header */

.header{
position:fixed;
top:0;
right:0;
width:100%;
z-index:999;
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 7%;
backdrop-filter:blur(15px);
background:rgba(11,15,25,.7);
border-bottom:1px solid rgba(255,255,255,.05);
}

.logo{
font-size:1.4rem;
font-weight:800;
color:var(--primary);
}

.header ul{
display:flex;
gap:35px;
list-style:none;
}

.header a{
text-decoration:none;
color:#fff;
transition:var(--transition);
}

.header a:hover{
color:var(--primary);
}

.menu-btn{
display:none;
background:none;
border:none;
color:white;
font-size:2rem;
cursor:pointer;
}

/* Hero */

.hero{
min-height:100vh;
position:relative;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
padding:120px 20px;
}

#three-container{
position:absolute;
inset:0;
z-index:1;
}

.hero-content{
position:relative;
z-index:2;
max-width:900px;
}

.hero h1{
font-size:4rem;
margin-bottom:15px;
}

.hero h2{
font-size:1.6rem;
color:var(--primary);
margin-bottom:25px;
}

.hero p{
color:var(--muted);
font-size:1.1rem;
margin-bottom:35px;
}

.btn{
display:inline-block;
padding:16px 36px;
border-radius:50px;
text-decoration:none;
color:white;
background:linear-gradient(
135deg,
var(--primary),
var(--secondary)
);
transition:var(--transition);
}

.btn:hover{
transform:translateY(-5px);
}

/* Sections */

.section{
padding:120px 8%;
}

.section-title{
text-align:center;
font-size:2.5rem;
margin-bottom:60px;
}

/* Cards */

.cards{
display:grid;
grid-template-columns:
repeat(auto-fit,minmax(280px,1fr));
gap:30px;
}

.card{
padding:35px;
border-radius:var(--radius);
background:var(--card);

box-shadow:
    12px 12px 24px rgba(0,0,0,.45),
   -8px -8px 18px rgba(255,255,255,.02);

transition:var(--transition);

}

.card:hover{
transform:translateY(-10px);
box-shadow:
    0 0 25px rgba(0,229,255,.25);

}

.card h3{
margin-bottom:15px;
color:var(--primary);
}

/* Skills */

.skills{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:20px;
}

.skills span{
padding:14px 24px;
border-radius:50px;
background:var(--card);

box-shadow:
    10px 10px 20px rgba(0,0,0,.4),
   -5px -5px 15px rgba(255,255,255,.03);

}

/* About */

.about-box{
max-width:900px;
margin:auto;
padding:40px;

background:var(--card);

border-radius:var(--radius);

box-shadow:
    12px 12px 25px rgba(0,0,0,.4),
   -5px -5px 15px rgba(255,255,255,.02);
}

.about-box p{
color:var(--muted);
text-align:center;
}

/* Contact */

.contact-box{
max-width:700px;
margin:auto;
text-align:center;

background:var(--card);

border-radius:var(--radius);

padding:40px;
}

.contact-box p{
margin-top:15px;
}

.contact-box a{
display:block;
color:var(--primary);
text-decoration:none;
margin-bottom:15px;
}

/* Footer */

footer{
padding:40px 20px;
text-align:center;
border-top:1px solid rgba(255,255,255,.05);
}

.footer-links{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:25px;
margin-bottom:20px;
}

.footer-links a{
text-decoration:none;
color:white;
}

.footer-links a:hover{
color:var(--primary);
}

/* Glow Effects */

.card::before{
content:'';
position:absolute;
inset:0;
border-radius:inherit;
pointer-events:none;
}

.card{
position:relative;
overflow:hidden;
}

/* Responsive */

@media(max-width:992px){
.hero h1{
    font-size:3rem;
}

.hero h2{
    font-size:1.3rem;
}
}

@media(max-width:768px){

.header ul{
    display:none;
}

.menu-btn{
    display:block;
}

.hero h1{
    font-size:2.3rem;
}

.section{
    padding:90px 20px;
}

.section-title{
    font-size:2rem;
}

}

@media(max-width:480px){

.hero h1{
    font-size:2rem;
}

.hero p{
    font-size:.95rem;
}

.btn{
    width:100%;
    text-align:center;
}

}

.card,
.about-box,
.contact-box{
    opacity:0;
    transform:translateY(50px);
    transition:all .8s ease;
}

.show{
    opacity:1;
    transform:translateY(0);
}

.whatsapp-btn{
    position:fixed;
    bottom:25px;
    left:25px;
    width:60px;
    height:60px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    background:#25D366;
    color:#fff;
    z-index:999;
}
.header ul{
    transition:.4s;
}