:root{--bg:#121212;--surface:#1c1c1a;--text:#f2f1ec;--text-muted:#9c9c94;--border:#302f2a;--accent:#8fa8d9;--accent-hover:#b3c6ea;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "Menlo", "Consolas", monospace;--content-width:720px;--wide-width:1080px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.65}h1,h2,h3,h4{margin:0 0 .5em;font-weight:600;line-height:1.25}p{color:var(--text);margin:0 0 1em}a{color:var(--accent);border-bottom:1px solid #0000;text-decoration:none;transition:border-color .15s,color .15s}a:hover{color:var(--accent-hover);border-bottom-color:currentColor}ul{margin:0;padding:0;list-style:none}.label{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 1.5em;font-size:13px}.nav{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border);background:#121212d9;position:sticky;top:0}.nav-inner{max-width:var(--wide-width);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;padding:18px 32px;display:flex}.nav-name{color:var(--text);white-space:nowrap;border-bottom:none;font-weight:600}.nav-name:hover{color:var(--accent)}.nav-links{flex-wrap:wrap;align-items:center;gap:24px;font-size:15px;display:flex}.nav-links a{color:var(--text-muted)}.nav-links a:hover{color:var(--accent)}.nav-resume{font-weight:500;color:var(--accent)!important}.section{max-width:var(--content-width);border-bottom:1px solid var(--border);margin:0 auto;padding:88px 32px}.work,.skills{max-width:var(--wide-width)}.contact{border-bottom:none}.hero{max-width:var(--content-width);align-items:center;gap:40px;margin:0 auto;padding:110px 32px 8px;display:flex}.hero-content{flex:1;min-width:0}.hero-photo{object-fit:cover;object-position:top center;border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:132px;height:132px}.hero h1{margin-bottom:.15em;font-size:40px}.hero-title{color:var(--text);margin-bottom:.4em;font-size:20px}.hero-tagline{color:var(--text-muted);max-width:46ch;font-size:17px}.hero-links{flex-wrap:wrap;gap:24px;margin-top:8px;font-size:15px;display:flex}.work-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;display:grid}.work-item{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:28px;transition:border-color .15s,box-shadow .15s}.work-item:hover{border-color:#4a4a44;box-shadow:0 2px 12px #0006}.work-item h3{margin-bottom:.4em;font-size:18px}.work-summary{color:var(--text-muted);margin-bottom:1.4em;font-size:15px}.work-detail{margin-bottom:1.1em}.work-detail-label{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.35em;font-size:11px;display:block}.work-detail p{margin:0;font-size:15px}.tag-list{flex-wrap:wrap;gap:8px;margin-top:1.4em;display:flex}.tag-list li{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:3px 8px;font-size:12px}.experience-list{flex-direction:column;gap:40px;display:flex}.experience-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.experience-heading h3{margin:0;font-size:17px}.experience-org{color:var(--text-muted);font-weight:400}.experience-dates{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;font-size:13px}.experience-item ul{flex-direction:column;gap:6px;margin-top:12px;display:flex}.experience-item li{color:var(--text);padding-left:18px;font-size:15px;position:relative}.experience-item li:before{content:"";background:var(--border);border-radius:50%;width:5px;height:5px;position:absolute;top:.65em;left:0}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;display:grid}.skills-group h4{color:var(--text-muted);margin-bottom:.8em;font-size:14px;font-weight:500}.skills-group .tag-list{margin-top:0}.contact-lead{max-width:50ch;color:var(--text-muted)}.contact-alt{margin-top:2.5em}.contact-form{flex-direction:column;gap:18px;max-width:480px;margin-top:32px;display:flex}.form-row{flex-direction:column;gap:6px;display:flex}.form-row label{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:12px}.form-row input,.form-row textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);resize:vertical;border-radius:4px;padding:10px 12px}.form-row input:focus,.form-row textarea:focus{border-color:var(--accent);outline:none}.contact-form button{font:inherit;color:var(--bg);background:var(--accent);cursor:pointer;border:none;border-radius:4px;align-self:flex-start;padding:10px 20px;font-weight:500;transition:background .15s}.contact-form button:hover:not(:disabled){background:var(--accent-hover)}.contact-form button:disabled{opacity:.6;cursor:not-allowed}.form-status{margin:0;font-size:14px}.form-status-success{color:#6fcf97}.form-status-error{color:#e88a72}.footer{max-width:var(--wide-width);color:var(--text-muted);margin:0 auto;padding:32px;font-size:13px}@media (width<=640px){.section,.hero{padding-left:20px;padding-right:20px}.nav-inner{padding:16px 20px}.nav-links{gap:16px}.hero{flex-direction:column-reverse;align-items:flex-start;gap:24px}.hero-photo{width:96px;height:96px}.hero h1{font-size:32px}.section{padding-top:64px;padding-bottom:64px}}
