:root{--paper:#f7f5ef;--ink:#243c35;--muted:#626b64;--green:#173e36;--accent:#b85d39;--line:#d9ded5;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}p+p{margin-top:16px}.site-header{position:sticky;top:0;z-index:10;background:rgba(247,245,239,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner,.page-shell,.footer-inner{width:min(1080px,calc(100% - 96px));margin:0 auto}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-family:var(--serif);font-size:25px;letter-spacing:-.7px}.wordmark-dot,.accent{color:var(--accent)}nav{display:flex;gap:40px;align-items:center}nav a{position:relative;display:flex;align-items:center;min-height:88px;font-size:14px;font-weight:500;letter-spacing:.02em}nav a[aria-current=page]{color:var(--green)}nav a[aria-current=page]:after{position:absolute;bottom:20px;left:0;right:0;height:2px;background:var(--accent);content:''}.hero{display:grid;grid-template-columns:1fr 285px;gap:90px;align-items:center;padding:76px 0 68px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.18em;font-weight:600;color:var(--muted)}h1{font-size:clamp(64px,7.5vw,94px);line-height:1.02;letter-spacing:-4px}.hero h1{margin:25px 0 24px}.hero h1>span{display:block}.position{font-size:15px;color:var(--green);margin-bottom:21px}.intro{font-size:18px;line-height:1.8;color:var(--muted);max-width:520px}.contact-links{display:flex;gap:28px;margin-top:27px;font-size:13px;font-weight:500}.contact-links a{border-bottom:1px solid #bac6ba;padding-bottom:4px}.contact-links span{margin-left:10px}.portrait{position:relative;margin-top:8px}.portrait:before{content:'';position:absolute;inset:17px -17px 33px 17px;border:1px solid #c1cec1;z-index:-1}.portrait img{display:block;width:100%;height:auto;border-radius:2px}.portrait figcaption{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:14px}.section-rule{border-top:1px solid var(--line)}.research-intro{display:grid;grid-template-columns:1fr 1.6fr;gap:72px;padding:44px 0 47px}.research-intro h2{font-size:29px;line-height:1.3;letter-spacing:-.65px;margin-top:13px}.research-copy{padding-top:5px;font-size:15px;line-height:1.85;color:var(--muted)}.research-copy .topics{font-size:11px;color:var(--green);margin-top:20px}.topics span{padding:0 9px;color:var(--accent)}.papers-section{padding:43px 0 58px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:26px}h2{font-size:32px;line-height:1.25;letter-spacing:-.7px}.paper-list{list-style:none;padding:0;margin:0}.paper{display:grid;grid-template-columns:minmax(0,1fr) 62px;gap:22px;padding:27px 0;border-top:1px solid var(--line)}.paper h3{font-size:22px;line-height:1.4;letter-spacing:-.3px;max-width:830px}.paper-body>p{font-size:13px;margin-top:7px;color:var(--muted)}.paper-body>p.paper-meta{font-size:11px;margin-top:9px;color:var(--muted)}.paper-meta span{padding:0 5px}.paper-link{font-size:12px;color:var(--green);display:flex;gap:10px;align-items:baseline;justify-content:flex-end;padding-top:7px}.paper-link:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.about-section{display:grid;grid-template-columns:1fr 1.6fr;gap:72px;padding:44px 0 72px}.about-section h2{font-size:27px}.about-section p{font-size:15px;color:var(--muted)}.text-link{display:inline-block;font-size:13px;margin-top:23px;border-bottom:1px solid #bac6ba;padding-bottom:4px}.text-link span{margin-left:16px}.site-footer{background:var(--green);color:var(--paper)}.footer-inner{padding:41px 0;display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-name{font:24px var(--serif)}.footer-inner p{color:#c3d0c7;font-size:11px;line-height:1.9;margin-top:10px}.footer-email{font-size:13px}.footer-email span{margin-left:15px}.site-footer a:hover{color:#e4aa8f}.teaching-hero{padding:76px 0 63px}.teaching-hero h1{font-size:clamp(44px,6vw,72px);letter-spacing:-2.5px;margin:24px 0}.teaching-hero .intro{max-width:620px}.teaching-resources{padding:43px 0 51px}.paper-body>p.resource-description{font-size:14px;margin-top:13px;max-width:630px}.teaching-contact{padding:43px 0 75px;display:grid;grid-template-columns:1.5fr 1fr;gap:80px}.teaching-contact h2{margin-top:14px;font-size:29px}.teaching-contact p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:19px}.student-note{border-left:1px solid var(--line);padding-left:32px}.student-note h3{font-size:24px}.student-note a{text-decoration:underline;text-underline-offset:4px}.skip-link{position:fixed;top:-100px;left:16px;padding:12px 20px;background:var(--green);color:white;z-index:100}.skip-link:focus{top:10px}
@media(min-width:1400px){.hero{gap:125px;grid-template-columns:1fr 300px;padding:88px 0 78px}}
@media(max-width:800px){.header-inner,.page-shell,.footer-inner{width:calc(100% - 48px)}.hero{gap:40px;grid-template-columns:1fr 225px;padding:56px 0}.hero h1{font-size:70px}.intro{font-size:16px}.research-intro,.about-section{gap:35px;grid-template-columns:1fr 1.4fr}.research-intro h2{font-size:26px}.teaching-contact{gap:35px}.topics span{padding:0 4px}}
@media(max-width:600px){.header-inner,.page-shell,.footer-inner{width:calc(100% - 40px)}.header-inner{min-height:76px;gap:12px}.wordmark{font-size:21px}nav{gap:22px}nav a{min-height:76px;font-size:13px}nav a[aria-current=page]:after{bottom:16px}.hero{grid-template-columns:1fr;gap:35px;padding:42px 0}.hero h1{font-size:72px;letter-spacing:-3px}.hero .eyebrow{font-size:9px}.position{font-size:14px}.contact-links{gap:24px}.portrait{max-width:260px;width:75%;margin:0 auto}.portrait figcaption{font-size:9px}.research-intro,.about-section{grid-template-columns:1fr;gap:21px;padding:34px 0}.research-intro h2 br{display:none}.research-intro h2{font-size:30px}.research-copy{font-size:15px}.papers-section{padding:34px 0}.section-heading{align-items:flex-start;gap:10px}.section-heading h2{font-size:27px}.section-heading>.eyebrow{font-size:8px;padding-top:9px;white-space:nowrap}.paper{grid-template-columns:minmax(0,1fr);gap:12px;padding:24px 0}.paper h3{font-size:21px}.paper-link{grid-column:1;justify-content:flex-start;padding-top:0}.paper-body>p.paper-meta{line-height:1.7}.about-section{padding-bottom:45px}.footer-inner{align-items:flex-start;flex-direction:column;padding:33px 0;gap:24px}.teaching-hero{padding:44px 0 39px}.teaching-hero h1{font-size:49px;letter-spacing:-2px}.teaching-resources{padding:34px 0}.teaching-contact{grid-template-columns:1fr;padding:34px 0 45px;gap:30px}.student-note{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.teaching-contact h2{font-size:28px}}
body{min-height:100vh;display:flex;flex-direction:column}.page-shell{flex:1}.wordmark{white-space:nowrap}.teaching-contact .text-link{margin-top:0}
@media(max-width:360px){.wordmark{font-size:18px}.header-inner{gap:10px}nav{gap:15px}nav a{font-size:12px}.hero h1{font-size:54px}.section-heading{flex-direction:column;gap:4px}.section-heading>.eyebrow{padding-top:0}.contact-links{gap:16px;font-size:12px}.topics{line-height:2}.teaching-hero h1{font-size:42px}}
.paper{grid-template-columns:112px minmax(0,1fr) 82px;align-items:start}.paper-thumbnail{width:112px;aspect-ratio:1;background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden;margin-top:3px}.paper-thumbnail img{display:block;width:100%;height:100%;object-fit:contain}.paper-links{display:flex;flex-direction:column;gap:7px;align-items:flex-end}.paper-links .paper-link{white-space:nowrap}.paper-meta a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.paper{grid-template-columns:90px minmax(0,1fr) 70px;gap:18px}.paper-thumbnail{width:90px}}
@media(max-width:600px){.paper{grid-template-columns:72px minmax(0,1fr);gap:12px 18px}.paper-thumbnail{width:72px;grid-row:1 / span 2}.paper-links{grid-column:2;flex-direction:row;align-items:baseline;gap:24px;margin-top:3px}}
@media(max-width:360px){.paper{grid-template-columns:56px minmax(0,1fr);column-gap:12px}.paper-thumbnail{width:56px}.paper h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.paper-thumbnail picture{display:block;width:100%;height:100%}
.talks-hero{padding:70px 0 48px}.talks-hero h1{font-size:clamp(42px,6vw,72px);line-height:1.12;letter-spacing:-2.5px}.talks-hero>p{margin-top:22px;font-size:17px;color:var(--muted)}.talk-list{list-style:none;padding:0 0 75px;margin:0}.talk{display:grid;grid-template-columns:130px minmax(0,1fr);gap:38px;border-top:1px solid var(--line);padding:34px 0 38px}.talk-date{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted)}.talk-year{font:30px/1.25 var(--serif);color:var(--accent)}.talk-body h2{font-size:28px;line-height:1.3;letter-spacing:-.5px;max-width:760px;margin-top:10px}.talk-collaborator,.talk-venue{font-size:14px;color:var(--muted);margin-top:11px}.talk-body .talk-venue{margin-top:9px}.talk-recordings{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.talk-recordings a{display:inline-flex;align-items:center;gap:20px;min-height:40px;padding:7px 14px;border:1px solid #bbc9bd;border-radius:3px;font-size:12px;color:var(--green)}.talk-recordings a:hover{background:var(--green);border-color:var(--green);color:var(--paper)}.talk-recordings a span{color:var(--accent)}.talk-recordings a:hover span{color:var(--paper)}
@media(max-width:600px){.talks-hero{padding:42px 0 32px}.talks-hero h1{letter-spacing:-1.5px}.talks-hero>p{font-size:15px;margin-top:17px}.talk{grid-template-columns:1fr;gap:18px;padding:26px 0 30px}.talk-date{flex-direction:row;align-items:baseline;gap:13px}.talk-year{font-size:25px}.talk-body h2{font-size:25px}.talk-list{padding-bottom:40px}}
@media(max-width:520px){.header-inner{flex-direction:column;align-items:flex-start;gap:2px;padding:13px 0 5px}nav{gap:28px}nav a{min-height:40px}nav a[aria-current=page]:after{bottom:3px}}
