/* Typography & layout */
:root{
  --text:#111;
  --muted:#5d5d5d;
  --link:#111;
  --accent:#111;           /* underline for active nav */
  --bg:#fff;
  --maxw:1180px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--text);
  font-family:"Poppins", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size:18px;
  line-height:1.7;
}

/* Containers */
.container{max-width:var(--maxw); margin:0 auto; padding:0 28px}

/* Header */
.site-header{
  background:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.08);
  position:sticky; top:0; z-index:10;
}
.brand{
  margin:0;
  text-align:center;
  font-size:44px;
  font-weight:700;
  letter-spacing:.5px;
  padding-top:20px;
}
.nav{
  display:flex;
  gap:28px;
  justify-content:center;
  align-items:center;
  padding:10px 0 16px 0;
}
.nav a{
  color:#333;
  text-decoration:none;
  padding:6px 2px;
  border-bottom:3px solid transparent;
  transition:border-color .15s ease, color .15s ease;
}
.nav a:hover{ color:var(--link) }
.nav a.active{
  color:var(--link);
  border-bottom-color:var(--accent);
}

/* Home hero grid */
.hero{
  display:grid;
  grid-template-columns: 1.2fr .9fr;
  gap:36px;
  padding:44px 0;
}
.intro p{ margin:0 0 14px }
.intro a{ color:#0b5bd3; text-decoration:none }
.intro a:hover{ text-decoration:underline }

.headshot img{
  width:100%; height:auto; display:block;
  border-radius:10px;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
}

/* Body text pages */
.text{ padding:44px 0 }
.text h2{ margin:0 0 18px; font-size:26px }
.text p{ margin:0 0 16px }
/* Increase spacing between bullet points on research page lists */
.text ul { padding-left: 24px; margin: 0 0 18px 0; }
.text li { margin: 0; }
.text li + li { margin-top: 12px; } /* tweak 10–14px to taste */

/* PDF/URL tag chips */
.tag{
  display:inline-block;
  margin-left:10px;
  padding:2px 10px;
  font-size:14px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:999px;
  color:var(--text);
  text-decoration:none;
}
.tag:hover{ background:#f5f5f5 }

/* Footer */
.site-footer{
  border-top:1px solid rgba(0,0,0,.08);
  padding:18px 0;
  color:var(--muted);
  text-align:center;
}

/* Responsive */
@media (max-width: 980px){
  .hero{ grid-template-columns: 1fr }
}

