*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Segoe UI, sans-serif;
scroll-behavior:smooth;
}
img{
max-width:100%;
height:auto;
display:block;
}
body{
background:#f5f7fb;
color:#222;
transition:0.3s;
overflow-x:hidden;
}

/* DARK MODE */
body.dark{
background:#121212;
color:#eee;
}
body.dark .about-left,
body.dark .info-card{
  background:#1e1e1e;
  color:#eee;
}


/* NAVBAR */
.navbar{
display:flex;
justify-content:space-between;
align-items:center;
padding:18px 8%;
backdrop-filter:blur(10px);
background:rgba(255,255,255,0.5);
position:sticky;
top:0;
}

body.dark .navbar{
background:rgba(0,0,0,0.6);
}

.navbar ul{
display:flex;
gap:25px;
list-style:none;
}

.navbar a{
text-decoration:none;
font-weight:600;
color:inherit;
}

.navbar a:hover{
color:hsl(228, 94%, 67%);
}

/* HERO */
.hero{
padding:80px 8%;
background:radial-gradient(circle at 20% 30%, #4f7cff, #0d1117);
}

.hero-container{
display:grid;
grid-template-columns:1fr 1fr;
align-items:center;
gap:40px;
}

.hero-left h1{
font-size:48px;
margin-bottom:10px;
}
.hero-left{
max-width:560px;
}
.hero-text{
max-width:520px;
margin:20px 0;
line-height:1.6;
color:#d1d5db;
}

.hero-chips{
display:flex;
flex-wrap:wrap;
justify-content:center;   /* centers horizontally */
gap:12px;
margin:25px 0;
}

.hero-chips span{
padding:8px 16px;
background:rgba(255,255,255,0.1);
border-radius:20px;
backdrop-filter:blur(10px);
}

.hero-actions{
display:flex;
justify-content:center;
gap:20px;
margin-top:25px;
}
.primary-btn,
.secondary-btn{
display:inline-flex;
align-items:center;
gap:10px;
padding:14px 26px;
}
.btn-primary,
.btn-secondary{
background:#4f7cff;
color:#fff;
}
.btn-primary{
background:#4f7cff;
color:#fff;
}

.btn-secondary{
background:rgba(255,255,255,0.12);
color:#fff;
backdrop-filter:blur(10px);
}

.hero-img{
width:340px;
border-radius:50%;
box-shadow:0 0 40px rgba(79,124,255,0.4);
animation:float 6s ease-in-out infinite;
}

@keyframes float{
0%{transform:translateY(0);}
50%{transform:translateY(-12px);}
100%{transform:translateY(0);}
}
@media(max-width:768px){
.hero-container{
grid-template-columns:1fr;
text-align:center;
}
.hero-img{
margin:auto;
}
}
.btn{
display:inline-flex;
align-items:center;
gap:10px;
padding:16px 32px;
border-radius:40px;
font-weight:600;
text-decoration:none;
transition:0.25s;
}
.btn,
.contact-right button{
min-height:48px;
}
.btn i{
width:18px;
height:18px;
}
.btn-primary:hover,
.btn-secondary:hover{
background:#3f6df0;
transform:translateY(-2px);
}
/* CARDS */
.cards{
display:flex;
justify-content:center;
gap:30px;
margin-top:40px;
flex-wrap:wrap;
}

.card{
background:white;
padding:25px;
border-radius:15px;
box-shadow:0 4px 12px rgba(0,0,0,0.08);
transition:0.3s;
}

body.dark .card{
background:#1e1e1e;
}

.card:hover{
transform:translateY(-8px);
}

/* PROJECT GRID */
.project-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:30px;
padding:50px 8%;
}
.project-card{
cursor:pointer;
backdrop-filter:blur(14px);
background:rgba(255,255,255,0.05);
border-radius:18px;
overflow:hidden;
transition:.3s;
box-shadow:0 0 25px rgba(0,0,0,.3);
}

.project-card:hover{
transform:translateY(-10px) scale(1.02);
}

.project-view{
padding:70px 8%;
text-align:center;
}

.project-view-card{
max-width:800px;
margin:auto;
padding:40px;
border-radius:18px;
backdrop-filter:blur(14px);
background:rgba(255,255,255,0.05);
box-shadow:0 0 25px rgba(0,0,0,.35);
}

.project-view-card img{
width:100%;
border-radius:12px;
margin-bottom:20px;
}

.latest-title{
margin-top:60px;
margin-bottom:30px;
}
.project-card{
background:white;
padding:25px;
border-radius:15px;
box-shadow:0 4px 12px rgba(0,0,0,0.08);
transition:0.3s;
}

.project-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:25px;
  margin-top:20px;
}

.project-card img{
  width:100%;
  border-radius:10px;
}
body.dark .projects{
background:#0f172a;
}

body.dark .project-card{
background:#111827;
box-shadow:0 0 40px rgba(0,0,0,0.4);
}

body.dark .coming-soon{
background:#1f2937;
}
.link-card:hover{
border:1px solid #4f7cff;
}
.coming-soon{
margin-top:12px;
padding:6px 14px;
background:#e2e8f0;
border-radius:20px;
font-size:13px;
font-weight:500;
}

/* CONTACT FORM */
.contact form{
max-width:500px;
margin:auto;
display:flex;
flex-direction:column;
gap:15px;
padding:40px 20px;
}
.contact{
padding:90px 8%;
transition:0.3s;
}

.contact-container{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:stretch;
}
/* LIGHT MODE */

.contact{
background:#f8fafc;
}

/* LIGHT MODE FIX — Let's Connect Box */
.contact-left{
background:#ffffff;
color:#1e293b;
box-shadow:0 15px 40px rgba(0,0,0,0.08);
}

.contact-bio{
color:#475569;
}

.contact-links a{
background:#f1f5f9;
color:#1e293b;
}

.contact-links a:hover{
background:#4f7cff;
color:#fff;
}

.contact-right{
background:#ffffff;
box-shadow:0 20px 50px rgba(0,0,0,0.08);
}

/* INPUT FOCUS EFFECT */
.contact-right input,
.contact-right textarea{
transition:0.25s ease;
}

.contact-right input:focus,
.contact-right textarea:focus{
outline:none;
border:1px solid #4f7cff;
box-shadow:0 0 0 3px rgba(79,124,255,0.15);
}
body.dark .contact-right input:focus,
body.dark .contact-right textarea:focus{
border:1px solid #4f7cff;
box-shadow:0 0 0 3px rgba(79,124,255,0.25);
}

.contact-right input::placeholder,
.contact-right textarea::placeholder{
color:#64748b;
}
/* DARK MODE */

body.dark .contact{
background:#0f172a;
}

body.dark .contact-left{
background:linear-gradient(135deg,#111827,#1e293b);
color:#f1f5f9;
box-shadow:0 0 40px rgba(0,0,0,0.4);
}

body.dark .contact-links a{
background:#1f2937;
color:#f1f5f9;
}

body.dark .contact-links a:hover{
background:#4f7cff;
}

body.dark .contact-right{
background:#111827;
box-shadow:0 0 40px rgba(0,0,0,0.5);
}

body.dark .contact-right input,
body.dark .contact-right textarea{
background:#1f2937;
color:#f1f5f9;
border:1px solid #374151;
}

body.dark .contact-right input::placeholder,
body.dark .contact-right textarea::placeholder{
color:#94a3b8;
}

/* LEFT PANEL */
.contact-left{
  background:linear-gradient(135deg,#111,#1c1c1c);
  padding:40px;
  border-radius:18px;
  color:#eee;
}

.contact-bio{
  margin:20px 0;
  line-height:1.6;
  color:#ccc;
}

.contact-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:20px;
}

.contact-links a{
  padding:10px 18px;
  background:#222;
  border-radius:25px;
  text-decoration:none;
  color:#fff;
  transition:0.3s;
}

.contact-links a:hover{
  background:#4cafef;
  transform:translateY(-3px);
}

/* RIGHT PANEL (mirror glass effect) */
.contact-right{
  backdrop-filter:blur(12px);
  background:rgba(255,255,255,0.05);
  padding:40px;
  border-radius:18px;
  box-shadow:0 0 20px rgba(0,0,0,0.3);
}

.contact-right input,
.contact-right textarea{
  width:100%;
  margin-bottom:15px;
  padding:14px;
  border-radius:10px;
  border:none;
  background:#1f1f1f;
  color:#fff;
}

.contact-right button{
background:#4f7cff;
border-radius:12px;
font-weight:600;
transition:0.25s;
}

.contact-right button:hover{
background:#3f6df0;
transform:translateY(-2px);
}
#msgStatus{
margin-top:15px;
font-weight:500;
opacity:0;
transform:translateY(10px);
transition:all 0.3s ease;
}

#msgStatus.show{
opacity:1;
transform:translateY(0);
color:#22c55e;
}
/* MOBILE */
@media(max-width:768px){
.contact-container{
  grid-template-columns:1fr;
}
}


.contact input,
.contact textarea{
padding:12px;
border-radius:8px;
border:1px solid #ccc;
}

.contact button{
padding:12px;
background:#5b7cfa;
border:none;
color:white;
border-radius:8px;
cursor:pointer;
}

/* THEME BUTTON */
.theme-btn{
  position:fixed;
  bottom:30px;
  right:30px;
  padding:12px 16px;
  border:none;
  border-radius:50%;
  font-size:20px;
  cursor:pointer;
  background:#5b7cfa;
  color:white;
  box-shadow:0 6px 15px rgba(0,0,0,0.2);
}

/* SECTIONS */
section{
padding:80px 8%;
text-align:center;
}
.tech-grid{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}

.tech-grid span{
  background:#f1f1f1;
  padding:10px 16px;
  border-radius:20px;
  font-size:14px;
}
/* DARK MODE FIX — Technologies section */
body.dark .tech-grid span{
  background:#1e1e1e;
  color:#ffffff;
  border:1px solid #333;
}


/* MOBILE */
@media(max-width:768px){
.hero h1{
font-size:32px;
}
.navbar{
flex-direction:column;
gap:10px;
}
}
/* NAVBAR */
.logo{
font-size:22px;
font-weight:bold;
}

.nav-links{
display:flex;
gap:30px;
list-style:none;
}

.menu-toggle{
display:none;
font-size:26px;
cursor:pointer;
}

/* FOOTER */
.footer{
margin-top:80px;
padding:30px;
text-align:center;
background:#0f172a;
color:white;
}

.footer .socials{
margin-top:10px;
display:flex;
justify-content:center;
gap:20px;
}

.footer a{
color:#7bdff2;
text-decoration:none;
}

/* MOBILE NAV */
@media(max-width:768px){

.nav-links{
display:none;
flex-direction:column;
position:absolute;
top:70px;
right:0;
background:white;
width:200px;
padding:20px;
box-shadow:0 5px 15px rgba(0,0,0,0.1);
}

body.dark .nav-links{
background:#1e1e1e;
}

.nav-links.show{
display:flex;
}

.menu-toggle{
display:block;
}

}
.card, .project-card, section{
opacity:0;
transform:translateY(40px);
transition:0.6s ease;
}

.card.active,
.project-card.active,
section.active{
opacity:1;
transform:translateY(0);
}
/* HERO TEXT FADE */
.hero h1, .hero p, .hero .btn{
opacity:0;
transform:translateY(30px);
animation:fadeUp 1s ease forwards;
}

.hero p{ animation-delay:.3s }
.hero .btn{ animation-delay:.6s }

@keyframes fadeUp{
to{
opacity:1;
transform:translateY(0);
}
}

/* PROJECT HOVER EFFECT */
.project-card{
position:relative;
overflow:hidden;
}
.projects{
  padding:70px 8%;
}

.section-title{
  text-align:center;
  margin-bottom:40px;
  font-size:34px;
}

.projects-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:30px;
align-items:stretch;   /* important */
}


/* Card */
.projects{
padding:80px 8%;
background:#f8fafc;
}

.section-title{
text-align:center;
margin-bottom:50px;
font-size:32px;
}

.projects-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:30px;
}

.project-card{
background:#ffffff;
padding:25px;
border-radius:20px;
box-shadow:0 15px 40px rgba(0,0,0,0.08);
text-decoration:none;
color:inherit;
transition:0.3s;
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
justify-content:space-between;
}

.project-card:hover{
transform:translateY(-8px);
}

.project-img{
width:100%;
height:200px;        /* fixed height */
overflow:hidden;
border-radius:15px;
margin-bottom:20px;
}

.project-img img{
width:100%;
height:100%;
object-fit:cover;     /* keeps image proportional */
display:block;
}

.link-card{
cursor:pointer;
transition:transform 0.25s ease, box-shadow 0.25s ease;
}

.link-card:hover{
transform:translateY(-8px);
box-shadow:0 25px 60px rgba(0,0,0,0.12);
}

.link-card:active{
transform:scale(0.97);   /* click press effect */
}
.disabled-card{
opacity:0.85;
}

.coming-soon{
margin-top:10px;
padding:6px 14px;
background:#e2e8f0;
border-radius:20px;
font-size:13px;
}
.link-card:hover .project-img img{
transform:scale(1.05);
transition:transform 0.4s ease;
}
/* BUTTON GLOW */
.btn{
box-shadow:0 4px 20px rgba(91,124,250,0.4);
}

/* HERO FLEX */
.hero-flex{
display:flex;
align-items:center;
justify-content:space-between;
gap:40px;
flex-wrap:wrap;
}

.hero-right img{
width:280px;
border-radius:50%;
box-shadow:0 10px 30px rgba(0,0,0,0.2);
}

/* BUTTON OUTLINE */
.btn-outline{
border:2px solid white;
padding:12px 26px;
border-radius:25px;
text-decoration:none;
color:white;
margin-left:10px;
}

/* SKILLS */
.skills{
padding:80px 8%;
transition:0.3s;
}

.section-title{
text-align:center;
margin-bottom:50px;
font-size:32px;
}

.skills-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
}

.skill-card{
padding:30px;
border-radius:20px;
background:rgba(255,255,255,0.05);
backdrop-filter:blur(12px);
box-shadow:0 0 25px rgba(0,0,0,0.3);
transition:0.3s;
}

.skill-card:hover{
transform:translateY(-8px);
}

.skill-card h3{
margin-bottom:15px;
}

.skill-card p{
font-size:14px;
line-height:1.6;
margin-bottom:20px;
color:#cbd5e1;
}

.skill-tags{
display:flex;
flex-wrap:wrap;
gap:10px;
}

.skill-tags span{
background:#4f7cff;
padding:6px 14px;
border-radius:20px;
font-size:13px;
}
/* LIGHT MODE */
.skills{
background:#f8fafc;
}

.skill-card{
background:#ffffff;
box-shadow:0 10px 30px rgba(0,0,0,0.05);
}

.skill-card p{
color:#475569;
}

.skill-tags span{
background:#4f7cff;
color:#fff;
}
/* DARK MODE */
body.dark .skills{
background:#0f172a;
}

body.dark .skill-card{
background:rgba(255,255,255,0.05);
box-shadow:0 0 25px rgba(0,0,0,0.3);
}

body.dark .skill-card p{
color:#cbd5e1;
}

body.dark .skill-tags span{
background:#4f7cff;
color:#fff;
}
/* SECTION SEPARATION */
.skills{
border-top:1px solid rgba(0,0,0,0.05);
}

body.dark .skills{
border-top:1px solid rgba(255,255,255,0.05);
}

/* GITHUB CARDS */
.github-projects{
padding:80px 8%;
text-align:center;
}
.project-view{
  padding:70px 8%;
  text-align:center;
}

.project-view-card{
  backdrop-filter:blur(12px);
  background:rgba(255,255,255,0.05);
  padding:40px;
  border-radius:18px;
  max-width:750px;
  margin:auto;
  box-shadow:0 0 20px rgba(0,0,0,0.3);
}

.project-view-card img{
  width:100%;
  border-radius:12px;
  margin-bottom:20px;
}

.latest-title{
  margin-top:60px;
  margin-bottom:30px;
}
.about-img{
width:260px;
max-width:100%;
border-radius:20px;
object-fit:cover;
display:block;
margin:20px auto;
box-shadow:0 8px 25px rgba(0,0,0,0.15);
}

.nav-links a.active{
color:#5b7cfa;
font-weight:700;
border-bottom:2px solid #5b7cfa;
padding-bottom:4px;
}
body{
opacity:0;
transition:opacity .4s ease;
}

body.loaded{
opacity:1;
}

.floating-contact{
position:fixed;
left:20px;
bottom:20px;
display:flex;
flex-direction:column;
gap:12px;
z-index:1000;
}

.float-btn{
padding:12px 18px;
border-radius:30px;
color:white;
text-decoration:none;
font-weight:600;
box-shadow:0 5px 15px rgba(0,0,0,0.2);
transition:.3s;
}

.float-btn.github{
background:#24292e;
}

.float-btn.whatsapp{
background:#25D366;
}

.float-btn:hover{
transform:translateY(-3px);
}
.about{
  padding:60px 8%;
}

.about-container{
display:grid;
grid-template-columns:320px 1fr;
gap:50px;
align-items:start;
}

.about-left{
background:#ffffff;
padding:30px;
border-radius:20px;
box-shadow:0 15px 40px rgba(0,0,0,0.06);
transition:0.3s;
}

.about-img{
  width:180px;
  border-radius:50%;
  margin-bottom:15px;
}

.about-role{
  color:#666;
  margin-bottom:8px;
}

.about-location{
  font-size:14px;
  margin-bottom:20px;
}

.about-right h1{
  margin-bottom:15px;
}

.info-grid{
  margin-top:25px;
  display:flex;
  flex-direction:column;
  gap:20px;
  max-height:420px;   /* scroll area height */
  overflow-y:auto;
  padding-right:8px;
}


.info-card{
background:#ffffff;
padding:22px;
border-radius:18px;
box-shadow:0 8px 25px rgba(0,0,0,0.05);
transition:0.3s;
}

.info-card:hover{
  transform:translateY(-5px);
}
@media (max-width: 768px){

.hero-container,
.about-container,
.contact-container{
grid-template-columns:1fr;
text-align:center;
}

.projects-grid{
grid-template-columns:1fr;
}

.hero-img{
margin:auto;
width:220px;
}

.project-card{
padding:20px;
}

.contact-left,
.contact-right{
padding:25px;
}

}