@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--default-font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--default-mono-font-family:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.grid{display:grid}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}}:root{--background:#f7f8f8;--surface:#fff;--foreground:#18191b;--muted:#66707a;--line:#dde4e8;--accent:#006d77;--accent-strong:#004d55;--accent-contrast:#fff;--link:#007a8a;--link-hover:#005f6b;--accent-rose:#d1495b;--accent-gold:#f2b705;--work-color:#2563eb;--research-color:#8b5cf6;--project-color:#d1495b;--education-color:#0f9f8f;--shadow:0 18px 60px #18191b17}:root[data-theme=dark]{--background:#111315;--surface:#181b1e;--foreground:#f3f5f4;--muted:#a1abb4;--line:#30363b;--accent:#65c6c8;--accent-strong:#8fdfe0;--accent-contrast:#101315;--link:#8fdfe0;--link-hover:#b8f4f0;--accent-rose:#f2848e;--accent-gold:#f4c94c;--work-color:#60a5fa;--research-color:#a78bfa;--project-color:#f2848e;--education-color:#5eead4;--shadow:0 18px 60px #00000047}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);min-height:100vh;color:var(--foreground);letter-spacing:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}::selection{background:var(--accent-gold)}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in srgb, var(--accent-gold) 55%, white)}}a{color:inherit;text-underline-offset:.18em}a:focus-visible,button:focus-visible{outline:3px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){a:focus-visible,button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 45%, transparent)}}a:focus-visible,button:focus-visible{outline-offset:4px}.site-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-top:4px solid var(--accent-rose);width:100%;padding:14px max(16px,50vw - 560px)}@supports (color:color-mix(in lab, red, red)){.topbar{border-top:4px solid color-mix(in srgb, var(--accent-rose) 48%, var(--accent))}}.topbar{border-bottom:1px solid var(--line);background:var(--background)}@supports (color:color-mix(in lab, red, red)){.topbar{background:color-mix(in srgb, var(--background) 86%, var(--surface))}}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:24px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;font-weight:720;text-decoration:none;display:inline-flex}.brand-mark{border:1px solid var(--foreground);background:var(--surface);border-radius:8px;place-items:center;width:34px;height:34px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.78rem;display:inline-grid}.topnav,.inline-links{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.social-nav{align-items:center;gap:6px;display:flex}.nav-divider{background:var(--line);width:1px;height:22px}.icon-link,.theme-toggle{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--muted);border-radius:8px;place-items:center;text-decoration:none;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-grid}.icon-link:hover,.theme-toggle:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.icon-link:hover,.theme-toggle:hover{border-color:color-mix(in srgb, var(--accent) 48%, var(--line))}}.icon-link:hover,.theme-toggle:hover{color:var(--foreground);transform:translateY(-1px)}.icon-link.is-email{color:#d1495b}.icon-link.is-linkedin{color:#0a66c2}.icon-link.is-github{color:var(--foreground)}.theme-toggle{font:inherit;cursor:pointer;padding:0}.theme-toggle[aria-pressed=true]{color:var(--accent-gold)}.topnav a,.footer-links a,.inline-links a,.text-link,.back-link{color:var(--muted);font-size:.95rem;text-decoration-color:#0000;transition:color .16s,text-decoration-color .16s}.topnav .icon-link{font-size:0}.topnav a:hover,.footer-links a:hover,.inline-links a:hover,.text-link:hover,.back-link:hover{color:var(--foreground);text-decoration-color:currentColor}.topnav a.resume-button{border:1px solid var(--accent);align-items:center;gap:6px;height:34px;padding:0 12px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.topnav a.resume-button{border:1px solid color-mix(in srgb, var(--accent) 70%, var(--line))}}.topnav a.resume-button{background:var(--accent);color:var(--accent-contrast);box-shadow:0 8px 20px var(--accent);border-radius:8px;font-weight:680;text-decoration:none}@supports (color:color-mix(in lab, red, red)){.topnav a.resume-button{box-shadow:0 8px 20px color-mix(in srgb, var(--accent) 22%, transparent)}}.topnav a.resume-button{transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}.topnav a.resume-button:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-contrast);text-decoration-color:#0000;transform:translateY(-1px)}.resume-button svg{flex:none}.page{flex:1;width:min(1120px,100% - 32px);margin:0 auto;padding:54px 0 72px}.home-page{width:min(1040px,100% - 32px);padding-top:38px}.narrow-page,.article-page{width:min(900px,100% - 32px)}.reference-hero{padding:26px 0 46px}.hero-layout{grid-template-columns:minmax(0,1fr) clamp(198px,24vw,270px);align-items:center;gap:clamp(24px,5vw,52px);display:grid}.hero-copy{min-width:0}.hero-photo-frame{aspect-ratio:1;border:1px solid var(--accent);justify-self:end;width:clamp(198px,24vw,270px)}@supports (color:color-mix(in lab, red, red)){.hero-photo-frame{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line))}}.hero-photo-frame{background:radial-gradient(circle at 50% 24%, var(--surface), transparent 58%), var(--surface);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.hero-photo-frame{background:radial-gradient(circle at 50% 24%, color-mix(in srgb, var(--surface) 62%, transparent), transparent 58%), color-mix(in srgb, var(--surface) 86%, var(--accent))}}.hero-photo-frame{box-shadow:0 20px 54px var(--foreground), 0 0 0 8px var(--accent)}@supports (color:color-mix(in lab, red, red)){.hero-photo-frame{box-shadow:0 20px 54px color-mix(in srgb, var(--foreground) 14%, transparent), 0 0 0 8px color-mix(in srgb, var(--accent) 8%, transparent)}}.hero-photo-frame{overflow:hidden}.hero-photo{object-fit:cover;object-position:50% 38%;width:100%;height:100%;display:block}.home-name-row{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.home-name-row h1{letter-spacing:0;margin:0;font-size:clamp(3.2rem,8.8vw,5.65rem);line-height:.92}.section-index a,.timeline-links a,.reference-hero a,.connect-section a{color:var(--link)}.about-copy a,.plain-section a:not(.latest-blog-link),.content-flow a,.page-header a,.article-header a,.timeline-detail-list a,.timeline-item a,.paper-item a,.education-card-body a,.content-card-body a,.article-card-body a,.speaking-card-body a{color:var(--link);font-weight:720;text-decoration-color:currentColor}@supports (color:color-mix(in lab, red, red)){.about-copy a,.plain-section a:not(.latest-blog-link),.content-flow a,.page-header a,.article-header a,.timeline-detail-list a,.timeline-item a,.paper-item a,.education-card-body a,.content-card-body a,.article-card-body a,.speaking-card-body a{-webkit-text-decoration-color:color-mix(in srgb, currentColor 38%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentColor 38%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentColor 38%, transparent);text-decoration-color:color-mix(in srgb, currentColor 38%, transparent)}}.about-copy a,.plain-section a:not(.latest-blog-link),.content-flow a,.page-header a,.article-header a,.timeline-detail-list a,.timeline-item a,.paper-item a,.education-card-body a,.content-card-body a,.article-card-body a,.speaking-card-body a{text-underline-offset:.2em;text-decoration-thickness:.08em;transition:color .16s,text-decoration-color .16s}.about-copy a:hover,.plain-section a:not(.latest-blog-link):hover,.content-flow a:hover,.page-header a:hover,.article-header a:hover,.timeline-detail-list a:hover,.timeline-item a:hover,.paper-item a:hover,.education-card-body a:hover,.content-card-body a:hover,.article-card-body a:hover,.speaking-card-body a:hover{color:var(--link-hover);text-decoration-color:currentColor}.visual-placeholder{--visual-position:center;--visual-zoom:1;border:1px solid var(--project-color);min-height:130px;position:relative}@supports (color:color-mix(in lab, red, red)){.visual-placeholder{border:1px solid color-mix(in srgb, var(--project-color) 28%, var(--line))}}.visual-placeholder{background:linear-gradient(135deg, var(--project-color), transparent 55%), var(--surface);border-radius:8px;align-content:center;place-items:center;gap:6px;padding:14px;display:grid;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.visual-placeholder{background:linear-gradient(135deg, color-mix(in srgb, var(--project-color) 20%, transparent), transparent 55%), color-mix(in srgb, var(--surface) 80%, var(--project-color))}}.visual-placeholder{color:var(--foreground);text-align:center;box-shadow:inset 0 0 0 1px #fff3}.visual-placeholder.has-image{padding:0}.visual-placeholder.is-linkable{cursor:pointer;text-decoration:none;transition:border-color .18s,box-shadow .18s,filter .18s,transform .18s}.visual-placeholder.is-linkable:after{content:"";z-index:2;background:linear-gradient(180deg, transparent 55%, var(--surface)), linear-gradient(135deg, var(--accent), transparent 48%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.visual-placeholder.is-linkable:after{background:linear-gradient(180deg, transparent 55%, color-mix(in srgb, var(--surface) 70%, transparent)), linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, transparent), transparent 48%)}}.visual-placeholder.is-linkable:after{opacity:0;pointer-events:none;transition:opacity .18s}.visual-placeholder.is-linkable:hover,.visual-placeholder.is-linkable:focus-visible{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.visual-placeholder.is-linkable:hover,.visual-placeholder.is-linkable:focus-visible{border-color:color-mix(in srgb, var(--accent) 58%, var(--line))}}.visual-placeholder.is-linkable:hover,.visual-placeholder.is-linkable:focus-visible{box-shadow:0 14px 32px var(--accent), inset 0 0 0 1px #fff3}@supports (color:color-mix(in lab, red, red)){.visual-placeholder.is-linkable:hover,.visual-placeholder.is-linkable:focus-visible{box-shadow:0 14px 32px color-mix(in srgb, var(--accent) 16%, transparent), inset 0 0 0 1px #fff3}}.visual-placeholder.is-linkable:hover,.visual-placeholder.is-linkable:focus-visible{filter:saturate(1.04);transform:translateY(-1px)}.visual-placeholder.is-linkable:hover:after,.visual-placeholder.is-linkable:focus-visible:after{opacity:1}.visual-placeholder .visual-image{z-index:1;object-fit:var(--visual-fit,cover);object-position:var(--visual-position);width:100%;height:100%;transform:scale(var(--visual-zoom));transform-origin:var(--visual-position);display:block;position:relative}.visual-placeholder.has-image.is-cover .visual-image{position:absolute;inset:0}.visual-placeholder.is-artifact{padding:clamp(18px,4vw,30px)}.visual-frame{z-index:1;border:1px solid var(--foreground);place-items:center;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.visual-frame{border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent)}}.visual-frame{background:var(--surface);border-radius:6px}@supports (color:color-mix(in lab, red, red)){.visual-frame{background:color-mix(in srgb, var(--surface) 94%, white)}}.visual-frame{box-shadow:0 16px 34px var(--foreground), 0 0 0 1px #fff3}@supports (color:color-mix(in lab, red, red)){.visual-frame{box-shadow:0 16px 34px color-mix(in srgb, var(--foreground) 18%, transparent), 0 0 0 1px #fff3}}.visual-frame .visual-image{object-fit:var(--visual-fit,contain);object-position:var(--visual-position);width:100%;height:100%}.visual-placeholder.is-artifact .visual-frame{width:min(90%,760px);height:82%}.visual-placeholder.is-artifact-fill{padding:0}.visual-placeholder.is-artifact-fill:before{content:"";background-image:var(--visual-src);filter:blur(16px)saturate(.9);opacity:.2;background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.08)}.visual-placeholder.is-artifact-fill .visual-frame{border:1px solid var(--foreground);width:100%;height:100%}@supports (color:color-mix(in lab, red, red)){.visual-placeholder.is-artifact-fill .visual-frame{border:1px solid color-mix(in srgb, var(--foreground) 14%, transparent)}}.visual-placeholder.is-artifact-fill .visual-frame{background:var(--surface);border-radius:0}@supports (color:color-mix(in lab, red, red)){.visual-placeholder.is-artifact-fill .visual-frame{background:color-mix(in srgb, var(--surface) 96%, white)}}.visual-placeholder.is-artifact-fill .visual-frame{box-shadow:0 12px 28px var(--foreground), 0 0 0 1px #ffffff2e}@supports (color:color-mix(in lab, red, red)){.visual-placeholder.is-artifact-fill .visual-frame{box-shadow:0 12px 28px color-mix(in srgb, var(--foreground) 18%, transparent), 0 0 0 1px #ffffff2e}}.visual-placeholder>span:not(.visual-frame):not(.visual-link-meta){font-size:clamp(1.05rem,3vw,1.72rem);font-weight:820;line-height:1}.visual-link-meta{z-index:3;opacity:0;pointer-events:none;justify-content:flex-end;align-items:flex-end;gap:4px;transition:opacity .18s,transform .18s;display:flex;position:absolute;bottom:6px;left:6px;right:6px;transform:translateY(4px)}.visual-link-title,.visual-link-indicator{border:1px solid var(--accent);align-items:center;min-height:18px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.visual-link-title,.visual-link-indicator{border:1px solid color-mix(in srgb, var(--accent) 36%, var(--line))}}.visual-link-title,.visual-link-indicator{background:linear-gradient(180deg, #ffffff1f, transparent), var(--surface);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.visual-link-title,.visual-link-indicator{background:linear-gradient(180deg, #ffffff1f, transparent), color-mix(in srgb, var(--surface) 86%, var(--accent))}}.visual-link-title,.visual-link-indicator{color:var(--accent-strong);box-shadow:0 8px 18px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.visual-link-title,.visual-link-indicator{box-shadow:0 8px 18px color-mix(in srgb, var(--foreground) 12%, transparent)}}.visual-link-title,.visual-link-indicator{font-size:.5rem;font-weight:720;line-height:1}.visual-link-title{min-width:0;max-width:calc(100% - 50px);color:var(--foreground);padding:3px 6px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.visual-link-title{color:color-mix(in srgb, var(--foreground) 78%, var(--accent-strong))}}.visual-link-title{text-overflow:ellipsis;white-space:nowrap}.visual-link-indicator{flex:none;padding:3px 6px}.visual-placeholder.is-linkable:hover .visual-link-meta,.visual-placeholder.is-linkable:focus-visible .visual-link-meta{opacity:1;transform:translateY(0)}.visual-placeholder small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:760}.visual-placeholder.is-work{border-color:var(--work-color)}@supports (color:color-mix(in lab, red, red)){.visual-placeholder.is-work{border-color:color-mix(in srgb, var(--work-color) 34%, var(--line))}}.visual-placeholder.is-work{background:linear-gradient(135deg, var(--work-color), transparent 58%), var(--surface)}@supports (color:color-mix(in lab, red, red)){.visual-placeholder.is-work{background:linear-gradient(135deg, color-mix(in srgb, var(--work-color) 18%, transparent), transparent 58%), color-mix(in srgb, var(--surface) 82%, var(--work-color))}}.visual-placeholder.is-research{border-color:var(--research-color)}@supports (color:color-mix(in lab, red, red)){.visual-placeholder.is-research{border-color:color-mix(in srgb, var(--research-color) 34%, var(--line))}}.visual-placeholder.is-research{background:linear-gradient(135deg, var(--research-color), transparent 58%), var(--surface)}@supports (color:color-mix(in lab, red, red)){.visual-placeholder.is-research{background:linear-gradient(135deg, color-mix(in srgb, var(--research-color) 18%, transparent), transparent 58%), color-mix(in srgb, var(--surface) 82%, var(--research-color))}}.visual-placeholder.is-education{border-color:var(--education-color)}@supports (color:color-mix(in lab, red, red)){.visual-placeholder.is-education{border-color:color-mix(in srgb, var(--education-color) 34%, var(--line))}}.visual-placeholder.is-education{background:linear-gradient(135deg, var(--education-color), transparent 58%), var(--surface)}@supports (color:color-mix(in lab, red, red)){.visual-placeholder.is-education{background:linear-gradient(135deg, color-mix(in srgb, var(--education-color) 18%, transparent), transparent 58%), color-mix(in srgb, var(--surface) 82%, var(--education-color))}}.home-location{color:var(--muted);margin:4px 0 12px}.home-role{color:var(--foreground);margin:14px 0 0;font-size:clamp(1.08rem,2vw,1.24rem);font-weight:700;line-height:1.42}.home-summary{color:var(--foreground);margin:0 0 8px;font-size:clamp(1rem,1.7vw,1.16rem);font-weight:640;line-height:1.55}.home-tagline{max-width:680px;color:var(--muted);margin:0;font-size:1rem;line-height:1.72}.hero-stats{flex-wrap:wrap;gap:11px;margin-top:24px;display:flex}.stat-pill{border:1px solid var(--accent);grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:10px;min-width:min(100%,190px);min-height:44px;display:inline-grid;position:relative}@supports (color:color-mix(in lab, red, red)){.stat-pill{border:1px solid color-mix(in srgb, var(--accent) 32%, var(--line))}}.stat-pill{background:linear-gradient(180deg, #fff3, transparent 52%), linear-gradient(135deg, var(--surface), var(--surface));border-radius:999px;padding:0 19px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.stat-pill{background:linear-gradient(180deg, #fff3, transparent 52%), linear-gradient(135deg, color-mix(in srgb, var(--surface) 86%, var(--accent)), color-mix(in srgb, var(--surface) 92%, var(--work-color)))}}.stat-pill{color:var(--muted);white-space:nowrap;box-shadow:inset 0 1px 0 #ffffff75, 0 10px 24px var(--foreground);line-height:1.05}@supports (color:color-mix(in lab, red, red)){.stat-pill{box-shadow:inset 0 1px 0 #ffffff75, 0 10px 24px color-mix(in srgb, var(--foreground) 8%, transparent)}}.stat-pill:before{content:"";border-radius:inherit;opacity:.5;pointer-events:none;background:linear-gradient(120deg,#0000,#fff3,#0000);position:absolute;inset:1px}.stat-pill strong{color:var(--accent-strong);font-size:clamp(1.05rem,2.4vw,1.34rem);line-height:1}.stat-pill span{letter-spacing:.04em;text-transform:uppercase;font-size:clamp(.76rem,1.6vw,.94rem);font-weight:760;transform:translateY(1px)}.section-index{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px 22px;padding:22px 0 38px;display:flex}.section-index a{color:var(--foreground);align-items:center;padding-bottom:7px;font-size:1rem;font-weight:620;text-decoration:none;display:inline-flex;position:relative}.section-index a:after{content:"";background:var(--accent);border-radius:999px;height:2px;position:absolute;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.section-index a:after{background:color-mix(in srgb, var(--accent) 68%, var(--work-color))}}.section-index a:after{opacity:.68;transform-origin:0;transition:opacity .16s,transform .16s;transform:scaleX(.34)}.section-index a:hover:after{opacity:1;transform:scaleX(1)}.plain-section{border-top:1px solid var(--line);padding:34px 0 44px;scroll-margin-top:86px}.plain-section h2{border-bottom:2px solid var(--accent);margin:0 0 22px;padding-bottom:8px;display:inline-block}@supports (color:color-mix(in lab, red, red)){.plain-section h2{border-bottom:2px solid color-mix(in srgb, var(--accent) 70%, var(--work-color))}}.plain-section h2{letter-spacing:0;font-size:1.38rem;font-weight:730;line-height:1.25}.plain-section p{color:var(--muted);line-height:1.76}.about-copy{gap:12px;display:grid}.about-copy p{color:var(--foreground);margin:0}.education-grid,.card-grid,.article-card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.speaking-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.speaking-actions{justify-content:flex-start;display:flex}.section-toggle{cursor:pointer;font:inherit}.section-toggle[aria-expanded=true]:after{content:"↑"}.blog-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.education-card,.content-card,.article-card,.speaking-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #18191b0d}.education-card .visual-placeholder,.content-card .visual-placeholder,.article-card .visual-placeholder,.speaking-card .visual-placeholder{aspect-ratio:16/9;min-height:150px;box-shadow:none;border:0;border-radius:0}.content-card .visual-placeholder.is-artifact,.article-card .visual-placeholder.is-artifact,.content-card .visual-placeholder.is-artifact-fill,.article-card .visual-placeholder.is-artifact-fill,.speaking-card .visual-placeholder.is-artifact-fill{min-height:180px}.latest-blog-card .visual-placeholder.is-artifact-fill .visual-frame{border-radius:6px;width:calc(100% - clamp(8px,1.4vw,14px));height:calc(100% - clamp(8px,1.4vw,14px))}.latest-blog-link{border:1px solid var(--accent);align-items:center;gap:8px;margin-top:34px;padding:9px 14px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.latest-blog-link{border:1px solid color-mix(in srgb, var(--accent) 34%, var(--line))}}.latest-blog-link{background:linear-gradient(180deg, #ffffff24, transparent), var(--surface);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.latest-blog-link{background:linear-gradient(180deg, #ffffff24, transparent), color-mix(in srgb, var(--surface) 88%, var(--accent))}}.latest-blog-link{color:var(--link);box-shadow:inset 0 1px 0 #ffffff5c, 0 12px 26px var(--foreground);font-weight:720;text-decoration:none}@supports (color:color-mix(in lab, red, red)){.latest-blog-link{box-shadow:inset 0 1px 0 #ffffff5c, 0 12px 26px color-mix(in srgb, var(--foreground) 8%, transparent)}}.latest-blog-link{transition:border-color .16s,color .16s,transform .16s,box-shadow .16s}.latest-blog-link:after{content:"→";font-size:1rem;line-height:1;transform:translateY(-1px)}.latest-blog-link:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.latest-blog-link:hover{border-color:color-mix(in srgb, var(--accent) 56%, var(--line))}}.latest-blog-link:hover{color:var(--link-hover);box-shadow:inset 0 1px 0 #ffffff6b, 0 15px 30px var(--accent);text-decoration-color:#0000}@supports (color:color-mix(in lab, red, red)){.latest-blog-link:hover{box-shadow:inset 0 1px 0 #ffffff6b, 0 15px 30px color-mix(in srgb, var(--accent) 12%, transparent)}}.latest-blog-link:hover{transform:translateY(-1px)}.education-card-body,.content-card-body,.article-card-body,.speaking-card-body{gap:8px;padding:16px;display:grid}.education-card-body>p:first-child,.content-card-body time,.content-card-body>span,.article-card-body>p:first-child,.speaking-event-meta{color:var(--muted);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.72rem}.education-card h3,.content-card h3,.article-card h2,.speaking-card h3{color:var(--foreground);letter-spacing:0;margin:0;font-size:1.08rem;line-height:1.25}.education-card h3 a,.content-card h3 a,.article-card h2 a,.speaking-card h3 a{text-decoration-color:#0000}.content-card h3 a:after,.article-card h2 a:after,.paper-item h2 a:after,.speaking-card h3 a:after{content:" ↗";color:var(--link);opacity:.72;vertical-align:.08em;font-size:.76em;font-weight:720}.education-card h3 a:hover,.content-card h3 a:hover,.article-card h2 a:hover,.speaking-card h3 a:hover{text-decoration-color:currentColor}.education-card strong,.education-card span{color:var(--foreground);line-height:1.4}.education-card-body p,.content-card-body p,.article-card-body p,.speaking-card-body p{color:var(--muted);margin:0;line-height:1.6}.speaking-outcome{font-weight:640;color:var(--foreground)!important}.education-thesis{border-top:1px solid var(--line);padding-top:8px;display:block}@supports (color:color-mix(in lab, red, red)){.education-thesis{border-top:1px solid color-mix(in srgb, var(--line) 72%, transparent)}}.education-thesis{font-size:.88rem}.education-thesis span{color:var(--link);letter-spacing:.04em;text-transform:uppercase;margin-right:.35em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.68rem;font-weight:780;display:inline}.section-note{margin:0 0 22px}.timeline-shell{margin-top:8px}.timeline-legend{flex-wrap:wrap;gap:16px;margin-bottom:18px;padding-left:28px;display:flex}.timeline-legend-item{color:var(--muted);align-items:center;gap:7px;font-size:.8rem;font-weight:600;display:inline-flex}.timeline-legend-item span{background:var(--project-color);width:9px;height:9px;box-shadow:0 0 0 3px var(--project-color);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.timeline-legend-item span{box-shadow:0 0 0 3px color-mix(in srgb, var(--project-color) 18%, transparent)}}.timeline-legend-item.is-work span{background:var(--work-color);box-shadow:0 0 0 3px var(--work-color)}@supports (color:color-mix(in lab, red, red)){.timeline-legend-item.is-work span{box-shadow:0 0 0 3px color-mix(in srgb, var(--work-color) 18%, transparent)}}.timeline-legend-item.is-research span{background:var(--research-color);box-shadow:0 0 0 3px var(--research-color)}@supports (color:color-mix(in lab, red, red)){.timeline-legend-item.is-research span{box-shadow:0 0 0 3px color-mix(in srgb, var(--research-color) 18%, transparent)}}.timeline-legend-item.is-education span{background:var(--education-color);box-shadow:0 0 0 3px var(--education-color)}@supports (color:color-mix(in lab, red, red)){.timeline-legend-item.is-education span{box-shadow:0 0 0 3px color-mix(in srgb, var(--education-color) 18%, transparent)}}.interactive-timeline{padding-left:28px;position:relative}.interactive-timeline:before{content:"";background:var(--line);border-radius:999px;width:2px;position:absolute;top:9px;bottom:9px;left:7px}.interactive-timeline-item{opacity:0;margin-bottom:14px;animation:.42s forwards timeline-in;position:relative;transform:translateY(8px)}.interactive-timeline-item:nth-child(2){animation-delay:80ms}.interactive-timeline-item:nth-child(3){animation-delay:.16s}.interactive-timeline-item:before{content:"";left:-26px;top:calc(var(--timeline-dot-y,50%) - 7.5px);z-index:1;border:2px solid var(--background);background:var(--project-color);width:11px;height:11px;box-shadow:0 0 0 3px var(--project-color);border-radius:999px;position:absolute}@supports (color:color-mix(in lab, red, red)){.interactive-timeline-item:before{box-shadow:0 0 0 3px color-mix(in srgb, var(--project-color) 18%, transparent)}}.interactive-timeline-item:before{transition:background .16s,box-shadow .16s,transform .16s}.interactive-timeline-item.is-work:before,.interactive-timeline-item.is-current:before{background:var(--work-color);box-shadow:0 0 0 3px var(--work-color)}@supports (color:color-mix(in lab, red, red)){.interactive-timeline-item.is-work:before,.interactive-timeline-item.is-current:before{box-shadow:0 0 0 3px color-mix(in srgb, var(--work-color) 18%, transparent)}}.interactive-timeline-item.is-research:before{background:var(--research-color);box-shadow:0 0 0 3px var(--research-color)}@supports (color:color-mix(in lab, red, red)){.interactive-timeline-item.is-research:before{box-shadow:0 0 0 3px color-mix(in srgb, var(--research-color) 18%, transparent)}}.interactive-timeline-item.is-education:before{background:var(--education-color);box-shadow:0 0 0 3px var(--education-color)}@supports (color:color-mix(in lab, red, red)){.interactive-timeline-item.is-education:before{box-shadow:0 0 0 3px color-mix(in srgb, var(--education-color) 18%, transparent)}}.interactive-timeline-item:has(.timeline-card:hover):before{box-shadow:0 0 0 5px var(--work-color);transform:scale(1.12)}.interactive-timeline-item:has(.timeline-card.is-pinned):before{box-shadow:0 0 0 5px var(--work-color);transform:scale(1.12)}@supports (color:color-mix(in lab, red, red)){.interactive-timeline-item:has(.timeline-card:hover):before{box-shadow:0 0 0 5px color-mix(in srgb, var(--work-color) 18%, transparent)}.interactive-timeline-item:has(.timeline-card.is-pinned):before{box-shadow:0 0 0 5px color-mix(in srgb, var(--work-color) 18%, transparent)}}.timeline-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;transition:border-color .18s,box-shadow .18s,transform .18s;overflow:hidden;box-shadow:0 10px 30px #18191b0d}.timeline-card:hover,.timeline-card.is-pinned{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.timeline-card:hover,.timeline-card.is-pinned{border-color:color-mix(in srgb, var(--accent) 52%, var(--line))}}.timeline-card:hover,.timeline-card.is-pinned{box-shadow:var(--shadow);transform:translateY(-2px)}.timeline-card-top{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;padding:15px 18px;display:flex}.timeline-logo{border:1px solid var(--line);color:#111;background:#fff;border-radius:8px;flex:none;place-items:center;width:68px;height:50px;padding:7px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.78rem;font-weight:750;display:inline-grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffb8}.timeline-logo-image{object-fit:contain;width:100%;height:100%}.timeline-logo.is-aws{border-color:var(--work-color);background:#242f3e;padding:0}@supports (color:color-mix(in lab, red, red)){.timeline-logo.is-aws{border-color:color-mix(in srgb, var(--work-color) 42%, var(--line))}}.timeline-logo.is-aws{box-shadow:inset 0 0 0 1px #ffffff14,0 6px 16px #0000001f}.timeline-logo.is-aws .timeline-logo-image{display:block;position:absolute;inset:0;object-fit:fill!important;object-position:center!important;width:100%!important;max-width:none!important;height:100%!important}.timeline-logo.is-ucl,.timeline-logo.is-xai{padding:3px}.timeline-info{flex:auto;gap:4px;min-width:0;display:grid}.timeline-title{color:var(--foreground);font-size:.98rem;font-weight:720;line-height:1.3}.timeline-title span,.timeline-subtitle{color:var(--muted);font-weight:480}.timeline-division{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.timeline-division{color:color-mix(in srgb, var(--accent) 82%, var(--foreground))}}.timeline-division{font-size:.82rem;font-style:italic;font-weight:620;line-height:1.25}.timeline-subtitle{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.86rem;line-height:1.45;display:-webkit-box;overflow:hidden}.timeline-meta{text-align:right;flex:none;justify-items:end;gap:6px;display:grid}.timeline-date{color:var(--muted);white-space:nowrap;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.76rem}.timeline-badges,.timeline-tags,.timeline-links{flex-wrap:wrap;gap:6px;display:flex}.timeline-badges{justify-content:flex-end}.timeline-badge,.timeline-tags span,.timeline-links a{border-radius:999px;padding:3px 8px;font-size:.64rem;font-weight:700;line-height:1.25;text-decoration:none}.timeline-badge{text-transform:uppercase;letter-spacing:0}.timeline-badge.is-work{background:var(--work-color)}@supports (color:color-mix(in lab, red, red)){.timeline-badge.is-work{background:color-mix(in srgb, var(--work-color) 14%, transparent)}}.timeline-badge.is-work{color:var(--work-color)}.timeline-badge.is-research{background:var(--research-color)}@supports (color:color-mix(in lab, red, red)){.timeline-badge.is-research{background:color-mix(in srgb, var(--research-color) 14%, transparent)}}.timeline-badge.is-research{color:var(--research-color)}.timeline-badge.is-project{background:var(--project-color)}@supports (color:color-mix(in lab, red, red)){.timeline-badge.is-project{background:color-mix(in srgb, var(--project-color) 14%, transparent)}}.timeline-badge.is-project{color:var(--project-color)}.timeline-badge.is-education{background:var(--education-color)}@supports (color:color-mix(in lab, red, red)){.timeline-badge.is-education{background:color-mix(in srgb, var(--education-color) 14%, transparent)}}.timeline-badge.is-education{color:var(--education-color)}.timeline-badge.is-current{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.timeline-badge.is-current{background:color-mix(in srgb, var(--accent) 12%, transparent)}}.timeline-badge.is-current{color:var(--accent-strong)}.timeline-details{opacity:0;max-height:0;transition:max-height .42s cubic-bezier(.4,0,.2,1),opacity .22s;overflow:hidden}.timeline-card.is-pinned .timeline-details{opacity:1;max-height:1800px}.timeline-details-inner{border-top:1px solid var(--line);padding:12px 18px 18px}.timeline-skill-block{margin-bottom:12px}.timeline-skill-block p{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px;font-size:.72rem;font-weight:760}.timeline-tags span{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.timeline-tags span{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.timeline-tags span{color:var(--accent-strong);padding:2px 7px;font-size:.6rem;font-weight:680}.timeline-media-grid{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px;margin:0 0 16px;display:grid}.timeline-media-grid.is-compact{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));justify-content:center;place-items:center stretch;width:min(100%,920px);max-width:100%;margin-left:auto;margin-right:auto}.timeline-media-grid.is-compact .visual-placeholder:only-child{justify-self:center;width:min(100%,412px)}.timeline-media-grid.is-featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.timeline-media-grid .visual-placeholder{aspect-ratio:16/9;border-color:var(--accent);min-height:0}@supports (color:color-mix(in lab, red, red)){.timeline-media-grid .visual-placeholder{border-color:color-mix(in srgb, var(--accent) 24%, var(--line))}}.timeline-media-grid .visual-placeholder.is-artifact-fill .visual-frame,.timeline-media-grid .visual-placeholder.is-artifact-fill .visual-image{width:100%;height:100%;position:absolute;inset:0}.timeline-media-grid .visual-placeholder.has-placeholder{min-height:92px}.timeline-detail-list{gap:8px;margin:0;padding-left:0;list-style:none;display:grid}.timeline-detail-list li{color:var(--muted);padding-left:18px;font-size:.92rem;line-height:1.66;position:relative}.timeline-detail-list li:before{content:"";background:var(--accent);border-radius:999px;width:6px;height:6px;position:absolute;top:.76em;left:0}@supports (color:color-mix(in lab, red, red)){.timeline-detail-list li:before{background:color-mix(in srgb, var(--accent) 72%, var(--work-color))}}.timeline-detail-list li:before{box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab, red, red)){.timeline-detail-list li:before{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 13%, transparent)}}.timeline-detail-list a{color:var(--link)}.timeline-detail-list strong,.plain-section strong,.content-flow strong{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.timeline-detail-list strong,.plain-section strong,.content-flow strong{color:color-mix(in srgb, var(--foreground) 78%, var(--link))}}.timeline-detail-list strong,.plain-section strong,.content-flow strong{font-weight:780}.timeline-links{margin-top:14px}.timeline-links a{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.timeline-links a{background:color-mix(in srgb, var(--surface) 68%, var(--accent))}}.timeline-links a{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.timeline-links a{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line))}}.timeline-links a{color:var(--link)}@keyframes timeline-in{to{opacity:1;transform:translateY(0)}}.home-link-list{border-top:1px solid var(--line)}.home-link-list a{border-bottom:1px solid var(--line);gap:4px;padding:18px 0;text-decoration:none;display:grid}.home-link-list span{color:var(--foreground);font-weight:690}.home-link-list small{color:var(--muted);line-height:1.55}.writing-list{gap:14px;margin:18px 0;display:grid}.writing-list li{color:var(--muted);justify-content:space-between;align-items:baseline;gap:18px;line-height:1.5;display:flex}.writing-list a{color:var(--foreground)}.writing-list time,.writing-list span{color:var(--muted);flex:none;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.82rem}.connect-section{padding-bottom:24px}.connect-card{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:8px;margin-top:0;padding:34px 28px;transition:border-color .16s,box-shadow .16s}.connect-card:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.connect-card:hover{border-color:color-mix(in srgb, var(--accent) 34%, var(--line))}}.connect-card:hover{box-shadow:var(--shadow)}.connect-card p{color:var(--muted);margin:0 0 24px;font-size:.96rem;line-height:1.65}.connect-links{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.connect-link{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--foreground);border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 17px;font-size:.86rem;font-weight:620;text-decoration:none;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex}.connect-link svg{width:16px;height:16px}.connect-link:hover{box-shadow:var(--shadow);text-decoration-color:#0000;transform:translateY(-2px)}.connect-link.is-email{background:#d1495b}@supports (color:color-mix(in lab, red, red)){.connect-link.is-email{background:color-mix(in srgb, #d1495b 8%, var(--surface))}}.connect-link.is-email{border-color:#d1495b}@supports (color:color-mix(in lab, red, red)){.connect-link.is-email{border-color:color-mix(in srgb, #d1495b 34%, var(--line))}}.connect-link.is-email{color:#d1495b}.connect-link.is-linkedin{background:#0a66c2}@supports (color:color-mix(in lab, red, red)){.connect-link.is-linkedin{background:color-mix(in srgb, #0a66c2 8%, var(--surface))}}.connect-link.is-linkedin{border-color:#0a66c2}@supports (color:color-mix(in lab, red, red)){.connect-link.is-linkedin{border-color:color-mix(in srgb, #0a66c2 34%, var(--line))}}.connect-link.is-linkedin{color:#0a66c2}.connect-link.is-github{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.connect-link.is-github{background:color-mix(in srgb, var(--foreground) 6%, var(--surface))}}.connect-link.is-github{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.connect-link.is-github{border-color:color-mix(in srgb, var(--foreground) 24%, var(--line))}}.hero-grid{grid-template-columns:minmax(0,.92fr) minmax(320px,.78fr);align-items:center;gap:54px;padding:42px 0 46px;display:grid}.page-header h1,.article-header h1{letter-spacing:0;max-width:760px;margin:0;font-size:clamp(3.2rem,7vw,6.5rem);line-height:.95}.lede,.page-header>p,.article-header>p{color:var(--muted);max-width:720px;font-size:clamp(1.08rem,2vw,1.34rem);line-height:1.65}.page-header>p{margin-top:clamp(14px,2vw,22px)}.eyebrow,.section-kicker,.article-row>div>p,.paper-item-body>div>p,.timeline-mini p,.timeline-item p:first-child,.source-link,.tag-list,.hero-figure figcaption{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.78rem}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.button-primary,.button-secondary{border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-weight:680;text-decoration:none;display:inline-flex}.button-primary{background:var(--foreground);color:var(--surface)}.button-secondary{background:var(--surface);color:var(--foreground);border:1px solid var(--line)}.hero-figure{margin:0}.hero-figure img{border:1px solid var(--line);width:100%;height:auto;box-shadow:var(--shadow);background:var(--surface);border-radius:8px}.hero-figure figcaption{margin-top:12px}.jump-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.jump-nav a{min-height:66px;color:var(--muted);border-right:1px solid var(--line);align-items:center;gap:10px;padding:12px 14px;text-decoration:none;display:flex}.jump-nav a:last-child{border-right:0}.jump-nav span{background:var(--surface);width:28px;height:28px;color:var(--foreground);border:1px solid var(--line);border-radius:8px;place-items:center;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.78rem;display:inline-grid}.jump-nav a:hover{color:var(--foreground);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.jump-nav a:hover{background:color-mix(in srgb, var(--surface) 72%, var(--accent-gold))}}.section-block{border-bottom:1px solid var(--line);padding:64px 0}.first-section{border-top:1px solid var(--line)}.section-grid,.two-column-list,.timeline-item{grid-template-columns:minmax(220px,.68fr) minmax(0,1.2fr);gap:48px;display:grid}.section-grid h2,.two-column-list h2,.resume-section h2{letter-spacing:0;margin:0;font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.08}.section-grid p,.two-column-list p,.article-row>p,.paper-item>p,.timeline-item p,.resume-section p{color:var(--muted);line-height:1.7}.link-stack,.paper-stack,.article-list,.paper-list,.timeline-list{gap:14px;display:grid}.row-link,.paper-row,.article-row,.paper-item,.timeline-mini>div,.skill-grid>div{background:var(--surface);border:1px solid var(--line);border-radius:8px}.row-link,.paper-row{gap:7px;padding:18px;text-decoration:none;display:grid}.row-link span,.paper-row span{font-weight:690}.row-link small,.paper-row small{color:var(--muted);line-height:1.5}.article-row,.paper-item{padding:22px}.paper-item{grid-template-columns:minmax(0,clamp(220px,34%,300px)) minmax(0,1fr);align-items:stretch;gap:clamp(22px,4vw,34px);overflow:hidden}.paper-item>.visual-placeholder{aspect-ratio:16/9;align-self:center;width:100%;min-width:0;max-width:100%;min-height:0}.paper-item .visual-placeholder.is-artifact{padding:clamp(12px,2.4vw,22px)}.paper-item .visual-placeholder.is-artifact .visual-frame,.paper-item .visual-placeholder.is-artifact-fill .visual-frame{width:100%;max-width:100%;height:100%;max-height:100%}.paper-item-body{gap:12px;min-width:0;display:grid}.article-row h2,.article-row h3,.paper-item h2{letter-spacing:0;margin:6px 0 0;font-size:1.3rem;line-height:1.25}.article-row h2 a,.article-row h3 a,.paper-item h2 a{text-decoration-color:#0000}.article-row h2 a:hover,.article-row h3 a:hover,.paper-item h2 a:hover{text-decoration-color:currentColor}.full-list{margin-top:32px}.compact-list,.number-list,.timeline-item ul,.content-flow ul{gap:12px;margin:0;padding:0;display:grid}.compact-list li,.number-list li,.timeline-item li,.content-flow li{color:var(--muted);padding-left:24px;line-height:1.7;list-style:none;position:relative}.compact-list li:before,.timeline-item li:before,.content-flow li:before{content:"";background:var(--accent);border-radius:7px;width:7px;height:7px;position:absolute;top:.72em;left:0}.number-list{counter-reset:step}.number-list li{counter-increment:step}.number-list li:before{content:counter(step);border:1px solid var(--line);background:var(--surface);width:22px;height:22px;color:var(--foreground);border-radius:8px;place-items:center;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.78rem;display:inline-grid;position:absolute;top:.18em;left:0}.timeline-mini{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.timeline-mini>div{padding:16px}.timeline-mini h3{margin:12px 0 4px;font-size:1rem;line-height:1.25}.timeline-mini span,.timeline-item span{color:var(--muted)}.page-header,.article-header{border:1px solid var(--line);border-top:4px solid var(--accent);background:linear-gradient(135deg, var(--surface) 0%, var(--surface) 58%), var(--surface);border-radius:8px;padding:34px clamp(20px,5vw,44px) 40px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.page-header,.article-header{background:linear-gradient(135deg, color-mix(in srgb, var(--surface) 92%, var(--accent)) 0%, var(--surface) 58%), var(--surface)}}.page-header,.article-header{box-shadow:var(--shadow)}.page-header:after,.article-header:after{content:"";background:var(--accent-gold);height:1px;position:absolute;inset:auto 0 0}@supports (color:color-mix(in lab, red, red)){.page-header:after,.article-header:after{background:color-mix(in srgb, var(--accent-gold) 68%, transparent)}}.article-header{margin-bottom:44px}.back-link{margin-bottom:28px;display:inline-block}.tag-list{flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:5px 8px}.color-tag-list{text-transform:uppercase;gap:8px;font-size:.72rem}.color-tag-list li{border-color:var(--foreground);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.color-tag-list li{border-color:color-mix(in srgb, var(--foreground) 16%, var(--line))}}.color-tag-list li{background:linear-gradient(180deg, #ffffff1c 0%, transparent 46%), linear-gradient(135deg, var(--accent), var(--surface));border-radius:8px;padding:6px 9px}@supports (color:color-mix(in lab, red, red)){.color-tag-list li{background:linear-gradient(180deg, #ffffff1c 0%, transparent 46%), linear-gradient(135deg, color-mix(in srgb, var(--accent) 8%, var(--surface)), color-mix(in srgb, var(--surface) 94%, var(--foreground)))}}.color-tag-list li{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.color-tag-list li{color:color-mix(in srgb, var(--foreground) 72%, var(--muted))}}.color-tag-list li{box-shadow:inset 0 1px 0 #ffffff2e, 0 8px 18px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.color-tag-list li{box-shadow:inset 0 1px 0 #ffffff2e, 0 8px 18px color-mix(in srgb, var(--foreground) 7%, transparent)}}.color-tag-list li{letter-spacing:.01em;font-weight:690}.color-tag-list li:before{content:"";opacity:.7;pointer-events:none;background:linear-gradient(115deg,#0000 0% 30%,#ffffff2b 42%,#0000 54% 100%);position:absolute;inset:0}.source-link{margin-top:24px;display:inline-block}.content-flow{max-width:760px}.content-flow p,.content-flow blockquote{color:var(--foreground);font-size:1.08rem;line-height:1.85}.content-flow h2{letter-spacing:0;margin:42px 0 12px;font-size:1.7rem;line-height:1.15}.content-flow a,.page-header a,.section-grid a:not(.row-link):not(.paper-row),.timeline-item a,.paper-item a{color:var(--link);text-decoration-thickness:.08em}.content-flow blockquote{border-left:4px solid var(--accent-rose);color:var(--muted);margin:32px 0;padding:18px 0 18px 22px}.content-flow pre{color:#f7f8f8;background:#18191b;border-radius:8px;padding:18px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.92rem;overflow-x:auto}.paper-list,.timeline-list{margin-top:32px}.paper-item{display:grid}.timeline-item{border-bottom:1px solid var(--line);padding:28px 0}.timeline-item:first-child{border-top:1px solid var(--line)}.timeline-item h2,.timeline-item h3{margin:8px 0 4px;font-size:1.28rem;line-height:1.25}.inline-links{margin-top:16px}.education-card .inline-links,.paper-item .inline-links{gap:9px;margin-top:18px}.education-card .inline-links a,.paper-item .inline-links a{border:1px solid var(--accent);align-items:center;gap:7px;min-height:34px;padding:7px 11px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.education-card .inline-links a,.paper-item .inline-links a{border:1px solid color-mix(in srgb, var(--accent) 36%, var(--line))}}.education-card .inline-links a,.paper-item .inline-links a{background:linear-gradient(135deg, var(--accent), transparent 68%), var(--surface);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.education-card .inline-links a,.paper-item .inline-links a{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, transparent), transparent 68%), color-mix(in srgb, var(--surface) 92%, var(--accent))}}.education-card .inline-links a,.paper-item .inline-links a{color:var(--link);box-shadow:0 8px 18px var(--accent);font-size:.82rem;font-weight:720;line-height:1;text-decoration:none}@supports (color:color-mix(in lab, red, red)){.education-card .inline-links a,.paper-item .inline-links a{box-shadow:0 8px 18px color-mix(in srgb, var(--accent) 8%, transparent)}}.education-card .inline-links a,.paper-item .inline-links a{transition:background .16s,border-color .16s,box-shadow .16s,color .16s,transform .16s}.education-card .inline-links a:after,.paper-item .inline-links a:after{content:"↗";border:1px solid;width:17px;height:17px}@supports (color:color-mix(in lab, red, red)){.education-card .inline-links a:after,.paper-item .inline-links a:after{border:1px solid color-mix(in srgb, currentColor 45%, transparent)}}.education-card .inline-links a:after,.paper-item .inline-links a:after{opacity:.8;border-radius:6px;place-items:center;font-size:.72rem;line-height:1;display:inline-grid}.education-card .inline-links a:hover,.paper-item .inline-links a:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.education-card .inline-links a:hover,.paper-item .inline-links a:hover{border-color:color-mix(in srgb, var(--accent) 68%, var(--line))}}.education-card .inline-links a:hover,.paper-item .inline-links a:hover{background:linear-gradient(135deg, var(--accent), transparent 65%), var(--surface)}@supports (color:color-mix(in lab, red, red)){.education-card .inline-links a:hover,.paper-item .inline-links a:hover{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 18%, transparent), transparent 65%), color-mix(in srgb, var(--surface) 84%, var(--accent))}}.education-card .inline-links a:hover,.paper-item .inline-links a:hover{color:var(--link-hover);box-shadow:0 12px 24px var(--accent)}@supports (color:color-mix(in lab, red, red)){.education-card .inline-links a:hover,.paper-item .inline-links a:hover{box-shadow:0 12px 24px color-mix(in srgb, var(--accent) 13%, transparent)}}.education-card .inline-links a:hover,.paper-item .inline-links a:hover{transform:translateY(-1px)}.resume-contact{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:12px;padding:22px 0;display:flex}.resume-contact a,.resume-contact span{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;padding:8px 10px;text-decoration:none}.resume-section{border-bottom:1px solid var(--line);padding:38px 0}.skill-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.skill-grid>div{padding:16px}.skill-grid h3{margin:0 0 8px}.callout{border:1px solid var(--line);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:18px;margin-top:36px;padding:22px;display:flex}.callout p{color:var(--muted);margin:0;line-height:1.6}.callout a{color:var(--link);flex:none}@media (max-width:860px){.topbar,.hero-grid,.section-grid,.two-column-list,.timeline-item{grid-template-columns:1fr}.topbar{align-items:start;gap:12px;display:grid}.hero-grid{gap:32px}.hero-layout{grid-template-columns:1fr;gap:24px}.hero-photo-frame{order:-1;justify-self:start;width:clamp(160px,48vw,210px)}.topnav{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:10px;width:100%;padding-bottom:4px;overflow-x:auto}.topnav::-webkit-scrollbar{display:none}.topnav>a:not(.resume-button),.social-nav,.theme-toggle,.resume-button{flex:none}.nav-divider{display:none}.jump-nav,.blog-card-grid,.speaking-grid,.timeline-mini,.skill-grid{grid-template-columns:1fr}.jump-nav a{border-right:0;border-bottom:1px solid var(--line)}.jump-nav a:last-child{border-bottom:0}.section-block{padding:48px 0}.timeline-legend{padding-left:0}.timeline-card-top{flex-wrap:wrap;align-items:flex-start}.timeline-info{flex-basis:calc(100% - 54px)}.timeline-subtitle{-webkit-line-clamp:3}.timeline-meta{text-align:left;justify-items:start;width:100%;padding-left:54px}.timeline-badges{justify-content:flex-start}.paper-item{grid-template-columns:1fr}.paper-item>.visual-placeholder{min-height:0}.writing-list li{flex-direction:column;align-items:flex-start;gap:4px}.callout{flex-direction:column;align-items:flex-start}}@media (max-width:640px){.page,.home-page,.narrow-page,.article-page{width:min(100% - 24px,1120px);padding-top:26px;padding-bottom:54px}.topbar{padding:11px 12px 10px}.brand{max-width:100%}.brand-mark{border-radius:7px;width:30px;height:30px;font-size:.72rem}.topnav{flex-wrap:wrap;gap:8px 10px;padding-bottom:0;padding-right:0;overflow-x:visible}.topnav a:not(.resume-button){font-size:.86rem}.topnav a.resume-button,.social-nav,.theme-toggle{order:2}.social-nav{gap:6px}.topnav a.resume-button,.icon-link,.theme-toggle{height:32px}.topnav a.resume-button{padding:0 10px;font-size:.84rem}.icon-link,.theme-toggle{border-radius:7px;width:32px}.reference-hero{padding:18px 0 34px}.hero-layout{gap:18px}.hero-photo-frame{width:min(54vw,190px);box-shadow:0 14px 34px var(--foreground), 0 0 0 6px var(--accent);justify-self:center}@supports (color:color-mix(in lab, red, red)){.hero-photo-frame{box-shadow:0 14px 34px color-mix(in srgb, var(--foreground) 12%, transparent), 0 0 0 6px color-mix(in srgb, var(--accent) 8%, transparent)}}.home-copy,.hero-copy{text-align:left;min-width:0}.home-name-row{display:block}.home-name-row h1{overflow-wrap:break-word;width:100%;min-width:0;font-size:clamp(2.65rem,12.3vw,3.35rem);line-height:.95}.home-role{overflow-wrap:break-word;max-width:100%;margin-top:12px;font-size:1rem}.home-summary{overflow-wrap:break-word;max-width:100%;font-size:.98rem;line-height:1.5}.home-tagline{overflow-wrap:break-word;max-width:100%;font-size:.94rem;line-height:1.65}.hero-stats{grid-template-columns:1fr;gap:8px;margin-top:18px;display:grid}.stat-pill{justify-content:start;min-width:0;min-height:40px;padding:0 15px}.stat-pill strong{font-size:1.08rem}.stat-pill span{font-size:.73rem}.section-index{gap:10px 16px;padding:18px 0 30px}.section-index a{font-size:.92rem}.plain-section{padding:30px 0 38px;scroll-margin-top:112px}.plain-section h2{margin-bottom:18px;font-size:1.22rem}.section-note{margin-bottom:18px;font-size:.94rem;line-height:1.62}.about-copy{gap:10px}.about-copy p,.plain-section p{font-size:.95rem;line-height:1.68}.education-grid,.card-grid,.article-card-grid,.blog-card-grid,.speaking-grid{grid-template-columns:1fr;gap:12px}.education-card .visual-placeholder,.content-card .visual-placeholder,.article-card .visual-placeholder,.speaking-card .visual-placeholder{min-height:142px}.content-card .visual-placeholder.is-artifact,.article-card .visual-placeholder.is-artifact,.content-card .visual-placeholder.is-artifact-fill,.article-card .visual-placeholder.is-artifact-fill,.speaking-card .visual-placeholder.is-artifact-fill{min-height:160px}.education-card-body,.content-card-body,.article-card-body,.speaking-card-body{padding:14px}.content-card h3,.article-card h2,.speaking-card h3,.education-card h3{font-size:1rem;line-height:1.32}.tag-list,.color-tag-list{gap:6px}.color-tag-list li{padding:5px 7px;font-size:.64rem}.latest-blog-link{margin-top:24px;padding:8px 13px;font-size:.92rem}.timeline-legend{gap:12px;margin-bottom:14px}.timeline-legend-item{font-size:.76rem}.interactive-timeline{padding-left:18px}.interactive-timeline:before{left:5px}.interactive-timeline-item:before{width:10px;height:10px;left:-18px}.timeline-card-top{gap:10px;padding:13px 12px}.timeline-logo{border-radius:7px;width:54px;height:42px}.timeline-info{flex-basis:calc(100% - 64px)}.timeline-title{font-size:.9rem;line-height:1.3}.timeline-title span{display:inline}.timeline-division{font-size:.76rem}.timeline-subtitle{-webkit-line-clamp:4;font-size:.8rem;line-height:1.42}.timeline-meta{gap:5px;padding-left:64px}.timeline-date{font-size:.68rem}.timeline-badge{font-size:.58rem}.timeline-details-inner{padding:11px 12px 14px}.timeline-tags{gap:5px}.timeline-tags span{padding:2px 6px;font-size:.57rem}.timeline-media-grid,.timeline-media-grid.is-featured,.timeline-media-grid.is-compact{grid-template-columns:1fr;gap:9px}.timeline-media-grid .visual-placeholder{aspect-ratio:16/10}.visual-link-meta{opacity:1;transform:translateY(0)}.visual-link-title,.visual-link-indicator{min-height:17px;font-size:.48rem}.timeline-detail-list{gap:7px}.timeline-detail-list li{padding-left:16px;font-size:.86rem;line-height:1.58}.connect-card{padding:24px 16px}.connect-card p{margin-bottom:18px;font-size:.92rem}.connect-links{justify-content:flex-start}.connect-link{min-height:36px;padding:0 13px;font-size:.8rem}.page-header,.article-header{padding:24px 18px 28px}.page-header h1,.article-header h1{font-size:clamp(2.6rem,15vw,4.15rem);line-height:.98}.lede,.page-header>p,.article-header>p{font-size:1rem;line-height:1.55}.paper-list,.full-list{margin-top:24px}.paper-item,.article-row{padding:14px}.paper-item h2{font-size:1.06rem;line-height:1.32}.content-flow p,.content-flow blockquote{font-size:1rem;line-height:1.72}}@media print{.topbar,.hero-actions,.jump-nav{display:none}body{background:#fff}.page{width:100%;padding:0}.resume-contact a,.resume-contact span,.skill-grid>div,.article-row,.paper-item{border-color:#d0d0d0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
