/* ==========================================================================
   Felix Barber — small overrides on top of the stock jekyll-theme-minimal
   stylesheet (style.css), which loads first and sets the page's actual
   look: white background, Noto Sans/Helvetica, blue links, the fixed
   270px sidebar header/footer. Nothing here changes that palette or
   typography — it just adds the nav, figures, and a few list styles the
   theme doesn't define on its own.
   ========================================================================== */

.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 16px; top: 12px; z-index: 10; padding: 6px 10px; background: #267CB9; color: #fff; text-decoration: none; }

header img { max-width: 161px; height: auto; border-radius: 6px; margin: 4px 0 12px; }

/* ---------- nav: a plain vertical menu under the description ---------- */

.site-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 4px 0 24px;
  font-size: 13px;
}
.site-nav a {
  padding: 3px 0;
  color: #676767;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.site-nav a:hover { color: #267CB9; font-weight: normal; }
.site-nav a[aria-current="page"] { color: #222; font-weight: 700; }

/* ---------- figures ---------- */

figure { margin: 0 0 20px; }
figure img {
  display: block;
  max-width: 100%;
  height: auto;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
}
figcaption {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.5;
  color: #8a8a8a;
}
figure.small img { width: 260px; }

/* ---------- home lede ---------- */

p.lede { font-size: 15px; }

/* ---------- key/value lists: updates, contact, education, honors ---------- */

ul.kv, ol.kv { margin: 0 0 20px; padding: 0; }
ul.kv > li, ol.kv > li { position: relative; padding: 0 0 12px 10.5em; list-style: none; }
ul.kv > li > strong:first-child, ol.kv > li > strong:first-child {
  position: absolute;
  left: 0;
  top: 0;
  width: 10em;
  white-space: nowrap;
  font-weight: 700;
  color: #494949;
}
ul.kv img { display: block; width: 100%; max-width: 340px; height: auto; margin: 8px 0 0; border: 1px solid #e5e5e5; border-radius: 4px; }

/* ---------- publications ---------- */

ol.pubs { margin: 0 0 20px; padding: 0; counter-reset: pub; }
ol.pubs > li {
  position: relative;
  padding: 0 0 18px 2.6em;
  list-style: none;
  counter-increment: pub;
}
ol.pubs > li::before {
  content: "[" counter(pub) "]";
  position: absolute;
  left: 0;
  color: #999;
  font-size: 12px;
}
ol.pubs strong { color: #222; }
ol.pubs a {                              /* [doi] / [bioRxiv] / [research briefing] chips */
  margin-right: 4px;
  padding: 1px 6px;
  font-size: 12px;
  white-space: nowrap;
  border: 1px solid #cfe3f0;
  border-radius: 3px;
}
ol.pubs a:hover { color: #fff; background: #267CB9; font-weight: normal; }

/* ---------- footer ---------- */

.footer-links a { margin-right: 10px; }
.footer-links a::before { content: "["; color: #aaa; }
.footer-links a::after  { content: "]"; color: #aaa; }

/* ---------- small screens (theme goes static at 720px) ---------- */

@media print, screen and (max-width: 720px) {
  .site-nav { flex-direction: row; flex-wrap: wrap; gap: 4px 14px; margin-bottom: 20px; }
  ul.kv > li, ol.kv > li { padding-left: 0; }
  ul.kv > li > strong:first-child, ol.kv > li > strong:first-child { display: block; position: static; width: auto; margin-bottom: 2px; }
}
