@font-face{font-family:Courier Prime;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/courier-prime-400.woff2)format("woff2")}@font-face{font-family:Courier Prime;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/courier-prime-700.woff2)format("woff2")}@font-face{font-family:Courier Prime;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/courier-prime-400-italic.woff2)format("woff2")}@font-face{font-family:Courier Prime;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/courier-prime-700-italic.woff2)format("woff2")}@font-face{font-family:Alegreya SC;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/AlegreyaSC-Regular.ttf)format("truetype")}@font-face{font-family:Alegreya SC;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/AlegreyaSC-Bold.ttf)format("truetype")}html{color-scheme:dark;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body{color:#f0ece4;background:radial-gradient(120% 80% at 70% 30%,#2a183055 0%,#0000 55%),radial-gradient(80% 60% at 20% 90%,#1a162088 0%,#0000 60%),linear-gradient(#0a0a0e 0%,#050507 100%);margin:0;font-family:Courier Prime,ui-monospace,monospace}@media (hover:hover) and (pointer:fine){body:has(.project--black a:hover) .bg-tint{opacity:1;background:#000;transition:opacity .27s}body:has(.project--black a:hover) .hero,body:has(.project--black a:hover) .projects-divider{opacity:.15}}.bg-tint{z-index:-1;pointer-events:none;opacity:0;position:fixed;inset:0}.hero{box-sizing:border-box;opacity:1;max-width:1280px;margin:0 auto;padding:16px 80px;transition:opacity .27s}.status-row{letter-spacing:2.16px;color:#f0ece473;justify-content:space-between;align-items:center;font-family:Alegreya SC;font-size:12px;display:flex}.status{align-items:center;gap:8px;font-size:10px;font-weight:700;display:inline-flex}.status-dot{background:#7eb86c;border-radius:50%;width:6px;height:6px;display:inline-block}h1{margin:32px 0 0;font-size:64px;font-weight:400;line-height:1.1}h1 .nowrap{white-space:nowrap}.intro{justify-content:flex-start;align-items:flex-start;gap:64px;margin-top:32px;display:flex}.bio{color:#f0ece4c7;max-width:63ch;margin:0;font-size:16px;line-height:1.6}.contact{flex-direction:column;flex-shrink:0;gap:8px;margin:2px 0 0;padding:0;list-style:none;display:flex}.contact a{color:inherit;align-items:baseline;gap:12px;text-decoration:none;transition:transform .2s;display:inline-flex;transform:translate(0)}@media (hover:hover) and (pointer:fine){.contact a:hover{transform:translate(4px)}}.contact .label{letter-spacing:1.32px;color:#f0ece452;text-transform:uppercase;width:70px;font-family:Alegreya SC;font-size:11px;font-weight:700}.contact .value{color:#f0ece4d9;font-size:14px;transition:color .2s}.projects-divider{box-sizing:border-box;color:#f0ece452;align-items:center;gap:24px;max-width:1280px;margin:0 auto;padding:16px 72px;font-family:Alegreya SC;font-weight:700;transition:opacity .27s;display:flex}.projects-divider .line{background:#f0ece426;flex:auto;height:1px}.projects-divider .divider-label{letter-spacing:2.2px;text-transform:uppercase;white-space:nowrap;flex:none;font-size:11px}.projects{box-sizing:border-box;flex-direction:column;gap:16px;max-width:1280px;margin:16px auto;padding:0 64px 32px;list-style:none;display:flex}.project a{box-sizing:border-box;min-height:110px;color:inherit;opacity:1;border-radius:2px;align-items:center;gap:32px;padding:20px 32px;text-decoration:none;transition:opacity .27s,transform .27s,box-shadow .27s;display:flex;transform:translate(0);box-shadow:inset 0 0 0 1px #ffffff0f}@media (hover:hover) and (pointer:fine){.projects .project a:hover{transform:translate(4px);box-shadow:inset 0 0 0 1px #ffffff1f}}.project--black a{background:radial-gradient(120% 80% at 75% 110%,#d2d6de0d 0%,#0000 55%),radial-gradient(80% 60% at 15% -10%,#ffffff08 0%,#0000 60%),linear-gradient(135deg,#000 0%,#080808 100%)}.project-icon{flex:0 0 72px;display:flex}.project-icon svg{display:block}.project-info{flex:auto;min-width:0}.project-title{letter-spacing:1.2px;margin:0;font-size:28px;font-weight:700}.project-desc{color:#ffffffb3;letter-spacing:0;max-width:480px;margin:6px 0 0;font-size:14px;line-height:1.32}.project-tech{letter-spacing:1.65px;text-align:right;white-space:nowrap;color:#ffffff73;flex-direction:column;flex:none;align-items:flex-end;gap:4px;font-size:11px;display:flex}.project--black .project-open{color:#d2d6de}@media (width<=940px){.hero{padding:16px}h1{font-size:48px}.intro{flex-direction:column;align-items:stretch;gap:16px;margin-top:32px}.bio{max-width:none}.projects-divider{padding:20px 16px 24px}.projects{gap:12px;padding:0 16px}.project a{grid-template-columns:1fr 22px;grid-template-areas:"title icon""desc desc""tech tech";gap:8px 12px;padding:16px;display:grid}.project-info{display:contents}.project-icon{grid-area:icon;align-self:center}.project-icon svg{width:32px;height:32px}.project-title{grid-area:title;align-self:center;font-size:22px;line-height:1.1}.project-desc{grid-area:desc;max-width:none;margin-top:0;font-size:12px}.project-tech{text-align:left;flex-direction:row;grid-area:tech;justify-content:flex-start;align-items:center;gap:12px}}
