@font-face{font-family:Montserrat;src:url('/assets/montserrat.woff2') format('woff2');font-display:swap;font-weight:100 900}
@font-face{font-family:RobotoSlab;src:url('/assets/roboto-slab.woff2') format('woff2');font-display:swap;font-weight:100 900}
:root{--ink:#33312e;--muted:#66615a;--paper:#fff;--wash:#f6f4f0;--line:#dedad3;--accent:#93632d;--link:#ac282b;--sans:Montserrat,Arial,sans-serif;--serif:RobotoSlab,Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--muted) var(--wash)}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.85 var(--serif)}::selection{background:#ecd6b8;color:var(--ink)}a{color:var(--link);text-underline-offset:.22em}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:hover{background:var(--wash)}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}.skip{position:absolute;top:-100px;left:20px;background:white;padding:12px;z-index:2}.skip:focus{top:12px}.site-header{max-width:1280px;margin:auto;padding:42px 40px 0}.wordmark{display:block;text-align:center;color:var(--ink);text-decoration:none;font:400 clamp(1.6rem,3.2vw,2.8rem)/1.25 var(--sans);letter-spacing:.12em;text-transform:uppercase}nav{display:flex;justify-content:center;gap:38px;margin-top:34px;border-block:1px solid var(--line);padding:17px 0;font:600 13px/1.7 var(--sans)}nav a{text-decoration:none;color:var(--muted);padding:8px 0}nav a[aria-current]{color:var(--accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:9px}main{max-width:1120px;margin:auto;padding:0 40px 72px}.page-title{padding:48px 0 30px}h1,h2,h3,h4,h5,h6{font-family:var(--sans);line-height:1.35;text-wrap:balance}h1{font-size:clamp(2rem,4vw,3rem);font-weight:500;margin:0;letter-spacing:-.025em}h2,h3{font-size:clamp(1.35rem,2.5vw,1.8rem);margin:2.4em 0 1em;font-weight:600}h4,h5{font-size:1.15rem}h6{font-size:.95rem;font-weight:500}p{margin:0 0 1.5em}img{max-width:100%;height:auto}.prose{max-width:74ch;margin:0 auto}.prose a{overflow-wrap:anywhere}.prose p{text-align:left}.prose h2:first-child{margin-top:0}.prose hr{border:0;border-top:1px solid var(--line);clear:both;margin:34px 0}.prose ul{padding-left:24px}.prose blockquote{margin:32px 0;padding:24px;background:var(--wash)}.gallery{margin:0 0 48px}.gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;scrollbar-width:thin}.gallery-track img{flex:0 0 calc(50% - 6px);width:calc(50% - 6px);object-fit:cover;aspect-ratio:5/2;scroll-snap-align:start}.gallery-controls{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font:500 12px/1.5 var(--sans);color:var(--muted)}.gallery-controls button{background:none;border:0;padding:10px 14px;color:var(--ink)}.gallery-controls button:hover{text-decoration:underline}.research-video{max-width:74ch;margin:60px auto 0;border-top:1px solid var(--line)}details{border-block-start:1px solid var(--line);padding:22px 0}details:last-child{border-bottom:1px solid var(--line)}summary{font:600 1.2rem/1.5 var(--sans);cursor:pointer;padding:5px 0}details[open]>summary{margin-bottom:28px}.team .alignleft{float:left;width:150px;margin:8px 28px 18px 0}.team p:has(>strong:only-child){font-family:var(--sans);font-size:1.25rem;margin-top:26px;margin-bottom:14px}.team details{clear:both}.team details::after{content:'';display:block;clear:both}.biography table{width:100%;border-collapse:collapse;margin-bottom:32px}.biography td{vertical-align:top;padding:0 20px 0 0}.biography td:first-child{width:160px}.biography td ul{font:500 .9rem/1.9 var(--sans);list-style:none;padding:0}.biography td h2{font-size:1.5rem;margin:0 0 16px}.video-link{display:block;margin:12px 0 24px}.pub-item{border-bottom:1px solid var(--line);padding:18px 0}.pub-item h5,.pub-item h6{margin:12px 0}.publication-tools{display:flex;align-items:end;gap:20px;background:var(--wash);padding:24px;margin:32px 0 18px;font:500 .85rem/1.5 var(--sans)}.publication-tools>div:first-child{flex:1}.publication-tools label{display:block;margin-bottom:8px}.publication-tools input,.publication-tools select{width:100%;background:var(--paper);border:1px solid #938b80;padding:12px;min-height:46px;border-radius:0;caret-color:var(--accent)}.publication-tools button{border:1px solid #938b80;padding:12px;background:white;min-height:46px}#publication-count{font:500 .85rem/1.5 var(--sans);color:var(--muted)}.publication{border-bottom:1px solid var(--line);padding:26px 0;max-width:84ch}.publication h2{font:500 1.14rem/1.6 var(--serif);margin:0 0 12px}.publication p{margin:0 0 8px;font:400 .83rem/1.7 var(--sans);color:var(--muted)}.ip-title a{color:var(--ink);text-decoration:none}.ip-title a:hover{text-decoration:underline;color:var(--link)}.citation-meta{font-variant-numeric:tabular-nums}.selected-publications{margin-bottom:24px}footer{border-top:1px solid var(--line);max-width:1200px;margin:auto;padding:32px 40px 48px;display:flex;gap:30px;justify-content:space-between;font:500 .78rem/1.8 var(--sans)}footer a{color:var(--muted)}footer>div{display:flex;gap:22px}.footer-brand{color:var(--ink);text-decoration:none}
@media(max-width:700px){body{font-size:16px}.site-header{padding:28px 22px 0}.wordmark{letter-spacing:.07em}nav{gap:8px 22px;flex-wrap:wrap;margin-top:26px;font-size:12px;padding:12px 0}main{padding:0 22px 48px}.page-title{padding:32px 0 24px}.gallery-track img{flex-basis:88%;width:88%}.gallery{margin-bottom:32px}.publication-tools{flex-wrap:wrap;padding:18px;gap:16px}.publication-tools>div:first-child{flex-basis:100%}.publication-tools>div:nth-child(2){flex:1}.team .alignleft{width:108px;margin-right:18px}.biography td{display:block;padding:0;width:100%!important}.biography td:first-child{margin-bottom:24px}.biography td img{width:144px}footer{padding:26px 22px;flex-direction:column;gap:16px}footer>div{flex-wrap:wrap}.prose>div>br{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

footer .footer-links{flex-wrap:wrap;gap:10px 22px;flex:1}footer>a{flex-shrink:0}
