:root{--bg:#f7f4ee;--bg-strong:#efe9df;--surface:#ffffff8f;--text:#161616;--muted:#53606e;--line:#c9ced6;--brand:#17324d;--accent:#8c5a2b;--shadow:0 20px 60px #17324d14;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:radial-gradient(circle at top right, #8c5a2b1a, transparent 28%), linear-gradient(180deg, #fbfaf7 0%, var(--bg) 100%);margin:0;font-family:IBM Plex Sans,Segoe UI,sans-serif;line-height:1.65}a{color:inherit;text-underline-offset:.16em;text-decoration-color:#17324d73}a:hover{text-decoration-color:var(--accent)}img{max-width:100%;display:block}.page-shell{width:min(calc(100% - 2rem), var(--max));margin:0 auto}.site-header{z-index:10;backdrop-filter:blur(12px);background:#f7f4eed9;border-bottom:1px solid #c9ced6b8;position:sticky;top:0}.site-header .page-shell{justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;display:flex}.brand-mark{flex-wrap:wrap;align-items:baseline;gap:.75rem;font-family:"Source Serif 4",Georgia,serif;text-decoration:none;display:inline-flex}.brand-name{letter-spacing:.02em;font-size:1.25rem;font-weight:600}.brand-tagline{color:var(--muted);font-size:.95rem}.site-nav{flex-wrap:wrap;gap:1rem;display:flex}.site-nav a{color:var(--muted);font-size:.94rem;text-decoration:none}.site-nav a[aria-current=page]{color:var(--brand)}main{padding:3rem 0 5rem}.hero{grid-template-columns:minmax(0,1.35fr) minmax(18rem,.8fr);align-items:start;gap:2rem;padding:2.5rem 0 1rem;display:grid}.eyebrow,.section-label{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:600}.hero h1,.page-intro h1,.section-heading{color:var(--brand);letter-spacing:-.03em;margin:.35rem 0 0;font-family:"Source Serif 4",Georgia,serif;font-size:clamp(2.5rem,4vw,4.5rem);line-height:1.02}.hero p.lead,.page-intro p{max-width:42rem;color:var(--muted);margin:1.25rem 0 0;font-size:1.08rem}.hero-actions,.inline-links{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.button-link,.button-link-secondary{border-radius:999px;justify-content:center;align-items:center;padding:.8rem 1.15rem;font-weight:600;text-decoration:none;transition:transform .14s,background .14s;display:inline-flex}.button-link{background:var(--brand);color:#fff}.button-link-secondary{color:var(--brand);background:#17324d14}.button-link:hover,.button-link-secondary:hover{transform:translateY(-1px)}.hero-meta,.panel,.timeline-item,.publication-item,.research-card,.talk-item,.teaching-item{background:var(--surface);box-shadow:var(--shadow);border:1px solid #c9ced6cc}.hero-meta{border-radius:1.5rem;padding:1.5rem;position:relative;overflow:hidden}.focus-row{flex-wrap:wrap;gap:.7rem;margin-top:1.35rem;display:flex}.focus-pill{color:var(--brand);background:#8c5a2b14;border:1px solid #8c5a2b38;border-radius:999px;align-items:center;padding:.42rem .75rem;font-size:.92rem;display:inline-flex}.hero-links{margin-top:1rem}.hero-meta:before{content:"";background:#8c5a2b1f;border-radius:999px;width:10rem;height:10rem;position:absolute;inset:auto auto -3rem -2rem}.meta-stack{gap:.95rem;display:grid;position:relative}.meta-item{border-bottom:1px solid #c9ced68f;padding-bottom:.95rem}.meta-item:last-child{border-bottom:none;padding-bottom:0}.meta-label{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:.82rem}.meta-value{margin-top:.35rem;font-weight:600}.hero-meta dl{gap:1rem;margin:0;display:grid}.hero-meta dt{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:.82rem}.hero-meta dd{margin:.35rem 0 0;font-weight:600}.section-block{padding:3.5rem 0 0}.section-top{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.section-heading{font-size:clamp(1.9rem,3vw,2.7rem)}.quick-facts,.grid-two,.grid-three,.stack-list,.publication-grid{gap:1rem;display:grid}.quick-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.publication-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel,.research-card,.publication-item,.talk-item,.teaching-item,.timeline-item{border-radius:1.4rem;padding:1.35rem}.panel h3,.research-card h3,.publication-item h3,.talk-item h3,.teaching-item h3,.timeline-item h3{color:var(--brand);margin:0;font-family:"Source Serif 4",Georgia,serif;font-size:1.35rem}.fact-value{color:var(--brand);font-family:"Source Serif 4",Georgia,serif;font-size:1.35rem}.fact-detail{color:var(--muted);margin:.55rem 0 0}.fact-label,.meta-row,.muted,.status-pill,.mono{color:var(--muted);font-size:.94rem}.mono{font-family:IBM Plex Mono,Cascadia Mono,monospace}.status-pill{background:#17324d0f;border:1px solid #17324d29;border-radius:999px;padding:.28rem .65rem;display:inline-flex}.publication-item header,.timeline-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.publication-item p,.research-card p,.talk-item p,.teaching-item p,.timeline-item p{margin:.8rem 0 0}.publication-item .why{border-top:1px solid #c9ced6b8;margin-top:1rem;padding-top:.9rem}.publication-links{margin-top:1rem}.publication-meta{color:var(--muted)}.resource-link{margin:1rem 0 0}.resource-separator{margin:0 .25rem;display:inline-block}.research-card dl{gap:.7rem;margin:1rem 0 0;display:grid}.research-card dt{color:var(--brand);font-weight:700}.research-card dd{color:var(--muted);margin:.2rem 0 0}.page-intro{padding:2rem 0 1rem}.not-found{flex-direction:column;justify-content:center;min-height:60vh;display:flex}.footer{color:var(--muted);border-top:1px solid #c9ced6cc;padding:2rem 0 3rem}.footer .page-shell{justify-content:space-between;gap:1rem;display:flex}@media (width<=900px){.hero,.grid-two,.grid-three,.quick-facts,.publication-grid{grid-template-columns:1fr}.site-header .page-shell,.footer .page-shell,.section-top,.publication-item header,.timeline-header{display:block}.site-header .page-shell{padding:.9rem 0}.brand-tagline{margin-top:.2rem;font-size:.88rem;display:block}.site-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem .85rem;margin-top:.9rem;display:grid}}@media (width<=560px){.brand-name{font-size:1.1rem}.brand-tagline{display:none}.site-nav{grid-template-columns:repeat(3,minmax(0,max-content));justify-content:start;font-size:.9rem}.hero{padding-top:1.6rem}.hero h1,.page-intro h1{font-size:clamp(2.15rem,11vw,3.3rem);line-height:1.04}.hero p.lead,.page-intro p{font-size:1rem}}
