@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--ink:#151515;--paper:#f2efe4;--acid:#d7ff35;--orange:#ff6b35;--blue:#4568ff;--muted:#706e66;--line:#151515;--shadow:6px 6px 0 #151515}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Space Grotesk',Arial,sans-serif;overflow-x:hidden}body.alt{--paper:#121212;--ink:#f2efe4;--line:#f2efe4;--shadow:6px 6px 0 #d7ff35;--muted:#b9b6aa}.scanlines{pointer-events:none;position:fixed;inset:0;z-index:99;opacity:.035;background:repeating-linear-gradient(0deg,#000 0,#000 1px,transparent 1px,transparent 4px)}.topbar{height:68px;border-bottom:3px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:sticky;top:0;background:var(--paper);z-index:50}.brand{font:700 22px 'IBM Plex Mono';color:var(--ink);text-decoration:none}.prompt{color:var(--orange)}.blink{animation:blink 1s steps(1) infinite}.topbar nav{display:flex;gap:28px}.topbar nav a{font:600 12px 'IBM Plex Mono';letter-spacing:.08em;color:var(--ink);text-decoration:none}.topbar nav a:hover{background:var(--acid);color:#111}.pixel-btn{display:inline-block;border:2px solid var(--line);padding:12px 16px;background:transparent;color:var(--ink);font:700 12px 'IBM Plex Mono';text-decoration:none;box-shadow:3px 3px 0 var(--line);transition:.12s;cursor:pointer}.pixel-btn:hover{transform:translate(3px,3px);box-shadow:0 0 0 var(--line);background:var(--orange);color:#111}.pixel-btn.primary{background:var(--acid);color:#111}.pixel-btn.tiny{padding:7px 10px}.hero{min-height:calc(100vh - 68px);display:grid;grid-template-columns:1.25fr .75fr;gap:6vw;align-items:center;padding:8vw 7vw}.eyebrow{font:600 11px 'IBM Plex Mono';letter-spacing:.12em;text-transform:uppercase}.hero h1{font-size:clamp(52px,8vw,126px);line-height:.78;letter-spacing:-.07em;margin:28px 0}.hero h1 span{-webkit-text-stroke:2px var(--ink);color:transparent}.role{font:700 clamp(14px,1.8vw,24px) 'IBM Plex Mono';margin:0 0 24px}.role span{color:var(--orange)}.intro{max-width:730px;font-size:18px;line-height:1.55}.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.terminal{border:3px solid var(--line);box-shadow:var(--shadow);background:#111;color:#e8e8df;min-height:340px;transform:rotate(1.5deg)}.terminal-head{height:42px;border-bottom:2px solid #777;display:flex;align-items:center;gap:7px;padding:0 12px;font:12px 'IBM Plex Mono'}.terminal-head span{width:10px;height:10px;background:var(--acid);display:block}.terminal-head span:nth-child(2){background:var(--orange)}.terminal-head span:nth-child(3){background:var(--blue)}.terminal-head b{margin-left:auto}.terminal pre{white-space:pre-wrap;padding:24px;font:500 14px/1.75 'IBM Plex Mono';color:var(--acid)}.status{border-top:1px dashed #777;padding:12px 20px;font:11px 'IBM Plex Mono'}.status i{display:inline-block;width:8px;height:8px;background:var(--acid);margin-right:8px;animation:pulse 1.5s infinite}.ticker{border-top:3px solid var(--line);border-bottom:3px solid var(--line);overflow:hidden;background:var(--acid);color:#111;white-space:nowrap}.ticker-track{font:700 13px 'IBM Plex Mono';display:flex;width:max-content;will-change:transform;transform:translate3d(0,0,0)}.ticker-group{flex:0 0 auto;white-space:nowrap;padding:12px 0}.section{padding:100px 7vw;border-bottom:3px solid var(--line)}.section-title{display:grid;grid-template-columns:70px auto 1fr;align-items:end;gap:18px;margin-bottom:55px}.section-title span{font:700 13px 'IBM Plex Mono';border:2px solid var(--line);padding:8px;text-align:center}.section-title h2{font-size:clamp(34px,5vw,68px);letter-spacing:-.05em;line-height:.9;margin:0}.section-title p{font:12px 'IBM Plex Mono';text-align:right;margin:0}.timeline{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.card{border:2px solid var(--line);padding:30px;position:relative;min-height:260px;transition:.18s;background:var(--paper)}.card:hover{transform:translate(-4px,-4px);box-shadow:var(--shadow)}.active-card:before{content:'ACTIVE';position:absolute;right:20px;top:20px;background:var(--acid);color:#111;padding:5px 8px;font:700 10px 'IBM Plex Mono'}.card-code{font:700 12px 'IBM Plex Mono';color:var(--orange)}.card h3,.project h3{font-size:25px;margin:25px 0 4px}.meta{font:600 12px 'IBM Plex Mono';color:var(--muted)}.card p{line-height:1.55}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.tags b{border:1px solid var(--line);padding:5px 7px;font:600 9px 'IBM Plex Mono'}.dark-section{background:#111;color:#eee}.dark-section .section-title span{border-color:#eee}.skill-grid{display:grid;grid-template-columns:repeat(4,1fr);border:2px solid #eee}.skill-grid article{padding:30px;border-right:2px solid #eee;min-height:280px}.skill-grid article:last-child{border:0}.skill-grid h3{font-size:24px}.skill-grid p{font:13px/1.5 'IBM Plex Mono';border-top:1px dashed #777;padding-top:10px}.skill-grid small{color:var(--acid)}.pixel-icon{font:700 36px 'IBM Plex Mono';color:var(--acid)}.route{max-width:900px;margin:auto}.route article{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:25px 0;border-bottom:2px dashed var(--line)}.route-dot{width:48px;height:48px;background:var(--blue);color:white;display:grid;place-items:center;font:700 16px 'IBM Plex Mono';box-shadow:4px 4px 0 var(--line)}.route h3{font-size:25px;margin:0 0 5px}.route p{font:600 13px 'IBM Plex Mono';margin:0 0 8px}.route small{color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project{border:2px solid var(--line);padding:28px;min-height:260px;position:relative;overflow:hidden}.project:after{content:'';position:absolute;width:80px;height:80px;background:var(--acid);right:-35px;bottom:-35px;transform:rotate(45deg)}.project span{font:700 11px 'IBM Plex Mono';color:var(--blue)}.project p{line-height:1.6}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px}.two-col>div{border-left:6px solid var(--orange);padding-left:25px}.two-col h3{font:700 12px 'IBM Plex Mono';text-transform:uppercase}.bigline{font-size:24px;font-weight:700;margin-bottom:0}.bigline+p{margin-top:4px;color:var(--muted)}.contact-section{text-align:center;padding:120px 7vw;background:var(--blue);color:white;border-bottom:3px solid #111}.contact-section h2{font-size:clamp(50px,9vw,130px);line-height:.82;letter-spacing:-.07em;margin:30px 0}.contact-section>p:not(.eyebrow):not(.languages){font-size:18px}.centered{justify-content:center}.contact-section .pixel-btn{border-color:white;color:white;box-shadow:3px 3px 0 white}.contact-section .pixel-btn.primary{color:#111;border-color:#111;box-shadow:3px 3px 0 #111}.languages{font:600 11px 'IBM Plex Mono';margin-top:45px}footer{display:flex;justify-content:space-between;padding:22px 4vw;background:#111;color:#eee;font:10px 'IBM Plex Mono'}@keyframes blink{50%{opacity:0}}@keyframes pulse{50%{opacity:.25}}@media(max-width:850px){.topbar nav{display:none}.hero{grid-template-columns:1fr;padding:70px 6vw}.hero h1{font-size:16vw}.terminal{min-height:280px;transform:none}.timeline,.project-grid,.two-col{grid-template-columns:1fr}.skill-grid{grid-template-columns:1fr 1fr}.skill-grid article:nth-child(2){border-right:0}.skill-grid article{border-bottom:2px solid #eee}.section{padding:75px 6vw}.section-title{grid-template-columns:50px 1fr}.section-title p{display:none}}@media(max-width:520px){.skill-grid{grid-template-columns:1fr}.skill-grid article{border-right:0}.section-title h2{font-size:38px}.intro{font-size:16px}.hero h1 span{-webkit-text-stroke:1px var(--ink)}.cta-row .pixel-btn{flex:1;text-align:center}.route article{grid-template-columns:50px 1fr}.terminal pre{font-size:12px;padding:18px}footer{gap:15px;flex-direction:column}}

.award-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.award-card{border:2px solid var(--line);padding:28px;display:flex;align-items:flex-start;gap:22px;min-height:150px;transition:.18s}.award-card:hover{transform:translate(-4px,-4px);box-shadow:var(--shadow)}.award-mark{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;background:var(--acid);color:#111;font:700 12px 'IBM Plex Mono';border:2px solid var(--line)}.award-card h3{font-size:24px;margin:2px 0 7px}.award-card p{margin:0;color:var(--muted);line-height:1.5}.life-section{background:color-mix(in srgb,var(--paper) 94%,var(--acid) 6%)}.interest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.interest-grid span{border:2px solid var(--line);padding:18px 14px;display:flex;align-items:center;gap:10px;font:600 12px 'IBM Plex Mono';transition:.15s;background:var(--paper)}.interest-grid span:hover{background:var(--acid);color:#111;transform:translate(-2px,-2px);box-shadow:3px 3px 0 var(--line)}.interest-grid b{font-weight:700}@media(max-width:850px){.award-grid{grid-template-columns:1fr}}@media(max-width:520px){.interest-grid{grid-template-columns:1fr}}
