:root{
	--bg:#f7f7f8;
	--card:#ffffff;
	--text:#0b0b0b;
	--muted:#6b6b6b;
	--accent:#0b84ff;
	--radius:10px;
}

[data-theme="dark"]{
	--bg:#0b0f14;
	--card:#081018;
	--text:#e6eef6;
	--muted:#9aa6b2;
	--accent:#3aa0ff;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
	margin:0;
	font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
	background:var(--bg);
	color:var(--text);
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	line-height:1.5;
}

.container{max-width:1000px;margin:0 auto;padding:1.5rem}

.nav{display:flex;align-items:center;justify-content:space-between;padding:0.5rem 0;position:sticky;top:0;background:transparent;z-index:40}
.site-header{backdrop-filter:saturate(120%) blur(6px);position:sticky;top:0;z-index:40;background:rgba(247,247,248,0.8);border-bottom:1px solid rgba(0,0,0,0.05)}
[data-theme="dark"] .site-header{background:rgba(11,15,20,0.8);border-bottom-color:rgba(255,255,255,0.05)}
.brand{font-weight:700}
.muted{color:var(--muted);font-weight:600}

.nav-links{display:flex;gap:1rem;list-style:none;margin:0;padding:0;align-items:center}
.nav-links a{color:var(--text);text-decoration:none;padding:0.4rem 0.6rem;border-radius:6px;transition:all 0.2s ease}
.nav-links a:hover{background:rgba(0,0,0,0.05)}
.nav-toggle{display:none;background:transparent;border:0;font-size:1.25rem;cursor:pointer;color:var(--text)}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;background:var(--card);border:1px solid rgba(0,0,0,0.08);border-radius:8px;padding:0.5rem 0.75rem;font-size:1.1rem;cursor:pointer;transition:all 0.2s ease;box-shadow:0 2px 8px rgba(0,0,0,0.05);color:var(--text)}
.theme-toggle:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,0.1);background:rgba(0,0,0,0.02)}
[data-theme="dark"] .theme-toggle{border-color:rgba(255,255,255,0.1);box-shadow:0 2px 8px rgba(0,0,0,0.3)}
[data-theme="dark"] .theme-toggle:hover{background:rgba(255,255,255,0.05)}

.hero{padding:4rem 0;display:flex;align-items:center;min-height:60vh}
.hero-grid{display:grid;grid-template-columns:1fr 300px;gap:1.5rem;align-items:center}
.hero-photo{display:flex;justify-content:flex-end;}
.hero-photo img{
	display:block;
	width:220px;
	height:220px;
	aspect-ratio:1/1;
	object-fit:cover;
	border-radius:50%;
	border:4px solid rgba(0,0,0,0.06);
	box-shadow:
		0 0 20px rgba(11,132,255,0.4),
		0 0 40px rgba(11,132,255,0.3),
		0 0 60px rgba(11,132,255,0.2),
		0 10px 30px rgba(2,6,23,0.12);
	animation:glowPulse 3s ease-in-out infinite;
	position:relative;
}
@keyframes glowPulse{
	0%,100%{
		box-shadow:
			0 0 20px rgba(11,132,255,0.4),
			0 0 40px rgba(11,132,255,0.3),
			0 0 60px rgba(11,132,255,0.2),
			0 10px 30px rgba(2,6,23,0.12);
	}
	50%{
		box-shadow:
			0 0 30px rgba(11,132,255,0.6),
			0 0 60px rgba(11,132,255,0.5),
			0 0 90px rgba(11,132,255,0.3),
			0 10px 30px rgba(2,6,23,0.12);
	}
}
[data-theme="dark"] .hero-photo img{
	border-color:rgba(255,255,255,0.1);
	box-shadow:
		0 0 25px rgba(58,160,255,0.5),
		0 0 50px rgba(58,160,255,0.4),
		0 0 75px rgba(58,160,255,0.3),
		0 10px 30px rgba(0,0,0,0.4);
	animation:glowPulseDark 3s ease-in-out infinite;
}
@keyframes glowPulseDark{
	0%,100%{
		box-shadow:
			0 0 25px rgba(58,160,255,0.5),
			0 0 50px rgba(58,160,255,0.4),
			0 0 75px rgba(58,160,255,0.3),
			0 10px 30px rgba(0,0,0,0.4);
	}
	50%{
		box-shadow:
			0 0 35px rgba(58,160,255,0.7),
			0 0 70px rgba(58,160,255,0.6),
			0 0 100px rgba(58,160,255,0.4),
			0 10px 30px rgba(0,0,0,0.4);
	}
}
.hero-content h1{font-size:3rem;margin:0;line-height:1.05}
.tagline{margin:0.6rem 0 1.2rem;color:var(--muted);font-size:1.125rem}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:0.6rem 1rem;border-radius:8px;text-decoration:none;transition:all 0.25s ease}
.btn:hover{transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--text);border:1px solid rgba(0,0,0,0.08)}
.btn.small{padding:0.35rem 0.6rem;font-size:0.9rem}

.about{padding:2rem 0}
.about-grid{display:grid;grid-template-columns:1fr 120px;gap:1rem;align-items:center}

.skills{padding:2rem 0}
.skill-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.skill{background:var(--card);padding:0.75rem;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,0.04)}
.skill-head{font-weight:600;margin-bottom:0.5rem}
.progress{height:10px;background:linear-gradient(90deg,#0000, #0000);border-radius:8px;overflow:hidden;background:rgba(0,0,0,0.05)}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#36b2ff);width:var(--w);transition:width 600ms ease}

.projects{padding:2rem 0}
.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.project-card{background:var(--card);padding:1rem;border-radius:10px;transition:transform 0.2s ease,box-shadow 0.2s ease}
.project-card:hover{transform:translateY(-6px);box-shadow:0 8px 20px rgba(2,6,23,0.08)}
.card-cta{margin-top:0.75rem;display:flex;gap:0.5rem}

.contact{padding:2rem 0}
.contact-grid{display:grid;grid-template-columns:1fr 260px;gap:1rem}
.contact-form{display:grid;gap:0.5rem;background:var(--card);padding:1rem;border-radius:8px}
.contact-form label{display:flex;flex-direction:column;font-size:0.9rem}
.contact-form input,.contact-form textarea{padding:0.5rem;border-radius:6px;border:1px solid rgba(0,0,0,0.08);background:transparent; color:var(--text)}
.contact-info{background:var(--card);padding:1rem;border-radius:8px}

.site-footer{padding:1rem 0;margin-top:2rem}
.footer-inner{display:flex;justify-content:space-between;align-items:center}
.socials a{color:var(--muted);text-decoration:none}

/* reveal helpers */
.reveal{opacity:0;transform:translateY(8px);animation:fadeInUp 600ms ease forwards}
.reveal:nth-child(1){animation-delay:80ms}
.reveal:nth-child(2){animation-delay:160ms}
.reveal:nth-child(3){animation-delay:240ms}
@keyframes fadeInUp{to{opacity:1;transform:none}}

/* Responsive - Tablets */
@media (max-width:1024px){
	.container{max-width:100%;padding:1.25rem}
	.hero-grid{grid-template-columns:1fr 280px;gap:1.25rem}
	.hero-photo img{width:200px;height:200px}
	.hero-content h1{font-size:2.5rem}
	.contact-grid{grid-template-columns:1fr;gap:1.5rem}
	.contact-info{width:100%}
}

/* Responsive - Small Tablets */
@media (max-width:768px){
	.container{padding:1.15rem}
	.hero{
		padding:3.5rem 0;
		min-height:calc(100vh - 100px);
		display:flex;
		align-items:center;
		justify-content:center;
	}
	.hero-grid{
		grid-template-columns:1fr;
		gap:2rem;
		text-align:center;
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
	}
	.hero-photo{
		justify-content:center;
		margin-left:0;
		order:1;
	}
	.hero-photo img{width:180px;height:180px}
	.hero-content{
		order:2;
		display:flex;
		flex-direction:column;
		align-items:center;
		text-align:center;
		width:100%;
	}
	.hero-content h1{
		font-size:2.25rem;
		margin:0 auto;
		text-align:center;
	}
	.tagline{
		font-size:1rem;
		margin:0.75rem auto 1.5rem;
		text-align:center;
		max-width:85%;
	}
	.hero-cta{
		justify-content:center;
		flex-wrap:wrap;
		gap:0.75rem;
	}
	.about-grid{grid-template-columns:1fr}
	.skill-list{grid-template-columns:repeat(2,1fr);gap:0.75rem}
	.projects-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
	.contact-grid{grid-template-columns:1fr}
	.footer-inner{flex-direction:column;gap:0.75rem;text-align:center}
}

/* Responsive - Mobile */
@media (max-width:700px){
	.site-header{background:var(--card);backdrop-filter:none;border-bottom:1px solid rgba(0,0,0,0.08)}
	[data-theme="dark"] .site-header{border-bottom-color:rgba(255,255,255,0.1)}
	.nav{padding:0.75rem 0}
	.nav-links{
		position:fixed;
		right:1rem;
		top:70px;
		background:var(--card);
		flex-direction:column;
		padding:1.25rem;
		border-radius:12px;
		box-shadow:0 12px 32px rgba(0,0,0,0.15);
		display:none;
		min-width:200px;
		z-index:50;
		border:1px solid rgba(0,0,0,0.05);
	}
	[data-theme="dark"] .nav-links{
		border-color:rgba(255,255,255,0.1);
		box-shadow:0 12px 32px rgba(0,0,0,0.5);
	}
	.nav-links.show{display:flex}
	.nav-links a{padding:0.6rem 0.85rem;width:100%;text-align:left;min-height:44px;display:flex;align-items:center}
	.nav-toggle{display:inline-block;padding:0.4rem 0.6rem;min-height:44px;min-width:44px}
	.theme-toggle{padding:0.4rem 0.6rem;font-size:1rem;min-height:44px}
	.container{padding:1rem}
	.hero{
		padding:3rem 1rem;
		min-height:calc(100vh - 80px);
		display:flex;
		align-items:center;
		justify-content:center;
	}
	.hero-grid{
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		text-align:center;
		gap:2rem;
		width:100%;
		max-width:100%;
	}
	.hero-photo{
		display:flex;
		justify-content:center;
		margin-left:0;
		order:1;
	}
	.hero-photo img{
		width:180px;
		height:180px;
	}
	.hero-content{
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		text-align:center;
		width:100%;
		order:2;
	}
	.hero-content h1{
		font-size:2rem;
		margin:0 auto;
		text-align:center;
		width:100%;
	}
	.tagline{
		font-size:0.95rem;
		margin:0.75rem auto 1.5rem;
		text-align:center;
		max-width:90%;
	}
	.hero-cta{
		display:flex;
		justify-content:center;
		align-items:center;
		flex-wrap:wrap;
		gap:0.75rem;
		width:100%;
	}
	.btn{padding:0.55rem 0.9rem;font-size:0.95rem;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
	.btn.small{padding:0.3rem 0.55rem;font-size:0.85rem;min-height:36px}
}

/* Responsive - Small Mobile */
@media (max-width:480px){
	.container{padding:0.85rem}
	.brand{font-size:0.95rem}
	.hero{
		padding:2.5rem 0.85rem;
		min-height:calc(100vh - 70px);
	}
	.hero-grid{
		gap:1.5rem;
	}
	.hero-content h1{
		font-size:1.75rem;
		line-height:1.2;
	}
	.hero-photo img{
		width:150px;
		height:150px;
	}
	.tagline{
		font-size:0.9rem;
		margin:0.5rem auto 1.25rem;
		max-width:95%;
	}
	.hero-cta{
		flex-direction:column;
		width:100%;
		gap:0.75rem;
	}
	.hero-cta .btn{
		width:100%;
		max-width:280px;
		text-align:center;
	}
	.skill-list{grid-template-columns:1fr;gap:0.75rem}
	.skill{padding:1rem}
	.projects-grid{grid-template-columns:1fr;gap:0.85rem}
	.project-card{padding:0.85rem}
	.card-cta{flex-direction:column;gap:0.5rem}
	.card-cta .btn{width:100%;text-align:center}
	.contact-form{padding:0.85rem;gap:0.75rem}
	.contact-form input,.contact-form textarea{min-height:44px;font-size:16px}
	.contact-info{padding:0.85rem;font-size:0.9rem;line-height:1.6}
	.site-footer{padding:0.75rem 0}
	.footer-inner{font-size:0.85rem;flex-direction:column;gap:0.5rem}
	.socials{text-align:center}
}

/* Small tweaks */
h2{margin-top:0}
