:root{--bg:#00050c;--panel-2:#00142b;--line:#12335c;--accent:#2457e6;--accent-2:#5f8dff;--white:#fff;--muted:#8aa2c8;--radius:2px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:70px}body{background:var(--bg);color:var(--white);background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);padding-top:env(safe-area-inset-top,0px);background-size:48px 48px;background-attachment:fixed;font-family:Inconsolata,monospace;font-size:16px;line-height:1.6}.halo{pointer-events:none;z-index:0;background:radial-gradient(600px 400px at 15% 0,#2457e640,#0000 60%),radial-gradient(500px 500px at 100% 30%,#2457e61f,#0000 60%);position:fixed;inset:0}h1,h2,h3{letter-spacing:.5px;font-family:Silkscreen,monospace;font-weight:400}a{color:inherit}.wrap{z-index:1;max-width:880px;margin:0 auto;padding:0 24px;position:relative}::selection{background:var(--accent);color:var(--white)}nav{z-index:10;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px);background:#00050cbf;position:sticky;top:0}nav .wrap{justify-content:space-between;align-items:center;height:60px;display:flex}.logo{color:var(--white);font-family:Silkscreen,monospace;font-size:15px}.logo .blink{color:var(--accent-2);animation:1.1s step-end infinite blink}@keyframes blink{50%{opacity:0}}nav ul{gap:22px;list-style:none;display:flex}nav a{color:var(--muted);font-size:13px;text-decoration:none;transition:color .15s}nav a:hover,nav a:focus-visible{color:var(--white);outline:none}section{border-bottom:1px solid var(--line);z-index:1;padding:80px 0;position:relative}.kicker{color:var(--accent-2);margin-bottom:10px;font-size:13px}.kicker:before{content:"// ";color:var(--muted)}h2{color:var(--white);margin-bottom:34px;font-size:26px}.hero{border-bottom:1px solid var(--line);padding:70px 0 90px}.term{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);max-width:620px}.term-bar{border-bottom:1px solid var(--line);gap:6px;padding:10px 14px;display:flex}.term-bar span{background:var(--line);border-radius:50%;width:9px;height:9px}.term-body{color:var(--accent-2);padding:20px 18px;font-size:14px}.term-body .c{color:var(--muted)}.hero h1{color:var(--white);margin:28px 0 14px;font-size:44px;line-height:1.25}.hero h1 span{color:var(--accent-2)}.hero p.lead{max-width:56ch;color:var(--muted);margin-bottom:30px;font-size:16px}.cta-row{flex-wrap:wrap;gap:14px;display:flex}.btn{border-radius:var(--radius);border:1px solid var(--accent);padding:12px 22px;font-family:Inconsolata,monospace;font-size:14px;font-weight:600;text-decoration:none;transition:transform .15s,background .15s;display:inline-block}.btn-fill{background:var(--accent);color:var(--white)}.btn-fill:hover{background:var(--accent-2)}.btn-line{color:var(--white);border-color:var(--line)}.btn-line:hover{border-color:var(--accent)}.skill-groups{grid-template-columns:repeat(2,1fr);gap:30px;display:grid}.skill-group h3{color:var(--accent-2);margin-bottom:12px;font-family:Inconsolata,monospace;font-size:13px;font-weight:700}.chips,.tags{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);color:var(--white);padding:6px 12px;font-size:13px}.timeline{border-left:1px solid var(--line);padding-left:26px;position:relative}.tl-item{padding-bottom:38px;position:relative}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:"";background:var(--accent);border-radius:50%;width:9px;height:9px;position:absolute;top:4px;left:-31px;box-shadow:0 0 0 4px #2457e633}.tl-role{color:var(--white);font-size:16px;font-weight:700}.tl-meta{color:var(--accent-2);margin:4px 0 8px;font-size:13px}.tl-desc{color:var(--muted);max-width:64ch;font-size:14px}.grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.card{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:border-color .15s}.card:hover{border-color:var(--accent)}.card h3{color:var(--white);margin-bottom:8px;font-family:Inconsolata,monospace;font-size:16px;font-weight:700}.card p{color:var(--muted);margin-bottom:14px;font-size:14px}.tags{gap:6px;margin-bottom:14px}.tag{color:var(--accent-2);border:1px solid var(--line);border-radius:var(--radius);padding:3px 8px;font-size:11px}.card a.link{color:var(--white);border-bottom:1px solid var(--accent);font-size:13px;text-decoration:none}.services{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}.svc{background:var(--bg);padding:26px}.svc h3{color:var(--white);margin-bottom:8px;font-family:Inconsolata,monospace;font-size:15px;font-weight:700}.svc p{color:var(--muted);font-size:14px}.contact-box{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);text-align:left;padding:40px}.contact-box p{color:var(--muted);max-width:52ch;margin-bottom:22px}.email-line{color:var(--white);margin-bottom:22px;font-size:18px}.email-line a{color:var(--accent-2);border-bottom:1px solid var(--accent);text-decoration:none}footer{padding:34px 0}footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.socials{gap:18px;list-style:none;display:flex}.socials a{color:var(--muted);font-size:13px;text-decoration:none}.socials a:hover{color:var(--accent-2)}.copy{color:var(--muted);font-size:12px}@media (width<=720px){nav ul{display:none}.hero h1{font-size:32px}.skill-groups,.grid-2,.services{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.logo .blink{animation:none}html{scroll-behavior:auto}}
