:root{--color-bg:#fbfaf7;--color-surface:#ffffff;--color-surface-alt:#f3f5f3;--color-text:#202124;--color-text-muted:#666b6c;--color-accent:#315f6d;--color-accent-hover:#254a55;--color-secondary:#8a4f43;--color-border:#dfe4e2;--color-contact:#2b2e2f;--color-contact-text:#f8f6f1;--shadow-soft:0 18px 45px rgba(28, 35, 36, 0.08);--nav-height:72px;font-synthesis:none}*{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,sans-serif;font-size:1rem;line-height:1.62}body,button,input,textarea{letter-spacing:0}a{color:var(--color-accent);text-decoration:none}a:hover,a:focus-visible{color:var(--color-accent-hover);text-decoration:underline}a:focus-visible,summary:focus-visible{outline:3px solid rgba(49,95,109,.28);outline-offset:4px}img{display:block;max-width:100%}.skip-link{position:fixed;left:1rem;top:1rem;z-index:20;transform:translateY(-150%);background:var(--color-text);color:#fff;padding:.6rem .8rem;border-radius:6px}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:10;background:rgba(251,250,247,.94);border-bottom:1px solid var(--color-border);backdrop-filter:blur(12px)}.site-nav{min-height:var(--nav-height);max-width:1080px;margin:0 auto;padding:.9rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{color:var(--color-text);font-weight:700;white-space:nowrap}.brand:hover,.brand:focus-visible{color:var(--color-text)}.nav-links{display:flex;align-items:center;gap:1.3rem;font-size:.92rem}.nav-links a{color:var(--color-text-muted)}.nav-links a:hover,.nav-links a:focus-visible{color:var(--color-text)}.mobile-nav{display:none;position:relative}.mobile-nav summary{width:42px;height:42px;display:grid;place-content:center;gap:5px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);cursor:pointer;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{width:18px;height:2px;background:var(--color-text)}.mobile-nav-panel{position:absolute;top:calc(100% + .7rem);right:0;min-width:190px;padding:.45rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-soft)}.mobile-nav-panel a{display:block;padding:.72rem .8rem;border-radius:6px;color:var(--color-text)}.mobile-nav-panel a:hover,.mobile-nav-panel a:focus-visible{background:var(--color-surface-alt);text-decoration:none}.hero,.content-section,.contact-section{scroll-margin-top:calc(var(--nav-height) + 24px)}.section-inner{width:min(100% - 2rem,1080px);margin:0 auto}.section-inner.narrow{width:min(100% - 2rem,760px)}.hero{padding:5.4rem 0 4rem}.hero-inner{display:grid;grid-template-columns:minmax(230px,300px)minmax(0,1fr);align-items:center;gap:clamp(2rem,7vw,5rem)}.hero-photo-wrap{justify-self:end}.hero-photo{width:240px;height:240px;border-radius:50%;object-fit:cover;object-position:50% 28%;border:6px solid var(--color-surface);box-shadow:var(--shadow-soft);background:var(--color-surface)}.eyebrow{margin:0 0 .45rem;color:var(--color-secondary);font-size:.86rem;font-weight:700;text-transform:uppercase}h1,h2,h3,h4,p{overflow-wrap:break-word}h1{margin:0;color:var(--color-text);font-size:clamp(2.15rem,5vw,3.9rem);line-height:1.06;font-weight:750}.title-line,.institution-line{margin:.3rem 0 0;color:var(--color-text-muted)}.tagline{max-width:620px;margin:1.35rem 0 0;font-size:1.24rem;line-height:1.45;color:var(--color-text)}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.7rem}.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:.62rem .9rem;border:1px solid var(--color-accent);border-radius:6px;font-weight:650;line-height:1.1}.button:hover,.button:focus-visible{text-decoration:none}.button.primary{background:var(--color-accent);color:#fff}.button.primary:hover,.button.primary:focus-visible{background:var(--color-accent-hover);color:#fff}.button.secondary{background:0 0;color:var(--color-accent)}.content-section{padding:3.7rem 0}h2{margin:0 0 1.35rem;padding-bottom:.55rem;border-bottom:1px solid var(--color-border);font-size:1.38rem;line-height:1.25}h3{margin:0 0 .45rem;font-size:1rem;line-height:1.35}h4{margin:0;font-size:1.02rem;line-height:1.35}.prose p{margin:0 0 1rem}.prose p:last-child{margin-bottom:0}.detail-grid{margin-top:2rem;display:grid;grid-template-columns:minmax(0,1fr)minmax(0,1fr);gap:1.4rem;padding-top:1.35rem;border-top:1px solid var(--color-border)}.detail-grid p{margin:0 0 1rem;color:var(--color-text-muted)}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0;list-style:none}.tag-list li{padding:.32rem .55rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-muted);font-size:.88rem}.paper-group+.paper-group{margin-top:2.2rem}.work-note{margin:.85rem 0 0;color:var(--color-text-muted)}.paper-list{border-top:1px solid var(--color-border)}.paper-item{padding:1.15rem 0;border-bottom:1px solid var(--color-border)}.paper-featured{padding:1.25rem;margin-bottom:1.4rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-left:4px solid var(--color-accent);border-radius:8px}.paper-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem}.paper-heading h4 a{color:var(--color-accent)}.paper-authors,.meta,.paper-item p{margin:.35rem 0 0}.paper-authors{color:var(--color-text)}.meta{color:var(--color-text-muted);font-size:.9rem}.status-badge{flex:none;padding:.24rem .42rem;border-radius:5px;background:#edf2f1;color:var(--color-text-muted);font-size:.72rem;font-weight:750;line-height:1;text-transform:uppercase;white-space:nowrap}.paper-links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.65rem;font-size:.9rem}.paper-links a{font-weight:650}.paper-mentions{margin:.55rem 0 0;color:var(--color-text-muted);font-size:.9rem}.paper-mentions span,.paper-mentions a{font-weight:650}.paper-mentions span{color:var(--color-text)}.timeline-list{border-top:1px solid var(--color-border)}.timeline-item{display:grid;grid-template-columns:minmax(0,1fr)max-content;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--color-border)}.timeline-item p{margin:.18rem 0 0;color:var(--color-text-muted)}.teaching-item .meta{max-width:560px}.contact-section{margin-top:3rem;padding:3rem 0;background:var(--color-contact);color:var(--color-contact-text)}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.contact-section h2{margin-bottom:.8rem;border-color:rgba(255,255,255,.18);color:#fff}.contact-section p{margin:0;color:rgba(255,255,255,.78)}.contact-link{color:#fff;font-size:1.05rem;font-weight:700}.site-footer{background:var(--color-contact);color:rgba(255,255,255,.68);font-size:.82rem}.footer-inner{width:min(100% - 2rem,1080px);margin:0 auto;padding:1rem 0 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.16)}.footer-inner p{margin:0}.mysite-credit{text-align:right}.mysite-credit a{color:#fff}.page-single,.page-list{min-height:55vh;padding-top:4rem}.page-single h1,.page-list h1{margin-bottom:1.25rem;font-size:2.1rem}.list-items{border-top:1px solid var(--color-border)}.list-item{padding:1rem 0;border-bottom:1px solid var(--color-border)}.list-item h2{margin:0;padding:0;border:0;font-size:1.08rem}@media(max-width:760px){:root{--nav-height:66px}.site-nav{padding:.75rem}.nav-links{display:none}.mobile-nav{display:block}.hero{padding:3rem 0 2rem}.hero-inner{grid-template-columns:1fr;gap:1.55rem;text-align:left}.hero-photo-wrap{justify-self:center}.hero-copy{max-width:560px;margin:0 auto}.hero-photo{width:200px;height:200px}.tagline{font-size:1.08rem}.content-section{padding:2.7rem 0}.detail-grid,.timeline-item,.contact-inner{grid-template-columns:1fr}.detail-grid{gap:1rem}.paper-heading{display:block}.status-badge{display:inline-block;margin-top:.5rem}.timeline-item{display:block}.contact-inner{display:grid;align-items:start}.footer-inner{display:block}.mysite-credit{margin-top:.35rem;text-align:left}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}