:root{--bg:#0a0a0a;--bg-elev:#131313;--bg-card:#161616;--border:#262626;--border-bright:#3a3a3a;--text:#f1f1f1;--text-dim:#a3a3a3;--text-faint:#6b6b6b;--accent:#c8ff5e;--accent-dim:#8aa83a}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none;transition:color .12s ease,border-color .12s ease}.serif{font-family:Playfair Display,Georgia,serif;font-weight:500;letter-spacing:-.01em}.container{padding:0 24px}.container,.nav{max-width:880px;margin:0 auto}.nav{display:flex;justify-content:space-between;align-items:center;padding:28px 24px}.nav-brand{font-weight:700;letter-spacing:.02em}.nav-links{display:flex;gap:24px;font-size:14px;color:var(--text-dim)}.nav-links a:hover{color:var(--text)}.hero{padding:80px 0 56px}.hero-tag{display:inline-block;font-size:13px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px;border:1px solid var(--accent-dim);border-radius:999px;padding:4px 12px}.hero h1{font-size:clamp(40px,6vw,64px);line-height:1.05;margin:0 0 18px;font-weight:500;letter-spacing:-.025em}.hero-sub{font-size:clamp(17px,1.6vw,19px);color:var(--text-dim);max-width:620px;margin:0 0 32px;line-height:1.55}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;font-size:14px;font-weight:500;border:1px solid var(--border-bright);background:var(--bg-elev);color:var(--text)}.btn:hover{border-color:var(--accent-dim)}.btn-primary{background:var(--accent);color:#000;border-color:var(--accent)}.btn-primary:hover{background:#d8ff7a;border-color:#d8ff7a}.btn-arrow{font-size:16px;transition:transform .12s ease}.btn:hover .btn-arrow{transform:translateX(2px)}.section{padding:56px 0;border-top:1px solid var(--border)}.section-eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin:0 0 24px}.featured-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-bottom:18px}@media (max-width:720px){.featured-grid{grid-template-columns:1fr}}.project-card{display:block;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--bg-card);position:relative;overflow:hidden}.project-card:hover{border-color:var(--accent-dim);background:#181818}.project-card h3{font-size:22px;margin:0 0 6px;font-weight:600;letter-spacing:-.01em}.project-card .project-meta{font-size:13px;color:var(--accent);margin:0 0 14px;letter-spacing:.02em}.project-card p{margin:0 0 12px;color:var(--text-dim);font-size:15px}.project-link{font-size:13px;color:var(--text);border-bottom:1px solid var(--border-bright);padding-bottom:1px}.project-card:hover .project-link{color:var(--accent);border-color:var(--accent)}.minor-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}@media (max-width:720px){.minor-grid{grid-template-columns:1fr 1fr}}.minor-card{padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elev)}.minor-card h4{margin:0 0 4px;font-size:15px;font-weight:600}.minor-card p{margin:0;font-size:13px;color:var(--text-dim);line-height:1.45}.about p{font-size:17px;color:var(--text-dim);margin:0 0 16px;max-width:680px;line-height:1.65}.about p strong{color:var(--text);font-weight:500}.writing-list{list-style:none;padding:0;margin:0}.writing-list li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.writing-list li:last-child{border-bottom:none}.writing-list .label{font-size:16px;color:var(--text)}.writing-list .label-sub{color:var(--text-dim);font-size:14px;margin-left:8px}.writing-list .arrow{color:var(--text-faint);font-size:14px}.writing-list li:hover .arrow,.writing-list li:hover .label{color:var(--accent)}.contact{text-align:center;padding:80px 0 40px;border-top:1px solid var(--border)}.contact h2{font-size:clamp(28px,4vw,40px);margin:0 0 16px;font-weight:500;letter-spacing:-.02em}.contact p{color:var(--text-dim);margin:0 0 28px;font-size:17px}.footer{padding:28px 0 40px;text-align:center;font-size:13px;color:var(--text-faint)}.footer a{color:var(--text-dim)}.footer a:hover{color:var(--accent)}.article{padding:56px 0 32px;max-width:720px}.article-header{margin-bottom:40px}.article-header h1{font-size:clamp(32px,4.6vw,46px);line-height:1.12;margin:8px 0 18px;font-weight:500;letter-spacing:-.02em}.article-lede{font-size:18px;color:var(--text-dim);line-height:1.55;margin:0;max-width:640px}.article-prose{font-size:17px;line-height:1.7;color:var(--text)}.article-prose>*+*{margin-top:18px}.article-prose p{margin:0;color:var(--text)}.article-prose h2{font-family:Playfair Display,Georgia,serif;font-weight:500;font-size:28px;letter-spacing:-.01em;margin:48px 0 4px;color:var(--text)}.article-prose h2+p,.article-prose h2+pre{margin-top:16px}.article-prose ul{margin:0;padding-left:22px;color:var(--text)}.article-prose li{margin:8px 0;line-height:1.6}.article-prose blockquote{margin:24px 0;padding:12px 20px;border-left:2px solid var(--accent);color:var(--text-dim);font-style:italic}.article-prose a{color:var(--accent);border-bottom:1px solid var(--accent-dim)}.article-prose a:hover{color:#d8ff7a;border-color:#d8ff7a}.article-prose code{font-size:.88em;background:rgba(200,255,94,.08);color:var(--accent);padding:2px 6px;border-radius:4px;word-break:break-word}.article-prose code,.article-prose pre{font-family:JetBrains Mono,Fira Code,Menlo,Consolas,monospace}.article-prose pre{background:#0d0d0d;border:1px solid var(--border);border-radius:10px;padding:18px 0;overflow-x:auto;font-size:13.5px;line-height:1.6;color:#d6d6d6;margin:24px 0}.article-prose pre code{display:grid;background:transparent;color:inherit;padding:0;border-radius:0;font-size:inherit;counter-reset:line}.article-prose [data-line]{padding:0 20px}.article-prose [data-rehype-pretty-code-figure]{margin:24px 0}.article-prose [data-rehype-pretty-code-figure] pre{margin:0}.article-prose code[data-language=text]{color:var(--text-dim);font-size:12.5px;line-height:1.5}.article-cover{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--border);margin:32px 0 8px}.article-figure{margin:28px 0}.article-figure img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid var(--border)}.article-figure figcaption{margin-top:10px;text-align:center;font-size:13px;color:var(--text-faint);font-style:italic}.article-footer{margin-top:64px;padding-top:28px;border-top:1px solid var(--border)}.article-back{font-size:14px;color:var(--text-dim)}.article-back:hover{color:var(--accent)}