:root{
  --bg:#07080b;
  --card:#0f1116;
  --muted:#9aa2b2;
  --accent:#6ad2ff;
  --glass: rgba(255,255,255,0.03);
  --radius:14px;
  --max:1100px;
  --nav-height:78px;
}

*{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:#050507; /* base background only */
  color:#e9eef6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
}

/* NAVBAR (fixed top) */
#navbar{
  position:fixed;
  top:0;left:0;right:0;
  height:var(--nav-height);
  backdrop-filter: blur(8px);
  background: linear-gradient(180deg, rgba(10,10,14,0.6), rgba(8,8,10,0.55));
  border-bottom:1px solid rgba(255,255,255,0.03);
  z-index:1000;
  display:flex;
  align-items:center;
  box-shadow: 0 6px 20px rgba(0,0,0,0.45);
}

.nav-inner{
  width: min( calc(100% - 40px), var(--max));
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 20px;
}

/* brand */
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--accent)}
.brand img{width:36px;height:36px;border-radius:8px;object-fit:cover;filter:grayscale(10%) contrast(1.05)}
.brand span{font-weight:700;color:#fff}

/* nav links */
.links{display:flex;gap:18px;align-items:center}
.nav-link{color:#dfe9f7;text-decoration:none;padding:10px 8px;border-radius:8px;transition:all .18s}
.nav-link:hover{background:var(--glass);transform:translateY(-2px);color:var(--accent)}

/* HERO / WELCOME (full viewport) */
.hero{
  min-height:calc(100vh - var(--nav-height));
  display:flex;
  align-items:center;
  justify-content:center;
  padding-top:calc(var(--nav-height) + 20px);
  padding-bottom:40px;
  background: linear-gradient(180deg,#050507 0%, #0b0c10 100%);
}

.hero-inner{
  width: min( calc(100% - 40px), var(--max));
  display:flex;
  gap:40px;
  align-items:center;
  justify-content:center;
  background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.00));
  padding:40px;
  border-radius:var(--radius);
  box-shadow: 0 12px 40px rgba(2,6,12,0.6);
}

/* profile photo */
.profile{flex:0 0 220px;display:flex;align-items:center;justify-content:center}
#profile-pic{
  width:220px;height:220px;border-radius:20px;object-fit:cover;border:4px solid rgba(106,210,255,0.12);
  box-shadow: 0 8px 30px rgba(0,0,0,0.6);
}

/* intro */
.intro{flex:1;max-width:640px}
.intro h1{font-size:2.6rem;margin:0 0 8px;color:#ffffff;letter-spacing:-0.5px}
.subtitle{color:var(--muted);margin:0 0 18px;font-size:1.05rem}
.cta-row{display:flex;gap:12px;margin-top:8px}
.cta{display:inline-block;padding:10px 16px;border-radius:12px;background:linear-gradient(90deg,var(--accent),#8bdfff);color:#031018;text-decoration:none;font-weight:600;box-shadow:0 8px 24px rgba(106,210,255,0.08)}
.cta.ghost{background:transparent;border:1px solid rgba(255,255,255,0.04);color:var(--accent)}

/* SECTION wrapper */
.section{
  padding:72px 20px;
  background: linear-gradient(180deg,#050507 0%, #0b0c10 100%);
}

.section + .section{
  border-top:1px solid rgba(255,255,255,0.04);
}

.container{width:min(calc(100% - 40px), var(--max));margin:0 auto}

/* Projects grid (responsive grid using flexbox/grid) */
.projects-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:20px;
  margin-top:20px;
}

.project-tile{
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.03);
  transition:transform .22s ease, box-shadow .22s;
}

.project-tile img{width:100%;height:180px;object-fit:cover;display:block}
.project-body{padding:14px}
.project-body h3{margin:0 0 8px}
.project-body p{margin:0;color:var(--muted);font-size:0.95rem}
.tiny{margin:8px 0 0;padding-left:18px}
.tiny li{font-size:0.92rem;color:var(--muted);margin-bottom:6px}
.project-tile:hover{transform:translateY(-8px);box-shadow:0 14px 40px rgba(0,0,0,0.6)}

/* Experience and lists */
.job{margin-bottom:22px}
.job h3{margin-bottom:6px}
.muted{color:var(--muted);font-size:0.95rem}
.job ul{margin-top:8px;color:var(--muted);line-height:1.6}

/* Two-column layout for about/skills */
.two-col{display:flex;gap:28px;flex-wrap:wrap}
.two-col > div{flex:1 1 320px;background:linear-gradient(180deg, rgba(255,255,255,0.01), transparent);padding:18px;border-radius:12px;border:1px solid rgba(255,255,255,0.02)}
.skills{list-style:none;padding-left:0;line-height:1.6;color:var(--muted)}

/* Certificate links */
.cert-link {color: var(--accent);text-decoration: none;font-weight: 500;transition: color 0.18s ease, text-shadow 0.18s ease;}
.cert-link:hover {color: #8bdfff;text-shadow: 0 0 6px rgba(106, 210, 255, 0.35);}
.cert-link:visited {color: #3f89b5; /* darker blue, still readable on dark bg */}
.cert-link:focus {outline: 2px dashed var(--accent);outline-offset: 3px;}

/* Contact */
.contact-row{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}
.btn{display:inline-block;padding:10px 14px;border-radius:10px;background:var(--accent);color:#031018;text-decoration:none;font-weight:700}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--accent)}

/* footer */
.site-footer{
  padding:28px 20px;
  background: linear-gradient(180deg,#050507 0%, #08090c 100%);
  margin-top:40px;
}
.site-footer small{color:var(--muted)}

/* small screen: responsive */
@media (max-width:900px){
  .hero-inner{flex-direction:column;padding:28px}
  .projects-grid{grid-template-columns:1fr}
  .nav-inner{padding:0 12px}
  .links{display:none}
}

/* larger small screens - ensure nav visible */
@media (min-width:901px){
  .links{display:flex}
}

/* accessibility: focus styles */
a:focus, button:focus {outline:2px dashed var(--accent);outline-offset:3px}
