.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.2rem 3rem;display:flex;justify-content:space-between;align-items:center;background:#060b12b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,245,196,.05);transition:padding .3s,background .3s,border-color .3s}.navbar--scrolled{padding:.8rem 3rem;background:#060b12eb;border-bottom-color:#00f5c41f}.nav-logo{font-family:var(--ff-display);font-size:1.1rem;font-weight:800;color:var(--neon);letter-spacing:.05em;background:none;border:none;cursor:pointer}.nav-logo span{color:var(--text)}.nav-links{display:flex;gap:2.5rem}.nav-link{background:none;border:none;color:var(--muted);font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;position:relative;padding-bottom:2px;transition:color .2s}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--neon);transition:width .3s}.nav-link:hover,.nav-link--active{color:var(--neon)}.nav-link--active:after,.nav-link:hover:after{width:100%}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px}.hamburger span{display:block;width:22px;height:2px;background:var(--text);transition:.3s}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-drawer{position:absolute;top:100%;left:0;right:0;background:#060b12f7;border-bottom:1px solid var(--border);display:flex;flex-direction:column;padding:1rem 1.5rem 1.5rem}.mobile-link{background:none;border:none;border-bottom:1px solid var(--border);color:var(--text);font-family:var(--ff-mono);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;text-align:left;padding:.9rem 0;transition:color .2s}.mobile-link:hover{color:var(--neon)}@media (max-width: 768px){.navbar{padding:1rem 1.5rem}.navbar--scrolled{padding:.75rem 1.5rem}.nav-links{display:none}.hamburger{display:flex}}.home{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:130px 5vw 80px;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0}.orb--1{width:400px;height:400px;background:#00f5c412;top:5%;right:2%}.orb--2{width:300px;height:300px;background:#00aaff0f;bottom:5%;left:5%}.home-left{flex:0 1 55%;min-width:0;position:relative;z-index:1}.hero-tag{display:inline-flex;align-items:center;gap:.5rem;background:#00f5c412;border:1px solid rgba(0,245,196,.2);padding:.35rem .9rem;font-size:.7rem;letter-spacing:.2em;color:var(--neon);text-transform:uppercase;margin-bottom:1.5rem;animation:fadeUp .8s ease both}.hero-name{font-family:var(--ff-display);font-size:clamp(1.8rem,3.5vw,4rem);font-weight:800;color:#fff;line-height:1.1;margin-bottom:.3rem;animation:fadeUp .8s .1s ease both;white-space:nowrap}.hero-role{font-family:var(--ff-display);font-size:clamp(.9rem,1.5vw,1.4rem);font-weight:600;color:var(--neon);margin-bottom:1.5rem;animation:fadeUp .8s .2s ease both}.hero-desc{color:#9dc0db;font-size:.85rem;line-height:1.9;max-width:420px;margin-bottom:2rem;animation:fadeUp .8s .3s ease both}.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;animation:fadeUp .8s .4s ease both}.terminal{margin-top:2rem;background:#00000080;border:1px solid var(--border);border-top:2px solid var(--neon);padding:1rem 1.2rem;font-size:.72rem;max-width:360px;animation:fadeUp .8s .5s ease both}.terminal-line{color:#8aaccb;line-height:2.1}.t-cmd{color:var(--neon2)}.t-val{color:var(--neon)}.home-right{flex:0 0 auto;position:relative;z-index:1;animation:fadeUp .8s .2s ease both}.photo-frame{width:clamp(180px,22vw,300px);height:clamp(230px,28vw,380px);position:relative}.photo-frame:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(135deg,var(--neon),transparent 50%,var(--neon2));clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px))}.photo-frame:after{content:"";position:absolute;top:14px;left:14px;right:-14px;bottom:-14px;border:1px solid rgba(0,245,196,.12);clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));z-index:-1}.photo-inner{position:relative;z-index:1;width:100%;height:100%;background:var(--bg3);clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));overflow:hidden;display:flex;align-items:center;justify-content:center}.photo-img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(15%) contrast(1.05) brightness(1.05)}.photo-placeholder{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--muted);font-size:.65rem;letter-spacing:.08em;text-align:center;padding:1.5rem;line-height:1.8}.photo-placeholder__icon{width:72px;height:72px;border-radius:50%;background:#00f5c414;border:1px dashed rgba(0,245,196,.3);display:flex;align-items:center;justify-content:center;font-size:2rem}.photo-placeholder code{color:var(--neon);font-size:.62rem}@media (max-width: 768px){.home{flex-direction:column-reverse;padding-top:100px;text-align:center;gap:2rem}.home-left{flex:1}.hero-name{font-size:clamp(2rem,10vw,3rem);white-space:normal}.hero-btns{justify-content:center}.photo-frame{width:200px;height:260px}.terminal{max-width:100%}}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-top:3rem}.about-text p{color:#9dc0db;font-size:.85rem;line-height:2;margin-bottom:1.2rem}.about-text .hl{color:var(--neon)}.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);margin-top:2rem}.stat-box{background:var(--card);padding:1.2rem;text-align:center}.stat-num{display:block;font-family:var(--ff-display);font-size:2rem;font-weight:800;color:var(--neon)}.stat-label{font-size:.62rem;letter-spacing:.15em;color:var(--muted);text-transform:uppercase}.interest-item{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.2rem;padding:1rem;background:var(--card);border:1px solid var(--border);transition:border-color .2s}.interest-item:hover{border-color:#00f5c44d}.interest-icon{font-size:1.4rem;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#00f5c412;border:1px solid rgba(0,245,196,.15)}.interest-title{font-family:var(--ff-display);font-weight:700;font-size:.9rem;color:#fff;margin-bottom:.3rem}.interest-desc{font-size:.72rem;color:#9dc0db;line-height:1.7}@media (max-width: 768px){.about-grid{grid-template-columns:1fr;gap:2rem}}.projects-sub{color:#8aaccb;font-size:.82rem;margin-top:.5rem;margin-bottom:0}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:3rem}.project-card{background:var(--card);border:1px solid var(--border);padding:1.8rem;position:relative;display:flex;flex-direction:column;transition:transform .25s,border-color .25s;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--neon),var(--neon2));transform:scaleX(0);transform-origin:left;transition:transform .3s}.project-card:hover{transform:translateY(-4px);border-color:#00f5c433}.project-card:hover:before{transform:scaleX(1)}.project-card--featured{grid-column:span 2;border-color:#00f5c44d}.project-card--featured:before{transform:scaleX(1)}.project-number{font-size:.62rem;letter-spacing:.2em;color:#7aaccc;margin-bottom:.8rem}.project-title{font-family:var(--ff-display);font-weight:700;font-size:1.15rem;color:#fff;margin-bottom:.6rem}.project-desc{font-size:.78rem;color:#9dc0db;line-height:1.8;flex:1;margin-bottom:1.2rem}.project-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.2rem}.project-links{display:flex;gap:.8rem;margin-top:auto}.project-link{font-size:.68rem;letter-spacing:.1em;color:var(--neon);text-transform:uppercase;display:inline-flex;align-items:center;gap:.4rem;transition:opacity .2s}.project-link:hover{opacity:.7}.project-link--demo{background:var(--neon);color:#000;padding:.4rem 1rem;font-weight:700;letter-spacing:.1em}.project-link--demo:hover{opacity:.85;color:#000}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr}.project-card--featured{grid-column:span 1}}.skill-category{margin-bottom:2.8rem}.skill-cat-label{font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--neon2);margin-bottom:1.2rem;display:flex;align-items:center;gap:.8rem}.skill-cat-label:after{content:"";flex:1;height:1px;background:var(--border)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:.8rem}.skill-pill{background:var(--card);border:1px solid var(--border);padding:.9rem 1rem;display:flex;align-items:center;gap:.7rem;transition:border-color .2s,transform .2s}.skill-pill:hover{border-color:#00f5c44d;transform:translateY(-2px)}.skill-pill__icon{font-size:1.25rem;flex-shrink:0}.skill-pill__name{font-size:.72rem;color:#def;letter-spacing:.05em}.skill-bars-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 3rem}.skill-bar__top{display:flex;justify-content:space-between;margin-bottom:.4rem}.skill-bar__name{font-size:.72rem;color:#def}.skill-bar__pct{font-size:.65rem;color:var(--neon)}.skill-bar__track{height:3px;background:var(--border);overflow:hidden}.skill-bar__fill{height:100%;background:linear-gradient(90deg,var(--neon),var(--neon2));width:0;animation:fillBar 1.2s ease forwards}@media (max-width: 768px){.skill-bars-grid{grid-template-columns:1fr}}.edu-timeline{margin-top:3rem;position:relative;padding-left:2rem}.edu-timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,var(--neon),transparent)}.edu-item{position:relative;margin-bottom:3rem;padding-left:2rem}.edu-item:before{content:"";position:absolute;left:-2.45rem;top:.35rem;width:10px;height:10px;background:var(--neon);border-radius:50%;box-shadow:0 0 12px var(--neon)}.edu-date{font-size:.65rem;letter-spacing:.15em;color:var(--neon);text-transform:uppercase;margin-bottom:.4rem}.edu-degree{font-family:var(--ff-display);font-weight:700;font-size:1.1rem;color:#fff;margin-bottom:.2rem}.edu-school{font-size:.8rem;color:#8aaccb;margin-bottom:.8rem}.edu-desc{font-size:.75rem;color:#9dc0db;line-height:1.8}.edu-courses{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem}.contact-info p{font-size:.82rem;color:#9dc0db;line-height:2;margin-bottom:2rem}.contact-links{display:flex;flex-direction:column;gap:.8rem}.contact-link-item{display:flex;align-items:center;gap:1rem;padding:.9rem 1.2rem;background:var(--card);border:1px solid var(--border);transition:border-color .2s,color .2s}.contact-link-item:hover{border-color:#00f5c44d}.contact-link-icon{font-size:1.1rem;width:28px;text-align:center;flex-shrink:0}.contact-link-label{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#7aaccc;display:block;margin-bottom:.15rem}.contact-link-text{font-size:.78rem;color:#def}.contact-link-item:hover .contact-link-text{color:var(--neon)}.contact-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--neon)}.form-group input,.form-group textarea{background:var(--card);border:1px solid var(--border);color:var(--text);font-family:var(--ff-mono);font-size:.8rem;padding:.75rem 1rem;outline:none;transition:border-color .2s;width:100%;resize:vertical}.form-group input:focus,.form-group textarea:focus{border-color:#00f5c466}.form-group textarea{min-height:120px}.form-submit{background:var(--neon);color:#000;border:none;padding:.85rem 2rem;font-family:var(--ff-mono);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));transition:opacity .2s;align-self:flex-start}.form-submit:hover{opacity:.85}.form-submit:disabled{opacity:.6;cursor:wait}.form-feedback{font-size:.72rem;margin-top:.3rem}.form-feedback--ok{color:var(--neon)}.form-feedback--err{color:#ff5252}@media (max-width: 768px){.contact-grid{grid-template-columns:1fr;gap:2.5rem}}:root{--bg: #060b12;--bg2: #0a1220;--bg3: #0f1c2e;--neon: #00f5c4;--neon2: #00aaff;--neon3: #7b61ff;--text: #ddeeff;--muted: #8aaccb;--card: #0d1a28;--border: #1a2f45;--ff-display: "Syne", sans-serif;--ff-mono: "Space Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--ff-mono);overflow-x:hidden;cursor:none}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}ul{list-style:none}button{cursor:pointer;font-family:inherit}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,245,196,.018) 2px,rgba(0,245,196,.018) 4px);pointer-events:none;z-index:9990}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:9989;opacity:.4}.cursor-dot{width:10px;height:10px;background:var(--neon);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .15s,background .2s;mix-blend-mode:difference}.cursor-ring{width:34px;height:34px;border:1.5px solid var(--neon);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);opacity:.5}.grid-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(0,245,196,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,245,196,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}.section{min-height:100vh;padding:120px 5vw 80px;position:relative}.section--alt{background:var(--bg2)}.section--dark{background:var(--bg)}.section-label{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--neon);margin-bottom:.5rem}.section-title{font-family:var(--ff-display);font-size:clamp(2.2rem,5vw,4rem);font-weight:800;color:#fff;line-height:1.05;margin-bottom:1.5rem}.section-title .accent{color:var(--neon)}.btn-primary{display:inline-block;background:var(--neon);color:#000;padding:.75rem 2rem;font-family:var(--ff-mono);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:none;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));transition:opacity .2s,transform .2s}.btn-primary:hover{opacity:.85;transform:translateY(-2px)}.btn-ghost{display:inline-block;background:transparent;color:var(--neon);padding:.75rem 2rem;font-family:var(--ff-mono);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(0,245,196,.4);transition:background .2s,transform .2s}.btn-ghost:hover{background:#00f5c414;transform:translateY(-2px)}.tag{font-size:.6rem;letter-spacing:.12em;padding:.25rem .6rem;background:#00f5c414;border:1px solid rgba(0,245,196,.25);color:#7fffe0;text-transform:uppercase}.tag--blue{background:#00aaff17;border-color:#00aaff4d;color:#7dd8ff}.fade-in{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.fade-in.visible{opacity:1;transform:none}@keyframes blink{50%{opacity:0}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}@keyframes fillBar{to{width:var(--w)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.cursor-blink{display:inline-block;width:7px;height:13px;background:var(--neon);vertical-align:middle;animation:blink 1s step-end infinite}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--neon);animation:pulse 1.5s ease-in-out infinite}.site-footer{background:#030609;border-top:1px solid var(--border);padding:2rem 5vw;display:flex;justify-content:space-between;align-items:center;font-size:.65rem;letter-spacing:.12em;color:var(--muted)}@media (max-width: 768px){.section{padding:90px 1.5rem 60px}.site-footer{flex-direction:column;gap:.5rem;text-align:center}}
