:root{--bg:#17181b;--surface:#1e2024;--border:#2e3136;--text:#e8e6e1;--muted:#a3a29c;--faint:#75746f;--accent:#e0b458;--sans:"Inter", -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", "SF Mono", Menlo, monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.65}::selection{background:var(--accent);color:var(--bg)}.wrap{flex-direction:column;max-width:680px;min-height:100vh;margin:0 auto;padding:0 24px;display:flex}.wrap>footer{margin-top:auto}a{color:var(--text);border-bottom:1px solid var(--border);text-decoration:none;transition:border-color .15s,color .15s}a:hover{color:var(--accent);border-color:var(--accent)}header{padding:96px 0 72px}.namerow{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:20px;display:flex}.namerow h1{margin-bottom:0}.portrait{object-fit:cover;border:2px solid #f4f2ee;border-radius:50%;flex-shrink:0;width:64px;height:64px}h1{letter-spacing:-.025em;margin-bottom:20px;font-size:clamp(34px,6vw,46px);font-weight:650;line-height:1.1}.bio{color:var(--muted);max-width:58ch;font-size:17px}.bio+.bio{margin-top:14px}.bio strong{color:var(--text);font-weight:550}.contact{font-family:var(--mono);flex-wrap:wrap;gap:10px 22px;margin-top:28px;font-size:13px;display:flex}.contact a{color:var(--muted);border-bottom-color:#0000}.contact a:hover{color:var(--accent)}.contact span{color:var(--faint)}section{padding:40px 0 56px}h2{font-family:var(--mono);color:var(--faint);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:16px;margin-bottom:28px;font-size:13px;font-weight:500;display:flex}h2:after{content:"";background:var(--border);flex:1;height:1px}.projects-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.project{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;padding:22px 22px 18px;transition:border-color .15s;display:flex}.project:hover{border-color:#3a3e45}.project-title{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.project-title h3{letter-spacing:-.01em;font-size:17px;font-weight:600}.project-title h3 a{border-bottom-color:#0000}.project-title .arrow{font-family:var(--mono);color:var(--faint);white-space:nowrap;border-bottom-color:#0000;font-size:12px}.project-title .arrow:hover{color:var(--accent)}.project .project-role{font-family:var(--mono);color:var(--faint);margin-bottom:10px;font-size:12px}.project-tagline{color:var(--accent);font-size:14.5px;font-style:italic}.project p{color:var(--muted);font-size:14.5px}.project details{margin-top:auto;padding-top:12px}.project summary{cursor:pointer;font-family:var(--mono);color:var(--faint);user-select:none;font-size:12px;list-style:none;transition:color .15s}.project summary::-webkit-details-marker{display:none}.project summary:after{content:" ↓"}.project details[open] summary:after{content:" ↑"}.project summary:hover{color:var(--accent)}.project details>p{margin-top:12px}.tags{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.tag{font-family:var(--mono);color:var(--muted);border:1px solid var(--border);border-radius:99px;padding:2px 10px;font-size:11.5px}.job{border-bottom:1px solid var(--border);padding:26px 0}.job:first-of-type{padding-top:0}.job:last-of-type{border-bottom:none}.job-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:4px;display:flex}.job-head h3{letter-spacing:-.01em;font-size:17px;font-weight:600}.job-head h3 span{color:var(--muted);font-weight:450}.dates{font-family:var(--mono);color:var(--faint);white-space:nowrap;font-size:12.5px}.job p{color:var(--muted);max-width:62ch;font-size:15px}.job p+p{margin-top:8px}.job em{color:var(--text);font-style:normal}.post-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;display:flex}.post-row:last-of-type{border-bottom:none}.post-row a{border-bottom-color:#0000;font-size:17px;font-weight:550}.post-row a:hover{border-bottom-color:var(--accent)}.post-row .post-desc{color:var(--muted);flex-basis:100%;max-width:62ch;font-size:15px}.crumb{font-family:var(--mono);color:var(--muted);border-bottom-color:#0000;font-size:13px}.crumb:hover{color:var(--accent)}.post-header{padding:72px 0 8px}.post-header h1{margin:18px 0 10px;font-size:clamp(28px,5vw,38px)}.post-meta{font-family:var(--mono);color:var(--faint);font-size:13px}.prose{color:var(--muted);padding:24px 0 48px}.prose p{max-width:66ch;margin:0 0 18px}.prose h2{font-family:var(--sans);color:var(--text);letter-spacing:-.01em;text-transform:none;margin:36px 0 14px;font-size:21px;font-weight:600;display:block}.prose h2:after{display:none}.prose h3{color:var(--text);margin:28px 0 10px;font-size:17px;font-weight:600}.prose strong{color:var(--text);font-weight:550}.prose ul,.prose ol{margin:0 0 18px;padding-left:24px}.prose li{margin-bottom:6px}.prose blockquote{border-left:2px solid var(--accent);margin:0 0 18px;padding-left:18px;font-style:italic}.prose code{font-family:var(--mono);background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:1px 6px;font-size:.88em}.prose pre{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin:0 0 18px;padding:18px 20px;font-size:13.5px;overflow-x:auto}.prose pre code{background:0 0;border:none;padding:0}.prose img{border-radius:10px;max-width:100%}.prose hr{background:var(--border);border:none;height:1px;margin:32px 0}.byline{border-top:1px solid var(--border);align-items:center;gap:18px;padding:28px 0 40px;display:flex}.byline img{object-fit:cover;border:2px solid #f4f2ee;border-radius:50%;flex-shrink:0;width:52px;height:52px}.byline-name{font-size:15.5px;font-weight:600}.byline p{color:var(--muted);max-width:52ch;font-size:14px}.byline-links{font-family:var(--mono);flex-wrap:wrap;gap:8px 18px;margin-top:6px;font-size:12.5px;display:flex}.byline-links a{color:var(--muted);border-bottom-color:#0000}.byline-links a:hover{color:var(--accent)}footer{font-family:var(--mono);color:var(--faint);flex-wrap:wrap;justify-content:space-between;gap:10px;padding:56px 0 72px;font-size:12.5px;display:flex}footer a{color:var(--faint);border-bottom-color:#0000}footer a:hover{color:var(--accent)}@media (width<=540px){header{padding:64px 0 48px}.post-header{padding:48px 0 8px}.projects-grid{grid-template-columns:1fr}}
