*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fafafa;--bg-card:#fff;--text:#1a1a1a;--text-secondary:#525252;--text-tertiary:#737373;--border:#e5e5e5;--accent:#2563eb;--accent-hover:#1d4ed8;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0a0a0a;--bg-card:#141414;--text:#ededed;--text-secondary:#a3a3a3;--text-tertiary:#737373;--border:#262626;--accent:#3b82f6;--accent-hover:#60a5fa}}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}nav{justify-content:space-between;align-items:center;max-width:640px;margin:0 auto;padding:1.25rem 1.5rem;display:flex}.nav-name{color:var(--text);font-size:.95rem;font-weight:600}.resume-link{color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:color .15s}main{max-width:640px;margin:0 auto;padding:0 1.5rem 4rem}.hero{padding:4rem 0 3rem}.hero h1{letter-spacing:-.025em;margin-bottom:.5rem;font-size:2.25rem;font-weight:700;line-height:1.1}.title{color:var(--text-secondary);margin-bottom:.25rem;font-size:1.125rem;font-weight:500}.location{color:var(--text-tertiary);margin-bottom:2rem;font-size:.9375rem}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.btn{font-size:.875rem;font-weight:500;font-family:var(--font);cursor:pointer;border-radius:6px;align-items:center;padding:.6rem 1.25rem;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;border:none}.btn-primary:hover{background:var(--accent-hover);color:#fff}.btn-secondary{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-secondary:hover{border-color:var(--text-tertiary);color:var(--text)}.section{border-top:1px solid var(--border);padding-top:2.5rem}h2{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:1rem;font-size:.8125rem;font-weight:600}.section p{color:var(--text-secondary);max-width:540px;font-size:.9375rem}.tech-list{flex-wrap:wrap;gap:.5rem;list-style:none;display:flex}.tech-list li{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;padding:.35rem .85rem;font-size:.8125rem;font-weight:500}.projects{flex-direction:column;gap:1.5rem;display:flex}.project h3{margin-bottom:.25rem;font-size:.9375rem;font-weight:600}.project p{color:var(--text-secondary);font-size:.875rem}.project h3 a{color:var(--text)}.project h3 a:hover{color:var(--accent)}.tag{background:var(--bg-card);border:1px solid var(--border);color:var(--text-tertiary);vertical-align:middle;border-radius:3px;margin-left:.35rem;padding:.1rem .45rem;font-size:.6875rem;font-weight:500;display:inline-block}.contact{padding-bottom:2rem}.contact-links{flex-direction:column;gap:.5rem;display:flex}.contact-links a{color:var(--text-secondary);font-size:.9375rem;transition:color .15s}.contact-links a:hover{color:var(--accent)}footer{border-top:1px solid var(--border);max-width:640px;margin:0 auto;padding:0 1.5rem 2rem}footer p{color:var(--text-tertiary);padding-top:1.5rem;font-size:.8125rem}@media (width<=480px){.hero{padding:2.5rem 0 2rem}.hero h1{font-size:1.75rem}}
