:root {
  --text:#111111;
  --muted:#666666;
  --line:#e5e7eb;

  --max-width:1100px;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
}

body {
  margin:0;

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;

  font-size:18px;
  line-height:1.75;

  color:var(--text);
  background:white;
}

/* NAVBAR */

.navbar {
  position:sticky;
  top:0;

  background:rgba(255,255,255,0.9);
  backdrop-filter:blur(12px);

  border-bottom:1px solid var(--line);
  z-index:1000;
}

.nav-container {
  max-width:var(--max-width);
  margin:auto;
  padding:18px 32px;

  display:flex;
  justify-content:space-between;
  align-items:center;
}

.logo {
  font-size:1.2rem;
  font-weight:600;
  text-decoration:none;
  color:var(--text);
}

nav a {
  margin-left:28px;
  text-decoration:none;
  color:var(--muted);
  transition:0.2s;
}

nav a:hover {
  color:black;
}

/* MAIN */

main {
  max-width:var(--max-width);
  margin:auto;
  padding:60px 32px;
}

/* HERO */

.hero {
  display:grid;
  grid-template-columns:1.2fr 0.8fr;
  gap:60px;
  align-items:center;
  min-height:70vh;
}

.hero h1 {
  font-size:4rem;
  line-height:1.05;
  margin-bottom:10px;
}

.hero p {
  font-size:1.25rem;
  color:var(--muted);
}

.hero img {
  width:100%;
  border-radius:20px;
}

/* SECTION */

.section {
  margin-top:120px;
}

.section h2 {
  font-size:2rem;
  margin-bottom:40px;
}

/* RESEARCH GRID (UPDATED) */

.grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:30px;
}

/* PROJECTS */

.project {
  text-decoration:none;
}

.project img {
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  border-radius:16px;
}

.project h3 {
  margin-top:16px;
  margin-bottom:8px;
}

.project p {
  color:var(--muted);
}

/* LINKS */

a {
  color:inherit;
}

/* FOOTER */

footer {
  max-width:var(--max-width);
  margin:auto;
  padding:60px 32px;
  border-top:1px solid var(--line);
  color:var(--muted);
}

/* RESPONSIVE */

@media(max-width:1100px) {
  .grid {
    grid-template-columns:repeat(2, 1fr);
  }

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

  .hero h1 {
    font-size:3rem;
  }
}

@media(max-width:600px) {
  .grid {
    grid-template-columns:1fr;
  }
}
