@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--bg:#070a08;--panel:#0c110e;--panel2:#101611;--line:#1b261f;--text:#f2f7f3;--muted:#94a39a;--green:#54e38e;--green2:#20b866;--shadow:0 20px 70px #00000047}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;font-family:Manrope,system-ui,sans-serif;line-height:1.65}body:before{content:"";pointer-events:none;z-index:-1;background-image:linear-gradient(#54e38e06 1px,#0000 1px),linear-gradient(90deg,#54e38e06 1px,#0000 1px);background-size:44px 44px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}a{color:inherit;text-decoration:none}.shell{width:min(1160px,100% - 40px);margin-inline:auto}.muted{color:#5e6d64}.nav-wrap{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#070a08d6;border-bottom:1px solid #54e38e12;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;height:72px;display:flex}.brand{letter-spacing:.04em;align-items:center;gap:11px;font:500 13px DM Mono,monospace;display:flex}.brand-mark{width:31px;height:31px;color:var(--green);background:#0b140e;border:1px solid #54e38e73;place-items:center;display:grid}.nav-links{text-transform:uppercase;color:#8d9b92;align-items:center;gap:26px;font:400 12px DM Mono,monospace;display:flex}.nav-links a:hover{color:var(--green)}.nav-github{border:1px solid var(--line);color:var(--text);align-items:center;gap:7px;padding:8px 11px;display:flex}.mobile-toggle{color:var(--text);background:0 0;border:0;display:none}.hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:70px;min-height:calc(100vh - 72px);padding-block:90px;display:grid}.status-pill{color:#88a294;letter-spacing:.08em;background:#0a120d;border:1px solid #1b3425;align-items:center;gap:9px;padding:7px 10px;font:500 10px DM Mono,monospace;display:inline-flex}.pulse{background:var(--green);width:7px;height:7px;box-shadow:0 0 14px var(--green);border-radius:50%}.hero-kicker,.eyebrow{letter-spacing:.12em;color:var(--green);text-transform:uppercase;font:500 11px DM Mono,monospace}.hero-kicker{margin:34px 0 12px}.hero h1{letter-spacing:-.065em;margin:0;font-size:clamp(54px,7vw,90px);font-weight:800;line-height:.98}.hero h1 span{color:var(--green)}.hero-text{color:#a8b5ad;max-width:630px;margin:26px 0 30px;font-size:17px}.hero-actions{flex-wrap:wrap;gap:11px;display:flex}.btn{border:1px solid var(--line);justify-content:center;align-items:center;gap:9px;padding:12px 16px;font-size:13px;font-weight:700;transition:all .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--green);color:#06100a;border-color:var(--green)}.btn.secondary{color:#e6eee8;background:#0c110e}.hero-meta{color:#728178;flex-wrap:wrap;gap:20px;margin-top:27px;font:400 11px DM Mono,monospace;display:flex}.hero-meta span{align-items:center;gap:7px;display:flex}.terminal-card{box-shadow:var(--shadow);background:#080c09;border:1px solid #243027;position:relative}.terminal-bar{color:#64736a;border-bottom:1px solid #1c261f;align-items:center;gap:12px;height:42px;padding:0 13px;font:400 10px DM Mono,monospace;display:flex}.terminal-dots{gap:5px;display:flex}.terminal-dots i{background:#344039;border-radius:50%;width:7px;height:7px;display:block}.terminal-live{color:#56b97e;margin-left:auto}.terminal-body{color:#b8c4bc;min-height:380px;padding:26px 27px 34px;font:400 13px/1.75 DM Mono,monospace}.prompt{color:var(--green);margin-right:10px}.output{color:#e5ede7}.spacer{height:18px}.cursor{color:var(--green);animation:1s infinite blink}@keyframes blink{50%{opacity:0}}.section{padding-block:110px}.section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;margin-bottom:30px;padding-bottom:20px;display:flex}.section-head h2{letter-spacing:-.045em;margin:0;font-size:clamp(30px,4vw,48px);line-height:1}.skills-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.skill-card,.timeline-card,.repo-card{border:1px solid var(--line);background:#0c110ec2}.skill-card{min-height:190px;padding:22px;transition:border-color .2s}.skill-card:hover{border-color:#294334}.skill-icon{width:36px;height:36px;color:var(--green);background:#0b160f;border:1px solid #20362a;place-items:center;margin-bottom:18px;display:grid}.skill-card h3{margin:0 0 14px;font-size:14px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips span{color:#94a49a;background:#0a0f0c;border:1px solid #202b24;padding:5px 7px;font:400 10px DM Mono,monospace}.projects-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.project-card{border:1px solid var(--line);background:linear-gradient(145deg,#0c110e,#090d0b);flex-direction:column;transition:border-color .2s;display:flex;overflow:hidden}.project-card:hover{border-color:#34513f}.project-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 17px;font:400 10px DM Mono,monospace;display:flex}.project-number{color:var(--green)}.project-type{color:#66756c}.project-content{padding:25px 24px 20px}.project-content h3{letter-spacing:-.03em;margin:8px 0 12px;font-size:27px;line-height:1.12}.project-content>p:not(.eyebrow){color:#89988f;margin:0 0 17px;font-size:13px}.project-visual{margin-top:auto;padding:0 24px 20px}.project-visual img{aspect-ratio:16/7;object-fit:cover;background:#f8faf8;border:1px solid #1b2820;width:100%;display:block}.project-footer{border-top:1px solid var(--line);padding:15px 20px}.project-footer a{color:var(--green);justify-content:space-between;align-items:center;font:500 11px DM Mono,monospace;display:flex}.timeline{position:relative}.timeline:before{content:"";background:#1f2b23;width:1px;position:absolute;top:0;bottom:0;left:7px}.timeline-item{grid-template-columns:16px 1fr;gap:25px;padding-bottom:20px;display:grid}.timeline-marker{z-index:2;padding-top:22px;position:relative}.timeline-marker span{border:3px solid var(--bg);background:#39463e;width:15px;height:15px;display:block;box-shadow:0 0 0 1px #314036}.timeline-item.current .timeline-marker span{background:var(--green);box-shadow:0 0 0 1px #3e8058,0 0 16px #54e38e40}.timeline-card{padding:24px 26px}.timeline-meta{color:#6f7d75;text-transform:uppercase;align-items:center;gap:9px;font:400 10px DM Mono,monospace;display:flex}.timeline-meta b{color:#06100a;background:var(--green);padding:3px 5px;font-size:9px}.timeline-card h3{margin:9px 0 0;font-size:22px}.timeline-card h4{color:var(--green);margin:2px 0 15px;font:500 12px DM Mono,monospace}.timeline-card ul{color:#8d9b92;margin:0;padding-left:18px;font-size:13px}.timeline-card li+li{margin-top:7px}.education-card{border:1px solid var(--line);background:#0a0f0c;align-items:center;gap:15px;margin-top:15px;padding:22px;display:flex}.education-card .skill-icon{margin:0}.education-card h3{margin:3px 0;font-size:15px}.education-card p{color:#78867d;margin:0;font-size:12px}.infra-layout{grid-template-columns:.85fr 1.15fr;align-items:stretch;gap:25px;display:grid}.lead{color:#9baaa1;max-width:520px;font-size:17px}.infra-points{margin-top:32px}.infra-point{border-top:1px solid var(--line);grid-template-columns:35px 1fr;gap:13px;padding:17px 0;display:grid}.infra-point>span{color:var(--green);padding-top:3px;font:400 10px DM Mono,monospace}.infra-point h3{margin:0 0 3px;font-size:14px}.infra-point p{color:#76847b;margin:0;font-size:12px}.infra-diagram{border:1px solid var(--line);background:#f6f8f6;place-items:center;min-height:470px;padding:18px;display:grid}.infra-diagram img{width:100%;max-height:470px}.learning-strip{border:1px solid var(--line);grid-template-columns:1fr 1fr;margin-top:20px;display:grid}.learning-strip>div{padding:22px}.learning-strip>div+div{border-left:1px solid var(--line)}.learning-strip h3{margin:7px 0 0;font-size:14px}.github-panel{background:#0b130e;border:1px solid #25402f;justify-content:space-between;align-items:center;gap:20px;padding:27px;display:flex}.github-panel>div{align-items:center;gap:18px;display:flex}.github-panel p{color:#8d9c92;max-width:570px;margin:0;font-size:13px}.github-panel svg{color:var(--green)}.repo-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.repo-card{justify-content:space-between;align-items:center;padding:19px;transition:all .2s;display:flex}.repo-card:hover{border-color:#34513f;transform:translateY(-2px)}.repo-card span{color:var(--green);text-transform:uppercase;font:400 9px DM Mono,monospace}.repo-card h3{margin:6px 0 0;font-size:14px}.repo-card>svg{color:#617068}.contact{padding-bottom:80px}.contact-box{background:linear-gradient(120deg,#0b130e,#0a0f0c);border:1px solid #284333;justify-content:space-between;align-items:end;gap:30px;padding:45px;display:flex}.contact-box h2{letter-spacing:-.05em;max-width:680px;margin:10px 0 14px;font-size:clamp(32px,4vw,56px);line-height:1}.contact-box p{color:#87958c;max-width:620px;font-size:13px}.contact-actions{flex-wrap:wrap;gap:9px;display:flex}.footer{border-top:1px solid var(--line);color:#5f6c64;letter-spacing:.06em;justify-content:space-between;padding:25px 0 35px;font:400 9px DM Mono,monospace;display:flex}.footer a{color:#8a988f}.footer a:hover{color:var(--green)}@media (width<=900px){.nav-links{border-bottom:1px solid var(--line);background:#080c09;flex-direction:column;align-items:stretch;gap:0;padding:16px 20px;display:none;position:absolute;top:72px;left:0;right:0}.nav-links.open{display:flex}.nav-links a{padding:12px}.mobile-toggle{display:block}.hero{grid-template-columns:1fr;gap:45px;padding-top:65px}.terminal-card{max-width:700px}.skills-grid{grid-template-columns:1fr 1fr}.infra-layout,.projects-grid{grid-template-columns:1fr}.infra-diagram{min-height:auto}.contact-box{flex-direction:column;align-items:flex-start}}@media (width<=600px){.shell{width:min(100% - 28px,1160px)}.hero{padding-block:55px 70px}.hero h1{font-size:52px}.hero-text{font-size:15px}.section{padding-block:75px}.section-head{display:block}.section-head h2{margin-top:10px}.skills-grid,.repo-grid,.learning-strip{grid-template-columns:1fr}.learning-strip>div+div{border-left:0;border-top:1px solid var(--line)}.timeline-card{padding:20px}.project-content h3{font-size:23px}.project-visual{padding-inline:15px}.github-panel{flex-direction:column;align-items:flex-start}.contact-box{padding:28px 22px}.footer{flex-direction:column;gap:10px}.hero-meta{gap:10px}.terminal-body{padding:22px 18px;font-size:11px}.status-pill{font-size:9px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor{animation:none}.btn,.repo-card{transition:none}}.hero-actions-secondary{flex-wrap:wrap;gap:11px;margin-top:9px;display:flex}.btn.hire{color:var(--green);border-color:var(--green);background:0 0;font-weight:700}.btn.hire:hover{background:#54e38e14}.contact-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.ls-wrapper{z-index:9999;pointer-events:all;position:fixed;inset:0}.ls-wrapper.ls-exit{pointer-events:none}.ls-shutter{background:var(--bg);z-index:9999;will-change:transform;width:100vw;transition:transform .8s cubic-bezier(.76,0,.24,1);position:fixed;left:0;right:0}.ls-shutter-top{border-bottom:1px solid #0000;height:calc(50vh + 1px);transition:border-color .2s,transform .8s cubic-bezier(.76,0,.24,1);top:0;transform:translateY(0)}.ls-shutter-bottom{border-top:1px solid #0000;height:calc(50vh + 1px);transition:border-color .2s,transform .8s cubic-bezier(.76,0,.24,1);bottom:0;transform:translateY(0)}.ls-wrapper.ls-seam .ls-shutter-top{border-bottom-color:#54e38e59}.ls-wrapper.ls-seam .ls-shutter-bottom{border-top-color:#54e38e59}.ls-wrapper.ls-exit .ls-shutter-top{transform:translateY(-100%)}.ls-wrapper.ls-exit .ls-shutter-bottom{transform:translateY(100%)}.ls-loader{z-index:10000;pointer-events:none;opacity:1;justify-content:center;align-items:center;padding-bottom:72px;transition:opacity .25s,transform .25s;display:flex;position:fixed;inset:0;transform:translateY(0)}.ls-wrapper.ls-exit .ls-loader{opacity:0;transform:translateY(-24px)}.ls-bar{background:var(--panel);border:1px solid #54e38e3d;width:360px;height:42px;position:relative;overflow:hidden;box-shadow:0 4px 30px #000c,0 0 24px #54e38e0a}.ls-fill{transform-origin:0;will-change:transform;background:#54e38e24;animation:linear forwards ls-sweep;position:absolute;inset:0;transform:scaleX(0)}@keyframes ls-sweep{to{transform:scaleX(1)}}.ls-label{color:var(--green);letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;z-index:2;pointer-events:none;align-items:center;padding:0 16px;font:400 12px/1 DM Mono,monospace;transition:opacity .14s;display:flex;position:absolute;inset:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.ls-shutter{transition:opacity .25s}.ls-wrapper.ls-exit .ls-shutter-top,.ls-wrapper.ls-exit .ls-shutter-bottom{opacity:0;transform:none}.ls-fill{animation:none;transform:scaleX(1)}.ls-label{transition:none}}@media (width<=600px){.ls-loader{padding-bottom:52px}.ls-bar{width:min(340px,100vw - 40px);height:40px}.ls-label{padding:0 12px;font-size:11px}}
