@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Space+Mono:wght@400;700&family=Inter:wght@300;400;500;600&display=swap";:root{--neon:#39ff14;--neon-dim:#1a7a09;--neon-glow:#39ff1426;--bg:#060606;--bg2:#0d0d0d;--bg3:#111;--text:#e8e8e8;--muted:#555;--border:#1a1a1a;--font-display:"Bebas Neue", sans-serif;--font-mono:"Space Mono", monospace;--font-body:"Inter", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font-body);cursor:none;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:none;font:inherit;background:0 0;border:none}body:before{content:"";pointer-events:none;z-index:9000;opacity:.35;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");position:fixed;inset:0}section{padding:120px 64px}.section-num{font-family:var(--font-mono);color:var(--neon);letter-spacing:4px;margin-bottom:16px;font-size:11px}.section-title{font-family:var(--font-display);letter-spacing:-2px;margin-bottom:56px;font-size:clamp(64px,8vw,110px);line-height:.92}.section-title span{color:var(--neon)}.reveal{opacity:0;transition:opacity .85s,transform .85s;transform:translateY(40px)}.reveal.visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}@media (width<=768px){section{padding:80px 24px}.section-title{font-size:clamp(52px,14vw,80px)}}.cursor-dot{background:var(--neon);pointer-events:none;z-index:9999;mix-blend-mode:difference;border-radius:50%;width:10px;height:10px;transition:width .2s,height .2s;position:fixed;transform:translate(-50%,-50%)}.cursor-ring{border:1px solid var(--neon);pointer-events:none;z-index:9998;opacity:.5;border-radius:50%;width:36px;height:36px;transition:width .2s,height .2s,opacity .2s;position:fixed;transform:translate(-50%,-50%)}.cursor-dot.cursor-hover{width:20px;height:20px}.cursor-ring.ring-hover{opacity:.8;width:54px;height:54px}@media (width<=768px){.cursor-dot,.cursor-ring{display:none}}.navbar{z-index:100;justify-content:space-between;align-items:center;padding:28px 64px;transition:background .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s;display:flex;position:fixed;top:0;left:0;right:0}.navbar:after{content:"";background:linear-gradient(90deg, transparent, var(--neon), transparent);opacity:.15;height:1px;position:absolute;bottom:0;left:64px;right:64px}.navbar--scrolled{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#060606eb}.navbar-logo{font-family:var(--font-display);letter-spacing:4px;color:var(--neon);font-size:22px}.navbar-links{gap:40px;list-style:none;display:flex}.navbar-link{font-family:var(--font-mono);color:var(--muted);letter-spacing:2px;text-transform:uppercase;font-size:11px;transition:color .3s}.navbar-link:hover{color:var(--neon)}.navbar-cta{border:1px solid var(--neon);color:var(--neon);font-family:var(--font-mono);letter-spacing:2px;text-transform:uppercase;padding:10px 26px;font-size:11px;transition:color .35s;position:relative;overflow:hidden}.navbar-cta:before{content:"";background:var(--neon);transition:transform .35s;position:absolute;inset:0;transform:translate(-105%)}.navbar-cta:hover:before{transform:translate(0)}.navbar-cta:hover{color:#000}.navbar-cta span{z-index:1;position:relative}@media (width<=768px){.navbar{padding:20px 24px}.navbar-links{display:none}.navbar:after{left:24px;right:24px}}.hero{background:var(--bg);align-items:flex-end;width:100%;height:100vh;min-height:700px;display:flex;position:relative;overflow:hidden}.hero-glow{pointer-events:none;z-index:4;background:radial-gradient(circle,#39ff140a 0%,#0000 65%);border-radius:50%;width:700px;height:700px;transition:left 60ms linear,top 60ms linear;position:fixed;transform:translate(-50%,-50%)}.hero-scanline{background:var(--neon);opacity:.1;z-index:5;pointer-events:none;height:1px;animation:5s linear infinite scanline;position:absolute;left:0;right:0}@keyframes scanline{0%{opacity:.1;top:0%}80%{opacity:.1}to{opacity:0;top:100%}}.hero-photo-wrap{z-index:1;justify-content:flex-end;align-items:center;display:flex;position:absolute;inset:0 0 0 25%;overflow:hidden}.hero-photo{object-fit:contain;object-position:right center;transform-origin:50%;will-change:transform;width:100%;height:100%;transition:transform .1s ease-out;position:absolute;top:0;left:0}.hero-photo--normal{z-index:1;filter:grayscale(10%)contrast(1.05)brightness(.82)}.hero-photo--outline{z-index:2;opacity:0;filter:brightness()contrast(1.1);will-change:mask-image, transform;transition:opacity .4s,transform .1s ease-out;-webkit-mask-image:radial-gradient(0,#000 0%,#0000 100%);mask-image:radial-gradient(0,#000 0%,#0000 100%)}.hero-fade{pointer-events:none;z-index:3;position:absolute}.hero-fade--bottom{background:linear-gradient(to top, var(--bg) 0%, #06060699 50%, transparent 100%);height:35%;bottom:0;left:0;right:0}.hero-fade--left{background:linear-gradient(to right, var(--bg) 0%, #060606d9 35%, #0606064d 65%, transparent 100%);width:55%;top:0;bottom:0;left:0}.hero-fade--top{background:linear-gradient(to bottom, var(--bg) 0%, transparent 100%);height:25%;top:0;left:0;right:0}.hero-bg-name{font-family:var(--font-display);color:#0000;-webkit-text-stroke:1px #39ff1414;white-space:nowrap;pointer-events:none;letter-spacing:-6px;z-index:2;will-change:transform;font-size:clamp(100px,18vw,240px);animation:6s ease-in-out infinite bgNamePulse;position:absolute;bottom:-30px;left:50%;transform:translate(-50%)}@keyframes bgNamePulse{0%,to{-webkit-text-stroke-color:#39ff140f}50%{-webkit-text-stroke-color:#39ff1421}}.hero-grid{z-index:2;pointer-events:none;opacity:.04;position:absolute;inset:0}.hero-grid-v{background:var(--neon);width:1px;position:absolute;top:0;bottom:0;left:42%}.hero-grid-h{background:var(--neon);height:1px;position:absolute;top:60%;left:0;right:0}.hero-content{z-index:6;will-change:transform;transition:transform .1s ease-out;position:absolute;bottom:120px;left:64px}.hero-tag{font-family:var(--font-mono);color:var(--neon);letter-spacing:4px;text-transform:uppercase;opacity:0;align-items:center;gap:16px;margin-bottom:20px;font-size:11px;transition:opacity .7s .4s,transform .7s .4s;display:flex;transform:translateY(20px)}.hero--loaded .hero-tag{opacity:1;transform:none}.hero-tag-line{background:var(--neon);flex-shrink:0;width:40px;height:1px;display:block}.hero-name{font-family:var(--font-display);letter-spacing:-4px;flex-direction:column;margin-bottom:28px;font-size:clamp(72px,11vw,160px);line-height:.88;display:flex}.hero-name-first{color:#fff;text-shadow:0 0 80px #000c;opacity:0;transition:opacity 1s .6s,transform 1s .6s;transform:translateY(40px)}.hero-name-last{color:var(--neon);text-shadow:0 0 40px #39ff144d;opacity:0;transition:opacity 1s .75s,transform 1s .75s;transform:translateY(40px)}.hero--loaded .hero-name-first,.hero--loaded .hero-name-last{opacity:1;transform:none}.hero-sub{color:#fff6;font-size:14px;font-weight:300;line-height:1.9;font-family:var(--font-mono);letter-spacing:1px;opacity:0;margin-bottom:40px;transition:opacity .7s 1s,transform .7s 1s;transform:translateY(20px)}.hero--loaded .hero-sub{opacity:1;transform:none}.hero-actions{opacity:0;flex-wrap:wrap;gap:12px;transition:opacity .7s 1.2s,transform .7s 1.2s;display:flex;transform:translateY(20px)}.hero--loaded .hero-actions{opacity:1;transform:none}.hero-btn{font-family:var(--font-mono);letter-spacing:2px;text-transform:uppercase;padding:13px 28px;font-size:11px;text-decoration:none;transition:color .35s;display:inline-block;position:relative;overflow:hidden}.hero-btn span{z-index:1;position:relative}.hero-btn--primary{background:var(--neon);color:#000}.hero-btn--primary:before{content:"";background:#fff;transition:transform .35s;position:absolute;inset:0;transform:translate(-105%)}.hero-btn--primary:hover:before{transform:translate(0)}.hero-btn--ghost{color:#ffffff80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #ffffff26}.hero-btn--ghost:before{content:"";background:#ffffff0d;transition:transform .35s;position:absolute;inset:0;transform:translate(-105%)}.hero-btn--ghost:hover{color:#fff;border-color:#fff6}.hero-btn--ghost:hover:before{transform:translate(0)}.hero-bottom{z-index:6;opacity:0;justify-content:space-between;align-items:flex-end;transition:opacity .8s 1.5s;display:flex;position:absolute;bottom:36px;left:64px;right:64px}.hero--loaded .hero-bottom{opacity:1}.hero-scroll{font-family:var(--font-mono);color:var(--muted);letter-spacing:3px;text-transform:uppercase;align-items:center;gap:16px;font-size:10px;display:flex}.scroll-line{background:var(--border);width:60px;height:1px;overflow:hidden}.scroll-line-inner{background:var(--neon);width:100%;height:100%;animation:2s ease-in-out infinite scrollAnim}@keyframes scrollAnim{0%{transform:translate(-100%)}to{transform:translate(100%)}}.hero-stats{gap:40px;display:flex}.stat{text-align:right}.stat-num{font-family:var(--font-display);color:var(--neon);text-shadow:0 0 20px #39ff144d;font-size:36px;line-height:1}.stat-label{font-family:var(--font-mono);color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-top:4px;font-size:9px}.hero-section-num{font-family:var(--font-mono);color:var(--muted);letter-spacing:4px;z-index:6;opacity:0;font-size:10px;transition:opacity .8s 1.8s;position:absolute;top:50%;right:48px;transform:translateY(-50%)rotate(90deg)}.hero--loaded .hero-section-num{opacity:1}@media (width<=768px){.hero-photo-wrap{left:0}.hero-photo{object-fit:cover;object-position:center top}.hero-content{bottom:100px;left:24px}.hero-bottom{left:24px;right:24px}.hero-name{font-size:clamp(60px,18vw,100px)}.hero-stats{gap:20px}.hero-section-num{display:none}.hero-fade--left{background:linear-gradient(to right, var(--bg) 0%, #060606bf 40%, transparent 100%);width:100%}}.ticker{background:var(--neon);padding:14px 0;overflow:hidden}.ticker-track{white-space:nowrap;animation:24s linear infinite ticker;display:flex}.ticker-item{font-family:var(--font-display);color:#000;letter-spacing:3px;flex-shrink:0;padding:0 8px;font-size:16px}.ticker-dot{opacity:.4;margin:0 12px}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.about{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;align-items:start;gap:120px;display:grid}.about-text{color:var(--muted);margin-bottom:48px;font-size:15px;font-weight:300;line-height:2}.about-cta{font-family:var(--font-mono);color:var(--neon);letter-spacing:2px;text-transform:uppercase;align-items:center;gap:16px;font-size:11px;transition:gap .3s;display:inline-flex}.about-cta:hover{gap:24px}.about-cta-line{background:var(--neon);width:40px;height:1px;transition:width .3s;display:block}.about-cta:hover .about-cta-line{width:60px}.about-cta-arrow{font-size:10px}.about-card{background:var(--bg2);border:1px solid var(--border);padding:40px;position:relative;overflow:hidden}.about-card:before{content:"";background:linear-gradient(90deg, transparent, var(--neon), transparent);opacity:.5;height:1px;position:absolute;top:0;left:0;right:0}.about-card-title{font-family:var(--font-mono);color:var(--neon);letter-spacing:3px;margin-bottom:28px;font-size:10px}.about-code{font-family:var(--font-mono);color:var(--muted);white-space:pre-wrap;font-size:13px;line-height:2}.c-key{color:#569cd6}.c-str{color:#ce9178}.c-val{color:var(--neon)}.c-comment{color:#3a3a3a;font-style:italic}@media (width<=900px){.about{grid-template-columns:1fr;gap:60px}}.skills{border-top:1px solid var(--border)}.skills-header{margin-bottom:64px}.skills-grid{background:var(--border);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;display:grid}.skill-item{background:var(--bg);padding:36px 28px;transition:background .3s;position:relative;overflow:hidden}.skill-item:after{content:"";background:var(--neon);width:0;height:2px;transition:width .4s;position:absolute;bottom:0;left:0}.skill-item:hover{background:var(--bg2)}.skill-item:hover:after{width:100%}.skill-item:hover .skill-name{color:var(--neon)}.skill-icon{justify-content:flex-start;align-items:center;width:48px;height:48px;margin-bottom:20px;display:flex}.skill-logo{object-fit:contain;filter:grayscale(30%)brightness(.9);width:100%;height:100%;transition:filter .3s,transform .3s}.skill-item:hover .skill-logo{filter:grayscale(0%)brightness(1.1);transform:scale(1.1)}.skill-name{font-family:var(--font-display);letter-spacing:.5px;margin-bottom:8px;font-size:26px;transition:color .3s}.skill-level{font-family:var(--font-mono);color:var(--muted);letter-spacing:2px;font-size:10px}.projects{border-top:1px solid var(--border)}.projects-list{background:var(--border);gap:1px;display:grid}.project-item{background:var(--bg);color:inherit;grid-template-columns:1fr auto;align-items:center;gap:40px;padding:48px 56px;text-decoration:none;transition:background .3s;display:grid;position:relative;overflow:hidden}.project-item:before{content:"";background:var(--neon-glow);opacity:0;transition:opacity .4s;position:absolute;inset:0}.project-item:hover{background:var(--bg2)}.project-item:hover:before{opacity:1}.project-item:hover .project-name{color:var(--neon)}.project-num{font-family:var(--font-mono);color:var(--muted);letter-spacing:2px;margin-bottom:14px;font-size:10px}.project-name{font-family:var(--font-display);letter-spacing:-1px;margin-bottom:16px;font-size:clamp(36px,4vw,52px);line-height:1;transition:color .3s}.project-desc{color:var(--muted);max-width:520px;font-size:14px;line-height:1.8}.project-tags{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.project-tag{font-family:var(--font-mono);color:var(--neon);border:1px solid var(--neon-dim);letter-spacing:1px;padding:4px 12px;font-size:10px}.project-arrow{color:var(--muted);flex-shrink:0;font-size:36px;transition:transform .3s,color .3s}.project-item:hover .project-arrow{color:var(--neon);transform:translate(8px,-8px)}@media (width<=600px){.project-item{grid-template-columns:1fr;padding:36px 24px}.project-arrow{display:none}}.certs{border-top:1px solid var(--border)}.certs-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.cert-card{background:var(--bg2);border:1px solid var(--border);padding:36px;transition:border-color .3s;position:relative;overflow:hidden}.cert-card:before{content:"";background:var(--neon);transform-origin:0;height:1px;transition:transform .4s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.cert-card:hover{border-color:var(--neon-dim)}.cert-card:hover:before{transform:scaleX(1)}.cert-card--link{cursor:pointer}.cert-card--soon{opacity:.5;border-style:dashed}.cert-type-badge{font-family:var(--font-mono);color:var(--neon);letter-spacing:3px;text-transform:uppercase;border:1px solid var(--neon-dim);margin-bottom:20px;padding:3px 10px;font-size:9px;display:inline-block}.cert-icon{margin-bottom:20px;font-size:36px;display:block}.cert-name{font-family:var(--font-display);letter-spacing:.3px;margin-bottom:12px;font-size:26px;line-height:1.1}.cert-institution{font-family:var(--font-mono);color:var(--neon);letter-spacing:2px;margin-bottom:8px;font-size:10px}.cert-year{font-family:var(--font-mono);color:var(--muted);letter-spacing:1px;font-size:10px}.cert-link-hint{font-family:var(--font-mono);color:var(--muted);letter-spacing:1px;margin-top:20px;font-size:10px;transition:color .3s}.cert-card--link:hover .cert-link-hint{color:var(--neon)}.contact{border-top:1px solid var(--border);text-align:center;position:relative;overflow:hidden}.contact-bg-text{font-family:var(--font-display);color:#0000;-webkit-text-stroke:1px #0f0f0f;pointer-events:none;white-space:nowrap;letter-spacing:-8px;z-index:0;font-size:clamp(120px,25vw,340px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact .reveal{z-index:1;position:relative}.contact-title{font-family:var(--font-display);letter-spacing:-3px;margin-bottom:32px;font-size:clamp(64px,10vw,130px);line-height:.92}.contact-title span{color:var(--neon)}.contact-sub{color:var(--muted);max-width:480px;margin:0 auto 56px;font-size:16px;font-weight:300;line-height:1.9}.contact-email{border:1px solid var(--neon);font-family:var(--font-mono);color:var(--neon);letter-spacing:2px;margin-bottom:48px;padding:20px 48px;font-size:14px;transition:color .4s;display:inline-block;position:relative;overflow:hidden}.contact-email:before{content:"";background:var(--neon);transition:transform .4s;position:absolute;inset:0;transform:translate(-105%)}.contact-email:hover:before{transform:translate(0)}.contact-email:hover{color:#000}.contact-email span{z-index:1;position:relative}.contact-links{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.contact-link{border:1px solid var(--border);font-family:var(--font-mono);color:var(--muted);letter-spacing:2px;text-transform:uppercase;padding:14px 32px;font-size:11px;transition:border-color .3s,color .3s,background .3s}.contact-link:hover{border-color:var(--neon);color:var(--neon);background:#39ff1408}@media (width<=600px){.contact-email{padding:16px 28px;font-size:12px}}.footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:36px 64px;display:flex}.footer-logo{font-family:var(--font-display);letter-spacing:3px;color:var(--muted);font-size:18px}.footer-copy{font-family:var(--font-mono);color:var(--muted);letter-spacing:2px;font-size:10px}.footer-neon{color:var(--neon)}@media (width<=600px){.footer{text-align:center;flex-direction:column;gap:16px;padding:28px 24px}}
