/* ===== Scholarly Minimal (white background) ===== */
:root{
  --bg:#ffffff;
  --fg:#0f172a;        /* slate-900 */
  --muted:#64748b;     /* slate-500 */
  --accent:#111827;    /* near-black headings */
  --link:#0ea5e9;      /* sky-500 */
  --link-hover:#0369a1;/* sky-700 */
  --border:#e5e7eb;    /* gray-200 */
  --card:#f8fafc;      /* slate-50 */
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font:16px/1.6 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica Neue,Arial,"Apple Color Emoji","Segoe UI Emoji";
}
a{color:var(--link); text-decoration:none}
a:hover,a:focus{color:var(--link-hover); text-decoration:underline}
img{max-width:100%; height:auto; border-radius:10px}

h1,h2,h3{color:var(--accent); line-height:1.2; margin:0 0 .4rem}
h1{font-size:2rem}
h2{font-size:1.35rem; margin-top:2rem}
h3{font-size:1.1rem; margin-top:1rem}
.muted{color:var(--muted)}

.wrap{max-width:960px; margin:0 auto; padding:1.5rem}
.site-header{
  display:grid; grid-template-columns:120px 1fr; gap:1.25rem;
  padding:1rem 0 0.75rem; border-bottom:1px solid var(--border);
}
.avatar{width:120px; aspect-ratio:1/1; object-fit:cover}
.site-title{font-weight:800; letter-spacing:.2px}
.site-tagline{color:var(--muted); margin:.25rem 0 .5rem}
.site-nav a{margin-right:1rem; font-size:.95rem}

.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:1.5rem}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem}

.card{
  background:var(--card); border:1px solid var(--border);
  border-radius:12px; padding:1rem;
}
.card-title{margin:0 0 .4rem}

.news{list-style:none; padding:0}
.news li{padding:.4rem 0; border-bottom:1px dashed var(--border)}
.news li:last-child{border-bottom:0}
.news time{display:inline-block; width:7rem; color:var(--muted)}

.tight{margin:.25rem 0 0; padding-left:1.2rem}
.pubs{list-style:none; padding:0; margin:0}
.pub{padding:.9rem 0; border-bottom:1px dashed var(--border)}
.pub:last-child{border-bottom:0}
.pub-title{font-weight:600}
.pub-authors{color:var(--muted)}
.pub-venue{font-style:italic}
.pub-links a{margin-right:.6rem}

.site-footer{
  border-top:1px solid var(--border); margin-top:2rem; padding:1rem 0;
  font-size:.95rem; color:var(--muted)
}

@media (max-width:720px){
  .site-header{grid-template-columns:80px 1fr}
  .avatar{width:80px}
  .grid-2,.grid-3{grid-template-columns:1fr}
}

/* Print: clean handout for dossiers */
@media print{
  .site-nav,.card a[href^="#"]{display:none!important}
  a{color:#000; text-decoration:none}
  .wrap{max-width:100%; padding:0}
}
