:root{
  --bg:#ffffff;
  --text:#0b1220;
  --muted:#556;
  --accent:#0b76ff;
  --card:#f8f9fb;
  --radius:12px;
  --max-width:1100px;
}

*{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:var(--max-width);margin:0 auto;padding:1.25rem}

.site-header{border-bottom:1px solid #eef2f6;position:sticky;top:0;background:var(--bg);z-index:20}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0.75rem 0}
.brand{font-weight:700;color:var(--text);text-decoration:none;font-size:1.05rem}
.nav a{margin-left:1rem;color:var(--muted);text-decoration:none}
.nav button{margin-left:1rem;background:transparent;border:0;font-size:1rem;cursor:pointer}

.hero{padding:3.5rem 0}
.hero-inner{display:grid;grid-template-columns:1fr 320px;gap:2rem;align-items:center}
.name{font-size:2.1rem;margin:0}
.tagline{color:var(--muted);margin-top:0.5rem}
.ctas .btn{display:inline-block;margin-right:0.75rem;padding:0.55rem 0.9rem;border-radius:8px;background:var(--accent);color:white;text-decoration:none}
.ctas .btn.ghost{background:transparent;border:1px solid #dbe7ff;color:var(--accent)}

.profile-card{background:var(--card);padding:1rem;border-radius:var(--radius);display:flex;align-items:center;gap:1rem}
.profile-photo{width:64px;height:64px;border-radius:12px;background:linear-gradient(135deg,#0b76ff,#5ddcff);display:flex;align-items:center;justify-content:center;color:white;font-weight:700;font-size:1.1rem}
.profile-details p{margin:0;color:var(--muted)}

.section{padding:2.5rem 0}
.projects .project-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.card{background:var(--card);padding:1rem;border-radius:12px;box-shadow:0 6px 18px rgba(15,23,42,0.04)}
.card h3{margin:0 0 0.5rem 0}
.meta{color:var(--muted);font-size:0.9rem}
.link{color:var(--accent);text-decoration:none}

.about-inner{max-width:70ch;color:var(--muted)}
.contact .socials .link{margin-right:0.5rem}

.site-footer{border-top:1px solid #eef2f6;padding:1rem 0;color:var(--muted)}

.reveal{opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease}
.reveal.visible{opacity:1;transform:none}

/* Responsive */
@media (max-width:880px){
  .hero-inner{grid-template-columns:1fr; text-align:left}
  .header-inner{padding:0.5rem 0}
}