:root{--font-heading:"Space Grotesk", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-color:#050505;--bg-color-alt:#0a0a0a;--text-primary:#f0f0f0;--text-secondary:#999;--text-muted:#666;--accent-color:#0fc;--accent-glow:#0fc3;--border-color:#ffffff1a;--border-hover:#ffffff4d;--transition:all .4s cubic-bezier(.16, 1, .3, 1);--section-padding:8rem 0}*{box-sizing:border-box;cursor:none;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}::selection{background-color:var(--accent-color);color:var(--bg-color)}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.cursor-dot,.cursor-outline{z-index:9999;pointer-events:none;border-radius:50%;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-dot{background-color:var(--accent-color);width:8px;height:8px}.cursor-outline{border:1px solid var(--border-hover);width:40px;height:40px;transition:width .2s,height .2s,border-color .2s}.cursor-hover .cursor-outline{border-color:var(--accent-color);background-color:var(--accent-glow);width:60px;height:60px}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:#fff;font-weight:700;line-height:1.1}.mono-label,.mono-subtitle{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:2px;color:var(--accent-color);margin-bottom:1rem;font-size:.85rem;display:block}a{color:inherit;transition:var(--transition);text-decoration:none}.btn{font-family:var(--font-mono);transition:var(--transition);text-transform:uppercase;letter-spacing:1px;border-radius:50px;justify-content:center;align-items:center;padding:.75rem 1.75rem;font-size:.9rem;font-weight:700;display:inline-flex}.btn-primary{background-color:var(--accent-color);color:var(--bg-color);border:1px solid var(--accent-color)}.btn-primary:hover{color:var(--accent-color);box-shadow:0 0 20px var(--accent-glow);background-color:#0000}.btn-outline{color:#fff;border:1px solid var(--border-hover);background-color:#0000}.btn-outline:hover{border-color:var(--accent-color);color:var(--accent-color)}.btn-ghost{color:var(--text-secondary);background-color:#0000}.btn-ghost:hover{color:#fff}.navbar{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);background:#050505cc;width:100%;padding:1.5rem 0;position:fixed;top:0;left:0}.nav-content{justify-content:space-between;align-items:center;display:flex}.logo{font-family:var(--font-heading);letter-spacing:-1px;font-size:1.5rem;font-weight:700}.logo .accent{color:var(--accent-color)}.nav-links{align-items:center;gap:2rem;list-style:none;display:flex}.nav-links a{font-size:.9rem;font-weight:500}.nav-links a:hover:not(.btn){color:var(--accent-color)}.hero{align-items:center;min-height:100vh;padding-top:80px;display:flex;position:relative;overflow:hidden}.hero-portrait-bg{z-index:0;background:url(/images/hero-photo.png) top/cover no-repeat;width:55%;height:100%;position:absolute;top:0;right:0}.hero-fade-left{background:linear-gradient(to right, var(--bg-color) 30%, #050505d9 55%, transparent 100%);z-index:1;width:70%;height:100%;position:absolute;top:0;left:0}.hero-fade-bottom{background:linear-gradient(to top, var(--bg-color) 0%, transparent 100%);z-index:1;width:100%;height:220px;position:absolute;bottom:0;left:0}.hero-inner{z-index:2;width:100%;position:relative}.hero-content{z-index:2;max-width:680px;position:relative}@media (width<=768px){.hero-portrait-bg{opacity:.18;width:100%}.hero-fade-left{background:linear-gradient(#05050599 0%,#050505d9 100%);width:100%}.hero-content{max-width:100%}}.hero-title{letter-spacing:-.03em;margin-bottom:.5rem;font-size:clamp(3rem,8vw,5.5rem)}.hero-subtitle{font-family:var(--font-mono);color:var(--text-secondary);margin-bottom:2rem;font-size:clamp(1.2rem,3vw,2rem);font-weight:400}.term-prompt{color:var(--accent-color)}.cursor-blink{color:var(--accent-color);animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.hero-desc{color:var(--text-secondary);max-width:600px;margin-bottom:3rem;font-size:1.2rem}.hero-cta{align-items:center;gap:1rem;display:flex}.hero-bg-glow{background:radial-gradient(circle, var(--accent-glow) 0%, #05050500 70%);z-index:1;pointer-events:none;opacity:.5;border-radius:50%;width:30vw;height:30vw;position:absolute;top:20%;right:30%}.section{padding:var(--section-padding)}.section-header{margin-bottom:4rem}.section-title{letter-spacing:-.02em;font-size:clamp(2.5rem,5vw,4rem)}.about-content{grid-template-columns:1fr;gap:3rem;display:grid}.about-layout{grid-template-columns:1fr 340px;align-items:start;gap:4rem;display:grid}.about-photo-wrap{position:sticky;top:120px}.about-photo{border:1px solid var(--border-color);filter:grayscale(20%);border-radius:12px;width:100%;transition:filter .4s}.about-photo:hover{filter:grayscale(0%)}@media (width<=900px){.about-layout{grid-template-columns:1fr}.about-photo-wrap{max-width:280px;position:static}}.large-text{color:var(--text-primary);font-size:clamp(1.2rem,2vw,1.8rem);font-weight:400;line-height:1.5}.tech-stack{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.tech-item{font-family:var(--font-mono);border:1px solid var(--border-color);color:var(--text-secondary);transition:var(--transition);border-radius:4px;padding:.5rem 1rem;font-size:.85rem}.tech-item:hover{border-color:var(--accent-color);color:var(--accent-color);transform:translateY(-2px)}.project-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:3rem;display:grid}.project-card{group:hover;position:relative}.project-img-wrapper{border:1px solid var(--border-color);aspect-ratio:16/9;border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.project-img{background-position:50%;background-size:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1)}.project-card:hover .project-img{transform:scale(1.05)}.project-info{flex-direction:column;align-items:flex-start;display:flex}.project-name{margin-bottom:.5rem;font-size:1.5rem}.project-desc{color:var(--text-secondary);margin-bottom:1rem;font-size:.95rem}.project-tags{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.project-tags span{font-family:var(--font-mono);color:var(--accent-color);font-size:.75rem}.project-link{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #0000;align-items:center;font-size:.85rem;display:inline-flex}.project-link span{margin-left:.5rem;transition:transform .3s}.project-link:hover{border-bottom-color:#fff}.project-link:hover span{transform:translate(4px)}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;display:grid}.skill-category{border:1px solid var(--border-color);transition:var(--transition);border-radius:8px;padding:2rem}.skill-category:hover{border-color:var(--accent-color);background-color:var(--bg-color-alt)}.skill-cat-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:2px;color:var(--accent-color);margin-bottom:1.25rem;font-size:.8rem}.skill-tags{flex-wrap:wrap;gap:.6rem;display:flex}.skill-tags span{font-family:var(--font-mono);border:1px solid var(--border-color);color:var(--text-secondary);transition:var(--transition);border-radius:4px;padding:.35rem .75rem;font-size:.8rem}.skill-category:hover .skill-tags span{color:var(--text-primary);border-color:#fff3}.timeline{border-left:1px solid var(--border-color);flex-direction:column;gap:0;margin-left:1rem;padding-left:2.5rem;display:flex;position:relative}.timeline-item{grid-template-columns:180px 1fr;gap:2rem;padding-bottom:3.5rem;display:grid;position:relative}.timeline-item:before{content:"";background-color:var(--accent-color);width:9px;height:9px;box-shadow:0 0 12px var(--accent-glow);border-radius:50%;position:absolute;top:.4rem;left:-2.5rem;transform:translate(-50%)}.timeline-date{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;padding-top:.2rem;font-size:.78rem;line-height:1.4}.timeline-role{margin-bottom:.25rem;font-size:1.25rem}.timeline-company{font-family:var(--font-mono);color:var(--accent-color);margin-bottom:.75rem;font-size:.85rem}.timeline-desc{color:var(--text-secondary);margin-bottom:1rem;font-size:.95rem;line-height:1.7}.timeline-tags{flex-wrap:wrap;gap:.5rem;display:flex}.timeline-tags span{font-family:var(--font-mono);color:var(--text-muted);border:1px solid var(--border-color);border-radius:4px;padding:.2rem .6rem;font-size:.75rem}@media (width<=768px){.timeline-item{grid-template-columns:1fr;gap:.5rem}}.timeline-current{font-family:var(--font-mono);background-color:var(--accent-color);color:var(--bg-color);text-transform:uppercase;letter-spacing:1px;border-radius:4px;margin-top:.4rem;padding:.15rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.cert-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;display:grid}.cert-card{border:1px solid var(--border-color);transition:var(--transition);border-radius:8px;flex-direction:column;gap:.5rem;padding:1.75rem;text-decoration:none;display:flex}.cert-card:hover{border-color:var(--accent-color);background-color:var(--bg-color-alt);transform:translateY(-3px)}.cert-issuer{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:2px;color:var(--accent-color);align-items:center;gap:.6rem;font-size:.75rem;display:flex}.cert-logo{flex-shrink:0;width:22px;height:22px}.cert-name{color:#fff;flex:1;font-size:1.05rem;font-weight:700;line-height:1.3}.cert-verify{font-family:var(--font-mono);color:var(--text-muted);font-size:.78rem;transition:color .2s}.cert-card:hover .cert-verify{color:var(--accent-color)}.edu-card{border:1px solid var(--border-color);transition:var(--transition);border-radius:8px;grid-template-columns:180px 1fr;gap:2rem;padding:2.5rem;display:grid}.edu-card:hover{border-color:var(--border-hover)}.edu-date{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.78rem}.edu-degree{margin-bottom:.4rem;font-size:1.5rem}.edu-school{font-family:var(--font-mono);color:var(--accent-color);font-size:.9rem}@media (width<=768px){.edu-card{grid-template-columns:1fr;gap:.75rem}}.project-link-secondary{color:var(--text-muted);margin-top:.5rem;font-size:.8rem}.project-link-secondary:hover{color:var(--accent-color);border-bottom-color:var(--accent-color)}.contact-links{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.contact-box{background-color:var(--bg-color-alt);border:1px solid var(--border-color);text-align:center;border-radius:8px;padding:5rem 3rem}.contact-title{margin-bottom:1.5rem;font-size:clamp(2rem,4vw,3.5rem)}.contact-desc{color:var(--text-secondary);max-width:500px;margin:0 auto 3rem;font-size:1.1rem}.footer{border-top:1px solid var(--border-color);padding:3rem 0}.footer-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-copy{color:var(--text-muted);font-family:var(--font-mono);font-size:.85rem}.footer-links{gap:1.5rem;display:flex}.footer-links a{color:var(--text-muted);font-family:var(--font-mono);text-transform:uppercase;font-size:.85rem}.footer-links a:hover{color:#fff}.nav-toggle{background:0 0;border:none;flex-direction:column;gap:5px;padding:.5rem;display:none}.nav-toggle span{background-color:var(--text-primary);width:24px;height:2px;transition:var(--transition);display:block}@media (width<=768px){.nav-toggle{display:flex}.nav-links{border-bottom:1px solid var(--border-color);z-index:99;background:#050505f7;flex-direction:column;align-items:center;gap:2rem;width:100%;padding:2rem 0;display:none;position:fixed;top:72px;left:0}.nav-links.open{display:flex}.cursor-dot,.cursor-outline{display:none}*{cursor:auto!important}}.gsap-fade-up,.gsap-fade-in{opacity:0;visibility:hidden}@media (width<=768px){:root{--section-padding:5rem 0}.container{padding:0 1.25rem}.hero{align-items:flex-end;min-height:100svh;padding-bottom:4rem}.hero-title{font-size:clamp(2.4rem,10vw,3.5rem)}.hero-subtitle{font-size:clamp(1rem,4vw,1.4rem)}.hero-desc{margin-bottom:2rem;font-size:1rem}.hero-cta{flex-direction:column;align-items:flex-start;gap:.75rem}.hero-cta .btn{justify-content:center;width:100%}.project-grid{grid-template-columns:1fr;gap:2.5rem}.skills-grid{grid-template-columns:1fr}.contact-box{padding:3rem 1.5rem}.contact-title{font-size:clamp(1.8rem,7vw,2.5rem)}.section-title{font-size:clamp(2rem,8vw,3rem)}.footer-content{flex-direction:column;align-items:flex-start;gap:1.25rem}.timeline{margin-left:.5rem;padding-left:1.75rem}}@media (width<=480px){.hero-title{font-size:2.2rem}.hero-subtitle{font-size:1rem}.btn{padding:.7rem 1.25rem;font-size:.8rem}.project-img-wrapper{aspect-ratio:4/3}.cert-grid{grid-template-columns:1fr}.contact-box{padding:2.5rem 1.25rem}.section-header{margin-bottom:2.5rem}}
