:root{--ink: #17212b;--muted: #5f6b76;--navy: #17365d;--navy-dark: #102943;--blue-soft: #eaf1f8;--gold: #c69a4b;--paper: #fffdfa;--line: #dce2e7;--shadow: 0 22px 60px rgba(23, 54, 93, 0.12);--sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--serif: "Libre Caslon Display", Georgia, serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 90% 3%, rgba(198,154,75,0.09), transparent 24rem),var(--paper);font-family:var(--sans);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--navy);text-underline-offset:0.2em}a:hover{color:var(--navy-dark)}img{display:block;max-width:100%}.shell{width:min(1120px, calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:8px 14px;color:#fff;background:var(--navy);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid rgba(23,33,43,0.1);background:rgba(255,253,250,0.92);backdrop-filter:blur(14px)}.site-header__inner{display:flex;min-height:82px;align-items:center;justify-content:space-between;gap:28px}.site-name{color:var(--ink);font-family:var(--serif);font-size:25px;line-height:1;text-decoration:none}.site-nav{display:flex;align-items:center;gap:32px}.site-nav a{position:relative;padding-block:28px 24px;color:var(--muted);font-size:15px;font-weight:600;letter-spacing:0.02em;text-decoration:none}.site-nav a:hover,.site-nav a.active{color:var(--navy)}.site-nav a.active::after{position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--gold);content:""}.hero{display:grid;min-height:660px;align-items:center;grid-template-columns:minmax(380px, 0.92fr) minmax(0, 1.08fr);gap:clamp(52px, 7vw, 90px);padding-block:84px 96px}.eyebrow,.section-label{margin:0 0 18px;color:var(--navy);font-size:13px;font-weight:600;letter-spacing:0.13em;line-height:1.4;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-0.025em}.hero h1{margin-bottom:24px;font-size:clamp(56px, 7vw, 88px);line-height:0.98}.hero__lead{max-width:670px;margin-bottom:20px;color:var(--navy-dark);font-size:clamp(21px, 2.2vw, 27px);line-height:1.45}.hero__body{max-width:680px;margin-bottom:18px;color:var(--muted)}.hero__contact{max-width:680px;margin-bottom:34px;color:var(--muted);font-size:16px}.hero__contact a{font-weight:600}.portrait{position:relative;margin:0}.portrait::before{position:absolute;z-index:-1;left:-24px;bottom:-24px;width:72%;height:72%;background:var(--blue-soft);content:""}.portrait img{width:100%;height:auto;border-radius:2px;box-shadow:var(--shadow)}.button-row{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:10px 20px;border:1px solid var(--navy);border-radius:2px;font-size:15px;font-weight:600;text-decoration:none;transition:160ms ease}.button--primary{color:#fff;background:var(--navy)}.button--primary:hover{color:#fff;background:var(--navy-dark);transform:translateY(-1px)}.button--secondary{color:var(--navy);background:transparent}.button--secondary:hover{background:var(--blue-soft)}.text-link{display:inline-block;margin-top:10px;font-weight:600;text-decoration:none}.text-link span{display:inline-block;margin-left:5px;transition:transform 160ms ease}.text-link:hover span{transform:translateX(4px)}.page-header{max-width:800px;padding:90px 0 70px}.page-header h1{margin-bottom:26px;font-size:clamp(48px, 6vw, 74px);line-height:1.05}.page-header>p:last-child{max-width:700px;color:var(--muted);font-size:21px}.page-header--compact{padding-bottom:48px}.paper-card{display:grid;grid-template-columns:180px minmax(0, 1fr);gap:46px;padding:60px 0 72px;border-top:1px solid var(--line)}.paper-card:last-of-type{padding-bottom:120px}.paper-card__meta span{display:inline-block;padding-top:8px;border-top:3px solid var(--gold);color:var(--navy);font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase}.paper-card h2{max-width:790px;margin-bottom:22px;font-size:clamp(32px, 4vw, 48px);line-height:1.15}.paper-card h3{margin:38px 0 12px;color:var(--navy);font-size:14px;letter-spacing:0.1em;text-transform:uppercase}.paper-card p{max-width:790px;color:var(--muted)}.paper-card__status{color:var(--navy) !important;font-size:14px;font-weight:600;letter-spacing:0.03em}.teaching-list{padding-bottom:110px}.teaching-entry{display:grid;grid-template-columns:180px minmax(0, 1fr);gap:46px;padding:46px 0 52px;border-top:1px solid var(--line)}.teaching-entry__meta span{display:inline-block;padding-top:8px;border-top:3px solid var(--gold);color:var(--navy);font-size:13px;font-weight:600;letter-spacing:0.06em}.teaching-entry h2{margin-bottom:6px;font-size:clamp(29px, 3vw, 39px);line-height:1.2}.teaching-entry__role{margin-bottom:14px;color:var(--navy);font-size:15px;font-weight:600}.teaching-entry__affiliation{margin:-6px 0 0;font-size:15px}.teaching-entry ul{margin:0;padding:0;color:var(--muted);list-style:none}.teaching-entry li{padding:5px 0}.teaching-entry li span{color:#7c8790}.site-footer{color:rgba(255,255,255,0.75);background:var(--navy-dark)}.site-footer__inner{display:flex;min-height:120px;align-items:center;justify-content:space-between;gap:24px}.site-footer p{margin:0;font-size:14px}.site-footer__links{display:flex;gap:24px}.site-footer a{color:#fff;font-size:14px;text-decoration:none}@media (max-width: 820px){.shell{width:min(100% - 36px, 680px)}.site-header__inner{min-height:70px}.site-nav{gap:20px}.site-nav a{padding-block:22px 19px}.hero{min-height:auto;grid-template-columns:1fr;gap:52px;padding-block:64px 80px}.hero__content{order:2}.portrait{width:min(100%, 520px);order:1}.paper-card,.teaching-entry{grid-template-columns:1fr;gap:24px}.page-header{padding-block:64px 52px}.paper-card{padding-block:46px 60px}.teaching-entry{padding-block:38px 44px}}@media (max-width: 520px){body{font-size:16px}.shell{width:calc(100% - 28px)}.site-name{font-size:21px}.site-nav{gap:12px}.site-nav a{font-size:12px}.hero{padding-top:36px}.hero h1{font-size:52px}.portrait::before{left:-10px;bottom:-10px}.button{width:100%}.page-header h1{font-size:45px}.site-footer__inner{min-height:140px;align-items:flex-start;flex-direction:column;justify-content:center;gap:12px}}
