.project[data-astro-cid-y2vllrex]{flex-direction:column;gap:clamp(32px,4.86vw,70px);min-width:0;display:flex}.media[data-astro-cid-y2vllrex]{aspect-ratio:576/364;text-decoration:none;display:block;overflow:hidden}.media[data-astro-cid-y2vllrex]>img[data-astro-cid-y2vllrex]{object-fit:cover;object-position:top center;border-radius:8px;width:100%;height:100%;transition:transform .3s}.media[data-astro-cid-y2vllrex]:hover>img[data-astro-cid-y2vllrex],.media[data-astro-cid-y2vllrex]:hover .logo[data-astro-cid-y2vllrex]{transform:scale(1.02)}.cover[data-astro-cid-y2vllrex]{background:radial-gradient(120% 90% at 15% 10%, var(--from), transparent 60%), radial-gradient(110% 100% at 90% 95%, var(--to), transparent 65%), linear-gradient(135deg, var(--from), var(--to));color:#000000d1;border-radius:8px;place-content:center;justify-items:center;gap:4px;height:100%;display:grid}.cover[data-astro-cid-y2vllrex] span[data-astro-cid-y2vllrex]{letter-spacing:-.05em;font-size:clamp(36px,4.4vw,64px);font-weight:600}.cover[data-astro-cid-y2vllrex] .logo[data-astro-cid-y2vllrex]{width:clamp(96px,11vw,160px);height:auto;transition:transform .3s}.info[data-astro-cid-y2vllrex]{flex-direction:column;align-items:flex-start;gap:25px;display:flex}h3[data-astro-cid-y2vllrex]{font-size:var(--fs-h3);font-weight:500;line-height:1.2}h3[data-astro-cid-y2vllrex] a[data-astro-cid-y2vllrex]{text-decoration:none}h3[data-astro-cid-y2vllrex] a[data-astro-cid-y2vllrex]:hover{text-underline-offset:4px;text-decoration:underline 2px}.actions[data-astro-cid-y2vllrex]{flex-wrap:wrap;gap:12px;display:flex}.info[data-astro-cid-y2vllrex]>.muted[data-astro-cid-y2vllrex]{font-size:var(--fs-lg)}.info[data-astro-cid-y2vllrex]>.tag-list{margin-top:-8px}.groups[data-astro-cid-2zwc476k]{gap:40px;display:grid}.group[data-astro-cid-2zwc476k]{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:16px 32px;display:grid}h3[data-astro-cid-2zwc476k]{font-family:var(--font-mono);letter-spacing:0;color:var(--fg-60);padding-top:12px;font-size:15px;font-weight:500}h3[data-astro-cid-2zwc476k]:before{content:"// ";color:var(--fg-40)}ul[data-astro-cid-2zwc476k]{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:12px;padding:0;list-style:none;display:grid}li[data-astro-cid-2zwc476k]{--chip:var(--chip-light,var(--fg));border:2px solid var(--line);border-radius:var(--radius-md);background:var(--hairline);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:112px;padding:18px 10px 14px;transition:border-color .15s,background-color .15s,transform .15s;display:flex}[data-theme=dark] li[data-astro-cid-2zwc476k]{--chip:var(--chip-dark,var(--fg))}li[data-astro-cid-2zwc476k]:hover{border-color:color-mix(in srgb, var(--chip) 55%, transparent);background:color-mix(in srgb, var(--chip) 8%, transparent);transform:translateY(-2px)}li[data-astro-cid-2zwc476k] span[data-astro-cid-2zwc476k]{letter-spacing:-.01em;color:var(--fg-90);font-size:15px;line-height:1.2}@media (width<=860px){.group[data-astro-cid-2zwc476k]{grid-template-columns:1fr}h3[data-astro-cid-2zwc476k]{padding-top:0}}@media (width<=480px){ul[data-astro-cid-2zwc476k]{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}li[data-astro-cid-2zwc476k]{gap:10px;min-height:96px;padding:14px 6px 10px}li[data-astro-cid-2zwc476k] span[data-astro-cid-2zwc476k]{font-size:13px}}.code-card[data-astro-cid-4q7fvy2w]{border:2px solid var(--line);border-radius:var(--radius-lg);background:var(--bg);overflow:hidden;box-shadow:0 24px 60px -32px #00000059}figcaption[data-astro-cid-4q7fvy2w]{border-bottom:2px solid var(--line);background:var(--hairline);align-items:center;gap:16px;padding:14px 18px;display:flex}.dots[data-astro-cid-4q7fvy2w]{gap:7px;display:flex}.dots[data-astro-cid-4q7fvy2w] i[data-astro-cid-4q7fvy2w]{background:#ff5f57;border-radius:50%;width:11px;height:11px}.dots[data-astro-cid-4q7fvy2w] i[data-astro-cid-4q7fvy2w]:nth-child(2){background:#febc2e}.dots[data-astro-cid-4q7fvy2w] i[data-astro-cid-4q7fvy2w]:nth-child(3){background:#28c840}.name[data-astro-cid-4q7fvy2w]{font-family:var(--font-mono);letter-spacing:0;color:var(--fg-60);font-size:13px}.code-card[data-astro-cid-4q7fvy2w] pre{font-family:var(--font-mono);letter-spacing:0;margin:0;padding:20px 22px 22px;font-size:14.5px;line-height:1.7;overflow-x:auto}.code-card[data-astro-cid-4q7fvy2w] pre,.code-card[data-astro-cid-4q7fvy2w] pre span{background-color:#0000!important}@media (width<=480px){.code-card[data-astro-cid-4q7fvy2w] pre{padding:14px;font-size:11px}}.hero[data-astro-cid-lcdefpme]{padding-block:var(--section-y);grid-template-columns:minmax(0,1fr) minmax(0,500px);align-items:center;gap:48px;display:grid}.hero-text[data-astro-cid-lcdefpme]{flex-direction:column;gap:32px;display:flex}.greeting[data-astro-cid-lcdefpme]{flex-direction:column;gap:16px;display:flex}.hey[data-astro-cid-lcdefpme]{font-size:var(--fs-greet);color:var(--fg-70);font-weight:500}h1[data-astro-cid-lcdefpme]{font-size:var(--fs-hero);font-weight:600;line-height:1.2}.lead[data-astro-cid-lcdefpme]{font-size:var(--fs-lg);opacity:.6;max-width:52ch}.hero-actions[data-astro-cid-lcdefpme]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.cta[data-astro-cid-lcdefpme]{align-items:center;gap:16px;display:flex}.socials[data-astro-cid-lcdefpme]{gap:16px;padding:0;list-style:none;display:flex}.socials[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]{opacity:.85;transition:opacity .15s;display:block}.socials[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]:hover{opacity:1}.projects[data-astro-cid-lcdefpme]{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(64px,6vw,96px) 48px;display:grid}.about[data-astro-cid-lcdefpme]{grid-template-columns:minmax(0,1fr) minmax(0,470px);align-items:center;gap:48px;display:grid}.about-text[data-astro-cid-lcdefpme] .section-title[data-astro-cid-lcdefpme]{margin-bottom:30px}.about-text[data-astro-cid-lcdefpme]>p[data-astro-cid-lcdefpme]{font-size:var(--fs-about);line-height:1.25}.about-text[data-astro-cid-lcdefpme]>p[data-astro-cid-lcdefpme]+p[data-astro-cid-lcdefpme]{margin-top:1.15em}.portrait[data-astro-cid-lcdefpme]{aspect-ratio:470/472;overflow:hidden}.portrait[data-astro-cid-lcdefpme] img[data-astro-cid-lcdefpme]{object-fit:cover;width:100%;height:100%}.initials[data-astro-cid-lcdefpme]{background:linear-gradient(160deg, var(--hairline), var(--line));letter-spacing:-.06em;height:100%;color:var(--fg-40);border-radius:8px;place-items:center;font-size:clamp(96px,10vw,160px);font-weight:600;display:grid}.jobs[data-astro-cid-lcdefpme]{gap:32px;display:grid}.job[data-astro-cid-lcdefpme]{padding:32px}.job[data-astro-cid-lcdefpme] header[data-astro-cid-lcdefpme]{justify-content:space-between;align-items:flex-start;gap:16px 32px;margin-bottom:28px;display:flex}.job[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme]{font-size:var(--fs-lg);font-weight:500}.company[data-astro-cid-lcdefpme]{color:var(--fg-90);margin-top:6px;font-size:18px}.when[data-astro-cid-lcdefpme]{font-size:var(--fs-sm);color:var(--fg-90);text-align:right;white-space:nowrap;flex-direction:column;gap:4px;display:flex}.when[data-astro-cid-lcdefpme] span[data-astro-cid-lcdefpme]{color:var(--fg-60)}.job[data-astro-cid-lcdefpme] ul[data-astro-cid-lcdefpme]{font-size:var(--fs-md);color:var(--fg-70);gap:12px;padding-left:1.1em;line-height:1.4;display:grid}.section-head[data-astro-cid-lcdefpme]{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.empty[data-astro-cid-lcdefpme]{padding:32px}.contact-head[data-astro-cid-lcdefpme] .section-title[data-astro-cid-lcdefpme]{margin-bottom:22px}.contact-head[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme]{font-size:var(--fs-lg)}.contact-head[data-astro-cid-lcdefpme] a[data-astro-cid-lcdefpme]{text-underline-offset:3px}.contact-form[data-astro-cid-lcdefpme]{gap:22px;margin-top:48px;display:grid}.contact-form[data-astro-cid-lcdefpme] input[data-astro-cid-lcdefpme],.contact-form[data-astro-cid-lcdefpme] textarea[data-astro-cid-lcdefpme]{width:100%;font:inherit;font-size:var(--fs-lg);letter-spacing:var(--track);color:var(--fg);border:2px solid var(--line);border-radius:var(--radius-lg);background:0 0;padding:21px 32px;transition:border-color .15s}.contact-form[data-astro-cid-lcdefpme] textarea[data-astro-cid-lcdefpme]{resize:vertical;min-height:248px}.contact-form[data-astro-cid-lcdefpme] [data-astro-cid-lcdefpme]::placeholder{color:var(--fg-40);opacity:1}.contact-form[data-astro-cid-lcdefpme] input[data-astro-cid-lcdefpme]:focus,.contact-form[data-astro-cid-lcdefpme] textarea[data-astro-cid-lcdefpme]:focus{border-color:var(--fg-40);outline:none}.contact-form[data-astro-cid-lcdefpme] button[data-astro-cid-lcdefpme]{width:100%}.form-note[data-astro-cid-lcdefpme]{font-size:var(--fs-sm);color:var(--fg-60);text-align:center;min-height:1em}@media (width<=1080px){.hero[data-astro-cid-lcdefpme]{grid-template-columns:minmax(0,560px)}}.degrees[data-astro-cid-lcdefpme]{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;display:grid}.degree[data-astro-cid-lcdefpme]{flex-direction:column;align-items:flex-start;padding:28px 32px;display:flex}.degree[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme]{font-size:var(--fs-lg);font-weight:500;line-height:1.25}.degree-meta[data-astro-cid-lcdefpme]{font-size:var(--fs-sm);color:var(--fg-60);flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:18px;display:flex}.grade[data-astro-cid-lcdefpme]{background:var(--line);color:var(--fg-90);border-radius:999px;padding:4px 12px;font-weight:500}.thesis[data-astro-cid-lcdefpme]{font-size:var(--fs-sm);color:var(--fg-70);text-underline-offset:3px;align-items:center;gap:6px;margin-top:18px;display:inline-flex}.thesis[data-astro-cid-lcdefpme]:hover{color:var(--fg)}@media (width<=860px){.projects[data-astro-cid-lcdefpme],.about[data-astro-cid-lcdefpme]{grid-template-columns:1fr}.portrait[data-astro-cid-lcdefpme]{max-width:470px}.degrees[data-astro-cid-lcdefpme]{grid-template-columns:1fr;gap:20px}.job[data-astro-cid-lcdefpme],.degree[data-astro-cid-lcdefpme]{padding:20px}.job[data-astro-cid-lcdefpme] ul[data-astro-cid-lcdefpme]{gap:10px;font-size:17px}.job[data-astro-cid-lcdefpme] header[data-astro-cid-lcdefpme]{flex-direction:column}.when[data-astro-cid-lcdefpme]{text-align:left}}@media (width<=480px){.cta[data-astro-cid-lcdefpme] .btn-lg[data-astro-cid-lcdefpme]{padding:18px 28px}.contact-form[data-astro-cid-lcdefpme] input[data-astro-cid-lcdefpme],.contact-form[data-astro-cid-lcdefpme] textarea[data-astro-cid-lcdefpme]{padding:18px 24px}}
