:root{--bg:#0d0f0e;--panel:#141715;--text:#f1f0ea;--muted:#a5aaa4;--line:#2a2f2b;--accent:#c9ff52;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.site-header{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - var(--max))/2));position:sticky;top:0;background:rgba(13,15,14,.9);backdrop-filter:blur(12px);z-index:10}.brand{color:var(--bg);background:var(--accent);font-weight:900;text-decoration:none;width:36px;height:36px;display:grid;place-items:center}.site-header nav{display:flex;gap:26px}.site-header nav a{color:var(--muted);text-decoration:none;font-size:14px}.site-header nav a:hover,.project-link:hover{color:var(--accent)}.hero{min-height:680px;padding:100px 0 70px;display:flex;flex-direction:column;justify-content:center}.eyebrow,.section-heading>p{font:700 12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;color:var(--accent)}h1{font-size:clamp(68px,11vw,148px);line-height:.79;letter-spacing:-.075em;margin:25px 0 40px;max-width:1000px}h1 span{color:transparent;-webkit-text-stroke:1px #6d746d}.lede{font-size:clamp(19px,2.1vw,27px);color:#c4c8c3;max-width:760px;line-height:1.45}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.button{display:inline-block;padding:12px 17px;border:1px solid var(--line);color:var(--text);text-decoration:none;font-size:14px}.button:hover{border-color:#697067}.button.primary{background:var(--accent);border-color:var(--accent);color:#0a0c0a;font-weight:800}.status{margin-top:50px;color:var(--muted);font-size:13px}.status span{width:8px;height:8px;background:var(--accent);border-radius:50%;display:inline-block;margin-right:8px}.section{padding:110px 0;border-top:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1fr 2fr;align-items:end;margin-bottom:45px}.section-heading h2{font-size:clamp(42px,6vw,76px);letter-spacing:-.05em;line-height:1;margin:0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.project{background:var(--panel);padding:34px;min-height:390px;display:flex;flex-direction:column}.project.featured{min-height:430px}.project-top{display:flex;justify-content:space-between;align-items:center}.index{font:700 13px ui-monospace,monospace;color:#697069}.state{font:700 10px ui-monospace,monospace;letter-spacing:.1em;color:var(--accent);border:1px solid #536527;padding:5px 7px}.state.done{color:#aeb5ae;border-color:#3b403c}.project h3,.oss-card h3{font-size:30px;letter-spacing:-.035em;line-height:1.1;margin:55px 0 18px}.project p{color:var(--muted);margin:0}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:24px 0}.tags span{font:12px ui-monospace,monospace;color:#c6cbc5;background:#1d211e;padding:5px 8px}.project-link{color:var(--text);font-size:14px;text-decoration:none;margin-top:auto}.inline-links{display:flex;gap:18px;margin-top:auto}.inline-links .project-link{margin-top:0}.oss-card{display:grid;grid-template-columns:1.1fr 1.3fr auto;gap:40px;align-items:center;background:var(--panel);border:1px solid var(--line);padding:38px}.oss-card h3{margin:12px 0 0}.oss-card>p{color:var(--muted)}.about-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:80px}.big-copy{font-size:26px;line-height:1.5;margin-top:0}.about-grid>div>p:not(.big-copy),.skills p{color:var(--muted)}.skills>div{border-top:1px solid var(--line);padding:18px 0}.skills h4{margin:0 0 7px;font-size:13px}.skills p{margin:0}.contact h2{font-size:clamp(42px,7vw,82px);line-height:1.05;letter-spacing:-.055em;margin:20px 0 35px}footer{padding:30px 0 50px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#717771;font-size:12px}@media(max-width:760px){.site-header nav a:nth-child(-n+3){display:none}.hero{min-height:600px;padding-top:70px}.section{padding:80px 0}.section-heading{grid-template-columns:1fr;gap:15px}.project-grid,.about-grid{grid-template-columns:1fr}.oss-card{grid-template-columns:1fr;gap:15px}.oss-card .button{justify-self:start}.project{min-height:370px}.about-grid{gap:40px}footer{gap:20px;flex-direction:column}}

/* Blog */

.blog-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line)
}

.blog-card{
    background:var(--panel);
    padding:34px;
    min-height:330px;
    display:flex;
    flex-direction:column
}

.blog-meta{
    display:flex;
    justify-content:space-between;
    gap:20px;
    color:#697069;
    font:700 11px ui-monospace,monospace;
    letter-spacing:.08em;
    text-transform:uppercase
}

.blog-meta span{
    color:var(--accent)
}

.blog-card h3{
    font-size:30px;
    letter-spacing:-.035em;
    line-height:1.1;
    margin:55px 0 18px
}

.blog-card h3 a{
    color:var(--text);
    text-decoration:none
}

.blog-card h3 a:hover{
    color:var(--accent)
}

.blog-card>p{
    color:var(--muted);
    margin:0 0 30px
}

.blog-link{
    margin-top:auto
}

.blog-all{
    margin-top:25px;
    display:flex;
    justify-content:flex-end
}

@media(max-width:760px){
    .blog-grid{
        grid-template-columns:1fr
    }

    .blog-card{
        min-height:300px
    }
}
