@font-face{font-family:Favorit;src:url(../fonts/Favorit-Regular.woff2) format("woff2"),url(../fonts/Favorit-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Favorit;src:url(../fonts/Favorit-Medium.woff2) format("woff2"),url(../fonts/Favorit-Medium.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Suisse Intl;src:url(../fonts/SuisseIntl-Regular.woff2) format("woff2"),url(../fonts/SuisseIntl-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Suisse Intl;src:url(../fonts/SuisseIntl-Medium.woff2) format("woff2"),url(../fonts/SuisseIntl-Medium.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-width: 420px;--bg-sidebar: #F5F2EE;--bg-main: #1E1E1E;--accent: #E8922E;--font-heading: "Favorit", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-body: "Suisse Intl", "Helvetica Neue", Helvetica, Arial, sans-serif}html,body{height:100%;overflow:hidden}body{display:flex;font-family:var(--font-body);-webkit-font-smoothing:antialiased;background:#f5f2ee}.sidebar{position:fixed;top:16px;left:16px;width:var(--sidebar-width);height:calc(100vh - 32px);background:#fff;border-radius:12px;box-shadow:4px 0 20px #0000001a;z-index:10;display:flex;flex-direction:column;justify-content:space-between;padding:52px 44px 28px}.sidebar__top{display:flex;flex-direction:column;gap:12px}.sidebar__identity{display:flex;align-items:center;gap:12px;margin-bottom:12px}.sidebar__photo{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0}.sidebar__role{font-size:13px;font-weight:400;color:#999;margin-top:0;line-height:1.2}.sidebar__name{font-family:var(--font-heading);font-size:22px;font-weight:500;color:#1a1a1a;letter-spacing:-.3px;line-height:1.1}.sidebar__title{font-size:16px;font-weight:400;color:#888;line-height:1.3}.sidebar__title strong{font-weight:600;color:#555}.sidebar__bio{margin-top:8px;font-size:15px;font-weight:400;line-height:1.4;color:#666}.sidebar__bio strong{display:block;font-size:24px;line-height:1.2;color:#1a1a1a}.sidebar__bio+.sidebar__bio{padding-right:48px}.sidebar__menu-toggle{display:none}.sidebar__nav{display:flex;flex-direction:row;justify-content:center;gap:36px}.nav-link{font-size:18px;font-weight:500;color:#999;text-decoration:none;transition:color .15s ease;white-space:nowrap}.nav-link:hover{color:#1a1a1a}.nav-link--active{color:var(--accent)}.about{margin-left:calc(var(--sidebar-width) + 16px);width:calc(100% - var(--sidebar-width) - 16px);min-height:100vh;background:#f5f2ee;padding:48px;scrollbar-width:none}.about::-webkit-scrollbar{display:none}.about-section{margin-bottom:56px}.about-heading{font-family:var(--font-heading);font-size:32px;font-weight:500;color:#1a1a1a;letter-spacing:-.5px;margin-bottom:32px}.about-subheading{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:#999;margin-bottom:14px}.about-block{margin-bottom:40px}.about-block:last-child{margin-bottom:0}.about-body{font-size:15px;font-weight:400;line-height:1.75;color:#444}.experience-list{list-style:none}.experience-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #E0DDD8;font-size:14px}.experience-item:first-child{border-top:1px solid #E0DDD8}.experience-logo{width:20px;height:20px;object-fit:contain;flex-shrink:0}.experience-company{font-weight:500;color:#1a1a1a;flex:1}.experience-role{font-weight:400;color:#777}.experience-years{font-weight:400;color:#999;margin-left:24px;white-space:nowrap}.about-two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px}.toolkit-grid{display:flex;flex-wrap:wrap;gap:8px}.toolkit-pill{font-size:12px;font-weight:500;color:#555;background:#eae7e2;border:1px solid #D8D4CE;padding:5px 12px;border-radius:20px}.projects{margin-left:calc(var(--sidebar-width) + 16px);width:calc(100% - var(--sidebar-width) - 16px);height:100vh;overflow-y:auto;background:#f5f2ee;display:flex;flex-direction:column;gap:12px;padding:16px;scrollbar-width:none}@media(min-width:1441px){.projects{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.projects .project-card{height:auto}}.projects::-webkit-scrollbar{display:none}.project-card{flex-shrink:0;height:520px;display:flex;flex-direction:column;justify-content:space-between;padding:24px 28px;background:#272727;border-radius:12px;box-shadow:0 4px 20px #0000001a;cursor:pointer;transition:background .2s ease}.project-card:hover{background:#2d2d2d}.project-card--linked{text-decoration:none;color:inherit;position:relative;background:linear-gradient(to bottom,transparent 40%,rgba(0,0,0,.35) 100%),#2a2a2a}.project-card--linked:before{content:"";position:absolute;inset:0;background-image:url(/_astro/homepage-illustration.uITtpZKQ.png);background-size:cover;background-position:center;opacity:.35;border-radius:12px;transition:opacity .4s ease}.project-card--linked:hover:before{opacity:0}.project-card--linked:after{content:"";position:absolute;inset:0;background-image:url(/_astro/outcome-hero-dimmed.ByKNYTpa.png);background-size:cover;background-position:top center;opacity:0;border-radius:12px;transition:opacity .4s ease}.project-card--linked:hover{background:linear-gradient(to bottom,transparent 40%,rgba(0,0,0,.35) 100%),#2d2d2d;filter:brightness(1.15)}.project-card--linked:hover:after{opacity:.2}.project-card__bottom{position:absolute;bottom:24px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;z-index:3}.project-card__logo{height:24px;width:auto;flex-shrink:0}.project-card__top{display:flex;justify-content:space-between;align-items:flex-start}.project-card__category{font-size:13px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:#f5f2ee}.project-card__meta{font-size:13px;font-weight:400;color:#f5f2ee;letter-spacing:.2px}.project-card--ai .project-card__category,.project-card--ai .project-card__meta{color:#f5f2ee}.project-card__title{font-family:var(--font-body);font-size:28px;font-weight:500;color:#f5f2ee;letter-spacing:-.3px}.projects__divider{height:1px;background:#2e2e2e;flex-shrink:0}.mobile-br{display:none}@media(max-width:768px){html,body{height:auto;overflow:auto}body{flex-direction:column}.sidebar{position:relative;top:auto;left:auto;width:calc(100% - 32px);height:auto;margin:16px 16px 0;padding:28px 28px 20px;border-radius:12px;flex-shrink:0}.sidebar__bio+.sidebar__bio{padding-right:0}.sidebar__menu-toggle{display:flex;position:absolute;top:28px;right:28px;background:none;border:none;cursor:pointer;padding:4px;color:#1a1a1a}.sidebar__nav{display:none;order:-1;margin-bottom:20px;justify-content:flex-start;gap:32px}.sidebar.is-open .sidebar__nav{display:flex}.sidebar__top{order:0}.mobile-br{display:block}.projects{margin-left:0;width:100%;height:auto;overflow-y:visible;padding:12px 16px 24px}.project-card{height:360px}.project-card--placeholder{display:none}.project-card__bottom{position:static;margin-top:auto;padding:0}.project-card__title{left:28px!important;right:auto!important;text-align:left;max-width:60%}.project-card__logo{position:absolute;bottom:24px;right:24px}.about{margin-left:0;width:100%;min-height:auto;overflow-y:visible;padding:32px 24px 48px}.about-two-col{grid-template-columns:1fr;gap:32px}.contact{margin:0 16px 16px;height:auto;min-height:calc(100vh - 120px)}}html:has(body.lab-page),body.lab-page{height:auto;overflow:visible}.topbar{position:fixed;top:0;left:0;right:0;z-index:10;height:56px;background:#1e1e1e;display:flex;align-items:center;padding:0 48px;flex-shrink:0}.back-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:13px;font-weight:500;color:#888;text-decoration:none;transition:color .15s ease}.back-link:hover{color:#f5f2ee}.lab-page{min-height:100vh;background:#f5f2ee;display:flex;flex-direction:column;padding-top:56px}.project-page{max-width:990px;margin:0 auto;padding:64px 48px 96px;width:100%}.project-page__status{margin-bottom:16px}.project-page__title{font-family:var(--font-heading);font-size:48px;font-weight:500;color:#1a1a1a;letter-spacing:-1.5px;line-height:1.05;margin-bottom:20px}.project-page__description{font-size:18px;font-weight:400;color:#555;line-height:1.65;max-width:640px;margin-bottom:48px}.project-page__divider{height:1px;background:#e0ddd8;margin:48px 0}.project-page__section-label{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:#999;margin-top:48px;margin-bottom:20px}.project-page__meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px;margin-bottom:48px}.project-page__meta-item{display:flex;flex-direction:column;gap:6px}.project-page__meta-label{font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#999}.project-page__meta-value{font-size:15px;font-weight:400;color:#1a1a1a}.post-list{list-style:none;display:flex;flex-direction:column}.post-list__item{display:flex;flex-direction:column;gap:6px;padding:20px 0;border-bottom:1px solid #E0DDD8;text-decoration:none;color:inherit;transition:opacity .15s ease}.post-list__item:first-child{border-top:1px solid #E0DDD8}.post-list__item:hover{opacity:.7}.post-list__date{font-size:12px;font-weight:400;color:#999;letter-spacing:.02em}.post-list__title{font-size:17px;font-weight:500;color:#1a1a1a}.post-list__excerpt{font-size:14px;color:#777;line-height:1.55}.future-plans{list-style:none;display:flex;flex-direction:column;gap:10px}.future-plans__item{font-size:15px;color:#555;line-height:1.6;padding-left:16px;position:relative}.future-plans__item:before{content:"—";position:absolute;left:0;color:#ccc}.post-page{max-width:847px;margin:0 auto;padding:64px 48px 96px;width:100%}.post-page__date{font-size:13px;font-weight:400;color:#999;margin-bottom:12px}.post-page__title{font-family:var(--font-heading);font-size:40px;font-weight:500;color:#1a1a1a;letter-spacing:-1px;line-height:1.1;margin-bottom:24px}.post-page__excerpt{font-size:18px;color:#666;line-height:1.6;border-left:3px solid #E0DDD8;padding-left:20px;margin-bottom:48px}.prose{font-size:16px;font-weight:400;line-height:1.8;color:#333}.prose h2{font-family:var(--font-heading);font-size:26px;font-weight:500;color:#1a1a1a;letter-spacing:-.5px;margin:48px 0 16px}.prose h3{font-family:var(--font-heading);font-size:20px;font-weight:500;color:#1a1a1a;margin:32px 0 12px}.prose p{margin-bottom:20px}.prose ul,.prose ol{margin:0 0 20px 24px}.prose li{margin-bottom:6px}.prose code{font-size:13px;background:#eae7e2;padding:2px 6px;border-radius:4px;color:#333}.prose pre{background:#1e1e1e;border-radius:8px;padding:24px;overflow-x:auto;margin:24px 0}.prose pre code{background:none;padding:0;font-size:13px;color:#f5f2ee}.prose a{color:#1a1a1a;text-decoration:underline;text-decoration-color:#c8c3bc;text-underline-offset:3px;transition:text-decoration-color .15s ease}.prose a:hover{text-decoration-color:#1a1a1a}.prose img{max-width:100%;border-radius:8px;margin:24px 0}.prose blockquote{border-left:3px solid #E0DDD8;padding-left:20px;color:#666;margin:24px 0}@media(max-width:768px){.topbar{padding:0 20px}.project-page,.post-page{padding:40px 24px 64px}.project-page__title{font-size:32px;letter-spacing:-.8px}.post-page__title{font-size:28px}.project-page__meta-grid{grid-template-columns:1fr 1fr}}.tech-stack[data-astro-cid-x66x6jqq]{display:flex;flex-wrap:wrap;gap:6px}.tech-stack__pill[data-astro-cid-x66x6jqq]{font-size:12px;font-weight:500;color:#555;background:#eae7e2;border:1px solid #D8D4CE;padding:4px 12px;border-radius:100px;white-space:nowrap}.status-badge[data-astro-cid-dzypo5kf]{font-size:11px;font-weight:500;padding:3px 10px;border-radius:100px;letter-spacing:.04em;white-space:nowrap;display:inline-block}.status-badge--active[data-astro-cid-dzypo5kf]{color:#5a9e6a;background:#5a9e6a1a}.status-badge--paused[data-astro-cid-dzypo5kf]{color:#b08030;background:#b080301a}.status-badge--archived[data-astro-cid-dzypo5kf]{color:#888;background:#8888881a}.arch-diagram[data-astro-cid-lq5owk5j]{margin:40px 0}.arch-diagram__frame[data-astro-cid-lq5owk5j]{background:#fff;border:1px solid #E0DDD8;border-radius:12px;padding:32px;display:flex;align-items:center;justify-content:center}.arch-diagram__img[data-astro-cid-lq5owk5j]{max-width:100%;height:auto;display:block}.arch-diagram__caption[data-astro-cid-lq5owk5j]{font-size:13px;color:#999;text-align:center;margin-top:12px}
