:root{--bg:#fff;--fg:#000;--muted:#f5f5f5;--muted-fg:#525252;--border:#000;--border-light:#e5e5e5;--inverted-muted-fg:#a3a3a3;--rule-thin:1px solid var(--border);--rule-medium:2px solid var(--border);--rule-thick:4px solid var(--border);--hairline:1px solid var(--border-light);--font-display:"Playfair Display", Georgia, serif;--font-body:"Source Serif 4", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--instant:.1s linear;font:18px/1.625 var(--font-body);color:var(--fg);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box;border-radius:0}body{margin:0;overflow-x:clip}body:before,body:after{content:"";pointer-events:none;z-index:-1;position:fixed;inset:0}body:before{opacity:.015;background-image:repeating-linear-gradient(0deg,#0000,#0000 1px,#000 1px 2px);background-size:100% 4px}body:after{opacity:.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}h1,h2,h3{font-family:var(--font-display);margin:0;font-weight:400}p{margin:0}a{color:var(--fg);text-underline-offset:4px}:focus-visible{outline:3px solid var(--fg);outline-offset:3px}::selection{background:var(--fg);color:var(--bg)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}}main{counter-reset:section;max-width:72rem;margin:0 auto;padding:0 48px}section>h2:before,.about h3,.period,.tags li,.skills li,.links a{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:500}.hero{padding-top:160px;position:relative}.hero h1{letter-spacing:-.05em;font-size:clamp(3.5rem,12.5vw,10rem);line-height:.9}.tagline{max-width:32ch;color:var(--muted-fg);margin-top:48px;font-size:clamp(1.25rem,2.4vw,1.6rem);line-height:1.4}.hero:after{content:"";background:var(--fg);height:4px;margin-top:96px;display:block}.hero:before{content:"";background:var(--bg);border:var(--rule-medium);width:24px;height:24px;position:absolute;bottom:-10px;right:0}main>section,.links{border-top:var(--rule-thick);padding:128px 0}main>.hero+section{border-top:none}main>section{counter-increment:section;grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;column-gap:48px;display:grid}section>h2{letter-spacing:-.025em;grid-area:1/1/span 20;font-size:clamp(2.5rem,5vw,3.5rem);line-height:1;position:sticky;top:48px}section>h2:before{content:counter(section, decimal-leading-zero);margin-bottom:20px;display:block}section>:not(h2){grid-column:2}.about p{color:var(--muted-fg);margin-bottom:24px}.about p:first-of-type{color:var(--fg);font-size:1.3rem;line-height:1.5}.about h3{border-top:var(--hairline);margin:64px 0 20px;padding-top:20px}.skills{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.skills li{border:var(--rule-thin);transition:background-color var(--instant), color var(--instant);padding:8px 14px}.skills li:hover{background:var(--fg);color:var(--bg)}.projects .card{border:var(--rule-thin);background:var(--bg);transition:background-color var(--instant), color var(--instant);flex-direction:column;padding:40px;display:flex}.projects .card+.card{margin-top:-1px}.projects .card-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;margin-bottom:20px;display:flex}.card h3{letter-spacing:-.025em;font-size:2rem;line-height:1.15}.period{color:var(--muted-fg);white-space:nowrap}.projects .card p{color:var(--muted-fg)}.tags{border-top:var(--hairline);flex-wrap:wrap;gap:4px 0;margin:28px 0 0;padding:20px 0 0;list-style:none;display:flex}.tags li+li:before{content:"/" / "";margin:0 10px}.projects .card:hover{background:var(--fg);color:var(--bg)}.projects .card:hover p,.projects .card:hover .period{color:var(--inverted-muted-fg)}.projects .card:hover .tags{border-top-color:#333}.experience{isolation:isolate;color:var(--bg);position:relative}.experience:before{content:"";z-index:-1;background-color:var(--fg);background-image:repeating-linear-gradient(90deg,#0000,#0000 1px,#ffffff08 1px 2px);background-size:4px 100%;width:100vw;position:absolute;inset:0 auto 0 50%;transform:translate(-50%)}.experience>h2{color:var(--bg)}.experience .card{border-top:1px solid #333;grid-template-columns:11rem minmax(0,1fr);gap:12px 32px;padding:36px 0;display:grid}.experience .card:last-child{border-bottom:1px solid #333}.experience .card-heading{display:contents}.experience .period{color:var(--inverted-muted-fg);grid-area:1/1/span 2;padding-top:10px}.experience h3{grid-column:2;font-size:1.75rem}.experience .card p{color:var(--inverted-muted-fg);grid-column:2}.links{flex-wrap:wrap;gap:16px;display:flex}.links a{min-height:56px;color:var(--fg);border:var(--rule-medium);background:0 0;align-items:center;gap:16px;padding:0 32px;text-decoration:none;display:inline-flex}.links a:after{content:"→" / "";font-size:1rem}.links a:hover,.links a:first-of-type{background:var(--fg);color:var(--bg)}.links a:first-of-type:hover{background:var(--bg);color:var(--fg)}@media (width<=768px){:root{font-size:17px}main{padding:0 24px}.hero{padding-top:96px}.tagline{margin-top:32px}.hero:after{margin-top:64px}main>section,.links{padding:80px 0}main>section{grid-template-columns:minmax(0,1fr)}section>h2{grid-row:auto;margin-bottom:40px;position:static}section>:not(h2){grid-column:1}.about p:first-of-type{font-size:1.25rem}.projects .card{padding:28px 24px}.card h3{font-size:1.6rem}.experience .card{grid-template-columns:minmax(0,1fr);padding:28px 0}.experience .period{grid-row:auto;padding-top:0}.experience h3,.experience .card p{grid-column:1}.links a{flex:100%;justify-content:space-between}}
