@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap";:root{--color-bg-primary:#0a0a0b;--color-bg-secondary:#111114;--color-bg-card:#16161a;--color-bg-card-hover:#1c1c21;--color-bg-elevated:#1e1e24;--color-text-primary:#fffe;--color-text-secondary:#a1a1aa;--color-text-tertiary:#71717a;--color-text-muted:#52525b;--color-accent:#8b5cf6;--color-accent-hover:#a78bfa;--color-accent-subtle:#8b5cf61f;--color-border:#27272a;--color-border-hover:#3f3f46;--font-primary:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--text-7xl:4.5rem;--section-padding:6rem 0;--container-max:800px;--container-padding:0 1.5rem;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--radius-full:9999px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-primary);background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.7;overflow-x:hidden}a{color:var(--color-accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-hover)}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}::selection{background-color:var(--color-accent);color:#fff}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.container{max-width:var(--container-max);padding:var(--container-padding);margin:0 auto}.section{padding:var(--section-padding)}.section-title{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent);align-items:center;gap:1rem;margin-bottom:2.5rem;font-weight:600;display:flex}.section-title:after{content:"";background:linear-gradient(to right, var(--color-border), transparent);flex:1;height:1px}@media (width<=768px){:root{--section-padding:4rem 0;--container-padding:0 1.25rem}}@media (width<=480px){:root{--section-padding:3rem 0;--container-padding:0 1rem}}.header{z-index:100;transition:background-color var(--transition-base), backdrop-filter var(--transition-base), box-shadow var(--transition-base);padding:1rem 0;position:fixed;top:0;left:0;right:0}.header.scrolled{-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 0 var(--color-border);background-color:#0a0a0bd9}.header-inner{max-width:var(--container-max);padding:var(--container-padding);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.header-logo{font-size:var(--text-lg);color:var(--color-text-primary);letter-spacing:-.02em;transition:color var(--transition-fast);font-weight:700;text-decoration:none}.header-logo:hover{color:var(--color-accent)}.header-nav{align-items:center;gap:2rem;display:flex}.header-nav a{font-size:var(--text-sm);color:var(--color-text-secondary);transition:color var(--transition-fast);font-weight:500;text-decoration:none;position:relative}.header-nav a:after{content:"";background:var(--color-accent);border-radius:var(--radius-full);width:0;height:2px;transition:width var(--transition-base);position:absolute;bottom:-4px;left:0}.header-nav a:hover{color:var(--color-text-primary)}.header-nav a:hover:after{width:100%}.menu-toggle{z-index:110;flex-direction:column;gap:5px;padding:4px;display:none}.menu-toggle span{background:var(--color-text-primary);border-radius:var(--radius-full);width:22px;height:2px;transition:transform var(--transition-base), opacity var(--transition-fast);display:block}.menu-toggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-nav-overlay{display:none}@media (width<=768px){.header-nav{display:none}.menu-toggle{display:flex}.mobile-nav-overlay{-webkit-backdrop-filter:blur(20px);z-index:99;opacity:0;pointer-events:none;transition:opacity var(--transition-base);background-color:#0a0a0bf7;flex-direction:column;justify-content:center;align-items:center;gap:2rem;display:flex;position:fixed;inset:0}.mobile-nav-overlay.open{opacity:1;pointer-events:all}.mobile-nav-overlay a{font-size:var(--text-2xl);color:var(--color-text-secondary);transition:color var(--transition-fast);font-weight:600;text-decoration:none}.mobile-nav-overlay a:hover{color:var(--color-text-primary)}}.hero{align-items:center;min-height:100vh;padding-top:5rem;display:flex}.hero-content{max-width:var(--container-max);padding:var(--container-padding);align-items:center;gap:3rem;margin:0 auto;display:flex}.hero-text{flex:1;min-width:0}.hero-avatar-wrapper{flex-shrink:0;position:relative}.hero-avatar{border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--color-border);width:180px;height:180px;transition:border-color var(--transition-base), box-shadow var(--transition-base);box-shadow:0 0 40px #8b5cf626,0 0 80px #8b5cf60d}.hero-avatar:hover{border-color:var(--color-accent);box-shadow:0 0 50px #8b5cf640,0 0 100px #8b5cf61a}.hero-avatar-ring{border-radius:var(--radius-full);background:conic-gradient(from 0deg, transparent 0%, var(--color-accent) 25%, transparent 50%, var(--color-accent) 75%, transparent 100%);opacity:.2;z-index:-1;animation:8s linear infinite spin-slow;position:absolute;inset:-6px}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-greeting{font-size:var(--text-xl);color:var(--color-text-secondary);margin-bottom:.75rem;font-weight:400}.hero-name{font-size:clamp(var(--text-4xl), 8vw, var(--text-7xl));letter-spacing:-.03em;color:var(--color-text-primary);background:linear-gradient(135deg,#fff 0%,#a78bfa 50%,#8b5cf6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-weight:800;line-height:1.05}.hero-pronunciation{font-size:var(--text-sm);color:var(--color-text-tertiary);font-style:italic;font-family:var(--font-mono);margin-bottom:1.5rem}.hero-tagline{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:560px;margin-bottom:2.5rem;line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.hero-badge{font-size:var(--text-xs);color:#34d399;border-radius:var(--radius-full);letter-spacing:.02em;background:#34d39914;border:1px solid #34d39933;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-weight:600;display:inline-flex}.hero-cta{background:var(--color-accent);color:#fff;font-size:var(--text-sm);border-radius:var(--radius-full);transition:background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);align-items:center;gap:.5rem;padding:.875rem 2rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 0 #8b5cf600}.hero-cta:hover{background:var(--color-accent-hover);color:#fff;transform:translateY(-2px);box-shadow:0 8px 30px #8b5cf64d}.hero-cta.secondary{border:1px solid var(--color-border);color:var(--color-text-primary);box-shadow:none;background:0 0}.hero-cta.secondary:hover{border-color:var(--color-accent);color:var(--color-accent);background:#ffffff0d;transform:translateY(-2px)}.hero-cta svg{transition:transform var(--transition-fast)}.hero-cta:hover svg{transform:translate(3px)}.hero-scroll-indicator{color:var(--color-text-muted);font-size:var(--text-xs);flex-direction:column;align-items:center;gap:.5rem;animation:3s ease-in-out infinite float;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}@keyframes float{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-8px)}}@media (width<=768px){.hero{min-height:90vh;padding-top:4rem}.hero-content{text-align:center;flex-direction:column-reverse;gap:2rem}.hero-avatar{width:130px;height:130px}.hero-avatar-ring{inset:-5px}.hero-tagline{margin-left:auto;margin-right:auto}.hero-cta{margin:0 auto}}.about{border-top:1px solid var(--color-border)}.about-text{font-size:var(--text-lg);color:var(--color-text-secondary);line-height:1.8}.about-text p{margin-bottom:1.25rem}.about-text p:last-child{margin-bottom:0}.about-text a{color:var(--color-accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.about-text a:hover{color:var(--color-accent-hover)}.experience{border-top:1px solid var(--color-border)}.experience-list{flex-direction:column;gap:0;display:flex}.experience-item{border-bottom:1px solid var(--color-border)}.experience-item:last-child{border-bottom:none}.experience-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast);text-align:left;width:100%;color:var(--color-text-primary);justify-content:space-between;align-items:center;padding:1.25rem 0;display:flex}.experience-header:hover{color:var(--color-accent)}.experience-company{font-size:var(--text-lg);letter-spacing:-.01em;font-weight:600}.experience-toggle{font-size:var(--text-xl);color:var(--color-text-tertiary);transition:transform var(--transition-base), color var(--transition-fast);flex-shrink:0;line-height:1}.experience-toggle.open{transform:rotate(45deg)}.experience-header:hover .experience-toggle{color:var(--color-accent)}.experience-roles{overflow:hidden}.experience-role{border-left:2px solid var(--color-border);justify-content:space-between;align-items:baseline;margin-left:.25rem;padding:.625rem 0 .625rem 1rem;display:flex}.experience-role:last-child{padding-bottom:1.25rem}.experience-role-title{font-size:var(--text-base);color:var(--color-text-secondary);font-weight:500}.experience-role-dates{font-size:var(--text-sm);color:var(--color-text-tertiary);font-family:var(--font-mono);white-space:nowrap;margin-left:1rem}@media (width<=600px){.experience-role{flex-direction:column;gap:.25rem}.experience-role-dates{font-size:var(--text-xs);margin-left:0}}.education{border-top:1px solid var(--color-border)}.education-list{flex-direction:column;gap:2rem;display:flex}.education-item{background:var(--color-bg-card);border-radius:var(--radius-xl);border:1px solid var(--color-border);transition:border-color var(--transition-base), background var(--transition-base);padding:1.5rem}.education-item:hover{border-color:var(--color-border-hover);background:var(--color-bg-card-hover)}.education-item-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.375rem;display:flex}.education-institution{font-size:var(--text-lg);color:var(--color-text-primary);font-weight:600}.education-institution a{color:inherit;transition:color var(--transition-fast);text-decoration:none}.education-institution a:hover{color:var(--color-accent)}.education-years{font-size:var(--text-sm);color:var(--color-text-tertiary);font-family:var(--font-mono)}.education-degree{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:.75rem}.education-highlights{flex-wrap:wrap;gap:.5rem;display:flex}.education-highlight{font-size:var(--text-xs);color:var(--color-accent);background:var(--color-accent-subtle);border-radius:var(--radius-full);transition:background var(--transition-fast), color var(--transition-fast);padding:.3rem .75rem;font-weight:500;text-decoration:none;display:inline-block}.education-highlight:hover{background:var(--color-accent);color:#fff}.education-resume{text-align:center;margin-top:2rem}.education-resume a{font-size:var(--text-sm);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);transition:border-color var(--transition-fast), color var(--transition-fast), background var(--transition-fast);align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;text-decoration:none;display:inline-flex}.education-resume a:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle)}.projects{border-top:1px solid var(--color-border)}.projects-category{margin-bottom:3rem}.projects-category:last-child{margin-bottom:0}.projects-category-header{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.projects-category-icon{border-radius:var(--radius-md);background:var(--color-accent-subtle);width:36px;height:36px;color:var(--color-accent);justify-content:center;align-items:center;font-size:1.1rem;display:flex}.projects-category-name{font-size:var(--text-xl);color:var(--color-text-primary);letter-spacing:-.01em;font-weight:700}.projects-list{flex-direction:column;gap:1.25rem;display:flex}.project-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:border-color var(--transition-base), background var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base);padding:1.75rem;position:relative;overflow:hidden}.project-card:before{content:"";background:linear-gradient(90deg, var(--color-accent), transparent);opacity:0;height:2px;transition:opacity var(--transition-base);position:absolute;top:0;left:0;right:0}.project-card:hover{border-color:var(--color-border-hover);background:var(--color-bg-card-hover);transform:translateY(-3px);box-shadow:0 12px 40px #00000040}.project-card:hover:before{opacity:1}.project-card-top{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.project-title{font-size:var(--text-lg);color:var(--color-text-primary);letter-spacing:-.01em;font-weight:700}.project-repo-link{border-radius:var(--radius-full);width:36px;height:36px;color:var(--color-text-tertiary);border:1px solid var(--color-border);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.project-repo-link:hover{color:var(--color-accent);border-color:var(--color-accent);background:var(--color-accent-subtle)}.project-desc{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:1.25rem;line-height:1.7}.project-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.project-stack{flex-wrap:wrap;gap:.375rem;display:flex}.project-stack-tag{font-size:var(--text-xs);color:var(--color-accent);background:var(--color-accent-subtle);border-radius:var(--radius-full);letter-spacing:.02em;padding:.25rem .625rem;font-weight:500}.project-collaborator{font-size:var(--text-xs);color:var(--color-text-tertiary);align-items:center;gap:.35rem;display:flex}.project-collaborator a{color:var(--color-text-secondary);transition:color var(--transition-fast);text-decoration:none}.project-collaborator a:hover{color:var(--color-accent)}@media (width<=480px){.project-card{padding:1.25rem}}.services{border-top:1px solid var(--color-border)}.services-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.service-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:border-color var(--transition-base), background var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base);padding:1.75rem}.service-card:hover{border-color:var(--color-border-hover);background:var(--color-bg-card-hover);transform:translateY(-4px);box-shadow:0 12px 40px #0000004d}.service-icon{background:var(--color-accent-subtle);border-radius:var(--radius-lg);width:48px;height:48px;color:var(--color-accent);transition:background var(--transition-base), color var(--transition-base);justify-content:center;align-items:center;margin-bottom:1.25rem;font-size:1.35rem;display:flex}.service-card:hover .service-icon{background:var(--color-accent);color:#fff}.service-title{font-size:var(--text-base);color:var(--color-text-primary);margin-bottom:.5rem;font-weight:600}.service-desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.65}@media (width<=600px){.services-grid{grid-template-columns:1fr}}.contact{border-top:1px solid var(--color-border)}.contact-content{text-align:center;max-width:520px;margin:0 auto}.contact-heading{font-size:var(--text-3xl);color:var(--color-text-primary);letter-spacing:-.02em;margin-bottom:1rem;font-weight:700}.contact-desc{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:2.5rem;line-height:1.7}.contact-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.contact-btn{font-size:var(--text-sm);border-radius:var(--radius-full);transition:all var(--transition-fast);align-items:center;gap:.5rem;padding:.875rem 2rem;font-weight:600;text-decoration:none;display:inline-flex}.contact-btn.primary{background:var(--color-accent);color:#fff;box-shadow:0 0 #8b5cf600}.contact-btn.primary:hover{background:var(--color-accent-hover);color:#fff;transform:translateY(-2px);box-shadow:0 8px 30px #8b5cf64d}.contact-btn.secondary{color:var(--color-text-secondary);border:1px solid var(--color-border);background:0 0}.contact-btn.secondary:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle)}.contact-socials{justify-content:center;align-items:center;gap:1rem;margin-top:2.5rem;display:flex}.contact-social-link{border-radius:var(--radius-full);width:44px;height:44px;color:var(--color-text-tertiary);border:1px solid var(--color-border);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;font-size:1.15rem;display:flex}.contact-social-link:hover{color:var(--color-accent);border-color:var(--color-accent);background:var(--color-accent-subtle);transform:translateY(-2px)}.footer{border-top:1px solid var(--color-border);padding:2rem 0}.footer-inner{max-width:var(--container-max);padding:var(--container-padding);text-align:center;margin:0 auto}.footer-text{font-size:var(--text-sm);color:var(--color-text-muted)}.footer-text span{color:var(--color-text-tertiary);margin:0 .35rem}
