:root{--bg: #060a08;--surface: #0b110e;--line: #1a2620;--accent: #4af08c;--accent-dim: #2c8f55;--text: #e8f0ea;--muted: #8fa598;--mono: "JetBrains Mono", ui-monospace, monospace;--sans: "Inter", system-ui, sans-serif;--col: 46rem}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--bg)}.prompt{color:var(--accent);font-family:var(--mono)}.top{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem clamp(1rem,4vw,2rem);background:var(--bg);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.8rem}.top nav{display:flex;flex-wrap:wrap;gap:1.25rem}@media(max-width:640px){.top{flex-direction:column;align-items:flex-start;gap:.5rem}.top nav{gap:.9rem}}.top a{color:var(--muted);text-decoration:none}.top a:hover,.top a:focus-visible{color:var(--accent)}.top a:before{content:"./";color:var(--accent-dim)}main{max-width:var(--col);margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}.hero{padding:clamp(4rem,12vh,7rem) 0 4rem}.cmd{font-family:var(--mono);color:var(--muted);font-size:.9rem;margin-bottom:1rem}.cursor{display:inline-block;width:.55em;height:1.1em;background:var(--accent);margin-left:.35em;vertical-align:text-bottom;animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}h1{font-family:var(--mono);font-size:clamp(2.2rem,6vw,3.4rem);font-weight:700;letter-spacing:-.02em;line-height:1.1}.title{color:var(--accent);font-family:var(--mono);font-size:clamp(1rem,2.5vw,1.25rem);margin:.75rem 0 1.25rem}.tagline{color:var(--muted);max-width:38rem}.flags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 2rem}.flags li{font-family:var(--mono);font-size:.75rem;color:var(--muted);border:1px solid var(--line);padding:.25rem .6rem;border-radius:2px}.flags li:first-child{color:var(--accent);border-color:var(--accent-dim)}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.btn{font-family:var(--mono);font-size:.85rem;text-decoration:none;padding:.6rem 1.1rem;border:1px solid var(--accent-dim);color:var(--accent);border-radius:2px;transition:background .15s,color .15s}.btn:hover,.btn:focus-visible{background:var(--accent);color:var(--bg)}.btn.primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.btn.primary:hover,.btn.primary:focus-visible{background:transparent;color:var(--accent)}.links{display:flex;gap:1.25rem;font-family:var(--mono);font-size:.85rem}.links a{color:var(--muted)}.links a:hover{color:var(--accent)}section{padding:3.5rem 0;border-top:1px solid var(--line)}.hero{border-top:none}h2{font-family:var(--mono);font-size:1.15rem;font-weight:500;text-transform:lowercase;margin-bottom:2rem}h2:before{content:"## ";color:var(--accent-dim)}.sec-num{color:var(--accent)}.sec-num:after{content:" —";color:var(--accent-dim)}h3{font-size:1rem;font-weight:600}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}.cert-list{list-style:none;display:grid;gap:.25rem}.cert-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;padding:.7rem .85rem;border-left:2px solid var(--line);transition:border-color .15s,background .15s}.cert-list li:hover{border-left-color:var(--accent);background:var(--surface)}.cert-name{font-weight:500}.cert-meta{font-family:var(--mono);font-size:.78rem;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;transition:border-color .15s,transform .15s}.card:hover{border-color:var(--accent-dim);transform:translateY(-2px)}.card h3{font-family:var(--mono);font-size:.95rem}.card p{font-size:.9rem;color:var(--muted);flex:1}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}.tags li{font-family:var(--mono);font-size:.7rem;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);padding:.15rem .5rem;border-radius:2px}.timeline{display:grid;gap:2rem}.job{border-left:2px solid var(--line);padding-left:1.25rem;position:relative}.job:before{content:"";position:absolute;left:-5px;top:.4rem;width:8px;height:8px;background:var(--accent);border-radius:50%}.job header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;margin-bottom:.6rem}.co{color:var(--accent);font-weight:500}.period{font-family:var(--mono);font-size:.78rem;color:var(--muted);white-space:nowrap}.job ul{list-style:none;display:grid;gap:.45rem}.job li{font-size:.92rem;color:var(--muted);padding-left:1rem;position:relative}.job li:before{content:">";position:absolute;left:0;color:var(--accent-dim);font-family:var(--mono)}.skill-group{margin-bottom:1.5rem}.skill-group h3{font-family:var(--mono);font-size:.85rem;color:var(--muted);text-transform:lowercase;margin-bottom:.6rem}.skill-group h3:before{content:"> ";color:var(--accent-dim)}.edu{list-style:none;display:grid;gap:.6rem;color:var(--muted);font-size:.92rem}.edu li:before{content:"— ";color:var(--accent-dim)}.contact{list-style:none;display:grid;gap:.5rem;font-family:var(--mono);font-size:.9rem;margin-top:1rem}.contact .k{display:inline-block;width:6.5rem;color:var(--muted)}.contact .k:after{content:":"}footer{max-width:var(--col);margin:0 auto;padding:2.5rem clamp(1rem,4vw,2rem) 3rem;border-top:1px solid var(--line);font-family:var(--mono);font-size:.78rem;color:var(--muted)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor{animation:none}.card,.card:hover{transform:none;transition:none}}
