/*=========================================
Google Font
=========================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
font-family:'Poppins',sans-serif;
}

body{

background:#0f0f0f;
color:#fff;
overflow-x:hidden;

}

/* Scrollbar */

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-track{
background:#161616;
}

::-webkit-scrollbar-thumb{
background:#ff7a00;
border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{

background:#ff9500;

}




/* Section */

section{

padding:100px 9%;

}

.section-title{
font-size:42px;
text-align:center;
margin-bottom:70px;
font-weight:700;
position:relative;
display:inline-block;
left:50%;
transform:translateX(-50%);
}

.section-title::after{
content:"";
position:absolute;
left:50%;
bottom:-12px;
transform:translateX(-50%);
width:90px;
height:4px;
background:linear-gradient(90deg,#ff7a00,#9d4edd);
border-radius:50px;
}

/*==============================
Navigation
===============================*/

header{
position:fixed;
top:0;
left:0;
width:100%;
padding:20px 9%;
background:rgba(15,15,15,.85);
backdrop-filter:blur(12px);
z-index:999;
}

nav{
display:flex;
justify-content:space-between;
align-items:center;
}

.logo{
font-size:32px;
font-weight:700;
color:#fff;
}

.logo span{
color:#ff7a00;
}

.nav-links{

display:flex;

list-style:none;

gap:35px;

}

.nav-links a{
text-decoration:none;
color:#fff;
font-size:17px;
transition:.35s;
position:relative;
}

.nav-links a:hover{
color:#ff7a00;
}

.nav-links a::after{
content:"";
position:absolute;
left:0;
bottom:-8px;
width:0;
height:2px;
background:#ff7a00;
transition:.4s;
}

.nav-links a:hover::after{
width:100%;
}

.menu-btn{
display:none;
font-size:30px;
cursor:pointer;
color:white;
}



/*==============================
Hero Section
==============================*/

.hero{

display:flex;

justify-content:space-between;

align-items:center;

min-height:100vh;

gap:70px;

}

.hero-content{

flex:1;

}

.hello{

color:#ff7a00;

font-size:22px;

margin-bottom:15px;

}

.hero-content h1{

font-size:70px;

margin-bottom:15px;

line-height:1.1;

}

.hero-content h2{

font-size:32px;

font-weight:500;

margin-bottom:20px;

color:#9d4edd;

}

.intro{

color:#cfcfcf;

font-size:18px;

line-height:1.8;

max-width:650px;

margin-bottom:35px;

}

.buttons{

display:flex;

gap:20px;

}

.btn{

padding:14px 36px;

border-radius:50px;

background:#ff7a00;

text-decoration:none;

color:white;

font-weight:600;

transition:.4s;

box-shadow:0 0 20px rgba(255,122,0,.3);

}

.btn:hover{

transform:translateY(-5px);

background:#ff9500;

}

.secondary{

background:transparent;

border:2px solid #9d4edd;

}

.secondary:hover{

background:#9d4edd;

}

/*==============================
Profile Image
==============================*/

.hero-image{

flex:1;

display:flex;

justify-content:center;

}

.hero-image img{

width:420px;

height:420px;

border-radius:50%;

object-fit:cover;

border:8px solid #222;

box-shadow:

0 0 40px rgba(157,78,221,.4),

0 0 80px rgba(255,122,0,.25);

transition:.5s;

}

.hero-image img:hover{

transform:scale(1.05);

}

/* Floating Circle */

.hero{

position:relative;

overflow:hidden;

}

.hero::before{

content:"";

position:absolute;

width:450px;

height:450px;

background:#9d4edd;

border-radius:50%;

filter:blur(180px);

opacity:.15;

right:-150px;

top:-120px;

}

.hero::after{

content:"";

position:absolute;

width:350px;

height:350px;

background:#ff7a00;

border-radius:50%;

filter:blur(180px);

left:-150px;

bottom:-120px;

opacity:.12;

}


/*====================================
ABOUT SECTION
====================================*/

.about-container{
display:flex;
justify-content:space-between;
align-items:center;
gap:100px;
flex-wrap:wrap;
}

.about-image{
flex:1;
display:flex;
justify-content:center;
}

.about-image img{
width:460px;
height:460px;
object-fit:cover;
border-radius:25px;
border:4px solid #040404;
box-shadow:
0 20px 40px rgba(0,0,0,.5),
0 0 30px rgba(3, 0, 5, 0.35);
transition:.5s;
}

.about-image img:hover{
transform:rotate(-3deg) scale(1.03);
}

.about-text{
flex:1;
}

.about-text p{
font-size:20px;
line-height:1.9;
color:#d5d5d5;
margin-bottom:20px;
}

.info{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

margin-top:30px;

}

.info p{

background:#1c1c1c;

padding:15px 20px;

border-left:4px solid #9d4edd;

border-radius:12px;

transition:.4s;

}

.info p:hover{

transform:translateY(-5px);

background:#242424;

}


/*====================================
SKILLS
====================================*/

.skills-container{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:30px;

}

.skill-card{

background:#1b1b1b;

padding:35px;

text-align:center;

border-radius:18px;

transition:.4s;

border:1px solid #2a2a2a;

position:relative;

overflow:hidden;

}

.skill-card::before{

content:"";

position:absolute;

top:-60px;

right:-60px;

width:120px;

height:120px;

background:#9d4edd;

border-radius:50%;

opacity:.08;

transition:.5s;

}

.skill-card:hover::before{

transform:scale(3);

}

.skill-card:hover{

transform:translateY(-12px);

border-color:#ff7a00;

box-shadow:
0 15px 35px rgba(0,0,0,.45),
0 0 25px rgba(255,122,0,.2);

}

.skill-card i{

font-size:60px;

margin-bottom:20px;

color:#ff7a00;

transition:.4s;

}

.skill-card:hover i{

transform:rotate(10deg) scale(1.1);

color:#9d4edd;

}

.skill-card h3{

font-size:22px;

margin-bottom:15px;

}

.skill-card p{

font-size:15px;

color:#c7c7c7;

line-height:1.7;

}


/*====================================
EXPERIENCE
====================================*/

.timeline{

position:relative;

max-width:900px;

margin:auto;

padding-left:30px;

}

.timeline::before{

content:"";

position:absolute;

left:40px;

top:0;

width:4px;

height:100%;

background:linear-gradient(#ff7a00,#9d4edd);

border-radius:20px;

}

.timeline-item{

position:relative;

display:flex;

gap:30px;

margin-bottom:60px;

align-items:flex-start;

}

.timeline-item:last-child{

margin-bottom:0;

}

.timeline .icon{

min-width:80px;

height:80px;

background:#1f1f1f;

border:4px solid #ff7a00;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

font-size:30px;

color:#ff7a00;

z-index:10;

transition:.4s;

}

.timeline-item:hover .icon{

background:#ff7a00;

color:white;

transform:rotate(12deg);

}

.timeline .content{

flex:1;

background:#1b1b1b;

padding:30px;

border-radius:18px;

border-left:5px solid #9d4edd;

transition:.4s;

box-shadow:0 10px 25px rgba(0,0,0,.35);

}

.timeline .content:hover{

transform:translateY(-8px);

box-shadow:
0 15px 35px rgba(0,0,0,.5),
0 0 25px rgba(157,78,221,.2);

}

.timeline h3{

font-size:28px;

margin-bottom:10px;

color:#ff7a00;

}

.timeline h4{

font-size:20px;

margin-bottom:10px;

color:#f7f6f5;

}

.timeline span{

display:inline-block;

margin-bottom:18px;

padding:6px 18px;

border-radius:30px;

background:#2b2b2b;

color:#bdbdbd;

font-size:14px;

}

.timeline li{

color:#d5d5d5;
padding-left: 10px;
line-height:1.8;

}

.project-btn{
    margin-top: 20px;
    display: inline-block;
}






/*====================================
SECTION ANIMATION
====================================*/

.about-container,
.skills-container,
.timeline{

animation:fadeUp 1s ease;

}

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(50px);

}

to{

opacity:1;

transform:translateY(0);

}

}




/*====================================
PROJECTS SECTION
====================================*/

#projects {
    padding: 80px 8%;
    background: #010106;
}

.project-container {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:2rem;
}

@media (max-width:900px){
    .project-container{
        grid-template-columns:1fr;
    }
}

.project-card{
    background:#1b1b1b;
    border-radius:30px;
    padding:1.6rem 1.8rem 2.2rem;
    border:1px solid #d29b1bac;
    display:flex;
    flex-direction:column;
    min-height:560px;
}

.project-card:hover {
    transform: translateY(-14px);
    box-shadow: 0 30px 50px rgba(108, 99, 255, 0.08);
    border-color: #d29b1bac;
}

.project-card img {
    height: 180px;
    width: 100%;
    object-fit: cover;
    border-radius: 24px;
    background: #ff7a00;
    margin-bottom: 1rem;
}

.project-card h3 {
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 0.2rem;
}

.project-card p{
    color:#d5d5d5;
    font-size:.95rem;
    line-height:1.6;
    flex:1;

    overflow:hidden;

    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:5;
}

.tech-stack{
    display:flex;
    flex-wrap:wrap;
    gap:.6rem;
    margin:.2rem 0 1.2rem;
    max-height:60px;
    overflow:hidden;
}

.tech-stack span {
    background: #2d2d2d;
    padding: 0.2rem 1rem;
    border-radius: 40px;
    font-size: 0.7rem;
    font-weight: 500;
    color: #ffb703;
}

.tech-stack span:hover{
    background: #ffb703;
    color: #111;
}


.project-buttons{
    display:flex;
    gap:.8rem;
    flex-wrap:wrap;

    margin-top:auto;
}

.project-btn {
    padding: 8px 20px;
    font-size: 0.85rem;
    background: #ffb703;
    color: #111;
    border-radius: 40px;
    transition: 0.2s;
    border: none;
    display: inline-block;
}

.project-btn:hover {
    background: #ffd166;
    transform: translateY(-2px);
}

.live-btn {
    background: transparent;
    border: 1.5px solid #ffb703;
    color: #ffb703;
    padding: 8px 20px;
    font-size: 0.85rem;
    border-radius: 40px;
    transition: 0.2s;
    display: inline-block;
    margin-top: 20px;
}

.live-btn:hover {
    background: #ffb703;
    color: #111;
}









/*====================================
CONTACT SECTION
====================================*/

.contact-container{

display:grid;

grid-template-columns:1fr 1fr;

gap:50px;

align-items:start;

}

.contact-info{

background:#1b1b1b;

padding:40px;

border-radius:20px;

border:1px solid #292929;

}

.contact-info h3{

font-size:30px;

margin-bottom:20px;

color:#ff7a00;

}

.contact-info p{

margin-bottom:20px;

font-size:17px;

color:#d5d5d5;

display:flex;

align-items:center;

gap:12px;

}

.contact-info i{

color:#ff7a00;

font-size:20px;

}


/*====================================
SOCIAL ICONS
====================================*/

.social{

margin-top:25px;

display:flex;

gap:15px;

}

.social a{

width:50px;

height:50px;

display:flex;

justify-content:center;

align-items:center;

background:#252525;

border-radius:50%;

text-decoration:none;

color:white;

font-size:20px;

transition:.4s;

}

.social a:hover{

background:#ff7a00;

transform:translateY(-6px);

}


/*====================================
CONTACT FORM
====================================*/

form{

background:#1b1b1b;

padding:40px;

border-radius:20px;

border:1px solid #292929;

display:flex;

flex-direction:column;

gap:20px;

}

form input,
form textarea{

width:100%;

padding:16px;

border:none;

outline:none;

background:#252525;

color:white;

border-radius:12px;

font-size:16px;

}

form input:focus,
form textarea:focus{

border:2px solid #ff7a00;

}

form button{

padding:15px;

border:none;

border-radius:30px;

background:#ff7a00;

color:white;

font-size:17px;

font-weight:600;

cursor:pointer;

transition:.4s;

}

form button:hover{

background:#9d4edd;

transform:translateY(-4px);

}


/*====================================
FOOTER
====================================*/

footer{

padding:30px;

text-align:center;

background:#111111;

border-top:1px solid #242424;

margin-top:60px;

}

footer p{

color:#bdbdbd;

font-size:15px;

letter-spacing:.5px;

}


/*====================================
BACK TO TOP BUTTON
====================================*/

.top-btn{

position:fixed;

right:25px;

bottom:25px;

width:55px;

height:55px;

border-radius:50%;

background:#ff7a00;

color:white;

display:flex;

justify-content:center;

align-items:center;

font-size:22px;

cursor:pointer;

z-index:999;

opacity:0;

visibility:hidden;

transition:.4s;

box-shadow:0 0 20px rgba(255,122,0,.4);

}

.top-btn.show{

opacity:1;

visibility:visible;

}

.top-btn:hover{

background:#9d4edd;

transform:translateY(-5px);

}


/*====================================
PROJECT CARD OVERLAY EFFECT
====================================*/

.project-card::before{

content:"";

position:absolute;

top:0;

left:-100%;

width:100%;

height:100%;

background:linear-gradient(
90deg,
transparent,
rgba(255,255,255,.08),
transparent
);

transition:.8s;

}

.project-card:hover::before{

left:100%;

}


/*====================================
CONTACT GLOW EFFECT
====================================*/

.contact-info:hover,
form:hover{

box-shadow:
0 15px 35px rgba(0,0,0,.4),
0 0 25px rgba(157,78,221,.15);

transition:.5s;

}


/*====================================
MOBILE MENU
====================================*/

@media (max-width:991px){

.menu-btn{

display:block;

z-index:1001;

}

.nav-links{

position:fixed;

top:80px;

right:-100%;

width:280px;

height:calc(100vh - 80px);

background:#171717;

flex-direction:column;

justify-content:flex-start;

align-items:center;

padding-top:50px;

gap:35px;

transition:.5s;

border-left:2px solid #ff7a00;

}

.nav-links.active{

right:0;

}

.nav-links li{

width:100%;

text-align:center;

}

.nav-links a{

font-size:18px;

display:block;

padding:15px;

width:100%;

}

.hero{

flex-direction:column-reverse;

text-align:center;

padding-top:140px;

}

.hero-content{

display:flex;

flex-direction:column;

align-items:center;

}

.hero-content h1{

font-size:55px;

}

.hero-content h2{

font-size:28px;

}

.hero-image img{

width:320px;

height:320px;

}

.about-container{

flex-direction:column;

text-align:center;

}

.info{

grid-template-columns:1fr;

}

.contact-container{

grid-template-columns:1fr;

}

}


/*====================================
TABLET
====================================*/

@media(max-width:768px){

section{

padding:80px 7%;

}

.section-title{

font-size:34px;

}

.skills-container{

grid-template-columns:repeat(2,1fr);

}

.project-container{

grid-template-columns:1fr;

}

.hero-image img{

width:280px;

height:280px;

}

.about-image img{

width:280px;

height:280px;

}

.timeline::before{

left:25px;

}

.timeline .icon{

min-width:55px;

height:55px;

font-size:22px;

}

.timeline{

padding-left:0;

}

.timeline-item{

gap:20px;

}

}


/*====================================
MOBILE
====================================*/

@media(max-width:576px){

.hero-content h1{

font-size:42px;

}

.hero-content h2{

font-size:22px;

}

.intro{

font-size:16px;

}

.buttons{

flex-direction:column;

width:100%;

}

.btn{

width:100%;

text-align:center;

}

.skills-container{

grid-template-columns:1fr;

}

.hero-image img{

width:230px;

height:230px;

}

.about-image img{

width:230px;

height:230px;

}

.project-card img{

height:180px;

}

.contact-info,
form{

padding:25px;

}

.timeline .content{

padding:20px;

}

.timeline h3{

font-size:20px;

}

.timeline span{

font-size:13px;

}

footer{

padding:20px;

}

}


/*====================================
FLOATING ANIMATION
====================================*/

@keyframes floating{

0%{

transform:translateY(0px);

}

50%{

transform:translateY(-15px);

}

100%{

transform:translateY(0px);

}

}

.hero-image img{

animation:floating 5s ease-in-out infinite;

}


/*====================================
BUTTON GLOW
====================================*/

.btn,
form button{

position:relative;

overflow:hidden;

}

.btn::before,
form button::before{

content:"";

position:absolute;

top:0;

left:-100%;

width:100%;

height:100%;

background:linear-gradient(

90deg,

transparent,

rgba(255,255,255,.25),

transparent

);

transition:.8s;

}

.btn:hover::before,
form button:hover::before{

left:100%;

}


/*====================================
FADE IN ANIMATION
====================================*/

.fade{

opacity:0;

transform:translateY(50px);

transition:1s;

}

.fade.show{

opacity:1;

transform:translateY(0);

}


/*====================================
TEXT SELECTION
====================================*/

::selection{

background:#ff7a00;

color:white;

}


/*====================================
IMAGE HOVER EFFECT
====================================*/

img{

user-select:none;

}

.project-card img:hover{

filter:brightness(1.1);

}


/*====================================
INPUT PLACEHOLDER
====================================*/

input::placeholder,
textarea::placeholder{

color:#999;

}


/*====================================
CARD TRANSITION
====================================*/

.skill-card,
.project-card,
.timeline .content,
.contact-info,
form{

transition:.4s ease;

}


/*====================================
END
====================================*/