:root{
--bg:#fff;
--text:#222;
--heading:#111;
--muted:#666;
--rule:#d9d9d9;
--accent:#0056a3;
--accent-hover:#003f77;
--button:#f6f7f9;
--max-width:1280px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:"Source Serif 4",serif;font-size:14px;line-height:1.75;}
a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--accent-hover);}
header{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--rule);}
nav{max-width:var(--max-width);margin:auto;display:flex;justify-content:center;gap:40px;padding:18px 25px;}
nav a{font-family:Inter,sans-serif;font-size:15px;font-weight:500;color:#444;}
main.layout{max-width:var(--max-width);margin:auto;padding:50px 30px;display:grid;grid-template-columns:420px 1fr;gap:70px;align-items:start;}
.sidebar{position:sticky;top:100px;text-align:center;align-self:start;}
.sidebar h1{font-family:Inter,sans-serif;font-size:2rem;font-weight:600;line-height:1.2;white-space:nowrap;letter-spacing:-0.02em;}
.name-divider{border:none;border-top:2px solid var(--rule);margin:18px 0 38px;}
/* ==========================================================
   PROFILE PHOTO
   Displays a rectangular portrait instead of a circular image.
========================================================== */

.hero-photo img{

    /* Width of the displayed photo */
    width:260px;

    /* Height of the displayed photo */
    height:340px;

    /* Small rounded corners (set to 0 for sharp corners) */
    border-radius:0px;

    /* Keeps the image proportions while filling the frame */
    object-fit:cover;

    /* Light gray border around the photograph */
    border:2px solid #d8d8d8;

}
.content{min-width:0;}
.content h2{font-family:Inter,sans-serif;font-size:2rem;margin-bottom:25px;}
.bio{margin-bottom:22px;text-align:justify;}
.hero-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--button);border:1px solid #ddd;border-radius:6px;font-family:Inter,sans-serif;font-size:15px;}
.pronouns{margin-top:18px;font-size:15px;color:var(--muted);font-family:Inter,sans-serif;}
hr{border:none;border-top:1px solid var(--rule);margin:70px 0;}
.paper{margin-bottom:35px;}
.paper h3{font-size:1.28rem;margin-bottom:3px;}
.paper h3 a{color:#222;}
.paper h3 a:hover{color:var(--accent);}
.journal{font-size:.96rem;color:#555;}
.authors{font-size:.88rem;color:#777;font-style:italic;margin-bottom:18px;}
.teaching-block ul{margin-left:22px;}
.university-gap{
  margin-top:10px;
}
#contact p{margin-bottom:14px;}
#contact i{width:25px;color:var(--accent);}
footer{border-top:1px solid var(--rule);margin-top:80px;padding:35px;text-align:center;color:#666;font-size:15px;}
#contact{min-height:calc(100vh - 100px);}
@media(max-width:900px){
main.layout{grid-template-columns:1fr;padding:30px 20px;}
.sidebar{position:static;}
nav{gap:18px;flex-wrap:wrap;}
}
