/* --- Global type scale: a touch bigger & airier (mansmeg-like) --- */
html { font-size: 18px; }                  /* base ~18px */
body {
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}

/* Headings: modern, responsive sizes */
h1 { 
  font-size: clamp(2rem, 4.5vw, 2.6rem); 
  font-weight: 500;                        /* was 700 -> lighter globally */
  letter-spacing: -0.01em; 
}
h2 { font-size: clamp(1.5rem, 3.2vw, 2rem);  margin-top: 2rem; }
h3 { font-size: 1.25rem; }

/* Navbar brand a hair larger */
.navbar-brand { font-size: 1.25rem; }

/* Paragraph spacing for readability */
.post-content p, .post-content li { margin-bottom: 0.75rem; }

/* Footer slightly smaller so it doesn’t compete */
footer { font-size: 0.9rem; }

/* Tighter title spacing and smaller title on pages (incl. homepage) */
.page-heading { 
  margin-bottom: 1.25rem; 
  font-size: clamp(1.8rem, 3.0vw, 2.2rem);
  letter-spacing: -0.01em;
}

/* --- Research grid --- */
.pub-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
  align-items: start;
}
.pub-card {
  border: 1px solid #eee;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.pub-card img {
  width: 100%; height: 160px; object-fit: cover; display: block;
}
.pub-body { padding: 0.9rem 1rem 1rem; }
.pub-title { font-size: 1.1rem; margin: 0 0 0.25rem; line-height: 1.35; }
.pub-authors, .pub-venue, .pub-links { margin: 0.25rem 0; }
.pub-blurb { margin-top: 0.5rem; }

/* Smaller big titles everywhere (homepage + pages + posts) */
.page-heading,
.post-heading h1,
.page-title,
.post-title,
.post-content h1:first-of-type,
.page-content .post-content h1:first-of-type,
#intro-header .page-heading h1 {
  font-size: clamp(1.6rem, 2.4vw, 2.05rem) !important; /* smaller, mansmeg-like */
  font-weight: 500 !important;  /* keep the lighter weight */
  letter-spacing: -0.01em;
  margin-bottom: 0.25rem;
}
