:root {
  --bg: #121212;
  --fg: #f5f5f5;
  --accent: #ffd700;
  --maxw: 800px;
  --gap: 3rem;
  --sans: -apple-system,Segoe UI,sans-serif;
}

* { box-sizing:border-box; margin:0; padding:0; }

body {
  background: var(--bg);
  color: var(--fg);
  font-family: var(--sans);
  line-height: 1.6;
  padding: 2rem 1rem;
}

nav {
  position: sticky; top:0;
  background: var(--bg);
  padding: 1rem 0;
  text-align: center;
}

nav ul { 
  display: inline-flex; 
  gap:2rem; 
  list-style:none; 
}

nav a {
  color: var(--fg);
  text-decoration: none;
  font-weight: 600;
}

nav a:hover { 
  color: var(--accent); 
}

main { 
  max-width: var(--maxw); 
  margin: auto; 
}

h1 {
  font-size: clamp(2.5rem,8vw,4rem);
  text-align: center;
  margin-bottom: .5rem;
  color: var(--accent);
}

h1:not(.hero h1) {
  font-size: 2rem;
  margin-bottom: 1rem;
}

h2 {
  margin-top: var(--gap);
  color: var(--accent);
}

h3 {
  margin-top: 1rem;
  font-size: 1.1rem;
}

p, ul, ol {
  margin-bottom: 1rem;
}

ul, ol {
  margin-left: 1.2rem;
}

ul li, ol li {
  margin-bottom: .5rem;
}

.subtitle {
  text-align: center;
  color: #bbb;
  margin-bottom: 2rem;
}

.extended-bio {
  margin: var(--gap) 0;
  color: #ddd;
  font-size: 1.05rem;
}

.hero img {
  width:120px; 
  height:120px; 
  border-radius:50%;
  object-fit:cover; 
  border:2px solid var(--accent);
  display:block; 
  margin:0 auto 1rem;
  loading: lazy;
}

.stats {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1rem;
  text-align: center;
  margin: var(--gap) 0;
}

@media(max-width:600px){
  .stats {
    grid-template-columns: repeat(2,1fr);
  }
  h1 { font-size: 1.8rem !important; }
  h2 { font-size: 1.4rem; }
}

.stat-num {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--accent);
}

.projects { 
  margin: var(--gap) 0; 
}

.teaser { 
  margin-bottom: 2rem; 
}

.teaser h2 {
  color: var(--accent);
  font-size: 1.3rem;
  margin-bottom: .5rem;
}

.teaser a, 
a.back, 
#contact a { 
  color: var(--accent); 
}

.teaser a { 
  text-decoration: underline; 
}

a.back {
  display: inline-block;
  margin-top: var(--gap);
  text-decoration: underline;
}

#contact {
  text-align: center;
  margin-top: var(--gap);
}

#contact p[style] {
  color:#666;
  font-size:.9rem;
}

.publications h2 {
  margin-top: 2rem;
  font-size: 1.2rem;
}

.publications .back {
  margin-top: 2rem;
}

.publications li {
  margin-bottom: 1rem;
}

/* DOI links - bright cyan */
.publications a[href^="https://doi.org"] {
  color: #4fc3f7 !important;
  background: rgba(79, 195, 247, 0.1);
  padding: 0.2rem 0.4rem;
  border-radius: 4px;
  font-size: 0.9rem;
  text-decoration: none;
  font-weight: 500;
}

.publications a[href^="https://doi.org"]:hover {
  background: rgba(79, 195, 247, 0.2);
  color: #81d4fa !important;
  text-decoration: underline;
}
