@font-face{font-family:Oxanium;src:url(/_astro/oxanium.FgZavV1K.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Martian Mono;src:url(/_astro/martian-mono.CWkHIRr6.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#141414;--text:#f4f4f2;--muted:#c8c8c4;--faint:#8f8f8b;--line:#272727;--accent:#fc3;--on-accent:#333;--column:1180px;--edge:40px}*,:before,:after{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--text);margin:0;font-family:Oxanium,system-ui,sans-serif;font-size:17px;line-height:1.5}h1,h2,h3,p,ul{margin:0}a{color:var(--accent);text-underline-offset:.2em}a:hover{color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.site-header{max-width:var(--column);padding:36px var(--edge);justify-content:flex-end;align-items:center;margin:0 auto;display:flex}.site-header nav{flex-wrap:wrap;gap:8px 34px;font-size:15px;font-weight:500;line-height:22px;display:flex}.site-header nav a{color:var(--text);text-decoration:none}.site-header nav a:hover{color:var(--accent);text-decoration:underline}.site-header nav a[hreflang]{color:var(--muted);font-weight:400}.hero{--hero-dim:.25;padding:15vh max(var(--edge), calc((100% - var(--column)) / 2 + var(--edge))) 19vh;position:relative;overflow:hidden}.matrix{opacity:.55;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(100deg,#0000 0,#00000040 38%,#000 75%);mask-image:linear-gradient(100deg,#0000 0,#00000040 38%,#000 75%)}.hero-media{pointer-events:none;position:absolute;inset:0}.hero-media img{object-fit:cover;object-position:right center;width:100%;height:100%;display:block}.hero-media:after{content:"";background:linear-gradient(180deg, #141414 0%, #14141400 22%, #14141400 72%, #141414 100%), linear-gradient(90deg, #141414 0%, #141414db 28%, #14141459 55%, #14141400 75%), rgb(20 20 20/var(--hero-dim));position:absolute;inset:-1px}.hero-content{z-index:1;max-width:800px;position:relative}h1{letter-spacing:-.02em;text-wrap:pretty;margin-bottom:28px;font-size:clamp(36px,5.2vw,70px);font-weight:600;line-height:1.05}.hero p{max-width:27em;color:var(--muted);margin-bottom:42px;font-size:20px}.button{background:var(--accent);color:var(--on-accent);border-radius:2px;padding:15px 30px;font-size:17px;font-weight:600;text-decoration:none;display:inline-block}.button:hover{color:var(--on-accent);text-decoration:underline}main>section{scroll-margin-top:16px}.area,#projects,#about,#contact{width:min(calc(100% - 2 * var(--edge)), calc(var(--column) - 2 * var(--edge)));border-bottom:1px solid var(--line);grid-template-columns:14px minmax(0,1fr) minmax(0,1.5fr);column-gap:22px;margin-inline:auto;padding-block:54px;display:grid}.area:first-child{border-top:1px solid var(--line)}.area:before{content:"";background:var(--accent);width:8px;height:8px;margin-top:14px}h2{font-size:27px;font-weight:500;line-height:1.3}.area h2{grid-area:1/2}#projects>h2,#about>h2,#contact>h2{grid-area:1/1/span 4/3}.area-body{grid-area:1/3;max-width:36em}#projects>:not(h2),#about>:not(h2),#contact>:not(h2){grid-column:3;max-width:36em}.area p,#projects p,#about p,#contact p{color:var(--muted)}.tech{color:var(--faint);flex-wrap:wrap;gap:4px 22px;margin-top:16px;padding:0;font-size:14px;list-style:none;display:flex}.project+.project{margin-top:20px}.project h3{font-size:19px;font-weight:600}.contact-links{flex-wrap:wrap;gap:8px 28px;margin-top:14px;display:flex}.email{font-family:Martian Mono,ui-monospace,monospace;font-size:16px}#contact p+p{margin-top:14px}.js [data-reveal]{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(24px)}.js [data-reveal].is-visible{opacity:1;transform:none}.js [data-delay="60"]{transition-delay:60ms}.js [data-delay="80"]{transition-delay:80ms}.js [data-delay="150"]{transition-delay:.15s}.js [data-delay="160"]{transition-delay:.16s}.js [data-delay="240"]{transition-delay:.24s}@supports selector(:has(*)){.js .area:before{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1)}.js .area:has(>h2.is-visible):before{opacity:1}}@media print{.js [data-reveal],.js .area:before{opacity:1;transition:none;transform:none}}@media (prefers-reduced-motion:reduce){.js [data-reveal],.js .area:before{opacity:1;transition:none;transform:none}}.site-footer{max-width:var(--column);padding:40px var(--edge) 64px;color:var(--faint);flex-wrap:wrap;justify-content:space-between;gap:8px 28px;margin:0 auto;font-size:13px;display:flex}.site-footer a{color:var(--faint)}.site-footer a:hover{color:var(--text)}@media (width<=1200px){.hero-media{width:115%;right:auto}}@media (width<=1020px){.hero-media{width:135%}}@media (width<=900px){.hero{padding-bottom:290px}.hero-media{width:auto;height:340px;top:auto;right:0}.hero-media img{object-position:80% center}.hero-media:after{background:linear-gradient(180deg, #141414 0%, #14141400 38%, #14141400 70%, #141414 100%), rgb(20 20 20/var(--hero-dim))}}@media (width<=720px){:root{--edge:20px}.site-header{justify-content:flex-start;padding-block:20px}.site-header nav{gap:8px 22px}.hero{padding-top:7vh}.hero p{margin-bottom:32px}.area,#projects,#about,#contact{grid-template-columns:14px minmax(0,1fr);row-gap:10px;padding-block:36px}#projects,#about,#contact{grid-template-columns:minmax(0,1fr)}h1{margin-bottom:20px}.area h2{grid-column:2}.area-body{grid-area:2/2}#projects>h2,#about>h2,#contact>h2,#projects>:not(h2),#about>:not(h2),#contact>:not(h2){grid-area:auto/1}}
