@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600&display=swap";:root{color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:IBM Plex Sans,ui-sans-serif,system-ui,sans-serif;background:#0e0e0e;color:#e7e7e7}html{scroll-behavior:smooth}a{color:inherit}.page{max-width:880px;margin:0 auto;padding:40px 20px 96px;display:flex;flex-direction:column;gap:48px}.hero{display:flex;flex-direction:column;gap:14px}.hero-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.title{font-size:clamp(1.35rem,3.6vw,2rem);font-weight:600;margin:0}.subhead{margin:0;color:#b0b0b0;max-width:560px;line-height:1.6}.hero-links{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:8px;color:#9f9f9f;align-items:center}.resume-link{display:inline-flex;align-items:center;width:fit-content;color:#3cff86;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;font-size:.98rem;font-weight:600}.resume-link--disabled{color:#7f7f7f;cursor:not-allowed}.hero-separator{display:inline-block;width:1px;height:18px;background:#fff3}.text-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;color:#d5d5d5}.section{display:flex;flex-direction:column;gap:24px}.section-head{display:flex;flex-direction:column;gap:6px}.section-title{margin:0;font-size:1.4rem;font-weight:500;color:#f1f1f1}.section-subtitle{margin:0;color:#a1a1a1;font-size:.9rem}.project-list{list-style:none;padding:0;margin:0;display:grid;gap:16px}.project-divider{margin:10px 0 4px}.project-divider-title{margin:0;font-size:1rem;font-weight:500;color:#f2f2f2}.project-item{border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.project-list .project-item:first-child{border-top:none;padding-top:0}.project-row{display:flex;align-items:flex-start;justify-content:flex-start;gap:16px}.project-main{display:flex;flex-direction:column;gap:6px;width:100%}.project-title-link{color:inherit;text-decoration:none;display:inline-flex;width:fit-content}.project-title-link:hover .project-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.project-title-row{display:inline-flex;align-items:baseline;gap:10px;flex-wrap:wrap}.project-private{color:#8b8b8b;font-size:.8rem}.project-title{margin:0;font-size:.98rem;font-weight:600;text-transform:lowercase}.project-description{margin:0;color:#b0b0b0;line-height:1.5;max-width:560px;font-size:.9rem}.projects-more{margin:0;color:#a1a1a1}.projects-more-link{color:#7aa2d6;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.footer{margin-top:40px;display:flex;flex-direction:column;gap:12px}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer-line{width:100%;height:1px;background:#ffffff14}.footer-text{margin:0;color:#8b8b8b;font-size:.85rem;max-width:560px}.footer-link{width:fit-content;color:#7aa2d6;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;font-size:.85rem;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.footer-link-icon{width:14px;height:14px}.text-link[href="/resume.pdf"]{font-weight:600;text-decoration-thickness:2px}@media(max-width:640px){.page{padding:32px 18px 72px;gap:48px}.project-row{flex-direction:column;align-items:flex-start}}
