:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;--bg-primary:#17181c;--bg-secondary:#1e2026;--bg-tertiary:#2a2d37;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--border-color:#2d3139;--accent-blue:#60a5fa;--accent-blue-hover:#93c5fd;background:var(--bg-primary);color:var(--text-secondary)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{min-height:100vh;font-size:1.1rem}img{max-width:100%;display:block}a,button{font:inherit}a{color:var(--accent-blue);text-decoration:none}a:focus-visible,a:hover{color:var(--accent-blue-hover);text-decoration:underline}.social-icon:focus-visible,.social-icon:hover,a:focus-visible .social-icon,a:hover .social-icon{color:var(--accent-blue-hover)}h1,h2,h3,h4,h5,h6{color:var(--text-primary)}.site-footer,.site-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20}.container{width:min(1120px,calc(100% - 2rem));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}.brand{font-weight:700;font-size:1.05rem;text-decoration:none;color:inherit}.menu-toggle{display:none;border:none;background:transparent;color:inherit;cursor:pointer;padding:.5rem;margin-left:auto}.menu-toggle svg{width:1.35rem;height:1.35rem}.site-nav{display:flex;flex-wrap:wrap;gap:1rem}.site-nav a{text-decoration:none;color:inherit}.page-shell{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 4rem}.hero{display:grid;grid-gap:2rem;gap:2rem;background:url(/stacked-peaks.svg) no-repeat 50%/cover;padding:3rem 2rem 5rem;border-radius:0;grid-template-columns:1fr 1.4fr;align-items:center;margin:0 calc(-50vw + 50%);width:100vw;color:#ffffff;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.3);pointer-events:none;z-index:1}.hero>*{position:relative;z-index:2}.hero-copy{max-width:620px}.eyebrow{margin:0 0 .75rem;color:#60a5fa;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.hero h1{margin:0;font-size:clamp(2rem,4vw,2rem);line-height:1;color:#ffffff}.hero-description{margin:1.5rem 0;max-width:42rem;color:#e2e8f0}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.hero-details{display:grid;grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem}.hero-detail{padding:0}.hero-detail h3{margin:0 0 .85rem;color:#ffffff;font-size:1.05rem}.hero-detail ul{margin:0;padding:0;list-style:none;display:grid;grid-gap:.65rem;gap:.65rem}.hero-detail li{margin:0;color:#e2e8f0}.education-entry{margin-bottom:1rem}.education-degree{margin:0;color:#ffffff;font-weight:700}.education-dates,.education-institution{margin:0;color:#e2e8f0}@media (max-width:760px){.hero-details{grid-template-columns:1fr}}.button,.button-secondary,.card-action,.meta-link,.panel-link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;padding:.85rem 1.35rem;font-weight:600;text-decoration:none;transition:transform .15s ease,background-color .15s ease,color .15s ease}.button{background:#2563eb;color:#ffffff}.button:hover{background:#3b82f6;color:#ffffff;text-decoration:none}.button-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.button-secondary:hover{background:var(--bg-tertiary);color:var(--accent-blue-hover);text-decoration:none}.card-action:hover,.meta-link:hover,.panel-link:hover{transform:translateY(-1px);color:var(--accent-blue-hover);text-decoration:underline}.hero-image{display:grid;place-items:center;grid-gap:1rem;gap:1rem;padding:1rem 0 0}.hero-image img{width:min(320px,100%);aspect-ratio:1/1;border-radius:50%;object-fit:cover;box-shadow:0 10px 30px rgba(0,0,0,.3)}.hero-name{font-size:1.85rem;font-weight:700;line-height:1.2;color:#ffffff}.hero-name,.hero-role{margin:0;text-align:center}.hero-role{font-weight:500;font-size:1.05rem;color:var(--text-secondary)}.hero-org{margin:0}.social-links{display:flex;gap:.75rem}.social-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;font-size:1.25rem;background:rgba(255,255,255,.15);border-radius:50%;transition:all .15s ease;color:#ffffff;text-decoration:none}.social-icon:hover{background:rgba(255,255,255,.25);transform:translateY(-2px)}.section-heading{margin:2rem 0 1rem}.section-heading h2{margin:0;font-size:clamp(1.85rem,2.5vw,2.5rem)}.section-heading p{margin:.85rem 0 0;color:var(--text-muted)}.grid-card-list{display:grid;grid-gap:1.25rem;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.single-column-list{display:flex;flex-direction:column;gap:1.5rem}.pub-list-item{display:flex;flex-direction:column;gap:.25rem}.pub-title{font-size:1.2rem;font-weight:600}.pub-authors{margin:0;font-size:1.05rem;color:var(--text-secondary)}.pub-venue{margin:0;font-size:1rem;color:var(--text-muted);font-style:italic}.pub-meta-links{display:flex;gap:.75rem;margin-top:.25rem}.pub-meta-link{font-size:.85rem;font-weight:600;text-transform:uppercase;color:var(--accent-blue);letter-spacing:.05em;border:1px solid var(--border-color);padding:.2rem .5rem;border-radius:4px;text-decoration:none;transition:all .15s ease}.pub-meta-link:hover{border-color:var(--accent-blue);background-color:var(--bg-tertiary);text-decoration:none}.card,.empty-state,.panel-block,.panel-link,.project-detail,.publication-detail{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1.25rem;padding:1.5rem}.card-link{display:flex;flex-direction:column;justify-content:space-between;min-height:220px}.card h3,.card-link h3{margin:0 0 .75rem}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.tag{background:var(--bg-tertiary);color:var(--text-secondary);padding:.4rem .75rem;border-radius:999px;font-size:.95rem}.card-action{align-self:flex-start;margin-top:1.5rem;color:var(--accent-blue)}.split-grid{display:grid;grid-gap:1.25rem;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.panel-link{min-height:170px;flex-direction:column;justify-content:space-between}.panel-link h3{margin:0 0 .75rem}.panel-link p{margin:0;color:var(--text-muted)}.page-actions{margin-top:2rem}.project-meta .tag-list,.publication-detail .meta-line,.timeline-item{margin-top:.85rem}.publication-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.25rem}.meta-link{color:var(--accent-blue)}.project-detail{display:grid;grid-gap:2rem;gap:2rem}.project-image{width:100%;border-radius:1rem;max-height:420px;object-fit:cover}.timeline-list{display:grid;grid-gap:1rem;gap:1rem}.timeline-item{display:grid;grid-gap:.25rem;gap:.25rem}.timeline-item strong{display:block}.panel-block+.panel-block{margin-top:1.5rem}.empty-state{padding:2rem}.empty-state,.site-footer{text-align:center;color:var(--text-muted)}.site-footer{padding:1.5rem 0}@media (max-width:900px){.hero{grid-template-columns:1fr}}@media (max-width:640px){.container,.page-shell{width:calc(100% - 1.5rem)}.hero{padding:1.5rem}.site-nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:.5rem;margin-top:.75rem}.site-nav.open{display:flex}.site-nav a{display:block;width:100%;padding:.75rem 1rem;border-radius:.75rem;background:var(--bg-secondary)}.menu-toggle{display:inline-flex}}.project-card{padding:1.5rem}.project-card-content{display:flex;gap:1.5rem;align-items:flex-start;justify-content:space-between}.project-card-left{flex:1 1}.project-card-right{flex-shrink:0;width:400px}.project-card-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:.5rem;border:1px solid var(--border-color);transition:transform .15s ease;display:block}.project-card-image:hover{transform:scale(1.05)}.project-title-link{color:var(--text-primary);text-decoration:none;font-weight:700}.project-title-link:hover{color:var(--accent-blue-hover);text-decoration:underline}.project-card-description{margin:.5rem 0 .75rem;font-size:1.05rem;color:var(--text-secondary)}@media (max-width:700px){.project-card-content{flex-direction:column-reverse;gap:1rem}.project-card-right{width:100%;max-width:70vh;align-self:flex-start}}