@font-face {
  font-family: 'Chianti BT';
  src: url('../fonts/chianti-bt-regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Chianti BT';
  src: url('../fonts/chianti-bt-bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
:root{--paper:#fff;--ink:#1d2d38;--muted:#696969;--accent:#a02337;--line:#dedede;--serif:'Chianti BT',Georgia,'Times New Roman',serif;--sans:'Chianti BT',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none;text-underline-offset:4px}a:hover{text-decoration:underline}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.04em;line-height:1.15}h1{font-size:clamp(52px,6.8vw,86px);margin-bottom:22px}h2{font-size:36px;margin-bottom:28px}h3{font-size:19px;line-height:1.45;font-weight:600}p{margin-bottom:16px}.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner,.site-main,.site-footer{max-width:1140px;margin:auto;padding-left:40px;padding-right:40px}.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-weight:700;color:var(--ink);font-size:20px;letter-spacing:-.04em}.wordmark>span{color:var(--muted);font-weight:400}.wordmark .wordmark-name{font-size:14px;letter-spacing:0}.site-header nav{display:flex;gap:30px;font-size:15px}.site-header nav a{color:var(--ink)}.site-header nav a[aria-current]{color:var(--accent);text-decoration:underline}.hero{display:grid;grid-template-columns:1fr 255px;gap:75px;align-items:center;padding:82px 0 70px}.eyebrow,.section-label{font-size:11px;letter-spacing:.16em;font-weight:600;color:var(--accent)}.eyebrow{margin-bottom:24px}.role{font-size:16px;color:var(--muted);max-width:490px}.role span{padding:0 6px;color:#b5b5b5}.intro{font:26px/1.35 var(--serif);max-width:560px;margin-top:28px}.hero-links{display:flex;gap:24px;align-items:center;flex-wrap:wrap;font-size:15px;margin-top:32px}.button{display:inline-flex;padding:11px 18px;background:var(--accent);color:white;gap:28px;border:1px solid var(--accent)}.button:hover{background:#801c2c;text-decoration:none}.portrait{margin:0;position:relative}.portrait:before{content:'';position:absolute;inset:14px -14px 23px 14px;border:1px solid #d4c4c7;z-index:-1}.portrait img{display:block;width:100%;height:312px;object-fit:cover;object-position:center 35%;filter:saturate(.82);border-radius:2px}.portrait figcaption{font-size:11px;letter-spacing:.06em;color:var(--muted);margin-top:15px}.section{display:grid;grid-template-columns:175px minmax(0,1fr);gap:30px;border-top:1px solid var(--line);padding:45px 0}.section-label{padding-top:5px;color:var(--ink);font-size:20px;letter-spacing:.02em;line-height:1.35}.section-content>p:last-child{margin-bottom:0}.biography p{font-size:18px;line-height:1.6}.news-item{display:grid;grid-template-columns:75px 1fr;gap:18px;padding:9px 0;font-size:16px}.news-item time{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:2px}.news-item p{margin:0}.news-item strong{font-weight:600}.news-item em{font-style:normal}details{margin-top:20px}summary{font-size:13px;color:var(--accent);cursor:pointer;width:fit-content}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.section-heading>a{font-size:12px;white-space:nowrap}.publication{display:grid;grid-template-columns:118px minmax(0,1fr);gap:22px;padding:27px 0;border-bottom:1px solid var(--line)}.publication:first-child{padding-top:4px}.publication:last-child{border-bottom:0}.publication-meta{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.venue{font-size:14px;letter-spacing:.02em;font-weight:650;color:var(--accent);padding:4px 0}.publication h3{font-size:19px;line-height:1.35;margin:0 0 9px}.publication h3 a{color:var(--ink)}.authors{font-size:15px;line-height:1.5;color:var(--muted);margin-bottom:10px}.authors u{color:var(--ink);text-decoration:none;font-weight:600}.paper-links{display:flex;gap:18px;font-size:11px;letter-spacing:.04em}.section-content ul{padding-left:18px}.section-content li{padding:4px 0;font-size:16px}.section-content>p>strong{font-size:20px;font-weight:700}.contact-section{background:#fff;border-top:1px solid var(--line);margin-top:15px;padding:42px}.contact-section h2{font-size:46px;margin-bottom:18px}.contact-email{font-size:clamp(15px,2.2vw,23px);overflow-wrap:anywhere}.contact-section>p:last-child{font-size:14px;color:var(--muted);margin-top:22px;margin-bottom:0}.site-footer{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);padding-top:35px;padding-bottom:35px}.page-heading{padding:70px 0 40px}.page-heading h1{font-size:64px}.page-heading>p:last-child{color:var(--muted)}.publication-filters{display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:25px}.publication-filters button{font:13px var(--sans);color:var(--muted);padding:9px 17px;border:1px solid var(--line);border-radius:2px;background:transparent;cursor:pointer}.publication-filters button.active{color:white;background:var(--accent);border-color:var(--accent)}.result-count{font-size:12px;color:var(--muted);margin-left:auto}.talks-page>ul{list-style:none;padding:0}.talks-page>ul>li{padding:26px 0;border-top:1px solid var(--line);font-size:19px;font-weight:600}.talks-page>ul>li p{font-size:16px;font-weight:400;color:var(--muted);margin:12px 0 0}.talks-page>ul>li p:first-child{font-size:19px;font-weight:600;color:var(--ink)}.award{color:var(--accent)}.skip-link{position:absolute;top:-80px;left:20px;background:var(--ink);color:white;padding:10px;z-index:10}.skip-link:focus{top:12px}[hidden]{display:none!important}@media(min-width:1300px){.hero{padding-top:100px;padding-bottom:90px}}@media(max-width:800px){.header-inner,.site-main,.site-footer{padding-left:25px;padding-right:25px}.header-inner{min-height:80px}.wordmark-name{display:none}.site-header nav{gap:19px;font-size:14px}.hero{gap:30px;grid-template-columns:1fr 190px;padding:55px 0}.portrait img{height:260px}.intro{font-size:23px}.hero-links{gap:15px}.section{grid-template-columns:130px minmax(0,1fr);gap:20px}.publication{grid-template-columns:1fr;gap:6px}.publication-meta{flex-direction:row;align-items:center;gap:15px}.section-heading{align-items:start}h2{font-size:30px}}@media(max-width:560px){.header-inner,.site-main,.site-footer{padding-left:20px;padding-right:20px}.header-inner{gap:12px}.site-header nav{gap:14px}.wordmark{font-size:18px}.wordmark>span{display:none}.hero{grid-template-columns:1fr;gap:35px;padding:45px 0}.hero-copy{order:1}.portrait{width:135px}.portrait img{height:155px}.portrait figcaption{font-size:9px}.portrait:before{inset:8px -8px 20px 8px}h1{font-size:58px}.eyebrow{font-size:9px;letter-spacing:.12em}.intro{font-size:25px}.role{font-size:15px}.section{grid-template-columns:1fr;gap:18px;padding:30px 0}.section-label{font-size:20px;padding:0}.section-heading h2{font-size:30px}.news-item{grid-template-columns:60px 1fr;gap:14px}.contact-section{padding:28px 22px}.site-footer{flex-wrap:wrap;gap:10px}.site-footer>span:nth-child(2){display:none}.page-heading{padding:45px 0 25px}.page-heading h1{font-size:48px}.publication-filters{flex-wrap:wrap}.publication-filters button{padding:8px 12px}.result-count{width:100%;margin:6px 0 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.site-header,.site-footer,.publication-filters,.hero-links{display:none}.site-main{max-width:none;padding:0}.section{break-inside:avoid}.hero{padding:20px 0}.contact-section{background:none}.portrait img{height:200px}.hero{grid-template-columns:1fr 160px}}

/* Publication resources: lightweight SVGs, no icon-font dependency. */
.paper-links {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
  letter-spacing: 0;
}
.paper-links a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 5px 11px;
  border: 1px solid #dedede;
  border-radius: 5px;
  background: #fff;
  color: var(--accent);
  font-size: 14px;
  line-height: 1.4;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.paper-links a:hover {
  border-color: var(--accent);
  box-shadow: 0 2px 5px rgb(0 0 0 / 6%);
  text-decoration: none;
}
.paper-links svg {
  width: 15px;
  height: 15px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@media (prefers-reduced-motion: reduce) {
  .paper-links a { transition: none; }
}

.research-directions > p > strong { font-size: 20px; }
.research-directions ul { margin-top: 10px; margin-bottom: 20px; }
.research-directions ul:last-child { margin-bottom: 0; }
.research-directions li { padding: 4px 0; line-height: 1.55; }

/* Hide the header monogram while preserving navigation placement. */
.site-header .wordmark { display: none; }
.header-inner { justify-content: flex-end; }

/* Give presentation resources a separate, easy-to-scan action row. */
.talk-links { margin-top: 12px; }
.talk-links a { min-height: 38px; padding: 7px 14px; font-weight: 700; }
.talk-links svg { width: 18px; height: 18px; }

/* Shared venue badges for homepage and publication archive. */
.publication { grid-template-columns: 126px minmax(0, 1fr); }
.publication .venue {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 126px;
  height: 34px;
  flex: none;
  min-height: 34px;
  padding: 5px 9px;
  border-radius: 4px;
  background: var(--accent);
  color: #fff;
  text-align: center;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}
@media (max-width: 800px) {
  .publication { grid-template-columns: 1fr; }
}

#publications .section-heading { justify-content: flex-end; margin-bottom: 16px; }
