*,:before,:after{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}:root{--black:#111;--gray:#555;--light:#999;--bg:#fafafa;--accent:#e63946;--font:"IBM Plex Mono", "SF Mono", "Fira Code", monospace;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background:var(--bg);color:var(--black);-webkit-font-smoothing:antialiased;line-height:1.6}a{color:var(--black);border-bottom:1px solid var(--light);text-decoration:none;transition:border-color .2s}a:hover{border-color:var(--black)}.site{max-width:680px;margin:0 auto;padding:0 1.5rem}.header{margin-bottom:6rem;padding:2.5rem 0 0}.header nav{gap:1.5rem;display:flex}.header nav a{font-family:var(--font);text-transform:lowercase;color:var(--gray);letter-spacing:.02em;border:none;font-size:.8rem}.header nav a:hover{color:var(--black)}.intro{margin-bottom:8rem}.intro h1{letter-spacing:-.03em;margin-bottom:1.5rem;font-size:clamp(2.5rem,7vw,4rem);font-weight:700;line-height:1.05}.dot{color:var(--accent)}.tagline{color:var(--gray);max-width:520px;margin-bottom:1.5rem;font-size:1.15rem;line-height:1.7}.intro-links{font-family:var(--font);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.intro-links a{color:var(--gray)}.intro-links a:hover{color:var(--black)}.separator{color:var(--light);-webkit-user-select:none;user-select:none}.work{margin-bottom:6rem}.work h2,.about h2,.contact h2{font-family:var(--font);text-transform:uppercase;letter-spacing:.1em;color:var(--light);margin-bottom:2.5rem;font-size:.75rem}.job{border-bottom:1px solid #eee;grid-template-columns:120px 1fr;gap:2rem;margin-bottom:3rem;padding-bottom:3rem;display:grid}.job:last-child{border-bottom:none}.job-meta{padding-top:.3rem}.job-period{font-family:var(--font);color:var(--light);white-space:nowrap;font-size:.8rem}.job-body h3{margin-bottom:.75rem;font-size:1rem;font-weight:600;line-height:1.4}.job-body p{color:var(--gray);margin-bottom:.6rem;font-size:.95rem;line-height:1.75}.job-body p:last-child{margin-bottom:0}.about{margin-bottom:6rem}.about-content{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.about-text p{color:var(--gray);margin-bottom:1rem;font-size:.95rem;line-height:1.75}.stack h3{font-family:var(--font);text-transform:uppercase;letter-spacing:.1em;color:var(--light);margin-bottom:1.25rem;font-size:.75rem}.stack-list{flex-direction:column;gap:.75rem;display:flex}.stack-group{flex-direction:column;gap:.15rem;display:flex}.stack-label{font-family:var(--font);text-transform:uppercase;letter-spacing:.08em;color:var(--light);font-size:.7rem}.stack-group>span:last-child{color:var(--black);font-size:.9rem}.contact{margin-bottom:6rem}.contact>p{color:var(--gray);margin-bottom:1.5rem;font-size:.95rem}.contact-links{flex-direction:column;gap:.6rem;display:flex}.contact-links a{width:fit-content;font-size:.95rem}.footer{font-family:var(--font);color:var(--light);border-top:1px solid #eee;justify-content:space-between;padding:3rem 0;font-size:.75rem;display:flex}@media (width<=600px){.site{padding:0 1.25rem}.header{margin-bottom:4rem}.intro{margin-bottom:5rem}.intro h1{font-size:2.2rem}.job{grid-template-columns:1fr;gap:.5rem}.about-content{grid-template-columns:1fr;gap:2rem}.footer{flex-direction:column;gap:.25rem}}
