:root{--night: #070a12;--night-2: #0d1220;--panel: #111828;--line: #1f2940;--ink: #e9edf6;--ink-dim: #9aa6c0;--ink-faint: #6b7794;--amber: #ffb454;--amber-ink: #1a1204;--sky: #7fb5ff;--font-display: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--font-body: "Instrument Sans", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--gutter: clamp(1.25rem, 5vw, 4rem);--maxw: 72rem;--nav-h: 4rem}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 1rem);-webkit-text-size-adjust:100%}body{margin:0;background:var(--night);color:var(--ink);font-family:var(--font-body);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}#sky{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}main,.footer,.nav{position:relative;z-index:1}a{color:inherit}img,svg{max-width:100%;display:block}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:4px}.skip{position:absolute;left:1rem;top:-4rem;background:var(--amber);color:var(--amber-ink);padding:.5rem 1rem;border-radius:6px;z-index:100}.skip:focus{top:1rem}.nav{position:sticky;top:0;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);background:#070a12b8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .25s;z-index:50}.nav.scrolled{border-bottom-color:var(--line)}.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none}.brand-mark{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--amber);color:var(--amber-ink);font-family:var(--font-display);font-weight:800;font-size:1rem;letter-spacing:-.02em}.brand-name{font-family:var(--font-mono);font-size:.9rem;color:var(--ink-dim)}.nav-links{display:flex;gap:1.75rem}.nav-links a{text-decoration:none;font-size:.95rem;color:var(--ink-dim);padding:.25rem 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.nav-links a:hover{color:var(--ink)}.nav-links a.active{color:var(--ink);border-bottom-color:var(--amber)}.nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--ink);font:inherit;font-size:.9rem;padding:.4rem .9rem;border-radius:999px;cursor:pointer}.section{max-width:var(--maxw);margin:0 auto;padding:clamp(4rem,9vw,7.5rem) var(--gutter) 0}.kicker{font-family:var(--font-mono);font-size:.85rem;color:var(--amber);margin-bottom:.9rem}h2{font-family:var(--font-display);font-weight:700;font-size:clamp(1.9rem,4.2vw,3rem);line-height:1.1;letter-spacing:-.02em;max-width:22ch;text-wrap:balance}h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em}.hero{max-width:var(--maxw);margin:0 auto;padding:clamp(3rem,8vw,6rem) var(--gutter) clamp(3rem,6vw,5rem);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;min-height:calc(100svh - var(--nav-h))}.hero-place{font-family:var(--font-mono);font-size:.85rem;color:var(--sky);margin-bottom:1.25rem}.hero h1{font-family:var(--font-display);font-weight:800;font-size:clamp(2.75rem,7.5vw,5.75rem);line-height:.98;letter-spacing:-.035em;text-wrap:balance}.hero-lead{margin-top:1.5rem;max-width:34ch;font-size:clamp(1.1rem,2vw,1.35rem);color:var(--ink-dim);line-height:1.5}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.socials{display:flex;gap:1.25rem;margin-top:2rem}.socials a{font-size:.95rem;color:var(--ink-dim);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px;transition:color .2s,text-decoration-color .2s}.socials a:hover{color:var(--ink);text-decoration-color:var(--amber)}.btn{display:inline-flex;align-items:center;justify-content:center;font:600 .95rem/1 var(--font-body);text-decoration:none;color:var(--ink);background:transparent;border:1px solid var(--line);padding:.9rem 1.4rem;border-radius:999px;cursor:pointer;transition:border-color .2s,background .2s,transform .15s}.btn:hover{border-color:var(--ink-faint);background:#ffffff0a}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--amber);border-color:var(--amber);color:var(--amber-ink)}.btn-primary:hover{background:#ffc374;border-color:#ffc374}.terminal{background:linear-gradient(180deg,var(--panel),var(--night-2));border:1px solid var(--line);border-radius:14px;box-shadow:0 30px 80px -30px #000000b3,0 0 0 1px #7fb5ff0a;overflow:hidden}.terminal-bar{display:flex;align-items:center;gap:.45rem;padding:.8rem 1rem;border-bottom:1px solid var(--line)}.terminal-bar span{width:.65rem;height:.65rem;border-radius:50%;background:var(--line)}.terminal-bar span:first-child{background:#3a4660}.terminal-bar b{margin-left:.6rem;font:400 .78rem var(--font-mono);color:var(--ink-faint)}.terminal-body{margin:0;padding:1.25rem 1.25rem 1.5rem;min-height:25rem;font:400 .88rem/1.75 var(--font-mono);color:var(--ink-dim);white-space:pre-wrap;word-break:break-word}.terminal-body .p{color:var(--sky)}.terminal-body .c{color:var(--ink)}.terminal-body .o{color:var(--amber)}.terminal-body .cursor{display:inline-block;width:.55em;height:1.05em;vertical-align:-.15em;background:var(--amber);animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.marquee{overflow:hidden;border-block:1px solid var(--line);background:#0d122099}.marquee-track{display:flex;width:max-content;gap:2.5rem;padding:1rem 0;animation:slide 38s linear infinite}.marquee-track span{font:500 .85rem var(--font-mono);color:var(--ink-faint);white-space:nowrap}.marquee-track span:after{content:"/";margin-left:2.5rem;color:var(--line)}@keyframes slide{to{transform:translate(-50%)}}.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4rem);margin-top:2.5rem}.prose{display:grid;gap:1.1rem;max-width:56ch;color:var(--ink-dim)}.cards3{display:grid;gap:1rem}.mini{padding:1.25rem 1.4rem;border-left:2px solid var(--line);transition:border-color .25s}.mini:hover{border-left-color:var(--amber)}.mini h3{font-size:1.1rem;margin-bottom:.35rem}.mini p{color:var(--ink-dim);font-size:.98rem;line-height:1.55}.timeline{margin-top:2.5rem;border-top:1px solid var(--line)}.job{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:1.5rem clamp(2rem,5vw,4rem);padding:2rem 0;border-bottom:1px solid var(--line)}.job-head h3{font-size:1.35rem}.org{color:var(--amber);margin-top:.25rem;font-weight:500}.job-body p{color:var(--ink-dim);max-width:58ch}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}.tags li{font:400 .78rem var(--font-mono);color:var(--ink-dim);border:1px solid var(--line);padding:.3rem .7rem;border-radius:999px}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:2.5rem}.project{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color .25s,transform .25s}.project:hover{border-color:#33415f;transform:translateY(-2px)}.project-body{padding:1.6rem 1.6rem 1.75rem;display:flex;flex-direction:column;flex:1}.project-body .tags{margin-top:auto;padding-top:1.1rem}.project h3{font-size:1.35rem;margin-bottom:.6rem}.project p:not(.meta){color:var(--ink-dim);font-size:.98rem;line-height:1.6}.meta{font:400 .78rem var(--font-mono);color:var(--sky);margin-bottom:.6rem}.project-feature{grid-column:1 / -1;flex-direction:row}.project-feature .project-visual{flex:0 0 38%}.project-visual{display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,rgba(127,181,255,.14),transparent 60%),var(--night-2);color:var(--sky);border-right:1px solid var(--line);padding:1.5rem}.project-visual svg{width:100%;max-width:20rem}.project-visual circle:nth-child(5){color:var(--amber)}.edu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,4vw,3rem);margin-top:2.5rem}.col-title{font-size:1rem;color:var(--ink-faint);font-weight:500;padding-bottom:.9rem;border-bottom:1px solid var(--line);margin-bottom:.5rem}.edu-list li,.certs li{display:flex;flex-direction:column;gap:.15rem;padding:.9rem 0;border-bottom:1px solid var(--line)}.edu-list strong,.certs strong{font-family:var(--font-display);font-size:1.1rem;font-weight:700}.edu-list span,.certs span{color:var(--ink-dim);font-size:.92rem}.certs-next strong{color:var(--amber)}.stack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem clamp(2rem,5vw,4rem);margin-top:2.5rem}.stack-col h3{font-size:1.1rem}.contact{padding-bottom:clamp(4rem,9vw,7rem)}.contact h2{font-size:clamp(2.5rem,7vw,5rem);max-width:none}.contact-lead{margin-top:1.25rem;max-width:50ch;color:var(--ink-dim);font-size:1.15rem}.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:2rem}.status{font-size:.9rem;color:var(--amber)}.contact-meta{margin-top:2rem;font:400 .85rem var(--font-mono);color:var(--ink-faint)}.footer{max-width:var(--maxw);margin:0 auto;padding:1.75rem var(--gutter) 2.5rem;display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);font-size:.9rem;color:var(--ink-faint)}.footer a{text-decoration:none}.footer a:hover{color:var(--ink)}@media(max-width:62rem){.hero{grid-template-columns:1fr;min-height:0}.profile-grid,.edu-grid{grid-template-columns:1fr}}@media(max-width:52rem){.nav-toggle{display:inline-block}.nav-links{position:absolute;top:var(--nav-h);left:0;right:0;flex-direction:column;gap:0;padding:.5rem var(--gutter) 1rem;background:#070a12f5;border-bottom:1px solid var(--line);display:none}.nav-links.open{display:flex}.nav-links a{padding:.85rem 0;border-bottom:1px solid var(--line)}.job{grid-template-columns:1fr;gap:.75rem}.projects,.stack-grid{grid-template-columns:1fr}.project-feature{flex-direction:column}.project-feature .project-visual{flex-basis:auto;border-right:0;border-bottom:1px solid var(--line)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee-track,.terminal-body .cursor{animation:none}.project,.btn,.mini{transition:none}}
