:root{--bg:#0c0c0c;--surface:#141414;--surface-2:#1b1b1b;--border:#262626;--text:#e6e6e6;--muted:#8a8a8a;--strong:#fff;--accent:#3ddc84;--accent-ink:#062b16;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--display:"Bricolage Grotesque", system-ui, sans-serif;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root{--bg:#f6f5f1;--surface:#fff;--surface-2:#efeee9;--border:#e2e0d9;--text:#2a2a2a;--muted:#6f6f6f;--strong:#0c0c0c;--accent:#0f9d58;--accent-ink:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--bg);color:var(--text);font:400 14px/1.75 var(--mono);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}strong{color:var(--strong);font-weight:700}h1,h2,h3{color:var(--strong);margin:0}ul,ol{margin:0;padding:0;list-style:none}::selection{background:var(--accent);color:var(--accent-ink)}.container{width:min(1040px,100% - 32px);margin-inline:auto}.meta{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px}.nav{z-index:10;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);align-items:center;gap:24px;padding:14px max(16px,50% - 520px);display:flex;position:sticky;top:0}.nav-logo{color:var(--strong);font-weight:700}.nav-logo span{color:var(--accent);animation:1.1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.nav ul{text-transform:uppercase;letter-spacing:.08em;gap:22px;margin-right:auto;font-size:12px;display:flex}.nav ul a{color:var(--muted);transition:color .15s}.nav ul a:hover{color:var(--strong)}.btn{border:1px solid var(--border);background:var(--surface);color:var(--strong);letter-spacing:.06em;text-transform:uppercase;font-family:inherit;font-size:12px;font-weight:500;line-height:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;transition:transform .15s,border-color .15s,background .15s;display:inline-flex}.btn:hover{border-color:var(--muted);transform:translateY(-1px)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{border-color:var(--accent);filter:brightness(1.08)}.btn-small{padding:7px 14px;font-size:11px}.hero{grid-template-columns:auto 1fr;align-items:start;gap:40px;padding:72px 0 56px;display:grid}.hero-photo{object-fit:cover;border:1px solid var(--border);width:168px;height:168px;box-shadow:0 0 0 6px var(--surface);border-radius:50%}.eyebrow{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 14px;font-size:12px;display:flex}.dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent);border-radius:50%}.hero h1{font:800 clamp(44px, 8vw, 84px) / .95 var(--display);letter-spacing:-.03em}.hello{color:var(--muted);font:600 clamp(20px, 3vw, 28px) / 1.2 var(--display);letter-spacing:-.01em;margin-bottom:6px;display:block}.tagline{max-width:60ch;margin:20px 0;font-size:15px}.contact{color:var(--muted);flex-wrap:wrap;gap:6px 20px;font-size:12px;display:flex}.contact a{border-bottom:1px solid var(--border);transition:color .15s,border-color .15s}.contact a:hover{color:var(--strong);border-color:var(--accent)}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.section{border-top:1px solid var(--border);padding:40px 0}.section-head{align-items:baseline;gap:14px;margin-bottom:28px;display:flex}.section-index{color:var(--accent);font-size:12px;font-weight:700}.section-head h2{font:800 clamp(26px, 4vw, 34px) / 1.1 var(--display);letter-spacing:-.02em}.prose{max-width:76ch}.prose p{margin:0 0 16px}.timeline{border-left:1px solid var(--border);margin-left:6px;position:relative}.job{padding:0 0 36px 28px;position:relative}.job:before{content:"";background:var(--bg);border:2px solid var(--muted);border-radius:50%;width:11px;height:11px;position:absolute;top:8px;left:-6px}.job:nth-child(-n+3):before{border-color:var(--accent);background:var(--accent)}.job-head{flex-wrap:wrap;align-items:baseline;gap:6px 14px;display:flex}.job h3{font:600 22px/1.3 var(--display)}.job-link{color:var(--accent);font-size:12px}.job-link:hover{text-decoration:underline}.role{flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:4px 0 0;display:flex}.role-title{color:var(--strong);font-weight:500}.job-intro{background:var(--surface);border:1px solid var(--border);max-width:76ch;color:var(--muted);border-radius:10px;margin:12px 0 0;padding:12px 16px;font-size:13px}.bullets{max-width:80ch;margin-top:12px}.bullets li{margin-bottom:6px;padding-left:20px;position:relative}.bullets li:before{content:"→";color:var(--accent);position:absolute;left:0}.projects{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;padding:22px;transition:transform .2s,border-color .2s;display:flex}a.card:hover{border-color:var(--accent);transform:translateY(-3px)}.project-top{justify-content:space-between;display:flex}.arrow{color:var(--muted);transition:color .2s,transform .2s}a.card:hover .arrow{color:var(--accent);transform:translate(2px,-2px)}.project h3{font:600 22px/1.2 var(--display);margin-top:14px}.project-client{color:var(--muted);margin:4px 0 0;font-size:12px}.project-desc{flex:1;margin:14px 0;font-size:13px}.project-stack{border-top:1px dashed var(--border);color:var(--accent);margin:0;padding-top:14px;font-size:12px}.skills{gap:20px;display:grid}.skill-group{grid-template-columns:200px 1fr;align-items:start;gap:16px;display:grid}.skill-group h3{padding-top:6px}.tags{flex-wrap:wrap;gap:8px;display:flex}.tags li{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:4px 12px;font-size:12px}.edu-grid{grid-template-columns:1fr 1fr;gap:40px;display:grid}.sub{color:var(--muted);font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px}.list+.sub{margin-top:32px}.list li{border-bottom:1px solid var(--border);flex-direction:column;padding:12px 0;display:flex}.list li:first-child{padding-top:0}.list a:hover{color:var(--accent)}.footer{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:32px 0 48px;font-size:12px;display:flex}.footer p{margin:0}.footer a:hover{color:var(--accent)}@media screen and (width<=760px){.nav ul{display:none}.nav .btn{margin-left:auto}.hero{grid-template-columns:1fr;gap:24px;padding-top:40px}.hero-photo{width:120px;height:120px}.skill-group,.edu-grid{grid-template-columns:1fr}.skill-group{gap:8px}}@page{size:A4;margin:10mm 14mm}@media print{:root{--bg:#fff;--surface:#fff;--border:#d4d4d4;--text:#222;--muted:#555;--strong:#000;--accent:#000;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{scroll-padding-top:0}body{font-size:8.5pt;line-height:1.4}.container{width:100%}.nav,#projects,.no-print,.hero-photo,.hello,.tagline,.hero-actions,.dot,.arrow,.section-index,.footer{display:none!important}.hero{padding:0 0 14px;display:block}.eyebrow{color:var(--strong);letter-spacing:.3em;margin-bottom:10px;font-size:7.5pt;font-weight:700}.hero h1{text-transform:uppercase;letter-spacing:-.01em;font-size:26pt}.contact{text-transform:uppercase;margin-top:14px;font-size:7.5pt}.contact a{border:0}.contact a:after,.job-link:after{content:" (" attr(href) ")";color:var(--muted);text-transform:none;font-size:6.5pt}.section{border-top:1.5px solid #000;padding:0 0 8px}.section-head{border-bottom:1px solid #000;margin:0 0 8px;padding:6px 0}.section-head h2{font:700 8.5pt/1 var(--mono);letter-spacing:.3em;text-transform:uppercase}.prose{max-width:none}.prose p{margin-bottom:8px}.timeline{border:0;margin:0}.job{padding:0 0 9px}.job-head,.role{break-after:avoid}.bullets li{break-inside:avoid}.job:before{display:none}.job h3{font:700 11pt/1.3 var(--mono)}.job-intro{border:0;margin-top:4px;padding:0;font-size:8.5pt;font-style:italic}.bullets,.job-intro{max-width:none}.bullets{margin-top:4px}.role{margin-top:1px}.bullets li{margin-bottom:2px}.projects{grid-template-columns:1fr 1fr;gap:8px}.card{break-inside:avoid;border-radius:6px;padding:10px 12px}.project h3{font:700 10pt/1.2 var(--mono);margin-top:4px}.project-desc{margin:6px 0;font-size:8.5pt}.project-stack{padding-top:6px;font-size:8pt}.skills{gap:4px}.skill-group{break-inside:avoid;grid-template-columns:105px 1fr;gap:10px}.skill-group h3{padding-top:2px}.tags{gap:0}.tags li{border:0;border-radius:0;padding:0;font-size:8.5pt}.tags li:not(:last-child):after{content:", "}.interests{display:none!important}.edu-grid{gap:24px}.list li{break-inside:avoid;flex-flow:wrap;gap:0 10px;padding:3px 0}.list li:first-child{padding-top:0}.list+.sub{margin-top:16px}.section-head,.sub{break-after:avoid}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
