html,body{scroll-behavior:smooth;padding:0;margin:0;width:100%;height:100%;max-width:100%}[data-astro-cid-sckkx6r4]{box-sizing:border-box}@font-face{font-family:Sohne;src:url(/_astro/Sohne-Leicht.C0uRpA9s.otf) format("opentype");font-weight:300;font-style:normal}@font-face{font-family:Sohne;src:url(/_astro/Sohne-Buch.CO0DQXYc.otf) format("opentype");font-weight:400;font-style:normal}@font-face{font-family:Sohne;src:url(/_astro/Sohne-Kraftig.BUjrGfVF.otf) format("opentype");font-weight:500;font-style:normal}@font-face{font-family:Lora;src:url(/_astro/Lora-Italic-VariableFont_wght.Caecc_Da.ttf) format("truetype");font-weight:400 700;font-style:italic}.t em{font-family:Lora,Georgia,serif;font-style:italic;font-weight:800}@font-face{font-family:Sohne;src:url(/_astro/Sohne-Halbfett.CtXMRDqS.otf) format("opentype");font-weight:600;font-style:normal}@font-face{font-family:Sohne Mono;src:url(/_astro/Sohne-Mono-Buch.DGcACVkV.otf) format("opentype");font-weight:400;font-style:normal}:root{--font-main: Sohne, "Söhne", "Helvetica Neue", Arial, sans-serif;--font-mono: "Sohne Mono", "Söhne Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--color-bg: #ffffff;--color-surface: #ffffff;--color-surface-strong: #ffffff;--color-text: #262626;--color-muted: #5f5b66;--color-border: rgba(38, 38, 38, .16);--color-header: #262626;--color-accent-blue: #2563eb;--color-accent-blue-soft: #dbeafe;--color-accent-blue-dark: #1d4ed8;--color-accent-red: #2563eb;--shadow-soft: 0 8px 28px rgba(40, 35, 55, .1);--shadow-card: 0 14px 42px rgba(40, 35, 55, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--max-content: 1320px}*{box-sizing:border-box}.site-shell{min-height:100vh;width:100%;color:var(--color-text);font-family:var(--font-main);background:var(--color-bg)}.site-shell a{color:inherit}.site-header{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;height:70px;padding:0 clamp(18px,4vw,48px);background:#262626f5;backdrop-filter:blur(16px);color:#f5fcf5}.brand{display:inline-flex;align-items:center;gap:14px;font-family:var(--font-main);font-size:21px;font-weight:600;text-decoration:none}.brand-icon{color:#f5fcf5;font-size:24px}.desktop-nav{display:flex;align-items:center;gap:8px;margin:0 auto;padding:8px;border:1px solid rgba(255,255,255,.72);border-radius:999px}.nav-link{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;color:#fdfdfd;font-size:14px;font-weight:650;text-decoration:none;transition:background .16s ease,color .16s ease}.nav-link:hover,.nav-link:focus-visible,.nav-link.active{background:#ffffff1f;color:#dbeafe;outline:none}.menu-toggle{display:none;border:0;background:transparent;color:#fff;font-size:22px;cursor:pointer}.mobile-nav{position:absolute;top:62px;right:18px;display:none;flex-direction:column;min-width:220px;padding:10px;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-md);background:#262626fa;box-shadow:var(--shadow-card)}.mobile-nav.open{display:flex}main{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;padding-top:70px}.section-wrap{width:min(var(--max-content),88vw);margin:0 auto}.section-block{padding:72px 0 16px;scroll-margin-top:86px}.section-heading{width:100%;max-width:none;margin-bottom:28px}.section-heading.compact{margin-bottom:20px}.section-heading h2,.hero-copy h1{margin:0;font-family:var(--font-main);font-weight:650;letter-spacing:0;color:var(--color-text)}.section-heading h2{font-size:clamp(32px,5vw,48px);line-height:1.08}.section-heading p{color:var(--color-muted);font-size:17px;line-height:1.7}.eyebrow{display:flex;align-items:center;gap:16px;width:100%;margin:0 0 14px;padding:0;border:0;background:transparent;color:var(--color-accent-blue-dark);font-size:17px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.eyebrow span{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid rgba(37,99,235,.28);border-radius:999px;background:var(--color-accent-blue-soft);white-space:nowrap}.eyebrow:after{content:"";flex:1;height:1px;background:var(--color-border)}.hero-section{display:grid;grid-template-columns:minmax(0,.92fr) minmax(350px,.74fr);gap:clamp(44px,6vw,82px);align-items:stretch;min-height:640px;max-height:780px;padding:54px 0 58px}.hero-left{display:grid;grid-template-rows:auto minmax(260px,.72fr);gap:24px;align-content:center}.hero-copy h1{max-width:820px;font-size:clamp(44px,6.2vw,70px);line-height:.98}.hero-copy h1 span{color:var(--color-accent-blue)}.hero-lede{max-width:720px;margin:22px 0 10px;color:#413d43;font-family:var(--font-mono);font-size:clamp(20px,2.4vw,27px);line-height:1.42;display:flex;gap:13px}.stanford-lockup{display:inline-flex;align-items:center;gap:.36em;white-space:nowrap;vertical-align:baseline;line-height:inherit}.stanford-icon{display:inline-block;width:1.2em;height:1.2em;filter:grayscale(1) contrast(1.35);object-fit:contain;transform:translateY(.08em);margin-top:-4px}.hero-status{max-width:660px;margin:0;color:var(--color-muted);font-size:16px;line-height:1.6}.hero-actions,.link-row,.footer-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.hero-actions{margin-top:24px}.button,.link-row a,.research-card a,.footer-actions a,.copy-email{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid var(--color-border);border-radius:999px;background:#ffffffc7;color:var(--color-text);font-size:14px;font-weight:750;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.button:hover,.button:focus-visible,.link-row a:hover,.research-card a:hover,.footer-actions a:hover,.copy-email:hover{transform:translateY(-1px);border-color:#2563eb80;box-shadow:var(--shadow-soft);outline:none}.button.primary{border:0;background:var(--color-accent-blue);color:#fff}.button.secondary{background:#262626;color:#fff}.button.ghost{background:transparent}.ticker{display:flex;flex-wrap:wrap;column-gap:12px;row-gap:6px;align-items:center;margin-top:22px;color:var(--color-muted);font-size:14px;font-weight:700;line-height:1.25}.ticker>span{color:var(--color-text);line-height:1.25}.ticker-track{display:inline-grid;align-items:center;min-height:1.25em;overflow:hidden;line-height:1.25}.ticker-track span{grid-area:1 / 1;opacity:0;animation:rotateTicker 12s infinite;white-space:nowrap}.ticker-track span:nth-child(2){animation-delay:3s}.ticker-track span:nth-child(3){animation-delay:6s}.ticker-track span:nth-child(4){animation-delay:9s}@keyframes rotateTicker{0%{opacity:0}5%,19%{opacity:1}24%,to{opacity:0}}.tag-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hero-copy>.tag-row{margin-top:18px}.tag{border:1px solid rgba(38,38,38,.16);border-radius:999px;background:#ffffffb8;color:#403b43;cursor:pointer;font:inherit;font-size:12px;font-weight:750;line-height:1;padding:8px 10px;transition:border-color .16s ease,background .16s ease,transform .16s ease}.tag:hover,.tag:focus-visible{border-color:#2563eb80;background:#fff;transform:translateY(-1px);outline:none}.hero-media{position:relative;min-height:0;overflow:hidden;border-radius:var(--radius-lg)}.hero-media img{width:100%;aspect-ratio:4 / 5;height:min(48vh,440px);min-height:340px;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);object-fit:cover;object-position:50% 42%;transform:scale(1.08)}.hero-note{position:absolute;right:18px;bottom:18px;display:grid;gap:3px;max-width:280px;padding:14px;border:1px solid rgba(255,255,255,.62);border-radius:var(--radius-md);background:#ffffffe0;box-shadow:var(--shadow-soft);backdrop-filter:blur(12px)}.hero-note strong{font-size:13px}.hero-note span{color:var(--color-muted);font-size:13px;line-height:1.45}.hero-overview{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-soft)}.snapshot-grid,.research-grid,.skills-grid,.awards-grid{display:grid;gap:16px}.snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.snapshot-card,.research-card,.skill-group,.award-card,.project-card{border:1px solid rgba(255,255,255,.64);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-soft)}.snapshot-card{display:grid;gap:9px;min-height:148px;padding:15px;color:inherit;text-decoration:none;transition:transform .16s ease,border-color .16s ease,background .16s ease}.snapshot-card:hover,.snapshot-card:focus-visible{transform:translateY(-3px);border-color:#2563eb80;background:#fff;outline:none}.snapshot-card h3,.project-body h3,.research-card h3,.skill-group h3,.award-card h3{margin:0;font-family:var(--font-main);color:var(--color-text)}.snapshot-card p,.project-body p,.research-card p,.award-card p{margin:0;color:var(--color-muted);line-height:1.6}.snapshot-card h3{font-size:18px;line-height:1.15}.snapshot-card p{font-size:14px;line-height:1.48}.snapshot-card span{align-self:end;width:fit-content;padding-bottom:4px;border-bottom:3px solid var(--color-accent-red);font-size:13px;font-weight:800}.status-pill{display:inline-flex;align-items:center;justify-content:center;width:128px;height:42px;padding:0;border-radius:999px;background:var(--color-accent-blue-soft);color:var(--color-accent-blue-dark);font-size:12px;font-weight:850}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.filter-button{min-height:38px;padding:0 14px;border:1px solid var(--color-border);border-radius:999px;background:#ffffffb8;color:var(--color-text);cursor:pointer;font:inherit;font-size:14px;font-weight:780}.filter-button:hover,.filter-button:focus-visible,.filter-button.active{border-color:transparent;background:#262626;color:#fff;outline:none}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.project-card{display:grid;grid-template-rows:250px 1fr;overflow:hidden;transition:opacity .16s ease,transform .16s ease,border-color .16s ease}.project-card.spotlight{border-color:#2563ebbf;transform:translateY(-4px)}.project-card.dimmed{opacity:.42}.project-image-wrap{background:#fff}.project-image-wrap img{width:100%;height:100%;object-fit:cover}.project-body{display:grid;gap:14px;padding:18px}.project-topline{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;color:var(--color-muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.project-topline strong{color:var(--color-accent-blue-dark);text-transform:none;letter-spacing:0}.project-body h3{font-size:28px;line-height:1.05}.case-study{border-top:1px solid var(--color-border);padding-top:12px}.case-study summary{cursor:pointer;font-weight:850}.project-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.project-notes div{border:1px solid rgba(38,38,38,.12);border-radius:var(--radius-sm);background:#ffffffa8;padding:12px}.project-notes h4{margin:0 0 6px;font-size:13px}.project-notes p{font-size:14px;line-height:1.55}.feature-tabs,.architecture-flow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.feature-tabs span,.architecture-flow span{border:1px solid rgba(38,38,38,.12);border-radius:var(--radius-sm);background:#ffffffc2;padding:8px 10px;color:#413d43;font-size:13px;font-weight:720}.architecture-flow span{position:relative;background:#262626;color:#fff}.architecture-flow span:not(:last-child):after{content:">";margin-left:10px;color:var(--color-accent-red)}.detail-list{margin:14px 0 0;padding-left:18px;color:var(--color-muted);line-height:1.6}.research-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.research-card,.skill-group{display:grid;gap:14px;padding:18px}.research-card{align-content:start;justify-items:start;padding-top:24px}.research-card h3{font-size:24px;line-height:1.14}.research-location{color:var(--color-accent-blue-dark)!important;font-size:13px;font-weight:800;line-height:1.35!important}.research-card a{width:fit-content}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skill-group h3{font-size:20px}.awards-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.award-card{display:grid;gap:8px;align-content:start;padding:18px}.award-card h3{font-size:17px;line-height:1.2}.award-card p{color:var(--color-accent-blue-dark);font-size:13px;font-weight:800;line-height:1.35}.site-footer{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;margin-top:72px;padding:30px clamp(18px,4vw,48px);background:#262626;color:#fff}.site-footer p{margin:6px 0 0;color:#ffffffb8}.footer-actions a,.copy-email{border-color:#ffffff2e;background:#ffffff14;color:#fff}.copy-email{cursor:pointer;font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}@media(max-width:1100px){.desktop-nav{display:none}.menu-toggle{display:inline-grid;place-items:center}.hero-section{grid-template-columns:1fr;min-height:auto;max-height:none;height:auto;padding-top:34px;padding-bottom:42px}.hero-left{grid-template-columns:minmax(0,1fr) minmax(240px,.48fr);grid-template-rows:auto;align-items:center}.hero-media{min-height:0}.hero-media img{height:auto;min-height:0}.snapshot-grid,.skills-grid,.awards-grid,.research-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.section-wrap{width:min(92vw,var(--max-content))}.site-header{padding:0 18px}.brand{font-size:18px}.hero-section{padding-top:28px;padding-bottom:36px}.hero-left{grid-template-columns:1fr}.hero-media{order:-1;min-height:0}.hero-media img{height:auto;min-height:0;aspect-ratio:16 / 9;object-position:50% 42%}.hero-overview{padding:22px}.project-grid,.snapshot-grid,.research-grid,.skills-grid,.awards-grid{grid-template-columns:1fr}.project-card{grid-template-rows:190px 1fr}.project-notes{grid-template-columns:1fr}.site-footer{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.hero-actions,.footer-actions,.filter-bar{align-items:stretch;flex-direction:column}.button,.filter-button,.footer-actions a,.copy-email{width:100%}.hero-note{left:12px;right:12px}}
