/* =================================
GLOBAL
================================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Inter', sans-serif;
}

:root {
  --bg-color: #F7F7F5;
  --text-color: #222;
  --text-muted: #555;
  --card-bg: rgba(255,255,255,0.25);
  --card-border: rgba(255,255,255,0.4);
  --card-shadow: rgba(0,0,0,0.08);
  --btn-bg: #BFD7ED;
  --nav-link: #333;
}

.dark-mode {
  --bg-color: #121212;
  --text-color: #F7F7F5;
  --text-muted: #AAA;
  --card-bg: rgba(255,255,255,0.05);
  --card-border: rgba(255,255,255,0.1);
  --card-shadow: rgba(0,0,0,0.5);
  --btn-bg: #4A7CFF;
  --nav-link: #EEE;
}

body{
background: var(--bg-color);
color: var(--text-color);
overflow-x:hidden;
transition: background 0.3s ease, color 0.3s ease;
}


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

.navbar{
display:flex;
justify-content:space-between;
align-items:center;
padding:30px 80px;
}

.navbar a{
margin-left:30px;
text-decoration:none;
color: var(--nav-link);
}

.theme-btn {
  background: transparent;
  color: var(--text-color);
  border: 1px solid var(--card-border);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
  backdrop-filter: blur(10px);
}

.theme-btn:hover {
  background: var(--card-bg);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px var(--card-shadow);
}


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

.hero{
display:grid;
grid-template-columns:1fr 1.3fr;
padding:100px 80px;
align-items:center;
gap:80px;
}

.hero h1{
font-size:70px;
line-height:70px;
}

.subtitle{
margin-top:20px;
max-width:400px;
color: var(--text-muted);
}


/* =================================
FLOATING HERO CARD
================================= */

.hero-card{
width:520px;
height:520px;
perspective:1200px;
position:relative;
animation:float 6s ease-in-out infinite;
}

.hero-inner{
height:100%;
padding:28px;
border-radius:28px;

background: var(--card-bg);
backdrop-filter:blur(20px);
-webkit-backdrop-filter:blur(20px);

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

box-shadow:
var(--card-shadow),
inset 0 1px 0 rgba(255,255,255,0.6);

transition:transform .25s ease;
transform-style:preserve-3d;
}

.hero-inner img{
width:100%;
height:100%;
object-fit:cover;
border-radius:18px;
}

.hero-card::after{
content:"";
position:absolute;
bottom:-40px;
left:50%;
transform:translateX(-50%);
width:60%;
height:30px;
background:rgba(0,0,0,0.15);
filter:blur(25px);
border-radius:50%;
}


/* =================================
FLOAT ANIMATION
================================= */

@keyframes float{

0%{ transform:translateY(0px); }

50%{ transform:translateY(-12px); }

100%{ transform:translateY(0px); }

}


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

.btn{
margin-top:30px;
padding:15px 28px;
border:none;
background: var(--btn-bg);
border-radius:10px;
cursor:pointer;
color: var(--text-color);
font-weight: 600;
}


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

.projects{
padding:120px 80px;
text-align:center;
}

.projects h2{
font-size:48px;
margin-bottom:20px;
}

.projects-grid{
max-width:1200px;
margin:auto;
display:flex;
justify-content:center;
gap:40px;
flex-wrap:wrap;
}


/* =================================
PROJECT CARDS
================================= */

.project-card{
width:320px;
height:380px;
perspective:1200px;
}

.card-inner{
position:relative;
padding:24px;
height:100%;
border-radius:20px;

background: var(--card-bg);
backdrop-filter:blur(20px);
-webkit-backdrop-filter:blur(20px);

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

box-shadow:
var(--card-shadow),
inset 0 1px 0 rgba(255,255,255,0.6);

transition:transform .2s ease;
transform-style:preserve-3d;
}

.card-inner img{
width:100%;
border-radius:12px;
margin-bottom:15px;
}


/* =================================
ABOUT SECTION
================================= */

.about{
padding:140px 120px;
max-width:1100px;
margin:auto;
}

.about h2{
font-size:52px;
margin-bottom:40px;
}

.about-text{
font-size:18px;
line-height:1.9;
color: var(--text-muted);
margin-bottom:60px;
}

.about-text p{
margin-bottom:20px;
}

.highlight{
color:#4A7CFF;
font-weight:500;
}

.about-stats{
display:flex;
justify-content:center;
gap:40px;
flex-wrap:wrap;
}

.stat-card{
padding:35px 45px;
border-radius:20px;
text-align:center;

background: var(--card-bg);
backdrop-filter:blur(20px);

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

box-shadow:var(--card-shadow);

transition:transform .3s ease;
}

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

.stat-card h3{
font-size:32px;
margin-bottom:6px;
}

.stat-card p{
font-size:14px;
color: var(--text-muted);
}


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

.skills{
padding:140px 120px;
max-width:1200px;
margin:auto;
text-align:center;
}

.skills h2{
font-size:52px;
margin-bottom:60px;
}

.skills-grid{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
gap:40px;
justify-items:center;
}

.skill-card{
width:100%;
max-width:340px;
padding:35px;
border-radius:24px;
text-align:left;

background: var(--card-bg);
backdrop-filter:blur(20px);
-webkit-backdrop-filter:blur(20px);

border:1px solid var(--card-border);
box-shadow:var(--card-shadow);

transition:transform .3s ease, box-shadow .3s ease;
}

.skill-card:hover{
transform:translateY(-8px);
box-shadow:0 20px 45px rgba(0,0,0,0.1);
}

.skill-card h3{
font-size:24px;
margin-bottom:15px;
color: var(--text-color);
}

.progress-bar-container{
width:100%;
height:8px;
background:rgba(0,0,0,0.08);
border-radius:10px;
margin-bottom:8px;
overflow:hidden;
}

.progress-bar{
height:100%;
background:linear-gradient(90deg, #4A7CFF, #8AA9FF);
border-radius:10px;
transition:width 1.5s ease-in-out;
}

.progress-text{
font-size:14px;
color: var(--text-muted);
font-weight:600;
margin-bottom:20px;
text-align:right;
}

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

.skill-tags span{
padding:8px 14px;
font-size:13px;
background: var(--card-bg);
border:1px solid var(--card-border);
border-radius:8px;
color: var(--text-color);
font-weight:500;
transition:all 0.3s ease;
}

.skill-tags span:hover{
background:rgba(255,255,255,0.8);
transform:translateY(-2px);
box-shadow:0 5px 15px rgba(0,0,0,0.05);
}


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

.contact{
padding:160px 120px;
text-align:center;
}

.contact h2{
font-size:52px;
margin-bottom:80px;
}

.contact-container{
display:flex;
justify-content:center;
gap:40px;
flex-wrap:wrap;
}

.contact-card{
width:260px;
padding:40px;
border-radius:22px;

background: var(--card-bg);
backdrop-filter:blur(20px);

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

box-shadow:var(--card-shadow);

transition:all .35s ease;

animation:float 6s ease-in-out infinite;
}

.contact-card:hover{
transform:translateY(-10px) scale(1.05);
box-shadow:0 25px 50px rgba(0,0,0,0.12);
}

.contact-icon{
font-size:32px;
margin-bottom:12px;
}

.contact-card h3{
font-size:20px;
margin-bottom:8px;
}

.contact-card p{
font-size:15px;
color: var(--text-muted);
}


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

.contact-links{
margin-top:60px;
display:flex;
justify-content:center;
gap:25px;
}

.social-btn{
display:flex;
align-items:center;
gap:10px;

padding:14px 30px;
border-radius:14px;

text-decoration:none;
font-weight:500;
color:#222;

background:rgba(255,255,255,0.4);
backdrop-filter:blur(20px);

border:1px solid rgba(255,255,255,0.6);

transition:all .35s ease;
}

.social-btn i{
font-size:18px;
}


/* =================================
SOCIAL HOVER EFFECTS
================================= */

.linkedin:hover{
color:#0A66C2;
border-color:#0A66C2;

box-shadow:
0 0 10px rgba(10,102,194,0.4),
0 0 25px rgba(10,102,194,0.3),
0 0 45px rgba(10,102,194,0.2);

transform:translateY(-4px);
}

.github:hover{
color:#000;
border-color:#000;

box-shadow:
0 0 10px rgba(0,0,0,0.35),
0 0 25px rgba(0,0,0,0.25),
0 0 45px rgba(0,0,0,0.15);

transform:translateY(-4px);
}


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

.cursor{
position:fixed;
width:18px;
height:18px;
background:#BFD7ED;
border-radius:50%;
pointer-events:none;
transform:translate(-50%,-50%);
mix-blend-mode:multiply;
}


/* =================================
SCROLL REVEAL
================================= */

.reveal{
opacity:0;
transform:translateY(40px);
transition:all .8s cubic-bezier(.25,.8,.25,1);
}

.reveal.active{
opacity:1;
transform:translateY(0);
}


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

.footer {
    padding: 30px 20px;
    text-align: center;
    font-size: 14px;
    color: #666;
    background: transparent;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}