/* Local adaptation of Tim de Silva's Minimal Mistakes / Academic Pages design. */
html {font-size:18px; scroll-behavior:smooth}
body {padding:0 0 4rem; margin:0; background:#fff; color:#494e52; font-family:'Roboto Slab',Georgia,serif; font-weight:300; line-height:1.5}
* {box-sizing:border-box}
:root {--accent:#c8019c; --accent-hover:#960175}
a, a:visited {color:var(--accent); text-decoration:none}
a:hover {color:var(--accent-hover); text-decoration:underline}
a:focus-visible, summary:focus-visible {outline:2px solid var(--accent); outline-offset:5px}
.site-header {border-bottom:1px solid #f4f4f4}
.site-nav {max-width:1280px; margin:auto; padding:26px 18px; display:flex; flex-wrap:wrap; gap:36px; align-items:center}
.site-nav a {color:#7a8288; white-space:nowrap}
.site-nav a[aria-current] {font-weight:600}
.site-layout {max-width:1280px; margin:36px auto 0; padding:0 18px; display:grid; grid-template-columns:200px minmax(0,780px); gap:56px}
.profile .portrait {display:block; width:175px; height:175px; object-fit:cover; padding:5px; border:1px solid #f2f3f3; border-radius:50%}
.profile h2 {font-size:18px; margin:12px 0 8px; font-weight:600}
.profile-bio {font-size:14px; margin:0 0 18px; line-height:1.5}
.profile-links {padding:0; margin:0; list-style:none; font-size:14px}
.profile-links li {margin:0 0 8px}
.profile-links a {color:inherit}
.profile-links i {width:16px; text-align:center; margin-right:2px}
.fa-linkedin {color:#007bb6}.fa-twitter {color:#55acee}
.site-content {padding-top:10px; min-width:0}
.site-content p {margin:0 0 1.3em}
.site-content a {font-weight:600}
.site-content ul {margin:0 0 1.3em; padding-left:40px}
.site-content li {margin-bottom:.45em}
.site-content h1 {font-size:1.55rem; font-weight:600; margin:0 0 1.25rem}
.site-content h2 {font-size:1.25rem; font-weight:600; margin:1.8rem 0 1.1rem; padding-bottom:.4rem; border-bottom:1px solid #f2f3f3}
.research-section:first-of-type h2 {margin-top:0}
.paper {margin-bottom:1.9rem}
.paper h3 {font-size:1rem; line-height:1.5; margin:0 0 .25rem; font-weight:600}
.paper .authors {margin:0 0 .2rem; font-size:.9rem; color:#73777b}
.paper .authors a, .paper .authors a:visited {color:inherit; font-weight:300}
.paper .authors a:hover {color:#494e52; text-decoration:underline}
.paper .paper-meta {font-size:.85rem; margin:0 0 .45rem; color:#62676b}
.paper .paper-meta strong {font-weight:600}
.site-content .paper-highlights {margin:.5rem 0 0; padding-left:1.5rem; font-size:.8rem}
.site-content .paper-highlights li {margin-bottom:.25rem}
.site-content .paper-highlights a {font-weight:300; text-decoration:underline; text-underline-offset:2px}
.paper details {display:block; margin:0 0 .35rem}
.paper summary {display:inline-block; list-style:none; background:#f8f8f8; padding:1px 5px; font-size:16px; cursor:pointer; color:#303438}
.paper summary::-webkit-details-marker {display:none}
.paper summary::before {content:'[+] '; color:#777}
.paper details[open] summary::before {content:'[−] '}
.abstract {font-size:16px; background:#f1f1f1; padding:14px; margin-top:8px; overflow-wrap:anywhere}
.abstract p:last-child {margin-bottom:0}
.course h3 {font-size:1rem; font-weight:600; margin:1.1rem 0 .3rem}
.course p {font-size:.9rem}
.visually-hidden {position:absolute!important; width:1px; height:1px; padding:0; margin:-1px!important; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}
.skip-link {position:absolute; left:16px; top:-100px; background:white; padding:8px 12px; z-index:100}
.skip-link:focus {top:8px}
@media(min-width:1280px) {html {font-size:20px}.site-layout {grid-template-columns:200px minmax(0,840px)}}
@media(max-width:924px) {
  .site-layout {display:block; margin-top:24px; max-width:800px}
  .profile {display:grid; grid-template-columns:115px 1fr; column-gap:20px; margin-bottom:30px}
  .profile>a {grid-row:1/4}.profile .portrait {width:110px; height:110px}
  .profile h2 {margin:2px 0 5px}.profile-bio {margin-bottom:10px}
  .profile-links {grid-column:2; display:flex; flex-wrap:wrap; gap:6px 16px}
  .profile-links li {margin:0}.site-content {padding-top:0}
}
@media(max-width:480px) {
  html {font-size:16px}.site-nav {padding:20px 18px; gap:24px; font-size:16px}
  .profile {grid-template-columns:85px 1fr; gap:0 16px}.profile .portrait {width:82px; height:82px}
  .profile-links {grid-column:1/-1; margin-top:14px}.site-layout {padding:0 18px}
}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto}}
@media print {.site-header,.profile,.skip-link {display:none}.site-layout {display:block;margin:0}.site-content {max-width:none}}


