:root{--ink:#25282b;--secondary:#60666c;--accent:#1b3548;--rule:#dedfe1;--paper:#fff}
*{box-sizing:border-box}
html{scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:1.125rem;line-height:1.7}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
p{margin:0 0 1.15em}
.layout{display:grid;grid-template-columns:225px minmax(0,655px);gap:82px;max-width:1074px;margin:76px auto 0;padding:0 34px}
.sidebar{align-self:start;font-family:Arial,Helvetica,sans-serif;font-size:0.9375rem;line-height:1.65}
.name{display:block;font-family:Georgia,"Times New Roman",serif;font-size:2.25rem;line-height:1.15;letter-spacing:-.025em;color:var(--ink);text-decoration:none;white-space:normal}
.role{margin-top:16px;margin-bottom:24px;color:var(--secondary)}
.portrait{display:block;width:180px;max-width:100%;height:auto;object-fit:contain;object-position:center;margin-bottom:29px}
nav{display:flex;flex-direction:column;gap:9px;margin-bottom:29px}
nav a{width:fit-content;text-decoration:none}
nav a:hover{text-decoration:underline}
.sidebar-links{display:flex;flex-direction:column;gap:9px;padding-top:20px;border-top:1px solid var(--rule)}
.sidebar-links a{width:fit-content}
.file-type{font-size:0.8125rem;color:var(--secondary)}
.eyebrow{font-family:Arial,Helvetica,sans-serif;font-size:0.875rem;line-height:1.5;color:var(--secondary);margin:0 0 17px}
h1,h2{font-weight:400;font-size:1.9375rem;line-height:1.25;letter-spacing:-.018em;margin:0 0 24px}
h3{font-family:Arial,Helvetica,sans-serif;font-weight:400;font-size:0.875rem;color:var(--secondary);line-height:1.5;margin:30px 0 17px}

main{min-width:0}
section{padding-bottom:42px;margin-bottom:43px;border-bottom:1px solid var(--rule)}
section p:last-child{margin-bottom:0}
.writing-item{margin:0 0 25px}
.item-title{font-size:1.1875rem;line-height:1.5;margin:0 0 9px}
.item-title a{text-decoration:none}
.item-title a:hover{text-decoration:underline}
.item-meta{font-family:Arial,Helvetica,sans-serif;color:var(--secondary);font-size:0.875rem;line-height:1.6;margin:0 0 5px}
.journal{font-size:1rem;margin:0}

.course{display:grid;grid-template-columns:54px 1fr;gap:18px;margin-top:25px}
.course-year{font-family:Arial,Helvetica,sans-serif;color:var(--secondary);font-size:0.875rem;margin:3px 0 0}
.course h3{font-family:Georgia,"Times New Roman",serif;font-size:1.1875rem;color:var(--ink);margin:0 0 7px}
.course-code{font-family:Arial,Helvetica,sans-serif;font-size:0.8125rem;color:var(--secondary);white-space:nowrap;padding-left:7px}
.course-note{font-size:1rem;line-height:1.6;margin-top:10px;margin-bottom:0}
.pet-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:23px}
.pet-photos a{display:block}
.pet-photos img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
#beyond{margin-bottom:26px;padding-bottom:35px}
footer{font-family:Arial,Helvetica,sans-serif;font-size:0.8125rem;color:var(--secondary);padding-bottom:45px}
footer p{margin:0}
.footer-divider{padding:0 10px}
.skip-link{position:absolute;left:20px;top:-70px;background:white;padding:10px;border:1px solid var(--accent);font-family:Arial,Helvetica,sans-serif;z-index:2}
.skip-link:focus{top:14px}
@media(min-width:1100px){.sidebar{position:sticky;top:42px}}
@media(max-width:900px){.layout{grid-template-columns:190px minmax(0,1fr);gap:44px;margin-top:48px;padding:0 28px}.name{font-size:2rem}.portrait{width:170px}body{font-size:1.0625rem}}
@media(max-width:650px){.layout{display:block;margin:32px auto 0;padding:0 24px;max-width:610px}.sidebar{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:0 18px;margin-bottom:39px;border-bottom:1px solid var(--rule);padding-bottom:26px}.name{font-size:2.125rem;grid-column:1;grid-row:1;white-space:normal}.role{grid-column:1;grid-row:2;margin:12px 0 18px;font-size:0.875rem}.portrait{grid-column:2;grid-row:1/3;width:104px;height:auto;margin:0;align-self:start}nav{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:10px 23px;margin:3px 0 18px;font-size:0.875rem}.sidebar-links{grid-column:1/-1;border:0;padding:0;flex-direction:row;flex-wrap:wrap;gap:9px 20px;font-size:0.875rem}.sidebar-links a:nth-child(2){flex-basis:100%}.eyebrow{margin-bottom:12px;font-size:0.8125rem}h1,h2{font-size:1.75rem;margin-bottom:19px}section{padding-bottom:31px;margin-bottom:32px}.item-title{font-size:1.125rem}.course{gap:12px;grid-template-columns:42px 1fr}.course-code{display:block;padding:3px 0 0}.pet-photos{gap:12px}footer{padding-bottom:28px}}
@media(max-width:350px){.layout{padding:0 16px}.sidebar{grid-template-columns:minmax(0,1fr) 88px;gap:0 12px}.portrait{width:88px;height:auto}.name{font-size:1.875rem}.pet-photos{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.layout{display:block;margin:0;padding:0}.sidebar{position:static;display:block;margin:0 0 24px}.sidebar nav,.sidebar-links,.portrait,.skip-link,.pet-photos{display:none}.name{font-size:1.75rem}.role{margin:8px 0}body{font-size:11pt}section{break-inside:avoid;margin-bottom:16px;padding-bottom:16px}h1,h2{font-size:18pt}h3,.item-meta,.course-year{font-size:10pt}a{color:inherit}footer{padding:0}}



.sidebar-links a{overflow-wrap:anywhere;max-width:100%}


.paper-link{font-family:Arial,Helvetica,sans-serif;font-size:0.875rem;margin:10px 0 0;overflow-wrap:anywhere}
.publication-status{margin-top:7px}
.dated-item{display:grid;grid-template-columns:54px minmax(0,1fr);gap:18px;margin-top:25px}
.item-year{font-family:Arial,Helvetica,sans-serif;color:var(--secondary);font-size:0.875rem;margin:3px 0 0}
.award-title{font-size:1.0625rem;line-height:1.5;margin:0 0 7px}
.highlight-label{font-weight:700}
@media(max-width:650px){.dated-item{grid-template-columns:42px minmax(0,1fr);gap:12px}}

.self-name{font-weight:700;color:var(--ink)}
.link-divider{margin:0 8px;color:var(--secondary)}

#awards .dated-item{grid-template-columns:72px minmax(0,1fr)}
#awards .item-year{white-space:nowrap}
