:root { --bg:#fbfaf7; --surface:#f3f1eb; --text:#222a2e; --muted:#667078; --accent:#284962; --accent-light:#e7eef2; --warm:#a94f2e; --deep-red:#8f2430; --border:#dcdedb; --serif:"Newsreader",Georgia,serif; --sans:"DM Sans",sans-serif; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { scroll-behavior:smooth; scroll-padding-top:92px; }
body { margin:0; color:var(--text); background:var(--bg); font:400 16px/1.7 var(--sans); -webkit-font-smoothing:antialiased; }
a { color:var(--accent); text-underline-offset:3px; text-decoration-thickness:1px; }
a:hover { color:var(--warm); }
img { max-width:100%; }
.container { width:min(1080px,calc(100% - 48px)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:10; border-bottom:1px solid rgba(220,222,219,.9); background:rgba(251,250,247,.94); backdrop-filter:blur(12px); }
.nav-wrap { width:min(1080px,calc(100% - 48px)); min-height:72px; margin:auto; display:flex; align-items:center; justify-content:space-between; }
.site-name { color:var(--text); font:600 22px/1 var(--serif); text-decoration:none; }
nav { display:flex; gap:30px; }
nav a { color:var(--muted); font-size:14px; font-weight:500; text-decoration:none; }
nav a:hover { color:var(--accent); }
nav a.active-page { color:var(--text); box-shadow:inset 0 -2px var(--accent); }
.menu-button { display:none; border:0; background:none; color:var(--text); font:500 14px var(--sans); cursor:pointer; }
.intro { padding-top:88px; padding-bottom:64px; display:grid; grid-template-columns:315px minmax(0,1fr); gap:78px; align-items:start; }
.profile-photo { aspect-ratio:4/4.65; overflow:hidden; border-radius:5px; background:var(--surface); box-shadow:0 12px 30px rgba(35,42,46,.09); }
.profile-photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:50% 43%; filter:saturate(.86); transition:filter .3s; }
.profile-photo:hover img { filter:saturate(1); }
.photo-caption { margin:12px 0 0; color:var(--muted); font-size:12px; }
.role { margin:4px 0 12px; color:var(--warm); font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
h1,h2,h3,h4,p { overflow-wrap:break-word; }
.intro h1 { margin:0 0 16px; font:600 clamp(46px,6vw,72px)/1.04 var(--serif); letter-spacing:-.025em; }
.lead { max-width:680px; margin:0 0 22px; color:#354047; font:500 clamp(23px,2.6vw,31px)/1.3 var(--serif); }
.intro-copy>p:not(.role):not(.lead) { max-width:680px; color:var(--muted); }
.availability-note { display:flex; align-items:center; gap:9px; margin-top:20px; color:var(--deep-red)!important; font-size:14px; font-weight:600; }
.availability-note span { width:8px; height:8px; flex:0 0 auto; border-radius:50%; background:var(--deep-red); box-shadow:0 0 0 4px rgba(143,36,48,.12); }
.primary-links { display:flex; flex-wrap:wrap; gap:10px; margin:30px 0 0; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 17px; border:1px solid var(--border); border-radius:5px; background:white; color:var(--text); font:600 13px var(--sans); text-decoration:none; cursor:pointer; transition:border-color .2s,color .2s,background .2s,transform .2s; }
.button:hover { border-color:var(--accent); color:var(--accent); transform:translateY(-1px); }
.button.primary { border-color:var(--accent); background:var(--accent); color:white; }
.button.primary:hover { border-color:#1e394d; background:#1e394d; color:white; }
.section { padding-top:72px; padding-bottom:80px; border-top:1px solid var(--border); }
.section-heading { display:grid; grid-template-columns:190px 1fr; gap:36px; margin-bottom:34px; }
.section-label { margin:7px 0 0; color:var(--warm); font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.section-heading h2,.contact h2 { margin:0 0 8px; font:600 clamp(34px,4vw,45px)/1.15 var(--serif); letter-spacing:-.015em; }
.section-heading>div>p { max-width:650px; margin:0; color:var(--muted); }
.interest-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.interest-list article { min-height:220px; display:flex; flex-direction:column; gap:20px; padding:24px; border:1px solid var(--border); border-radius:6px; background:var(--surface); transition:border-color .2s,transform .2s; }
.interest-list article:hover { border-color:#b9c3c9; transform:translateY(-2px); }
.interest-number { color:var(--warm); font-size:11px; font-weight:600; }
.interest-list h3 { margin:0 0 7px; font:600 25px/1.2 var(--serif); }
.interest-list p { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
.publication-tools { margin:0 0 18px 226px; }
.publication-filters { display:flex; flex-wrap:wrap; gap:7px; }
.publication-filters button { min-height:33px; padding:0 12px; border:1px solid var(--border); border-radius:4px; background:transparent; color:var(--muted); font:600 11px var(--sans); cursor:pointer; transition:background .2s,border-color .2s,color .2s; }
.publication-filters button:hover { border-color:var(--accent); color:var(--accent); }
.publication-filters button.active { border-color:var(--accent); background:var(--accent); color:white; }
.publication-status { min-height:20px; margin:10px 0 0; color:var(--muted); font-size:11px; }
.publication-list { margin-left:226px; border-top:1px solid var(--border); }
.publication { display:grid; grid-template-columns:145px 1fr; gap:24px; padding:28px 0; border-bottom:1px solid var(--border); }
.venue { display:flex; flex-direction:column; gap:4px; padding-top:3px; color:var(--muted); font-size:11px; line-height:1.45; }
.venue strong { color:var(--accent); font-size:12px; letter-spacing:.02em; }
.featured .venue span { color:var(--warm); font-weight:600; }
.publication h3 { margin:0 0 8px; font:600 22px/1.28 var(--serif); }
.publication h3 a { color:var(--text); text-decoration:none; }
.publication h3 a:hover { color:var(--accent); }
.publication-copy>p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.publication-copy b { color:var(--text); font-weight:600; }
.paper-links { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin-top:12px; }
.paper-links a,.paper-links span { padding:3px 8px; border-radius:3px; background:var(--accent-light); color:var(--accent); font-size:10px; font-weight:600; text-decoration:none; }
.paper-links a { background:var(--accent); color:white; }
.paper-links a:hover { background:var(--warm); color:white; }
.equal-note { color:var(--warm); }
.publication-expand { margin:20px 0 0 226px; }
.expand-publications { width:100%; min-height:44px; border:1px solid var(--border); border-radius:4px; background:transparent; color:var(--accent); font:600 12px var(--sans); cursor:pointer; transition:background .2s,border-color .2s; }
.expand-publications:hover { border-color:var(--accent); background:var(--accent-light); }
.background-grid { margin-left:226px; display:grid; grid-template-columns:1fr 1fr; gap:72px; }
.column-title { margin:0 0 7px; padding-bottom:13px; border-bottom:2px solid var(--accent); font:600 23px var(--serif); }
.history-item { padding:21px 0 23px; border-bottom:1px solid var(--border); }
.history-date { margin-bottom:5px; color:var(--warm); font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.history-item h4 { margin:0 0 5px; font-size:14px; line-height:1.4; }
.history-item p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.honor-history { margin-top:10px; padding-inline:15px; border:1px solid #d9c8a7; border-radius:5px; background:#f7f1e5; }
.honor-history .history-date { color:#8b5f16; }
.contact { margin-top:0; margin-bottom:96px; padding:48px 52px; display:flex; align-items:center; justify-content:space-between; gap:32px; border-radius:6px; background:var(--surface); }
.contact .section-label { margin:0 0 5px; }
.contact h2 { font-size:34px; }
.contact p:last-child { margin:0; color:var(--muted); }
footer { padding:27px 0; border-top:1px solid var(--border); color:var(--muted); font-size:12px; }
footer .container { display:flex; justify-content:space-between; gap:20px; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.page-main { min-height:calc(100vh - 129px); }
.page-hero { padding-top:82px; padding-bottom:58px; border-bottom:1px solid var(--border); }
.page-hero .section-label { margin:0 0 8px; }
.page-hero h1 { max-width:820px; margin:0 0 16px; font:600 clamp(46px,6vw,68px)/1.05 var(--serif); letter-spacing:-.025em; }
.page-hero>p:last-child { max-width:740px; margin:0; color:var(--muted); font-size:17px; }
.publication-section { padding-top:44px; padding-bottom:96px; }
.publications-page .publication-tools,.publications-page .publication-list { margin-left:0; }
.publications-page .publication-tools { position:sticky; top:72px; z-index:5; margin-bottom:0; padding:16px 0 12px; border-bottom:1px solid var(--border); background:rgba(251,250,247,.96); backdrop-filter:blur(10px); }
.publications-page .publication-list { border-top:0; }
.home-links { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding-bottom:48px; }
.home-links a { min-height:170px; padding:30px; display:flex; flex-direction:column; justify-content:flex-end; border:1px solid var(--border); border-radius:6px; background:var(--surface); color:var(--text); text-decoration:none; transition:border-color .2s,transform .2s; }
.home-links a:hover { border-color:var(--accent); color:var(--text); transform:translateY(-2px); }
.home-links span { margin-bottom:auto; color:var(--warm); font-size:11px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; }
.home-links strong { font:600 25px/1.25 var(--serif); }
.home-links em { margin-top:5px; color:var(--muted); font-size:12px; font-style:normal; }
.background-section { padding-top:60px; padding-bottom:72px; }
.background-section .background-grid { margin-left:0; }
.background-section .history-item h3 { margin:0 0 5px; font-size:14px; line-height:1.4; }
.contact-page { padding-top:60px; padding-bottom:96px; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:84px; }
.contact-intro h2 { max-width:430px; margin:0 0 16px; font:600 34px/1.2 var(--serif); letter-spacing:-.01em; }
.contact-intro p { max-width:470px; margin:0 0 28px; color:var(--muted); }
.contact-directory { border-top:1px solid var(--border); }
.contact-directory a,.email-directory-item { width:100%; display:grid; grid-template-columns:120px 1fr auto; gap:20px; align-items:center; padding:24px 0; border:0; border-bottom:1px solid var(--border); background:transparent; color:var(--text); font-family:var(--sans); text-align:left; text-decoration:none; cursor:pointer; }
.contact-directory a:hover strong,.contact-directory a:hover em,.email-directory-item:hover strong,.email-directory-item:hover em { color:var(--warm); }
.contact-directory span { color:var(--muted); font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.contact-directory strong { font:600 20px/1.25 var(--serif); transition:color .2s; }
.contact-directory em { color:var(--accent); font-size:11px; font-style:normal; font-weight:600; transition:color .2s; }
.cv-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:36px; }
.cv-hero>div:first-child { min-width:0; }
.cv-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; padding-bottom:4px; }
.cv-document { padding-top:42px; padding-bottom:96px; }
.cv-document object { width:100%; height:1120px; display:block; border:1px solid var(--border); border-radius:6px; background:var(--surface); box-shadow:0 12px 32px rgba(35,42,46,.07); }
@media (max-width:800px) { .intro{grid-template-columns:240px 1fr;gap:42px;padding-top:64px}.section-heading{grid-template-columns:135px 1fr}.publication-tools,.publication-list,.publication-expand,.background-grid{margin-left:171px}.publication{grid-template-columns:115px 1fr}.background-grid{grid-template-columns:1fr;gap:54px} }
@media (max-width:640px) { .container,.nav-wrap{width:min(100% - 36px,1080px)}.nav-wrap{min-height:64px}.menu-button{display:block}nav{position:absolute;top:64px;left:0;right:0;display:none;padding:15px 18px 19px;flex-direction:column;gap:12px;border-bottom:1px solid var(--border);background:var(--bg)}nav.open{display:flex}nav a.active-page{box-shadow:none;color:var(--accent)}.intro{padding-top:44px;padding-bottom:68px;grid-template-columns:1fr;gap:34px}.profile-column{width:min(76vw,330px)}.profile-photo{aspect-ratio:4/4.4}.intro h1{font-size:48px}.lead{font-size:24px}.section{padding-top:58px;padding-bottom:64px}.section-heading{display:block;margin-bottom:28px}.section-heading .section-label{margin-bottom:7px}.interest-list,.publication-tools,.publication-list,.publication-expand,.background-grid{margin-left:0}.interest-list{grid-template-columns:1fr}.interest-list article{min-height:0}.page-hero{padding-top:54px;padding-bottom:42px}.page-hero h1{font-size:46px}.publication-section{padding-top:25px;padding-bottom:68px}.publications-page .publication-tools{top:64px;padding-top:12px}.publication-filters{gap:6px}.publication-filters button{min-height:31px;padding:0 10px;font-size:10px}.publication{grid-template-columns:1fr;gap:8px}.venue{padding-top:0}.home-links{grid-template-columns:1fr;padding-bottom:44px}.home-links a{min-height:145px}.background-section{padding-top:42px;padding-bottom:60px}.contact-page{padding-top:42px;padding-bottom:68px;grid-template-columns:1fr;gap:50px}.contact-directory a,.email-directory-item{grid-template-columns:1fr;gap:3px;padding:20px 0}.contact-directory em{margin-top:5px}.cv-hero{align-items:flex-start;flex-direction:column}.cv-actions{justify-content:flex-start;padding-bottom:0}.cv-document{padding-top:28px;padding-bottom:68px}.cv-document object{height:72vh;min-height:540px}.contact{margin-top:0;margin-bottom:60px;padding:34px 26px;align-items:flex-start;flex-direction:column}.contact h2{font-size:30px}footer .container{flex-direction:column;gap:4px} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}*{transition:none!important} }
