/* academic.css - homepage, matched to Deepak Pathak's template
   (Jon Barron / Saurabh Gupta academic template): Titillium Web, 16px,
   links #1772d0 -> hover #f09228, 38px/400 name, 22px/600 section headings,
   gradient rules, ~800px content. */

:root{
  --ink:#000;
  --muted:#5a5a5a; --faint:#777;
  --link:#1772d0; --link-hover:#f09228;
  --code-bg:#f5f5f5; --pill-border:#cfcfcf;
  --rule:linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
  --maxw:840px;
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; color-scheme:light; scroll-behavior:smooth; }
body.home{
  margin:0; background:#fff; color:var(--ink);
  font-family:'Titillium Web', Verdana, Helvetica, sans-serif;
  font-size:16px; font-weight:400; line-height:1.5;
}
.home .wrap{ max-width:var(--maxw); margin:0 auto; padding:2rem 20px 5rem; }
.home a{ color:var(--link); text-decoration:none; }
.home a:hover, .home a:focus{ color:var(--link-hover); text-decoration:none; }
.home strong{ font-weight:600; }

/* profile header -------------------------------------------------------- */
.profile{ display:flex; gap:1.6rem; align-items:flex-start; margin-bottom:1.2rem; }
.profile .avatar{ width:150px; height:150px; object-fit:cover; border:1px solid #ccc; flex:0 0 auto; }
.profile-text h1{ font-size:38px; font-weight:400; margin:0 0 .35rem; line-height:1.05; }
.profile-text .role{ margin:.1rem 0; font-size:17px; }
.profile-text .affil{ margin:.1rem 0 .55rem; color:var(--muted); }
.contacts{ margin:.4rem 0 0; font-size:16px; line-height:1.9; }
.contacts a:not(:last-child)::after{ content:" \00a0|\00a0 "; color:#bbb; }

/* bio ------------------------------------------------------------------- */
.bio{ margin:0 0 1rem; }
.bio p{ margin:.65rem 0; }
.bio .status{ font-weight:600; background:#ffffd0; padding:.05rem .25rem; }
.docs{ font-size:16px; }
.docs a:not(:last-child)::after{ content:" \00a0|\00a0 "; color:#bbb; }

/* section rhythm: gradient rule above each section heading --------------- */
.home section{ margin:1.8rem 0 0; }
.home h2{ font-size:22px; font-weight:600; margin:0 0 .8rem; }
.home section > h2:first-child::before{
  content:""; display:block; height:1px; background-image:var(--rule);
  margin:0 0 1.1rem; border:0;
}
.home h3.subhead{ font-size:17px; font-weight:600; margin:1.3rem 0 .5rem; }
.section-note{ color:var(--muted); font-size:15px; margin:-.35rem 0 1rem; }

/* news ------------------------------------------------------------------ */
.news-list{ list-style:none; margin:0; padding:0; font-size:16px; }
.news-list li{ display:flex; gap:.7rem; margin:.28rem 0; }
.news-list .date{ flex:0 0 4.7rem; color:var(--faint); font-variant-numeric:tabular-nums; }
.news-list.collapsed li.hidden{ display:none; }
.news-toggle{ margin:.6rem 0 0; font-size:15px; background:none; border:0; color:var(--link); cursor:pointer; padding:0; }
.news-toggle:hover{ color:var(--link-hover); }

/* selected projects ----------------------------------------------------- */
.proj-list{ display:flex; flex-direction:column; gap:1.5rem; }
.proj-entry{ display:flex; gap:1.2rem; align-items:flex-start; }
.proj-thumb{ flex:0 0 auto; display:block; width:200px; }
.proj-thumb img{ width:200px; height:120px; object-fit:cover; object-position:top center; background:#0b0b0d; border:1px solid #ddd; }
.proj-meta{ flex:1 1 auto; min-width:0; }
.proj-meta h3{ font-size:17px; font-weight:600; margin:0 0 .15rem; line-height:1.3; }
.proj-venue{ color:var(--faint); font-style:italic; font-size:14px; margin:.1rem 0 .35rem; }
.proj-blurb{ margin:.2rem 0 .4rem; font-size:15px; }
.proj-links{ font-size:15px; }
.proj-links a{ white-space:nowrap; }
.proj-links .ico-link{ display:inline-flex; align-items:center; vertical-align:middle; }
.proj-links .ico{ display:inline-block; vertical-align:middle; }
.proj-links .ico-link svg{ width:14px; height:14px; }
.proj-links .ico.hf-ico{ font-size:15px; line-height:1; }

/* publications (same entry style as selected projects) ------------------ */
.pub-list{ display:flex; flex-direction:column; gap:1.4rem; }
.pub-entry.has-thumb{ display:flex; gap:1.2rem; align-items:flex-start; }
.pub-thumb{ flex:0 0 auto; display:block; width:200px; }
.pub-thumb img{ width:200px; height:120px; object-fit:cover; object-position:top center; background:#fff; border:1px solid #ddd; }
.pub-entry.has-thumb .pub-meta{ flex:1 1 auto; min-width:0; }
.pub-entry h3{ font-size:17px; font-weight:600; margin:0 0 .15rem; line-height:1.3; }
.pub-entry .pub-authors{ margin:.1rem 0; font-size:15px; }
.pub-entry .pub-venue{ margin:.1rem 0 .35rem; color:var(--faint); font-style:italic; font-size:14px; }
.pub-entry .pub-links{ font-size:15px; margin:.25rem 0; }
.pub-entry .pub-links a{ white-space:nowrap; }
.pub-entry .pub-links .ico-link{ display:inline-flex; align-items:center; vertical-align:middle; }
.pub-entry .pub-links .ico-link svg{ width:14px; height:14px; }
.pub-fold{ font-size:14px; margin:.25rem 0; }
.pub-fold summary{ cursor:pointer; color:var(--link); width:max-content; }
.pub-fold summary:hover{ color:var(--link-hover); }
.pub-fold[open] summary{ margin-bottom:.3rem; }
.pub-fold p{ margin:.2rem 0; }
.pub-fold pre{ background:var(--code-bg); border:1px solid #e2e2e2; padding:.7rem .9rem; overflow-x:auto; font-size:13px; white-space:pre; }

/* education & experience ------------------------------------------------ */
.cv-item{ margin:0 0 1rem; }
.cv-head{ margin:.1rem 0; }
.cv-when{ float:right; color:var(--faint); font-style:italic; font-size:15px; }
.cv-role{ margin:.05rem 0 .35rem; color:var(--muted); font-style:italic; }
.cv-item ul{ margin:.3rem 0; padding-left:1.3rem; }
.cv-item li{ margin:.3rem 0; font-size:15px; }

/* teaching -------------------------------------------------------------- */
.teaching-list{ list-style:none; margin:0; padding:0; }
.teaching-list li{ display:flex; gap:.7rem; margin:.32rem 0; }
.teaching-list .date{ flex:0 0 6.4rem; color:var(--faint); font-style:italic; font-size:15px; }

/* links ----------------------------------------------------------------- */
.links-grid{ display:flex; gap:3rem; flex-wrap:wrap; }
.links-grid ul{ list-style:none; margin:.2rem 0; padding:0; }
.links-grid li{ margin:.25rem 0; }

/* contact / footer ------------------------------------------------------ */
#contact p{ margin:.4rem 0; }
.site-footer{ margin-top:2.5rem; padding-top:0; color:var(--faint); font-size:14px; }
.site-footer::before{ content:""; display:block; height:1px; background-image:var(--rule); margin:0 0 1rem; }

/* responsive ------------------------------------------------------------ */
@media (max-width:680px){
  .profile{ flex-direction:column; gap:1rem; }
  .profile .avatar{ width:120px; height:120px; }
  .profile-text h1{ font-size:30px; }
  .proj-entry, .pub-entry.has-thumb{ flex-direction:column; gap:.6rem; }
  .proj-thumb, .proj-thumb img, .pub-thumb, .pub-thumb img{ width:100%; max-width:320px; height:auto; }
  .cv-when{ float:none; display:block; }
  .links-grid{ gap:1.5rem; }
  .news-list .date{ flex-basis:4.3rem; }
}
