:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8f5;--surface:#fff;--surface-subtle:#eef4f1;--text:#18212b;--muted:#56616e;--line:#dde4df;--line-strong:#c3cfc9;--accent:#1f6f6b;--accent-strong:#145552;--accent-soft:#e0efec;--link:#245f8a;--warm:#9a5a2a;--warm-soft:#f7ebdf;--shadow:0 10px 28px #18212b14;--radius:14px;--max:1040px;--gutter:16px;--serif:"Source Serif 4", Georgia, "Times New Roman", serif;--sans:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111516;--surface:#171d1f;--surface-subtle:#1b2526;--text:#eef2f1;--muted:#aab4bc;--line:#2b3739;--line-strong:#425154;--accent:#7cc9c4;--accent-strong:#a3e0dc;--accent-soft:#1d3634;--link:#9ec7eb;--warm:#e0a877;--warm-soft:#33271d;--shadow:0 14px 34px #00000059}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111516;--surface:#171d1f;--surface-subtle:#1b2526;--text:#eef2f1;--muted:#aab4bc;--line:#2b3739;--line-strong:#425154;--accent:#7cc9c4;--accent-strong:#a3e0dc;--accent-soft:#1d3634;--link:#9ec7eb;--warm:#e0a877;--warm-soft:#33271d;--shadow:0 14px 34px #00000059}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:72px}body{background:var(--bg);color:var(--text);font-family:var(--sans);margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{margin:0;line-height:1.25}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:var(--link);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}img{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:50;background:var(--accent);color:#fff;border-radius:8px;padding:8px 12px;position:absolute;top:-48px;left:12px}.skip-link:focus{top:12px}.muted{color:var(--muted)}.site-header{z-index:20;background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:saturate(160%)blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0}.nav-shell{width:min(var(--max), calc(100% - 2 * var(--gutter)));align-items:center;gap:16px;min-height:58px;margin:0 auto;display:flex}.brand{color:var(--text);white-space:nowrap;margin-right:auto;font-weight:700}.brand:hover{color:var(--accent);text-decoration:none}.nav-links{gap:4px;display:flex}.nav-links a{color:var(--muted);border-radius:8px;padding:6px 10px;font-size:.93rem;font-weight:500;display:block}.nav-links a:hover,.nav-links a.active{color:var(--accent-strong);background:var(--accent-soft);text-decoration:none}.theme-toggle,.menu-toggle{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.theme-toggle:hover,.menu-toggle:hover{border-color:var(--line-strong)}.theme-toggle svg{fill:none;width:18px;height:18px;stroke:var(--text);stroke-width:1.8px;stroke-linecap:round}.nav-actions{order:3;display:none}.menu-toggle{position:relative}.burger,.burger:before,.burger:after{background:var(--text);border-radius:2px;width:16px;height:2px;transition:transform .2s,background .2s;display:block}.burger{position:relative}.burger:before,.burger:after{content:"";position:absolute;left:0}.burger:before{top:-5px}.burger:after{top:5px}.burger.is-open{background:0 0}.burger.is-open:before{transform:translateY(5px)rotate(45deg)}.burger.is-open:after{transform:translateY(-5px)rotate(-45deg)}.scroll-progress{height:2px}.scroll-progress span{background:linear-gradient(90deg, var(--accent), var(--warm));transform-origin:0;height:100%;display:block;transform:scaleX(0)}.hero,.section-head,.section>:not(.section-head){width:min(var(--max), calc(100% - 2 * var(--gutter)));margin-left:auto;margin-right:auto}.section{padding:64px 0}.section.band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{margin-bottom:28px}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:.78rem;font-weight:700}.section-head h2{font-family:var(--serif);font-size:clamp(1.6rem,1.2rem + 1.5vw,2.1rem);font-weight:600}.section-intro{color:var(--muted);max-width:60ch;margin-top:8px}.sub-head{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:14px;font-size:.95rem;font-weight:700}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:border-color .2s,box-shadow .2s,transform .2s}.band .card{background:var(--bg)}.card:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.two-col{grid-template-columns:1fr 1fr;gap:40px;display:grid}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.hero{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:48px;padding:72px 0 64px;display:grid}.hero h1{font-family:var(--serif);letter-spacing:-.01em;font-size:clamp(2.3rem,1.6rem + 3vw,3.6rem);font-weight:600}.hero h1 .accent{color:var(--accent)}.hero-lead{color:var(--muted);margin-top:12px;font-size:1.15rem}.hero-affil{gap:8px;margin-top:22px;display:grid}.hero-affil li{border-left:3px solid var(--accent-soft);padding-left:16px}.contact-row{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);border-radius:999px;align-items:center;padding:8px 14px;font-size:.9rem;font-weight:500;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent-strong);text-decoration:none}.btn:first-child{background:var(--accent);border-color:var(--accent);color:var(--surface)}.btn:first-child:hover{background:var(--accent-strong);color:var(--surface)}.portrait{text-align:center;margin:0}.portrait img{object-fit:cover;border:6px solid var(--surface);width:200px;height:200px;box-shadow:0 0 0 1px var(--line), var(--shadow);border-radius:50%}.portrait figcaption{color:var(--muted);margin-top:14px;font-size:.9rem}.about-grid{grid-template-columns:1.1fr 1fr;align-items:start;gap:40px;display:grid}.prose p+p{margin-top:14px}.prose{font-size:1.04rem}.interest-list{gap:12px;display:grid}.interest-list li{gap:16px;padding:16px 18px;display:flex}.interest-list h3{font-size:1rem}.interest-list p{color:var(--muted);margin-top:2px;font-size:.93rem}.num{font-family:var(--serif);color:var(--warm);font-size:1.3rem;font-weight:600;line-height:1.2}.thesis{border-left:4px solid var(--warm);background:linear-gradient(135deg, var(--warm-soft), transparent 60%), var(--surface);margin-top:22px;padding:20px 22px}.thesis .eyebrow{color:var(--warm);font-size:.72rem}.thesis h3{font-family:var(--serif);font-size:1.15rem;font-weight:600;line-height:1.35}.thesis h3 a{color:var(--text)}.thesis h3 a:hover{color:var(--accent-strong)}.prose .thesis-abstract{color:var(--muted);margin-top:10px;font-size:.92rem;line-height:1.6}.thesis .btn-primary{margin-top:14px}.btn-arrow{margin-left:6px}.news-list{border-top:1px solid var(--line);display:grid}.news-list li{border-bottom:1px solid var(--line);grid-template-columns:90px auto 1fr;align-items:baseline;gap:16px;padding:14px 0;display:grid}.news-list time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.news-list a{color:var(--text)}.news-list a:hover{color:var(--accent-strong)}.tag{background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:.75rem;font-weight:600;display:inline-block}.tag-talk{background:var(--warm-soft);color:var(--warm)}.filters,.tabs{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.chip{border:1px solid var(--line-strong);cursor:pointer;color:var(--muted);background:0 0;border-radius:999px;padding:6px 14px;font-size:.88rem;font-weight:500}.chip:hover{color:var(--text);border-color:var(--accent)}.chip.is-active{background:var(--accent);border-color:var(--accent);color:var(--surface)}.year-group{grid-template-columns:80px 1fr;gap:16px;display:grid}.year-group+.year-group{margin-top:16px}.year-label{font-family:var(--serif);color:var(--muted);padding-top:18px;font-size:1.4rem;font-weight:600}.pub-list{gap:12px;display:grid}.pub{grid-template-columns:120px 1fr;gap:20px;display:grid}.pub-badge{text-align:center;background:var(--accent-soft);min-height:72px;color:var(--accent-strong);border-radius:10px;flex-direction:column;justify-content:center;align-self:start;align-items:center;gap:2px;padding:10px 8px;font-size:.85rem;font-weight:700;line-height:1.25;display:flex}.pub-year{opacity:.8;font-size:.8rem;font-weight:500}.pub h3{font-size:1.05rem;font-weight:600}.pub h3 a{color:var(--text)}.pub h3 a:hover{color:var(--accent-strong)}.pub-authors{margin-top:6px;font-size:.93rem}.me{color:var(--accent-strong)}.pub-venue{color:var(--muted);margin-top:2px;font-size:.9rem;font-style:italic}.pub-actions{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.pills{flex-wrap:wrap;gap:6px;display:flex}.pill{border:1px solid var(--line-strong);color:var(--link);background:0 0;border-radius:999px;padding:3px 11px;font-size:.8rem;font-weight:600;line-height:1.6;display:inline-block}.pill:hover{border-color:var(--link);text-decoration:none}.pill-btn{cursor:pointer;color:var(--muted)}.pub-abstract{border-left:3px solid var(--accent);background:var(--surface-subtle);border-radius:0 8px 8px 0;margin-top:12px;padding:12px 14px;font-size:.92rem}.talk{flex-direction:column;gap:10px;display:flex}.talk h3{font-size:1.02rem;font-weight:600}.talk .muted{flex:1;font-size:.9rem}.meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:.85rem;display:flex}.entry-list{gap:18px;display:grid}.entry-list li{border-left:2px solid var(--line);padding-left:16px}.entry-title{font-weight:600}.entry-list .muted{font-size:.92rem}.timeline{border-left:2px solid var(--line);gap:0;margin-left:6px;display:grid}.timeline>li{grid-template-columns:130px 1fr;gap:16px;padding:0 0 22px 24px;display:grid;position:relative}.timeline>li:before{content:"";background:var(--surface);border:2px solid var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:-7px}.timeline>li:last-child{padding-bottom:0}.timeline .period{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:1px;font-size:.9rem}.timeline .muted{font-size:.93rem}.timeline p+p{margin-top:2px}.timeline.compact>li{grid-template-columns:110px 1fr;padding-bottom:14px;font-size:.94rem}.review-grid{margin-bottom:40px}.review-grid h4{margin-bottom:10px;font-size:1.02rem}.track-list{gap:6px;display:grid}.track-list li{color:var(--muted);padding-left:14px;font-size:.9rem;position:relative}.track-list li:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:.62em;left:0}.site-footer{border-top:1px solid var(--line);background:var(--surface)}.footer-shell{width:min(var(--max), calc(100% - 2 * var(--gutter)));color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin:0 auto;padding:28px 0;font-size:.9rem;display:flex}.footer-links{flex-wrap:wrap;gap:8px 18px;display:flex}.footer-links a{color:var(--muted)}.footer-links a:hover{color:var(--accent-strong)}.announce{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:linear-gradient(135deg, var(--accent-soft), transparent 55%), var(--surface);padding:28px;position:relative;overflow:hidden}.announce:before{content:"";background:linear-gradient(180deg, var(--accent), var(--warm));width:4px;position:absolute;inset:0 auto 0 0}.announce-head{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:14px;display:flex}.announce-badge{background:var(--accent);color:var(--surface);border-radius:999px;align-items:center;gap:8px;padding:5px 12px;font-size:.85rem;font-weight:700;display:inline-flex}.announce-badge .dot{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.8s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}.level-list{flex-wrap:wrap;gap:6px;display:flex}.level-list li{border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);border-radius:999px;padding:3px 10px;font-size:.82rem;font-weight:600}.announce-intro{max-width:72ch;margin-bottom:22px}.topic-list{gap:10px;margin-bottom:4px;display:grid}.topic-list li{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:16px;padding:14px 16px;display:flex}.topic-list .muted{margin-top:2px;font-size:.92rem}.topic-levels{gap:6px;margin-top:8px;display:flex}.btn-primary,.btn-primary:hover{background:var(--accent);border-color:var(--accent);color:var(--surface);margin-top:18px}.btn-primary:hover{background:var(--accent-strong)}.group-panel{margin-top:20px;padding:24px}.group-head h3{font-family:var(--serif);font-size:1.3rem;font-weight:600}.group-head h3 a{color:var(--text)}.group-head .muted{margin-top:2px;font-size:.92rem}.group-intro{max-width:75ch;margin-top:12px;font-size:.96rem}.group-block{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.group-block .sub-head{margin-bottom:12px;font-size:.8rem}.grad-list{gap:12px;display:grid}.grad-list li{align-items:baseline;gap:14px;display:flex}.grad-list .muted{font-size:.9rem}.logo-row{flex-wrap:wrap;gap:12px;display:flex}.logo-row li{flex-direction:column;align-items:center;gap:6px;width:128px;display:flex}.logo-name{color:var(--muted);text-align:center;font-size:.75rem;line-height:1.3}.logo-tile{place-items:center;width:64px;height:64px;transition:transform .2s;display:grid}a.logo-tile:hover{text-decoration:none;transform:translateY(-2px)}.logo-row img{object-fit:contain;width:64px;height:64px}.logo-fallback{background:var(--accent-soft);width:64px;height:64px;font-family:var(--serif);color:var(--accent-strong);border-radius:50%;place-items:center;font-size:1.1rem;font-weight:600;display:grid}.logo-fallback.is-long{font-size:.72rem}:root[data-theme=dark] .logo-row img{background:#fff;border-radius:50%;padding:4px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .logo-row img{background:#fff;border-radius:50%;padding:4px}}@media (width<=860px){.nav-actions{display:block}.theme-toggle{order:2}.nav-links{padding:10px var(--gutter) 16px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;order:4;gap:2px;display:none;position:absolute;top:100%;left:0;right:0}.nav-links.is-open{display:flex}.nav-links a{padding:10px 12px;font-size:1rem}.hero{grid-template-columns:1fr;gap:28px;padding:40px 0 48px}.portrait{order:-1;justify-self:start;align-items:center;gap:16px;display:flex}.portrait img{border-width:4px;width:120px;height:120px}.portrait figcaption{margin-top:0}.about-grid,.two-col{grid-template-columns:1fr;gap:32px}.section{padding:48px 0}}@media (width<=600px){.year-group{grid-template-columns:1fr;gap:8px}.year-label{padding-top:0}.pub{grid-template-columns:1fr;gap:12px}.pub-badge{border-radius:999px;flex-direction:row;justify-self:start;gap:6px;min-height:0;padding:3px 10px;font-size:.78rem}.news-list li{grid-template-columns:auto 1fr;gap:6px 12px}.news-list .tag{justify-self:start}.news-list a{grid-column:1/-1}.timeline>li,.timeline.compact>li{grid-template-columns:1fr;gap:2px}.card-grid{grid-template-columns:1fr}.card{padding:16px}.announce,.group-panel{padding:18px}.topic-list li{gap:12px;padding:12px}.grad-list li{flex-direction:column;gap:6px}.logo-row li{width:calc(50% - 6px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
