:root{

--bg-dark:#050505;
--bg-surface:#111111;
--bg-card:#181818;

--text-main:#f3f3f3;
--text-muted:#9d9d9d;

--primary:#6366f1;
--primary-hover:#4f46e5;
--accent:#06b6d4;

--radius:16px;

--font-main:'Poppins',sans-serif;
--font-code:'Fira Code',monospace;

}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:var(--font-main);
background:var(--bg-dark);
color:var(--text-main);
overflow-x:hidden;
line-height:1.7;

}

a{
text-decoration:none;
color:inherit;
}

img{
display:block;
max-width:100%;
}

.section{

padding:110px 9%;

}

.dark-section{

background:var(--bg-surface);

}

.container{

max-width:1300px;
margin:auto;

}
.navbar{

position:fixed;

top:0;
left:0;

width:100%;

padding:22px 9%;

display:flex;
justify-content:space-between;
align-items:center;

background:rgba(5,5,5,.78);

backdrop-filter:blur(18px);

z-index:999;

border-bottom:1px solid rgba(255,255,255,.05);

}

.logo{

font-family:var(--font-code);

font-size:1.5rem;

font-weight:700;

letter-spacing:3px;

}

.nav-links{

display:flex;

gap:32px;

align-items:center;

list-style:none;

}

.nav-links a{

color:var(--text-muted);

transition:.3s;

}

.nav-links a:hover{

color:white;

}

.btn-outline{

padding:10px 18px;

border:1px solid rgba(255,255,255,.15);

border-radius:8px;

}

.btn-outline:hover{

background:white;

color:black;

}
.hero{

min-height:100vh;

display:flex;

align-items:center;

padding-top:170px;

padding-bottom:70px;

background:

radial-gradient(circle at top right,#1d1d3f 0%,transparent 45%),

radial-gradient(circle at bottom left,#081f25 0%,transparent 35%),

#050505;

}

.hero-wrapper{

display:flex;

justify-content:center;

align-items:center;

gap:140px;

width:100%;

max-width:1450px;

margin:0 auto;

}

.hero-content{

flex:1;

max-width:700px;

margin-left:40px;

}
.hero h1{

font-size:clamp(3.5rem,5vw,5.2rem);

line-height:1.08;

margin-bottom:25px;

}

.gradient-text{

background:linear-gradient(135deg,#6366f1,#06b6d4);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

}

.hero p{

max-width:620px;

font-size:1.15rem;

color:var(--text-muted);

margin-bottom:35px;

}

.hero-buttons{

display:flex;

gap:18px;

flex-wrap:wrap;

}

.btn-primary{

padding:14px 28px;

background:var(--primary);

border-radius:10px;

color:white;

transition:.3s;

}

.btn-primary:hover{

background:var(--primary-hover);

transform:translateY(-3px);

}

.btn-secondary{

padding:14px 28px;

background:rgba(255,255,255,.06);

border-radius:10px;

transition:.3s;

}

.btn-secondary:hover{

background:rgba(255,255,255,.12);

}
.hero-image{
    width:360px;
    height:360px;

    border-radius:50%;
    overflow:hidden;

    background:#111;

    border:3px solid rgba(255,255,255,.08);

    box-shadow:
        0 0 0 10px rgba(99,102,241,.05),
        0 0 60px rgba(99,102,241,.18);

    flex-shrink:0;
}

.hero-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:50%;
}
.stats-grid{

display:grid;

grid-template-columns:repeat(4, minmax(180px, 1fr));

gap:25px;

margin-top:20px;

max-width:1000px;

margin-left:auto;

margin-right:auto;

}
.stat-card{

display:flex;

flex-direction:column;

justify-content:center;

align-items:center;

min-height:170px;

}
.stat-card:hover{

transform:translateY(-8px);

border-color:var(--primary);

box-shadow:0 15px 40px rgba(99,102,241,.15);

}

.stat-card h2{

font-size:2.5rem;

color:var(--primary);

font-family:var(--font-code);

margin-bottom:10px;

}

.stat-card p{

color:var(--text-muted);

}
.about-content{

max-width:900px;

}

.about-content p{

margin-bottom:25px;

font-size:1.08rem;

color:var(--text-muted);

}

.about-content strong{

color:var(--primary);

}
.section-title{

font-size:2.7rem;

font-family:var(--font-code);

margin-bottom:60px;

display:inline-block;

position:relative;

}

.section-title::after{

content:"";

position:absolute;

left:0;

bottom:-12px;

width:70px;

height:4px;

background:var(--primary);

border-radius:20px;

}
.project-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(330px,1fr));

gap:28px;

}

.project-card{

background:var(--bg-card);

padding:35px;

border-radius:18px;

border:1px solid rgba(255,255,255,.05);

transition:.35s;

height:100%;

}

.project-card:hover{

transform:translateY(-10px);

border-color:var(--primary);

box-shadow:0 20px 45px rgba(99,102,241,.15);

}

.project-card h3{

font-size:1.35rem;

margin-bottom:20px;

font-family:var(--font-code);

}

.project-card p{

color:var(--text-muted);

margin-bottom:25px;

}

.tags{

display:flex;

flex-wrap:wrap;

gap:10px;

}

.tags span{

background:rgba(99,102,241,.12);

padding:6px 12px;

border-radius:20px;

font-size:.82rem;

color:var(--accent);

font-family:var(--font-code);

}
.skills-wrapper{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:25px;

}

.skill-category{

background:var(--bg-card);

padding:35px;

border-radius:18px;

border:1px solid rgba(255,255,255,.05);

transition:.35s;

}

.skill-category:hover{

transform:translateY(-8px);

border-color:var(--primary);

}

.skill-category h3{

margin-bottom:25px;

font-family:var(--font-code);

color:var(--primary);

}

.skill-category ul{

list-style:none;

}

.skill-category li{

margin-bottom:12px;

padding-left:22px;

position:relative;

color:var(--text-muted);

}

.skill-category li::before{

content:"▹";

position:absolute;

left:0;

color:var(--accent);

}
.timeline{

max-width:900px;

margin:auto;

}

.timeline-item{

background:var(--bg-card);

padding:35px;

margin-bottom:30px;

border-left:4px solid var(--primary);

border-radius:12px;

}

.timeline-item h3{

margin-bottom:8px;

}

.timeline-item span{

display:block;

margin-bottom:15px;

color:var(--accent);

font-size:.95rem;

}

.timeline-item p{

color:var(--text-muted);

}
/* ===== Footer ===== */

footer{

background:#090909;

padding:80px 9%;

border-top:1px solid rgba(255,255,255,.05);

}

.text-center{

text-align:center;

}

footer p{

color:var(--text-muted);

margin-top:15px;

}

footer .hero-buttons{

justify-content:center;

margin-top:35px;

}



/* ===== Reveal Animation ===== */

.reveal{

opacity:0;

transform:translateY(40px);

transition:all .8s ease;

}

.reveal.active{

opacity:1;

transform:translateY(0);

}



/* ===== Scrollbar ===== */

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#050505;

}

::-webkit-scrollbar-thumb{

background:#303030;

border-radius:30px;

}

::-webkit-scrollbar-thumb:hover{

background:var(--primary);

}



/* ===== Selection ===== */

::selection{

background:var(--primary);

color:white;

}



/* ===== Hover ===== */

img{

transition:.4s;

}

.hero-image:hover{

transform:scale(1.03);

}

.project-card:hover h3{

color:var(--primary);

}



/* ===== Mobile ===== */

@media(max-width:992px){

.hero-wrapper{

flex-direction:column-reverse;

text-align:center;

gap:50px;

}

.hero-content{

max-width:100%;

margin-left: 0;

}

.hero-buttons{

justify-content:center;

}

.nav-links{

display:none;

position:absolute;

top:100%;

left:0;

width:100%;

background:#090909;

padding:35px 0;

flex-direction:column;

}

.nav-links.active{

display:flex;

}

.menu-toggle{

display:block;

}

.hero-image{

width:260px;

height:260px;

}

}

@media(max-width:768px){

.section{

padding:80px 6%;

}

.hero h1{

font-size:2.6rem;

}

.project-grid{

grid-template-columns:1fr;

}

.skills-wrapper{

grid-template-columns:1fr;

}

.stats-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

width:100%;

max-width:none;

margin:50px 0;

}

.section-title{

font-size:2.1rem;

}

}

@media(max-width:520px){

.stats-grid{

grid-template-columns:1fr;

}

.hero-buttons a{

width:100%;

text-align:center;

}

.hero-image{

width:210px;

height:210px;

}

}
