@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-serif-4-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-serif-4-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-serif-4-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-serif-4-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-sans-3-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-sans-3-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-sans-3-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-sans-3-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fff;--fg:#1f2328;--muted:#5e6670;--line:#e6e2da;--soft:#f4f1ec;--link:#9a5420;--primary:#1f3a5f;--on-primary:#fff;--mark-bg:#fff3c4;--mark-fg:#5a4500;--radius:8px;--s1:4px;--s2:8px;--s3:16px;--s4:24px;--s5:32px;--s6:48px;--s7:72px;--font:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--serif:"Source Serif 4",Georgia,"Times New Roman",serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#12171f;--fg:#e6e9ee;--muted:#a3acb8;--line:#262e3a;--soft:#1a212c;--link:#e2a16c;--primary:#a9c1e0;--on-primary:#12171f;--mark-bg:#4a3d10;--mark-fg:#fce7a2;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#12171f;--fg:#e6e9ee;--muted:#a3acb8;--line:#262e3a;--soft:#1a212c;--link:#e2a16c;--primary:#a9c1e0;--on-primary:#12171f;--mark-bg:#4a3d10;--mark-fg:#fce7a2;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:var(--font);padding-inline:var(--s3);margin:0;font-size:17px;line-height:1.65}.wrap{max-width:860px;margin:0 auto}a{color:var(--link);text-underline-offset:3px}a:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:2px}.skip{position:absolute;left:-9999px}.skip:focus{left:var(--s3);top:var(--s3);background:var(--primary);color:var(--on-primary);padding:var(--s2) var(--s3);border-radius:var(--radius);z-index:10}header{gap:var(--s2) var(--s4);padding-block:var(--s4);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.brand{font-family:var(--serif);color:var(--primary);font-size:19px;font-weight:600;text-decoration:none}nav{gap:var(--s4);font-size:15px;display:flex}nav a{color:var(--muted);white-space:nowrap;padding-block:var(--s1);text-decoration:none}nav a:hover,nav a[aria-current]{color:var(--fg)}nav a[aria-current]{border-bottom:2px solid var(--link)}.lang{color:var(--muted);gap:var(--s2);font-size:14px;display:flex}.lang a{color:var(--muted);text-decoration:none}.lang b{color:var(--fg);font-weight:600}section{padding-block:var(--s7);border-bottom:1px solid var(--line)}section:last-of-type{border-bottom:0}h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--s5);font-size:14px;font-weight:600}h3{margin:0 0 var(--s3);font-size:18px}.page-title{font-family:var(--serif);color:var(--primary);margin:0 0 var(--s2);font-size:clamp(28px,5vw,36px);line-height:1.2}.page-intro{color:var(--muted);max-width:60ch;margin:0}.hero{gap:var(--s5);flex-wrap:wrap;align-items:center;display:flex}.hero img{object-fit:cover;border-radius:50%;width:160px;height:160px}.hero .txt{flex:320px;min-width:0}.hero h1{font-family:var(--serif);color:var(--primary);margin:0 0 var(--s2);text-wrap:balance;font-size:clamp(28px,5vw,38px);line-height:1.2}.lead{font-family:var(--serif);margin:0 0 var(--s3);max-width:34ch;font-size:20px}.inst{color:var(--muted);margin:0 0 var(--s4);font-size:15px}.btns{gap:var(--s2);flex-wrap:wrap;display:flex}.btn{border:1px solid var(--primary);border-radius:var(--radius);color:var(--primary);padding:10px 18px;font-size:15px;text-decoration:none;display:inline-block}.btn.pri{background:var(--primary);color:var(--on-primary)}.grid{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));display:grid}.area h3{font-family:var(--serif);color:var(--primary);margin:0 0 var(--s1)}.area p{color:var(--muted);margin:0;font-size:16px}ol.pubs{gap:var(--s4);margin:0;padding:0;list-style:none;display:grid}.pubs .t{font-family:var(--serif);font-weight:600}.pubs .m{color:var(--muted);font-size:15px}.pubs .tag{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);margin-left:var(--s1);padding:0 6px;font-size:12px;display:inline-block}.more{margin-top:var(--s5);font-size:15px;display:inline-block}.group+.group{margin-top:var(--s6)}.item{gap:var(--s3);padding-block:var(--s3);border-top:1px solid var(--line);grid-template-columns:110px minmax(0,1fr);display:grid}.item:first-of-type{border-top:0;padding-top:0}.yr{color:var(--muted);font-variant-numeric:tabular-nums;font-size:15px}.item p{margin:0}.item .m{color:var(--muted);font-size:15px}.course{padding:var(--s4);background:var(--soft);border-radius:var(--radius);color:var(--fg);text-decoration:none;display:block}.course .lvl{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:13px}.course .n{margin-top:var(--s1);font-weight:600}.course .note{color:var(--muted);margin-top:var(--s2);font-size:14px}.course-h{font-family:var(--serif);color:var(--primary);margin:0 0 var(--s1)}.notes{margin:0;padding-left:1.1em}.notes li+li{margin-top:var(--s1)}.item .note{color:var(--muted);font-size:15px}.ph{background:var(--mark-bg);color:var(--mark-fg);border-radius:3px;padding:0 4px;font-size:.9em}.collab{margin:0 0 var(--s4);max-width:60ch}.contact dl{gap:var(--s2) var(--s3);grid-template-columns:140px minmax(0,1fr);margin:0;display:grid}.contact dt{color:var(--muted)}.contact dd{overflow-wrap:anywhere;margin:0}footer{padding-block:var(--s5);border-top:1px solid var(--line);color:var(--muted);font-size:14px}@media (max-width:640px){nav{gap:var(--s3);width:100%;padding-bottom:var(--s1);overflow-x:auto}.item,.contact dl{gap:var(--s1);grid-template-columns:1fr}section{padding-block:var(--s6)}.hero img{width:120px;height:120px}}
